/* THE SEMBLE — the engine's look, shared by every page that mounts it (assets/semble.js): One System, the Research readings, the commons. Tokens it reads from the page: --line, --ease, --mono, --display, --ink-soft, --ink-dim, --cyan, --glass. */
.sm{max-width:860px;margin:0 auto}
.sm__head{text-align:center;margin:0 0 14px}
.sm__head .eye{margin-bottom:8px}
.sm__head h3{margin:0 0 8px;font-family:var(--display);font-weight:300;font-size:28px;line-height:1.12;color:#fff}
.sm__thesis{margin:0 auto;max-width:60ch;font-size:15px;line-height:1.6;color:var(--ink-soft)}
.sm__stage{position:relative;width:100%;aspect-ratio:1/1;margin:0 auto;border-radius:28px;border:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.14),rgba(10,12,28,.6) 62%,rgba(4,5,10,.2))}
@media(min-width:720px){.sm__stage{aspect-ratio:16/11}}
.sm__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sm__nodes{position:absolute;inset:0}
.sm__n,.sm__k{position:absolute;transform:translate(-50%,-50%) scale(.92);display:grid;grid-template-columns:9px minmax(0,1fr);gap:7px;align-items:center;min-height:34px;padding:6px 9px;border-radius:13px;border:1px solid var(--line);background:rgba(17,20,36,.94);color:#fff;font:inherit;font-size:12.5px;line-height:1.2;text-align:left;cursor:pointer;opacity:0;transition:opacity .55s var(--ease),transform .55s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.sm--in .sm__n,.sm--in .sm__k{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sm__n span,.sm__k span{overflow-wrap:break-word}
.sm__n i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px rgba(34,211,238,.85)}
.sm__n--soon i{background:#c084fc;box-shadow:0 0 7px rgba(192,132,252,.85)}
.sm__n--role i{background:#f18ac6;box-shadow:0 0 7px rgba(241,138,198,.85)}
.sm__k{grid-template-columns:10px minmax(0,1fr);min-height:28px;padding:4px 8px;border-radius:9px;border-color:rgba(253,194,111,.35);background:rgba(28,22,14,.92);font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:#ffe3a0}
.sm__k b{width:10px;height:6px;border-radius:2px;background:#fdc26f;box-shadow:0 0 8px rgba(253,194,111,.7)}
.sm__n--lever{border-color:rgba(253,194,111,.6)}
[data-focus=Sense] .sm__n[data-frame=Sense],[data-focus=Build] .sm__n[data-frame=Build],[data-focus=Gather] .sm__n[data-frame=Gather],[data-focus=Fund] .sm__n[data-frame=Fund],[data-focus=Hold] .sm__n[data-frame=Hold],[data-focus=Guard] .sm__n[data-frame=Guard]{box-shadow:0 0 18px -6px rgba(150,175,255,.9);border-color:rgba(150,175,255,.5)}
.sm__f{fill:none;stroke-width:1.5;opacity:.5;transition:opacity .4s var(--ease),stroke-width .4s var(--ease)}
.sm__f--proposed{stroke-dasharray:2 6;opacity:.42}
.sm__hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer;outline:none}
.sm__sig{opacity:0;transition:opacity .6s var(--ease)}
.sm--live .sm__sig--live{opacity:.95}.sm--live .sm__sig--proposed{opacity:.5}
.sm__ribbon{fill:none;stroke:#c084fc;stroke-width:14;stroke-linejoin:round;opacity:.07;transition:opacity .4s var(--ease)}
.sm__ribbon--B{stroke:#ff9a7a}
.sm__run{fill:none;stroke:#e4d4ff;stroke-width:1.2;opacity:.38;stroke-dasharray:3 9;transition:opacity .4s var(--ease)}
.sm__run--B{stroke:#ffb59b}
.sm--live .sm__run{animation:smrun 3.2s linear infinite}
.sm--still .sm__run{animation:none}
@keyframes smrun{to{stroke-dashoffset:-24}}
.sm__mark{cursor:pointer;outline:none}
.sm__mk{fill:rgba(17,20,36,.95);stroke:#c084fc;stroke-width:1.2}
.sm__mark--B .sm__mk{stroke:#ff9a7a}
.sm__arc,.sm__tip{display:none}
.sm__lt{font-family:var(--mono);font-size:12px;fill:#fff;text-anchor:middle;letter-spacing:.04em}
.sm__lever .sm__lv{fill:none;stroke:#fdc26f;stroke-width:1.2;opacity:.75}
.sm__lever .sm__lv--breath{opacity:.35;transform-box:fill-box;transform-origin:center}
.sm--live .sm__lv--breath{animation:smbreath 3.6s var(--ease) infinite}
@keyframes smbreath{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.18);opacity:0}}
.sm--sel .sm__n,.sm--sel .sm__k{opacity:.4}.sm--sel .sm__n.on,.sm--sel .sm__k.on{opacity:1;border-color:rgba(192,132,252,.8);box-shadow:0 0 22px -8px rgba(192,132,252,.9)}
.sm--sel .sm__f{opacity:.1}.sm--sel .sm__f.on{opacity:1;stroke-width:2.4}
.sm--sel .sm__sig{opacity:0}.sm--sel.sm--live .sm__sig.on{opacity:1}
.sm--sel .sm__ribbon{opacity:.03}.sm--sel .sm__ribbon.on{opacity:.16}.sm--sel .sm__run{opacity:.1}.sm--sel .sm__run.on{opacity:.9}
.sm--sel .sm__mark{opacity:.35}.sm--sel .sm__mark.on{opacity:1}
.sm__nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;max-width:640px;margin:14px auto 0}
.sm__pos{text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#b1c9eb}
.sm__b{min-height:44px;padding:0 16px}
.sm__card{margin:14px auto 0;max-width:640px;padding:18px 20px;border-radius:22px;border:1px solid rgba(150,165,225,.2);background:var(--glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.sm__card.sm__c--in{animation:smin .5s var(--ease)}
.sm__k2{margin:0 0 8px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#b1c9eb}
.sm__k2--amber{color:#ffe3a0}.sm__k2--coral{color:#ffb59b}.sm__k2--lilac{color:#e4d4ff}
.sm__card h4{margin:0 0 8px;font-family:var(--display);font-weight:300;font-size:22px;line-height:1.2;color:#fff}
.sm__card h4 .sm__arrow{color:#e4d4ff}
.sm__out,.sm__move,.sm__why,.sm__story,.sm__line{margin:0 0 8px;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.sm__out i,.sm__why i,.sm__dir i{font-style:normal;color:#a9cfff;margin-right:6px}
.sm__move{color:#fff;font-size:16px}
.sm__line{color:#e4d4ff}
.sm__lvc{margin:12px 0 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(253,194,111,.3);background:rgba(253,194,111,.06)}
.sm__ll{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.sm__lbtn{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-height:44px;padding:9px 12px;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;font-size:13.5px;line-height:1.45;text-align:left;cursor:pointer}
.sm__lbtn b{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:#e4d4ff}.sm__lbtn--B b{color:#ffb59b}
.sm__dir{margin:10px 0 4px;font-size:13px}
.sm__fl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sm__fi{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;font-size:13.5px;line-height:1.45;color:var(--ink-soft)}
.sm__fi span{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#a9cfff}
.sm__fi--proposed span{color:#e4d4ff}
.sm__go{display:inline-block;margin:10px 10px 0 0;color:#bfe9ff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(191,233,255,.45)}
.sm__back{margin:10px 0 0;min-height:44px;padding:0 14px;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;font:inherit;font-size:13.5px;cursor:pointer}
.sm__evid{margin:12px auto 0;max-width:640px;text-align:center;font-size:12.5px;line-height:1.6;color:var(--ink-dim)}
.sm__evid i{font-style:normal;color:#a9cfff}
/* THE SEMBLE, deeper (the Motivus Beyond): glass that holds light, flows that glow, the layers, the morph */
.sm__stage{border-color:rgba(150,165,225,.22);background:radial-gradient(60% 55% at 50% 42%,rgba(99,102,241,.2),transparent 70%),radial-gradient(45% 40% at 18% 88%,rgba(34,211,238,.1),transparent 70%),radial-gradient(40% 36% at 84% 16%,rgba(241,138,198,.1),transparent 70%),linear-gradient(180deg,rgba(14,17,34,.75),rgba(6,7,16,.85));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -40px 80px -60px rgba(99,102,241,.35),0 40px 90px -60px rgba(99,102,241,.55)}
.sm__n,.sm__k{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.02)),rgba(14,17,34,.9);border-color:rgba(150,165,225,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 14px 28px -18px rgba(0,0,0,.95);backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%)}
.sm__n:hover,.sm__k:hover,.sm__n:focus-visible,.sm__k:focus-visible{border-color:rgba(192,132,252,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 26px -8px rgba(192,132,252,.95),0 14px 28px -18px rgba(0,0,0,.95);outline:none}
.sm__n i{width:8px;height:8px;box-shadow:0 0 0 2px rgba(34,211,238,.18),0 0 10px rgba(34,211,238,.9)}
.sm__n--soon i{box-shadow:0 0 0 2px rgba(192,132,252,.18),0 0 10px rgba(192,132,252,.9)}
.sm__n--role i{box-shadow:0 0 0 2px rgba(241,138,198,.18),0 0 10px rgba(241,138,198,.9)}
.sm__n--own{border-style:dashed;border-color:rgba(228,212,255,.45)}
.sm__n--own i{background:transparent;border:1.5px solid #e4d4ff;box-shadow:0 0 10px rgba(228,212,255,.8)}
.sm__k{--lv:0;--lva:.12;background:linear-gradient(90deg,rgba(253,194,111,var(--lva)) calc(var(--lv)*100%),rgba(253,194,111,0) calc(var(--lv)*100%)),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.01)),rgba(28,22,14,.92);border-color:rgba(253,194,111,.42);transition:opacity .55s var(--ease),transform .55s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease),background 1.2s var(--ease)}
.sm--motion .sm__k,.sm--riding .sm__k{--lva:.3}
.sm--motion .sm__k--lv b,.sm--riding .sm__k--lv b{box-shadow:0 0 12px rgba(253,194,111,.95)}
.sm__n--lever{border-color:rgba(253,194,111,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 28px -8px rgba(253,194,111,.8)}
.sm--morph .sm__n,.sm--morph .sm__k{transition:left .85s var(--ease),top .85s var(--ease),opacity .55s var(--ease),transform .55s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease),background 1.2s var(--ease)}
.sm__n--gone{opacity:0 !important;transform:translate(-50%,-50%) scale(.8) !important}
.sm__f{stroke-width:1.7;opacity:.66}
.sm__f--live{filter:var(--sm-glow)}
.sm__f--sensed{stroke-dasharray:7 5;opacity:.6}
.sm__f--proposed{opacity:.45}
.sm__sig{filter:var(--sm-glow)}
.sm--live .sm__sig--sensed{opacity:.8}
.sm__ribbon{opacity:.065;stroke-width:12;filter:var(--sm-glow)}
.sm__run{opacity:.42}
.sm__mk{fill:rgba(14,17,34,.96);filter:var(--sm-glow)}
.sm__delay line{stroke:#fff;stroke-width:1.6;stroke-linecap:round;opacity:.75;transition:opacity .4s var(--ease)}
.sm--sel .sm__delay line{opacity:.15}.sm--sel .sm__delay.on line{opacity:1}
.sm__lv--rank{stroke-dasharray:3 5;opacity:.55}
.sm__lg{cursor:pointer;outline:none}
.sm__rk{fill:#fdc26f;stroke:rgba(14,17,34,.95);stroke-width:2;filter:var(--sm-glow)}
.sm__rkt{font-family:var(--mono);font-size:12px;font-weight:500;fill:#1a1206;text-anchor:middle}
.sm__lg:not(.sm__lg--one) .sm__rk{fill:rgba(28,22,14,.96);stroke:#fdc26f;stroke-width:1.2}
.sm__lg:not(.sm__lg--one) .sm__rkt{fill:#ffe3a0}
.sm--sel .sm__lg{opacity:.35}.sm--sel .sm__lg.on{opacity:1}
.sm__note{position:absolute;box-sizing:border-box;transform:translate(-50%,0);padding:3px 8px;border-radius:9px;border:1px solid rgba(192,132,252,.3);background:rgba(10,12,28,.86);color:#e4d4ff;font:12px/1.3 var(--mono);letter-spacing:.01em;white-space:nowrap;text-align:center;cursor:pointer;opacity:0;transition:opacity .5s var(--ease),border-color .3s var(--ease)}
.sm--in .sm__note{opacity:.92}
.sm__note--up{transform:translate(-50%,-100%)}
.sm--sel .sm__note{opacity:.3}.sm--sel .sm__note.on{opacity:1;border-color:rgba(192,132,252,.8)}
.sm__note2{margin:0 0 8px;font:12.5px/1.5 var(--mono);color:#e4d4ff}
.sm__k2--gap{margin-top:14px}
.sm__lgl{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:none}
.sm__lgb{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;min-height:44px;padding:9px 12px;border-radius:13px;border:1px solid rgba(253,194,111,.28);background:rgba(253,194,111,.05);color:var(--ink-soft);font:inherit;font-size:13.5px;line-height:1.45;text-align:left;cursor:pointer;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.sm__lgb:hover{border-color:rgba(253,194,111,.7);box-shadow:0 0 22px -10px rgba(253,194,111,.8)}
.sm__lgb b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fdc26f;color:#1a1206;font-family:var(--mono);font-size:12px;font-weight:500}
.sm__lgb:not(:first-child) b{background:rgba(28,22,14,.9);color:#ffe3a0;border:1px solid rgba(253,194,111,.6)}
.sm__lgb span{display:grid;gap:3px;color:#fff}
.sm__lgb em{font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#ffe3a0}
.sm__lgb small{font-size:12.5px;color:var(--ink-soft)}
.sm__pr{display:block;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.sm__pr b{color:#fff;font-weight:500;margin-right:6px}
.sm__pr span{font-family:var(--mono);font-size:12px;color:#a9cfff}
.sm__sim{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"play main" "tog tog";gap:8px 10px;align-items:center;max-width:640px;margin:14px auto 0;padding:10px 12px;border-radius:18px;border:1px solid rgba(253,194,111,.28);background:linear-gradient(180deg,rgba(253,194,111,.07),rgba(253,194,111,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.sm__simb{grid-area:play;width:44px;height:44px;border-radius:14px;border:1px solid rgba(253,194,111,.5);background:rgba(253,194,111,.12);color:#ffe3a0;font:inherit;font-size:14px;cursor:pointer}
.sm__simm{grid-area:main;display:grid;gap:4px;min-width:0}
.sm__simm input[type=range]{width:100%;accent-color:#fdc26f;margin:0}
.sm__simn{margin:0;font-size:13px;line-height:1.45;color:#fff}
.sm__simt{grid-area:tog;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sm__simw{min-height:32px;padding:0 12px;border-radius:10px;border:1px solid rgba(150,165,225,.25);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;font-size:12.5px;cursor:pointer}
.sm__simw.on{border-color:rgba(253,194,111,.7);color:#ffe3a0;background:rgba(253,194,111,.1)}
.sm__simh{margin-left:auto;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#b1c9eb}
.sm__stage::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(44% 40% at 28% 32%,rgba(192,132,252,.15),transparent 60%),radial-gradient(40% 36% at 74% 70%,rgba(34,211,238,.1),transparent 60%),radial-gradient(26% 24% at 62% 18%,rgba(241,138,198,.08),transparent 60%);animation:smaurora 42s ease-in-out infinite alternate}
@keyframes smaurora{from{transform:translate(-2%,-1.5%) scale(1.02)}to{transform:translate(2%,1.5%) scale(1.06)}}
.sm--still .sm__stage::before{animation:none}
.sm__loops,.sm__marks,.sm__sigs,.sm__pulse{transition:opacity .45s var(--ease)}
.sm--gliding .sm__loops,.sm--gliding .sm__marks,.sm--gliding .sm__sigs,.sm--gliding .sm__pulse,.sm--gliding .sm__note{opacity:0!important;transition:none}
.sm--riding{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -40px 80px -60px rgba(99,102,241,.35),0 0 70px -22px var(--wh,#67e8f9),0 40px 90px -60px rgba(99,102,241,.55)}
.sm__guide,.sm__wave{animation:smin .55s var(--ease)}
@media(prefers-reduced-motion:reduce){.sm__stage.sm--settled{transition:none}.sm__guide,.sm__wave{animation:none}}
.sm__stage::after{content:"";position:absolute;left:50%;top:50%;width:62%;height:62%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(150,165,225,.07);pointer-events:none}
@media(prefers-reduced-motion:reduce){.sm__stage::before{animation:none}}
@media(max-width:519px){.sm__head h3{font-size:24px}.sm__n,.sm__k{font-size:12px}}
@keyframes smin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sm__b{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--ink-soft);font:inherit;font-size:14px;cursor:pointer}
.sm__b:disabled{opacity:.4;cursor:default}
/* a phone: the notes wait until a node is chosen, and a stock label never breaks inside a word */
@media(max-width:519px){.sm__note{display:none}.sm--sel .sm__note.on{display:block}.sm__n span,.sm__k span{overflow-wrap:normal;hyphens:auto}}
/* a live flow runs: a fine stream along the curve, slow, so a map is never still while it is live */
.sm--in .sm__f--live{stroke-dasharray:3 11;animation:smflow 2.6s linear infinite}
@keyframes smflow{to{stroke-dashoffset:-14}}
@media(prefers-reduced-motion:reduce){.sm--in .sm__f--live{animation:none;stroke-dasharray:none}}
/* ── the craft: the tools under the stage, layers that can rest, a part held by a hand, a note tucked until its part is chosen, a dense map's smaller parts ── */
.sm__tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:640px;margin:10px auto 0;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-dim)}
.sm__tl{text-transform:uppercase;margin-right:2px}
.sm__tb{padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}
.sm__tb.on{border-color:rgba(192,132,252,.55);background:rgba(192,132,252,.12);color:#fff}
.sm__tb--calm{border-color:rgba(34,211,238,.35)}
.sm__th{flex-basis:100%;font-size:12px;letter-spacing:.02em;color:var(--ink-dim)}
.sm--no-notes .sm__note{display:none}
.sm--no-ranks .sm__lg{display:none}
.sm--no-proposed .sm__f--proposed,.sm--no-proposed .sm__sig--proposed,.sm--no-proposed .sm__hit[data-s="proposed"]{display:none}
.sm--no-stocks .sm__k,.sm--no-stocks [data-k="1"],.sm--no-stocks .sm__note[data-id^="k-"],.sm--no-stocks .sm__lg[data-id^="k-"],.sm--no-stocks .sm__lever[data-id^="k-"]{display:none}
.sm--dense .sm__n,.sm--dense .sm__k{font-size:12px;min-height:30px;padding:4px 7px;gap:5px}
.sm--dense .sm__n span,.sm--dense .sm__k span{overflow-wrap:normal;hyphens:auto}
.sm__note--side{transform:translate(-50%,-50%)}
.sm__note--tucked{display:none}
.sm--sel .sm__note--tucked.on{display:block}
.sm__n,.sm__k{touch-action:none;cursor:grab}
.sm--drag .sm__n--held{transition:none!important;cursor:grabbing;z-index:5;box-shadow:0 0 0 2px rgba(253,194,111,.6),0 18px 40px -16px rgba(0,0,0,.9)}
.sm__hidebtn,.sm__ungroup{margin:12px 8px 0 0;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;font-size:13px;cursor:pointer}
.sm__hidebtn:hover,.sm__ungroup:hover{border-color:rgba(253,194,111,.6)}
.sm__f.sm__f--held{opacity:1;stroke-width:2.2;filter:var(--sm-glow);animation:none;stroke-dasharray:none}
.sm--drag .sm__ribbon,.sm--drag .sm__run,.sm--drag .sm__delay{opacity:.25;transition:opacity .25s var(--ease)}
/* ── the sovereign wave, layer one: the shapes row, the crowd rule, notes that never cut, the lens, the trace ── */
.sm__shapes{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;max-width:640px;margin:8px auto 0;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-dim)}
.sm__shs{display:flex;gap:6px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent)}
.sm__shs::-webkit-scrollbar{display:none}
.sm__sb{flex:0 0 auto;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}
.sm__sb:hover{border-color:rgba(169,207,255,.5)}
.sm__sb.on{border-color:rgba(169,207,255,.65);background:rgba(169,207,255,.12);color:#fff}
.sm__shl{flex-basis:100%;margin:0;font-size:12px;letter-spacing:.02em;line-height:1.5;color:var(--ink-dim)}
.sm--crowded .sm__ribbon{stroke-width:9;opacity:.06}
.sm--crowded .sm__run{opacity:.28}
.sm--crowded .sm__sig--proposed,.sm--crowded .sm__sig--sensed{display:none}
.sm--crowded .sm__f--proposed{opacity:.3}
.sm--crowded .sm__note:not(.sm__note--nub){display:none}
.sm--crowded.sm--sel .sm__note.on{display:block}
.sm--crowded .sm__mk{r:13}
.sm__note--wrap{white-space:normal;line-height:1.3}
.sm__note--nub{width:26px;padding:1px 0;letter-spacing:0;font-size:14px;line-height:1}
.sm__dhit{fill:transparent;cursor:pointer}
.sm__delay{outline:none;cursor:pointer}
.sm__delay:focus-visible line{stroke:#fdc26f}
.sm__lens{position:absolute;z-index:7;box-sizing:border-box;width:300px;max-width:calc(100% - 16px);padding:12px 14px 12px;border-radius:18px;border:1px solid rgba(192,132,252,.45);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),rgba(10,12,28,.95);backdrop-filter:blur(14px) saturate(170%);-webkit-backdrop-filter:blur(14px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 34px -10px rgba(192,132,252,.7),0 24px 50px -24px rgba(0,0,0,.95);color:#fff;text-align:left;opacity:0;transform:translateY(6px) scale(.98);transition:opacity .32s var(--ease),transform .32s var(--ease)}
.sm__lens--in{opacity:1;transform:none}
.sm__lens[hidden]{display:none}
.sm__lk{position:relative;display:block;margin:0 0 6px;padding:5px 36px 0 0;line-height:1.5;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#b1c9eb}
.sm__lk b{font-weight:400;color:#e4d4ff}.sm__lk--B b{color:#ffb59b}.sm__lk--amber b{color:#ffe3a0}
.sm__lclose{position:absolute;top:0;right:0;width:28px;height:28px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:16px;line-height:1;cursor:pointer}
.sm__lt2{margin:0 0 6px;font-family:var(--display);font-weight:300;font-size:18px;line-height:1.25;color:#fff}
.sm__lx{margin:0 0 6px;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.sm__lx i{font-style:normal;color:#a9cfff;margin-right:5px}
.sm__lx--dim{color:var(--ink-dim)}
.sm__ln{margin:0 0 6px;padding:6px 9px;border-radius:10px;border:1px solid rgba(192,132,252,.3);background:rgba(192,132,252,.07);font:12.5px/1.45 var(--mono);color:#e4d4ff}
.sm__ln--here{border-color:rgba(192,132,252,.8)}
.sm__lc{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.sm__lcb{padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#e4d4ff;font:12px/1.2 var(--mono);letter-spacing:.06em;cursor:pointer}
.sm__lcb--B{color:#ffb59b}.sm__lcb--k{color:#ffe3a0}
.sm__la{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sm__lab{min-height:34px;padding:0 12px;border-radius:11px;border:1px solid rgba(192,132,252,.4);background:rgba(192,132,252,.1);color:#fff;font:inherit;font-size:13px;cursor:pointer}
.sm__lab--ask{border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.08)}
.sm__lab--quiet{border-color:var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft)}
.sm__lv2{height:6px;border-radius:3px;background:rgba(253,194,111,.15);margin:4px 0 8px;overflow:hidden}
.sm__lv2 i{display:block;height:100%;width:calc(var(--lv)*100%);background:#fdc26f;box-shadow:0 0 10px rgba(253,194,111,.9)}
.sm__f--trace{opacity:1!important;stroke-width:2.6!important;filter:var(--sm-glow);animation:none!important;stroke-dasharray:none!important}
.sm__n--trace,.sm__k--trace{border-color:rgba(255,255,255,.9)!important;box-shadow:0 0 0 2px rgba(192,132,252,.5),0 0 30px -6px rgba(192,132,252,1)!important;opacity:1!important}
.sm__mark--pulse .sm__mk{animation:smpulse .9s var(--ease) 1}
@keyframes smpulse{0%{stroke-width:1.2}40%{stroke-width:5;stroke-opacity:.5}100%{stroke-width:1.2}}
.sm__k--watch{box-shadow:0 0 0 2px rgba(253,194,111,.55),0 0 26px -6px rgba(253,194,111,1)!important}
/* ── the guide: ASENSE reads the drawing and the part she names pulses ── */
.sm__guide{max-width:640px;margin:12px auto 0;padding:12px 14px;border-radius:18px;border:1px solid rgba(192,132,252,.3);background:linear-gradient(180deg,rgba(192,132,252,.08),rgba(192,132,252,.02)),rgba(10,12,28,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:box-shadow .5s var(--ease)}
.sm__guide--new{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 36px -8px rgba(192,132,252,.9)}
.sm__ghead{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#e4d4ff}
.sm__gdot{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#c084fc 45%,#5b21b6);box-shadow:0 0 12px rgba(192,132,252,.95);animation:smgdot 3.4s var(--ease) infinite}
@keyframes smgdot{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
.sm__gpos{color:#b1c9eb;letter-spacing:.1em}
.sm__ethos{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}
.sm__eb{padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;letter-spacing:.06em;text-transform:none;cursor:pointer}
.sm__eb.on{border-color:rgba(192,132,252,.6);background:rgba(192,132,252,.14);color:#fff}
.sm__gtext{margin:0 0 6px;font-size:15px;line-height:1.55;color:#fff}
.sm__gwhy{margin:0 0 8px;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.sm__guide--hers .sm__gtext{color:#f5e6ff}
.sm__gact{display:flex;flex-wrap:wrap;gap:6px}
.sm__gb{min-height:34px;padding:0 12px;border-radius:11px;border:1px solid rgba(192,132,252,.4);background:rgba(192,132,252,.1);color:#fff;font:inherit;font-size:13px;cursor:pointer}
.sm__gb--ask{border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.08)}
.sm__pulse .sm__pl{fill:none;stroke:#c084fc;stroke-width:1.4;transform-box:fill-box;transform-origin:center;opacity:0}
.sm--live .sm__pulse .sm__pl{animation:smgpulse 2.6s var(--ease) infinite}
.sm--live .sm__pulse .sm__pl--1{animation-delay:1.3s}
.sm__pulse--hers .sm__pl{stroke:#fdc26f}
@keyframes smgpulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.sm--still .sm__pulse .sm__pl{opacity:.6;animation:none}
.sm__n--hint{border-color:rgba(192,132,252,.85)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 28px -6px rgba(192,132,252,1)!important}
.sm--sel .sm__n--hint{opacity:1}
/* ── the wave: the sheet, the ride, the log, what it became ── */
.sm__wave{max-width:640px;margin:12px auto 0}
.sm__wopen{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 12px;align-items:center;text-align:left;padding:12px 14px;border-radius:18px;border:1px solid rgba(34,211,238,.3);background:linear-gradient(180deg,rgba(34,211,238,.08),rgba(192,132,252,.04)),rgba(10,12,28,.6);color:#fff;font:inherit;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.sm__wopen span{font-family:var(--display);font-weight:300;font-size:20px;line-height:1.2}
.sm__wopen small{grid-column:2;font-size:12.5px;line-height:1.45;color:var(--ink-soft)}
.sm__worb-i{--wh:#67e8f9;grid-row:span 2;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0,var(--wh) 35%,transparent 72%),radial-gradient(circle,var(--wh) 0,transparent 70%);box-shadow:0 0 16px var(--wh);animation:smworb 4s var(--ease) infinite}
@keyframes smworb{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.sm__wbody{margin-top:8px}
.sm__wform[hidden],.sm__wride[hidden],.sm__wbody[hidden],.sm__wend[hidden]{display:none}
.sm__wform{display:grid;gap:10px;padding:14px;border-radius:18px;border:1px solid var(--line);background:rgba(10,12,28,.6)}
.sm__wf{display:grid;gap:5px}
.sm__wf>span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b1c9eb}
.sm__wi{width:100%;box-sizing:border-box;min-height:40px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:14px}
.sm__wi:focus{outline:none;border-color:rgba(34,211,238,.6);box-shadow:0 0 0 3px rgba(34,211,238,.12)}
.sm__wi::placeholder{color:var(--ink-dim)}
select.sm__wi{appearance:none;-webkit-appearance:none}
select.sm__wi option{background:#0f1225;color:#fff}
.sm__wcs{display:flex;flex-wrap:wrap;gap:6px}
.sm__wc{padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;font-size:12.5px;cursor:pointer}
.sm__wc.on{border-color:rgba(34,211,238,.6);background:rgba(34,211,238,.12);color:#fff}
.sm__wact{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:4px}
.sm__wgo{min-height:40px;padding:0 16px;border-radius:13px;border:1px solid rgba(34,211,238,.55);background:rgba(34,211,238,.14);color:#fff;font:inherit;font-size:14px;cursor:pointer;box-shadow:0 0 22px -8px rgba(34,211,238,.9)}
.sm__wgo--quiet{border-color:var(--line);background:rgba(255,255,255,.03);box-shadow:none;color:var(--ink-soft)}
.sm__wgo--ask{border-color:rgba(192,132,252,.5);background:rgba(192,132,252,.1);box-shadow:none}
.sm__wnote{font-size:12.5px;line-height:1.45;color:var(--ink-dim)}
.sm__wride{display:grid;gap:8px;padding:14px;border-radius:18px;border:1px solid rgba(34,211,238,.25);background:rgba(10,12,28,.6)}
.sm__whead{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px 12px;align-items:center}
.sm__whead .sm__worb-i{grid-row:auto}
.sm__wname{margin:0;font-family:var(--display);font-weight:300;font-size:20px;line-height:1.2;color:#fff}
.sm__wline{margin:0;font-size:12.5px;line-height:1.4;color:var(--ink-soft)}
.sm__wstop{min-height:32px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-soft);font:inherit;font-size:12.5px;cursor:pointer}
.sm__wen{height:6px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden}
.sm__wen i{--wh:#67e8f9;display:block;height:100%;width:100%;background:var(--wh);box-shadow:0 0 10px var(--wh);transition:width .6s var(--ease)}
.sm__wlog{max-height:220px;overflow-y:auto;display:grid;gap:5px;padding-right:4px;scrollbar-width:thin}
.sm__wl{margin:0;padding:6px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.025);font-size:13px;line-height:1.5;color:var(--ink-soft);animation:smin .4s var(--ease)}
.sm__wl--in,.sm__wl--end{color:#fff;border-color:rgba(34,211,238,.4)}
.sm__wl--stock{color:#ffe3a0;border-color:rgba(253,194,111,.3)}
.sm__wl--loop{color:#f5e6ff;border-color:rgba(192,132,252,.45)}
.sm__wl--delay{color:#bfe9ff}
.sm__wl--lever{color:#ffe3a0;border-color:rgba(253,194,111,.5)}
.sm__wl--grow{color:#fecdd3}
.sm__wend{padding:12px 14px;border-radius:14px;border:1px solid rgba(34,211,238,.35);background:rgba(34,211,238,.05)}
.sm__wk{margin:0 0 6px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#bfe9ff}
.sm__wk--gap{margin-top:10px}
.sm__wt2{margin:0 0 6px;font-family:var(--display);font-weight:300;font-size:22px;line-height:1.2;color:#fff}
.sm__wx{margin:0 0 6px;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.sm__wx i{font-style:normal;color:#a9cfff;margin-right:5px}
.sm__wmv{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sm__wmv li{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:10px;align-items:center;font-size:13px;color:#ffe3a0}
.sm__wmv i{position:relative;height:6px;border-radius:3px;background:rgba(253,194,111,.12);overflow:hidden}
.sm__wmv b{position:absolute;left:0;top:0;height:100%;background:rgba(253,194,111,.35)}
.sm__wmv b.sm__wmv--now{background:#fdc26f;box-shadow:0 0 8px rgba(253,194,111,.9)}
.sm__wmv em{font-style:normal;font-family:var(--mono);font-size:12px;color:#ffe3a0}
.sm__worb .sm__wh{opacity:.22;filter:var(--sm-glow)}
.sm__worb .sm__wc2{filter:var(--sm-glow)}
.sm__worb .sm__wt--1{opacity:.5}.sm__worb .sm__wt--2{opacity:.4}.sm__worb .sm__wt--3{opacity:.3}.sm__worb .sm__wt--4{opacity:.2}.sm__worb .sm__wt--5{opacity:.12}
.sm__worb .sm__wtail{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.42;filter:var(--sm-glow)}
.sm__worb .sm__wh{opacity:.28}
.sm--live .sm__worb .sm__wh{transform-box:fill-box;transform-origin:center;animation:smworb 2.8s var(--ease) infinite}
.sm__worb--wait .sm__wc2{animation:smwwait 1.4s var(--ease) infinite}
@keyframes smwwait{0%,100%{opacity:1}50%{opacity:.35}}
.sm__worb--rest .sm__wh{transform-box:fill-box;transform-origin:center;animation:smgpulse 3s var(--ease) infinite}
.sm__wrip{fill:none;stroke-width:1.6;opacity:.9;transform-box:fill-box;transform-origin:center;animation:smwrip 1.2s var(--ease) 1 forwards}
@keyframes smwrip{to{transform:scale(3.2);opacity:0}}
.sm__n--wave{border-color:rgba(255,255,255,.9)!important;box-shadow:0 0 0 2px rgba(103,232,249,.5),0 0 30px -6px rgba(103,232,249,1)!important;opacity:1!important}
.sm__f--wave{opacity:1!important;stroke-width:2.6!important;filter:var(--sm-glow);stroke-dasharray:none!important;animation:none!important}
@media(max-width:519px){.sm__wmv li{grid-template-columns:minmax(0,1fr) 80px auto}.sm__ethos{margin-left:0}}
/* ── pass three: one bar under the nav with folds; parts that arrive; a stage that settles once; the guide's words fade; the wave's form in two tiers ── */
.sm__bar{max-width:640px;margin:10px auto 0;padding:6px 8px;border-radius:18px;border:1px solid rgba(150,165,225,.18);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)),rgba(10,12,28,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-dim)}
.sm__barrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.sm__bb{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;font:inherit;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease)}
.sm__bb:hover{border-color:rgba(169,207,255,.5)}
.sm__bb[aria-expanded=true]{border-color:rgba(169,207,255,.55);background:rgba(169,207,255,.08)}
.sm__bb--shape i{width:8px;height:8px;border-radius:2px;transform:rotate(45deg);background:#a9cfff;box-shadow:0 0 8px rgba(169,207,255,.8)}
.sm__bbn{letter-spacing:.1em;text-transform:uppercase;color:#fff}
.sm__chev{width:7px;height:7px;border-right:1.5px solid #c6ccdc;border-bottom:1.5px solid #c6ccdc;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.sm__bb[aria-expanded=true] .sm__chev{transform:translateY(2px) rotate(225deg)}
.sm__bar .sm__tb{min-height:36px;padding:0 12px;border-radius:12px}
.sm__tb--reset{margin-left:auto;border-color:rgba(253,194,111,.3)}
.sm__fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.sm__fold>div{overflow:hidden;min-height:0}
.sm__fold.open{grid-template-rows:1fr}
.sm__fold .sm__shs{margin-top:8px;padding:2px 2px 4px}
.sm__fold .sm__shl{margin:4px 4px 6px;letter-spacing:.02em;line-height:1.5;color:var(--ink-dim)}
.sm__shs--layers{mask-image:none;-webkit-mask-image:none;flex-wrap:wrap;overflow:visible}
.sm__stage.sm--settled{transition:height .85s var(--ease)}
.sm--in .sm__n.sm__n--new,.sm--in .sm__k.sm__n--new{opacity:0;transform:translate(-50%,-50%) scale(.92)}
.sm__guide--swap .sm__gtext,.sm__guide--swap .sm__gwhy{animation:smin .45s var(--ease)}
.sm__wmore{border:1px solid var(--line);border-radius:14px;padding:0 12px}
.sm__wmore summary{cursor:pointer;list-style:none;min-height:40px;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b1c9eb}
.sm__wmore summary::-webkit-details-marker{display:none}
.sm__wmore summary .sm__chev{margin-left:auto}
.sm__wmore[open] summary .sm__chev{transform:translateY(2px) rotate(225deg)}
.sm__wmore[open]{padding-bottom:12px}
.sm__wmore>.sm__wf{margin-top:10px}
@media(prefers-reduced-motion:reduce){.sm__fold{transition:none}.sm__guide--swap .sm__gtext,.sm__guide--swap .sm__gwhy{animation:none}}
.sm__wshare{margin:8px 0 0;padding:8px 12px;border-radius:12px;border:1px solid rgba(34,211,238,.35);background:rgba(34,211,238,.06);font:12.5px/1.5 var(--mono);color:#bfe9ff;overflow-wrap:anywhere}
.sm__wshare[hidden]{display:none}
.sm__tb--link{border-color:rgba(34,211,238,.35)}
.sm__nav[hidden]{display:none}
.sm__lt{font-size:12.5px}
@media(max-width:519px){.sm__bar{padding:6px 6px}.sm__barrow{gap:5px}.sm__bb{gap:6px;padding:0 9px}.sm__bar .sm__tb{padding:0 9px}.sm__bbn{letter-spacing:.06em}}
.sm__empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;max-width:26ch;text-align:center;font-family:var(--display);font-weight:300;font-size:20px;line-height:1.35;color:#e4d4ff;pointer-events:none}
/* a tapped stock shows its motion: with the lever in amber, left alone in the dim ink */
.sm__spark{display:block;width:100%;max-width:240px;height:44px;margin:4px 0 2px}
.sm__spark polyline{fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.sm__spark--with{stroke:#fdc26f;filter:var(--sm-glow)}
.sm__spark--without{stroke:#c6ccdc;stroke-dasharray:3 4;opacity:.8}
.sm__spk{display:inline-block;width:14px;height:0;border-top:2px solid #fdc26f;vertical-align:middle;margin:0 4px 0 0}
.sm__spk--without{border-top:2px dashed #c6ccdc}
/* ── the levels: one dial first in the bar; the stage knows its level ── */
.sm__bb--level{gap:9px}
.sm__dots{display:inline-flex;gap:4px}
.sm__dots i{width:6px;height:6px;border-radius:50%;background:rgba(169,207,255,.22);transition:background .3s var(--ease),box-shadow .3s var(--ease)}
.sm__dots i.on{background:#c084fc;box-shadow:0 0 8px rgba(192,132,252,.8)}
.sm__shs--levels{mask-image:none;-webkit-mask-image:none;flex-wrap:wrap;overflow:visible}
.sm__lb b{display:inline-block;min-width:16px;margin-right:4px;font-weight:400;color:#e4d4ff}
.sm__lb.on b{color:#fff}
.sm__bb[hidden],.sm__tb[hidden]{display:none}
/* ── groups: a soft hull around parts that belong together; a subsystem in ice, a cluster in pink ── */
.sm__group{cursor:pointer;outline:none}
.sm__ghull{fill-opacity:.05;stroke-width:34;stroke-linejoin:round;stroke-opacity:.07;transition:fill-opacity .4s var(--ease),stroke-opacity .4s var(--ease)}
.sm__gline{fill:none;stroke-width:1;stroke-dasharray:3 7;stroke-linejoin:round;stroke-linecap:round;opacity:.5;transition:opacity .4s var(--ease)}
.sm__gname{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.85;paint-order:stroke;stroke:rgba(10,12,28,.9);stroke-width:4px;stroke-linejoin:round}
.sm__group.on .sm__ghull,.sm__group:hover .sm__ghull,.sm__group:focus-visible .sm__ghull{fill-opacity:.1;stroke-opacity:.14}
.sm__group.on .sm__gline,.sm__group:hover .sm__gline{opacity:.9}
.sm__group--hand .sm__gline{stroke-dasharray:2 5}
.sm--sel .sm__group:not(.on) .sm__ghull{fill-opacity:.03;stroke-opacity:.04}
.sm--sel .sm__group:not(.on) .sm__gname{opacity:.4}
.sm__gl{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.sm__gb2{padding:5px 11px;border-radius:999px;border:1px solid rgba(241,138,198,.4);background:rgba(241,138,198,.08);color:#ffd6ec;font:inherit;font-size:12.5px;cursor:pointer}
.sm__gb2 span{opacity:.75;margin-left:4px}
.sm__gb2--subsystem{border-color:rgba(34,211,238,.4);background:rgba(34,211,238,.08);color:#bfe9ff}
.sm__k2--pink{color:#ffd6ec}
.sm__k2--ice{color:#bfe9ff}
/* ── the hand: picking parts to link or group ── */
.sm--hand .sm__n,.sm--hand .sm__k{cursor:crosshair}
.sm--hand .sm__n--pick{border-color:rgba(241,138,198,.8);box-shadow:0 0 0 3px rgba(241,138,198,.18),0 0 24px -6px rgba(241,138,198,.9)}
.sm--hand[data-hand=link] .sm__n--pick{border-color:rgba(34,211,238,.8);box-shadow:0 0 0 3px rgba(34,211,238,.18),0 0 24px -6px rgba(34,211,238,.9)}
.sm__hand{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sm__hand .sm__shl{flex-basis:100%}
.sm__hand .sm__shl b{font-weight:400;color:#fff}
.sm__hi{flex:1 1 220px;min-width:0;min-height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:13px}
.sm__hi:focus{outline:none;border-color:rgba(192,132,252,.6)}
.sm__hand .sm__shs{flex-basis:100%;mask-image:none;-webkit-mask-image:none;flex-wrap:wrap;overflow:visible}
.sm__tb--keep{border-color:rgba(253,194,111,.5);background:rgba(253,194,111,.1);color:#ffe3a0}
.sm__f[data-hand="1"]{stroke-dasharray:4 5}
.sm__lk--pink b{color:#ffd6ec}
.sm__lk--ice b{color:#bfe9ff}
/* the guide waits for the builder level, the wave for the shaper level */
.sm[data-level="1"] .sm__guide,.sm[data-level="2"] .sm__guide,.sm[data-level="1"] .sm__wave,.sm[data-level="2"] .sm__wave,.sm[data-level="3"] .sm__wave{display:none}
/* the shapes explained: one line under the chips, how to read a map, the card's own line */
.sm__howto{margin:10px 0 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(150,165,225,.16);background:rgba(255,255,255,.03);font-size:13px;line-height:1.5;color:#d8e2ff}
.sm__out--shape i{color:#a9cfff}
/* ── the World: a map running as a digital world ── */
.sm--world{box-shadow:0 0 0 1px rgba(253,194,111,.25),0 40px 90px -50px rgba(253,194,111,.35),inset 0 0 120px -40px rgba(99,102,241,.25)}
.sm--world .sm__f{opacity:.95}
.sm--world .sm__f--live{filter:drop-shadow(0 0 4px rgba(192,132,252,.6))}
.sm__wp{pointer-events:none;filter:drop-shadow(0 0 4px rgba(253,194,111,.9))}
.sm__wp--live{filter:drop-shadow(0 0 6px rgba(192,132,252,.95))}
.sm__wclock{position:absolute;top:12px;right:12px;z-index:5;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;border:1px solid rgba(253,194,111,.4);background:rgba(8,10,24,.78);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffe3a0;pointer-events:none}
.sm__wclock svg{width:22px;height:22px;transform:rotate(-90deg)}
.sm__wclock .tr{fill:none;stroke:rgba(253,194,111,.22);stroke-width:3}
.sm__wclock .fl{fill:none;stroke:#fdc26f;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .9s var(--ease)}
.sm__wcap{position:absolute;left:50%;bottom:14px;z-index:5;transform:translateX(-50%);max-width:min(82%,560px);margin:0;padding:10px 16px;border-radius:16px;border:1px solid rgba(150,165,225,.22);background:rgba(8,10,24,.82);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);font-family:var(--display);font-weight:300;font-size:15px;line-height:1.45;color:#fff;text-align:center;pointer-events:none;opacity:0}
.sm__wcap--in{animation:smcap .7s var(--ease) both}
@keyframes smcap{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.sm__wcap:empty{display:none}
.sm__wlever{position:absolute;top:12px;left:12px;z-index:5;display:flex;gap:4px;padding:4px;border-radius:999px;border:1px solid rgba(150,165,225,.22);background:rgba(8,10,24,.78);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%)}
.sm__wlb{min-height:30px;padding:0 12px;border-radius:999px;border:1px solid transparent;background:transparent;color:#d8e2ff;font:inherit;font-size:12.5px;cursor:pointer}
.sm__wlb.on{border-color:rgba(253,194,111,.6);background:rgba(253,194,111,.14);color:#ffe3a0}
.sm__wagain{position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%);min-height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(253,194,111,.6);background:rgba(253,194,111,.14);color:#ffe3a0;font:inherit;font-size:14px;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:smcap .5s var(--ease) both}
.sm__wlv{position:absolute;top:-9px;right:-6px;min-width:22px;padding:1px 6px;border-radius:999px;border:1px solid rgba(253,194,111,.45);background:rgba(8,10,24,.9);font-family:var(--mono);font-style:normal;font-size:12px;line-height:1.3;color:#ffe3a0;text-align:center;pointer-events:none;transition:transform .4s var(--ease)}
.sm__wlv:empty{display:none}
.sm--world .sm__k{position:relative}
.sm__k--rise{--lva:.4}
.sm__k--rise b{box-shadow:0 0 16px rgba(253,194,111,1)}
.sm__k--rise .sm__wlv{transform:translateY(-3px);border-color:#fdc26f}
.sm__k--fall{--lva:.18}
.sm__k--fall .sm__wlv{color:#ffb4b4;border-color:rgba(255,154,122,.6)}
.sm__ribbon--turning{opacity:1!important;filter:drop-shadow(0 0 10px rgba(192,132,252,.7))}
.sm__ribbon--B.sm__ribbon--turning{filter:drop-shadow(0 0 10px rgba(255,154,122,.7))}
.sm__mark--turning{filter:drop-shadow(0 0 8px rgba(255,255,255,.7))}
.sm__n--pushed{animation:smpush 1.4s var(--ease)}
@keyframes smpush{0%{box-shadow:0 0 0 0 rgba(253,194,111,.9)}100%{box-shadow:0 0 0 22px rgba(253,194,111,0)}}
.sm__simworld{border-color:rgba(192,132,252,.5);color:#dccbff;background:rgba(192,132,252,.08)}
.sm__simworld.on{border-color:rgba(253,194,111,.7);color:#ffe3a0;background:rgba(253,194,111,.12)}
@media(max-width:560px){.sm__wclock{top:8px;right:8px;padding:5px 10px 5px 6px;font-size:12px}.sm__wlever{top:8px;left:8px}.sm__wlb{min-height:28px;padding:0 10px}.sm__wcap{bottom:10px;max-width:92%;font-size:14px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.sm__wcap--in,.sm__wagain,.sm__n--pushed{animation:none}.sm__wcap{opacity:1}}
/* ── the World's verdict: with the lever against left alone ── */
.sm__wverdict{position:absolute;left:50%;top:50%;z-index:7;transform:translate(-50%,-50%);width:min(92%,440px);max-height:92%;overflow:auto;padding:16px 16px 14px;border-radius:20px;border:1px solid rgba(253,194,111,.45);background:linear-gradient(180deg,rgba(253,194,111,.08),rgba(253,194,111,.02)),rgba(6,8,20,.92);backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);box-shadow:0 30px 80px -40px rgba(0,0,0,.9),0 0 40px -14px rgba(253,194,111,.5);animation:smcap .5s var(--ease) both}
.sm__wvk{margin:0 0 10px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#ffe3a0}
.sm__wvg{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:6px 10px;align-items:center}
.sm__wvg > b{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#a9cfff;padding-bottom:4px;border-bottom:1px solid rgba(150,165,225,.18)}
.sm__wvg > i{border-bottom:1px solid rgba(150,165,225,.18)}
.sm__wvn{font-size:14px;line-height:1.3;color:#fff}
.sm__wvn--most{color:#ffe3a0}
.sm__wvv{font-family:var(--mono);font-size:15px;color:#fff;white-space:nowrap}
.sm__wvv--b{color:#d8e2ff}
.sm__wvv em{font-style:normal;font-size:12px;color:#a9cfff;margin-left:4px}
.sm__wvv em.up{color:#9ff0c5}
.sm__wvv em.down{color:#ffb4b4}
.sm__wvl{margin:12px 0 0;font-size:13.5px;line-height:1.5;color:#fff}
.sm__wvl i{font-style:normal;color:#a9cfff;margin-right:6px}
.sm__wvb{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.sm__wverdict .sm__wagain{position:static;transform:none;animation:none;min-height:40px;padding:0 16px;font-size:13.5px}
.sm__wagain--other{border-color:rgba(192,132,252,.5);background:rgba(192,132,252,.1);color:#dccbff}
@media(max-width:560px){.sm__wlever,.sm__wclock,.sm__wcap{display:none}}
@media(max-width:560px){.sm__wverdict{width:94%;padding:12px 12px 10px}.sm__wvn{font-size:13px}.sm__wvv{font-size:14px}.sm__wvg{gap:5px 8px}}
.sm__wagain--link{border-color:rgba(169,207,255,.45);background:rgba(169,207,255,.08);color:#d8effc}
/* the verdict's sentence */
.sm__wvi{margin:12px 0 0;font-size:14px;line-height:1.55;color:#fff}
.sm__wvi b{font-weight:400;color:#ffe3a0}
.sm__wvi--at{margin-top:6px;color:#d8e2ff}
.sm__wvi--at b{color:#dccbff}
/* a stock's name on a phone holds to two lines; the lens carries the whole */
@media(max-width:560px){.sm__k span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
