@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-ext-wght-normal-C8B9Chlh.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-wght-normal-DbeVG3Ps.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-greek-wght-normal-DPM5d9ub.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-vietnamese-wght-normal-DcI17N1q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-ext-wght-normal-DZyYlgcm.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-wght-normal-BBL8hQxZ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-ext-wght-normal-BnWI7fIG.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-wght-normal-bgdX5wL6.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-greek-wght-normal-M9Lxztrh.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-vietnamese-wght-normal-DEkWUU3X.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-ext-wght-normal-rva7dkhN.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-wght-normal-BAwLJtOy.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-italic-DkADN7PN.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-400-italic-WpbpAPqt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-italic-BtO4nDW5.woff2) format("woff2"),url(/assets/dm-mono-latin-400-italic-D77nQW6H.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2) format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--p-white:#ffffff;--p-n-25:#fbfbfd;--p-n-50:#f5f6f9;--p-n-100:#eef0f4;--p-n-400:#6b7280;--p-n-500:#6d7482;--p-n-600:#5f6673;--p-n-700:#3d4350;--p-n-950:#0b0c0f;--p-d-950:#08090d;--p-d-900:#12141a;--p-d-880:#12141b;--p-d-850:#171a21;--p-d-840:#171a22;--p-d-800:#1b1e26;--p-d-100:#eef0f6;--p-d-200:#cfd3dd;--p-d-300:#9aa0ad;--p-d-400:#7b8090;--p-d-500:#7d8494;--p-blue-l:#2f62e0;--p-blue-l-ink:#2551c4;--p-blue-l-hi:#1b429f;--p-blue-d:#5b87f5;--p-blue-d-ink:#9db6ff;--p-blue-d-hi:#c0d0ff;--p-blue-l-press:#2551c4;--p-blue-d-press:#4d79ec;--p-violet-l:#6b4de6;--p-violet-l-ink:#5a3ed0;--p-violet-d:#8b6cff;--p-violet-d-ink:#b7a4ff;--p-cyan-l:#0b7f94;--p-cyan-l-ink:#0a6e80;--p-cyan-d:#38d4e0;--p-cyan-d-ink:#38d4e0;--p-ok-l:#0f7a6f;--p-ok-l-ink:#0c6961;--p-ok-d:#2aa79a;--p-ok-d-ink:#79d9cf;--p-warn-l:#9a6a12;--p-warn-l-ink:#7e560d;--p-warn-l-soft:#6b4a0b;--p-warn-d:#cf9a2e;--p-warn-d-ink:#e2bd63;--p-warn-d-soft:#dcc294;--p-danger-l:#c2356f;--p-danger-l-ink:#a62b5e;--p-danger-d:#d0568c;--p-danger-d-ink:#e79cc0;--p-gold:#c9a658;--p-gold-ink-l:#8a6b1f;--p-on-gold:#171104;--p-cat-core-d:#5b87f5;--p-cat-core-l:#2f62e0;--p-cat-sense-d:#2aa79a;--p-cat-sense-l:#0f7a6f;--p-cat-motion-d:#9d7bec;--p-cat-motion-l:#6d4bc9;--p-cat-output-d:#b8862c;--p-cat-output-l:#8a6210;--p-cat-iface-d:#8a93a5;--p-cat-iface-l:#5f6673;--p-cat-comms-d:#d0568c;--p-cat-comms-l:#c2356f;--p-fam-brains:#8a2a66;--p-fam-sensors:#131317;--p-fam-output:#f2f2f0;--p-fam-power:#c0322b;--p-ill-pcb:#1d2029;--p-ill-pcb-edge-l:#3a3f4c;--p-ill-pcb-edge-d:#555b6b;--p-ill-housing:#efeae0;--p-ill-housing-edge:#b9b09c;--p-ill-hole:#2b2e36;--p-ill-silk:#c9ccd4;--p-ill-wire-l:#4a5060;--p-ill-wire-d:#9aa0ad;--p-ill-ribbon:#d9a95b;--p-ill-ribbon-edge:#a87a32;--p-ill-finger:#e8d29a;--p-ill-metal:#a9aebb;--p-ill-led-off:#3a3f4c;--p-instrument:#05060a;--p-fil-grey:#c9ccd6;--p-fil-slate:#9aa0ad;--p-fil-gold:#c9a658;--p-fil-white:#f4f5f8;--bg:var(--p-n-25);--panel:var(--p-white);--panel-2:var(--p-n-50);--elev:var(--p-white);--solid:var(--p-white);--solid-2:var(--p-n-50);--fill-1:rgba(16,18,27,.02);--fill-2:rgba(16,18,27,.03);--fill-3:rgba(16,18,27,.045);--hover:rgba(16,18,27,.055);--track:rgba(16,18,27,.1);--line:rgba(16,18,27,.08);--line-2:rgba(16,18,27,.13);--line-3:rgba(16,18,27,.22);--ill-pcb:var(--p-ill-pcb);--ill-pcb-edge:var(--p-ill-pcb-edge-l);--ill-housing:var(--p-ill-housing);--ill-housing-edge:var(--p-ill-housing-edge);--ill-hole:var(--p-ill-hole);--ill-silk:var(--p-ill-silk);--ill-wire:var(--p-ill-wire-l);--ill-ribbon:var(--p-ill-ribbon);--ill-ribbon-edge:var(--p-ill-ribbon-edge);--ill-finger:var(--p-ill-finger);--ill-metal:var(--p-ill-metal);--ill-led-off:var(--p-ill-led-off);--chrome:var(--p-d-900);--sunk:var(--p-instrument);--sunk-deep:var(--p-instrument);--instrument:var(--p-instrument);--inset:rgba(16,18,27,.05);--print-body:var(--p-fil-grey);--print-lid:var(--p-fil-slate);--print-accent:var(--p-fil-gold);--print-light:var(--p-fil-white);--overlay:rgba(16,18,27,.34);--scrim:rgba(16,18,27,.72);--glass:rgba(255,255,255,.92);--dock:rgba(255,255,255,.78);--ink:var(--p-n-950);--ink-2:var(--p-n-700);--muted:var(--p-n-600);--dim:var(--p-n-400);--dim-tag:var(--p-n-500);--on-accent:var(--p-white);--on-ok:var(--p-white);--on-gold:var(--p-on-gold);--on-scrim:var(--p-white);--knob:var(--p-white);--accent:var(--p-blue-l);--accent-ink:var(--p-blue-l-ink);--accent-ink-hi:var(--p-blue-l-hi);--accent-press:var(--p-blue-l-press);--ai:var(--p-violet-l);--ai-ink:var(--p-violet-l-ink);--data:var(--p-cyan-l);--data-ink:var(--p-cyan-l-ink);--cyan:var(--data);--ok:var(--p-ok-l);--ok-ink:var(--p-ok-l-ink);--warn:var(--p-warn-l);--warn-ink:var(--p-warn-l-ink);--warn-ink-soft:var(--p-warn-l-soft);--amber:var(--warn);--danger:var(--p-danger-l);--danger-ink:var(--p-danger-l-ink);--gold:var(--p-gold);--gold-ink:var(--p-gold-ink-l);--pad:rgba(201,166,88,.55);--cat-core:var(--p-cat-core-l);--cat-sense:var(--p-cat-sense-l);--cat-motion:var(--p-cat-motion-l);--cat-output:var(--p-cat-output-l);--cat-iface:var(--p-cat-iface-l);--cat-comms:var(--p-cat-comms-l);--fam-brains:var(--p-fam-brains);--fam-sensors:var(--p-fam-sensors);--fam-output:var(--p-fam-output);--fam-power:var(--p-fam-power);--fam-ring:rgba(16,18,27,.16);--shadow:0 1px 2px rgba(16,18,27,.07),0 24px 60px -24px rgba(16,18,27,.28);--shadow-sm:0 1px 2px rgba(16,18,27,.06),0 10px 28px -16px rgba(16,18,27,.2);--img-shadow:rgba(16,18,27,.22);--img-shadow-strong:rgba(16,18,27,.3);--syn-fg:#c9ced9;--syn-gutter:#7c7c90;--syn-com:#78788a;--syn-key:#8fb0ff;--syn-str:#7fce9e;--syn-fn:#38d4e0;--syn-num:#e2bd63;--syn-type:#b7a4ff;--syn-line:rgba(255,255,255,.03);--syn-active:#7d8494;--grid-line:rgba(16,18,27,.055);--grid-cell:rgba(16,18,27,.028);--grid-cell-edge:rgba(16,18,27,.1);--mask-ink:#000;--hue-ramp:linear-gradient(90deg,#ff5b6b,#cf9a2e,#2aa79a,#38d4e0,#5b87f5,#8b6cff,#ff5b6b);--accent-weak:color-mix(in srgb,var(--accent) 12%,transparent);--ai-weak:color-mix(in srgb,var(--ai) 12%,transparent);--data-weak:color-mix(in srgb,var(--data) 8%,transparent);--ok-weak:color-mix(in srgb,var(--ok) 8%,transparent);--warn-weak:color-mix(in srgb,var(--warn) 9%,transparent);--danger-weak:color-mix(in srgb,var(--danger) 10%,transparent);--grid-gold:color-mix(in srgb,var(--gold) 13%,transparent);--grid-gold-edge:color-mix(in srgb,var(--gold) 42%,transparent);--ui:"Geologica Variable",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--disp:"Geologica Variable",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--sec:"Commissioner Variable",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"DM Mono",ui-monospace,"Cascadia Code",Consolas,monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--r1:9px;--r2:13px;--r3:18px;--r-btn:10px;--r-btn-lg:12px;--r-chip:6px;--cell:48px;--fast:.15s ease;--dockpad:88px}.on-chrome,:root[data-theme=dark]{--bg:var(--p-d-950);--panel:var(--p-d-900);--panel-2:var(--p-d-850);--elev:var(--p-d-800);--solid:var(--p-d-880);--solid-2:var(--p-d-840);--fill-1:rgba(255,255,255,.02);--fill-2:rgba(255,255,255,.03);--fill-3:rgba(255,255,255,.04);--hover:rgba(255,255,255,.05);--track:rgba(255,255,255,.1);--line:rgba(255,255,255,.07);--line-2:rgba(255,255,255,.11);--line-3:rgba(255,255,255,.18);--sunk:rgba(5,6,9,.55);--sunk-deep:rgba(5,6,9,.8);--inset:rgba(0,0,0,.3);--overlay:rgba(4,5,8,.68);--scrim:rgba(8,9,13,.8);--glass:rgba(22,24,32,.95);--dock:rgba(14,15,20,.74);--ink:var(--p-d-100);--ink-2:var(--p-d-200);--muted:var(--p-d-300);--dim:var(--p-d-500);--dim-tag:var(--p-d-400);--on-accent:var(--p-d-950);--on-ok:var(--p-d-950);--knob:var(--p-white);--accent:var(--p-blue-d);--accent-ink:var(--p-blue-d-ink);--accent-ink-hi:var(--p-blue-d-hi);--accent-press:var(--p-blue-d-press);--ai:var(--p-violet-d);--ai-ink:var(--p-violet-d-ink);--data:var(--p-cyan-d);--data-ink:var(--p-cyan-d-ink);--ok:var(--p-ok-d);--ok-ink:var(--p-ok-d-ink);--warn:var(--p-warn-d);--warn-ink:var(--p-warn-d-ink);--warn-ink-soft:var(--p-warn-d-soft);--danger:var(--p-danger-d);--danger-ink:var(--p-danger-d-ink);--gold-ink:var(--p-gold);--pad:rgba(201,166,88,.35);--cat-core:var(--p-cat-core-d);--cat-sense:var(--p-cat-sense-d);--cat-motion:var(--p-cat-motion-d);--cat-output:var(--p-cat-output-d);--cat-iface:var(--p-cat-iface-d);--cat-comms:var(--p-cat-comms-d);--fam-ring:rgba(255,255,255,.26);--ill-pcb-edge:var(--p-ill-pcb-edge-d);--ill-wire:var(--p-ill-wire-d);--grid-line:rgba(255,255,255,.05);--grid-cell:rgba(255,255,255,.025);--grid-cell-edge:rgba(255,255,255,.1);--shadow:0 24px 70px -22px rgba(0,0,0,.75);--shadow-sm:0 10px 30px rgba(0,0,0,.5);--img-shadow:rgba(0,0,0,.45);--img-shadow-strong:rgba(0,0,0,.6)}.on-chrome{--accent-weak:color-mix(in srgb,var(--accent) 12%,transparent);--ai-weak:color-mix(in srgb,var(--ai) 12%,transparent);--data-weak:color-mix(in srgb,var(--data) 8%,transparent);--ok-weak:color-mix(in srgb,var(--ok) 8%,transparent);--warn-weak:color-mix(in srgb,var(--warn) 9%,transparent);--danger-weak:color-mix(in srgb,var(--danger) 10%,transparent);--cyan:var(--data);--amber:var(--warn);color:var(--ink);color-scheme:dark}.on-instrument,.code-scroll,.codeedit,.cmhost,.buildout,.monitor,.serialfeed,.map-box,.devart .scr{--ink:var(--p-d-100);--ink-2:var(--p-d-200);--muted:var(--p-d-300);--dim:var(--p-d-500);--dim-tag:var(--p-d-400);--line:rgba(255,255,255,.07);--line-2:rgba(255,255,255,.11);--line-3:rgba(255,255,255,.18);--hover:rgba(255,255,255,.05);--fill-1:rgba(255,255,255,.02);--fill-2:rgba(255,255,255,.03);--fill-3:rgba(255,255,255,.04);--track:rgba(255,255,255,.1);--panel:var(--p-d-900);--panel-2:var(--p-d-850);--accent-ink:var(--p-blue-d-ink);--ai-ink:var(--p-violet-d-ink);--data:var(--p-cyan-d);--data-ink:var(--p-cyan-d-ink);--ok:var(--p-ok-d);--ok-ink:var(--p-ok-d-ink);--warn:var(--p-warn-d);--warn-ink:var(--p-warn-d-ink);--danger:var(--p-danger-d);--danger-ink:var(--p-danger-d-ink);color:var(--ink)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.on-instrument,.code-scroll,.codeedit,.cmhost,.buildout,.monitor,.serialfeed,.map-box{color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--ui);color:var(--ink);font-size:15.5px;line-height:1.5;background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4{font-family:var(--disp);margin:0;font-weight:600;letter-spacing:-.015em}button{font-family:inherit;cursor:pointer;color:inherit}input,textarea,select{font-family:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.mono{font-family:var(--mono)}.ic-svg{width:18px;height:18px;display:block;flex:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.num,.stat-val,.rng-val{font-variant-numeric:tabular-nums}.scrub .num,.pwr .row .mA,.regtable td{font-family:var(--ui);font-variant-numeric:tabular-nums}body:not(.pro) .pro-only{display:none!important}.app{display:grid;grid-template-rows:auto 1fr;height:100vh;position:relative;isolation:isolate}.topbar{display:flex;align-items:center;gap:var(--s3);height:54px;padding:0 var(--s5);border-bottom:1px solid var(--line);background:var(--chrome);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap}.brand .logotype{display:block;flex:none;opacity:.96}.brand .brand-compact{display:none;flex:none;color:var(--ink)}.brand small{font-family:var(--sec);font-weight:500;font-size:10.5px;color:var(--dim);letter-spacing:.2em;text-transform:uppercase}.appver{font-family:var(--sec);font-size:10.5px;color:var(--dim);border:1px solid var(--line-2);border-radius:var(--r-chip);padding:1px 6px;line-height:1.5}.discmark{display:block}.proj{display:flex;align-items:center;gap:var(--s2);color:var(--muted);font-size:14px;min-width:0}.proj .sep{color:var(--dim)}.proj b{color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.spacer{flex:1}.device-chip{display:flex;align-items:center;gap:var(--s2);padding:6px 13px;border:1px solid var(--line-2);border-radius:var(--r-btn);font-size:12.5px;color:var(--muted);background:var(--panel);transition:color .3s,border-color .3s,background .3s;white-space:nowrap;font-family:var(--sec);position:relative;overflow:hidden}.device-chip:hover{border-color:var(--line-3);background:var(--panel-2)}.device-chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;position:relative;z-index:1}.device-chip .lbl{position:relative;z-index:1}.device-chip.st-absent,.device-chip.st-unsupported{color:var(--dim)}.device-chip.st-connected{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 34%,transparent);background:color-mix(in srgb,var(--ok) 7%,transparent)}.device-chip.st-flashing{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.device-chip.st-streaming{color:var(--cyan);border-color:color-mix(in srgb,var(--data) 34%,transparent);background:color-mix(in srgb,var(--data) 6%,transparent)}.device-chip.st-streaming .dot{animation:frame .5s ease-out}@keyframes frame{0%{transform:scale(1.5);opacity:1}to{transform:scale(1);opacity:.75}}.devfill{position:absolute;left:0;top:0;bottom:0;background:var(--accent-weak);z-index:0;transition:width .3s linear}.staterail{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none}.staterail i{position:absolute;inset:0;width:100%;background:transparent;transition:width .4s ease,background .3s}.staterail.on.k-ai i{background:var(--ai);animation:railsweep 2.1s ease-in-out infinite}.staterail.on.k-scan i{background:var(--cyan);animation:railsweep 1.7s ease-in-out infinite}.staterail.on.k-flash i{background:var(--accent)}.staterail.on.k-live i{background:var(--cyan);opacity:.6}.staterail.on.k-error i{background:var(--amber)}@keyframes railsweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loader{display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:ldIn .4s ease var(--ld-delay,.2s) forwards}.loader.inline{flex-direction:row;gap:10px}.ld-track{position:relative;flex:none;width:148px;height:2px;border-radius:1px;background:var(--track);overflow:hidden}.loader.inline .ld-track{width:48px}.ld-track i{position:absolute;left:0;top:0;bottom:0;border-radius:1px;background:var(--ink-2);transition:width .35s ease}.ld-track i.sweep{width:36%;animation:ldSweep 1.5s cubic-bezier(.45,0,.25,1) infinite}.loader.t-ai .ld-track i{background:var(--ai)}.loader.t-data .ld-track i{background:var(--data)}.ld-text{display:flex;flex-direction:column;align-items:center;gap:3px}.loader.inline .ld-text{flex-direction:row;align-items:baseline;gap:8px}.ld-label{font-family:var(--sec);font-size:12.5px;color:var(--ink-2);letter-spacing:.01em}.ld-detail{font-family:var(--sec);font-size:12px;color:var(--dim)}@keyframes ldIn{to{opacity:1}}@keyframes ldSweep{0%{transform:translate(-100%)}to{transform:translate(280%)}}.btn.busy,.btn.busy:disabled{position:relative;overflow:hidden;cursor:progress;opacity:.85}.btn.busy:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:36%;background:currentColor;opacity:.5;animation:ldSweep 1.5s cubic-bezier(.45,0,.25,1) infinite}.sk{display:block;border-radius:6px;background:var(--fill-3);position:relative;overflow:hidden}.sk:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--hover),transparent);animation:skShine 1.6s ease-in-out infinite}@keyframes skShine{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.ld-track i.sweep{animation:none;width:100%;opacity:.4}.btn.busy:after{animation:none;width:100%;opacity:.25}.sk:after{animation:none;display:none}.loader{animation-duration:.01s}}.proj .pdot{width:9px;height:9px;border-radius:50%;flex:none;opacity:.9}.savepill{transition:color .5s,border-color .5s,background .5s}.savepill.saving{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 34%,transparent);background:color-mix(in srgb,var(--ok) 7%,transparent)}.savepill.unsaved{color:var(--warn-ink);border-color:color-mix(in srgb,var(--warn) 34%,transparent);background:var(--warn-weak)}.enginechip{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;border:1px solid var(--line);border-radius:var(--r-chip);padding:3px 10px;color:var(--dim)}.enginechip.ai{color:var(--ai-ink);border-color:color-mix(in srgb,var(--ai) 30%,transparent);background:var(--ai-weak)}.previewchip{display:inline-flex;align-items:center;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);border-radius:var(--r-chip);padding:3px 10px;color:var(--warn-ink);background:var(--warn-weak)}.bswatch{display:inline-block;flex:none;border-radius:3px;vertical-align:middle;box-shadow:inset 0 0 0 1px var(--fam-ring)}.nm .bswatch,.kit-nm .bswatch,.ckb-t b .bswatch{margin-right:6px}.famlegend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.famitem{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--dim)}.busnode .bswatch{border-radius:2px}.btn{border:1px solid var(--line-2);background:transparent;color:var(--ink);padding:7px 14px;border-radius:var(--r-btn);font-weight:500;font-size:14px;transition:var(--fast);display:inline-flex;gap:7px;align-items:center;white-space:nowrap}.btn:hover{background:var(--hover);border-color:var(--line-3)}.btn.primary{background:var(--accent);border:0;color:var(--on-accent);font-weight:600;padding:8px 15px}.btn.primary:hover{background:var(--accent-press)}.btn.primary:disabled{opacity:.5;cursor:default}.btn.ghost{border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--ink);background:var(--hover)}.btn:disabled{opacity:.5;cursor:default}.userbtn{width:30px;height:30px;border-radius:50%;overflow:hidden;border:1px solid var(--line-2);background:var(--panel-2);display:grid;place-items:center;color:var(--muted);padding:0;transition:var(--fast)}.userbtn:hover{border-color:var(--accent)}.userbtn img{width:100%;height:100%;object-fit:cover}.probtn{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--dim);border:1px solid var(--line-2);background:transparent;border-radius:var(--r-btn);padding:5px 7px 5px 12px;transition:all .2s ease}.probtn .knob{width:26px;height:14px;border-radius:4px;background:var(--track);position:relative;transition:background .2s ease}.probtn .knob:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:2px;background:var(--muted);transition:all .2s ease}body.pro .probtn{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}body.pro .probtn .knob{background:var(--accent)}body.pro .probtn .knob:after{left:14px;background:var(--knob)}.fwchip{font-family:var(--sec);font-size:11px;color:var(--dim);border:1px solid var(--line);border-radius:var(--r-chip);padding:5px 11px;white-space:nowrap}.kbtn{font-family:var(--sec);font-size:11.5px;color:var(--muted);border:1px solid var(--line);background:var(--panel);border-radius:var(--r-chip);padding:5px 9px}.kbtn:hover{color:var(--ink);border-color:var(--line-2)}.themebtn{width:30px;height:30px;border-radius:var(--r-btn);flex:none;padding:0;display:grid;place-items:center;border:1px solid var(--line-2);background:transparent;color:var(--dim);transition:var(--fast)}.themebtn:hover{color:var(--ink);border-color:var(--line-3);background:var(--hover)}.body{display:grid;grid-template-columns:1fr;min-height:0;position:relative;z-index:1}.rail{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:40;display:flex;flex-direction:row;align-items:center;gap:4px;padding:7px;background:var(--dock);border:1px solid var(--line-2);border-radius:17px;backdrop-filter:blur(24px);box-shadow:var(--shadow)}.rail button{width:auto;height:auto;min-width:62px;border-radius:var(--r-btn);border:0;background:transparent;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 13px;position:relative;transition:var(--fast)}.rail button:hover{background:var(--hover);color:var(--ink-2)}.rail button.on{color:var(--ink);background:color-mix(in srgb,var(--ai) 16%,transparent)}.rail button.on:before{content:none}.rail button .dl{font-size:11.5px;font-weight:500;letter-spacing:.01em}.rail .grow{width:1px;align-self:stretch;margin:5px 3px;background:var(--line);flex:none}.viewhost{min-height:0;position:relative;display:grid}.view{min-height:0;overflow:auto;position:relative;grid-area:1/1}.view::-webkit-scrollbar{width:9px;height:9px}.view::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.grid-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--cell) var(--cell);background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 80% 78% at 50% 42%,var(--mask-ink) 34%,transparent 100%);mask-image:radial-gradient(ellipse 80% 78% at 50% 42%,var(--mask-ink) 34%,transparent 100%)}.grid-bg i{position:absolute;left:calc(var(--x) * var(--cell));top:calc(var(--y) * var(--cell));width:calc(var(--w,1) * var(--cell) - 1px);height:calc(var(--h,1) * var(--cell) - 1px);border-radius:3px;background:var(--grid-cell);box-shadow:inset 0 0 0 1px var(--grid-cell-edge);transition:background .6s ease,box-shadow .6s ease}.grid-bg i.g{background:var(--grid-gold);box-shadow:inset 0 0 0 1px var(--grid-gold-edge)}.grid-bg.live i,.grid-bg.ai i{opacity:0;animation:cellSnap 9s ease-in-out infinite;animation-delay:var(--d,0s)}.grid-bg.ai i,.grid-bg.ai i.g{background:color-mix(in srgb,var(--ai) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ai) 28%,transparent);animation-duration:4.5s}@keyframes cellSnap{0%,to{opacity:0;transform:scale(.94)}12%,62%{opacity:1;transform:scale(1)}74%{opacity:0;transform:scale(1)}}.grid-bg.hero{-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 42%,var(--mask-ink) 30%,transparent 100%);mask-image:radial-gradient(ellipse 75% 70% at 50% 42%,var(--mask-ink) 30%,transparent 100%)}@media(max-width:600px){:root{--cell:36px}}@media(prefers-reduced-motion:reduce){.grid-bg.live i,.grid-bg.ai i{animation:none;opacity:.6}}.viewhost>.view{z-index:1}.view-loading{display:grid;place-items:center;min-height:calc(100vh - 160px)}.boot-splash{grid-area:1/1;display:grid;place-items:center;text-align:center;color:var(--muted);gap:var(--s2)}.boot-splash>*{margin:0 auto}.boot-splash .mark.big{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--gold);color:var(--on-gold);animation:pulse 1.6s infinite}.boot-splash h2{color:var(--ink)}.k{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--dim-tag)}.bwrap{min-height:100%;display:flex;flex-direction:column;padding:0 var(--s6) var(--dockpad)}.const{display:flex;align-items:flex-start;justify-content:center;margin:22px 0 8px;flex:none}.cnode{display:flex;flex-direction:column;align-items:center;gap:9px;width:140px;background:none;border:0;padding:0;color:var(--dim)}.cnode .d{width:11px;height:11px;border-radius:50%;background:var(--line-3);transition:all .3s ease}.cnode span:not(.d){font-size:12.5px;font-weight:500;letter-spacing:.02em}.cnode:hover span:not(.d){color:var(--muted)}.cnode.done .d{background:var(--accent)}.cnode.now .d{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.cnode.now.ai .d{background:var(--ai);box-shadow:0 0 0 4px color-mix(in srgb,var(--ai) 16%,transparent)}.cnode.now span:not(.d){color:var(--ink-2)}.cline{width:110px;height:1px;background:var(--track);margin-top:5px}.cline.lit{background:color-mix(in srgb,var(--accent) 50%,transparent)}.bhero{max-width:760px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;width:100%}.bhero h1{font-size:clamp(26px,3.2vw,38px);font-weight:550;letter-spacing:-.02em;margin:0 0 26px}.cmdbar{display:flex;align-items:center;gap:12px;width:100%;padding:9px 9px 9px 20px;border-radius:var(--r-btn-lg);background:var(--panel);border:1px solid var(--line-2);transition:var(--fast)}.cmdbar:focus-within{border-color:var(--accent)}.cmdbar input{flex:1;background:transparent;border:0;color:var(--ink);font-size:16.5px;outline:none;min-width:0}.cmdbar input::placeholder{color:var(--muted)}.seeall{margin-top:22px;background:none;border:0;color:var(--dim);font-size:13.5px;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px}.seeall:hover{color:var(--accent-ink)}.protip{margin-top:14px;font-family:var(--sec);font-size:12px;color:var(--dim)}.protip b{color:var(--accent-ink);font-weight:500}.bcurrent{margin-top:26px;font-size:14px}.bcurrent b{color:var(--ink)}.think{max-width:560px;margin:auto;text-align:center}.orb{width:70px;height:70px;border-radius:50%;margin:0 auto 24px;position:relative;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--ai-ink) 90%,transparent),color-mix(in srgb,var(--ai) 35%,transparent) 55%,transparent 75%);animation:orbpulse 1.6s ease-in-out infinite}.orb:after{content:"";position:absolute;inset:-16px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ai) 25%,transparent);animation:orbring2 1.6s ease-in-out infinite}@keyframes orbpulse{50%{transform:scale(1.08);filter:brightness(1.2)}}@keyframes orbring2{0%{transform:scale(.8);opacity:0}50%{opacity:1}to{transform:scale(1.15);opacity:0}}.yousaid{color:var(--muted);font-size:14.5px}.yousaid b{display:block;color:var(--ink);font-weight:500;font-size:17px;margin-top:4px}.steps.tcenter{margin:26px auto 0;max-width:340px;text-align:left}.revwrap{max-width:1020px;margin:10px auto 0;width:100%}.revcard{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r3);padding:var(--s6)}.said{color:var(--muted);font-size:14.5px;margin-bottom:12px}.said b{color:var(--ink);font-weight:500;font-size:16.5px;display:block;margin-top:3px}.ready{display:flex;align-items:center;gap:10px;color:var(--ai-ink);font-size:14.5px;font-weight:550;margin:2px 0 18px;flex-wrap:wrap}.ready .spark{width:20px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--ai) 18%,transparent);display:grid;place-items:center;flex:none;color:var(--ai-ink)}.ready .meta{color:var(--dim);font-weight:400;font-family:var(--sec);font-size:12px;margin-left:auto}.ready.robo{color:var(--ink-2)}.plan{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.plan .k{margin-bottom:10px;display:block}.plan ol{margin:0;padding-left:18px;color:var(--muted);font-size:14px;display:flex;flex-direction:column;gap:5px}.cta-row{display:flex;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}.why{color:var(--dim);font-size:13px;max-width:240px}.flashst{max-width:560px;margin:6vh auto 0;text-align:center}.devart{width:150px;height:100px;margin:0 auto 24px;border-radius:16px;border:1px solid var(--line-3);background:linear-gradient(180deg,var(--hover),var(--fill-1));position:relative}.devart .scr{position:absolute;inset:14px 18px 26px;border-radius:8px;background:var(--sunk-deep);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:10.5px;color:var(--data);letter-spacing:.12em}.devart .led{position:absolute;bottom:9px;left:50%;transform:translate(-50%);width:7px;height:7px;border-radius:50%;background:var(--warn);animation:pulse .7s infinite}.flashst.donefl .devart .led{background:var(--ok);animation:none;box-shadow:0 0 10px color-mix(in srgb,var(--ok) 90%,transparent)}.fbar{height:6px;border-radius:999px;background:var(--line-2);overflow:hidden;margin:20px 0 10px}.fbar i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.fmsg{font-family:var(--sec);font-size:12.5px;color:var(--muted)}.flog{margin:20px auto 0;max-width:420px;text-align:left;font-family:var(--mono);font-size:12px;color:var(--dim);display:flex;flex-direction:column;gap:5px}.flog div{animation:rise .3s ease both}.fdone{margin-top:24px;display:none;flex-direction:column;align-items:center;gap:16px}.flashst.donefl .fdone{display:flex}.fdone h2{margin:0;font-weight:550;font-size:20.5px;color:var(--ok-ink)}.fdone-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.pill{border:1px solid var(--line-2);background:transparent;color:var(--ink);border-radius:var(--r-btn);padding:6px 13px;font-size:13.5px;transition:var(--fast);display:inline-flex;gap:6px;align-items:center}.pill .ic-svg{width:14px;height:14px;color:var(--muted)}.pill:hover{border-color:color-mix(in srgb,var(--ai) 45%,transparent);background:var(--ai-weak)}.pill:hover .ic-svg{color:var(--ai-ink)}.scanline{margin-top:var(--s3);font-family:var(--sec);font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:center}.scanline .ic-svg{width:14px;height:14px;color:var(--ok)}.scanline b{color:var(--ink);font-weight:500}.scanline .a{color:var(--data)}.warnbox{display:flex;gap:8px;background:color-mix(in srgb,var(--warn) 7%,transparent);border:1px solid color-mix(in srgb,var(--warn) 28%,transparent);border-radius:var(--r2);padding:10px 12px;font-size:14px;line-height:1.5;color:var(--warn-ink-soft)}.warnbox .ic-svg{width:16px;height:16px;color:var(--warn);flex:none;margin-top:1px}.warnbox b{color:var(--warn-ink);font-weight:600}.warnbox.wide{max-width:660px;margin-bottom:var(--s4)}.warnbox.runerr{margin:var(--s2) auto var(--s4);width:100%}.buyline{margin-top:var(--s2);font-size:13.5px;color:var(--muted);display:flex;gap:6px;align-items:center}.buyline .ic-svg{width:14px;height:14px;color:var(--warn)}.buyline b{color:var(--ink);font-weight:500}.chip-mini{display:inline-flex;gap:6px;align-items:center;font-family:var(--sec);font-size:12px;color:var(--ok-ink);border:1px solid color-mix(in srgb,var(--ok) 32%,transparent);background:color-mix(in srgb,var(--ok) 7%,transparent);border-radius:var(--r-chip);padding:4px 10px}.chip-mini .ic-svg{width:12px;height:12px}.chip-mini.subtle{color:var(--dim);border-color:var(--line);background:transparent}.linkbtn{border:0;background:transparent;color:var(--accent-ink);font-family:var(--ui);font-size:13.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:0}.linkbtn:hover{color:var(--accent-ink-hi);text-decoration:underline;text-underline-offset:3px}.empty-canvas{height:72%;display:grid;place-items:center;text-align:center;color:var(--dim)}.empty-canvas.tallish{height:60vh}.empty-canvas .big{color:var(--line-3);margin-bottom:var(--s3);display:flex;justify-content:center}.empty-canvas p{max-width:300px;line-height:1.6;font-size:14px}.board{display:flex;flex-wrap:wrap;gap:var(--s3);align-content:flex-start}.blockcard{width:186px;border:1px solid var(--line-2);border-radius:var(--r2);background:var(--panel);padding:var(--s3) var(--s3) 14px;position:relative;overflow:hidden;cursor:pointer;transition:transform var(--fast),border-color var(--fast)}.blockcard:hover{border-color:var(--line-3);transform:translateY(-2px)}.blockcard:before{content:"";position:absolute;left:12px;right:12px;bottom:0;height:4px;background:repeating-linear-gradient(90deg,var(--pad) 0 7px,transparent 7px 14px)}.blockcard .thumb{width:100%;aspect-ratio:1;object-fit:contain;display:block;margin:14px 0 6px;filter:drop-shadow(0 10px 14px var(--img-shadow))}.blockcard .top{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2)}.blockcard .ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent);border:2px solid color-mix(in srgb,var(--acc) 45%,transparent)}.blockcard .nm{font-family:var(--sec);font-weight:500;font-size:14px;letter-spacing:.01em}.blockcard .cat{font-size:12px;color:var(--dim-tag);display:flex;align-items:center;gap:5px}.blockcard .cat:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--acc)}.blockcard .bl{color:var(--muted);font-size:13px;line-height:1.45;min-height:32px}.blockcard .self{margin-top:var(--s2);border:1px solid var(--line);border-radius:8px;background:var(--inset);padding:8px 9px}.blockcard .self .drv{font-family:var(--sec);font-size:11px;color:var(--dim);display:flex;justify-content:space-between;margin:1px 0;gap:8px}.blockcard .self .drv b{color:var(--muted);font-weight:500;text-align:right}.blockcard .self .src{font-family:var(--sec);font-size:10px;color:var(--dim-tag);margin-top:6px;letter-spacing:.04em;text-transform:uppercase}.pinrow{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line-2)}.pin{font-family:var(--sec);font-size:10.5px;padding:2px 7px;border-radius:var(--r-chip);background:var(--fill-2);color:var(--muted);border:1px solid var(--line)}.pin b{color:var(--ink);font-weight:500}.ribbon{position:absolute;top:9px;right:10px;font-size:11.5px;font-weight:500;color:var(--dim-tag);display:flex;align-items:center;gap:5px;z-index:1}.ribbon:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.blockcard:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent}.st-detected:after{background:var(--ok)}.st-detected .ribbon{color:var(--ok-ink)}.st-owned:after{background:var(--accent)}.st-owned .ribbon{color:var(--accent-ink)}.st-needed:after{background:var(--warn)}.st-needed .ribbon{color:var(--warn-ink)}.st-roadmap{opacity:.55}.st-roadmap:after{background:var(--dim-tag)}.st-roadmap .ribbon{color:var(--dim-tag)}.guardchip{display:inline-flex;gap:5px;align-items:center;margin-top:var(--s2);font-size:11px;color:var(--warn-ink);font-family:var(--sec);letter-spacing:.03em}.blockcard .buy{margin-top:var(--s2);width:100%;border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent);color:var(--warn-ink);border-radius:var(--r-btn);font-weight:500;font-size:13px;font-family:var(--ui);display:flex;align-items:center;justify-content:center;gap:6px;opacity:0;max-height:0;padding:0;overflow:hidden;transition:.14s ease}.blockcard.st-needed:hover .buy{opacity:1;max-height:38px;padding:6px 8px}.blockcard .buy:hover{background:color-mix(in srgb,var(--warn) 16%,transparent)}.blockcard .soon{margin-top:var(--s2);font-family:var(--sec);font-size:11px;color:var(--dim);border-top:1px solid var(--line);padding-top:6px}.snap-hint{font-family:var(--sec);font-size:12px;color:var(--dim);margin:var(--s4) 2px 0}.paddr{display:block;font-family:var(--sec);font-size:10.5px;color:var(--dim);margin-top:6px;letter-spacing:.05em}.steps{list-style:none;margin:var(--s3) 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.step{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-family:var(--sec);padding:2px 0}.step .s-ic{width:15px;height:15px;flex:none;display:grid;place-items:center;color:var(--dim)}.step.run{color:var(--ink)}.step.run .s-ic{color:var(--ai-ink)}.step .s-ic.spin{animation:spin 1s linear infinite}.step.done .s-ic{color:var(--ok-ink)}.step.done .s-t{color:var(--muted)}.forkbanner{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--muted);background:var(--accent-weak);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--r1);padding:9px 11px}.forkbanner .ic-svg{color:var(--accent-ink);flex:none;margin-top:1px}.forkbanner b{color:var(--ink);font-weight:500}.code-wrap{display:flex;flex-direction:column;min-height:0;height:100%;overflow:auto;padding-bottom:var(--dockpad)}.code-bar{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none}.code-bar .fname{font-family:var(--mono);font-size:13.5px;color:var(--ink);font-weight:500;letter-spacing:0}.code-bar .filepick{display:inline-flex;align-items:center;gap:8px}.code-bar .filepick select{font-family:var(--mono);font-size:12.5px;color:var(--ink);background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-btn);padding:5px 8px;max-width:280px;cursor:pointer}.code-bar .filepick select:hover{border-color:var(--line-3)}.code-bar .filecount{font-family:var(--sec);font-size:11.5px;color:var(--dim)}.code-bar .badge{display:inline-flex;gap:5px;align-items:center;font-family:var(--sec);font-size:11.5px;color:var(--muted);border:1px solid var(--line-2);border-radius:var(--r-chip);padding:3px 10px}.code-bar .badge .ic-svg{width:11px;height:11px;color:var(--ok)}.code-bar .badge.claude{color:var(--ai-ink);border-color:color-mix(in srgb,var(--ai) 30%,transparent)}.code-bar .badge.claude .ic-svg{color:var(--ai-ink)}.code-bar .badge.editing{color:var(--warn-ink);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.code-scroll{overflow:auto;padding:var(--s4) 0;background:var(--sunk);flex:1;min-height:220px}.code-scroll.code-loading{display:grid;place-items:center}pre.code{margin:0;font-family:var(--mono);font-size:14px;line-height:1.75;color:var(--syn-fg);tab-size:2}pre.code .ln{display:block;padding:0 var(--s5) 0 0;white-space:pre}pre.code .lno{display:inline-block;width:48px;text-align:right;padding-right:16px;color:var(--syn-gutter);user-select:none}.tok-com{color:var(--syn-com);font-style:italic}.tok-key{color:var(--syn-key)}.tok-str{color:var(--syn-str)}.tok-fn{color:var(--syn-fn)}.tok-num{color:var(--warn-ink)}.tok-type{color:var(--syn-type)}.codeedit{width:100%;min-height:420px;flex:1;background:var(--sunk);border:0;color:var(--ink);font-family:var(--mono);font-size:14px;line-height:1.75;padding:var(--s4) var(--s5);outline:none;resize:none;tab-size:2}.explain{border-top:1px solid var(--line);padding:var(--s4) var(--s5);font-size:14px;color:var(--muted);line-height:1.6;flex:none}.explain b{color:var(--ai-ink)}.aibar{display:flex;align-items:center;gap:11px;margin:var(--s3) var(--s5);padding:8px 8px 8px 15px;border:1px solid var(--line-2);border-radius:var(--r-btn-lg);background:var(--panel);flex:none}.aibar .ic-svg{color:var(--ai-ink);width:15px;height:15px}.aibar input{flex:1;background:transparent;border:0;color:var(--ink);font-size:14px;outline:none;min-width:0}.aibar input::placeholder{color:var(--dim)}.diffpane{margin:var(--s3) var(--s5) 0;border:1px solid var(--line-2);border-radius:var(--r2);background:var(--panel);padding:14px 0 12px;font-family:var(--mono);font-size:13.5px;line-height:1.7;overflow-x:auto;flex:none}.diffpane .dl{display:flex;white-space:pre;padding:0 var(--s5)}.diffpane .dl.add{background:color-mix(in srgb,var(--ok) 9%,transparent);color:var(--ok-ink)}.diffpane .dl.del{background:color-mix(in srgb,var(--danger) 9%,transparent);color:var(--danger-ink)}.diffpane .dl .sig{width:28px;flex:none;color:var(--dim)}.diffhead{display:flex;align-items:center;gap:10px;padding:0 var(--s5) 11px;color:var(--muted);font-size:12.5px;font-family:var(--ui);flex-wrap:wrap}.diffhead b{color:var(--ai-ink);font-weight:500}.diffactions{display:flex;justify-content:flex-end;gap:var(--s2);padding:11px var(--s5) 0}.buildout{margin:var(--s3) var(--s5) 0;border:1px solid var(--line);border-radius:var(--r1);background:var(--sunk);padding:11px 16px;font-family:var(--mono);font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:4px;flex:none}.buildout .okl{color:var(--ok-ink)}.buildout .step2{color:var(--dim)}.buildout .errl{color:var(--danger-ink);white-space:pre-wrap}.dash-wrap{display:grid;grid-template-columns:1fr 228px;height:100%;min-height:0}.dash-main{min-height:0;overflow:auto;padding:var(--s5) var(--s6) var(--dockpad)}.dash-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4);flex-wrap:wrap;gap:var(--s3)}.dash-bar h1,.dash-bar h2{font-size:18.5px;font-weight:550}.dash-bar .sub{color:var(--muted);font-size:13.5px;margin-top:3px}.live{display:inline-flex;align-items:center;gap:7px;font-family:var(--sec);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--data);border:1px solid color-mix(in srgb,var(--data) 30%,transparent);border-radius:var(--r-chip);padding:5px 12px}.live .dot{width:6px;height:6px;border-radius:50%;background:var(--data);animation:pulse 1.7s infinite}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);grid-auto-rows:minmax(118px,auto)}.wslot{display:grid;min-height:0;cursor:grab}.wslot:active{cursor:grabbing}.wslot.w2{grid-column:span 2}.wslot.tall{grid-row:span 2}.widget{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4);position:relative;min-height:0;overflow:hidden;transition:border-color var(--fast)}.widget:hover{border-color:var(--line-2)}.widget h3{font-size:12.5px;font-weight:600;color:var(--dim-tag);letter-spacing:.02em;display:flex;justify-content:space-between;align-items:center}.widget h3 .x{display:grid;place-items:center;color:var(--dim);cursor:pointer;opacity:0;transition:var(--fast)}.widget:hover h3 .x{opacity:1}.widget h3 .x:hover{color:var(--danger)}.mq{font-family:var(--mono);font-size:10.5px;color:var(--dim);margin-top:3px;letter-spacing:.04em}.mq em{font-style:normal;color:var(--data);opacity:.8}.stat-val{font-weight:600;font-size:35.5px;letter-spacing:-.02em;margin-top:var(--s3);line-height:1}.stat-val small{font-size:15.5px;color:var(--muted);font-weight:500;margin-left:4px}.stat-sub{font-family:var(--sec);font-size:12px;color:var(--dim);margin-top:var(--s2)}.stat-sub.ok{color:var(--ok-ink)}.stat-sub.warn{color:var(--warn-ink)}.widget.instrument{background:var(--instrument);border-color:var(--line)}.widget.instrument:hover{border-color:var(--line-3)}.readout{display:flex;align-items:baseline;gap:5px;margin-top:var(--s3);line-height:1;color:var(--data)}.readout .num{font-weight:600;font-size:30px;letter-spacing:-.02em}.readout small{font-family:var(--sec);font-size:13px;font-weight:500;color:var(--muted)}.readout.big .num{font-size:38px}.readout.warn{color:var(--warn)}.readout-stats{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s2);font-family:var(--sec);font-size:12px;color:var(--dim-tag)}.meter{display:flex;flex-direction:column}.scale{margin-top:var(--s3)}.scale-track{position:relative;height:6px;background:var(--track);border-radius:1px}.scale-fill{position:absolute;left:0;top:0;bottom:0;background:var(--data);opacity:.55;border-radius:1px;transition:width .5s ease}.scale-fill.warn{background:var(--warn)}.scale-mark{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink);transition:left .5s ease}.scale-ticks{display:flex;justify-content:space-between;margin-top:3px;height:6px}.scale-ticks i{width:1px;height:4px;background:var(--line-3)}.scale-ticks i.major{height:6px;background:var(--dim)}.scale-ends{display:flex;justify-content:space-between;margin-top:3px;font-family:var(--sec);font-size:11px;color:var(--dim)}.trace{display:flex;flex-direction:column;margin-top:var(--s2);height:calc(100% - 22px);min-height:118px}.trace-empty{align-items:center;justify-content:center;font-family:var(--sec);font-size:12.5px;color:var(--dim)}.trace-empty b{font-family:var(--mono);font-weight:400;color:var(--muted)}.trace-plot{position:relative;flex:1;min-height:78px;margin-left:40px}.trace-plot svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}.trace-plot line{stroke:var(--line-2);stroke-width:1;vector-effect:non-scaling-stroke}.trace-plot line.axis{stroke:var(--line-3)}.trace-line{fill:none;stroke:var(--data);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.trace-dot{position:absolute;right:-3px;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--data)}.trace-y{position:absolute;left:-40px;top:0;bottom:0;width:34px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-family:var(--sec);font-size:11px;line-height:1;color:var(--dim);margin:-5px 0}.trace-x{display:flex;justify-content:space-between;margin:4px 0 0 40px;font-family:var(--sec);font-size:11px;color:var(--dim)}.trace-foot{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--line);font-family:var(--sec);font-size:11.5px;color:var(--dim-tag)}.swatch{height:52px;border-radius:var(--r1);margin-top:var(--s3);border:1px solid var(--line-2);transition:background .2s}.hue-slider{width:100%;margin-top:var(--s3);-webkit-appearance:none;height:6px;border-radius:6px;background:var(--hue-ramp)}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--knob);border:2px solid var(--line-3);box-shadow:0 1px 3px var(--img-shadow);cursor:pointer}.hue-slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--knob);border:2px solid var(--line-3);box-shadow:0 1px 3px var(--img-shadow);cursor:pointer}.rng{width:100%;margin-top:var(--s5);-webkit-appearance:none;height:4px;border-radius:6px;background:var(--track)}.rng::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--accent);cursor:pointer}.rng-val{font-weight:600;font-size:21.5px;margin-top:var(--s3)}.tgl{display:flex;align-items:center;justify-content:space-between;margin-top:var(--s4)}.switch{width:46px;height:26px;border-radius:7px;background:var(--track);position:relative;transition:.18s;border:1px solid var(--line-2);cursor:pointer}.switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:5px;background:var(--knob);transition:.18s}.switch.on{background:var(--accent);border-color:transparent}.switch.on:after{left:22px}.map-box{margin-top:var(--s2);height:calc(100% - 26px);min-height:120px;border-radius:var(--r1);overflow:hidden;position:relative;background:var(--sunk);border:1px solid var(--line)}.map-box svg{position:absolute;inset:0;width:100%;height:100%}.map-box .roads{stroke:var(--line);stroke-width:1;fill:none}.logbox{margin-top:var(--s2);font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--muted);max-height:100%;overflow:auto}.logbox .t{color:var(--data)}.logbox div{border-bottom:1px solid var(--line);padding:3px 0}.palette{border-left:1px solid var(--line);padding:var(--s4) var(--s3) var(--dockpad);overflow:auto}.palette .k{margin-bottom:var(--s3);display:block}.palette .add{display:flex;align-items:center;gap:var(--s3);width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:var(--r-btn);padding:9px 10px;margin-bottom:var(--s2);color:var(--ink);transition:var(--fast)}.palette .add:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-weak)}.palette .add .pic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--muted);background:var(--fill-3);border:1px solid var(--line)}.palette .add:hover .pic{color:var(--accent-ink)}.palette .add .nm{font-weight:500;font-size:13.5px}.palette .add .ds{font-size:12px;color:var(--dim)}.dash-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scrub{display:flex;align-items:center;gap:9px;min-width:180px}.scrub input[type=range]{width:130px;accent-color:var(--warn)}.scrub .num{font-family:var(--sec);font-size:11.5px;color:var(--dim);min-width:52px;text-align:right}.scrub .num.on{color:var(--warn)}.live.replay{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:none;cursor:pointer}.live.replay .dot{background:var(--warn)}.live.sim{color:var(--dim)}.live.sim .dot{background:var(--dim);animation:none}.live.waiting .dot{animation-duration:3s}.lamp{display:flex;align-items:center;gap:14px;padding:12px 2px 6px}.lamp-dot{width:34px;height:34px;border-radius:50%;flex:none;background:var(--track);box-shadow:inset 0 0 0 1px var(--line-2);transition:background .3s,box-shadow .3s}.lamp.on .lamp-dot{background:var(--data);box-shadow:0 0 18px color-mix(in srgb,var(--data) 55%,transparent)}.lamp-txt{font-size:25px;font-weight:600;color:var(--dim)}.lamp.on .lamp-txt{color:var(--ink)}.lamp .stat-sub{margin-left:auto}.ctl-note{font-size:11.5px;color:var(--warn-ink);margin-top:8px}.tgl{flex-wrap:wrap}.tgl .ctl-note{flex-basis:100%}.pulse-actions{display:flex;justify-content:center;margin-top:var(--s4)}.expr-input{width:100%;background:var(--fill-3);border:1px solid var(--line);border-radius:8px;padding:6px 9px;color:var(--ai-ink);font-family:var(--mono);font-size:12.5px;outline:none;margin-top:6px}.expr-input:focus{border-color:color-mix(in srgb,var(--ai) 50%,transparent)}.myprojects{margin-bottom:var(--s6)}.myprojects .k{display:block;margin-bottom:var(--s3)}.mp-row{display:flex;gap:10px;flex-wrap:wrap}.mp-card{display:flex;align-items:stretch;background:var(--panel);border:1px solid var(--line-2);border-radius:12px;overflow:hidden;transition:var(--fast)}.mp-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.mp-open{display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:0;padding:10px 14px}.mp-title{font-weight:600;font-size:14.5px;color:var(--ink);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-meta{font-family:var(--sec);font-size:11px;color:var(--dim)}.mp-del{background:none;border:0;border-left:1px solid var(--line);color:var(--dim);padding:0 10px;display:grid;place-items:center}.mp-del:hover{color:var(--danger)}.busmap{margin-top:18px;padding:14px 18px 12px;border:1px dashed var(--line-3);border-radius:12px}.busmap-k{display:flex;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.busrail{position:relative;height:30px}.busrail:before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:color-mix(in srgb,var(--accent) 40%,transparent);border-radius:2px}.busnode{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--sec);font-size:10px;color:var(--dim)}.busnode i{width:10px;height:10px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);display:block}.busnode.host i{border-color:var(--ai)}.busnode.bad i{border-color:var(--danger)}.busnode.bad{color:var(--danger-ink)}.buswarn{margin-top:12px;font-size:13px;color:var(--danger-ink)}.plotkeys{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}.pk{font-family:var(--mono);font-size:11px;color:var(--dim);background:none;border:1px solid var(--line);border-radius:var(--r-chip);padding:3px 10px;transition:var(--fast)}.pk:hover{color:var(--ink);border-color:var(--line-2)}.pk.on{color:var(--data);border-color:color-mix(in srgb,var(--data) 40%,transparent);background:color-mix(in srgb,var(--data) 6%,transparent)}.cmhost{flex:1;min-height:420px;background:var(--sunk);overflow:auto}.cmhost .cm-editor{min-height:420px}.cmloading{padding:24px;font-family:var(--mono);font-size:12.5px;color:var(--dim)}.pulsewrap{max-width:640px;margin:5vh auto 0}.pulsecard{border:1px solid var(--line-2);border-radius:var(--r3);background:var(--panel);padding:32px 34px;text-align:center}.beat{width:15px;height:15px;border-radius:50%;background:var(--ok);margin:0 auto 16px;animation:beat 1.8s ease-out infinite}@keyframes beat{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 50%,transparent)}70%{box-shadow:0 0 0 15px color-mix(in srgb,var(--ok) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--ok) 0%,transparent)}}.pulsecard h1,.pulsecard h2{margin:0 0 5px;font-weight:550;font-size:22.5px;letter-spacing:-.01em}.pulsecard .up{font-family:var(--sec);font-size:12px;color:var(--dim);margin-bottom:22px}.pulsefeed{text-align:left;display:flex;flex-direction:column;gap:9px;max-height:250px;overflow:auto;padding:4px 2px}.pmsg{display:flex;gap:12px;align-items:baseline;font-size:14.5px;color:var(--ink);animation:rise .3s ease both}.pmsg .pt{font-family:var(--sec);font-size:11.5px;color:var(--dim);flex:none;min-width:56px}.pmsg.dimmed{color:var(--muted)}.pulsenote{margin-top:20px;font-size:13.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:15px;line-height:1.6}.pulsenote b{color:var(--muted)}.page{padding:var(--s6) var(--s7) var(--dockpad);max-width:1080px}.page h1,.page h2{font-size:22.5px;margin:var(--s2) 0 var(--s1);display:flex;align-items:center;gap:8px;font-weight:550}.page .lead{color:var(--muted);font-size:14.5px;max-width:660px;line-height:1.6;margin-bottom:var(--s6)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s5);margin-bottom:var(--s6)}.page-head .lead{margin-bottom:0}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:var(--s3)}.pcard{border:1px solid var(--line);background:var(--panel);border-radius:var(--r2);padding:var(--s4);transition:transform var(--fast),border-color var(--fast)}.pcard:hover{border-color:var(--line-3);transform:translateY(-2px)}.pcard .pe{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;color:var(--muted);background:var(--fill-3);border:1px solid var(--line-2)}.pcard:hover .pe{color:var(--accent-ink)}.pcard h3{font-weight:600;font-size:15.5px;margin:var(--s3) 0 5px;letter-spacing:-.01em}.pcard p{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 var(--s3)}.pcard .tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-family:var(--sec);font-size:11px;padding:2px 9px;border-radius:var(--r-chip);color:var(--muted);border:1px solid var(--line-2)}.pcard.skeleton{opacity:.6;animation:pulse 1.6s infinite}.pcard-top{display:flex;justify-content:space-between;align-items:flex-start}.mine-tag{font-family:var(--sec);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ai-ink);border:1px solid color-mix(in srgb,var(--ai) 32%,transparent);background:var(--ai-weak);padding:2px 8px;border-radius:var(--r-chip)}.pcard.mine{border-color:color-mix(in srgb,var(--ai) 32%,transparent)}.pcard .by{display:flex;align-items:center;gap:5px;font-family:var(--sec);font-size:12px;color:var(--muted);margin:5px 0 var(--s3)}.pcard .by .ic-svg,.pcard .by .dot-sep{color:var(--dim)}.pcard .by .forks{display:inline-flex;align-items:center;gap:3px}.fork-btn{margin-top:var(--s3);width:100%;justify-content:center;border:1px solid var(--line-2);background:transparent;color:var(--ink);border-radius:var(--r-btn);padding:8px;font-weight:500;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:var(--fast)}.fork-btn .ic-svg{color:var(--accent-ink)}.fork-btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--accent-weak)}.int-group{margin-bottom:var(--s6)}.int-group h4{font-size:12.5px;letter-spacing:.02em;color:var(--dim-tag);margin-bottom:var(--s3);font-weight:600}.int-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:var(--s2)}.icard{display:flex;gap:var(--s3);align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:var(--r1);padding:10px 12px;transition:var(--fast)}.icard:hover{border-color:var(--line-3)}.icard .ie{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--muted);background:var(--fill-3);border:1px solid var(--line);flex:none}.icard:hover .ie{color:var(--accent-ink)}.icard .nm{font-weight:500;font-size:14px}.icard .ds{font-size:12.5px;color:var(--dim);line-height:1.35}.dev-actions{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;margin-bottom:var(--s4)}.flashbar{height:5px;border-radius:999px;background:var(--line);overflow:hidden;max-width:560px;margin-bottom:var(--s4)}.flashbar div{height:100%;background:var(--accent);border-radius:999px;transition:width .2s ease}.mon-wrap{max-width:760px;border:1px solid var(--line-2);border-radius:var(--r2);overflow:hidden;background:var(--panel)}.mon-head{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line)}.monitor{height:260px;overflow:auto;padding:10px 14px;font-family:var(--mono);font-size:12.5px;line-height:1.75;color:var(--muted);background:var(--sunk)}.monitor .rb{color:var(--data)}.mon-empty{color:var(--dim);text-align:center;padding-top:90px}.mon-send{border-top:1px solid var(--line)}.mon-send input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:13px;padding:11px 14px}.mon-send input::placeholder{color:var(--dim)}.serial-drawer{max-width:none;margin-top:var(--s5)}.serial-toggle{width:100%;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;font-family:var(--ui);color:var(--ink);text-align:left}.serial-drawer:not(.open) .serial-toggle{border-bottom:0}.serial-toggle:hover{background:var(--hover)}.serial-live{color:var(--data-ink)}.serial-meta{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--dim)}.serial-drawer .mon-send{display:flex;align-items:center;gap:var(--s2);padding-right:14px}.serial-drawer .mon-send input:disabled{cursor:not-allowed}.devmenu-wrap{position:relative}.devmenu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:250px;padding:6px;background:var(--panel-2);border:1px solid var(--line-3);border-radius:var(--r2);box-shadow:var(--shadow-sm);animation:rise .12s ease both}.devmenu-head{padding:8px 10px 9px;font-size:12.5px;color:var(--dim);border-bottom:1px solid var(--line);margin-bottom:4px}.devmenu-note{margin:6px 10px 8px;font-size:13px;line-height:1.5;color:var(--muted)}.devmenu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:var(--r-btn);padding:9px 10px;color:var(--ink);font-family:var(--ui);font-size:14px;cursor:pointer}.devmenu-item .ic-svg{color:var(--accent-ink)}.devmenu-item:hover:not(:disabled){background:var(--accent-weak)}.devmenu-item:disabled{opacity:.55;cursor:default}.usermenu{width:260px}.usermenu-head{display:flex;align-items:center;gap:10px;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.usermenu-head .userbtn{cursor:default;flex:none}.usermenu-id{display:flex;flex-direction:column;min-width:0;line-height:1.35}.usermenu-id b{font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usermenu-id span{font-size:12.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devmenu-item.danger,.devmenu-item.danger .ic-svg{color:var(--danger-ink)}.devmenu-item.danger:hover:not(:disabled){background:var(--danger-weak)}.prodev{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--s3);max-width:920px;margin-top:var(--s5)}.procard{border:1px solid var(--line-2);border-radius:var(--r2);background:var(--panel);padding:15px 17px}.procard h5{margin:0 0 10px;font-family:var(--sec);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim-tag);font-weight:500;display:flex;justify-content:space-between;gap:8px}.procard h5 .demotag{color:var(--warn);letter-spacing:.1em}.regtable{width:100%;border-collapse:collapse;font-family:var(--sec);font-size:12px}.regtable th{text-align:left;color:var(--dim);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:10px;padding:0 10px 7px 0}.regtable td{padding:5px 10px 5px 0;color:var(--muted);border-top:1px solid var(--line)}.regtable td:first-child{color:var(--accent-ink)}.regtable .val{color:var(--ink)}.regtable button{background:none;border:1px solid var(--line);border-radius:var(--r-chip);color:var(--dim);font-family:var(--sec);font-size:10.5px;padding:2px 8px}.regtable button:hover{color:var(--ink);border-color:var(--line-2)}.pwr{display:flex;flex-direction:column;gap:7px}.pwr .row{display:flex;align-items:center;gap:10px;font-family:var(--sec);font-size:12px;color:var(--muted)}.pwr .row .bnm{width:74px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwr .row .bar{flex:1;height:5px;border-radius:999px;background:var(--line);overflow:hidden}.pwr .row .bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}.pwr .row .mA{width:70px;text-align:right;color:var(--ink);flex:none}.pwr .sum{margin-top:8px;font-size:12px;color:var(--warn-ink);font-family:var(--sec);line-height:1.5}.replhint{font-size:13.5px;color:var(--muted);margin:0 0 10px;line-height:1.55}.replhint code{font-family:var(--mono);color:var(--data);font-size:12px}.modal-overlay{position:fixed;inset:0;z-index:80;background:var(--overlay);display:grid;place-items:center;padding:var(--s5);animation:fadein .12s ease both}.modal{width:min(680px,94vw);max-height:86vh;overflow:auto;background:var(--panel-2);border:1px solid var(--line-3);border-radius:20px;box-shadow:var(--shadow);padding:var(--s6);animation:rise .14s ease both}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s5)}.modal-head h2{font-size:19.5px;margin:4px 0 0;display:flex;align-items:center;gap:8px;font-weight:550}.modal-sub{color:var(--muted);font-size:14px;line-height:1.55;margin:6px 0 0;max-width:54ch}.iconbtn{border:1px solid var(--line-2);background:transparent;color:var(--muted);border-radius:var(--r-btn);width:31px;height:31px;flex:none;display:grid;place-items:center;cursor:pointer;transition:var(--fast)}.iconbtn:hover{color:var(--ink);border-color:var(--line-3);background:var(--hover)}.cap-body{display:flex;flex-direction:column;gap:var(--s5)}.cap-group .cap-g-head{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13.5px;color:var(--ink);margin-bottom:var(--s3)}.cap-g-head .ic-svg{color:var(--ai-ink)}.cap-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.cap-item{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;border:1px solid var(--line);background:var(--fill-2);color:var(--ink);border-radius:var(--r-btn);padding:9px 11px;font-family:var(--ui);font-size:13.5px;cursor:pointer;transition:var(--fast)}.cap-item:hover{border-color:color-mix(in srgb,var(--ai) 45%,transparent);background:var(--ai-weak)}.cap-item .cap-go{color:var(--dim);flex:none}.cap-item:hover .cap-go{color:var(--ai-ink)}.pub-form{display:flex;flex-direction:column;gap:var(--s4)}.pub-form .fld{display:flex;flex-direction:column;gap:6px}.pub-form .fld>span{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--dim-tag)}.pub-form input,.pub-form textarea{background:var(--fill-3);border:1px solid var(--line-2);color:var(--ink);border-radius:var(--r-btn);padding:10px 12px;font-family:var(--ui);font-size:14.5px;resize:none;width:100%}.pub-form input:focus,.pub-form textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.emoji-row{display:flex;flex-wrap:wrap;gap:6px}.emoji-row .em{width:37px;height:37px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:var(--fill-2);cursor:pointer;transition:var(--fast);display:grid;place-items:center;color:var(--muted);padding:0}.emoji-row .em:hover{border-color:var(--line-3);color:var(--ink)}.emoji-row .em.on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-ink)}.pub-actions{display:flex;justify-content:flex-end;gap:var(--s2);margin-top:var(--s2)}.report-id{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:12px 12px 12px 18px;border-radius:var(--r-btn);background:var(--fill-3);border:1px solid var(--line-2)}.report-id b{font-family:var(--sec);font-size:22px;font-weight:600;letter-spacing:.06em;color:var(--ink)}.report-err{margin:0;color:var(--danger-ink);font-size:13.5px}.btn.ghost.danger{color:var(--danger-ink)}.btn.ghost.danger:hover{background:var(--danger-weak);color:var(--danger-ink)}.safety-list{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s4)}.safety-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:12px 13px;font-size:14px;line-height:1.5;color:var(--muted);cursor:pointer;transition:var(--fast)}.safety-item:hover{border-color:var(--line-3)}.safety-item.on{border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 5%,transparent);color:var(--ink)}.safety-item input{margin-top:2px;accent-color:var(--ok)}.toasts{position:fixed;bottom:88px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:99;align-items:center}.toast{background:var(--panel-2);border:1px solid var(--line-3);color:var(--ink);padding:10px 18px;border-radius:var(--r-btn);font-size:14px;box-shadow:var(--shadow-sm);animation:rise .16s ease both;max-width:80vw;text-align:center}.cmdk{position:fixed;inset:0;background:var(--overlay);z-index:95;display:grid;place-items:start center;padding-top:14vh;animation:fadein .1s ease both}.cmdk .panel{width:min(560px,92vw);background:var(--glass);border:1px solid var(--line-3);border-radius:16px;overflow:hidden;backdrop-filter:blur(30px);box-shadow:var(--shadow);animation:rise .12s ease both}.cmdk input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:15px 20px;color:var(--ink);font-size:15.5px;outline:none;font-family:var(--ui)}.cmdk input::placeholder{color:var(--dim)}.cmdk .list{max-height:320px;overflow:auto;padding:8px}.cmdk .item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-radius:var(--r-btn);padding:10px 14px;color:var(--muted);font-size:14.5px}.cmdk .item:hover,.cmdk .item.sel{background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--ink)}.cmdk .item .ic-svg{width:15px;height:15px;color:var(--dim)}.cmdk .item .tagk{margin-left:auto;font-family:var(--sec);font-size:10.5px;color:var(--dim);border:1px solid var(--line);border-radius:5px;padding:2px 7px}.cmdk .hint{padding:9px 20px;border-top:1px solid var(--line);font-family:var(--sec);font-size:11px;color:var(--dim);letter-spacing:.08em}.intro{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:auto;padding:56px 16px 28px}.islide{position:relative;z-index:2;width:min(560px,100%);display:flex;flex-direction:column;align-items:center;animation:iin .6s cubic-bezier(.2,.8,.2,1) both}.ivisual{width:100%;display:flex;justify-content:center;margin-bottom:var(--s5)}.ivisual .cg{width:100%}.iboard{width:min(250px,56vw);height:auto;margin:var(--s4) 0;transform:rotate(-4deg);filter:drop-shadow(0 34px 44px var(--img-shadow-strong))}.ititle{font-size:clamp(26px,3.6vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin:0 0 var(--s3)}.itext{font-size:16.5px;line-height:1.6;color:var(--ink-2);max-width:500px;margin:0}.itext b{color:var(--ink);font-weight:600}.inav{position:relative;z-index:2;display:flex;align-items:center;gap:var(--s4);margin-top:var(--s6)}.idots{display:flex;gap:9px}.iskip{position:absolute;top:20px;right:24px;z-index:3}@keyframes iin{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.pieces{display:flex;align-items:center;justify-content:center;gap:var(--s5);flex-wrap:wrap}.piece{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}.piece img{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 6px 10px var(--img-shadow))}.piece.brain img{width:150px;height:150px}.piece figcaption{font-size:13px;color:var(--muted);display:flex;flex-direction:column;line-height:1.3}.piece figcaption b{color:var(--ink);font-weight:600;font-size:14px}.pieces-plus{font-size:30px;color:var(--dim);font-weight:300}.pieces-blocks{display:grid;grid-template-columns:repeat(2,auto);gap:var(--s3) var(--s5)}.desk{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column;overflow:auto}.desk-top{position:sticky;top:0;z-index:3;height:52px;flex:none;display:flex;align-items:center;padding:0 var(--s5);background:var(--chrome);color:var(--ink)}.desk-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16.5px;letter-spacing:-.01em}.desk-brand small{font-family:var(--sec);font-weight:400;font-size:13px;color:var(--muted)}.desk-main{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;box-sizing:border-box;padding:48px 32px 40px;display:flex;flex-direction:column;gap:var(--s6)}.desk-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s5)}.desk-head h1{margin:0 0 10px;font-size:clamp(28px,3.4vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.15}.desk-head p{margin:0;max-width:640px;font-size:17px;line-height:1.55;color:var(--ink-2)}.desk-go{display:flex;align-items:center;gap:var(--s4)}.desk-count{font-family:var(--sec);font-size:15px;color:var(--muted)}.desk-go .btn.lg{min-height:44px;padding:0 20px;font-size:15px;border-radius:var(--r-btn-lg)}.desk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s4)}.desk-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:0 14px 14px;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:var(--r2);background:var(--panel-2);border:1px solid var(--line-2);transition:border-color var(--fast),background var(--fast)}.desk-card:hover{border-color:var(--line-3)}.desk-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.desk-card.on{background:var(--panel);border-color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold-ink)}.desk-card.locked{cursor:default}.desk-pic{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:14px 0 6px;color:var(--muted)}.desk-pic img{max-width:100%;max-height:100%;object-fit:contain;opacity:.55;filter:grayscale(.6);transition:opacity var(--fast),filter var(--fast)}.desk-card.on .desk-pic img{opacity:1;filter:drop-shadow(0 6px 10px var(--img-shadow))}.desk-nm{font-family:var(--sec);font-weight:600;font-size:13.5px;letter-spacing:.04em}.desk-role{font-size:13.5px;line-height:1.35;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.desk-addr{font-family:var(--sec);font-size:12px;color:var(--dim)}.desk-state{margin-top:6px;font-family:var(--sec);font-size:13px;font-weight:600;color:var(--muted)}.desk-card.on .desk-state{color:var(--gold-ink)}.desk-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);font-family:var(--sec);font-size:14px;color:var(--muted)}.desk-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.desk-links .dot-sep{color:var(--dim)}@media(max-width:640px){.desk-main{padding:28px 16px 32px}.desk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.desk-go{width:100%;justify-content:space-between}}.firstuse{display:flex;align-items:flex-start;gap:var(--s4);padding:12px 14px;margin-top:var(--s4);border:1px solid var(--line-2);border-radius:var(--r-btn);background:var(--panel-2);text-align:left;font-size:14px;line-height:1.5;color:var(--ink-2)}.fu-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.fu-k{font-family:var(--sec);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dim-tag)}.fu-body b{color:var(--ink);font-weight:600}.fu-text b{font-weight:600}.fu-ok{flex:none;align-self:center}.firstuse .tour-legend{margin:var(--s2) 0 0}.bhero .firstuse{width:min(640px,100%)}.firstuse.inset{margin:var(--s3) var(--s5) 0}.dash-main .firstuse{margin:0 0 var(--s4)}.revcard .firstuse{margin:var(--s4) 0}.print-wrap{display:grid;grid-template-columns:212px minmax(0,1fr) 300px;min-height:100%;align-items:start}.print-list{position:sticky;top:0;padding:var(--s5) var(--s3) var(--dockpad) var(--s4);display:flex;flex-direction:column;gap:var(--s4);border-right:1px solid var(--line);min-height:100%}.pl-k{font-family:var(--sec);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dim-tag);margin:0 0 4px 8px}.pl-item{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:13.5px;padding:6px 8px;border-radius:var(--r-btn);cursor:pointer;transition:background var(--fast)}.pl-item:hover{background:var(--hover);color:var(--ink)}.pl-item.on{background:var(--fill-3);color:var(--ink);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.pl-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.print-main{padding:var(--s5) var(--s6) var(--dockpad);min-width:0;display:flex;flex-direction:column;gap:var(--s4)}.print-head h1{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.print-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;max-width:720px}.print-fu{margin-top:0}.print-stage{position:relative;border-radius:var(--r2);overflow:hidden;border:1px solid var(--line)}.print-tools{display:flex;align-items:center;gap:var(--s3);padding:8px 10px;background:var(--panel-2);border-bottom:1px solid var(--line);flex-wrap:wrap}.print-tools .grow{flex:1}.print-tools .seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r-btn);overflow:hidden}.print-tools .seg button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;padding:5px 12px;cursor:pointer}.print-tools .seg button.on{background:var(--fill-3);color:var(--ink);font-weight:600}.print-tools .chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.print-bed{font-family:var(--sec);font-size:12px;color:var(--dim)}.print-canvas{height:min(56vh,520px);min-height:300px;background:var(--instrument);position:relative}.print-canvas canvas{display:block;width:100%;height:100%;cursor:grab}.print-canvas canvas:active{cursor:grabbing}.print-canvas[data-nogl]:after{content:"3D preview needs WebGL. Downloads still work.";position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px}.print-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);text-align:center;padding:var(--s5);color:var(--ink-2);font-size:14.5px}.print-empty p{margin:0;max-width:420px}.print-empty .hint{font-size:12.5px;color:var(--muted)}.print-status{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-btn);background:var(--panel-2);border:1px solid var(--line-2);font-family:var(--sec);font-size:12.5px;color:var(--ink-2)}.print-status.err{color:var(--danger-ink);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.pc-gl{position:absolute;inset:0}.print-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.print-canvas .print-status{padding:8px 12px}.print-canvas canvas{transition:opacity .25s ease}.print-canvas:has(.print-status.held) canvas{opacity:.5}.print-verdict{display:flex;flex-direction:column;gap:4px}.pv-line{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;color:var(--ink-2)}.pv-line.ok{color:var(--ok-ink)}.pv-line.bad{color:var(--danger-ink)}.pv-sub{font-size:13px;color:var(--muted)}.pv-est{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--warn-ink)}.pv-est .ic-svg{flex:none;margin-top:2px}.print-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4)}.print-block{border:1px solid var(--line);border-radius:var(--r2);padding:var(--s3) var(--s4);background:var(--panel);font-size:13.5px;line-height:1.5}.print-block .k{display:block;margin-bottom:6px}.print-block ul{margin:0;padding-left:18px;color:var(--ink-2)}.print-block li+li{margin-top:3px}.print-block.warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.print-block:first-child{grid-column:1/-1}.print-parts{width:100%;border-collapse:collapse}.print-parts td{padding:6px 8px 6px 0;border-top:1px solid var(--line);vertical-align:top;color:var(--ink-2)}.print-parts tr:first-child td{border-top:0}.print-parts td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}.print-parts td.num{font-family:var(--sec);white-space:nowrap;color:var(--muted)}.print-parts .role{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:8px;border:1px solid var(--line-3)}.print-parts .role.body{background:var(--print-body)}.print-parts .role.lid{background:var(--print-lid)}.print-parts .role.accent{background:var(--print-accent)}.print-parts .role.light{background:var(--print-light)}.print-block .bad,.ps-block .hint.bad{color:var(--danger-ink)}.print-block.checks{grid-column:1/-1}.print-block.checks summary{cursor:pointer;display:list-item}.print-block.checks ul{list-style:none;padding:0;margin-top:6px;columns:2 320px;column-gap:var(--s5)}.print-block.checks li{break-inside:avoid;display:flex;gap:6px;color:var(--muted);font-size:12.5px}.print-block.checks li.ok .mark{color:var(--ok-ink)}.print-block.checks li.bad{color:var(--danger-ink)}.print-block.checks .mark{flex:none;width:12px;font-weight:700}.print-side{position:sticky;top:0;padding:var(--s5) var(--s4) var(--dockpad);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s4);min-height:100%}.ps-block{display:flex;flex-direction:column;gap:var(--s3)}.ps-block .k{display:block}.ps-block .btn{justify-content:center}.ps-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.ps-field .lbl,.ps-blocks .lbl{font-weight:600;color:var(--ink-2);font-size:13px}.ps-field select,.ps-field input[type=text]{font:inherit;font-size:13.5px;color:var(--ink);background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-btn);padding:7px 10px;min-height:36px}.ps-field select:focus-visible,.ps-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ps-block .hint{font-size:12px;color:var(--muted);line-height:1.45}.range-row{display:flex;align-items:center;gap:10px}.range-row input{flex:1;accent-color:var(--accent)}.range-row .num{font-family:var(--sec);font-size:12.5px;color:var(--ink-2);min-width:62px;text-align:right}.ps-tol{font-family:var(--sec);font-size:12px;color:var(--dim);border-top:1px dashed var(--line-2);padding-top:8px}.ps-check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2)}.ps-blocks{display:flex;flex-direction:column;gap:6px}.ps-blocks .chips{display:flex;flex-wrap:wrap;gap:5px}.ps-blocks .chip{font-family:var(--sec);font-size:12px;padding:2px 8px;border-radius:var(--r-chip);background:var(--fill-3);border:1px solid var(--line);color:var(--ink-2)}.ps-blocks .linkbtn{align-self:flex-start}.print-legal{margin:auto 0 0;padding-top:var(--s3);border-top:1px solid var(--line);font-size:11.5px;line-height:1.5;color:var(--dim)}.print-legal a{color:var(--accent-ink)}@media(max-width:1180px){.print-wrap{grid-template-columns:minmax(0,1fr)}.print-list{position:static;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:var(--s3) var(--s4)}.pl-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pl-k{width:100%;margin:0}.pl-item{width:auto}.print-side{position:static;border-left:0;border-top:1px solid var(--line);min-height:0}}@media(max-width:640px){.print-main{padding:var(--s4) var(--s4) var(--dockpad)}.print-canvas{height:300px}}.about-sec{margin-top:var(--s7)}.about-sec h2{font-size:20px;margin:0 0 var(--s2);display:flex;align-items:center;gap:10px}.about-n{width:28px;height:28px;border-radius:var(--r-chip);display:grid;place-items:center;flex:none;background:var(--accent-weak);color:var(--accent-ink);font-size:14px;font-weight:600}.about-p{color:var(--ink-2);font-size:15.5px;line-height:1.6;max-width:640px;margin:0 0 var(--s4)}.about-p b,.about .lead b{color:var(--ink);font-weight:600}.about .pieces{justify-content:flex-start}.about-guides{display:grid;gap:var(--s4)}.about-guide .cg{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);gap:var(--s5);align-items:center}.about-guide .cg-steps{margin:0;gap:10px}.about-guides.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.about-guides.two .cg{display:block}.about-guides.two .cg-steps{margin-top:var(--s3)}@media(max-width:760px){.about-guide .cg{display:block}.about-guide .cg-steps{margin-top:var(--s3)}}.about-guide{border:1px solid var(--line);background:var(--panel);border-radius:var(--r2);padding:var(--s4)}.about-guide h3,.about-tips h3{font-size:15.5px;font-weight:600;margin:0 0 var(--s3)}.about-note{font-size:13.5px;color:var(--muted);margin:var(--s3) 0 0}.about-tips{margin-top:var(--s4);border:1px solid var(--line);background:var(--panel);border-radius:var(--r2);padding:var(--s4)}.about-tips ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px var(--s5)}.about-tips li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink-2);line-height:1.45}.about-tips li b{color:var(--ink);font-weight:600}.about-tips li .ic-svg{color:var(--warn-ink);margin-top:2px}.about-make{list-style:none;padding:0;margin:0;display:grid;gap:var(--s3)}.about-make li{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:var(--panel);border-radius:var(--r2);padding:var(--s3) var(--s4)}.about-mk-ic{width:34px;height:34px;flex:none;border-radius:var(--r-btn);display:grid;place-items:center;background:var(--accent-weak);color:var(--accent-ink)}.about-make li>div>b{display:block;font-size:15px;font-weight:600;margin-bottom:2px}.about-make li>div>span{font-size:14.5px;color:var(--ink-2);line-height:1.5}.about-make li>div>span b{color:var(--ink);font-weight:600}.about-pro{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s4)}.about-pro>div{border:1px solid var(--line);background:var(--panel);border-radius:var(--r2);padding:var(--s4)}.about-pro h3{font-size:14.5px;font-weight:600;margin:0 0 var(--s3)}.about-pro p{font-size:13.5px;color:var(--muted);line-height:1.6;margin:var(--s3) 0 0}.about-pro p b{color:var(--ink-2)}.about-pro code{font-family:var(--mono);font-size:12.5px}.about-pin{border-collapse:collapse;font-size:13.5px}.about-pin th,.about-pin td{padding:4px 18px 4px 0;text-align:left;border-bottom:1px solid var(--line)}.about-pin th{color:var(--dim);font-weight:500}.about-engine{margin-top:var(--s3);font-size:13.5px;color:var(--muted)}.cg{margin:0}.cg-stage{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s3) var(--s4)}.cg-stage svg{display:block;width:100%;height:auto;overflow:hidden}.cg-pcb{fill:var(--ill-pcb);stroke:var(--ill-pcb-edge);stroke-width:1.5}.cg-pcbfill{fill:var(--ill-pcb)}.cg-disc{fill:var(--gold)}.cg-housing,.cg-plug{fill:var(--ill-housing);stroke:var(--ill-housing-edge);stroke-width:1}.cg-hole{fill:var(--ill-hole)}.cg-metal{fill:var(--ill-metal)}.cg-wire{fill:none;stroke:var(--ill-wire);stroke-width:5;stroke-linecap:round}.cg-data{fill:none;stroke:var(--data);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:3 9}.cg-led{fill:var(--ok);filter:drop-shadow(0 0 4px var(--ok))}.cg-label{fill:var(--muted);font-size:12.5px;font-weight:500}.cg-pop{fill:none;stroke:var(--accent);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}.cg-word{fill:var(--accent-ink);font-size:12.5px;font-weight:600;opacity:0}.cg-ribbon-band{fill:var(--ill-ribbon);stroke:var(--ill-ribbon-edge);stroke-width:.8}.cg-finger{fill:var(--ill-finger)}.cg-lid{fill:var(--ill-pcb-edge);transform-box:fill-box;transform-origin:0% 50%}.cg-screenbar{fill:var(--ill-housing)}.cg-typed{fill:var(--ill-hole);font-size:11px;font-family:var(--mono)}.cg-typeclip{transform-box:fill-box;transform-origin:0% 50%}.cg-upbtn{fill:var(--accent)}.cg-uptext{fill:var(--on-accent);font-size:11px;font-weight:600}.cg-laptop-base{fill:var(--ill-pcb-edge)}.cg-mv-cable{transform:translate(-12px)}.cg-mv-ribbon{transform:translate(-32px)}.cg-steps{list-style:none;margin:var(--s3) 0 0;padding:0;display:grid;gap:7px}.cg-steps li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink-2);line-height:1.45;text-align:left}.cg-steps li b{color:var(--ink);font-weight:600}.cg-steps .n{flex:none;width:22px;height:22px;border-radius:var(--r-chip);display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--accent-weak);color:var(--accent-ink);margin-top:-1px}@media(prefers-reduced-motion:no-preference){.cg-cable .cg-mv-cable{animation:cgCable 7s infinite}.cg-cable .cg-mv-block{animation:cgBlock 7s infinite}.cg-cable .cg-pop1{animation:cgPopA 7s infinite}.cg-cable .cg-word1{animation:cgWordA 7s infinite}.cg-cable .cg-pop2{animation:cgPopB 7s infinite}.cg-cable .cg-word2{animation:cgWordB 7s infinite}.cg-cable .cg-led{animation:cgLedCable 7s infinite}.cg-cable .cg-data{animation:cgDataCable 7s infinite,cgFlow .9s linear infinite}.cg-chain .cg-link1{animation:cgLink1 7s infinite}.cg-chain .cg-link2{animation:cgLink2 7s infinite}.cg-chain .cg-led1{animation:cgLed1 7s infinite}.cg-chain .cg-led2{animation:cgLed2 7s infinite}.cg-chain .cg-data{animation:cgDataChain 7s infinite,cgFlow .9s linear infinite}.cg-ribbon .cg-lid{animation:cgLid 8s infinite}.cg-ribbon .cg-mv-ribbon{animation:cgRibbon 8s infinite}.cg-ribbon .cg-pop1{animation:cgPopOpen 8s infinite}.cg-ribbon .cg-word1{animation:cgWordOpen 8s infinite}.cg-ribbon .cg-pop2{animation:cgPopLock 8s infinite}.cg-ribbon .cg-word2{animation:cgWordLock 8s infinite}.cg-ribbon .cg-led{animation:cgLedRibbon 8s infinite}.cg-usb .cg-mv-usb{animation:cgUsb 8s infinite}.cg-usb .cg-typeclip{animation:cgType 8s infinite}.cg-usb .cg-upbtn{animation:cgUpBtn 8s infinite}.cg-usb .cg-pop1{animation:cgPopUp 8s infinite}.cg-usb .cg-data{animation:cgDataUsb 8s infinite,cgFlow .9s linear infinite}.cg-usb .cg-led{animation:cgLedUsb 8s infinite}.cg-cable .cg-steps li:nth-child(1){animation:cgCap-cable1 7s infinite}.cg-cable .cg-steps li:nth-child(2){animation:cgCap-cable2 7s infinite}.cg-cable .cg-steps li:nth-child(3){animation:cgCap-cable3 7s infinite}.cg-chain .cg-steps li:nth-child(1){animation:cgCap-chain1 7s infinite}.cg-chain .cg-steps li:nth-child(2){animation:cgCap-chain2 7s infinite}.cg-chain .cg-steps li:nth-child(3){animation:cgCap-chain3 7s infinite}.cg-ribbon .cg-steps li:nth-child(1){animation:cgCap-ribbon1 8s infinite}.cg-ribbon .cg-steps li:nth-child(2){animation:cgCap-ribbon2 8s infinite}.cg-ribbon .cg-steps li:nth-child(3){animation:cgCap-ribbon3 8s infinite}.cg-ribbon .cg-steps li:nth-child(4){animation:cgCap-ribbon4 8s infinite}.cg-usb .cg-steps li:nth-child(1){animation:cgCap-usb1 8s infinite}.cg-usb .cg-steps li:nth-child(2){animation:cgCap-usb2 8s infinite}.cg-usb .cg-steps li:nth-child(3){animation:cgCap-usb3 8s infinite}}@keyframes cgCap-cable1{0%,27%{opacity:1}29%,to{opacity:.38}}@keyframes cgCap-cable2{0%,27%{opacity:.38}29%,49%{opacity:1}51%,to{opacity:.38}}@keyframes cgCap-cable3{0%,49%{opacity:.38}51%,95%{opacity:1}97%,to{opacity:.38}}@keyframes cgCap-chain1{0%,29%{opacity:1}31%,to{opacity:.38}}@keyframes cgCap-chain2{0%,29%{opacity:.38}31%,54%{opacity:1}56%,to{opacity:.38}}@keyframes cgCap-chain3{0%,54%{opacity:.38}56%,95%{opacity:1}97%,to{opacity:.38}}@keyframes cgCap-ribbon1{0%,15%{opacity:1}17%,to{opacity:.38}}@keyframes cgCap-ribbon2{0%,15%{opacity:.38}17%,45%{opacity:1}47%,to{opacity:.38}}@keyframes cgCap-ribbon3{0%,45%{opacity:.38}47%,63%{opacity:1}65%,to{opacity:.38}}@keyframes cgCap-ribbon4{0%,63%{opacity:.38}65%,95%{opacity:1}97%,to{opacity:.38}}@keyframes cgCap-usb1{0%,21%{opacity:1}23%,to{opacity:.38}}@keyframes cgCap-usb2{0%,21%{opacity:.38}23%,51%{opacity:1}53%,to{opacity:.38}}@keyframes cgCap-usb3{0%,51%{opacity:.38}53%,95%{opacity:1}97%,to{opacity:.38}}@keyframes cgFlow{to{stroke-dashoffset:-24}}@keyframes cgCable{0%{transform:translateY(-36px);opacity:0}10%,20%{transform:translate(0);opacity:1}28%,90%{transform:translate(-12px);opacity:1}97%,to{transform:translate(-12px);opacity:0}}@keyframes cgBlock{0%,36%{transform:translate(24px)}48%,90%{transform:none}to{transform:translate(24px)}}@keyframes cgPopA{0%,27%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(.7)}42%,to{opacity:0;transform:scale(1.6)}}@keyframes cgWordA{0%,27%{opacity:0}30%,42%{opacity:1}47%,to{opacity:0}}@keyframes cgPopB{0%,47%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(.7)}62%,to{opacity:0;transform:scale(1.6)}}@keyframes cgWordB{0%,47%{opacity:0}50%,64%{opacity:1}69%,to{opacity:0}}@keyframes cgLedCable{0%,54%{fill:var(--ill-led-off);filter:none}58%,92%{fill:var(--ok);filter:drop-shadow(0 0 4px var(--ok))}to{fill:var(--ill-led-off);filter:none}}@keyframes cgDataCable{0%,56%{opacity:0}60%,90%{opacity:1}96%,to{opacity:0}}@keyframes cgLink1{0%,5%{opacity:0;transform:translateY(-14px)}14%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:none}}@keyframes cgLink2{0%,32%{opacity:0;transform:translateY(-14px)}42%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:none}}@keyframes cgLed1{0%,18%{fill:var(--ill-led-off);filter:none}22%,92%{fill:var(--ok);filter:drop-shadow(0 0 4px var(--ok))}to{fill:var(--ill-led-off);filter:none}}@keyframes cgLed2{0%,46%{fill:var(--ill-led-off);filter:none}50%,92%{fill:var(--ok);filter:drop-shadow(0 0 4px var(--ok))}to{fill:var(--ill-led-off);filter:none}}@keyframes cgDataChain{0%,56%{opacity:0}60%,90%{opacity:1}96%,to{opacity:0}}@keyframes cgLid{0%,8%{transform:none}15%,50%{transform:rotate(-70deg)}58%,to{transform:none}}@keyframes cgRibbon{0%{transform:translate(44px);opacity:0}6%,18%{transform:translate(44px);opacity:1}38%,90%{transform:translate(-32px);opacity:1}97%,to{transform:translate(-32px);opacity:0}}@keyframes cgPopOpen{0%,12%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(.7)}26%,to{opacity:0;transform:scale(1.6)}}@keyframes cgWordOpen{0%,12%{opacity:0}15%,32%{opacity:1}36%,to{opacity:0}}@keyframes cgPopLock{0%,56%{opacity:0;transform:scale(.4)}59%{opacity:1;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.6)}}@keyframes cgWordLock{0%,56%{opacity:0}59%,74%{opacity:1}78%,to{opacity:0}}@keyframes cgLedRibbon{0%,62%{fill:var(--ill-led-off);filter:none}66%,92%{fill:var(--ok);filter:drop-shadow(0 0 4px var(--ok))}to{fill:var(--ill-led-off);filter:none}}@keyframes cgUsb{0%{transform:translate(-14px);opacity:0}6%,10%{transform:translate(-14px);opacity:1}20%,92%{transform:none;opacity:1}98%,to{transform:none;opacity:0}}@keyframes cgType{0%,24%{transform:scaleX(0)}48%,94%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes cgUpBtn{0%,54%{fill:var(--accent)}56%,62%{fill:var(--accent-press)}66%,to{fill:var(--accent)}}@keyframes cgPopUp{0%,54%{opacity:0;transform:scale(.4)}57%{opacity:1;transform:scale(.8)}68%,to{opacity:0;transform:scale(1.8)}}@keyframes cgDataUsb{0%,58%{opacity:0}62%,90%{opacity:1}96%,to{opacity:0}}@keyframes cgLedUsb{0%,64%{fill:var(--ill-led-off);filter:none}68%,92%{fill:var(--ok);filter:drop-shadow(0 0 4px var(--ok))}to{fill:var(--ill-led-off);filter:none}}.checkcard .ckk{display:block;margin:22px 0 10px}.readas{display:flex;gap:12px;align-items:flex-start;margin:14px 0 4px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--ai) 24%,transparent);background:var(--ai-weak);border-radius:14px}.readas.unsure{border-color:color-mix(in srgb,var(--warn) 32%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.readas>div{flex:1;min-width:0}.readas .k{display:block;margin-bottom:4px}.readas p{margin:0;font-size:16.5px;line-height:1.45;color:var(--ink)}.readas .btn.small{flex:none;font-size:13.5px;padding:7px 11px}.qbox{margin:20px 0 6px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--fill-1)}.qrow{margin-top:14px}.qrow:first-of-type{margin-top:10px}.qq{font-size:16.5px;color:var(--ink);margin-bottom:3px}.qw{font-size:13.5px;color:var(--dim);margin-bottom:9px}.qopts{display:flex;flex-wrap:wrap;gap:8px}.qopt{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:9px 13px;border-radius:var(--r-btn);border:1px solid var(--line);background:var(--fill-1);color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s;max-width:230px}.qopt:hover{border-color:var(--line-3);color:var(--ink)}.qopt b{font-size:14.5px;font-weight:500;color:inherit}.qopt span{font-size:12.5px;color:var(--dim);line-height:1.35}.qopt.on{border-color:var(--accent);background:var(--accent-weak);color:var(--ink)}.qopt.on span{color:var(--muted)}.qopt.auto{border-style:dashed}.qfoot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.ckblocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.ckblock{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--fill-1);position:relative}.ckblock.tobuy{border-color:color-mix(in srgb,var(--warn) 32%,transparent)}.ckblock img{width:42px;height:42px;object-fit:contain;flex:none}.ckic{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--fill-3);color:var(--muted);flex:none}.ckb-t{min-width:0;display:flex;flex-direction:column;gap:2px}.ckb-t b{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--ink)}.ckb-t span{font-size:13px;color:var(--dim);line-height:1.35}.ckb-tag{font-style:normal;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--amber)}.ckhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 10px}.ckhint{font-size:13px;color:var(--dim)}.ckfull{margin-top:10px}.ckblock:has(.ckb-x){padding-right:40px}.ckb-x{position:absolute;top:6px;right:6px;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r-btn);border:1px solid transparent;background:none;color:var(--dim);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.ckb-x:hover,.ckb-x:focus-visible{color:var(--accent-ink);border-color:var(--line-3);background:var(--fill-2)}.ckadd{border-style:dashed;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s}.ckadd:hover,.ckadd.on{border-color:var(--accent);background:var(--accent-weak)}.ckadd .ckic{color:var(--accent-ink)}.ckpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--fill-1)}.ckpick-b{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 11px;border-radius:var(--r-btn);border:1px solid var(--line);background:var(--fill-1);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.ckpick-b:hover,.ckpick-b:focus-visible{border-color:var(--accent);background:var(--accent-weak)}.ckpick-b b{font-size:13.5px;font-weight:600;letter-spacing:.02em}.ckpick-b b .bswatch{margin-right:6px}.ckpick-b span{font-size:12.5px;color:var(--dim);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qbox.looks .k{display:block;margin-bottom:10px}.qbox.looks .qopt b{display:flex;align-items:center;gap:6px}.qbox.looks .qopt:disabled{opacity:.5;cursor:not-allowed;border-color:var(--line);color:var(--muted)}.looks-foot{margin:11px 0 0;font-size:13.5px;color:var(--dim);line-height:1.45}.yourbuild{margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--fill-1)}.yourbuild .k{display:flex;align-items:center;gap:6px;color:var(--cyan)}.yourbuild .linkbtn{display:inline-flex;align-items:center;gap:6px;margin-top:10px}.yb-lead{margin:8px 0;font-size:14.5px;color:var(--muted);line-height:1.5}.yourbuild ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.yourbuild li{font-size:15px;color:var(--ink);line-height:1.45}.yb-foot{margin:11px 0 0;font-size:13.5px;color:var(--dim);line-height:1.45}.ideabox{margin-top:18px;padding:13px 15px;border:1px dashed var(--line-2,var(--line));border-radius:13px;background:var(--fill-1)}.ideabox.ask{display:flex;align-items:center;gap:9px;width:100%;text-align:left;cursor:pointer;color:var(--muted);font-size:14px;transition:border-color .15s,color .15s}.ideabox.ask:hover{border-color:var(--line-3);color:var(--ink)}.ideabox.ask b{color:var(--ink);font-weight:500}.ideabox.done{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ok);border-style:solid;border-color:color-mix(in srgb,var(--ok) 28%,transparent)}.idea-lead{margin:7px 0 10px;font-size:14px;color:var(--dim);line-height:1.45}.idearow{display:flex;gap:8px;flex-wrap:wrap}.idearow input{flex:1;min-width:220px;padding:10px 13px;border-radius:var(--r-btn);border:1px solid var(--line);background:var(--inset);color:var(--ink);font:inherit;font-size:14.5px}.idearow input:focus{outline:none;border-color:var(--accent)}.idea-note{margin-top:9px;font-size:13px;color:var(--dim)}.idea-note b{color:var(--muted);font-weight:400}.assume{margin-top:18px}.assume ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.assume li{font-size:14px;color:var(--muted);line-height:1.45}.warnbox.soft{border-color:var(--track);background:var(--fill-2)}.readback{font-size:14px;color:var(--dim);margin:-4px 0 12px}.readback b{color:var(--muted);font-weight:400}.vstrip{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 2px}.vchip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;padding:4px 9px;border-radius:var(--r-chip);border:1px solid var(--line);color:var(--dim);background:var(--fill-1)}.vchip.good{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.vchip.bad{color:var(--amber);border-color:color-mix(in srgb,var(--warn) 32%,transparent)}.vchip.busy{color:var(--ai);border-color:color-mix(in srgb,var(--ai) 30%,transparent)}@media(prefers-reduced-motion:no-preference){.vchip.busy{animation:vbusy 1.6s ease-in-out infinite}}@keyframes vbusy{50%{opacity:.55}}.gate{position:fixed;inset:0;z-index:120;background:var(--bg);display:grid;place-items:center;text-align:center;overflow:auto;padding:24px}.gate-splash{position:fixed;inset:0;z-index:120;background:var(--bg);display:grid;place-items:center}.gcontent{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:480px;animation:iin .8s cubic-bezier(.2,.8,.2,1) both}.gboard{width:min(180px,40vw);height:auto;margin-bottom:26px;transform:rotate(-4deg);filter:drop-shadow(0 26px 36px var(--img-shadow-strong));animation:gfloat 6.5s ease-in-out infinite}@keyframes gfloat{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-7px)}}@media(prefers-reduced-motion:reduce){.gboard{animation:none}}.glock{display:flex;flex-direction:column;align-items:center;gap:7px;margin-bottom:20px}.glock .logotype{display:block;opacity:.97}.glock span{font-family:var(--sec);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-indent:.2em}.glead{font-size:15px;max-width:46ch}.gtag{display:inline-flex;align-items:center;gap:6px;font-family:var(--sec);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);border:1px solid var(--track);background:var(--fill-2);border-radius:var(--r-chip);padding:5px 11px;margin-bottom:20px}.ghead{margin:0 0 12px;font-size:clamp(24px,3.4vw,34px);font-weight:500;letter-spacing:-.026em;color:var(--ink)}.gsub{margin:0 0 26px;font-size:15.5px;line-height:1.55;color:var(--muted)}.gmail{color:var(--ink);font-weight:500}.grow2{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.grow2 .btn{font-size:15.5px;padding:12px 22px;border-radius:var(--r-btn-lg);text-decoration:none}.gfoot{margin:26px 0 0;font-size:13.5px;color:var(--dim)}.gfoot a{color:var(--muted)}.gnote{margin-top:10px;max-width:52ch;margin-left:auto;margin-right:auto;font-size:12.5px;line-height:1.5}.gerr{display:flex;align-items:center;gap:7px;margin:20px 0 0;font-size:14px;color:var(--amber);text-align:left;line-height:1.45}.tour-overlay{z-index:90}.modal.tour{width:min(480px,94vw);text-align:left}.tour-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--ai-ink);background:var(--ai-weak);border:1px solid color-mix(in srgb,var(--ai) 28%,transparent);margin-bottom:var(--s3)}.modal.tour h2{font-size:19.5px;margin:var(--s2) 0 var(--s2)}.tour-body{color:var(--muted);font-size:14.5px;line-height:1.65;margin:0 0 var(--s4)}.tour-body b{color:var(--ink);font-weight:600}.tour-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:var(--s4);font-family:var(--sec);font-size:12px;color:var(--muted)}.tour-legend span{display:flex;align-items:center;gap:7px}.ld{width:7px;height:7px;border-radius:50%;flex:none}.ld.ok{background:var(--ok);box-shadow:0 0 5px color-mix(in srgb,var(--ok) 70%,transparent)}.ld.blue{background:var(--accent)}.ld.amber{background:var(--warn)}.ld.grey{background:var(--dim-tag)}.tour-dots{display:flex;gap:7px;margin:var(--s2) 0 var(--s4)}.tdot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:var(--line-3);cursor:pointer;transition:var(--fast)}.tdot.on{background:var(--accent);transform:scale(1.25)}.tdot.done{background:color-mix(in srgb,var(--accent) 45%,transparent)}.tour-actions{display:flex;align-items:center;gap:var(--s2)}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{opacity:1}50%{opacity:.3}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:1480px){.enginechip,.previewchip{display:none}}@media(max-width:1400px){.fwchip,.btn.ghost .lbl-up,.device-chip .lbl{display:none}.topbar{gap:var(--s2);padding:0 var(--s4)}}@media(max-width:1080px){.topbar{gap:6px}.grid{grid-template-columns:repeat(2,1fr)}.dash-wrap{grid-template-columns:1fr}.palette{display:none}.bwrap{padding:0 var(--s4) var(--dockpad)}.cnode{width:104px}.cline{width:70px}}@media(max-width:1000px){.proj,.kbtn,.themebtn,.probtn{display:none}}@media(max-width:760px){.device-chip .lbl,.lbl-up,.fwchip,.brand small,.brand .brand-full{display:none}.topbar .btn{padding:7px 9px}.brand .brand-compact{display:block}.topbar{padding:0 var(--s3);gap:6px}.rail button{min-width:44px;padding:8px 9px}.rail button .dl{display:none}.grid{grid-template-columns:1fr}.wslot.w2{grid-column:span 1}.page{padding:var(--s5) var(--s4) var(--dockpad)}.page-head{flex-direction:column;align-items:flex-start;gap:var(--s4)}.modal{width:94vw;max-height:88vh}}@media(max-width:360px){.topbar{gap:var(--s1);padding:0 var(--s2)}.topbar .btn{padding:7px}}.rw-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 var(--s4)}.rw-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:var(--panel);color:var(--muted);font-size:14.5px}.rw-tab.on{background:var(--accent-weak);border-color:var(--accent);color:var(--accent-ink)}.rw-spacer{flex:1}.rw-sort{padding:6px 10px;border-radius:var(--r-btn);border:0;background:transparent;color:var(--dim);font-size:14px}.rw-sort.on{color:var(--ink);background:var(--panel-2)}.rw-contest{display:flex;gap:var(--s5);align-items:center;background:var(--panel);border:1px solid var(--warn);border-radius:var(--r3);padding:var(--s4) var(--s5);margin-bottom:var(--s5)}.rw-contest-when{font-size:12.5px;letter-spacing:.1em;color:var(--warn);white-space:nowrap}.rw-contest-main{flex:1;min-width:0}.rw-contest-main h2{font-size:17.5px;margin:0 0 2px}.rw-contest-main p{margin:0 0 8px;color:var(--muted);font-size:14.5px}.rw-prizes{display:flex;gap:6px;flex-wrap:wrap}.rw-prizes span{font-size:12.5px;border:1px solid var(--line-2);border-radius:var(--r-chip);padding:2px 9px;color:var(--muted)}.rw-prizes span:first-child{border-color:var(--gold-ink);color:var(--gold-ink)}.rw-layout{display:grid;grid-template-columns:1fr 250px;gap:var(--s5);align-items:start}.rw-grid{margin:0}.rw-side{display:flex;flex-direction:column;gap:var(--s4);position:sticky;top:76px}.rw-panel{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r2);padding:var(--s4)}.rw-dim{color:var(--dim);font-size:13.5px;margin:6px 0 0}.rw-leader{list-style:none;margin:8px 0 10px;padding:0;font-size:14px}.rw-leader li{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--line);color:var(--muted)}.rw-leader li:last-child{border-bottom:0}.rw-leader li.you{color:var(--gold-ink)}.rw-leader li b{font-weight:600}.rw-tokens{font-size:13px;color:var(--dim);margin-top:6px}.rw-tokens b{color:var(--gold-ink)}.rw-how{list-style:none;margin:8px 0;padding:0;font-size:13.5px;color:var(--muted)}.rw-how li{padding:4px 0;border-bottom:1px solid var(--line)}.rw-how li:last-child{border-bottom:0}.rw-how b{color:var(--gold-ink);font-weight:600;display:inline-block;min-width:34px}.rw-layout.solo{grid-template-columns:1fr}.rw-grid{grid-template-columns:repeat(auto-fill,minmax(264px,1fr))}.rw-card{position:relative;padding:0;overflow:hidden;display:flex;flex-direction:column}.rw-card.rw-skel{cursor:default}.rw-card.rw-skel:hover{transform:none;border-color:var(--line)}.rw-skel .rw-skel-cover{aspect-ratio:4/3;border-radius:0;border-bottom:1px solid var(--line)}.rw-loading{justify-content:flex-start;margin-top:6px}.itemd-loading{justify-content:flex-start;margin:2px 0}.rw-cover{position:relative;aspect-ratio:4/3;background:var(--panel-2);border-bottom:1px solid var(--line)}.rw-cover img{width:100%;height:100%;object-fit:cover;display:block}.rw-cover-plate{width:100%;height:100%;display:grid;place-items:center;color:var(--dim);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;background-position:center}.rw-cover-plate .ic-svg{padding:14px;box-sizing:content-box;border-radius:var(--r-btn-lg);background:var(--panel);border:1px solid var(--line-2)}.rw-cover-tags{position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap}.rw-ctag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:var(--r-chip);background:var(--scrim);color:var(--on-scrim)}.rw-ctag.ok .ic-svg{color:var(--ok)}.rw-ctag-mine{position:absolute;right:10px;top:10px}.rw-ctag-count{position:absolute;right:10px;bottom:10px;font-weight:500}.rw-body{display:flex;flex-direction:column;flex:1;padding:var(--s3) var(--s4) var(--s4)}.rw-card h3{margin:0 0 6px}.rw-maker{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--dim);margin-bottom:6px}.rw-maker .dot-sep{color:var(--dim)}.rw-avatar{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:11px;font-weight:600;color:var(--muted);background:var(--fill-3);border:1px solid var(--line-2)}.rw-maker-name{color:var(--muted);font-weight:500}.rw-avatar.robo{background:transparent;border:0;color:var(--gold)}.rw-robo{font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:1px 6px;border-radius:var(--r-chip);background:var(--gold);color:var(--on-gold);line-height:1.5}.rw-card.official{border-color:color-mix(in srgb,var(--gold-ink) 38%,transparent)}.rw-edit{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:var(--panel-2);color:var(--muted);font-size:13.5px}.rw-edit:hover{border-color:var(--line-3);color:var(--ink)}.rw-more{grid-column:1/-1;display:flex;justify-content:center;padding:var(--s3) 0}.rw-card p.rw-blurb{margin:2px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rw-stats{display:flex;gap:12px;align-items:center;font-size:12.5px;color:var(--dim);margin:6px 0 2px}.rw-stats span{display:inline-flex;align-items:center;gap:4px}.rw-stats .hw{color:var(--ok)}.rw-lineage{font-size:13px;color:var(--dim);margin:2px 0}.rw-lineage b{color:var(--muted);font-weight:600}.rw-blocks{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0}.rw-bchip{font-family:var(--sec);font-size:11.5px;padding:2px 7px;border-radius:6px;border:1px solid var(--line-2);color:var(--muted)}.rw-bchip.need{border-color:var(--warn);color:var(--warn)}.rw-missing{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}.rw-miss{display:inline-flex;align-items:center;gap:5px;font-family:var(--sec);font-size:11.5px;color:var(--ink-2);padding:2px 3px 2px 7px;border-radius:var(--r-chip);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-weak)}.rw-miss>.ic-svg{color:var(--danger);flex:none}.rw-miss a{display:grid;place-items:center;width:22px;height:20px;border-radius:5px;color:var(--ok);text-decoration:none}.rw-miss a:hover{background:var(--ok-weak);color:var(--ok-ink)}.rw-actions{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:8px}.rw-actions .fork-btn{margin-top:0;flex:1}.rw-remix{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:var(--r-btn);border:1px solid var(--ai);background:var(--ai-weak);color:var(--ai-ink);font-size:14px;font-weight:600}.rw-boost{display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:var(--panel-2);color:var(--muted);font-size:13.5px}.rw-boost:hover{border-color:var(--gold-ink);color:var(--gold-ink)}.fld-hint{font-style:normal;color:var(--dim);font-weight:400;font-size:12.5px;margin-left:6px}.pub-cover{position:relative;aspect-ratio:16/9;border-radius:var(--r2);overflow:hidden;border:1.5px dashed var(--line-3);background:var(--fill-2);transition:border-color var(--fast),background var(--fast)}.pub-cover:not(.has):hover,.pub-cover.drag{border-color:var(--accent);background:var(--accent-weak)}.pub-cover.has{border-style:solid;border-color:var(--line-2)}.pub-cover.has.drag{border-color:var(--accent)}.pub-cover>img{width:100%;height:100%;object-fit:cover;display:block}.pub-cover-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-align:center;padding:var(--s4)}.pub-cover-empty b{font-size:15px;font-weight:600;color:var(--ink)}.pub-cover-empty>span:last-child{font-size:13px;color:var(--dim)}.pub-cover-ic{width:48px;height:48px;border-radius:var(--r-btn-lg);display:grid;place-items:center;margin-bottom:4px;background:var(--accent-weak);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.pub-cover.busy .pub-cover-empty{pointer-events:none;opacity:.7}.pub-cover-bar{position:absolute;right:10px;bottom:10px;display:flex;gap:6px}.pub-cover-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:var(--r-btn);border:0;background:var(--scrim);color:var(--on-scrim);font-family:var(--ui);font-size:13px;font-weight:500;cursor:pointer}.pub-cover-busy{position:absolute;inset:0;display:grid;place-items:center;background:var(--scrim);color:var(--on-scrim);font-size:14px;font-weight:500}.pub-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.pub-thumb{position:relative;width:96px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--line-2)}.pub-thumb-img{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}.pub-thumb-img img{width:100%;height:100%;object-fit:cover;display:block}.pub-thumb-x{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:0;background:var(--scrim);color:var(--on-scrim);display:grid;place-items:center;padding:0}.pub-add{width:96px;height:64px;border-radius:8px;border:1px dashed var(--line-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--dim);font-size:12px;cursor:pointer}.pub-add:hover{border-color:var(--accent);color:var(--accent-ink)}.pub-add.busy{opacity:.6;pointer-events:none}.rw-card{cursor:pointer}.rw-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal.wide{width:min(1080px,96vw);padding:0;overflow:hidden;display:flex}.itemd{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);width:100%;max-height:86vh}.itemd-gallery{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:var(--s4);gap:var(--s3);min-height:0}.itemd-main{position:relative;flex:1;min-height:300px;border-radius:var(--r2);background:var(--fill-2);display:grid;place-items:center;overflow:hidden}.itemd-main img{width:100%;height:100%;max-height:64vh;object-fit:contain;display:block}.itemd-plate{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--dim);font-size:13px}.itemd-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:var(--glass);color:var(--ink);display:grid;place-items:center;cursor:pointer}.itemd-nav:hover{border-color:var(--line-3)}.itemd-nav.prev{left:10px}.itemd-nav.prev .ic-svg{transform:rotate(180deg)}.itemd-nav.next{right:10px}.itemd-count{position:absolute;bottom:10px;right:12px;font-size:12px;padding:2px 8px;border-radius:var(--r-chip);background:var(--glass);color:var(--muted)}.itemd-thumbs{display:flex;gap:8px;overflow-x:auto;flex:none;padding-bottom:2px}.itemd-thumb{width:64px;height:48px;flex:none;padding:0;border-radius:8px;overflow:hidden;border:2px solid transparent;background:var(--fill-2);cursor:pointer;opacity:.7}.itemd-thumb:hover{opacity:1}.itemd-thumb.on{border-color:var(--accent);opacity:1}.itemd-thumb img{width:100%;height:100%;object-fit:cover;display:block}.itemd-body{position:relative;padding:var(--s6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s2)}.itemd-close{position:absolute;top:var(--s4);right:var(--s4)}.itemd-body h2{font-size:22px;margin:0 44px 2px 0;font-weight:600;letter-spacing:-.01em}.itemd-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}.itemd-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);border:1px solid var(--line-2);border-radius:var(--r-chip);padding:3px 9px}.itemd-chip.ok{color:var(--ok-ink);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.itemd-lead{font-size:15.5px;color:var(--ink);line-height:1.55;margin:6px 0 2px}.itemd-story p{font-size:14.5px;color:var(--ink-2);line-height:1.65;margin:0 0 10px;white-space:pre-line}.itemd-dim{font-size:13.5px;color:var(--dim);margin:0}.itemd-sec{margin-top:var(--s3);display:flex;flex-direction:column;gap:8px}.itemd-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:auto;padding-top:var(--s5)}@media(max-width:860px){.modal.wide{overflow:auto}.itemd{grid-template-columns:1fr;max-height:none}.itemd-gallery{border-right:0;border-bottom:1px solid var(--line)}.itemd-main{min-height:220px}}.cons-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cons-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:10px 12px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:var(--panel);color:var(--muted);cursor:pointer;font-size:12.5px;line-height:1.35}.cons-opt b{color:var(--ink);font-size:14px;font-weight:600}.cons-opt:hover{border-color:var(--line-3)}.cons-opt.on{border-color:var(--accent);background:var(--accent-weak);color:var(--ink-2)}.cons-opt.on .ic-svg{color:var(--accent-ink)}@media(max-width:560px){.cons-pick{grid-template-columns:1fr}}.model-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.model-list li{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--panel);font-size:13.5px}.model-list li>.ic-svg{color:var(--dim);flex:none}.model-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.model-size{color:var(--dim);font-size:12px}.model-dl{padding:5px 10px;font-size:13px;text-decoration:none}.model-dl .ic-svg{transform:rotate(180deg)}.pub-add.model-add{width:auto;height:auto;flex-direction:row;padding:10px 14px;gap:8px;font-size:13px;margin-top:6px}@media(max-width:900px){.rw-layout{grid-template-columns:1fr}.rw-side{position:static;flex-direction:row}.rw-side .rw-panel{flex:1}.rw-contest{flex-direction:column;align-items:flex-start;gap:var(--s3)}}.scanbtn{font-family:var(--ui);display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:6px 12px;border-radius:var(--r-btn);border:1px solid var(--accent);background:var(--accent-weak);color:var(--accent-ink);font-size:13.5px;font-weight:600;white-space:nowrap}.scanbtn:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.scanbtn:disabled{opacity:.7;cursor:default}.scanline.bare .scanbtn{margin-left:0}.scanline.bare{margin-top:var(--s5)}.uphud{position:fixed;right:18px;bottom:86px;z-index:60;display:flex;gap:12px;align-items:flex-start;width:min(340px,calc(100vw - 36px));padding:13px 14px;border-radius:var(--r2);background:var(--elev);border:1px solid var(--accent);box-shadow:var(--shadow);animation:hudin .18s ease-out}@keyframes hudin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.uphud{animation:none}}.uphud.done{border-color:var(--ok)}.uphud.error{border-color:var(--danger)}.uphud-ic{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--accent-weak);color:var(--accent-ink)}.uphud.done .uphud-ic{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.uphud.error .uphud-ic{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.uphud-ic.spin svg{animation:hudspin 1.6s linear infinite}@keyframes hudspin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.uphud-ic.spin svg{animation:none}}.uphud-body{flex:1;min-width:0}.uphud-title{font-weight:600;font-size:14.5px}.uphud-title .num{color:var(--accent-ink);font-weight:600}.uphud.done .uphud-title .num{color:var(--ok)}.uphud-msg{color:var(--muted);font-size:13.5px;margin:2px 0 8px;overflow-wrap:break-word}.uphud-bar{height:4px;border-radius:999px;background:var(--panel-2);overflow:hidden}.uphud-bar i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease}.uphud.done .uphud-bar i{background:var(--ok)}.uphud.error .uphud-bar i{background:var(--danger)}.uphud-bar i.flow{animation:hudflow 1.4s ease-in-out infinite;width:40%}@keyframes hudflow{0%{margin-left:-40%}to{margin-left:100%}}@media(prefers-reduced-motion:reduce){.uphud-bar i.flow{animation:none;width:100%}}.uphud-x{flex:none;width:22px;height:22px;border-radius:6px;border:0;background:transparent;color:var(--dim);display:grid;place-items:center;padding:0}.uphud-x:hover{color:var(--ink);background:var(--panel-2)}.serialfeed{height:170px;max-height:170px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r1);padding:6px 10px}.scan-grid{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:14px auto 0;max-width:680px}.scan-tile{display:flex;flex-direction:column;align-items:center;gap:3px;width:92px;padding:10px 6px 8px;background:var(--panel);border:1px solid var(--ok);border-radius:var(--r2)}.scan-tile img{width:56px;height:56px;object-fit:contain}.scan-icf{width:56px;height:56px;display:grid;place-items:center;color:var(--muted)}.scan-nm{font-size:12px;font-weight:600;letter-spacing:.02em}.scan-addr{font-size:11.5px;color:var(--data)}.scanbtn.ghosted{border-color:var(--line-2);background:var(--panel);color:var(--muted)}.scanbtn.ghosted:hover{border-color:var(--line-3);color:var(--ink)}.kit-tools{display:flex;align-items:center;gap:8px;margin:4px 0 12px;font-size:13.5px}.kit-count{margin-left:auto;color:var(--dim);font-size:13px}.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;max-height:52vh;overflow-y:auto;padding:2px}.kit-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;border-radius:var(--r2);border:1px solid var(--line-2);background:var(--panel);cursor:pointer;opacity:.55;transition:opacity .12s,border-color .12s}.kit-tile:hover{border-color:var(--line-3)}.kit-tile.on{opacity:1;border-color:var(--ok)}.kit-tile.locked{cursor:default}.kit-tile img{width:60px;height:60px;object-fit:contain}.kit-icf{width:60px;height:60px;display:grid;place-items:center;color:var(--muted)}.kit-nm{font-size:12px;font-weight:600}.kit-addr{font-size:11.5px;color:var(--dim)}.kit-tick{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:6px;border:1px solid var(--line-3);display:grid;place-items:center;color:transparent;background:var(--panel-2)}.kit-tick.on{background:var(--ok);border-color:var(--ok);color:var(--on-ok)}.keypick{margin-left:8px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:7px;color:var(--data);font-size:12px;padding:2px 6px;max-width:130px;font-family:var(--mono)}.keypick:focus{outline:none;border-color:var(--accent)}:root:not([data-theme=dark]) .widget,:root:not([data-theme=dark]) .blockcard,:root:not([data-theme=dark]) .pcard,:root:not([data-theme=dark]) .icard,:root:not([data-theme=dark]) .kit-tile,:root:not([data-theme=dark]) .scan-tile,:root:not([data-theme=dark]) .procard,:root:not([data-theme=dark]) .mp-card,:root:not([data-theme=dark]) .rw-panel,:root:not([data-theme=dark]) .rw-tab,:root:not([data-theme=dark]) .mon-wrap,:root:not([data-theme=dark]) .pulsecard,:root:not([data-theme=dark]) .revcard,:root:not([data-theme=dark]) .device-chip,:root:not([data-theme=dark]) .aibar{box-shadow:0 1px 2px var(--img-shadow)}:root:not([data-theme=dark]) .cmdbar{box-shadow:var(--shadow-sm)}:root:not([data-theme=dark]) .switch:after,:root:not([data-theme=dark]) .probtn .knob:after{box-shadow:0 1px 2px var(--img-shadow)}:root:not([data-theme=dark]) .boot-splash .mark.big{box-shadow:inset 0 0 0 1px var(--line-2)}
