.nmig{aspect-ratio:4/3;cursor:pointer;place-items:center;display:grid;position:relative}.nmig__card{background:var(--color-surface-band);border:1px solid var(--color-border-subtle);border-radius:var(--radius-2xl,1rem);width:min(300px,88%);padding:20px 22px 22px;transition:border-color .5s,box-shadow .5s;position:relative;box-shadow:0 24px 60px -24px #0009}.nmig.is-web .nmig__card{border-color:var(--color-accent-border-strong);box-shadow:0 0 0 1px #06d8b92e,0 24px 60px -20px #06d8b94d}@property --nflare{syntax:"<angle>";inherits:false;initial-value:0deg}.nmig__card:after{content:"";border-radius:inherit;background:conic-gradient(from var(--nflare), transparent 0 66%, var(--color-accent) 82%, #06d8b900 100%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1.4px;transition:opacity .6s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.nmig.is-done .nmig__card:after{opacity:1;animation:3.2s linear infinite nmigFlare}@keyframes nmigFlare{to{--nflare:360deg}}@media (prefers-reduced-motion:reduce){.nmig.is-done .nmig__card:after{opacity:0;animation:none}}.nmig__top{align-items:center;gap:11px;margin-bottom:16px;display:flex}.nmig__ava{background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:50%;flex:none;width:30px;height:30px}.nmig__name{color:var(--color-text-strong);white-space:nowrap;font-size:.9rem;font-weight:600}.nmig__badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill,9999px);white-space:nowrap;background:color-mix(in oklab, var(--color-store) 14%, transparent);color:var(--color-store);border:1px solid color-mix(in oklab, var(--color-store) 40%, transparent);margin-left:auto;padding:4px 9px;font-size:.62rem;transition:opacity .4s}.nmig.is-web .nmig__badge{opacity:0}.nmig__flash{font-family:var(--font-mono);color:var(--color-accent);border:1px solid var(--color-accent-border-strong);border-radius:var(--radius-pill,9999px);white-space:nowrap;opacity:0;z-index:2;background:#0b2420;padding:5px 12px;font-size:.72rem;font-weight:600;transition:opacity .5s,transform .5s;position:absolute;top:-14px;left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 6px 18px -6px #0009}.nmig.is-web .nmig__flash{opacity:1;transform:translate(-50%)translateY(-2px)}.nmig__keep{border-top:1px solid var(--color-border-hairline);justify-content:space-between;align-items:baseline;padding-top:15px;display:flex}.nmig__keep>span{color:var(--color-text-secondary);font-size:.95rem}.nmig__val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-strong);letter-spacing:-.02em;font-size:1.5rem;font-weight:600;transition:color .4s}.nmig__btn{border-radius:var(--radius-md,.375rem);border:1px solid var(--color-accent-border-strong);background:var(--color-accent-soft);width:100%;color:var(--color-accent);text-align:center;margin-top:18px;padding:11px;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .12s,background .3s,opacity .4s}.nmig.is-press .nmig__btn{background:var(--color-accent-tint);transform:scale(.96)}.nmig.is-web .nmig__btn{opacity:1;border-color:var(--color-border-subtle);color:var(--color-text-muted);background:0 0}.nmig__btn-go{display:inline}.nmig__btn-done{justify-content:center;align-items:center;gap:6px;display:none}.nmig__btn-done svg{width:14px;height:14px;color:var(--color-accent)}.nmig.is-web .nmig__btn-go{display:none}.nmig.is-web .nmig__btn-done{display:inline-flex}.nmig__replay{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-subtle);background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill,9999px);opacity:0;pointer-events:none;cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:.64rem;transition:opacity .4s,color .16s,border-color .16s;display:inline-flex;position:absolute;bottom:8px;right:8px}.nmig:hover .nmig__replay,.nmig:focus-visible .nmig__replay{opacity:1;pointer-events:auto}.nmig__replay:hover{color:var(--color-accent);border-color:var(--color-accent-border)}.nmig__replay svg{width:12px;height:12px}.keng{aspect-ratio:4/3;cursor:pointer;place-items:center;display:grid;position:relative}.keng__row{justify-content:center;align-items:center;width:min(420px,94%);display:flex}.keng__node{opacity:.45;flex-direction:column;flex:none;align-items:center;gap:9px;width:80px;transition:opacity .33s;display:flex}.keng.is-in .keng__node--sig,.keng.is-out .keng__node--act{opacity:1}.keng__ndot{background:var(--color-surface-elevated);border:1px solid var(--color-border-medium);border-radius:50%;width:12px;height:12px;transition:background .4s,border-color .4s,box-shadow .4s}.keng.is-in .keng__node--sig .keng__ndot,.keng.is-out .keng__node--act .keng__ndot{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 10px #06d8b999}.keng__nlabel{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);font-size:.66rem}.keng__line{background:var(--color-border-hairline);border-radius:2px;flex:1;height:2px;position:relative}.keng__line:before{content:"";transform-origin:0;background:linear-gradient(90deg, transparent, var(--color-accent));border-radius:2px;transition:transform .57s ease-out 30ms,opacity .3s;position:absolute;inset:0;transform:scaleX(0)}.keng__line--out:before{background:linear-gradient(90deg, var(--color-accent), transparent)}.keng.is-in .keng__line--in:before,.keng.is-out .keng__line--out:before{transform:scaleX(1)}.keng__pulse{background:var(--color-accent);opacity:0;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:0;box-shadow:0 0 8px #06d8b9b3}.keng.is-in .keng__line--in .keng__pulse,.keng.is-out .keng__line--out .keng__pulse{animation:.6s ease-out forwards kengPulse}@keyframes kengPulse{0%{opacity:0;left:0}10%{opacity:1}88%{opacity:1}to{opacity:0;left:100%}}.keng__hublabel{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);white-space:nowrap;font-size:.66rem;position:absolute;top:calc(50% + 36px);left:50%;transform:translate(-50%)}.keng__hub{flex:none;place-items:center;width:92px;height:92px;display:grid;position:relative}.keng__ring{width:62px;height:62px;margin:-31px 0 0 -31px;position:absolute;top:50%;left:50%}.keng__ring-track{fill:none;stroke:var(--color-border-hairline);stroke-width:3.6px}.keng__ring-sweep{fill:none;stroke:var(--color-accent);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;opacity:.4;transform-origin:50%;transition:opacity .3s;transform:rotate(-90deg)}.keng.is-hub .keng__ring-sweep{stroke-dashoffset:0;transition:stroke-dashoffset 1.3s cubic-bezier(.4,0,.2,1),opacity .3s}.keng__hubcore{background:var(--color-surface-band);border:1px solid var(--color-border-subtle);width:56px;height:56px;color:var(--color-text-muted);border-radius:50%;place-items:center;transition:color .4s,border-color .4s,box-shadow .4s;display:grid}.keng.is-hub .keng__hubcore{color:var(--color-accent);border-color:var(--color-accent-border-strong);box-shadow:0 0 24px -4px #06d8b966}.keng.is-settled .keng__hubcore{animation:3.6s ease-in-out infinite kengIdle}@keyframes kengIdle{0%,to{box-shadow:0 0 24px -4px #06d8b966}50%{box-shadow:0 0 30px -2px #06d8b99e}}.keng__hub:after{content:"";border:1.5px solid var(--color-accent);opacity:0;pointer-events:none;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}.keng.is-settled .keng__hub:after{animation:2.8s ease-out infinite kengBeacon}@keyframes kengBeacon{0%{opacity:.5;transform:scale(.94)}70%,to{opacity:0;transform:scale(1.7)}}@media (prefers-reduced-motion:reduce){.keng.is-settled .keng__hubcore,.keng.is-settled .keng__hub:after{animation:none}}.keng.is-fading .keng__line:before{opacity:0}.keng.is-fading .keng__node--sig,.keng.is-fading .keng__node--act{opacity:.45}.keng.is-fading .keng__node--sig .keng__ndot,.keng.is-fading .keng__node--act .keng__ndot{background:var(--color-surface-elevated);border-color:var(--color-border-medium);box-shadow:none}.keng.is-fading .keng__ring-sweep{opacity:0}.keng.is-fading .keng__hubcore{color:var(--color-text-muted);border-color:var(--color-border-subtle);box-shadow:none}.keng.is-instant,.keng.is-instant *,.keng.is-instant :before{transition:none!important;animation:none!important}.keng__hubcore svg{width:24px;height:24px}.keng__replay{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-subtle);background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill,9999px);opacity:0;pointer-events:none;cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:.64rem;transition:opacity .4s,color .16s,border-color .16s;display:inline-flex;position:absolute;bottom:8px;right:8px}.keng:hover .keng__replay,.keng:focus-visible .keng__replay{opacity:1;pointer-events:auto}.keng__replay:hover{color:var(--color-accent);border-color:var(--color-accent-border)}.keng__replay svg{width:12px;height:12px}@media (max-width:480px){.keng__node{width:62px}.keng__hub{width:78px;height:78px}.keng__hubcore{width:48px;height:48px}}.ocv{aspect-ratio:4/3;cursor:pointer;--ocv-accent:var(--color-oikos);--ocv-shade:color-mix(in oklab, var(--ocv-accent) 15%, transparent);--ocv-trace:color-mix(in oklab, var(--ocv-accent) 55%, white);--ocv-glow:color-mix(in oklab, var(--ocv-accent) 40%, transparent);width:100%;position:relative}.ocv__svg{width:100%;height:100%;display:block;overflow:visible}.ocv__reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.33,0,.18,1)}.ocv.is-drawn .ocv__reveal{clip-path:inset(0)}.ocv.no-anim,.ocv.no-anim *{transition:none!important;animation:none!important}.ocv__foundation{fill:var(--color-text-subtle);fill-opacity:.07}.ocv__gap{fill:var(--ocv-shade)}.ocv__baseline{fill:none;stroke:var(--color-border-strong);stroke-width:2px;stroke-dasharray:5 5;opacity:.7}.ocv__curve{fill:none;stroke:var(--ocv-accent);stroke-width:2.75px;stroke-linecap:round}.ocv__ground{stroke:var(--color-border-hairline);stroke-width:1.5px}.ocv__axis{stroke:var(--color-border-strong);stroke-width:1.5px;opacity:.45}.ocv__axis-arrow{fill:var(--ocv-accent);opacity:0;transition:opacity .5s}.ocv__axislbl{fill:var(--color-text-subtle);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:0;font-size:11px;transition:opacity .5s}.ocv.is-drawn .ocv__axislbl,.ocv.is-drawn .ocv__axis-arrow{opacity:1;transition:opacity .6s 1.5s}.ocv__tip{fill:var(--ocv-accent);opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .5s 1.15s}.ocv.is-drawn .ocv__tip{opacity:1;animation:5.1s ease-out 2s infinite ocvArrive}.ocv__tipglow{fill:none;stroke:var(--ocv-accent);stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%}.ocv.is-drawn .ocv__tipglow{animation:5.1s ease-out 2s infinite ocvBeacon}.ocv__trace{fill:none;stroke:var(--ocv-trace);stroke-width:2.75px;stroke-linecap:round;stroke-dasharray:10 100;stroke-dashoffset:10px;opacity:0;filter:drop-shadow(0 0 3px var(--ocv-glow))}.ocv.is-drawn .ocv__trace{animation:5.1s cubic-bezier(.45,0,.25,1) 2s infinite ocvTrace}@keyframes ocvTrace{0%{stroke-dashoffset:10px;opacity:0}5%{opacity:.5}44%{stroke-dashoffset:-100px;opacity:.5}52%{opacity:0}to{stroke-dashoffset:-100px;opacity:0}}@keyframes ocvArrive{0%,40%{transform:scale(1)}47%{transform:scale(1.32)}72%,to{transform:scale(1)}}@keyframes ocvBeacon{0%,41%{opacity:0;transform:scale(1)}45%{opacity:.38;transform:scale(1)}78%,to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.ocv.is-drawn .ocv__tip,.ocv.is-drawn .ocv__trace,.ocv.is-drawn .ocv__tipglow{animation:none}.ocv__tip{opacity:1}}.ocv__legend{flex-direction:column;gap:7px;display:flex;position:absolute;top:16px;left:18px}.ocv__lg{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-muted);text-transform:uppercase;align-items:center;gap:8px;font-size:.66rem;display:flex}.ocv__lgdot{border-top:2.5px solid var(--ocv-accent);border-radius:2px;width:16px;height:0}.ocv__lg--base .ocv__lgdot{border-top:2px dashed var(--color-border-strong)}.ocv__replay{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-subtle);background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill,9999px);opacity:0;pointer-events:none;cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:.64rem;transition:opacity .4s,color .16s,border-color .16s;display:inline-flex;position:absolute;bottom:8px;right:8px}.ocv:hover .ocv__replay,.ocv:focus-visible .ocv__replay{opacity:1;pointer-events:auto}.ocv__replay:hover{color:var(--color-accent);border-color:var(--color-accent-border)}.ocv__replay svg{width:12px;height:12px}