:root,:root[data-theme=dark]{--bg:#0e1116;--bg-2:#141920;--bg-3:#1a212a;--bg-4:#212a35;--line:#263039;--line-strong:#35424f;--text:#e7ecf3;--text-2:#b9c4d1;--muted:#8c99a8;--faint:#6b7787;--accent:#5093ff;--on-accent:#fff;--accent-bg:#16294a;--ok:#46c68a;--ok-bg:#102d22;--warn:#e3a63c;--warn-bg:#32260f;--danger:#f0634f;--danger-bg:#3a1a16;--info:#5cb8db;--info-bg:#102a34;--sim:#a98bff;--sim-bg:#241d3d;--replay:#d888c8;--replay-bg:#331c2f;--shadow:0 10px 30px #00000073;--shadow-sm:0 2px 8px #00000059;--sel:#1d3557;--dialog-inset:20px;--dialog-scrim:#04070b9e;--rs-tire:#07090c;--rs-tread:#3a4450;--rs-hub:#9aa6b4;--rs-motor:#8e99a6;--rs-gear:#3d4855;--rs-pcb:#1d6b45;--rs-pcb-edge:#3a9a6b;--rs-chip:#0b0e12;--rs-pin:#d8b45a;--rs-screw:#c3ccd6;--rs-wire-a:#f0634f;--rs-wire-b:#6b7787;--rs-wire-c:#5cb8db;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef1f6;--bg-2:#fff;--bg-3:#f5f7fa;--bg-4:#e8edf4;--line:#d9e0ea;--line-strong:#bcc7d6;--text:#131a23;--text-2:#3b4756;--muted:#5f6b7a;--faint:#7d8798;--accent:#26d;--on-accent:#fff;--accent-bg:#e3ecfd;--ok:#1d8a58;--ok-bg:#e0f3e9;--warn:#9a6a08;--warn-bg:#fbf0d8;--danger:#c8372a;--danger-bg:#fbe6e3;--info:#1d6f8c;--info-bg:#e0f0f6;--sim:#6d4fd0;--sim-bg:#ece6fc;--replay:#a8478f;--replay-bg:#f9e6f4;--shadow:0 10px 26px #141e2d21;--shadow-sm:0 1px 4px #141e2d1f;--sel:#cfe0fb;--dialog-scrim:#1e2a3a61;--rs-tire:#1c2128;--rs-tread:#56606c;--rs-hub:#c9d1db;--rs-motor:#a9b3bf;--rs-gear:#66717e;--rs-pcb:#2f8a5b;--rs-pcb-edge:#1c6441;--rs-chip:#1b2027;--rs-pin:#b48a26;--rs-screw:#4f5a68;--rs-wire-a:#c8372a;--rs-wire-b:#2b3440;--rs-wire-c:#1d6f8c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:13px/1.5 Inter,Segoe UI,system-ui,-apple-system,Noto Sans,sans-serif}body[data-density=comfortable]{font-size:14px}code,kbd,pre,.mono{font-family:JetBrains Mono,Cascadia Mono,Consolas,ui-monospace,monospace}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a.btn:is(:hover,:focus-visible,:active){text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:content-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}.app{--rail:48px;--nav-w:248px;grid-template-columns:var(--rail) minmax(0, 1fr);grid-template-rows:44px minmax(0,1fr) 24px;grid-template-areas:"brand topbar""nav page""nav statusbar";height:100vh;display:grid;overflow:hidden}.app.nav-open{grid-template-columns:var(--nav-w) minmax(0, 1fr)}.app.no-nav{grid-template-columns:0 1fr}.brand{background:var(--bg-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-area:brand;align-items:center;gap:10px;min-width:0;padding:0 20px;display:flex;overflow:hidden}.app:not(.nav-open) .brand .lbl{display:none}.app:not(.nav-open) .brand{padding-inline:10px}.brand .logo{background:linear-gradient(135deg, var(--accent), var(--sim));color:#fff;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.brand b{letter-spacing:.2px;white-space:nowrap;font-size:13px}.brand span{color:var(--faint);white-space:nowrap;margin-top:1px;font-size:10px;line-height:1;display:block}.brand:has(.brand-navigation){padding-inline:10px}.app:not(.nav-open) .brand:has(.brand-navigation){justify-content:center}.brand-navigation{flex:none;align-items:center;gap:4px;display:flex}.brand-navigation .brand-home{cursor:pointer;border:0;padding:0}.brand-navigation .brand-home>span{color:inherit;font-size:inherit;margin:0}.brand-navigation .brand-area{width:16px;height:var(--top-ctl);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.brand-navigation .brand-area:hover,.brand-navigation .brand-area[aria-expanded=true]{background:var(--bg-3);color:var(--text)}.brand-navigation .brand-area svg{transform:rotate(90deg)}.brand-navigation :is(.brand-home,.brand-area):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.brand-navigation :is(.brand-home,.brand-area):disabled{opacity:.5;cursor:default}.topbar{background:var(--bg-2);border-bottom:1px solid var(--line);grid-area:topbar;align-items:center;gap:8px;min-width:0;padding:0 8px 0 12px;display:flex}.topbar .spacer{flex:1}.topbar{--top-ctl:28px}.topbar .btn.sm{height:var(--top-ctl);padding:0 9px;font-size:12px}.topbar .btn.sm .k{font-size:10px}@media (width<=1440px){.topbar .btn.sm .k{display:none}}.topbar .btn.top-ico{width:var(--top-ctl);padding:0}.topbar .rec-chip{height:var(--top-ctl)}.topbar .avatar-btn{padding:0}.topbar .avatar-btn .avatar{width:var(--top-ctl);height:var(--top-ctl)}.command-menu.area-menu{min-width:14em}.command-menu.area-menu [role=menuitemradio]{align-items:center;gap:8px;display:flex}.command-menu.area-menu [role=menuitemradio] .lbl{flex:1}.command-menu.area-menu [role=menuitemradio] svg{color:var(--muted);flex:none}.command-menu.area-menu [role=menuitemradio] svg:last-child{visibility:hidden;color:var(--accent)}.command-menu.area-menu [aria-checked=true]{font-weight:600}.command-menu.area-menu [aria-checked=true] svg:last-child{visibility:visible}.topbar .nav-arrows{flex:none;gap:2px;display:inline-flex}.topbar .nav-arrow{width:var(--top-ctl);height:var(--top-ctl);color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.topbar .nav-arrow:hover:not(:disabled){background:var(--bg-3);color:var(--text)}.topbar .nav-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.topbar .nav-arrow:disabled{color:var(--faint);cursor:default}.runbar{border-left:1px solid var(--line);scrollbar-width:none;flex:none;align-items:center;gap:6px;min-width:0;max-width:75%;padding:2px 0 2px 10px;display:flex;overflow-x:auto}.runbar>*,.run-group>*{flex:none}.runbar .sep{background:var(--line);flex:none;width:1px;height:18px;margin:0 2px}.run-group{align-items:center;gap:6px;display:flex}.run-why{color:var(--warn);white-space:nowrap;font-size:11.5px}.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;filter:saturate(.4)}.btn-split{flex:none;align-items:stretch;display:inline-flex}.btn-split>.btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.btn-split>.btn-split-caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding-inline:7px}.btn-split>.btn:focus-visible{z-index:1;position:relative}.btn-split .btn-l,.robot-part .sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.runbar>.btn,.runbar>.btn-split,.runbar>.run-why,.btn-split>.btn{flex:none}.runbar>.run-why{text-overflow:ellipsis;max-width:160px;overflow:hidden}@media (width<=1240px){.topbar .runbar{flex:0 auto}.runbar>.btn-split{flex:0 auto;min-width:0}.btn-split>.btn:first-child{flex:0 auto;min-width:92px}.btn-split>.robot-part{flex:0 auto;min-width:0}.btn-split>.robot-part .sub{flex:0 auto}.runbar>.run-why{flex:0 auto;min-width:24px}}.btn-split>.robot-part{gap:5px;padding-inline:8px;font-weight:400}.robot-part .sub{color:var(--muted);white-space:nowrap;font-size:11px}.robot-part .caret{color:var(--faint);font-size:10px}.robot-part .dot{color:var(--muted)}.robot-part[data-dev=ok] .dot,.robot-part[data-dev=ok] .sub{color:var(--ok)}.robot-part[data-dev=info] .dot{color:var(--accent)}.robot-part[data-dev=warn] .dot,.robot-part[data-dev=warn] .sub{color:var(--warn)}.robot-part[data-dev=danger] .dot,.robot-part[data-dev=danger] .sub{color:var(--danger)}.btn.pri.robot-part .sub,.btn.pri.robot-part .dot,.btn.pri.robot-part .caret{color:inherit}.upload-pair{flex:none;align-items:stretch;gap:6px;min-width:0;display:inline-flex}.upload-pair>.btn{flex:none}.upload-pair .btn-l{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.robot-status.btn{background:var(--bg-3);border-color:var(--line-strong);color:var(--muted);gap:5px;padding-inline:8px;font-weight:500}.robot-status.btn:hover{background:var(--bg-4)}.robot-status .sub{color:inherit}.robot-status .caret{color:inherit;opacity:.75}.robot-status .dot{color:inherit}.robot-status[data-dev=ok]{background:var(--ok-bg);border-color:color-mix(in srgb, var(--ok) 45%, transparent);color:var(--ok)}.robot-status[data-dev=info]{background:var(--info-bg);border-color:color-mix(in srgb, var(--info) 45%, transparent);color:var(--info)}.robot-status[data-dev=warn]{background:var(--warn-bg);border-color:color-mix(in srgb, var(--warn) 45%, transparent);color:var(--warn)}.robot-status[data-dev=danger]{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}.robot-status[data-dev]:not([data-dev=""]):hover{filter:brightness(1.08)}.robot-status[data-st=connecting] .dot{animation:1.2s ease-in-out infinite robot-status-pulse}@keyframes robot-status-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.robot-status[data-st=connecting] .dot{animation:none}}.runbar>.upload-pair{flex:none}@media (width<=1240px){.runbar>.upload-pair{flex:0 auto}.upload-pair>.btn:first-child{flex:0 auto;min-width:92px}.upload-pair>.robot-status{flex:0 auto;min-width:0}.upload-pair>.robot-status .sub{flex:0 auto}}@media (width<=1100px){.upload-pair>.robot-status .sub{display:none}}.env-card{border:1px solid var(--accent);background:var(--accent-bg);border-radius:6px}:is(.env-card>.env-target,.env-card>.env-target:has(:checked)){background:0 0;border-color:#0000}.env-card-b{gap:8px;padding:2px 8px 8px;display:grid}.env-card-b .env-link,.env-card-b .env-id{margin:0}.env-transport{align-items:center;gap:8px;display:flex}.env-transport .segmented{align-self:center}.env-transport-why{margin-top:-4px}.env-addr-row{align-items:center;gap:8px;display:flex}.env-addr{margin:0}.env-upvia{color:var(--text-2)}button.run-why{font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;border-radius:4px;padding:2px 4px;font-size:11.5px;text-decoration:underline}button.run-why:focus-visible{outline:2px solid var(--accent)}.env-fit{font-size:11px;display:block}.env-target.off{cursor:not-allowed;opacity:.72}.env-target.off:hover{background:0 0}.run-clock{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.env-chip{height:var(--top-ctl,28px);border:1px solid var(--line-strong);background:var(--bg-3);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.env-chip:hover{background:var(--bg-4)}.env-chip .g{font-weight:400}.env-chip[data-m=sim]{border-color:var(--sim);background:var(--sim-bg)}.env-chip[data-m=sim] .g{color:var(--sim)}.env-chip[data-m=robot],.env-chip[data-m=real]{border-color:var(--ok)}.env-chip[data-m=robot] .g,.env-chip[data-m=real] .g{color:var(--ok)}.env-chip[data-m=replay]{border-color:var(--replay);background:var(--replay-bg)}.env-chip[data-m=replay] .g{color:var(--replay)}.env-chip[data-m=demo]{border-color:var(--warn)}.env-chip .sub{color:var(--muted);border-left:1px solid var(--line-strong);padding-left:7px;font-size:11px;font-weight:400}.env-chip[data-dev=ok] .sub{color:var(--ok)}.env-chip[data-dev=warn] .sub{color:var(--warn)}.env-chip[data-dev=danger] .sub{color:var(--danger)}.env-chip .caret{color:var(--faint);font-size:10px}.topbar>.env-chip{flex:0 auto;min-width:64px}.env-chip .t{text-overflow:ellipsis;min-width:0;overflow:hidden}:root[data-theme] .env-chip .t{color:inherit}.env-chip .dot{color:var(--muted)}.env-chip[data-dev=ok] .dot{color:var(--ok)}.env-chip[data-dev=info] .dot{color:var(--accent)}.env-chip[data-dev=warn] .dot{color:var(--warn)}.env-chip[data-dev=danger] .dot{color:var(--danger)}.env-chip[data-dev=danger]{border-color:var(--danger)}.env-chip[data-dev=""]{background:0 0;border-style:dashed}.env-pop{z-index:1000;background:var(--bg-3);width:340px;max-width:calc(100vw - 8px);color:var(--text);border:1px solid var(--line-strong);box-shadow:var(--shadow);font:inherit;border-radius:8px;margin:0;padding:10px;font-size:12px;position:fixed;inset:auto}.env-targets{border:0;min-inline-size:0;margin:0 0 8px;padding:0}.env-targets legend{color:var(--faint);padding:0 0 6px;font-size:11px}.env-target{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.env-target:hover{background:var(--bg-4)}.env-target:has(:checked){border-color:var(--accent);background:var(--accent-bg)}.env-target input{accent-color:var(--accent);margin:0}.env-target .g{text-align:center;width:16px}.env-target .g[data-m=sim]{color:var(--sim)}.env-target .g[data-m=robot]{color:var(--ok)}.env-target .g[data-m=replay]{color:var(--replay)}.env-target .d{color:var(--muted);font-size:11px;display:block}.env-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;margin-top:10px;padding-top:8px;display:flex}.env-pop.robot-pop{width:380px;max-height:calc(100vh - 60px);overflow:auto}.env-chip .t+.sub{text-overflow:ellipsis;flex-shrink:20;min-width:0;overflow:hidden}.env-chip .t{flex-shrink:1}.env-robot{gap:10px}.env-robot>.flex1{min-width:0}.env-robot b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.env-chip[data-sel=virtual] .g,.env-chip[data-sel=virtual] .sub{color:var(--sim)}.env-robot b .env-virtual{vertical-align:1px;margin-left:6px}.env-robot b .env-default{vertical-align:1px;margin-left:6px;font-weight:500}.env-add{margin:0 0 10px 8px}.env-link{border:1px solid var(--line-strong);border-left:3px solid var(--ok);background:var(--bg-2);border-radius:6px;align-items:center;gap:10px;margin:0 0 8px;padding:9px 10px;display:flex}.env-link b{font-weight:650;display:block}.env-id{border:1px solid var(--line-strong);background:var(--bg-2);border-left-width:3px;border-radius:6px;gap:8px;margin:0 0 8px;padding:9px 10px;display:grid}.env-id[data-tone=info]{border-left-color:var(--accent)}.env-id[data-tone=warn]{border-left-color:var(--warn)}.env-id[data-tone=danger]{border-left-color:var(--danger)}.env-id-h{font-weight:650}.env-note{margin:0}.env-list{gap:3px;margin:0;padding-left:18px;display:grid}.robot-bound{align-items:center;margin-bottom:12px}.command-menu{z-index:1000;background:var(--bg-3);min-width:20em;max-width:100vw;max-height:100vh;color:var(--text);border:1px solid var(--line-strong);box-shadow:var(--shadow);font:inherit;border-radius:7px;margin:0;padding:.35em;position:fixed;inset:auto;overflow:auto}.command-menu [role=menuitem],.command-menu [role=menuitemradio]{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:.45em .65em;display:block}.command-menu [role=menuitem]:hover,.command-menu [role=menuitem]:focus-visible,.command-menu [role=menuitemradio]:hover,.command-menu [role=menuitemradio]:focus-visible{background:var(--sel);outline:none}.command-menu [aria-disabled=true]{color:var(--muted);cursor:default}.command-menu-heading{color:var(--faint);padding:.45em .65em;font-size:.9em}.command-menu [role=group]+[role=group]{border-top:1px solid var(--line);margin-top:.3em;padding-top:.3em}.nav{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;grid-area:nav;gap:2px;padding:6px 10px 10px;display:flex;overflow:hidden auto}.nav .ico{flex:none;display:block}.nav .nav-main,.nav .nav-foot,.nav .nav-mock{flex-direction:column;gap:2px;display:flex}.nav .nav-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:8px}.nav .nav-mock{border-top:1px dashed var(--line);opacity:.8;margin-top:6px;padding-top:6px}.nav .sec{width:100%;height:36px;color:var(--text-2);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:12px;padding:0 10px;font-size:13px;text-decoration:none;display:flex}.nav .nav-toggle{color:var(--muted)}.nav .sec:hover{background:var(--bg-3);color:var(--text);text-decoration:none}.nav .sec.on{background:var(--accent-bg);color:var(--text);font-weight:600}.nav .sec.on .ico{color:var(--accent)}.nav .sec .chev{color:var(--faint);margin-left:auto;transition:transform .12s;display:flex}.nav .sec[aria-expanded=true] .chev{transform:rotate(90deg)}.nav .sec.area-home .area-note{text-overflow:ellipsis;min-width:0;color:var(--muted);margin-left:auto;font-size:12px;font-weight:400;overflow:hidden}.nav .sec.area-home[aria-expanded=true]{background:var(--bg-3);color:var(--text)}.app:not(.nav-open) .nav .sec.area-home .area-note{display:none}.app:not(.nav-open) .nav .lbl{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app:not(.nav-open) .nav .sec{width:44px;height:40px;color:var(--muted);justify-content:center;padding:0}.app:not(.nav-open) .nav{padding-inline:1px}.app:not(.nav-open) .nav .sec.on{color:var(--text)}.nav-tip{z-index:1100;background:var(--text);color:var(--bg);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;position:fixed}.nav .sub{border-left:1px solid var(--line);flex-direction:column;margin:2px 0 6px 20px;padding-left:12px;display:flex}.nav .sub[hidden]{display:none}.nav .sub a{height:30px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;padding:0 8px;font-size:12.5px;text-decoration:none;display:flex;overflow:hidden}.nav .sub a:hover{background:var(--bg-3);color:var(--text)}.nav .sub a.on{color:var(--text);background:var(--bg-3);font-weight:600}.nav .sub .tag{color:var(--faint);margin-left:auto;font-size:10px}.nav-pop a[role=menuitem]{color:inherit;white-space:nowrap;border-radius:4px;align-items:center;gap:8px;padding:.45em .65em;text-decoration:none;display:flex}.nav-pop a[role=menuitem]:hover,.nav-pop a[role=menuitem]:focus-visible{background:var(--sel);outline:none}.nav-pop a[aria-current=page]{font-weight:600}.nav .update-slot{align-items:center;gap:8px;padding:4px 4px 8px;display:flex}.app:not(.nav-open) .nav .update-slot{justify-content:center;padding:4px 0 8px}.app:not(.nav-open) .nav .update-version{display:none}.app:not(.nav-open) .nav .update-pill{justify-content:center;gap:0;width:30px;padding:0}.app:not(.nav-open) .nav .update-pill>span{font-size:0}.update-pill .update-icon{display:none}.app:not(.nav-open) .nav .update-pill .update-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.update-pill{border:1px solid var(--accent);background:var(--accent);color:#fff;height:24px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:12px;align-items:center;gap:5px;padding:0 11px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.update-pill:hover{filter:brightness(1.12)}.update-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.update-pill:disabled{cursor:default;filter:none}.update-pill[data-state=downloading],.update-pill[data-state=installing]{background:var(--accent-bg);color:var(--text)}.update-pill .fill{background:var(--accent);opacity:.45;position:absolute;inset:0 auto 0 0}.update-pill>span{position:relative}.update-pill .pct{font-variant-numeric:tabular-nums}.update-slot .update-version{color:var(--faint);white-space:nowrap;font-size:11px}.page{grid-area:page;padding:14px;overflow:auto}.page.flush{padding:0}.statusbar{color:var(--muted);background:var(--bg-2);border-top:1px solid var(--line);white-space:nowrap;grid-area:statusbar;align-items:center;gap:12px;padding:0 10px;font-size:11px;display:flex;overflow:hidden}.statusbar .spacer{flex:1}.statusbar .sb-item{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.statusbar .sb-link{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0 -4px;padding:0 4px;text-decoration:none}.statusbar .sb-link:hover{background:var(--bg-3);color:var(--text);text-decoration:none}.statusbar .sb-item.ok{color:var(--ok)}.statusbar .sb-item.warn{color:var(--warn)}.statusbar .sb-item.danger{color:var(--danger)}.statusbar .mock-zone{border:1px dashed var(--line-strong);height:18px;color:var(--faint);border-radius:4px;align-items:center;gap:8px;padding:0 6px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:inline-flex}.statusbar .mock-zone .mz-label{text-transform:uppercase;letter-spacing:.5px}.statusbar .mock-zone a{color:var(--faint)}.statusbar .sb-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px}.statusbar .sb-btn:hover{color:var(--text)}.h1{margin:0 0 2px;font-size:18px;font-weight:650}.h2{margin:0 0 8px;font-size:14px;font-weight:650}.h3{color:var(--text-2);margin:0 0 6px;font-size:12px;font-weight:650}.sub{color:var(--muted);margin:0;font-size:12px}.pagehead{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.pagehead .spacer{flex:1}.mut{color:var(--muted)}.fnt{color:var(--faint)}.sm{font-size:11px}.xs{font-size:10px}.b{font-weight:650}.right{text-align:right}.center{text-align:center}.row{gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:12px;min-width:0;display:flex}.grid{gap:12px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.gauto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.flex1{flex:1;min-width:0}.gap6{gap:6px}.gap8{gap:8px}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt4{margin-top:4px}.mb8{margin-bottom:8px}.mb4{margin-bottom:4px}.mb12{margin-bottom:12px}.ac{align-items:center}.ab{align-items:baseline}.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex}.panel>.hd{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:650;display:flex}.panel>.hd .spacer{flex:1}.panel>.hd .sub{font-weight:400}.panel>.bd{min-height:0;padding:10px;overflow:auto}.panel>.bd.flush{padding:0}.panel>.ft,.dt>.ft{border-top:1px solid var(--line);color:var(--muted);flex:none;align-items:center;gap:8px;padding:7px 10px;font-size:11px;display:flex}.panel.quiet{background:var(--bg-3)}.panel.accent{border-color:var(--accent)}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:12px}.card.hover:hover{border-color:var(--line-strong);background:var(--bg-3);cursor:pointer}.btn{background:var(--bg-4);height:26px;color:var(--text);border:1px solid var(--line-strong);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn.lg{height:32px;padding:0 14px;font-size:13px}.btn.sm{height:22px;padding:0 7px;font-size:11px}.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.ok{background:var(--ok);border-color:var(--ok);color:#06210f;font-weight:600}.btn.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn);font-weight:600}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-3);border-color:var(--line)}.btn.out{background:0 0}.btn[disabled],.btn.off{opacity:.42;cursor:not-allowed}.btn.on{border-color:var(--accent);background:var(--accent-bg);color:var(--text)}.btn .k{color:inherit;opacity:.65;font-size:9.5px}.btngroup{display:inline-flex}.btngroup .btn{border-radius:0;margin-left:-1px}.btngroup .btn:first-child{border-radius:6px 0 0 6px;margin-left:0}.btngroup .btn:last-child{border-radius:0 6px 6px 0}.badge{white-space:nowrap;background:var(--bg-4);height:20px;color:var(--text-2);border:1px solid var(--line-strong);border-radius:5px;align-items:center;gap:5px;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.badge.danger{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.badge.info{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb, var(--info) 45%, transparent)}.badge.acc{background:var(--accent-bg);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.badge.sim{background:var(--sim-bg);color:var(--sim);border-color:color-mix(in srgb, var(--sim) 45%, transparent)}.badge.replay{background:var(--replay-bg);color:var(--replay);border-color:color-mix(in srgb, var(--replay) 45%, transparent)}.badge.big{height:24px;padding:0 9px;font-size:11.5px}.dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.dot.hollow{background:0 0;border:1.5px solid}.chip{background:var(--bg-3);border:1px solid var(--line);height:22px;color:var(--text-2);white-space:nowrap;border-radius:11px;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:inline-flex}.chip.on{background:var(--accent-bg);border-color:var(--accent);color:var(--text)}.chip .x{color:var(--faint)}.mode{border:1px solid;border-radius:6px;align-items:center;gap:6px;height:24px;padding:0 9px;font-size:11.5px;font-weight:650;display:inline-flex}.mode[data-m=real]{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 50%, transparent)}.mode[data-m=sim]{background:var(--sim-bg);color:var(--sim);border-color:color-mix(in srgb, var(--sim) 50%, transparent)}.mode[data-m=replay]{background:var(--replay-bg);color:var(--replay);border-color:color-mix(in srgb, var(--replay) 50%, transparent)}.mode[data-m=demo]{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 50%, transparent)}.mode[data-m=none]{background:var(--bg-4);color:var(--muted);border-color:var(--line-strong)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label{color:var(--muted);font-size:11px;font-weight:600}.field.body-label>label{font:inherit;color:var(--text)}.field .hint{color:var(--faint);font-size:10.5px}.req-mark{color:var(--danger);margin-left:2px;font-weight:650}.field-value{border:1px solid var(--line);background:var(--bg-2);min-height:40px;color:var(--text);border-radius:7px;align-items:center;gap:8px;padding:6px 10px;display:flex}.field-value .oi{background:var(--bg-4);width:26px;height:26px;color:var(--text-2);border-radius:6px;flex:none;place-items:center;display:grid}.inp,select.inp,textarea.inp{background:var(--bg-3);height:28px;color:var(--text);border:1px solid var(--line-strong);font:inherit;border-radius:6px;width:100%;padding:0 8px;font-size:12px}textarea.inp{resize:vertical;height:auto;padding:6px 8px}.inp:focus{border-color:var(--accent);outline:none}.inp[readonly]{color:var(--muted);background:var(--bg-2)}.inp.mono{font-family:JetBrains Mono,Consolas,ui-monospace,monospace;font-size:11.5px}.inp.err{border-color:var(--danger)}select.inp.fit,.select.fit{text-overflow:ellipsis;flex:0 auto;width:auto;min-width:120px;max-width:240px}.select.fit .ot{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.unit{align-items:stretch;gap:0;min-width:0;display:inline-flex}.unit .inp{text-align:right;font-variant-numeric:tabular-nums;border-radius:6px 0 0 6px;min-width:0}.unit>.inp:last-child{border-radius:6px}.unit .inp::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit .inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.unit .inp[type=number]{-moz-appearance:textfield}.unit .u{height:28px;color:var(--muted);white-space:nowrap;background:var(--bg-4);border:1px solid var(--line-strong);border-left:0;border-radius:0 6px 6px 0;place-items:center;padding:0 7px;font-size:11px;display:grid}.unit.has-step .u{border-radius:0}.unit .step{background:var(--bg-4);border:1px solid var(--line-strong);border-left:0;border-radius:0 6px 6px 0;flex:none;grid-template-rows:1fr 1fr;width:18px;height:28px;display:grid;overflow:hidden}.unit .step button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:7px;line-height:1;display:grid}.unit .step button+button{border-top:1px solid var(--line-strong)}.unit .step button:hover:not(:disabled){background:var(--bg-3);color:var(--text)}.unit .step button:disabled{opacity:.4;cursor:default}.unit:focus-within .u,.unit:focus-within .step{border-color:var(--accent)}.unit .inp.err~.u,.unit .inp.err~.step{border-color:var(--danger)}.check{color:var(--text-2);cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.check i{border:1.5px solid var(--line-strong);color:#0000;border-radius:4px;flex:none;place-items:center;width:15px;height:15px;font-size:10px;font-style:normal;display:grid}.check.on i{background:var(--accent);border-color:var(--accent);color:#fff}.check.rd i{border-radius:50%}.check.rd.on i{border-color:var(--accent);color:var(--accent);background:0 0;font-size:18px;line-height:0}.switch{cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.switch i{background:var(--line-strong);border-radius:8px;flex:none;width:28px;height:16px;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px}.switch.on i{background:var(--accent)}.switch.on i:after{left:14px}.slider{align-items:center;gap:8px;display:flex}.slider .track{background:var(--line-strong);border-radius:2px;flex:1;height:4px;position:relative}.slider .track>i{background:var(--accent);border-radius:2px;position:absolute;inset:0 auto 0 0}.slider .track>b{background:var(--bg-2);border:2px solid var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;top:-5px;transform:translate(-7px)}.slider .val{text-align:right;min-width:46px;font-family:JetBrains Mono,monospace;font-size:11.5px}table.tbl{border-collapse:collapse;width:100%;font-size:12px}table.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--faint);border-bottom:1px solid var(--line);background:var(--bg-2);padding:6px 8px;font-size:10.5px;font-weight:600;position:sticky;top:0}table.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 8px}table.tbl tr:last-child td{border-bottom:0}table.tbl tbody tr:hover{background:var(--bg-3)}table.tbl tbody tr.on{background:var(--sel);box-shadow:inset 2px 0 0 var(--accent)}table.tbl tbody tr.selectable{cursor:pointer}table.tbl td.pick,table.tbl th.pick{width:28px;padding-right:0}table.tbl td.acts{white-space:nowrap;text-align:right}.bulkbar{border-bottom:1px solid var(--line);background:var(--accent-bg);align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.bulkbar .spacer{flex:1}table.tbl td.num,table.tbl th.num{text-align:right;font-family:JetBrains Mono,monospace;font-size:11.5px}table.tbl.compact td,table.tbl.compact th{padding:4px 7px}.kv{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;font-size:12px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-family:JetBrains Mono,monospace;font-size:11.5px}.list{flex-direction:column;display:flex}.list>.it{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.list>.it:last-child{border-bottom:0}.list>.it:hover{background:var(--bg-3)}.list>.it.on{background:var(--accent-bg);box-shadow:inset 2px 0 0 var(--accent)}.list>.it .t{color:var(--text);font-size:12.5px;font-weight:550}.list>.it .d{color:var(--muted);font-size:11px}.list>.it .spacer{flex:1}.list>.it .stack{flex-direction:column;gap:2px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:0;display:flex;overflow-x:auto}.tabs>a,.tabs>button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 12px;font-family:inherit;font-size:12px}.tabs>a:hover,.tabs>button:hover{color:var(--text);text-decoration:none}.tabs>.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.subtabs{background:var(--bg-3);border:1px solid var(--line);border-radius:6px;padding:2px;display:inline-flex}.subtabs>button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 10px;font-size:11.5px}.subtabs>.on{background:var(--bg-2);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.tree{-webkit-user-select:none;user-select:none;font-size:12px}.tree .n{cursor:pointer;color:var(--text-2);border-radius:4px;align-items:center;gap:6px;padding:3px 8px;display:flex}.tree .n:hover{background:var(--bg-3)}.tree .n.on{background:var(--sel);color:var(--text)}.tree .n .ic{text-align:center;width:13px;color:var(--faint);flex:none}.tree .n.lock{opacity:.7}.tree .d1{padding-left:16px}.tree .d2{padding-left:30px}.tree .d3{padding-left:44px}.editor{background:var(--bg);flex-direction:column;min-height:0;display:flex}.edtabs{background:var(--bg-2);border-bottom:1px solid var(--line);flex:none;display:flex;overflow-x:auto}.edtabs .t{color:var(--muted);border-right:1px solid var(--line);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:flex}.edtabs .t.on{background:var(--bg);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.edtabs .t .mod{color:var(--warn);font-size:14px;line-height:0}.code{counter-reset:ln;background:var(--bg);flex:1;min-height:0;padding:6px 0;font-family:JetBrains Mono,Consolas,ui-monospace,monospace;font-size:12px;line-height:1.6;overflow:auto}.code .l{white-space:pre;padding:0 10px 0 0;display:block}.code .l:before{counter-increment:ln;content:counter(ln);text-align:right;width:42px;color:var(--faint);opacity:.6;-webkit-user-select:none;user-select:none;padding-right:12px;display:inline-block}.code .l:hover{background:color-mix(in srgb, var(--bg-3) 60%, transparent)}.code .l.cur{background:var(--bg-3)}.code .l.err{background:color-mix(in srgb, var(--danger) 14%, transparent);box-shadow:inset 2px 0 0 var(--danger)}.code .l.warnl{background:color-mix(in srgb, var(--warn) 12%, transparent);box-shadow:inset 2px 0 0 var(--warn)}.code .l.add{background:color-mix(in srgb, var(--ok) 13%, transparent)}.code .l.del{background:color-mix(in srgb, var(--danger) 12%, transparent)}.code .l.lockl{background:color-mix(in srgb, var(--faint) 10%, transparent)}.code .l.lockl:before{color:var(--faint)}.k{color:#c58fff}:root[data-theme=light] .k{color:#7b2fbe}.t{color:#5cc8d8}:root[data-theme=light] .t{color:#0d6d84}.f{color:#f0c26b}:root[data-theme=light] .f{color:#8a5d00}.s{color:#8fd88f}:root[data-theme=light] .s{color:#1d7a36}.n{color:#f3a06c}:root[data-theme=light] .n{color:#b3540d}.c{color:var(--faint);font-style:italic}.p{color:var(--text-2)}.ghost{color:var(--faint);opacity:.8}.log{background:var(--bg);white-space:pre-wrap;word-break:break-word;padding:8px 10px;font-family:JetBrains Mono,Consolas,monospace;font-size:11.5px;line-height:1.65;overflow:auto}.log .ts{color:var(--faint)}.log .ok{color:var(--ok)}.log .er{color:var(--danger)}.log .wa{color:var(--warn)}.log .in{color:var(--info)}.log .dim{color:var(--muted)}.alert{border:1px solid var(--line-strong);background:var(--bg-3);color:var(--text-2);border-radius:7px;align-items:flex-start;gap:9px;padding:9px 11px;font-size:12px;line-height:1.5;display:flex}.alert .ai{flex:none;font-size:13px;line-height:1.3}.alert b{color:var(--text)}.alert.warn{background:var(--warn-bg);border-color:color-mix(in srgb, var(--warn) 45%, transparent);color:color-mix(in srgb, var(--warn) 85%, var(--text))}.alert.danger{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:color-mix(in srgb, var(--danger) 85%, var(--text))}.alert.ok{background:var(--ok-bg);border-color:color-mix(in srgb, var(--ok) 45%, transparent);color:color-mix(in srgb, var(--ok) 85%, var(--text))}.alert.info{background:var(--info-bg);border-color:color-mix(in srgb, var(--info) 45%, transparent);color:color-mix(in srgb, var(--info) 85%, var(--text))}.alert.acc{background:var(--accent-bg);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.alert .spacer{flex:1}.alert.compact{background:var(--bg-2);align-items:center;padding:5px 6px 5px 11px}.alert.compact .ai{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--muted);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:inline-grid}.alert.compact>.btn{flex:none}.alert.notice{--notice-tone:var(--info);background:var(--bg-2);border-color:var(--line-strong);border-left:3px solid var(--notice-tone);color:var(--text-2);padding:10px 34px 10px 12px;font-size:13px;position:relative}.alert.notice.warn{--notice-tone:var(--warn)}.alert.notice.danger{--notice-tone:var(--danger)}.alert.notice .ai{background:color-mix(in srgb, var(--notice-tone) 18%, transparent);width:18px;height:18px;color:var(--notice-tone);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.alert.notice .notice-body{flex-direction:column;gap:3px;min-width:0;display:flex}.alert.notice .notice-title{color:var(--text);font-weight:600}.alert.notice .notice-text{overflow-wrap:anywhere}.alert.notice .notice-acts{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.alert.notice .notice-close{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;font-size:16px;line-height:1;position:absolute;top:6px;right:6px}.alert.notice .notice-close:hover{background:var(--bg-3);color:var(--text)}.alert.notice .notice-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lesson-foot>.alert.notice{grid-column:1/-1}.choice-acts{grid-template-columns:max-content 1fr;align-items:start;gap:8px 12px;display:grid}.choice-acts>.ca{display:contents}.choice-acts .btn{justify-content:flex-start;width:100%}.choice-acts .cw{color:var(--text-2);margin:0;padding-top:5px;font-size:12px;line-height:1.5}@media (width<=640px){.choice-acts{grid-template-columns:1fr}}.modal.xw{width:min(1040px,100%)}.diff-pair.bounded{border:1px solid var(--line);border-radius:6px;height:min(300px,40vh);overflow:hidden}.empty{text-align:center;color:var(--muted);place-items:center;gap:8px;padding:34px 20px;display:grid}.empty .ei{opacity:.5;font-size:26px}.empty .et{color:var(--text-2);font-size:13px;font-weight:600}.empty .ed{max-width:380px;font-size:11.5px}.sk{background:linear-gradient(90deg, var(--bg-3), var(--bg-4), var(--bg-3));border-radius:4px;height:10px}.sk.l{height:14px}.sk.xl{height:26px}.sk.blk{border-radius:7px;height:92px}.spin{border:2px solid var(--line-strong);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:13px;height:13px;display:inline-block}.bar{background:var(--bg-4);border-radius:3px;height:5px;overflow:hidden}.bar>i{background:var(--accent);border-radius:3px;height:100%;display:block}.bar>i.ok{background:var(--ok)}.bar>i.warn{background:var(--warn)}.bar>i.danger{background:var(--danger)}.bar.thick{height:8px}.meter{align-items:center;gap:7px;font-size:11px;display:flex}.meter .bar{flex:1}.steps{align-items:center;gap:0;font-size:11.5px;display:flex}.steps .st{color:var(--muted);align-items:center;gap:6px;display:flex}.steps .st b{background:var(--bg-4);width:18px;height:18px;color:var(--muted);border:1px solid var(--line-strong);border-radius:50%;place-items:center;font-size:10px;display:grid}.steps .st.done b{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.steps .st.on{color:var(--text);font-weight:600}.steps .st.on b{background:var(--accent);color:#fff;border-color:var(--accent)}.steps .ln{background:var(--line-strong);width:22px;height:1px;margin:0 8px}.outcome{--tone:var(--muted);--tone-bg:var(--bg-4);background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--tone);border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:16px 18px;display:grid}.outcome[data-tone=ok]{--tone:var(--ok);--tone-bg:var(--ok-bg)}.outcome[data-tone=danger]{--tone:var(--danger);--tone-bg:var(--danger-bg)}.outcome[data-tone=run]{--tone:var(--accent);--tone-bg:var(--accent-bg)}.outcome[data-tone=neutral]{--tone:var(--line-strong);--tone-bg:var(--bg-4)}.outcome-ic{width:40px;height:40px;color:var(--tone);background:var(--tone-bg);border:1px solid color-mix(in srgb, var(--tone) 45%, transparent);border-radius:50%;grid-row:span 2;place-items:center;font-size:18px;font-weight:700;display:grid}.outcome[data-tone=neutral] .outcome-ic{color:var(--text-2)}.outcome-ic .spin{width:18px;height:18px}.outcome-title{align-self:end;margin:0;font-size:17px;font-weight:650;line-height:1.35}.outcome-title .stage{color:var(--accent)}.outcome-meta{color:var(--muted);flex-wrap:wrap;gap:2px 14px;font-size:12px;display:flex}.outcome-meta .mono{font-size:11.5px}.outcome-body{color:var(--text-2);grid-column:2;gap:10px;margin-top:8px;font-size:12.5px;display:grid}.outcome-body p{margin:0}.outcome-acts{flex-wrap:wrap;gap:8px;display:flex}.stagebar{gap:6px;display:grid}.stagebar-track{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;display:grid}.stagebar-track>i{background:var(--bg-4);border:1px solid var(--line-strong);border-radius:3px;height:6px}.stagebar-track>i.done{background:var(--ok);border-color:var(--ok)}.stagebar-track>i.on{background:repeating-linear-gradient(-45deg, var(--accent) 0 5px, color-mix(in srgb, var(--accent) 55%, transparent) 5px 10px);border-color:var(--accent)}.stagebar-track>i.failed{background:var(--danger);border-color:var(--danger)}.stagebar-track>i.cancelled{background:var(--line-strong);border-color:var(--muted)}.stagebar-label{color:var(--muted);font-size:11.5px}.stagebar-label b{color:var(--text-2);font-weight:600}.stage-list{margin:0;padding:4px 0;list-style:none}.stage-list>li{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:6px 12px;display:grid;position:relative}.stage-list>li+li:before{content:"";background:var(--line-strong);width:1px;height:12px;position:absolute;top:-6px;left:22px}.stage-list .sg{width:22px;height:22px;color:var(--muted);background:var(--bg-4);border:1px solid var(--line-strong);z-index:1;border-radius:50%;place-items:center;font-size:11px;font-weight:650;display:grid;position:relative}.stage-list .sn{color:var(--text-2);min-width:0;font-size:12.5px}.stage-list .ss{color:var(--faint);grid-column:2;font-size:11px}.stage-list .sd{color:var(--muted);white-space:nowrap;grid-area:1/3;font-family:JetBrains Mono,monospace;font-size:11px}.stage-list>li.done .sg{color:var(--ok);background:var(--ok-bg);border-color:var(--ok)}.stage-list>li.failed .sg{color:#fff;background:var(--danger);border-color:var(--danger)}.stage-list>li.failed .sn{color:var(--text);font-weight:600}.stage-list>li.failed .ss{color:var(--danger)}.stage-list>li.cancelled .sg{color:var(--text-2);border-style:dashed}.stage-list>li.pending .sn{color:var(--muted)}.stage-list>li.pending .sg{background:0 0}.stage-list>li.on{background:var(--accent-bg);box-shadow:inset 2px 0 0 var(--accent)}.stage-list>li.on .sg{color:#fff;background:var(--accent);border-color:var(--accent)}.stage-list>li.on .sg .spin{border-color:#fff #ffffff59 #ffffff59;width:12px;height:12px}.stage-list>li.on .sn{color:var(--text);font-size:13px;font-weight:650}.stage-list>li.on .ss{color:var(--accent)}.diag-list{gap:10px;display:grid}.diag{--tone:var(--danger);border:1px solid var(--line);border-left:3px solid var(--tone);background:var(--bg-2);border-radius:8px;gap:8px;min-width:0;padding:12px 14px;display:grid}.diag.warn{--tone:var(--warn)}.diag-hd{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.diag-loc{color:var(--text-2);font-size:12px}.diag-loc code{color:var(--text);font-size:11.5px;font-weight:600}.diag-title{color:var(--text);margin:0;font-size:13.5px;font-weight:650}.diag-code{background:var(--bg);border:1px solid var(--line);white-space:pre;color:var(--text-2);border-radius:6px;margin:0;padding:7px 10px;font-size:11.5px;line-height:1.6;overflow-x:auto}.diag-code .ln{color:var(--faint);-webkit-user-select:none;user-select:none}.diag-code .caret{color:var(--tone);font-weight:700}.diag-text{color:var(--text-2);max-width:72ch;margin:0;font-size:12.5px;line-height:1.55}.diag-raw{color:var(--faint);overflow-wrap:anywhere;margin:0;font-size:11px}.diag-raw code{color:var(--muted)}.diag-acts{flex-wrap:wrap;gap:6px;display:flex}.usage-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;display:grid}.usage{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;gap:6px;min-width:0;padding:12px 14px;display:grid}.usage-hd{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.usage-hd strong{font-size:12.5px}.usage-hd .what{color:var(--muted);flex:1;font-size:11px}.usage-val{letter-spacing:-.2px;font-family:JetBrains Mono,monospace;font-size:18px;font-weight:600}.usage-val small{color:var(--muted);letter-spacing:0;font-family:inherit;font-size:11.5px;font-weight:400}.usage-left{color:var(--muted);font-size:11px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-section{gap:10px;min-width:0;display:grid}.page-section-hd{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.page-section-hd .h2{margin:0}.page-section-hd .spacer{flex:1}.page-section>pre,.page-section>p{margin:0}.page-section>.log{border:1px solid var(--line);border-radius:6px;max-height:220px}details.disclosure{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;min-width:0}details.disclosure>summary{cursor:pointer;border-radius:8px;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:10px 14px;list-style:none;display:flex}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary:before{content:"▸";color:var(--text-2);width:12px;font-size:13px;line-height:1;transition:transform .12s}details.disclosure[open]>summary:before{transform:rotate(90deg)}details.disclosure>summary:focus-visible{outline-offset:-2px}details.disclosure>summary .disclosure-t{font-size:12.5px;font-weight:650}details.disclosure>summary .disclosure-d{color:var(--muted);font-size:11px}details.disclosure[open]>summary{border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}.disclosure-bd{gap:12px;min-width:0;padding:12px 14px;display:grid}.disclosure-ft{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 14px;font-size:11px;display:flex}.disclosure-bd .log{border:1px solid var(--line);border-radius:6px;max-height:260px}.disclosure-bd .kv dd{overflow-wrap:anywhere}.disclosure-bd p,.disclosure-bd dl{margin:0}.disclosure-bd>.subtabs{justify-self:start;max-width:100%;overflow-x:auto}[role=tabpanel][hidden]{display:none}.tabs>button:focus-visible,.subtabs>button:focus-visible{outline-offset:-2px}.tabs .count{background:var(--bg-4);min-width:18px;height:16px;color:var(--text-2);border-radius:8px;place-items:center;margin-left:6px;padding:0 5px;font-size:10px;font-weight:600;display:inline-grid}.build-report{max-width:1320px;margin:0 auto;container-type:inline-size}.build-report .pagehead{flex-wrap:wrap}.build-report .pagehead>div:first-child{flex:280px}.build-report .pagehead-acts{flex-wrap:wrap;gap:8px;display:flex}.build-report>.tabs{margin-bottom:14px}.build-view{gap:14px;min-width:0;display:grid}.build-layout{grid-template:"outcome stages""main stages""tech stages"1fr/minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.build-layout>.outcome{grid-area:outcome}.build-layout>.build-main{grid-area:main;gap:14px}.build-layout>.build-technical{grid-area:tech}.build-layout>.build-stages{grid-area:stages;position:sticky;top:0}.build-stages>.bd{padding:0}.build-history td .badge+.chip{margin-left:6px}.build-history .when{white-space:nowrap}.build-report>.panel{margin-top:14px}.build-report .upload-log{max-height:160px;margin:0}@container (width<=820px){.build-layout{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"outcome""main""stages""tech"}.build-layout>.build-stages{position:static}}@container (width<=520px){.outcome{grid-template-columns:minmax(0,1fr);padding:14px}.outcome-ic{grid-row:auto;width:32px;height:32px;font-size:15px}.outcome-body{grid-column:1}}.chart{width:100%;display:block}.legend{color:var(--text-2);flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.legend i{vertical-align:3px;border-radius:2px;width:10px;height:2.5px;margin-right:5px;display:inline-block}.legend .dash{background-image:repeating-linear-gradient(90deg,currentColor 0 3px,#0000 3px 6px)!important}.readout{font-family:JetBrains Mono,monospace;font-size:11.5px}.stat{flex-direction:column;gap:2px;display:flex}.stat .v{font-family:JetBrains Mono,monospace;font-size:19px;font-weight:600;line-height:1.15}.stat .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:10.5px}.stat .d{color:var(--faint);font-size:10.5px}.scrim{background:var(--dialog-scrim);z-index:40;padding:var(--dialog-inset);grid-template-rows:minmax(0,1fr);place-items:center;display:grid;position:absolute;inset:0}.modal{background:var(--bg-2);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;width:min(560px,100%);max-height:100%;display:flex}:where(dialog.modal){color:var(--text);padding:0}dialog.modal:not([open]){display:none}dialog.modal{max-height:calc(100% - 2 * var(--dialog-inset))}dialog.modal::backdrop{background:var(--dialog-scrim)}.modal.w{width:min(760px,100%)}.modal>.hd,.modal.form-dialog>form>.hd{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:12px 14px;display:flex}.modal>.hd .h,.modal.form-dialog>form>.hd .h{font-size:14px;font-weight:650}.modal>.hd .spacer,.modal.form-dialog>form>.hd .spacer{flex:1}.modal.form-dialog>form{flex-direction:column;min-height:0;display:flex}.modal>.bd,.modal.form-dialog>form>.bd{flex-direction:column;gap:11px;padding:14px;display:flex;overflow:auto}.modal>.ft,.modal.form-dialog>form>.ft{border-top:1px solid var(--line);align-items:center;gap:8px;padding:11px 14px;display:flex}.modal>.ft .spacer,.modal.form-dialog>form>.ft .spacer{flex:1}.vsplit,.hsplit{height:100%;min-height:0;display:grid}.gutter{background:var(--line);cursor:col-resize;position:relative}.gutter.h{cursor:row-resize}.gutter:after{content:"";background:var(--line-strong);border-radius:2px;width:2px;height:18px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.gutter.h:after{width:18px;height:2px}.req{background:var(--bg-4);border:1px dashed var(--line-strong);height:18px;color:var(--faint);border-radius:4px;align-items:center;gap:4px;padding:0 6px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.note{border-left:2px solid var(--sim);background:color-mix(in srgb, var(--sim) 9%, transparent);color:var(--text-2);border-radius:0 6px 6px 0;padding:7px 10px;font-size:11px}.note b{color:var(--sim)}.catalog{max-width:1180px;margin:0 auto;padding:26px 20px 60px}.catalog .hero{margin-bottom:24px}.catalog .hero h1{margin:0 0 6px;font-size:24px}.cards{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px;display:grid}.cards a{background:var(--bg-2);border:1px solid var(--line);color:var(--text);border-radius:9px;flex-direction:column;gap:6px;padding:12px;text-decoration:none;display:flex}.cards a:hover{border-color:var(--accent);background:var(--bg-3)}.cards a .no{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:10px}.cards a .ttl{font-size:13.5px;font-weight:650}.cards a .ds{color:var(--muted);font-size:11.5px;line-height:1.45}.cards a .rq{margin-top:auto;padding-top:6px}.plain{flex-direction:column;height:100vh;display:flex;overflow:auto}@media (width<=1200px){.g4,.g5,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel>.hd>.panel-fold{color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex:1;padding:0}.panel.folded>.bd,.panel.folded>.ft{display:none}.pane-gutter{touch-action:none;-webkit-user-select:none;user-select:none;outline-offset:-2px}.pane-gutter:hover,.pane-gutter:focus-visible{background:var(--accent)}.pane-gutter:after{content:"";background:var(--line-strong);position:absolute;inset:45% 2px}.pane-gutter.h:after{inset:2px 48%}.pane-gutter.collapsed:after{content:none}.checkline{align-items:center;gap:8px;margin:8px 0;display:flex}.table-scroll{overflow:auto}.modal.external-source{z-index:30;width:84%;height:75vh;color:var(--text);padding:0;position:fixed;inset:8%;overflow:hidden}.app.setup-shell{background:var(--bg);flex-direction:column;min-height:0;display:flex}.setup-header{background:var(--bg-2);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.setup-header .logo{background:linear-gradient(135deg, var(--accent), var(--sim));color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.setup-header>.spacer,.setup-actions>.spacer{flex:1}.setup-grid{grid-template-columns:var(--files-size,250px) 6px minmax(0, 1fr);flex:1;min-height:0;display:grid}.setup-steps{background:var(--bg-2);padding:18px 14px;overflow:auto}.setup-step{width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:7px 6px;display:flex}.setup-step.on{background:var(--sel)}.setup-content{min-width:0;padding:24px 28px;overflow:auto}.setup-content-inner{max-width:844px}.setup-content-inner>.panel+.panel{margin-top:12px}.setup-progress{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.setup-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.setup-layout.hide-files{grid-template-columns:minmax(0,1fr)}.setup-layout.hide-files>.setup-steps,.setup-layout.hide-files>.setup-gutter,.setup-layout.hide-files>.settings-categories{display:none}.setup-log{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto}.setup-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.setup-cards>.panel,.setup-cards>*{min-width:0}.setup-form .subtabs{flex-wrap:wrap}.setup-form .field{margin-bottom:12px}.setup-form .inp{min-width:0}.setup-form .row{flex-wrap:wrap}.setup-form>.check,.setup-form>.switch{margin-bottom:10px;display:flex}.setup-path{overflow-wrap:anywhere}.setup-recovery{max-width:760px}.setup-recovery [role=alert]{overflow-wrap:anywhere}.setup-grid .panel>.hd>.panel-fold,.settings-content .panel>.hd>.panel-fold{min-height:22px}.setup-table{overflow:auto}.settings-layout{grid-template-columns:var(--files-size,210px) 6px minmax(0, 1fr);align-items:start;gap:8px;display:grid}.settings-categories{position:sticky;top:0}.settings-categories button{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:0 0}.settings-content{flex-direction:column;gap:14px;min-width:0;display:flex}.settings-content .panel{scroll-margin-top:8px}.settings-content .setup-cards{align-items:start}.settings-gutter{min-height:400px}@media (width<=900px){.setup-cards{grid-template-columns:minmax(0,1fr)}.setup-content{padding:18px}}.hardware-page .pagehead{flex-wrap:wrap}.hardware-page .tabs>button{font:inherit;font-size:12px}.hardware-page button:disabled{opacity:.5;cursor:not-allowed}.hardware-page .pagehead>div:first-child{flex:440px}.hardware-grid{grid-template-columns:minmax(0, 1fr) 6px var(--side-size,340px);align-items:start;display:grid}.hardware-main{grid-column:1;min-width:0;padding-right:10px}.hardware-splitter{grid-column:2;align-self:stretch;min-height:220px}.hardware-inspector{grid-column:3;min-width:0;padding-left:10px}.hardware-grid.hide-side{grid-template-columns:minmax(0,1fr) 0 0}.hardware-grid.hide-side>.hardware-inspector,.hardware-grid.hide-side>.hardware-splitter{display:none}.hardware-pinmap{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);gap:0 10px;display:grid}.hardware-pin-column{flex-direction:column;grid-row:1;gap:3px;display:flex}.hardware-pin-column:nth-child(2){grid-column:3}.hardware-mcu{border:1px solid var(--line-strong);background:var(--bg-3);writing-mode:vertical-rl;color:var(--muted);letter-spacing:1px;border-radius:8px;grid-area:1/2;justify-content:center;align-items:center;font-size:11px;display:flex}.hardware-pin{background:var(--bg-3);border:1px solid var(--line);border-radius:4px;align-items:start;gap:8px;min-width:0;padding:3px 6px;font-size:11px;display:flex}.hardware-pin>.mono{width:28px;color:var(--muted);flex:none}.hardware-pin>span:last-child{overflow-wrap:anywhere;min-width:0}.hardware-pin small{color:var(--muted);font-size:10px;display:block}.hardware-pin.free{opacity:.6}.hardware-pin.conflict{border-color:var(--danger);background:var(--danger-bg)}.hardware-detail{overflow-wrap:anywhere;grid-template-columns:minmax(110px,1fr) 1fr;gap:8px;padding:3px 0;font-size:12px;display:grid}.hardware-fields{border:0;min-width:0;padding:0}.hardware-fields legend{color:var(--muted);margin-bottom:12px;font-size:12px}.hardware-binding{grid-template-columns:minmax(100px,1fr) 76px minmax(130px,1fr) auto;align-items:end;gap:6px;margin:8px 0;display:grid}.hardware-copy{margin-bottom:12px}.hardware-source{overflow-wrap:anywhere;flex-direction:column;display:flex}.hardware-grid .tbl{table-layout:fixed;width:100%}.hardware-grid .tbl td{overflow-wrap:anywhere}.calibration-page .table-scroll{overflow-x:auto}.calibration-page .table-scroll .tbl{min-width:580px}.calibration-page .hardware-inspector .btn{white-space:normal;text-align:left;overflow-wrap:anywhere;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:3px;height:auto;min-height:26px}@media (width<=1050px){.hardware-grid{grid-template-columns:minmax(0, 1fr) 6px min(var(--side-size,340px), 36vw)}.hardware-binding{grid-template-columns:minmax(90px,1fr) 64px}}.packages-grid{grid-template-columns:minmax(0, 1fr) 6px var(--side-size,320px);align-items:start;gap:0;display:grid}.packages-main{grid-column:1;min-width:0;padding-right:10px}.packages-splitter{grid-column:2;align-self:stretch;min-height:180px}.package-inspector{grid-column:3;min-width:0;padding-left:10px}.packages-grid.hide-side{grid-template-columns:minmax(0,1fr) 0 0}.packages-grid.hide-side>.package-inspector,.packages-grid.hide-side>.packages-splitter{display:none}.packages-grid .tbl{width:100%}.packages-table-scroll{overflow:auto}.packages-table-scroll .tbl{min-width:620px}.packages-main .panel:has(.packages-table-scroll)>.bd{gap:0;padding:0}.packages-main .panel:has(.packages-table-scroll)>.bd>.note{margin:10px}.packages-grid .tbl th,.packages-grid .tbl td{overflow-wrap:anywhere}.packages-grid pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.55}.package-lock{border:1px solid var(--line);background:var(--bg);border-radius:6px;max-height:190px;padding:8px;overflow:auto}.package-license{max-height:520px;overflow:auto}.package-options{border:0;flex-direction:column;gap:8px;min-width:0;margin:12px 0;padding:0;display:flex}.package-options>.check{align-items:start}.package-options>.check>i{margin-top:2px}.package-job{margin-bottom:12px}.packages-page .pagehead{flex-wrap:wrap}.packages-page .pagehead>div:first-child{flex:460px}@media (width<=1050px){.packages-grid{grid-template-columns:minmax(0, 1fr) 6px min(var(--side-size,320px), 38vw)}}.scrim.fixed{position:fixed}.projects-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:12px;display:grid}.project-link{color:var(--text);font-weight:650}.project-link:hover,.project-link:focus-visible{color:var(--accent)}.folder-list .n:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tree .n>.nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree .n>.cnt{color:var(--faint);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10.5px}.tree .n.drop{background:var(--accent-bg);box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--text)}.tree .n.edit{background:var(--bg-3);padding-top:2px;padding-bottom:2px}.tree .n.edit .inp{height:22px;padding:0 6px;font-family:JetBrains Mono,monospace;font-size:11.5px}.tree-msg{color:var(--faint);margin:2px 8px 6px;font-size:10.5px;line-height:1.45}.tree-msg.danger{color:var(--danger)}.drop-host{position:relative}.toast{z-index:60;background:var(--bg-3);min-width:280px;max-width:min(440px,100vw - 32px);color:var(--text-2);border:1px solid var(--line-strong);border-left:3px solid var(--line-strong);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:10px;padding:9px 10px 9px 12px;font-size:12px;display:flex;position:fixed;bottom:40px;right:16px}.toast.ok{border-left-color:var(--ok)}.toast.danger{border-left-color:var(--danger)}.toast.danger .ti{color:var(--danger)}.toast .ti{flex:none}.toast.ok .ti{color:var(--ok)}.toast .tt{flex:1;min-width:0}.toast b{color:var(--text)}button.chip{font:inherit;cursor:pointer;font-size:11px}button.chip:hover{border-color:var(--line-strong)}button.chip:focus-visible,button.chip.on:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip.tag{border-radius:9px;height:18px;padding:0 6px;font-size:10.5px}.chip.tag:before{content:"#";color:var(--faint)}.chip .n{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:10px}.tag-row{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.filter-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-row>.lbl{color:var(--muted);font-size:11px}.project-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;padding:10px;display:grid}.project-tile{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.project-tile.on{background:var(--accent-bg);border-color:var(--accent)}.project-tile:focus-within{border-color:var(--accent)}.project-tile-name{min-width:0;color:var(--text);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex:1;padding:0;font-weight:650}.project-tile-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.project-tile-name:hover{color:var(--accent)}.project-tile-meta{color:var(--muted);gap:3px;font-size:11px;display:grid}.project-tile-foot{justify-content:space-between;align-items:end;gap:6px;margin-top:auto;display:flex}.project-tile[draggable=true]{cursor:grab}.library-empty{padding:16px 10px}table.tbl tr[draggable=true] .grip{cursor:grab;color:var(--faint);-webkit-user-select:none;user-select:none;padding-right:4px}table.tbl tr.dragging{opacity:.4}.drag-ghost{z-index:70;background:var(--bg-4);border:1px solid var(--accent);box-shadow:var(--shadow);pointer-events:none;border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;display:inline-flex;position:absolute}.command-menu [role=menuitem] .k{float:right;color:var(--faint);margin-left:18px;font-size:.9em}.command-menu [role=menuitem].danger{color:var(--danger)}.list>.it[role=radio]{color:inherit;font:inherit;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;width:100%}.list>.it[aria-checked=true]{background:var(--accent-bg);box-shadow:inset 2px 0 0 var(--accent)}.list>.it:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.list>button.it{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;background:0 0}.list>button.it:disabled{cursor:default;opacity:.6}.list>.it[aria-selected=true]{background:var(--accent-bg);box-shadow:inset 2px 0 0 var(--accent)}.list>.it .sel{color:var(--accent);visibility:hidden;font-weight:700}.list>.it[aria-selected=true] .sel{visibility:visible}.list>.it.fresh{box-shadow:inset 2px 0 0 var(--ok)}.lib-list>.it{padding:6px 10px}.lib-list .t,.lib-list .d{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.lib-list .t{font-size:12px}.lib-list .d{font-size:10.5px}.panel>.bd>.lib-list,.panel>.lib-list{max-height:180px;overflow:auto}.lib-hint{border-top:1px solid var(--line);color:var(--faint);padding:6px 10px;font-size:10.5px}.lib-hint b{color:var(--text-2)}.select{min-width:0;position:relative}.select-btn{background:var(--bg-3);width:100%;min-height:28px;color:var(--text);border:1px solid var(--line-strong);font:inherit;text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:9px;padding:5px 8px;font-size:12px;display:flex}.select-btn:hover{border-color:var(--muted)}.select-btn:focus-visible,.select-btn[aria-expanded=true]{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:0}.select-btn .oi,.select-opt .oi{background:var(--bg-4);width:26px;height:26px;color:var(--text-2);border-radius:6px;flex:none;place-items:center;font-size:13px;display:grid}.select-btn .ot,.select-opt .ot{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.select-btn .od,.select-opt .od{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.select-btn .ox{flex:1;min-width:0}.select-btn .caret{color:var(--muted);flex:none;font-size:10px}.select-btn.compact .oi,.select-btn.compact .od{display:none}.select-pop{z-index:50;background:var(--bg-3);border:1px solid var(--line-strong);max-height:min(320px,46vh);box-shadow:var(--shadow);border-radius:7px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.select-pop[hidden]{display:none}.select-pop.select-searchable[popover]{width:min(420px,100vw - 8px)}.select-search{z-index:1;background:var(--bg-3);padding:4px;position:sticky;top:-4px}.select-search .inp{width:100%}.select-preview{border:1px solid var(--line);background:var(--bg-2);border-radius:4px;flex:0 0 64px;width:64px;height:44px;display:flex;overflow:hidden}.select-preview>svg,.select-preview>img{object-fit:contain;width:100%;height:100%}.select-searchable .select-opt .ot{white-space:normal;overflow-wrap:anywhere}.select-pop[popover]{width:max-content;max-width:calc(100vw - 8px);margin:0;position:fixed;inset:auto}.select-btn:disabled{opacity:.5;cursor:not-allowed}.select-btn.input-size{height:28px;min-height:28px;padding:0 8px}.select-btn.mono .ot{font-family:JetBrains Mono,Consolas,ui-monospace,monospace;font-weight:400}.select-btn.err{border-color:var(--danger)}.select-group{color:var(--faint);text-transform:uppercase;letter-spacing:.4px;padding:6px 8px 3px;font-size:10.5px;font-weight:650}.select-opt{cursor:pointer;border-radius:5px;align-items:center;gap:9px;min-width:0;padding:6px 8px;display:flex}.select-opt>.ox{flex:1;min-width:0}.select-opt .sel{width:14px;color:var(--accent);visibility:hidden;flex:none;font-weight:700}.select-opt[aria-selected=true] .sel{visibility:visible}.select-opt[aria-selected=true] .ot{color:var(--accent)}.select-opt:hover{background:var(--bg-4)}.select-opt.active{background:var(--sel);box-shadow:inset 0 0 0 1px var(--accent)}.select-opt[aria-disabled=true]{opacity:.5;cursor:default}.template-card{border:1px solid var(--line);background:var(--bg-3);color:var(--text-2);border-radius:7px;flex-direction:column;gap:8px;padding:10px 11px;font-size:12px;display:flex}.template-card p{margin:0}.modal.stable-h{height:min(700px,100%)}.modal.stable-h>.bd{flex:1;min-height:0}.clip-line{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.pin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.pin-grid>div{border:1px solid var(--line);background:var(--bg-2);color:var(--muted);border-radius:6px;padding:5px 7px;font-size:11px}.pin-grid b{color:var(--text);font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:600;display:block}.template-card details>summary{cursor:pointer;color:var(--accent);font-size:11.5px}.template-card .code{border:1px solid var(--line);border-radius:6px;flex:none;max-height:180px;margin-top:6px;font-size:11px}@media (height<=800px){.template-card{gap:6px;padding:8px 10px}.template-card .code{max-height:120px}.select-pop{max-height:min(260px,42vh)}}.explorer-head{align-items:center;gap:2px;padding:6px 6px 4px 10px;display:flex}.explorer-head .h3{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.4px;flex:1;min-width:0;margin:0;font-size:11px;overflow:hidden}.explorer-sec{margin:12px 0 4px;padding:0 10px}.explorer-sec .h3{margin:0}.tree[role=tree] .n{padding-left:calc(8px + var(--depth,0) * 14px)}.tree[role=tree] .n:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tree .n .kind{color:var(--faint);flex:none;font-family:JetBrains Mono,monospace;font-size:9.5px}.tree .n.cut-src{opacity:.55}.tree .n.fresh{box-shadow:inset 2px 0 0 var(--ok)}.command-menu [role=menuitem] .why{color:var(--faint);white-space:normal;font-size:.88em;display:block}mark.hit{background:color-mix(in srgb, var(--warn) 32%, transparent);color:inherit;border-radius:2px}.search-pane{flex-direction:column;gap:6px;padding:8px 6px;display:flex}.search-pane .row .btn{flex:none}.search-sum{color:var(--muted);padding:0 4px;font-size:11px}.search-results{flex-direction:column;font-size:12px;display:flex}.search-results .sf{color:var(--text);align-items:center;gap:6px;padding:4px 6px;font-weight:600;display:flex}.search-results .sf .cnt{color:var(--faint);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:400}.search-results .sr{width:100%;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;gap:8px;padding:3px 6px 3px 20px;font-size:11.5px;display:flex}.search-results .sr:hover{background:var(--bg-3)}.search-results .sr:focus-visible,.search-results .sr.on{background:var(--sel);color:var(--text);outline:none}.search-results .sr .ln{text-align:right;min-width:2.2em;color:var(--faint);flex:none;font-family:JetBrains Mono,monospace}.search-results .sr .tx{text-overflow:ellipsis;white-space:pre;min-width:0;font-family:JetBrains Mono,monospace;overflow:hidden}.toast.warn{border-left-color:var(--warn)}.toast.warn .ti{color:var(--warn)}.tree-msg .edit-dest{color:var(--text-2);display:block}.editor-note{border-bottom:1px solid var(--line);background:var(--bg-3);color:var(--muted);flex:none;padding:5px 12px;font-size:11.5px}.tree.vs{font-size:12.5px}.tree.vs .n{height:22px;padding:0 8px 0 calc(4px + var(--depth,0) * 12px);color:var(--text-2);border-radius:0;gap:5px;position:relative}.tree.vs .n:hover{background:var(--bg-3)}.tree.vs .n.on{background:var(--bg-4);color:var(--text)}.tree.vs .n:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.tree.vs .n .guide{top:0;bottom:0;left:calc(11px + var(--g) * 12px);background:var(--line);width:1px;position:absolute}.tree.vs:hover .n .guide{background:var(--line-strong)}.tree.vs .chev{width:14px;color:var(--muted);text-align:center;flex:none;font-size:9px;transition:transform .12s}.tree.vs .chev.open{transform:rotate(90deg)}.tree.vs .fi{min-width:18px;height:14px;color:var(--muted);background:var(--bg-4);border-radius:3px;flex:none;place-items:center;padding:0 2px;font-family:JetBrains Mono,monospace;font-size:8.5px;font-weight:700;line-height:1;display:grid}.tree.vs .fi[data-t=ino]{color:var(--info);background:var(--info-bg)}.tree.vs .fi[data-t=c]{color:var(--accent);background:var(--accent-bg)}.tree.vs .fi[data-t=cpp]{color:var(--sim);background:var(--sim-bg)}.tree.vs .fi[data-t=h]{color:var(--warn);background:var(--warn-bg)}.tree.vs .fi[data-t=hpp]{color:var(--replay);background:var(--replay-bg)}.tree.vs .fo{background:color-mix(in srgb, var(--warn) 60%, var(--bg-4));border-radius:2px;flex:none;width:15px;height:11px;margin-top:2px;position:relative}.tree.vs .fo:before{content:"";background:inherit;border-radius:2px 2px 0 0;width:7px;height:3px;position:absolute;top:-2px;left:0}.tree.vs .fo.lib{background:color-mix(in srgb, var(--info) 55%, var(--bg-4))}.tree.vs .n .nm{flex:1}.tree.vs .n .meta{color:var(--faint);flex:none;font-size:10.5px}.tree.vs .n.dir>.nm{color:var(--text)}.tree.vs .n.edit{background:0 0;height:auto;padding-top:1px;padding-bottom:1px}.tree.vs .n.edit .inp{border-color:var(--accent);border-radius:2px;height:21px}.tree.vs .n.edit .inp.err{border-color:var(--danger)}.tree-err{--tree-err-field:calc(4px + var(--depth,0) * 12px + 38px);z-index:5;width:max-content;min-width:min(calc(var(--tree-err-field) + 24px), calc(100% - 16px));border:1px solid var(--line);background:var(--bg-4);max-width:calc(100% - 16px);box-shadow:var(--shadow);color:var(--text);white-space:normal;pointer-events:none;border-radius:6px;align-items:flex-start;gap:7px;padding:6px 10px 6px 8px;font-size:11.5px;line-height:1.4;display:flex;position:absolute;top:calc(100% + 6px);left:8px}.tree-err:before{content:"!";background:var(--danger);color:#fff;border-radius:50%;flex:none;place-items:center;width:14px;height:14px;margin-top:1px;font-size:10px;font-weight:700;line-height:1;display:grid}.tree-err:after{content:"";top:-5px;left:var(--tree-err-field);border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--bg-4);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.tree-err[hidden]{display:none}.side-pane[hidden]{display:none!important}.chat{flex-direction:column;height:calc(100% - 33px);min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.chat-head .spacer{flex:1}.chat-log{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px;display:flex;overflow:auto}.chat-msg{color:var(--text-2);overflow-wrap:anywhere;font-size:12.5px;line-height:1.55}.chat-msg p{margin:0 0 6px}.chat-msg p:last-child{margin-bottom:0}.chat-msg.user{background:var(--bg-4);max-width:88%;color:var(--text);border-radius:10px 10px 2px;align-self:flex-end;padding:7px 10px}.chat-msg .who{color:var(--faint);margin-bottom:3px;font-size:10.5px;font-weight:650;display:block}.chat-msg code{background:var(--bg-3);border-radius:3px;padding:0 3px;font-size:11.5px}.chat-ctx{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;font-size:10.5px;display:flex}.chat-note{color:var(--faint);align-self:center;font-size:11px}.chat-typing{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.chat-typing .spin{width:12px;height:12px}.proposal{border:1px solid var(--line-strong);background:var(--bg-2);border-radius:7px;margin-top:6px;overflow:hidden}.proposal-hd{border-bottom:1px solid var(--line);color:var(--text);align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;display:flex}.proposal .code{flex:none;max-height:160px;font-size:11px}.proposal-ft{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:flex}.chat-compose{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:6px;padding:8px 10px 10px;display:flex}.chat-compose textarea.inp{resize:none;min-height:54px;max-height:140px;font-size:12.5px;line-height:1.45}.chat-compose .row{align-items:center}.chat-compose .hint{min-width:0;color:var(--faint);flex:1;font-size:10.5px}.ctx-row{flex-wrap:wrap;gap:4px;display:flex}.ctx-row .chip{max-width:100%}.ctx-row .chip .nm{text-overflow:ellipsis;overflow:hidden}.ctx-row .chip button{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px}.ctx-row .chip button:focus-visible{outline:2px solid var(--accent)}.api-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px 18px;display:grid}.secret{gap:6px;display:flex}.secret .inp{flex:1;min-width:0;font-family:JetBrains Mono,monospace}.api-status{color:var(--text-2);align-items:flex-start;gap:8px;font-size:12px;display:flex}.api-status .spin{width:12px;height:12px;margin-top:3px}.segmented{border:1px solid var(--line-strong);border-radius:6px;grid-auto-columns:1fr;grid-auto-flow:column;align-self:flex-start;display:inline-grid;overflow:hidden}.segmented>button{white-space:nowrap;height:28px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 14px;font-size:12px}.segmented>button+button{border-left:1px solid var(--line-strong)}.segmented>button:hover{background:var(--bg-3);color:var(--text)}.segmented>button[aria-checked=true]{background:var(--accent);color:#fff}.hint.reserve-2{min-height:3em}.segmented>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;position:relative}.model-layout{grid-template-columns:minmax(0,1fr) minmax(240px,290px);align-items:start;gap:16px 22px;display:grid}.form-rows{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:10px 14px;display:grid}.form-rows>.lbl{color:var(--muted);padding-top:6px;font-size:11px;font-weight:600}.form-rows>.ctl{flex-direction:column;gap:4px;min-width:0;display:flex}.check-box{border:1px solid var(--line);background:var(--bg-3);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.check-box .btn{align-self:flex-start}.check-status{min-height:3.2em}@media (width<=1150px){.model-layout{grid-template-columns:minmax(0,1fr)}.check-status{min-height:0}}@media (width<=640px){.form-rows{grid-template-columns:minmax(0,1fr)}.form-rows>.lbl{padding-top:0}}.form-rows .hint{color:var(--faint);font-size:10.5px;line-height:1.45}.form-rows .hint.reserve-2{min-height:2.9em}.page>.edtabs.page-tabs{margin:-14px -14px 14px}.edtabs a.t{color:var(--muted);text-decoration:none}.edtabs a.t:hover{color:var(--text)}.edtabs .t.closable{gap:5px;padding:6px 4px 6px 10px}.edtabs .t:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tab-x{width:18px;height:18px;color:var(--muted);font:inherit;cursor:pointer;visibility:hidden;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;font-size:12px;line-height:1;display:grid}.tab-x:hover{background:var(--bg-4);color:var(--text)}.tab-x:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;visibility:visible}.edtabs .t:hover .tab-x,.edtabs .t.on .tab-x,.edtabs .t.dirty .tab-x{visibility:visible}.tab-x .dot{background:var(--warn);border-radius:50%;width:8px;height:8px;display:none}.edtabs .t.dirty .tab-x .dot{display:block}.edtabs .t.dirty .tab-x .cross,.edtabs .t.dirty .tab-x:hover .dot,.edtabs .t.dirty .tab-x:focus-visible .dot{display:none}.edtabs .t.dirty .tab-x:hover .cross,.edtabs .t.dirty .tab-x:focus-visible .cross{display:inline}.pane-bar{border-bottom:1px solid var(--line);background:var(--bg-2);align-items:stretch;display:flex}.pane-bar>.tabs{border-bottom:0;flex:1;min-width:0}.pane-bar>.pane-title{min-width:0;min-height:30px;color:var(--text);flex:1;align-items:center;margin:0;padding:0 10px;font-size:12px;font-weight:600;display:flex}.pane-bar>.pane-back{align-self:center;margin-left:4px}.pane-bar>.pane-back+.pane-title{padding-left:4px}.search-scope{color:var(--muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.pane-close{visibility:visible;flex:none;align-self:center;margin:0 6px}.pane-acts{flex:none;align-items:center;gap:2px;padding:0 6px 0 4px;display:flex}.pane-ctl{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.pane-ctl:hover{background:var(--bg-4);color:var(--text)}.pane-ctl:active{background:var(--bg-3)}.pane-ctl:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;color:var(--text)}.pane-bar:has(>.pane-acts)>.tabs{scrollbar-width:none}.pane-bar:has(>.pane-acts)>.tabs::-webkit-scrollbar{display:none}.pane-bar>.tabs>[role=tab]>.short{display:none}@container side (width<360px){.pane-bar>.tabs>[role=tab]:has(>.short)>.full{display:none}.pane-bar>.tabs>[role=tab]>.short{display:inline}.pane-bar:has(>.pane-acts)>.tabs>button{padding-inline:10px}}.send-preview{color:var(--muted);font-size:11px}.send-preview>summary{cursor:pointer;color:var(--accent);width:max-content}.send-preview>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.send-preview ul{margin:4px 0;padding-left:16px}.send-preview p{margin:0}.gutter[role=separator]:hover,.gutter[role=separator].drag{background:var(--accent)}.gutter[role=separator]:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;background:var(--accent)}.sash{--sash-hit:8px;--sash-line:2px;--sash-delay:.15s;z-index:10;cursor:col-resize;touch-action:none;outline:none;width:0;min-width:0;position:relative}.sash.h{cursor:row-resize;width:auto;height:0;min-height:0}.sash:before,.sash:after{content:"";position:absolute;top:0;bottom:0}.sash:before{left:calc(var(--sash-hit) / -2);width:var(--sash-hit)}.sash:after{left:calc(var(--sash-line) / -2);width:var(--sash-line);background:var(--accent);opacity:0;pointer-events:none;transition:opacity .1s ease-out}.sash.h:before,.sash.h:after{width:auto;bottom:auto;left:0;right:0}.sash.h:before{top:calc(var(--sash-hit) / -2);height:var(--sash-hit)}.sash.h:after{top:calc(var(--sash-line) / -2);height:var(--sash-line)}.sash:hover:after{opacity:1;transition-delay:var(--sash-delay)}.sash.drag:after,.sash:focus-visible:after{opacity:1;transition-delay:0s}.sash.at-start:before,.sash.at-start:after{left:0}.sash.at-end:before{left:calc(var(--sash-hit) * -1)}.sash.at-end:after{left:calc(var(--sash-line) * -1)}.sash.h.at-end:before{left:0;top:calc(var(--sash-hit) * -1)}.sash.h.at-end:after{left:0;top:calc(var(--sash-line) * -1)}@media (prefers-reduced-motion:reduce){.sash:after{transition:none}}.pane-strip{background:var(--bg-2);width:100%;height:100%;color:var(--muted);font:inherit;cursor:pointer;border:0;flex-direction:column;align-items:center;gap:8px;padding:10px 0;font-size:11.5px;display:flex}.pane-strip:hover{background:var(--bg-3);color:var(--text)}.pane-strip .v{writing-mode:vertical-rl;white-space:nowrap}.run-pane{flex-direction:column;display:flex;container:run-pane/inline-size;overflow:hidden!important}.side-rail{flex-direction:column;flex:none;align-items:center;gap:4px;width:44px;height:100%;padding:6px 0;display:none}.rail-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;text-decoration:none;display:grid}.rail-btn:hover,.rail-btn.on{background:var(--bg-3);color:var(--text)}.rail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rail-sep{background:var(--line);width:20px;height:1px;margin:4px 0}.rail-btn.rail-open{margin-top:auto}.rail-btn.rail-open .ico{transform:scaleX(-1)}.run-pane>.model-view{flex:0 0 var(--mh,var(--mh-fit,46%));flex-direction:column;min-height:0;display:flex}.run-pane>.gutter{flex:0 0 6px}.run-pane>.instr-view{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.rp-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;min-height:34px;padding:4px 8px 4px 10px;display:flex}.rp-head .h3{margin:0}.rp-head .inp.sm{width:auto;max-width:150px;height:24px;padding:0 6px;font-size:11.5px}.rp-head .checkline{white-space:nowrap;gap:5px;margin:0}.rp-head.model-head,.rp-head.tel-head{align-items:center;gap:4px 6px;display:grid}.rp-head>h3{margin:0}.rp-head.model-head{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"t t t""on f rob"}.model-head>.h3{grid-area:t;justify-self:start}.model-head>.model-on{grid-area:on}.rp-head.model-head>select.inp.sm,.model-head>.select{grid-area:f;justify-self:start;min-width:80px;max-width:100%}.model-head>.checkline{grid-area:rob}.rp-head.tel-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"t""lg"}.tel-head>.h3{grid-area:t;justify-self:start}.tel-head>.legend{flex-wrap:wrap;grid-area:lg}.pane-link{min-height:24px;color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.pane-link>svg{width:14px;height:14px;color:var(--muted);flex:none}.pane-link:hover{color:var(--accent);text-decoration:underline}.pane-link:hover>svg,.pane-link:active,.pane-link:active>svg{color:var(--accent)}.model-robot{min-width:0;color:var(--text);font:inherit;cursor:pointer;-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.model-robot .t{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-robot .g{color:var(--sim)}.model-robot:hover{color:var(--accent)}.model-robot:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.model-on{color:var(--muted);white-space:nowrap;flex:none;font-size:12px}.run-pane .model-canvas{padding:0}.field2d.fill{background:0 0;border:0;border-radius:0}.pane-bar>.pane-history{flex:none;align-self:center;gap:5px;margin:0 4px}.pane-history .count{background:var(--bg-4);min-width:16px;color:var(--muted);text-align:center;border-radius:8px;padding:0 4px;font-size:10.5px;line-height:16px}.model-view>.model-context-line{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 10px;padding:5px 10px;font-size:11px;display:flex}.model-view>.model-context-line>span{flex-basis:100%;min-width:0}.model-canvas{flex:1;min-height:0;padding:8px;display:flex}.model-canvas>.empty{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:12px;display:flex}.field2d{background:var(--bg-3);border:1px solid var(--line);border-radius:8px;flex:1;min-height:0;position:relative}.model-canvas .field2d>svg{width:100%;height:100%;position:absolute;inset:0}.field2d .hud{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:8px;left:8px}.field2d .hud2,.field2d .hud-note{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:10.5px;position:absolute;bottom:6px}.field2d .hud2{text-align:right;right:8px}.field2d .hud-note{color:var(--muted);font-family:inherit;top:36px;bottom:auto;left:8px}.instr-body{flex:1;min-height:0;padding:8px 10px 10px;overflow:auto}.rd-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.rd{background:var(--bg-3);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:1px;min-width:0;padding:5px 7px;display:flex}.rd .t{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.rd .v{font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600;display:flex}.rd .v+.v{color:var(--text-2);font-size:12px;font-weight:500}.rd .v .s{color:var(--faint);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:10px;font-weight:400}.rd .v[data-src=model] .s{color:var(--sim)}.rd .v[data-src=robot] .s{color:var(--ok)}.rd .v[data-src=replay] .s{color:var(--replay)}.mini-chart{margin-top:8px}.mini-chart>.t{color:var(--text-2);align-items:center;gap:10px;margin-bottom:2px;font-size:11px;display:flex}.mini-chart>.t .legend{margin-left:auto;font-size:10.5px}.empty.sm-empty{padding:16px 10px}.editor-note.warn{background:var(--warn-bg);color:var(--text);border-bottom-color:var(--warn);align-items:center;gap:8px;display:flex}.build-sum{max-width:720px}.log{color:var(--text-2);gap:2px;display:grid}.badge.cnt{height:15px;padding:0 5px;font-size:9px}.field.sim-pick{flex-direction:row;align-items:center;gap:6px;margin:0;display:flex}.sim-pick>span{color:var(--muted);flex:none;font-size:12px}.field.sim-pick{min-width:0}.sim-pick .inp{width:100%;min-width:0}.pagehead.sim-head{flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:28px;margin-bottom:8px}.sim-head>.h1{white-space:nowrap;margin:0}.sim-head>.sim-pick-build{flex:1 1 0;min-width:170px;max-width:260px}.sim-head>.sim-pick-field{flex:1 1 0;min-width:130px;max-width:190px}.sim-head-acts{gap:8px;margin-left:auto;display:flex}.sim-top{grid-template-columns:minmax(0,1fr) 320px;gap:12px;height:min(560px,100vh - 132px);min-height:380px;display:grid}.sim-top>.panel{flex-direction:column;min-height:0;margin:0;display:flex}.sim-top .hd .checkline{gap:5px;margin:0}.sim-field>.bd.model-canvas{padding:8px}.sim-side>.bd{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.sim-readings{border-collapse:collapse;width:100%;font-size:12px}.sim-readings th,.sim-readings td{text-align:left;border-bottom:1px solid var(--line);padding:4px 12px;font-weight:400}.sim-readings td{text-align:right;white-space:nowrap}.sim-readings th .d{color:var(--faint);font-size:10.5px;display:block}.sim-readings tr.grp th{color:var(--faint);letter-spacing:.5px;text-transform:uppercase;background:var(--bg-3);padding-top:9px;font-size:10.5px;font-weight:600}.sim-readings-note{margin-top:auto;padding:8px 12px}.sim-runs tr.on td{background:var(--accent-bg)}.list a.it{color:inherit;text-decoration:none}.tm-table{border-collapse:collapse;width:100%;font-size:12px}.tm-table th,.tm-table td{border-bottom:1px solid var(--line);text-align:left;padding:4px 6px;font-weight:400}.tm-table thead th{color:var(--faint);letter-spacing:.4px;text-transform:uppercase;font-size:10.5px;font-weight:600}.tm-table td.num,.tm-table th.num{text-align:right;white-space:nowrap}.tm-table td.num{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.tm-table td.mut{color:var(--faint);font-family:inherit;font-size:11px}.tm-table .src{color:var(--c)}.tm-note{margin:6px 0 0}.ws{grid-template-columns:var(--ws-left,300px) 6px minmax(0, 1fr) 6px var(--ws-right,420px);grid-template-rows:minmax(0, 1fr) 6px var(--ws-bottom,180px);height:100%;min-height:0;display:grid}.ws>.ws-left{background:var(--bg-2);border-right:1px solid var(--line);grid-area:1/1/4/2;overflow:auto}.ws>.ws-g1{grid-area:1/2/4/3}.ws>.ws-ed{flex-direction:column;grid-area:1/3/2/4;min-height:0;display:flex}.ws>.ws-ed>.code{flex:1;min-height:0}.ws>.ws-g2{grid-area:2/3/3/4}.ws>.ws-bottom{background:var(--bg-2);border-top:1px solid var(--line);flex-direction:column;grid-area:3/3/4/4;min-height:0;display:flex}.ws>.ws-bottom>:not(.pane-bar):not(.tabs){flex:1;min-height:0;overflow:auto}.ws>.ws-g3{grid-area:1/4/4/5}.ws>.ws-right{background:var(--bg-2);border-left:1px solid var(--line);flex-direction:column;grid-area:1/5/4/6;min-height:0;display:flex;overflow:hidden}.ws>.ws-right>[data-side-pane]{flex:1;min-height:0;overflow:auto}.ws>.ws-right>[data-side-pane][hidden],.ws [role=tabpanel][hidden]{display:none!important}.tm-rec{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tm-rec .checkline{white-space:nowrap;gap:5px;margin:0}.tm-rec .rec-done{white-space:nowrap}body[data-level=beginner] .topbar{--top-ctl:30px}body[data-level=beginner] .runbar .btn{padding:0 14px;font-size:13.5px}body[data-level=beginner] .runbar .btn.pri{font-weight:650}.term{border-bottom:1px dashed var(--accent);cursor:help}.avatar{background:linear-gradient(135deg, var(--accent), var(--sim));color:#fff;letter-spacing:.3px;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11.5px;font-weight:700;display:grid}.avatar.lg{width:40px;height:40px;font-size:15px}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:2px;display:grid}.avatar-btn:hover .avatar,.avatar-btn[aria-expanded=true] .avatar{box-shadow:0 0 0 2px var(--bg-2), 0 0 0 4px var(--accent)}.env-pop.account-pop{max-height:calc(100dvh / var(--app-zoom,1) - 8px);flex-direction:column;width:300px;padding:6px;font-size:13px;overflow:hidden}:is(.env-pop.account-pop:not([popover]),.env-pop.account-pop:popover-open){display:flex}.account-pop .acc-view:not([hidden]){flex-direction:column;min-height:0;display:flex;overflow-y:auto}.account-pop .acc-view>:not(.acc-people){flex-shrink:0}.account-pop form>b{overflow-wrap:anywhere}.account-pop .acc-head{align-items:center;gap:10px;padding:8px 6px 8px 8px;display:flex}.account-pop .acc-id{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.account-pop .acc-id b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.account-pop .acc-id>span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.account-pop .acc-ico{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.account-pop .acc-ico:hover{background:var(--bg-4);color:var(--text)}.account-pop .acc-where{background:var(--bg-2);color:var(--muted);border-radius:6px;align-items:center;gap:8px;margin:0 2px 6px;padding:6px 8px;font-size:12px;display:flex}.account-pop .acc-where .ico{flex:none}.account-pop .acc-menu{border-top:1px solid var(--line);flex-direction:column;gap:1px;padding:4px 0;display:flex}.account-pop .acc-item{min-height:32px;color:var(--text);border-radius:6px;align-items:center;gap:10px;padding:6px 8px;text-decoration:none;display:flex}.account-pop a.acc-item:hover{background:var(--bg-4)}.account-pop .acc-item>.ico{color:var(--muted);flex:none}.account-pop .acc-sub-head{align-items:center;gap:6px;padding:4px 4px 8px;display:flex}.account-pop .acc-sub-head b{font-weight:600}.account-pop .acc-people{min-height:0;max-height:calc(35dvh / var(--app-zoom,1));border-top:0;padding-top:0;overflow-y:auto}.account-pop .acc-person{min-height:44px}.account-pop .acc-person[aria-current=true]{background:var(--accent-bg)}.account-pop .acc-person[aria-current=true]>.ico{color:var(--accent)}.account-pop .acc-person .badge{flex:none}.mock-zone .mz-states select{max-width:190px;height:16px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px}.mock-zone.mock-float{z-index:50;border:1px dashed var(--line-strong);background:var(--bg-2);height:22px;color:var(--faint);border-radius:5px;align-items:center;gap:8px;padding:0 8px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:inline-flex;position:fixed;bottom:10px;right:12px}.mock-float .mz-label{text-transform:uppercase;letter-spacing:.5px}.rp-head .legend{white-space:nowrap;flex-wrap:nowrap}.tm-window{margin-top:8px}.steps .st.err{color:var(--danger);font-weight:600}.steps .st.err b{background:var(--danger);border-color:var(--danger);color:#fff}.scrim[hidden]{display:none!important}.btn.progress{cursor:default;position:relative;overflow:hidden}.btn.progress .fill{background:var(--accent);opacity:.35;position:absolute;inset:0 auto 0 0}.btn.progress>span{position:relative}.run-why.danger{color:var(--danger)}.run-why.warn{color:var(--warn)}.btn.progress[aria-disabled=true]{opacity:1;filter:none;border-color:var(--accent);color:var(--text)}.bot .steps,.ws-bottom .steps{flex-wrap:wrap;row-gap:6px}.page [hidden]{display:none!important}.tm-timeline{z-index:5;position:sticky;top:-14px}.tl-track{background:var(--bg-3);border:1px solid var(--line);cursor:pointer;border-radius:6px;height:22px;position:relative}.tl-track:focus-visible{outline:2px solid var(--accent)}.tl-fill{background:var(--replay-bg);border-radius:6px 0 0 6px;position:absolute;inset:0 auto 0 0}.tl-thumb{background:var(--replay);border-radius:2px;width:3px;height:26px;margin-left:-1px;position:absolute;top:-3px}.tl-ev{background:var(--bg-4);min-width:16px;height:16px;color:var(--text-2);text-align:center;border-radius:4px;padding:0 3px;font-size:10px;line-height:16px;position:absolute;top:3px;transform:translate(-50%)}.tl-ev.ok{color:var(--ok)}.tl-ev.warn{color:var(--warn);background:var(--warn-bg)}.tl-ev.danger{color:var(--danger);background:var(--danger-bg)}.tm-side{align-self:start;position:sticky;top:0}details.panel.disclosure>summary{cursor:pointer;list-style:none}.rec-chip{border:1px solid var(--danger);background:var(--danger-bg);height:26px;color:var(--text);white-space:nowrap;border-radius:13px;align-items:center;gap:6px;padding:0 3px 0 9px;font-family:JetBrains Mono,monospace;font-size:11.5px;display:inline-flex}.rec-chip .dot{background:var(--danger);border-radius:50%;width:8px;height:8px}.rec-chip button{background:var(--bg-3);width:20px;height:20px;color:var(--text);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:9px;display:grid}.rec-chip button:hover{background:var(--danger);color:#fff}.rec-chip.slot{flex:none;width:288px}.rec-chip.slot .lbl{text-overflow:ellipsis;min-width:0;color:inherit;flex:1;text-decoration:none;overflow:hidden}.rec-chip.slot a.lbl:hover{text-decoration:underline}.rec-chip.saved,.rec-chip.off{border-color:var(--line-strong);background:var(--bg-3)}.rec-chip.saved .dot{width:auto;height:auto;color:var(--ok);background:0 0}.rec-chip.off .dot{border:1.5px solid var(--muted);background:0 0}.rec-chip.saved .rec-stop:hover,.rec-chip.off .rec-stop:hover{background:var(--accent)}.rec-chip .rec-stop{white-space:nowrap;border-radius:10px;width:auto;padding:0 9px;font:550 11.5px/1 Inter,system-ui,sans-serif}.rec-chip .rec-stop:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rec-done,.rec-live{white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.rec-done>[aria-hidden]{color:var(--ok)}.rec-live .dot{background:var(--danger);border-radius:50%;width:8px;height:8px}.sim-readings th[scope=row]{white-space:nowrap}.sim-readings th[scope=row] .d{white-space:nowrap;display:inline}.tl-zone{background:var(--danger-bg);border-left:1px solid var(--danger);border-right:1px solid var(--danger);position:absolute;top:0;bottom:0}.field2d.static>svg{width:100%;height:auto;display:block}.field2d.static .hud2{padding:0 8px 6px;position:static}.sim-readings.cmp td:nth-child(2){color:var(--sim)}.sim-readings.cmp thead th{color:var(--faint);text-align:right;font-size:10.5px}.sim-readings.cmp thead th:first-child{text-align:left}.sim-readings.cmp tr.over{background:var(--danger-bg)}.sim-readings.cmp tr.over td:last-child{color:var(--danger);font-weight:600}.sim-readings.cmp tr.near td:last-child{color:var(--warn)}.diverge-list{margin:0;padding:0;list-style:none}.diverge-list li{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.diverge-list li:last-child{border-bottom:0}.diverge-list li.on{background:var(--bg-3)}.tl-zone.near{background:var(--warn-bg);border-color:var(--warn)}.outcome[data-tone=warn]{--tone:var(--warn);--tone-bg:var(--warn-bg)}.segmented>button[aria-disabled=true]{color:var(--faint);cursor:not-allowed;background:0 0}.device-top{grid-template-columns:minmax(0,1fr) minmax(300px,30%);align-items:start;gap:12px;margin-bottom:16px;display:grid}.conn-card{grid-template-columns:auto minmax(0,1fr)}.conn-card>.outcome-ic{grid-row:span 1}.conn-head{flex-wrap:wrap;align-items:flex-start;gap:12px;min-width:0;display:flex}.conn-head>div:first-child{flex:260px;min-width:0}.conn-head>.outcome-acts{flex:none;justify-content:flex-end}.conn-port{color:var(--muted);font-weight:500}.conn-card>.outcome-body{grid-column:1/-1}.conn-facts{background:var(--bg-3);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:6px 24px;margin:0;padding:8px 12px;display:flex}.conn-facts>div{gap:1px;min-width:0;display:grid}.conn-facts dt{color:var(--muted);font-size:11px}.conn-facts dd{color:var(--text);margin:0;font-size:12.5px}.conn-other{margin:0}.conn-ports .d{color:var(--muted);font-size:11px;display:block}.conn-robot .kv{margin:0}.device-setup{max-width:520px}.device-caps{margin-bottom:16px}.cap-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.cap-tile{--tone:var(--muted);background:var(--bg-2);border:1px solid var(--line);border-top:2px solid var(--tone);border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.cap-tile[data-tone=ok]{--tone:var(--ok)}.cap-tile[data-tone=warn]{--tone:var(--warn)}.cap-tile[data-tone=info]{--tone:var(--accent)}.cap-tile[data-tone=off]{--tone:var(--line-strong)}.cap-tile[data-tone=off] .cap-t{color:var(--text-2)}.cap-tile>.btn{align-self:flex-start;margin-top:auto}.cap-top{align-items:center;gap:8px;min-width:0;display:flex}.cap-d{color:var(--muted);font-size:11.5px;line-height:1.4}.device-extra{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:12px;display:grid}.kv.kv2{grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr);column-gap:16px;margin:0}@media (width<=1240px){.cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.device-top{grid-template-columns:minmax(0,1fr)}.kv.kv2{grid-template-columns:max-content minmax(0,1fr)}}.ed-head{border-bottom:1px solid var(--line);flex:none;min-width:0;display:flex}.ed-head>.edtabs{border-bottom:0;flex:1;min-width:0}.ed-head:has(.lesson-program-btn){background:var(--bg-2);align-items:center}.ed-head .lesson-program-btn{flex:none;margin:0 6px}.ed-mode{border-right:1px solid var(--line);background:var(--bg-2);flex:none;align-items:center;padding:3px 8px;display:flex}.ed-mode-src{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11.5px;overflow:hidden}.ed-mode-src b{color:var(--text-2);font-weight:600}.ed-mode-acts{flex:none;gap:4px;display:flex}.ed-mode-acts[hidden],.ed .schema-ws,.ed.schema-view>.ed-head,.ed.schema-view>.code,.ed.schema-view>.editor-note{display:none}.ide.schema-layout{--fw:var(--fw-user,164px);--sw:var(--sw-user,300px)}.ed.schema-view>.schema-ws{flex:1;grid-template-columns:184px minmax(0,1fr);min-height:0;display:grid}.schema-pal{border-right:1px solid var(--line);background:var(--bg-2);padding:8px 6px;overflow:auto}.schema-pal .h3{margin:0 4px 4px}.schema-pal>.ed-mode{border:0;border-bottom:1px solid var(--line);background:0 0;margin:0 0 8px;padding:0 0 10px}.schema-pal>.ed-mode .segmented{width:100%;display:grid}.schema-pal .sp-it .flex1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sp-grp{margin-bottom:4px;display:grid}.sp-gt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:4px 6px 1px;font-size:10px;font-weight:600}.sp-gd{color:var(--faint);margin:0 6px 3px;font-size:10px}.sp-it{min-height:26px;color:var(--text);white-space:nowrap;cursor:grab;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:2px 5px;font-size:11.5px;display:flex}.sp-it:hover{border-color:var(--line);background:var(--bg-3)}.sp-it:focus{outline:none}.sp-it:focus-visible{border-color:var(--accent);background:var(--bg-3)}.sp-it[aria-disabled=true]{opacity:.45;cursor:not-allowed;background:0 0;border-color:#0000}.sp-ic{border-radius:5px;flex:none;place-items:center;width:20px;height:20px;display:grid}.sp-ic svg{display:block}.sp-ic.tone-move{background:var(--accent-bg);color:var(--accent)}.sp-ic.tone-wait{background:var(--warn-bg);color:var(--warn)}.sp-ic.tone-logic{background:var(--info-bg);color:var(--info)}.sp-ic.tone-device{background:var(--sim-bg);color:var(--sim)}.sp-ic.tone-end{background:var(--ok-bg);color:var(--ok)}.sp-ic.tone-stop{background:var(--danger-bg);color:var(--danger)}.sn-port{cursor:crosshair}.sn-port:hover{fill:var(--accent)}.schema-main{flex-direction:column;gap:6px;min-width:0;min-height:0;padding:8px 10px;display:flex}.schema-source{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;display:flex}.schema-source b{color:var(--text)}.schema-canvas-hd{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.schema-canvas{background:var(--bg-3);border:1px solid var(--line);border-radius:6px;flex:1;min-height:0;position:relative;overflow:auto}.schema-canvas.schema-pan-ready{cursor:grab}.schema-canvas.schema-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.schema-svg{width:100%;height:100%;min-height:220px;display:block}.schema-svg [data-schema-node]:focus{outline:none}.schema-svg [data-schema-node]:focus>rect:first-child,.schema-svg [data-schema-node]:focus>circle:first-child{stroke:var(--accent);stroke-width:3px}.schema-empty{text-align:center;justify-items:center;gap:4px;max-width:360px;display:grid;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}.schema-checks{flex-wrap:wrap;flex:none;gap:6px;display:flex}.schema-locked{grid-column:1/-1;align-self:center}.ed.schema-view .schema-main{gap:0;padding:0}.schema-main>.alert{margin:8px 10px 0}.schema-stage{flex:1;min-height:0;display:flex;position:relative}.schema-stage>.schema-canvas{border:0;border-radius:0}.schema-run{pointer-events:none;max-width:calc(100% - 20px);position:absolute;top:8px;left:10px}.schema-zoom{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;bottom:12px;right:12px}.schema-tools{align-items:center;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.schema-tools .schema-zoom{position:static}.schema-history{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex}.schema-marquee{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;border-radius:2px;position:absolute}.schema-stage .schema-svg.fit{min-width:600px;min-height:402px}.schema-zoom [data-zoom-val]{text-align:center;font-variant-numeric:tabular-nums;min-width:3.4em;display:inline-block}.ide.schema-layout .tree.vs .n .nm{flex:1 0 auto}.ide.schema-layout .tree.vs .n .meta{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}button.sp-it{width:100%;font:inherit;text-align:left;background:0 0;border:0;font-size:11.5px}.sp-it:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sp-q{color:var(--faint);font-size:10px}.schema-pal .sp-grp{margin-top:8px}.sch-props{flex-direction:column;gap:12px;min-width:0;padding:14px 16px 20px;display:flex}.sp-head{align-items:center;gap:10px;min-width:0;display:flex}.sp-head>.sp-ic{border-radius:8px;width:32px;height:32px}.sp-head>.sp-ic svg{width:18px;height:18px}.sp-name{min-width:0}.sch-props .sch-h{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:650;line-height:1.25}.sch-props .sch-h:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sp-type{color:var(--muted);font-size:11px}.sp-sum{background:var(--bg-3);color:var(--text-2);border-radius:6px;margin:0;padding:8px 10px;font-size:12px;line-height:1.45}.sp-sec{border-top:1px solid var(--line);flex-direction:column;gap:8px;min-width:0;padding-top:12px;display:flex}.sp-st{color:var(--text);margin:0;font-size:12.5px;font-weight:650}.sp-sub{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.sp-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;min-height:28px;display:grid}.sp-row.wide{grid-template-columns:minmax(0,1fr)}.sp-row>label,.sp-lbl{color:var(--text-2);min-width:0;font-size:12px}.sp-row>label small,.sp-lbl small{color:var(--muted);font-size:10.5px;display:block}.sp-rng{color:var(--faint);margin-left:6px;font-size:10.5px}.sp-val{align-items:center;gap:6px;display:inline-flex}.sch-props .sp-sel{width:72px}.sp-mini{color:var(--muted);font-size:11px}.sp-pair .sp-mini+.sp-num{margin-right:8px}.sch-props .segmented>button{height:auto;min-height:28px;padding:4px 10px;line-height:1.25}.sp-row.wide .segmented{width:100%;display:grid}.sp-row.wide .segmented>button{white-space:normal}.sch-props .unit.sp-num{width:112px}.sch-props .unit.sp-num .inp{flex:1}.sp-trs{flex-direction:column;gap:6px;display:flex}.sp-trh,.sp-tr{grid-template-columns:12px minmax(0,1fr) 112px;align-items:center;column-gap:6px;display:grid}.sp-when .unit.sp-num{flex:none;width:96px}.sp-trh{padding:0 7px 0 9px}.sp-trh>span{color:var(--muted);font-size:10.5px;font-weight:600}.sp-trh>span:last-child{text-align:left}.sp-tr{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;padding:8px 6px 8px 8px}.sp-n{color:var(--faint);text-align:center;font-size:11px}.sp-when{min-width:0;color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:12px;display:flex}.sp-to{border:1px solid var(--line-strong);background:var(--bg-3);width:100%;max-width:100%;min-height:30px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:7px;justify-self:end;align-items:center;gap:5px;padding:4px 6px 4px 4px;font-size:11.5px;font-weight:600;display:inline-flex}.sp-to-t{overflow-wrap:normal;flex:1;min-width:0;line-height:1.2}.sp-to>.sp-ic{width:18px;height:18px}.sp-to:hover:not(:disabled),.sp-to[aria-expanded=true]{border-color:var(--accent)}.sp-to:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sp-to:disabled{cursor:default}.sp-tr.out-timeout{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--danger) 70%, transparent)}.sp-tr.err{border-color:var(--danger);background:var(--danger-bg)}.sp-to.miss{border-style:dashed;border-color:var(--danger);color:var(--danger);justify-content:center}.sp-to.miss.pending{border-color:var(--line-strong);color:var(--muted)}.sp-tr .sp-miss.pending{color:var(--muted)}.sp-tr .sp-miss{grid-column:2/-1;margin-top:6px}.sch-props .sp-pick{width:150px}.sp-row.wide .sp-pick{width:100%}.sch-props .sp-cmp{width:56px}.sp-to.fail{border-color:color-mix(in srgb, var(--danger) 55%, var(--line))}.sp-add{align-self:flex-start}.sp-more>summary{padding:8px 12px}.sp-more .disclosure-bd{gap:8px;padding:10px 12px}.sp-foot{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.sp-code{color:var(--faint);font-size:10.5px}.sp-del{justify-content:center;width:100%;height:28px}.sp-req{color:var(--muted);margin:0;font-size:11px}.sch-list{gap:3px;margin:4px 0 0;padding:0;list-style:none;display:grid}.sch-list li{gap:6px;display:flex}.sch-list .bad{color:var(--danger)}.sch-list .good{color:var(--ok)}.sch-props .hint{color:var(--muted);font-size:10.5px}.field .hint.err,.sch-props .hint.err{color:var(--danger)}.fe-legend{color:var(--text-2);background:var(--bg-3);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:4px 14px;margin-top:8px;padding:6px 10px;font-size:11.5px;display:flex}.fe-legend>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.fe-legend b{color:var(--text);font-weight:600}.device-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch}.device-layout>.col>.device-link,.device-layout>.col>.device-caps{flex:1}.device-link{flex-direction:column;display:flex}.device-link>.hd .segmented{align-self:center}.device-more{border-top:1px solid var(--line);margin-top:auto}.device-add{border-top:1px solid var(--line);padding:8px}.device-add .inp{flex:1;max-width:360px}.device-setup{max-width:520px;padding:12px 14px}.device-layout .kv{margin:0}.device-checklist{gap:4px;margin:0;padding-left:18px;display:grid}.cap-list{margin:0;padding:0;list-style:none}.cap{--tone:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 12px;display:flex}.cap:last-child{border-bottom:0}.cap[data-tone=ok]{--tone:var(--ok)}.cap[data-tone=warn]{--tone:var(--warn)}.cap[data-tone=info]{--tone:var(--accent)}.cap-g{border:1px solid var(--tone);width:20px;height:20px;color:var(--tone);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.cap-t{font-size:12.5px;font-weight:600}.cap-d{color:var(--muted);font-size:11.5px}@media (width<=1100px){.device-layout{grid-template-columns:minmax(0,1fr)}}.list.cols{flex-direction:row}.list.cols>.it{border-bottom:0;border-right:1px solid var(--line);flex:1 1 0;align-items:flex-start}.list.cols>.it:last-child{border-right:0}.list>.it[aria-disabled=true]{opacity:.55;cursor:default}.list>.it[aria-disabled=true]:hover{background:0 0}@media (width<=700px){.list.cols{flex-direction:column}.list.cols>.it{border-right:0;border-bottom:1px solid var(--line)}}.tree.vs .n .meta.entry{color:var(--accent)}.tree.vs .n.off .nm{color:var(--faint)}.btn.top-ico{flex:none;justify-content:center;width:28px;padding:0}.bell-btn{position:relative}.bell-count{background:var(--accent);color:#fff;text-align:center;pointer-events:none;border-radius:8px;min-width:15px;height:15px;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:1px;right:0}.bell-count.err{background:var(--warn);color:#1b1405}.notif-pop{flex-direction:column;width:432px;max-height:min(560px,100vh - 60px);padding:0;display:none}.notif-pop:popover-open{display:flex}.np-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.np-head b{font-size:13px}.np-head .subtabs button,.np-head>.btn{white-space:nowrap}.np-head .spacer{flex:1}.np-note{border-bottom:1px solid var(--line);color:var(--muted);padding:6px 10px;font-size:11.5px}.np-body{flex:1;min-height:0;overflow:auto}.np-foot{border-top:1px solid var(--line);justify-content:space-between;padding:8px 10px;display:flex}.nt-list{margin:0;padding:0;list-style:none}.nt{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 10px 10px 12px;display:flex}.nt:last-child{border-bottom:0}.nt.unread{background:color-mix(in srgb, var(--accent-bg) 55%, transparent)}.nt-ic{background:var(--bg-4);width:26px;height:26px;color:var(--muted);border-radius:6px;flex:none;place-items:center;font-size:13px;display:grid}.nt.warn .nt-ic{color:var(--warn)}.nt.danger .nt-ic{color:var(--danger)}.nt-body{flex:1;min-width:0}.nt-t{color:var(--text-2);font-size:12.5px;text-decoration:none;display:block}.nt.unread .nt-t{color:var(--text);font-weight:600}.nt-t:hover{text-decoration:underline}.nt-d{color:var(--muted);margin-top:2px;font-size:12px}.nt-meta{color:var(--faint);flex-wrap:wrap;gap:0 10px;margin-top:3px;font-size:11px;display:flex}.nt-acts{gap:6px;margin-top:8px;display:flex}.nt-read{cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;display:grid}.nt-read .dot{border:1.5px solid var(--line-strong);border-radius:50%;width:9px;height:9px}.nt.unread .nt-read .dot{background:var(--accent);border-color:var(--accent)}.nt-read:hover{background:var(--bg-4)}.nt-read:focus-visible,.nt-t:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.nt-list.compact .nt-d{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.nt-empty{padding:26px 16px}.nt-day{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:10px 12px 4px;font-size:11px;font-weight:600}.nt-page{max-width:880px;margin:0 auto;padding-top:6px}.nt-head{align-items:flex-end;margin-bottom:16px}.nt-head .sub{margin-bottom:0}.nt-head .btn .ico{margin-right:2px}.nt-bar{z-index:2;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 -14px 12px;padding:10px 14px;display:flex;position:sticky;top:-14px}.nt-bar[hidden]{display:none}.nt-bar .subtabs>button{align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.nt-n{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500}.nt-bar .subtabs>.on .nt-n{color:var(--accent)}.nt-bar-sep{background:var(--line);width:1px;height:18px}.nt-cats{flex-wrap:wrap;gap:6px;display:flex}.nt-cats .chip{border-radius:13px;gap:6px;height:26px;padding:0 10px;font-size:12px}.nt-cats .chip>[aria-hidden]{color:var(--faint)}.nt-cats .chip.on>[aria-hidden],.nt-cats .chip.on .nt-n{color:var(--accent)}.nt-cats .chip.zero:not(.on){color:var(--faint)}.nt-offline{border:1px solid var(--line);background:var(--info-bg);border-radius:8px;margin-bottom:12px}.nt-feed{flex-direction:column;gap:18px;display:flex}.nt-feed>.nt-empty{border:1px dashed var(--line-strong);border-radius:10px;padding:56px 16px}.nt-feed .nt-day{align-items:baseline;gap:8px;margin:0;padding:0 4px 8px;display:flex}.nt-feed .nt-list{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;overflow:hidden}.nt-feed .nt{gap:12px;padding:14px 12px 14px 16px;transition:background .12s;position:relative}.nt-feed .nt:hover{background:var(--bg-3)}.nt-feed .nt.unread{background:0 0}.nt-feed .nt.unread:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.nt-feed .nt.unread:hover{background:var(--bg-3)}.nt-feed .nt-ic{border-radius:8px;width:32px;height:32px;font-size:14px}.nt-feed .nt.warn .nt-ic{background:var(--warn-bg)}.nt-feed .nt.danger .nt-ic{background:var(--danger-bg)}.nt-feed .nt-t{font-size:13.5px;line-height:1.35}.nt-feed .nt-d{margin-top:3px;font-size:12.5px;line-height:1.45}.nt-feed .nt-meta{gap:0;margin-top:6px}.nt-feed .nt-meta>span+span:before{content:"·";margin:0 7px}.nt-feed .nt-acts{margin-top:10px}.nt-set-pop{width:400px;padding:0}.nt-set-hd{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 8px 8px 14px;display:flex}.nt-set-hd b{font-size:13px}.nt-set-tbl{width:100%}.nt-set-tbl tbody th{text-transform:none;letter-spacing:0;color:var(--text-2);font-size:12px;font-weight:500}.nt-set-note{color:var(--muted);margin:0;padding:10px 14px 0;font-size:11.5px}.nt-set-keep{margin:10px 14px 14px}kbd.key{border:1px solid var(--line-strong);background:var(--bg-3);height:18px;color:var(--muted);white-space:nowrap;border-bottom-width:2px;border-radius:4px;align-items:center;padding:0 5px;font-size:10px;line-height:1;display:inline-flex}kbd.key+kbd.key{margin-left:3px}.search-trigger{min-width:32px;height:var(--top-ctl,28px);border:1px solid var(--line);background:var(--bg-3);color:var(--muted);font:inherit;cursor:pointer;border-radius:6px;flex:0 20 220px;align-items:center;gap:8px;padding:0 6px 0 9px;font-size:12px;display:inline-flex;overflow:hidden;container-type:inline-size}.search-trigger:hover{border-color:var(--line-strong);color:var(--text-2)}.search-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.search-trigger .ico{flex:none}.search-trigger .st-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@container (width<=130px){.search-trigger .key{display:none}}@container (width<=76px){.search-trigger .st-label{display:none}}.search-dlg{border:1px solid var(--line-strong);background:var(--bg-2);width:min(640px,100vw - 32px);max-height:min(580px,86vh - 16px);color:var(--text);box-shadow:var(--shadow);font:inherit;border-radius:10px;flex-direction:column;margin:14vh auto 0;padding:0;overflow:hidden}.search-dlg[open]{display:flex}.search-dlg::backdrop{background:#04070b9e}:root[data-theme=light] .search-dlg::backdrop{background:#1e2a3a61}.sd-head{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:0 10px 0 14px;display:flex}.sd-input{min-width:0;height:46px;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:15px}.sd-input::placeholder{color:var(--faint)}.sd-chips{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 14px;display:flex}.sd-chips .chip .n{margin-left:1px}.sd-note{border-bottom:1px solid var(--line);background:var(--info-bg);color:var(--text-2);padding:7px 14px;font-size:11.5px}.sd-list{flex:1;min-height:0;padding:4px 6px 8px;overflow:auto}.sd-gh{min-height:26px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;padding:8px 8px 2px;font-size:11px;font-weight:600;display:flex}.sd-gh .spacer{flex:1}.sd-gh .btn{text-transform:none;letter-spacing:0}.sd-opt{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.sd-opt[aria-selected=true]{background:var(--sel)}.sd-opt.off{cursor:not-allowed}.sd-opt.off .sd-t{color:var(--muted)}.sd-opt.off .sd-d{color:var(--warn)}.sd-ic{background:var(--bg-3);border:1px solid var(--line);width:24px;height:24px;color:var(--muted);border-radius:5px;flex:none;place-items:center;font-size:12px;display:grid}.sd-main{flex-direction:column;flex:1;min-width:0;display:flex}.sd-t{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sd-d{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.sd-kind{color:var(--faint);flex:none;font-size:11px}.sd-more .sd-t{color:var(--accent)}.sd-empty{padding:30px 20px}.sd-skel{flex-direction:column;gap:14px;padding:14px 8px;display:flex}.sd-skrow{align-items:center;gap:10px;display:flex}.sd-skrow .sk:first-child{flex:none;height:18px}.sd-foot{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:14px;padding:8px 14px;font-size:11px;display:flex}.sd-foot .spacer{flex:1}.sd-chips .chip.zero:not(.on){color:var(--faint);border-style:dashed}.backlink{color:var(--muted);margin-bottom:6px;font-size:12px;display:inline-block}.backlink:hover{color:var(--accent)}.project-page-head .h1{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-page-head .tag-row{margin:6px 0 0}.project-page-acts{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.project-page{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:12px;display:grid}@media (width<=1100px){.project-page{grid-template-columns:minmax(0,1fr)}}.project-libs td{vertical-align:middle}.warn-text{color:var(--warn)}.project-libs .lib-how{color:var(--muted);font-size:11px}.project-libs tr.fresh td{background:var(--accent-bg)}.project-libs td.acts{white-space:nowrap}.project-entry{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.project-entry .switch,.panel>.ft .switch{color:var(--text);font:inherit;text-align:left;background:0 0;border:0;padding:0;font-size:12px}.project-entry .switch:focus-visible,.panel>.ft .switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.lib-plan{gap:4px;display:grid}.project-tree .folder-row td{background:var(--bg-2);padding-top:5px;padding-bottom:5px}.project-tree .folder-row.drop td,.tile-group.drop,.project-tree .root-drop.drop td{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent)}.folder-toggle{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;padding:2px 4px;font-size:12.5px;display:inline-flex}.folder-toggle:hover{background:var(--sel)}.folder-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.folder-toggle:disabled{cursor:default;opacity:1}.folder-toggle .chev{width:10px;color:var(--muted)}.folder-toggle .fname{font-weight:650}.folder-toggle .cnt,.drop-hint{color:var(--muted);font-size:11px}.drop-hint{color:var(--accent);margin-left:10px}.folder-ic{width:16px;height:16px;fill:var(--warn-bg);stroke:var(--warn);stroke-width:1.2px;stroke-linejoin:round;flex:none}.project-tree tr.in-folder td.name-cell{padding-left:34px}.project-cell{align-items:center;gap:10px;min-width:0;display:flex}.project-cell>.start-thumb{flex:none;width:72px}.project-cell-main{min-width:16em}.project-tile>.start-thumb{width:100%}.project-tree .folder-empty td{color:var(--muted);padding-left:42px;font-size:11px}.project-tree .root-drop td{color:var(--accent);border-top:1px dashed var(--accent);font-size:12px}.folder-edit{align-items:center;gap:7px;padding-left:4px;display:flex}.folder-edit .chev{width:10px;color:var(--muted)}.folder-edit .inp{width:220px}.danger-text{color:var(--danger)}.tiles-bd .tile-group{border-bottom:1px solid var(--line)}.tile-group-hd{align-items:center;gap:6px;padding:6px 10px 0;display:flex}.tile-group .folder-empty{color:var(--muted);padding:6px 12px 12px 40px;font-size:11px}.project-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.project-meta .sep{color:var(--faint)}.project-stats .card{padding:12px 14px}.project-stats .stat .v{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.project-stats .stat .d{color:var(--muted);font-size:11px}.ok-text{color:var(--ok)!important}.project-activity td,.project-files td{vertical-align:middle}.project-files tr.dir-row td{color:var(--muted)}.link-inline{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.link-inline:hover{text-decoration:underline}.project-tree tr.project-row,.project-tile[data-project]{cursor:pointer}.project-tree tr.project-row:focus-visible,.project-tile[data-project]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.project-name{color:var(--text);font-weight:650}.settings-page{gap:28px;max-width:900px;padding-top:6px;display:grid}.set-section{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=1000px){.set-section{grid-template-columns:minmax(0,1fr);gap:10px}}.set-intro .h3{margin:0 0 6px;font-size:13px}.set-intro p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.set-fields{gap:16px;padding:16px;display:grid}.panel>.bd.set-fields{padding:16px}.set-fields .field{margin:0}.set-fields .field>label,.set-fields .field>.lbl-text{color:var(--text-2);margin-bottom:0;font-size:12px;font-weight:400}.set-fields .select,.set-fields .field.short>.inp{max-width:320px}.lbl-text{color:var(--text-2);margin-bottom:4px;font-size:12px;display:block}.tag-input{border:1px solid var(--line-strong);background:var(--bg-3);border-radius:6px;flex-wrap:wrap;align-items:center;gap:5px;min-height:30px;padding:3px 6px;display:flex}.tag-input:focus-within{border-color:var(--accent)}.tag-input input{min-width:100px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:120px;font-size:12px}.chip-x{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;margin-left:3px;padding:0 2px;font-size:10px}.chip-x:hover,.chip-x:focus-visible{opacity:1}.danger-zone .panel{border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.btn.danger-outline{border-color:var(--danger);color:var(--danger);background:0 0}.btn.danger-outline:hover{background:var(--danger-bg)}.project-page-body{max-width:1000px}.set-count{color:var(--muted);font-size:11.5px}@media (width>=1680px){.page.narrow.has-rail{--col:1364px}.has-rail .project-page-body{grid-template-columns:minmax(0,1000px) 340px;align-items:start;gap:28px 24px;max-width:none;display:grid}.has-rail .project-page-body>.set-section{grid-column:1}.has-rail .project-page-body>#activity{grid-area:1/2/span 5;grid-template-columns:minmax(0,1fr);gap:10px;position:sticky;top:0}.has-rail #activity .project-activity,.has-rail #activity .project-activity tbody{display:block}.has-rail #activity .project-activity tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px 10px;display:grid}.has-rail #activity .project-activity td{border:0;padding:0}.has-rail #activity .project-activity td:first-child{grid-area:1/1}.has-rail #activity .project-activity td:nth-child(2){grid-area:2/1}.has-rail #activity .project-activity td:nth-child(3){text-align:right;grid-area:2/2}.has-rail #activity .project-activity td:nth-child(4){grid-area:1/2}.has-rail #activity .ft{flex-wrap:wrap}.has-rail #activity .ft .set-count{flex-basis:100%}.has-rail #activity .ft .spacer{display:none}}.set-intro .fnt,.set-links{margin-top:8px;font-size:11.5px}.set-links{gap:4px;display:grid}.set-alerts{gap:8px;padding:10px 10px 0;display:grid}.set-alerts .alert{margin:0}.info-row{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:40px;padding:6px 12px;font-size:12.5px;display:grid}.info-row:last-child{border-bottom:0}.info-row .lbl{color:var(--muted);font-size:12px}.set-empty{color:var(--muted);padding:14px 12px;font-size:12px}.file-list{border:1px solid var(--line);border-radius:6px;margin:4px 0 0;padding:6px 0;list-style:none}.file-list li{align-items:center;gap:10px;min-height:26px;margin-left:10px;padding-right:10px;font-size:12px;display:flex}.file-list li.dir{color:var(--muted)}.file-list .role{color:var(--muted);font-size:11px}.nowrap{white-space:nowrap}.settings-tabs{z-index:3;background:var(--bg);margin:0 -14px 22px;padding:0 14px;position:sticky;top:-14px}.settings-page.wide{max-width:1000px}.page.narrow{--col:1000px;--gutter:max(14px, calc((100% - var(--col)) / 2));padding-inline:var(--gutter)}.page.narrow .settings-tabs{margin-inline:0;padding-inline:0}.set-row-c>.val{color:var(--text-2);font-size:12px}.set-rows{flex-direction:column;display:flex}.set-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-height:44px;padding:10px 16px;display:flex}.set-row:last-child{border-bottom:0}.set-row-t{flex:1;gap:2px;min-width:0;display:grid}.set-row-t>b{font-size:12.5px;font-weight:600}.set-row-t>span{color:var(--muted);font-size:11.5px;line-height:1.45}.set-row-c{flex:none;align-items:center;gap:6px;max-width:60%;display:flex}.set-row-c>.select,.set-row-c>select.inp{min-width:180px}.set-table,.set-fields+.set-rows{border-top:1px solid var(--line)}.set-fields .subtabs{flex-wrap:wrap;justify-self:start;width:fit-content}.level-pick .list.cols>.it{padding:12px 14px}.level-pick .it .t{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.level-pick .it .d{line-height:1.45}.level-pick{gap:8px;display:grid}.level-pick .disclosure-bd{padding:0}.lvl-table th[scope=row]{color:var(--text-2);white-space:nowrap;font-weight:600}.lvl-table td{vertical-align:top;font-size:12px}@media (width<=900px){.set-row{flex-wrap:wrap}.set-row-c{max-width:none}}.contest-field{background:var(--bg-3);border:1px solid var(--line);border-radius:6px;width:100%;height:auto;max-height:56vh;display:block}.contest-src{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:11.5px;display:flex}.contest-src b{color:var(--text-2);font-weight:600}.rule-list{color:var(--text-2);flex-direction:column;gap:5px;margin:0;padding-left:18px;font-size:12px;display:flex}.rule-list .ref{color:var(--faint);white-space:nowrap;font-size:11px}.panel.official{border-top:2px solid var(--info)}.panel.adapted{border-top:2px dashed var(--accent)}.contest-tbl td{vertical-align:top}.contest-tbl tbody tr:has(.ttl){cursor:pointer}.contest-tbl tbody tr:has(.ttl):hover{background:var(--bg-3)}.contest-tbl .ttl{font-size:13px;font-weight:650}.contest-tbl .ds{color:var(--muted);max-width:340px;font-size:11.5px}.contest-tbl .needs{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.contest-clock{letter-spacing:.5px;font:600 26px/1.1 JetBrains Mono,Cascadia Mono,ui-monospace,monospace}.contest-clock .of{color:var(--muted);font-size:13px;font-weight:500}.dt{flex-direction:column;min-width:0;display:flex}.dt-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 10px;display:flex}.dt-toolbar .spacer{flex:1}.dt-q{width:260px}.dt-chips{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.dt-chip b{font-weight:600}.dt-chip .x{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 2px}.dt-chip .x:hover{color:var(--text)}.dt-count{color:var(--muted);white-space:nowrap;font-size:11.5px}.dt-scroll{overflow-x:auto}.dt-table{table-layout:fixed;min-width:100%}.dt-table td{vertical-align:top;overflow-wrap:break-word}.dt-table td .badge{white-space:normal;height:auto;min-height:20px;padding-top:1px;padding-bottom:1px;line-height:1.3}.dt-table th{white-space:normal;padding-right:4px}.dt-table{min-width:1080px}.dt-h{align-items:center;gap:2px;min-width:0;display:flex}th.right .dt-h{justify-content:flex-end}.dt-sort,.dt-lbl{min-width:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:3px;margin-left:-3px;padding:2px 3px;display:inline-flex}.dt-lbl{cursor:default}.dt-sort:hover{color:var(--text);background:var(--bg-4)}.dt-si{opacity:.45;display:inline-flex}th[aria-sort=ascending] .dt-si,th[aria-sort=descending] .dt-si{opacity:1;color:var(--accent)}.dt-fbtn{height:20px;color:var(--faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;align-items:center;gap:2px;padding:0 4px;display:inline-flex}.dt-fbtn:hover,.dt-fbtn[aria-expanded=true]{color:var(--text);background:var(--bg-4)}.dt-fbtn.on{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}.dt-n{font-size:10px;font-weight:700}.dt-n:empty{display:none}.dt-pop{z-index:80;background:var(--bg-3);border:1px solid var(--line-strong);width:260px;box-shadow:var(--shadow);border-radius:7px;flex-direction:column;gap:6px;padding:6px;display:flex;position:fixed}.dt-pop-hd{align-items:center;gap:4px;padding:2px 2px 0 4px;font-size:12px;display:flex}.dt-pop-hd .spacer{flex:1}.dt-opts{flex-direction:column;max-height:min(260px,40vh);display:flex;overflow:auto}.dt-opt{cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:5px 6px;font-size:12px;display:flex}.dt-opt:hover{background:var(--bg-4)}.dt-opt[hidden]{display:none}.dt-opt input{accent-color:var(--accent);margin:0}.dt-none{color:var(--muted);padding:8px 6px;font-size:11.5px}.robot-empty-acts{justify-content:center;margin-top:12px}.pgroups{gap:18px;display:grid}.pgroup-h{align-items:center;gap:8px;margin-bottom:4px;display:flex}.pgroup-h .spacer{flex:1}.profile-warn{margin:4px 0 0;padding-left:18px}.pgroup-empty{margin:2px 0 0}.pgroup-h h3{color:var(--text);margin:0;font-size:13px;font-weight:600}table.pgrid{table-layout:fixed;border:1px solid var(--line);border-collapse:separate;border-spacing:0;border-radius:6px;overflow:hidden}table.pgrid col.c-lbl{width:38%}table.pgrid thead th{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11.5px;position:static}table.pgrid .pin-l{color:var(--faint);font-family:JetBrains Mono,Consolas,ui-monospace,monospace;font-size:10.5px}table.pgrid tbody th{text-transform:none;letter-spacing:0;text-align:left;color:var(--text-2);border-bottom:1px solid var(--line);vertical-align:middle;background:0 0;padding:6px 8px;font-size:12px;font-weight:400;position:static}table.pgrid tbody th .hint{color:var(--faint);font-size:10.5px;display:block}table.pgrid tbody tr:last-child th{border-bottom:0}table.pgrid tbody tr:hover{background:0 0}table.pgrid td{overflow-wrap:anywhere;height:34px}table.pgrid .pv{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}table.pgrid .pu{color:var(--muted)}table.pgrid tr.derived th,table.pgrid tr.derived td{background:var(--accent-bg)}table.pgrid tr.src th,table.pgrid tr.src td{background:var(--bg-3);color:var(--muted);font-size:11.5px}table.pgrid tr.src td{color:var(--text-2)}table.pgrid .unit.pin{max-width:150px;display:flex}table.pgrid .unit.pin .u{white-space:nowrap;min-width:48px}table.pgrid td .hint.err{color:var(--danger);margin-top:3px;font-size:10.5px;display:block}table.pgrid .select{width:100%;max-width:190px}.pnotes{border-top:1px solid var(--line);grid-template-columns:38% minmax(0,1fr);gap:4px 12px;margin:0;padding-top:10px;font-size:11.5px;display:grid}.pnotes dt{color:var(--muted)}.pnotes dd{color:var(--text-2);margin:0}.robot-layout .rl-off{opacity:.4}.robot-history{max-height:200px;overflow-y:auto}.robot-history:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.robot-layout{justify-items:start;gap:4px;margin:0;display:grid}.robot-layout svg{width:100%;max-width:580px;height:auto}.robot-found{border:1px solid var(--line);background:var(--bg-3);border-radius:6px;padding:8px 10px}.robot-found dd{font-family:inherit;font-size:inherit}.id-check{border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:var(--bg-2);border-radius:8px;gap:10px;margin-top:10px;padding:12px;display:grid}.id-check[data-tone=warn]{border-left-color:var(--warn)}.id-check[data-tone=danger]{border-left-color:var(--danger)}.id-check .h3,.id-note{margin:0}.conn-robot-name{gap:2px;display:grid}.robot-empty-alt{flex-wrap:wrap;justify-content:center;gap:4px 6px;margin-top:14px;display:flex}.robot-empty-alt .sep{color:var(--faint)}.robot-acts{flex-wrap:nowrap;justify-content:flex-end}.robot-list .robot-prof .d{color:var(--muted);font-size:11px;display:block}.run-cond{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:6px 8px;padding:8px 12px;display:grid}.run-cond.titled{border-bottom:1px solid var(--line);grid-template-columns:auto repeat(2,minmax(0,1fr));padding:6px 10px}.run-cond .rc-t{color:var(--muted);align-self:center;padding-top:14px;font-size:11px}.run-cond .rc-f{min-width:0;color:var(--muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.run-cond .unit{min-width:0}.run-cond .rc-note{color:var(--faint);grid-column:1/-1;font-size:11px}.sim-aside{flex-direction:column;gap:12px;min-height:0;display:flex}.sim-aside>.panel{margin:0}.sim-aside>.sim-side{flex-direction:column;flex:1;min-height:0;display:flex}.robot-sprite .rs-chassis{fill:var(--bg-4);stroke-width:1.6px}.robot-sprite .rs-caster rect{fill:var(--bg-3);stroke:var(--line-strong);stroke-width:.6px}.robot-sprite .rs-ball{fill:var(--rs-hub);stroke:var(--rs-gear);stroke-width:.5px}.robot-sprite .rs-pcb,.robot-sprite .rs-mcu{fill:var(--rs-pcb);stroke:var(--rs-pcb-edge);stroke-width:.5px}.robot-sprite .rs-chip,.robot-sprite .rs-opto{fill:var(--rs-chip)}.robot-sprite .rs-lens{fill:var(--rs-gear)}.robot-sprite .rs-eye{fill:var(--ok)}.robot-sprite .rs-pin{fill:var(--rs-pin);stroke:var(--rs-pin);stroke-width:.8px}.robot-sprite .rs-gear{fill:var(--rs-gear)}.robot-sprite .rs-motor{fill:var(--rs-motor);stroke:var(--rs-gear);stroke-width:.4px}.robot-sprite .rs-strap{fill:var(--line-strong)}.robot-sprite .rs-screw{fill:var(--rs-screw)}.robot-sprite .rs-wire{fill:none;stroke-width:.8px;stroke-linecap:round}.robot-sprite .rs-wire-a{stroke:var(--rs-wire-a)}.robot-sprite .rs-wire-b{stroke:var(--rs-wire-b)}.robot-sprite .rs-wire-c{stroke:var(--rs-wire-c);stroke-width:1.1px}.robot-sprite .rs-tire{fill:var(--rs-tire)}.robot-sprite .rs-tread{stroke:var(--rs-tread);stroke-width:.8px}.robot-sprite .rs-hub{fill:var(--rs-hub)}.topbar{position:relative}.topbar .search-trigger{width:min(320px,100% - 440px);min-width:150px;position:absolute;left:50%;transform:translate(-50%)}.topbar:has(.runbar)>.spacer{display:none}.topbar:has(.runbar) .search-trigger{width:auto;min-width:32px;margin-inline:auto;position:static;transform:none}.ds-chart-events{color:var(--text-2)}.ds-chart-events summary{cursor:pointer}.ds-chart-events ul{max-height:72px;margin:4px 0 0;padding-left:20px;overflow:auto}.direction-chart text{fill:var(--faint);font-family:monospace;font-size:9px}.link-button{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-decoration:underline}.input-action{align-items:center;gap:6px;min-width:0;display:flex}.input-action>.inp{flex:1;width:0;min-width:0}.input-action>.btn{flex-shrink:0}.inp.lg{border-radius:8px;height:40px;padding:0 12px;font-size:14px}select.inp.lg{padding-right:8px}.inp.lg:focus{box-shadow:0 0 0 3px var(--accent-bg)}.inp.lg.err:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.inp.lg:disabled{opacity:.6;cursor:not-allowed}.btn.xl{border-radius:8px;justify-content:center;height:40px;padding:0 18px;font-size:14px}.btn.block{justify-content:center;width:100%;display:flex}.field.lg{gap:6px}.field.lg>label,.field.lg>.lbl,.field.lg>.field-head>label{color:var(--text-2);font-size:12.5px;font-weight:600}.field.lg .hint{color:var(--muted);font-size:12px}.field.lg .hint.err{color:var(--danger)}.field-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.subtabs.block{border-radius:8px;padding:3px;display:flex}.subtabs.block>button{border-radius:6px;flex:1;padding:7px 10px;font-size:13px}.segmented.sm>button{height:26px;padding:0 10px;font-size:11.5px;font-weight:600}.segmented.quiet{border-color:var(--line);background:var(--bg);border-radius:6px;align-self:center;gap:2px;padding:1px}.segmented.quiet>button{height:22px;color:var(--muted);border-radius:4px;padding:0 8px}.segmented.quiet>button+button{border-left:0}.segmented.quiet>button:hover{background:var(--bg-3);color:var(--text)}.segmented.quiet>button[aria-checked=true]{background:var(--bg-4);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.segmented.quiet>button:focus-visible{outline-offset:1px}.segmented.quiet.ico>button{place-items:center;width:24px;padding:0;display:inline-grid}.inp-affix{display:flex;position:relative}.inp-affix>.inp{padding-right:92px}.inp-affix>.btn{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.file-drop{text-align:center;color:var(--muted);background:var(--bg-2);border:1px dashed var(--line-strong);border-radius:10px;place-items:center;gap:8px;padding:28px 20px;display:grid}.file-drop .ei{opacity:.5;font-size:26px}.file-drop .et{color:var(--text-2);font-size:13px;font-weight:600}.file-drop.over{border-color:var(--accent);background:var(--accent-bg)}.file-drop.err{border-color:var(--danger);background:var(--danger-bg)}.runs-body{flex-direction:column;gap:12px;display:flex}.run-sw{vertical-align:-1px;border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.runs-sum-wrap{contain:inline-size layout paint;min-width:0;overflow-x:auto}table.tbl.runs-sum th,table.tbl.runs-sum td{white-space:nowrap;position:static}table.tbl.runs-sum tbody th{text-transform:none;letter-spacing:0;color:var(--text);border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600}table.tbl.runs-sum tbody tr:last-child th{border-bottom:0}table.tbl.runs-sum td.num{font-size:12.5px}table.tbl.runs-sum tr>:first-child{z-index:1;background:var(--bg-2);position:sticky;left:0}.runs-sum-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.runs-rec{align-items:center;gap:8px;display:inline-flex}.runs-na{color:var(--faint);font-family:inherit}table.tbl.runs-sum tr>:last-child{width:100%}.runs-dcol{background:var(--warn-bg)}table.tbl.runs-sum th.runs-dcol{color:var(--warn)}.runs-same{border-top:1px solid var(--line);color:var(--text-2);flex-wrap:wrap;gap:4px 18px;margin:0;padding:8px 10px;font-size:12px;display:flex}.runs-same-t{color:var(--faint);letter-spacing:.4px;text-transform:uppercase;align-self:center;font-size:10.5px;font-weight:600}.runs-player{z-index:5;position:sticky;top:-14px}.runs-ctl{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.runs-ctl>.tl-track{flex:260px;min-width:200px;margin:0 8px}.runs-ctl .tl-ev[style*=--rc]{box-shadow:inset 0 -2px 0 var(--rc)}.runs-tail{border-left:2px solid var(--rc);background:repeating-linear-gradient(135deg, transparent 0 5px, var(--bg-4) 5px 6px);opacity:.7;pointer-events:none;position:absolute;top:0;bottom:0;right:0}.runs-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.runs-field>.bd{flex:1}.runs-field .field2d{align-items:center;display:flex}.runs-main.solo{grid-template-columns:minmax(0,1fr)}.runs-main.solo .field2d>svg{max-height:440px}.runs-vals{gap:4px 14px}.runs-vals>span{align-items:center;gap:6px;display:inline-flex}.runs-vals b{color:var(--text);font-weight:600}.runs-absent{border:1px dashed var(--line-strong);color:var(--text-2);border-radius:8px;align-items:baseline;gap:8px;padding:8px 12px;font-size:12px;display:flex}.runs-absent .ai{color:var(--faint)}@media (width<=1000px){.runs-main{grid-template-columns:minmax(0,1fr)}}.ed.history-view>.code,.ed.history-view>.editor-note{display:none}.file-history{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex;container:file-history/inline-size}.fh-bar{border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:nowrap;flex:none;align-items:center;gap:8px;min-width:0;min-height:32px;padding:0 10px 0 6px;display:flex}.fh-back{min-width:0;max-width:50%}.fh-back .mono{text-overflow:ellipsis;overflow:hidden}.fh-title{text-overflow:ellipsis;min-width:0;color:var(--text-2);white-space:nowrap;margin:0;font-size:12px;font-weight:650;overflow:hidden}.fh-stat{color:var(--muted);white-space:nowrap;margin-left:auto;font-family:JetBrains Mono,Consolas,ui-monospace,monospace;font-size:11.5px}.fh-view{flex:none;margin-left:4px}.fh-stat .add{color:var(--ok)}.fh-stat .del{color:var(--danger)}.fh-body{flex:1;grid-template-columns:200px minmax(0,1fr);min-height:0;display:grid}.fh-list{border-right:1px solid var(--line);background:var(--bg-2);margin:0;padding:4px 0;list-style:none;overflow:auto}.fh-it{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 6px;padding:0 6px 0 0;display:grid;position:relative}.fh-it:hover{background:var(--bg-3)}.fh-it.a{background:color-mix(in srgb, var(--danger) 9%, var(--bg-3));box-shadow:inset 2px 0 0 var(--danger);scroll-margin-block:4px}.fh-it.b{background:color-mix(in srgb, var(--ok) 9%, var(--bg-3));box-shadow:inset 2px 0 0 var(--ok)}.fh-main{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 4px 5px 10px;display:flex}.fh-main .t,.fh-main .d{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.fh-main .t{font-size:12px}.fh-main .d{color:var(--muted);font-size:11px}.fh-main .badge{height:16px;font-size:10.5px}.fh-pick{background:var(--bg-3);opacity:0;position:absolute;top:50%;right:6px;translate:0 -50%}.fh-it:hover .fh-pick,.fh-it:focus-within .fh-pick{opacity:1}.fh-it>.diff-role{grid-area:1/2}.fh-it>.diff-role~.fh-pick{display:none}.fh-it.a .fh-main{scroll-margin-bottom:44px}.fh-restore{flex-direction:column;grid-column:1/-1;align-items:flex-start;gap:4px;padding:0 0 6px 10px;display:flex}.fh-restore .btn{max-width:100%}.fh-restore .btn .spin{margin-right:6px}.fh-restore-err{color:var(--danger);font-size:11px;line-height:1.35}.fh-confirm{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0 0 10px;font-size:12.5px;display:grid}.fh-confirm dt{color:var(--muted)}.fh-confirm dd{overflow-wrap:anywhere;margin:0}.fh-state{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.diff-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;container:diff-pair/inline-size}.diff-side,.diff-unified{flex-direction:column;min-width:0;min-height:0;display:flex}.diff-side+.diff-side{border-left:1px solid var(--line)}.diff-unified{grid-column:1/-1;display:none}@container diff-pair (width<=559px){.diff-side{display:none}.diff-unified{display:flex}}.diff-pair[data-diff-view=split]>.diff-side{display:flex}.diff-pair[data-diff-view=split]>.diff-unified,.diff-pair[data-diff-view=inline]>.diff-side{display:none}.diff-pair[data-diff-view=inline]>.diff-unified{display:flex}.diff-hd{border-bottom:1px solid var(--line);background:var(--bg-3);white-space:nowrap;flex:none;align-items:center;gap:8px;height:30px;padding:0 10px;font-size:11.5px;display:flex;overflow:hidden}.diff-hd>*{flex:none}.diff-ver{min-width:0;color:var(--text-2);flex:0 auto;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.diff-ver .vt,.diff-ver .vf,.diff-ver time{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.diff-ver .vt{flex:0 1000 auto}.diff-ver .vf,.diff-ver time{flex:0 auto}.diff-ver time{color:var(--muted);font-variant-numeric:tabular-nums}.diff-ver .badge{flex:none;height:16px}.diff-unified .diff-ver+.diff-role{margin-left:6px}.diff-unified .diff-ver{flex:1 1 0}.diff-unified .diff-ver .vf{display:none}.diff-role{white-space:nowrap;border-radius:4px;align-items:center;height:18px;padding:0 6px;font-size:11px;font-weight:650;display:inline-flex}.diff-role.a{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.diff-role.b{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.code.diff .l:before{counter-increment:none;content:attr(data-ln)}.code.diff .l.gap{background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--line) 55%, transparent) 5px 6px)}.code.diff .l.del:before{content:"−" attr(data-ln);color:var(--danger);opacity:1}.code.diff .l.add:before{content:"+" attr(data-ln);color:var(--ok);opacity:1}.code.diff .l[data-fold-id][hidden]{display:none}.diff-fold{background:color-mix(in srgb, var(--accent) 7%, var(--bg-2));border-block:1px solid color-mix(in srgb, var(--line) 70%, transparent);align-items:center;height:1.6em;padding-left:42px;font-family:inherit;display:flex}.diff-fold[aria-expanded=true]{background:var(--bg-2)}.diff-fold:has([aria-expanded=true]){background:var(--bg-2)}.diff-fold>button{min-width:0;height:100%;color:var(--accent);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font:11.5px/1 Inter,Segoe UI,system-ui,sans-serif;display:inline-flex}.diff-fold>button:hover{text-decoration:underline}.diff-fold>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:3px}.diff-fold>button .ico{flex:none;transition:transform .12s}.diff-fold>button[aria-expanded=true] .ico{transform:rotate(90deg)}.diff-same{flex-direction:column;grid-column:1/-1;min-height:0;display:flex}.diff-same .ds-row{border-bottom:1px solid var(--line);background:var(--bg-2);flex:none;align-items:center;gap:10px;min-height:40px;padding:6px 12px;font-size:12px;display:flex}.diff-same .ds-row .ds-t{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);flex:1;overflow:hidden}.diff-same .ds-row .btn{flex:none}@container file-history (width<=520px){.fh-body{grid-template-rows:minmax(84px,32%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.fh-list{border-right:0;border-bottom:1px solid var(--line)}}.preview-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,216px),1fr));gap:12px;display:grid}.preview-tile{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.preview-tile:hover{border-color:var(--line-strong)}.preview-tile:has(.preview-tile-name:focus-visible){outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.preview-tile-media{aspect-ratio:16/10;background:var(--bg-3);border-bottom:1px solid var(--line);flex:none;place-items:center;display:grid;position:relative}.preview-tile-media>svg{width:calc(100% - 20px);height:calc(100% - 20px);display:block;position:absolute;inset:10px}.preview-tile-media .preview-tile-flag{position:absolute;top:6px;left:6px}.preview-tile-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding:8px 10px 10px;display:flex}.preview-tile-name{-webkit-line-clamp:2;color:var(--text);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.preview-tile-name:hover{color:var(--accent);text-decoration:none}.preview-tile-name:focus-visible{outline:none}.preview-tile-name:after{content:"";position:absolute;inset:0}.preview-tile-meta{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.preview-tile-foot{align-items:center;gap:6px;min-width:0;margin-top:auto;padding-top:2px;display:flex}.preview-tile-foot .badge{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preview-tile-foot .btn{z-index:1;flex:none;margin-left:auto;position:relative}.preview-tile.sk-tile .preview-tile-media{background:linear-gradient(90deg, var(--bg-3), var(--bg-4), var(--bg-3))}.catalog-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px;display:flex}.catalog-filters,.catalog-view{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.catalog-filters{flex:auto}.catalog-view{flex:0 auto;margin-left:auto}.catalog-ctl{align-items:center;gap:6px;min-width:0;display:inline-flex}.catalog-ctl.catalog-q{flex:200px;max-width:280px}.catalog-ctl.catalog-q .inp{flex:1;min-width:0}.catalog-bar select.inp{width:auto;max-width:200px}.catalog-group+.catalog-group{margin-top:18px}.catalog-group>.page-section-hd{margin-bottom:10px}.catalog-group>.page-section-hd .h2{font-size:13px}.serial-console{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.console-toolbar{border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.console-toolbar .inp{flex:160px;width:auto;min-width:0}.serial-console-status{margin:0;padding:4px 10px}.console-toolbar .btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-bg);color:var(--text)}.console-output{white-space:pre;word-break:normal;overflow-wrap:normal;flex:auto;min-height:80px;margin:0;display:block}.console-output mark{background:var(--warn-bg);color:var(--warn)}.serial-console-host{flex-direction:column;min-height:0;display:flex;overflow:hidden}.serial-console-dialog .serial-console{height:min(50vh,360px)}.course-cycle{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;padding:12px}.course-cycle__phase{border-left:2px solid var(--accent);padding-left:10px}.course-cycle__quote{border:1px solid var(--line);background:var(--bg-3);border-radius:6px;padding:8px 10px}.course-cycle__quote p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.course-cycle__runs,.course-cycle__missing{margin:0;padding-left:18px;font-size:12px}.course-cycle__runs{color:var(--text-2)}.course-cycle__missing{color:var(--warn)}.course-cycle__done summary,.course-field__notes summary{cursor:pointer;color:var(--text-2);font-size:12px}.course-field+.course-field{border-top:1px solid var(--line);padding-top:12px}.course-field__notes ul{color:var(--text-2);margin:6px 0 0;padding-left:18px;font-size:12px}.course-key{gap:4px;margin:0;padding:0;list-style:none;display:grid}.course-cycle .steps{flex-wrap:wrap;row-gap:6px}.course-cycle .steps .ln{width:10px;margin:0 6px}.course-teaching__columns{grid-template-columns:300px minmax(0,1fr)}@media (width<=1000px){.course-teaching__columns{grid-template-columns:minmax(0,1fr)}}.lesson-content .course-program{white-space:normal;text-align:left;max-width:100%;height:auto;min-height:28px}.cdoc{color:var(--text);font-size:15px;line-height:1.6}.cdoc p,.cdoc ul,.cdoc ol{margin:0 0 10px}.cdoc ul,.cdoc ol{padding-left:24px}.cdoc li{margin:3px 0;padding-left:2px}.cdoc ol>li::marker{color:var(--accent);font-weight:700}.cdoc code{background:var(--bg-3);border-radius:4px;padding:1px 4px;font-family:ui-monospace,Consolas,monospace;font-size:.9em}.cdoc :is(p,ul,ol,.cdoc-callout,.cdoc-reveal,.cdoc-table):last-child{margin-bottom:0}.cdoc-ic{vertical-align:-.15em;flex:none;width:1.1em;height:1.1em}.cdoc-eyebrow{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:650;display:inline-flex}.cdoc-title{letter-spacing:-.015em;margin:4px 0 8px;font-size:30px;font-weight:750;line-height:1.15}.cdoc-sub{color:var(--text-2);margin:0 0 14px;font-size:17px}.cdoc-chips{flex-wrap:wrap;gap:8px;display:flex}.cdoc-chip{border:1px solid var(--line);background:var(--bg-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.cdoc-chip.sim{border-color:var(--sim);color:var(--sim);background:var(--sim-bg)}.cdoc-outcome{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent-bg), var(--bg-2));border-radius:14px;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.cdoc-outcome-ic{background:var(--accent);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.cdoc-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:4px;font-size:12.5px;font-weight:700}.cdoc-outcome p{margin:0;font-size:16px}.cdoc-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.cdoc-card{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;padding:14px 16px}.cdoc-card h3{align-items:center;gap:8px;margin:0 0 8px;font-size:14.5px;display:flex}.cdoc-card ul{color:var(--text-2);margin:0;padding-left:18px;font-size:14px}.cdoc-card a{color:var(--accent)}.cdoc-parts{flex-wrap:wrap;gap:6px;display:flex}.cdoc-session{align-items:center;gap:12px;display:flex}.cdoc-session-badge{background:var(--text);width:40px;height:40px;color:var(--bg);border-radius:12px;flex:none;place-items:center;font-size:18px;font-weight:750;display:grid}.cdoc-session-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11.5px;font-weight:650}.cdoc-session-title{font-size:18px;font-weight:750;line-height:1.2}.cdoc-session:after{content:"";background:var(--line);flex:1;height:1px}.cdoc-step{border:1px solid var(--line);background:var(--bg-2);box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}.cdoc-step-head{align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.cdoc-step-num{background:var(--accent-bg);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:750;display:grid}.cdoc-step[data-done] .cdoc-step-num{background:var(--ok);color:#fff}.cdoc-step-head h2,.cdoc-step-head h3{flex:1;margin:0;font-size:17.5px;line-height:1.3}.cdoc-step-time{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.cdoc-step-body{flex-direction:column;gap:10px;padding:0 16px 12px 60px;display:flex}.cdoc-step-body>*{margin:0}.cdoc-step-foot{border-top:1px solid var(--line);background:var(--bg-3);align-items:center;gap:10px;padding:10px 16px;display:flex}.cdoc-done{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;font-weight:650;display:inline-flex}.cdoc-done input{width:17px;height:17px;accent-color:var(--ok)}.cdoc-callout{background:var(--bg-3);border:1px solid #0000;border-radius:10px;gap:12px;padding:11px 14px;display:flex}.cdoc-callout>.cdoc-ic{margin-top:.3em}.cdoc-callout-body{flex:1;min-width:0}.cdoc-callout-title{text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:12.5px;font-weight:750}.cdoc-callout[data-kind=result]{background:var(--ok-bg);border-color:color-mix(in srgb, var(--ok) 30%, transparent)}.cdoc-callout[data-kind=result] .cdoc-callout-title,.cdoc-callout[data-kind=result]>.cdoc-ic{color:var(--ok)}.cdoc-callout[data-kind=safety]{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.cdoc-callout[data-kind=safety] .cdoc-callout-title,.cdoc-callout[data-kind=safety]>.cdoc-ic{color:var(--danger)}.cdoc-callout[data-kind=predict]{background:var(--sim-bg);border-color:color-mix(in srgb, var(--sim) 30%, transparent)}.cdoc-callout[data-kind=predict] .cdoc-callout-title,.cdoc-callout[data-kind=predict]>.cdoc-ic{color:var(--sim)}.cdoc-callout[data-kind=recall]{background:var(--bg-2);border-color:var(--accent)}.cdoc-callout[data-kind=recall] .cdoc-callout-title,.cdoc-callout[data-kind=recall]>.cdoc-ic{color:var(--accent)}.cdoc-callout:is([data-kind=challenge],[data-kind=debug]){background:var(--bg-2);border:1.5px dashed var(--warn)}.cdoc-callout:is([data-kind=challenge],[data-kind=debug]) .cdoc-callout-title,.cdoc-callout:is([data-kind=challenge],[data-kind=debug])>.cdoc-ic{color:var(--warn)}.cdoc-callout .field{margin-top:8px}.cdoc-reveal{border:1px solid var(--line);background:var(--bg-2);border-radius:10px}.cdoc-reveal>summary{cursor:pointer;align-items:center;gap:10px;padding:9px 14px;font-size:14px;font-weight:650;list-style:none;display:flex}.cdoc-reveal>summary::-webkit-details-marker{display:none}.cdoc-reveal>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:7px;height:7px;margin-left:auto;transition:transform .2s;transform:rotate(45deg)}.cdoc-reveal[open]>summary:after{transform:rotate(-135deg)}.cdoc-reveal>.cdoc-reveal-body{padding:0 14px 10px 38px}.cdoc-reveal[data-kind=hint]>summary{color:var(--warn)}.cdoc-reveal[data-kind=explain]>summary{color:var(--info)}.cdoc-table{overflow-x:auto}.cdoc-table table{border-collapse:collapse;border:1px solid var(--line);border-radius:9px;width:100%;font-size:14px;overflow:hidden}.cdoc-table :is(th,td){text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}.cdoc-table th{background:var(--bg-3);color:var(--text-2);font-size:13px;font-weight:650}.cdoc-table td:empty:after{content:"";min-width:3em;min-height:1.3em;display:inline-block}.cdoc-pre{border:1px solid var(--line);background:var(--bg);border-radius:9px;margin:0;padding:10px 14px;font:13px/1.6 ui-monospace,Consolas,monospace;overflow-x:auto}.cdoc-program{border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.cdoc-program-ic{background:var(--accent-bg);width:30px;height:30px;color:var(--accent);border-radius:8px;flex:none;place-items:center;font:650 12px/1 ui-monospace,monospace;display:grid}.cdoc-program-main{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.cdoc-figure{margin:0}.cdoc-figure img{border:1px solid var(--line);border-radius:9px;max-width:100%;height:auto;display:block}.cdoc-figure figcaption{color:var(--muted);margin-top:4px;font-size:13px}.cdoc-tiers{flex-direction:column;gap:8px;display:flex}.cdoc-tier{border:1.5px solid var(--line);background:var(--bg-2);border-left-width:5px;border-radius:10px;align-items:flex-start;gap:10px;padding:11px 14px;display:flex}.cdoc-tier[data-tier=core]{border-left-color:var(--ok)}.cdoc-tier[data-tier=star]{border-left-color:var(--warn)}.cdoc-tier[data-tier=star2]{border-left-color:var(--sim)}.cdoc-tier-mark{border-radius:999px;flex:none;place-items:center;min-width:34px;height:24px;padding:0 6px;font-size:13px;font-weight:750;display:grid}.cdoc-tier[data-tier=core] .cdoc-tier-mark{background:var(--ok-bg);color:var(--ok)}.cdoc-tier[data-tier=star] .cdoc-tier-mark{background:var(--warn-bg);color:var(--warn)}.cdoc-tier[data-tier=star2] .cdoc-tier-mark{background:var(--sim-bg);color:var(--sim)}.cdoc-tiers [role=tabpanel][hidden]{display:none}.cdoc-practice{border:1px solid var(--line-strong);background:var(--bg-2);border-radius:14px;overflow:hidden}.cdoc-practice-hd{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.cdoc-practice-hd b{flex:1;font-size:14px}.cdoc-lane{flex-direction:column;gap:8px;padding:10px 14px 12px;display:flex}.cdoc-lane+.cdoc-lane{border-top:1px dashed var(--line-strong)}.cdoc-lane-hd{align-items:center;gap:10px;display:flex}.cdoc-lane-n{background:var(--bg-4);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:750;display:grid}.cdoc-lane[data-where=virtual] .cdoc-lane-n{background:var(--sim);color:#fff}.cdoc-lane[data-where=real] .cdoc-lane-n{background:var(--text);color:var(--bg)}.cdoc-lane[data-state=done] .cdoc-lane-n{background:var(--ok);color:#fff}.cdoc-lane-title{flex:1;font-size:14px;font-weight:700}.cdoc-lane[data-state=later] .cdoc-lane-tasks{opacity:.62}.cdoc-lane-note{color:var(--muted);font-size:12.5px}.cdoc-lane-tasks{flex-direction:column;gap:6px;margin:0;padding:0 0 0 34px;font-size:14px;list-style:none;display:flex}.cdoc-lane-tasks li{align-items:flex-start;gap:8px;display:flex}.cdoc-lane-tasks li>.flex1{line-height:1.4}.cdoc-task-mark{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:17px;height:17px;margin-top:2px;font-size:10px;display:grid}.cdoc-lane-tasks li[data-state=done] .cdoc-task-mark{background:var(--ok);border-color:var(--ok);color:#fff}.cdoc-lane-tasks li[data-state=done]>.flex1{color:var(--text-2)}.cdoc-lane-tasks input[type=checkbox]{width:17px;height:17px;accent-color:var(--ok);flex:none;margin:2px 0 0}.cdoc-tool{border:1px solid var(--line-strong);background:var(--bg);height:20px;color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:11.5px;font-weight:650;display:inline-flex}.cdoc-tool:hover{border-color:var(--accent);color:var(--accent)}.cdoc-auto{color:var(--muted);white-space:nowrap;font-size:11.5px}.cdoc-exp{border:1px solid var(--line-strong);background:var(--bg-2);border-radius:14px;scroll-margin-top:8px;font-size:14px;line-height:1.5;overflow:hidden}.cdoc-exp-hd{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.cdoc-exp-hd>.cdoc-ic{color:var(--accent)}.cdoc-exp-hd h3{flex:1;margin:0;font-size:14px;font-weight:700}.cdoc-exp>.steps{border-bottom:1px solid var(--line);flex-wrap:nowrap;padding:10px 14px}.cdoc-exp>.steps .st{white-space:nowrap}.cdoc-exp>.steps .ln{flex:8px;width:auto;min-width:6px;margin:0 6px}.steps .st.ext b{background:0 0;border-style:dashed}.cdoc-exp-stage{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cdoc-exp-stage+.cdoc-exp-stage{border-top:1px dashed var(--line-strong)}.cdoc-exp-stage-t{align-items:center;gap:8px;display:flex}.cdoc-exp-stage-t h4{margin:0;font-size:14px;font-weight:700}.cdoc-exp-stage-body{flex-direction:column;gap:8px;min-width:0;padding-left:28px;display:flex}.cdoc-exp-stage-body>*{margin:0}.cdoc-exp-mark{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:750;display:grid}.cdoc-exp-stage[data-state=done] .cdoc-exp-mark{background:var(--ok)}.cdoc-exp-stage[data-state=ext] .cdoc-exp-mark{color:var(--text-2);border:1.5px dashed var(--line-strong);background:0 0}details.cdoc-exp-stage{padding:0}details.cdoc-exp-stage>summary{cursor:pointer;border-radius:0;align-items:center;gap:8px;padding:9px 14px;list-style:none;display:flex}details.cdoc-exp-stage>summary::-webkit-details-marker{display:none}details.cdoc-exp-stage>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:7px;height:7px;margin:0 2px 3px 4px;transition:transform .2s;transform:rotate(45deg)}details.cdoc-exp-stage[open]>summary:after{margin-bottom:-3px;transform:rotate(-135deg)}details.cdoc-exp-stage>summary:hover{background:var(--bg-3)}details.cdoc-exp-stage>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}details.cdoc-exp-stage>summary b{flex:none;font-size:13.5px}.cdoc-exp-sum{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);flex:1;font-size:13px;overflow:hidden}details.cdoc-exp-stage[open] .cdoc-exp-sum{visibility:hidden}details.cdoc-exp-stage>.cdoc-exp-stage-body{padding:0 14px 12px 42px}.cdoc-exp-q{color:var(--text);font-weight:600}.cdoc-exp-quote{border-left:3px solid var(--sim);background:var(--sim-bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 8px 8px 0;padding:7px 12px}.cdoc-exp .cdoc-exp-list{padding-left:20px}.cdoc-exp .cdoc-exp-list li{margin:2px 0}.cdoc-exp textarea.inp{resize:vertical;width:100%;min-height:66px;font:inherit;line-height:1.45}.cdoc-exp .field>label{font-size:12px}.cdoc-exp-runs{color:var(--text-2);flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.cdoc-exp-runs li{align-items:flex-start;gap:8px;display:flex}.cdoc-exp-runs .cdoc-ic{color:var(--muted);margin-top:.2em}.cdoc-exp[data-evidence=model] .cdoc-exp-runs .cdoc-ic{color:var(--sim)}.cdoc-exp-acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cdoc-exp-acts .btn .cdoc-ic{margin-right:2px}.cdoc-exp-note{color:var(--muted);font-size:12.5px}.cdoc-exp-foot{border-top:1px solid var(--line);background:var(--bg-3);flex-direction:column;gap:8px;padding:10px 14px 12px;display:flex}.cdoc-exp-missing{color:var(--text-2);font-size:13px}.cdoc-exp-missing ul{margin:2px 0 0;padding-left:20px}.cdoc-exp-missing li{margin:1px 0}.cdoc-exp-phys{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:12.5px;display:flex}.cdoc-exp-phys .cdoc-ic{margin-top:.2em}.cdoc-exp-jump{font-size:13px}.cdoc-exp-jump a{color:var(--sim)}.lesson-foot-note{color:var(--muted);text-align:right;grid-column:1/-1;margin:0;font-size:12.5px}.lesson-page{grid-template-columns:minmax(0,840px) 260px;justify-content:center;gap:36px;padding:22px 28px 40px;display:grid}.lesson-page-main{flex-direction:column;gap:18px;min-width:0;display:flex}.course-pane:not(.course-reader){min-height:0;padding:0;display:block;overflow:hidden}.course-pane:not(.course-reader)>.lesson-page-main{display:contents}.course-pane:not(.course-reader)>.lesson-page-outline{display:none}.course-pane:not(.course-reader) .lesson-left{min-width:440px;height:100%}.course-pane.course-reader{background:var(--bg);align-items:start;min-height:0;overflow:auto}.course-pane.course-reader .lesson-left,.course-pane.course-reader .lesson-body{overflow:visible}.course-pane.course-reader .lesson-body{flex:none}.lesson-page-outline{flex-direction:column;align-self:start;gap:6px;display:flex;position:sticky;top:16px}.lesson-outline-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:750}.lesson-outline-session{color:var(--muted);margin-top:8px;font-size:12px;font-weight:650}.lesson-outline a{color:var(--text-2);border-radius:8px;align-items:flex-start;gap:8px;padding:5px 8px;font-size:13px;line-height:1.35;text-decoration:none;display:flex}.lesson-outline a:hover{background:var(--bg-3);color:var(--text)}.lesson-outline a[aria-current=step]{background:var(--accent-bg);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.lesson-outline-n{border:1px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:10.5px;display:grid}.lesson-outline a[data-status=done] .lesson-outline-n{background:var(--ok);border-color:var(--ok);color:#fff}.lesson-plan{flex-direction:column;gap:14px;display:flex}.lesson-plan-steps{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:0 0 0 52px;padding:0;list-style:none;display:grid}.lesson-plan-steps a{border:1px solid var(--line);background:var(--bg-2);color:inherit;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;line-height:1.3;text-decoration:none;display:flex}.lesson-plan-steps a:hover{border-color:var(--accent)}.lesson-plan-steps .cdoc-step-num{width:26px;height:26px;font-size:12.5px}.lesson-plan-steps a[data-status=done] .cdoc-step-num{background:var(--ok);color:#fff}.lesson-plan-steps a[data-status=current]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.lesson-page-cta{border:1px solid var(--accent);background:var(--accent-bg);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.ws.lesson-ws.course-sizing{--course-track:min(var(--ws-left,560px), 100%);grid-template-columns:var(--course-track) 0 minmax(0, 1fr) 0 min(var(--ws-right,440px), max(0px, calc((100% - var(--course-track)) / 2)))}.ws.lesson-ws.course-full{grid-template-columns:minmax(0,1fr) 0 0 0 0}.ws.lesson-ws.course-full>:not(.ws-left):not(.ws-g1){visibility:hidden;pointer-events:none}.ws.lesson-ws.course-sizing>.ws-ed{overflow:hidden}.ws.lesson-ws.course-closed>.ws-left{visibility:hidden}.lesson-ws .lesson-left{flex-direction:column;padding:0;display:flex;overflow:hidden}.lesson-head{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:8px;padding:10px 14px;display:flex}.lesson-head-title{font-size:14px;font-weight:700;line-height:1.3}.lesson-dots{align-items:center;gap:4px;display:flex}.lesson-dots a{background:var(--bg-4);border:1px solid var(--line-strong);border-radius:50%;width:9px;height:9px}.lesson-dots a.done{background:var(--ok);border-color:var(--ok)}.lesson-dots a.on{background:var(--accent);border-color:var(--accent);transform:scale(1.35)}.lesson-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:14px;display:flex;overflow:auto}.lesson-body .cdoc-session-badge{border-radius:10px;width:32px;height:32px;font-size:15px}.lesson-body .cdoc-session-title{font-size:15px}.lesson-body .cdoc-step-body{padding-left:16px}.lesson-foot{border-top:1px solid var(--line);background:var(--bg-2);flex:none;grid-template-columns:1fr 2fr;gap:8px;padding:10px 14px;display:grid}.lesson-foot .btn{justify-content:center}.course-main{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent-bg), var(--bg-2) 60%);border-radius:16px;flex-direction:column;gap:14px;padding:22px;display:flex}.course-main-info{flex-direction:column;gap:12px;min-width:0;display:flex}.course-main-info .cdoc-title,.course-main-info .cdoc-sub{margin:0}.course-main-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.course-main-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;min-width:104px;font-size:12px;font-weight:700}.course-main-now{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding-top:14px;display:flex}.course-main-now .meter{flex:1;min-width:260px}.course-main-now-text{flex-direction:column;font-size:13.5px;line-height:1.35;display:flex}.course-main-now .btn{justify-content:center;min-width:180px}.course-body{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.course-module{flex-direction:column;gap:10px;display:flex}.course-module+.course-module{margin-top:10px}.course-module>summary{cursor:pointer;border:1px dashed var(--line-strong);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;list-style:none;display:flex}.course-module>summary::-webkit-details-marker{display:none}.course-module[open]>summary{margin-bottom:10px}.course-module-meta{color:var(--muted);white-space:nowrap;font-size:12.5px}.course-lessons{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.course-lesson{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;grid-template-columns:44px minmax(0,1fr) 124px;align-items:center;gap:14px;padding:12px 14px;display:grid}.course-lesson[data-state=in-progress]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.course-lesson[data-state=plan]{background:0 0;border-style:dashed}.course-lesson-n{background:var(--bg-3);border-radius:9px;place-items:center;width:44px;height:32px;font-size:13px;font-weight:750;display:grid}.course-lesson[data-state=studied] .course-lesson-n{background:var(--ok-bg);color:var(--ok)}.course-lesson[data-state=in-progress] .course-lesson-n{background:var(--accent);color:#fff}.course-lesson-main{flex-direction:column;gap:5px;min-width:0;display:flex}.course-lesson-title{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.course-lesson-title b{font-size:14.5px}.course-lesson-meta{color:var(--muted);font-size:12.5px}.course-lesson-state[data-state=studied]{color:var(--ok);font-weight:650}.course-lesson-state[data-state=in-progress]{color:var(--accent);font-weight:650}.course-lesson-main p{color:var(--text-2);margin:0;font-size:13.5px}.course-lesson>.btn{justify-content:center;width:124px}.course-field{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex;position:sticky;top:12px}.course-field-art{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px}.course-field-art svg{width:100%;height:auto;display:block}.course-field-acts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.course-field-acts .btn{justify-content:center}.learn-dash{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.learn-dash>.col{gap:18px}.learn-continue{border:1px solid var(--accent);background:linear-gradient(135deg, var(--accent-bg), var(--bg-2) 70%);border-radius:16px;grid-template-columns:76px minmax(0,1fr);gap:18px;padding:20px;display:grid}.learn-cover{background:var(--accent);color:#fff;border-radius:18px;place-items:center;width:76px;height:76px;display:grid}.learn-continue-main{flex-direction:column;gap:8px;min-width:0;display:flex}.learn-continue-title{margin:0;font-size:22px;font-weight:750;line-height:1.2}.learn-continue-steps{flex-wrap:wrap;gap:6px;display:flex}.learn-continue-steps span{background:var(--bg-4);border-radius:99px;flex:1;min-width:18px;height:6px}.learn-continue-steps span.done{background:var(--ok)}.learn-continue-steps span.on{background:var(--accent)}.learn-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.learn-stat{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.learn-stat b{font-size:24px;font-weight:750;line-height:1.15}.learn-stat span{color:var(--muted);font-size:12.5px}.learn-block{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;overflow:hidden}.learn-block-hd{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.learn-block-hd .h3{flex:1;margin:0}.learn-block-hd a{color:var(--accent);font-size:13px;text-decoration:none}.learn-rows{margin:0;padding:0;list-style:none}.learn-rows li+li{border-top:1px solid var(--line)}.learn-row{color:inherit;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;display:flex}.learn-row:hover{background:var(--bg-3)}.learn-row-ic{background:var(--bg-3);width:32px;height:32px;color:var(--text-2);border-radius:9px;flex:none;place-items:center;display:grid}.learn-row-ic[data-tone=ok]{background:var(--ok-bg);color:var(--ok)}.learn-row-ic[data-tone=sim]{background:var(--sim-bg);color:var(--sim)}.learn-row-main{flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.learn-row-main span{color:var(--muted);font-size:12.5px}.learn-row-when{color:var(--muted);white-space:nowrap;font-size:12px}.learn-empty{color:var(--text-2);flex-direction:column;gap:8px;padding:18px 16px;font-size:13.5px;display:flex}.course-cards{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;display:grid}.course-filters>.spacer{flex:1;min-width:8px}.course-groups{flex-direction:column;gap:22px;display:flex}.course-group-hd{align-items:baseline;gap:8px;margin:0 0 10px;display:flex}.course-group-hd .h3{margin:0}.course-group-count{color:var(--muted);font-size:12px}.course-card{border:1px solid var(--line);background:var(--bg-2);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.course-card[data-state=planned]{opacity:.75}.course-card-top{gap:14px;padding:16px;display:flex}.course-card-cover{background:var(--accent);color:#fff;border-radius:14px;flex:none;place-items:center;width:56px;height:56px;display:grid}.course-card[data-state=planned] .course-card-cover{background:var(--bg-4);color:var(--text-2)}.course-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.course-card-body .h3{margin:0}.course-card-body p{color:var(--text-2);margin:0;font-size:13.5px}.course-card-foot{border-top:1px solid var(--line);background:var(--bg-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding:12px 16px;display:flex}.course-card-foot .btn{justify-content:center;min-width:124px}@media (width<=1100px){.lesson-page{grid-template-columns:minmax(0,1fr);padding:18px}.lesson-page-outline{display:none}.course-body,.learn-dash{grid-template-columns:minmax(0,1fr)}.learn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.course-field{position:static}}.cdoc-h2{margin:14px 0 0;font-size:22px;font-weight:750;line-height:1.25}.lesson-body>*{flex:none}.page.learn-page{flex-direction:column;gap:16px;display:flex}.page.learn-page>.pagehead{margin-bottom:0}.course-card-cover .cdoc-ic{width:28px;height:28px}.course-card-now{font-size:13px;line-height:1.4}.course-card-foot .spacer{flex:1}.course-card-body .cdoc-chips{gap:6px}.course-card-body .meter{margin-top:2px}.course-card-body .h3{font-size:16px;line-height:1.3}.course-card-body p{font-size:13.5px;line-height:1.5}.course-lesson{align-items:start}.course-lesson-n{width:auto;min-width:44px;padding:0 6px}.assign-tbl{margin-top:12px}.assign-tbl .dt-table td{vertical-align:middle}.assign-ttl{align-items:center;gap:10px;min-width:0;display:flex}.assign-ttl>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.assign-ttl .learn-row-ic{flex:none}.assign-ttl .ttl{font-size:13px;font-weight:650}.assign-ttl .ds{color:var(--muted);font-size:11.5px}.assign-due{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.assign-tbl .meter{max-width:150px}.course-main-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:28px;display:grid}.course-main-facts{color:var(--text-2);margin:0;font-size:14px}.course-kit{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.course-kit ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.course-kit li{color:var(--text-2);align-items:center;gap:8px;display:flex}.course-kit li .cdoc-ic{color:var(--muted)}.course-level{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.course-level-opt{text-align:left;border:1.5px solid var(--line);background:var(--bg);color:inherit;font:inherit;cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.course-level-opt:hover{border-color:var(--accent)}.course-level-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.course-level-opt[aria-checked=true]{border-color:var(--accent);background:var(--accent-bg)}.course-level-mark{border:2px solid var(--line-strong);border-radius:50%;flex:none;width:18px;height:18px;margin-top:2px}.course-level-opt[aria-checked=true] .course-level-mark{border:5px solid var(--accent);background:#fff}.course-level-text{flex-direction:column;gap:2px;display:flex}.course-level-text b{font-size:14px}.course-level-text span{color:var(--text-2);font-size:12.5px;line-height:1.4}.course-lesson-n{white-space:nowrap}@media (width<=1100px){.course-main-grid,.course-kit ul{grid-template-columns:minmax(0,1fr)}}.course-main-grid{grid-template-columns:minmax(0,1fr) 300px 340px;gap:22px}.course-main-grid .course-field{position:static}.course-body{grid-template-columns:minmax(0,1fr)}@media (width<=1320px){.course-main-grid{grid-template-columns:minmax(0,1fr) 260px 290px;gap:16px}}@media (width<=1100px){.course-main-grid{grid-template-columns:minmax(0,1fr)}.course-main-grid .course-field-art{max-width:420px}}.lesson-progress{align-items:center;gap:10px;min-width:0;font-size:12px;display:flex}.lesson-progress .readout{white-space:nowrap;font-weight:650}.seg-progress{flex:1;gap:4px;min-width:120px;display:flex}.seg-progress span{background:var(--bg-4);border-radius:99px;flex:1;height:8px}.seg-progress span[data-state=studied]{background:var(--ok)}.seg-progress span[data-state=in-progress]{background:var(--accent)}.course-main-now .lesson-progress{flex:1;min-width:260px}.course-main{gap:18px;padding:24px 28px 20px}.course-hero2{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:36px;display:grid}.course-hero2-info{flex-direction:column;gap:10px;min-width:0;display:flex}.course-hero2-info .cdoc-title,.course-hero2-info .cdoc-sub{margin:0}.course-level2{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px;display:flex}.course-level-seg>button{padding:6px 16px;font-size:13.5px}.course-level2-text{color:var(--text-2);flex-basis:100%;margin:0;font-size:13.5px}.course-kit2{color:var(--text-2);margin:4px 0 0;font-size:13.5px}.course-kit2 b{color:var(--text);font-weight:650}.course-field2{flex-direction:column;gap:8px;margin:0;display:flex}.course-field2 figcaption{flex-direction:column;gap:2px;font-size:13px;display:flex}.course-field2 figcaption span{color:var(--text-2);font-size:12.5px;line-height:1.4}.course-field2-art{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px;overflow:hidden}.course-field2-art svg{width:100%;height:auto;max-height:200px;display:block}.course-field2-acts{gap:6px;display:flex}@media (width<=1100px){.course-hero2{grid-template-columns:minmax(0,1fr)}.course-field2{max-width:360px}}.course-level-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.course-level-seg.sm>button{padding:4px 12px;font-size:12.5px}.learn-course-row{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:12px;padding-right:16px;display:grid}.learn-course-meta{flex-direction:column;gap:8px;padding:10px 0;display:flex}.course-level-row{flex-wrap:nowrap}.course-level-row .course-main-label{min-width:0}.course-cards{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.learn-cover .cdoc-ic{width:34px;height:34px}.learn-course-row{grid-template-columns:minmax(0,1fr) 340px}.course-hero2{grid-template-columns:minmax(0,1fr) 380px;gap:32px}.course-level-panel{border:1px solid var(--line-strong);background:var(--bg-2);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.course-level-h{margin:0;font-size:15px;font-weight:700}.course-level-switch{background:var(--bg-3);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.course-level-switch button{height:36px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:14px;font-weight:600}.course-level-switch button:hover{color:var(--text)}.course-level-switch button[aria-checked=true]{background:var(--accent);color:#fff}.course-level-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.course-level-desc{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.5}.course-level-field{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.course-level-field .course-field2-art svg{max-height:190px}.course-hero2-info .course-kit{margin-top:10px}@media (width<=1100px){.course-hero2{grid-template-columns:minmax(0,1fr)}.course-level-panel{max-width:460px}}.course-path{flex-direction:column;gap:10px;margin-top:18px;display:flex}.course-path ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.course-path li{position:relative}.course-path li:not(:last-child):after{content:"";background:var(--line-strong);height:2px;position:absolute;top:15px;left:calc(50% + 18px);right:calc(18px - 50%)}.course-path li[data-status=done]:after{background:var(--ok)}.course-path a{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:8px;padding:0 4px;font-size:12.5px;line-height:1.3;text-decoration:none;display:flex}.course-path a:hover .course-path-t{color:var(--text)}.course-path-n{border:2px solid var(--line-strong);background:var(--bg-2);width:32px;height:32px;color:var(--text-2);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.course-path li[data-status=done] .course-path-n{background:var(--ok);border-color:var(--ok);color:#fff}.course-path li[data-status=current] .course-path-n{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-bg)}.course-path li[data-status=current] .course-path-t{color:var(--text);font-weight:650}.course-lesson{color:inherit;grid-template-columns:44px minmax(0,1fr) 20px;text-decoration:none}a.course-lesson{cursor:pointer;transition:border-color .15s,background .15s}a.course-lesson:hover{border-color:var(--accent);background:var(--bg-3)}a.course-lesson:hover .course-lesson-title b{color:var(--accent)}a.course-lesson:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.course-lesson-go{color:var(--muted);align-self:center;font-size:22px;line-height:1}a.course-lesson:hover .course-lesson-go{color:var(--accent)}:is(a.course-lesson,.course-path a,a.learn-row,.lesson-plan-steps a,.lesson-outline a,.lesson-dots a,.course-card-body .h3 a):is(:hover,:focus-visible){text-decoration:none}.course-hero2-info .course-main-now{margin-top:auto;padding-top:16px}.course-hero2-info{align-self:stretch}.course-hero2-info .course-main-now .lesson-progress{flex-basis:100%}.course-hero2-info .course-main-now-text{flex:1}.course-card{transition:border-color .15s;position:relative}.course-card-link{color:inherit;text-decoration:none}.course-card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.course-card:has(.course-card-link):hover{border-color:var(--accent)}.course-card-link:focus-visible{outline:none}.course-card:has(.course-card-link:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.course-card :is(.course-level-row,.discussion-launcher,.course-card-foot .btn){z-index:1;position:relative}.course-level-field .course-field2-art svg{width:auto;max-width:100%;height:150px;margin:0 auto}:is(.learn-continue,.home-focus-main,.lh-hero){position:relative}.card-link{color:inherit;text-decoration:none}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-link:is(:hover,:focus-visible){text-decoration:none}.card-link:focus-visible{outline:none}:is(.learn-continue,.home-focus-main,.lh-hero):has(.card-link:focus-visible){outline:2px solid var(--accent);outline-offset:2px}:is(.learn-continue,.home-focus-main,.lh-hero):has(.card-link):hover{border-color:var(--accent)}:is(.learn-continue,.home-focus-main,.lh-hero) :is(.btn,button,.subtabs){z-index:1;position:relative}:is(tr,.info-row,.set-row,.cap-tile):has(.row-link){cursor:pointer;position:relative}.row-link{color:inherit;text-decoration:none}.row-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.row-link:is(:hover,:focus-visible){text-decoration:none}.row-link:focus-visible{outline:none}:is(tr,.info-row,.set-row,.cap-tile):has(.row-link:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}:is(.info-row,.set-row):has(.row-link):hover{background:var(--bg-3)}.cap-tile:has(.row-link):hover{border-color:var(--accent);border-top-color:var(--tone)}:is(tr,.info-row,.set-row,.cap-tile):has(.row-link) :is(a:not(.row-link),button,input,select,label){z-index:1;position:relative}.learn-course-row{position:relative}.learn-course-row>.learn-row:after{content:"";position:absolute;inset:0}.learn-course-row:hover{background:var(--bg-3)}.learn-course-row>.learn-row:hover{background:0 0}.learn-course-row .course-level-row{z-index:1;position:relative}.course-hero3{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:24px;display:grid}.course-photo{object-fit:cover;border:1px solid var(--line);border-radius:14px;width:220px;height:165px}.course-lesson-tiers{flex-direction:column;gap:4px;margin:2px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.course-lesson-tiers li{color:var(--muted);align-items:flex-start;gap:8px;display:flex}.course-lesson-tiers .cdoc-tier-mark{min-width:28px;height:20px;font-size:11px}.course-lesson-tiers li[data-tier=core] .cdoc-tier-mark,.cdoc-tier-mark[data-tier=core]{background:var(--ok-bg);color:var(--ok)}.course-lesson-tiers li[data-tier=star] .cdoc-tier-mark,.cdoc-tier-mark[data-tier=star]{background:var(--warn-bg);color:var(--warn)}.course-lesson-tiers li[data-tier=star2] .cdoc-tier-mark,.cdoc-tier-mark[data-tier=star2]{background:var(--sim-bg);color:var(--sim)}.course-lesson-tiers li:not([data-mine]) .cdoc-tier-mark{opacity:.55}.course-parts{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.course-parts li{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;flex-direction:column;gap:6px;padding:8px;font-size:12.5px;line-height:1.3;display:flex}.course-parts img,.course-part-ph{aspect-ratio:4/3;object-fit:contain;width:100%;color:var(--muted);background:#fff;border-radius:8px;place-items:center;display:grid}.cdoc-table th[scope=row]{color:var(--text);background:var(--bg-3);font-weight:650}.cdoc .course-lesson-tiers{margin:2px 0 0;padding-left:0}.cdoc .course-lesson-tiers li{margin:0;padding-left:0}.cdoc .course-parts{padding-left:0}.cdoc .course-parts li{margin:0;padding:8px}.cdoc-callout[data-kind=safety] ul{margin:0}.page.learn-page>:is(.course-main,.course-doc){box-sizing:border-box;width:100%;max-width:1180px;margin-inline:auto}.course-doc{grid-template-columns:minmax(0,1fr) 232px;gap:40px;padding:12px 0 48px;display:grid}.course-doc-main{flex-direction:column;gap:44px;min-width:0;display:flex}.course-doc-section{flex-direction:column;gap:14px;scroll-margin-top:16px;display:flex}.course-doc-section>.cdoc-h2{margin:0;font-size:21px}.course-doc-section+.course-doc-section{border-top:1px solid var(--line);margin-top:-8px;padding-top:36px}.course-doc-section>:is(p,ul:not([class]),.course-lead){max-width:70ch}.course-lead{color:var(--text);font-size:15.5px}.course-doc-toc{flex-direction:column;align-self:start;gap:1px;max-height:calc(100vh - 32px);padding-right:4px;display:flex;position:sticky;top:16px;overflow-y:auto}.course-doc-toc .lesson-outline-title{padding:0 10px 8px}.course-doc-toc a{color:var(--text-2);border-radius:8px;align-items:baseline;gap:8px;padding:5px 10px;font-size:13px;line-height:1.35;text-decoration:none;display:flex}.course-doc-toc a:hover{background:var(--bg-3);color:var(--text)}.course-doc-toc a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.course-doc-toc a[aria-current=location]{background:var(--accent-bg);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.course-toc-sub{border-left:1px solid var(--line);flex-direction:column;gap:1px;margin:1px 0 4px 10px;padding-left:8px;display:flex}.course-toc-sub a{padding:3px 8px;font-size:12.5px}.course-toc-n{font-variant-numeric:tabular-nums;width:16px;color:var(--muted);flex:none;font-weight:650}@media (width<=1200px){.course-doc{grid-template-columns:minmax(0,1fr)}.course-doc-toc{display:none}.course-hero3{grid-template-columns:minmax(0,1fr)}.course-photo{display:none}}.cdoc .course-outcomes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding:0;list-style:none;display:grid}@media (width<=640px){.cdoc .course-outcomes{grid-template-columns:minmax(0,1fr)}}.cdoc .course-outcomes li{align-items:flex-start;gap:10px;margin:0;padding:0;font-size:14.5px;line-height:1.5;display:flex}.course-outcomes .cdoc-ic{box-sizing:border-box;background:var(--ok-bg);width:20px;height:20px;color:var(--ok);border-radius:50%;margin-top:1px;padding:3px}.course-lesson-tiers li[data-mine]{color:var(--text-2)}.cdoc .course-final{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;margin:4px 0 0;padding:0;list-style:none;display:grid}.cdoc .course-final>li+li{margin:0}.cdoc .course-final-card{grid-row:span 4;grid-template-rows:subgrid;border:1px solid var(--line);background:var(--bg-2);border-radius:14px;gap:12px;margin:0;padding:14px;display:grid}.course-final-card[data-mine]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:color-mix(in srgb, var(--accent-bg) 45%, var(--bg-2))}.course-final-head{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.course-final-name{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:750;display:flex}.course-final-art{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px;overflow:hidden}.course-final-art svg{width:100%;height:132px;display:block}.cdoc .course-final-task{color:var(--text);margin:0;font-size:14px;line-height:1.5}.course-final-need{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:10px;display:flex}.course-final-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:700}.cdoc .course-final-needs{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cdoc .course-final-needs li{align-items:flex-start;gap:8px;margin:0;padding:0;font-size:13.5px;line-height:1.45;display:flex}.course-final-needs .cdoc-tier-mark,.course-compare .cdoc-tier-mark,.course-final-name .cdoc-tier-mark{min-width:28px;height:20px;font-size:11px}.course-final-ids{vertical-align:1px;flex-wrap:wrap;gap:4px;display:inline-flex}.course-final-ids>span{background:var(--bg-3);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:6px;padding:0 6px;font-size:12.5px;font-weight:650;line-height:20px}.course-final-foot{flex-wrap:wrap;gap:8px;display:flex}.course-final-foot .cdoc-ic{width:16px;height:16px}.course-final-note{color:var(--muted);flex-basis:100%;margin:0;font-size:13px}@media (width<=900px){.cdoc .course-final{grid-template-columns:minmax(0,1fr);gap:14px}.cdoc .course-final-card{grid-row:auto;grid-template-rows:none}.course-final-art svg{height:160px}}.cdoc-tier-mark[data-tier=core]{background:var(--ok-bg);color:var(--ok)}.cdoc-tier-mark[data-tier=star]{background:var(--warn-bg);color:var(--warn)}.cdoc-tier-mark[data-tier=star2]{background:var(--sim-bg);color:var(--sim)}.course-compare{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;overflow-x:auto}.course-compare table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:14px;line-height:1.45}.course-compare-rowhead{width:150px}.course-compare :is(th,td){text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:11px 14px}.course-compare thead :is(th,td){border-top:0;padding-top:14px;padding-bottom:12px}.course-compare thead th{font-weight:700}.course-compare thead th .badge{margin-top:6px;display:inline-flex}.course-compare-level{align-items:center;gap:8px;font-size:15px;display:flex}.course-compare tbody th{color:var(--muted);font-size:13px;font-weight:650}.course-compare td{color:var(--text-2)}.course-compare :is(th,td)[data-mine]{background:color-mix(in srgb, var(--accent-bg) 55%, transparent);color:var(--text);box-shadow:inset 1px 0 0 var(--accent), inset -1px 0 0 var(--accent)}.course-compare thead th[data-mine]{box-shadow:inset 1px 0 0 var(--accent), inset -1px 0 0 var(--accent), inset 0 2px 0 var(--accent)}.course-compare tbody tr:last-child td[data-mine]{box-shadow:inset 1px 0 0 var(--accent), inset -1px 0 0 var(--accent), inset 0 -1px 0 var(--accent)}.course-compare-tier{align-items:center;gap:8px;display:inline-flex}@media (width<=720px){.course-compare table,.course-compare :is(thead,tbody,tr,th,td){display:block}.course-compare thead{display:none}.course-compare td:before{content:attr(data-level);color:var(--muted);font-size:12px;font-weight:700;display:block}}.course-plan{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;flex-direction:column;gap:12px;margin:0;padding:16px;display:flex}.course-plan figcaption{flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:13.5px;display:flex}.course-plan figcaption a{color:var(--accent);font-weight:650}.course-plan-session{grid-template-columns:150px minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.course-plan-head{flex-direction:column;justify-content:center;gap:2px;font-size:13px;line-height:1.35;display:flex}.course-plan-head b{font-size:14.5px}.course-plan-head span{color:var(--text-2)}.cdoc .course-plan-steps{gap:4px;margin:0;padding:0;list-style:none;display:flex}.cdoc .course-plan-steps li{background:var(--bg-3);border:1px solid var(--line);border-radius:9px;flex-direction:column;flex-basis:0;gap:2px;min-width:88px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.3;display:flex}.course-plan-n{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:750}.course-plan-t{color:var(--text);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.course-plan-m{color:var(--muted);white-space:nowrap;margin-top:auto;padding-top:2px}@media (width<=900px){.course-plan-session{grid-template-columns:minmax(0,1fr);gap:6px}.course-plan-head{flex-direction:row;gap:8px}}@media (width<=640px){.cdoc .course-plan-steps{flex-direction:column}}.cdoc .course-principles{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.cdoc .course-principles li{border:1px solid var(--line);color:var(--text-2);border-radius:12px;align-items:flex-start;gap:12px;margin:0;padding:12px 14px;font-size:13.5px;line-height:1.5;display:flex}.course-principles b{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:650;display:block}.course-principles .cdoc-ic{box-sizing:border-box;background:var(--accent-bg);width:32px;height:32px;color:var(--accent);border-radius:9px;padding:7px}.course-principle-one{color:var(--text)}.start-tab{flex:1;min-height:0;overflow:auto}.start-inner{flex-direction:column;gap:20px;min-width:0;margin:0;padding:32px 24px;display:flex}.ide.projectless-workbench,.ide.editor-panes.projectless-workbench,.ide.editor-panes.projectless-workbench.side-max,.ide.editor-panes.projectless-workbench.bot-max{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.ide.projectless-workbench>:not(.ed.editor){display:none}.ide.projectless-workbench>.ed.editor,.ide.editor-panes.projectless-workbench>.ed.editor{grid-area:1/1;display:flex}.start-title{margin:0;font-size:22px;font-weight:600}.start-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;display:grid}.start-action{border:1px solid var(--line);background:var(--bg-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;text-decoration:none;display:flex;position:relative}.start-action:hover{border-color:var(--line-strong);background:var(--bg-3)}.start-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.start-action-ic{background:var(--accent-bg);width:36px;height:36px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.start-action-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.start-action-main b{font-size:14px}.start-action-main span{color:var(--muted);font-size:12px}.start-action .key{position:absolute;top:14px;right:14px}.start-recent>.hd .h3{margin:0}.start-list{margin:0;padding:0;list-style:none}.start-list li+li{border-top:1px solid var(--line)}.start-row{color:var(--text);grid-template-columns:88px minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:10px 14px;text-decoration:none;display:grid}.start-thumb{aspect-ratio:2;border:1px solid var(--line);background:var(--bg-3);border-radius:6px;width:88px;display:block;position:relative;overflow:hidden}.start-thumb>svg{border:0;border-radius:0;width:100%;height:100%;max-height:none;display:block}.start-thumb>.work-ic{width:18px;height:18px;box-shadow:0 0 0 1px var(--bg-2);border-radius:4px;position:absolute;bottom:4px;left:4px}.start-thumb.none{place-items:center;display:grid}.start-thumb.none>.work-ic{width:22px;height:22px;box-shadow:none;position:static}.start-row:hover{background:var(--bg-3)}.start-row:hover,.start-row:hover *{text-decoration:none}.start-row[data-state=error] .work-name{color:var(--danger)}.start-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.topbar .work-switch{min-width:80px;max-width:320px;height:var(--top-ctl);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:0 auto;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.topbar .work-switch:hover,.topbar .work-switch[aria-expanded=true]{background:var(--bg-3);border-color:var(--line)}.topbar .work-switch:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topbar .work-switch.empty{color:var(--text-2);font-weight:500}.work-switch-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.work-switch>svg:last-child{color:var(--muted);flex:none;transform:rotate(90deg)}.work-ic{background:var(--bg-4);width:22px;height:22px;color:var(--text-2);border-radius:5px;flex:none;place-items:center;display:inline-grid}.work-switch .work-ic{width:20px;height:20px}.work-ic[data-kind=lesson]{background:var(--info-bg);color:var(--info)}.work-ic[data-kind=contest]{background:var(--accent-bg);color:var(--accent)}.command-menu.work-picker{width:min(460px,100vw - 16px);padding:6px}.work-picker-search{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:0 10px;display:flex}.work-picker-search:focus-within{border-color:var(--accent)}.work-picker-input{min-width:0;height:32px;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1}.command-menu .work-row{white-space:normal;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:10px;text-decoration:none;display:grid}.command-menu .work-row[hidden]{display:none}.command-menu .work-row[aria-current=true]{color:inherit;background:var(--bg-3)}.work-main{flex-direction:column;min-width:0;display:flex}.work-name,.work-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-sub,.work-when{color:var(--muted);font-size:.9em}.work-when{white-space:nowrap}.work-picker-none{color:var(--muted);padding:.45em .65em}.work-picker-acts [role=menuitem]{align-items:center;gap:10px;text-decoration:none;display:flex}.work-picker-acts svg{color:var(--muted);flex:none;margin:0 3px}.cquiz{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.cquiz-rule{color:var(--muted);margin:0;font-size:14px}.cquiz-result{border:1px solid var(--line);border-left:3px solid var(--warn);background:var(--bg-2);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.cquiz-result[data-state=passed]{border-left-color:var(--ok)}.cquiz-result-ic{background:var(--warn-bg);width:22px;height:22px;color:var(--warn);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.cquiz-result[data-state=passed] .cquiz-result-ic{background:var(--ok-bg);color:var(--ok)}.cquiz-result-body{flex-direction:column;gap:2px;font-size:14px;display:flex}.cquiz-q{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;min-width:0;margin:0;padding:16px 18px}.cquiz-q[data-result=right]{border-color:color-mix(in srgb, var(--ok) 55%, var(--line))}.cquiz-q[data-result=wrong]{border-color:color-mix(in srgb, var(--warn) 55%, var(--line))}.cquiz-q legend{float:left;width:100%;color:var(--text);margin-bottom:8px;padding:0;font-size:15px;font-weight:600}.cquiz-q legend+*{clear:both}.cquiz-num{color:var(--accent);margin-right:6px}.cquiz-options{flex-direction:column;gap:6px;display:flex}.cquiz-opt{border:1px solid var(--line);color:var(--text-2);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:8px 12px;font-size:14px;display:flex}.cquiz-opt:hover{background:var(--bg-3)}.cquiz-opt:has(input:checked){border-color:var(--accent);background:var(--accent-bg);color:var(--text)}.cquiz-opt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.cquiz-opt input{accent-color:var(--accent);flex:none;margin:.25em 0 0}.cquiz-q:disabled .cquiz-opt{cursor:default;opacity:.75}.cquiz-note{color:var(--text-2);gap:8px;margin:10px 0 0;font-size:13.5px;display:flex}.cquiz-q[data-result=right] .cquiz-note>span:first-child{color:var(--ok)}.cquiz-q[data-result=wrong] .cquiz-note>span:first-child{color:var(--warn)}.cquiz-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cquiz-save{margin-left:auto}.cdoc-glossary td:first-child{white-space:nowrap;width:1%;color:var(--text);font-weight:650}.lesson-plan-check{grid-template-columns:minmax(0,1fr)}.lesson-plan-check-note{font-weight:400;display:block}.learn-home{grid-template-columns:232px minmax(0,1fr) 340px;grid-template-areas:"rail main side";align-items:start;gap:20px;display:grid}.lh-rail{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;grid-template:"h""all""search""list"minmax(0,1fr)"empty"/minmax(0,1fr);grid-area:rail;align-items:center;gap:8px;max-height:calc(100vh - 120px);padding:10px;display:grid;position:sticky;top:0}.lh-rail-list{flex-direction:column;grid-area:list;align-self:stretch;gap:4px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.lh-rail-list li[hidden]{display:none}.lh-rail-h,.lh-section-h{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:12px;font-weight:600}.lh-rail-h{grid-area:h;padding:0 4px}.lh-section-h{margin-top:4px}.lh-rail-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.lh-rail-item:hover{background:var(--bg-3)}.lh-rail-item[aria-current=page]{background:var(--bg-3);border-color:var(--line)}.lh-rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lh-rail-cover{background:var(--accent-bg);width:32px;height:32px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.lh-rail-all{border:1px dashed var(--accent);background:var(--accent-bg);grid-area:all}.lh-rail-all:hover{background:var(--bg-3)}.lh-rail-all b{color:var(--accent)}.lh-rail-search{grid-area:search;width:100%;min-width:0}.lh-rail-empty{color:var(--muted);grid-area:empty;margin:0;padding:4px;font-size:13px}.lh-rail-empty[hidden]{display:none}.lh-main{flex-direction:column;grid-area:main;gap:14px;min-width:0;display:flex}.lh-side{flex-direction:column;grid-area:side;gap:14px;min-width:0;display:flex}.lh-hero{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;grid-template-columns:52px minmax(0,1fr) minmax(200px,320px);align-items:center;gap:16px;padding:16px 20px;display:grid}.lh-cover{background:var(--accent-bg);width:52px;height:52px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.lh-cover .cdoc-ic{width:28px;height:28px}.lh-hero-main{flex-direction:column;gap:4px;min-width:0;display:flex}.lh-kicker{color:var(--muted);font-size:12px}.lh-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lh-title-row .h1{margin:0;font-size:24px}.lh-hero-progress{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.lh-hero-progress b{color:var(--text)}.lh-continue{border:1px solid var(--accent);background:linear-gradient(110deg, var(--accent-bg), var(--bg-2) 75%);border-radius:14px;flex-direction:column;gap:10px;padding:14px 20px;display:flex}.lh-continue-row{align-items:center;gap:20px;display:flex}.lh-continue-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lh-continue-main .lh-kicker{color:var(--accent);font-weight:600}.lh-continue-main .h3{margin:0;font-size:17px}.lh-continue-lesson{color:var(--text-2);font-size:13px;font-weight:400}.lh-steps{max-width:560px;margin-top:6px}.lh-todo{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin:0;padding:10px 0 0;list-style:none;display:flex}.lh-todo :is(a,button){color:var(--warn);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;font-size:13px;display:flex}.lh-todo :is(a,button):disabled{cursor:default}.lh-todo :is(a,button):not(:disabled):hover b{text-decoration:underline}.lh-todo :is(a,button) span{color:var(--text-2)}.lh-todo .cdoc-ic{flex:none;width:16px;height:16px}.lh-topics{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:12px;display:grid}.lh-topic,.lp-card{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;overflow:hidden}.lh-topic-hd,.lp-card-hd{align-items:center;gap:12px;padding:12px 16px;display:flex}.lp-card-hd{border-bottom:1px solid var(--line)}summary.lh-topic-hd{cursor:pointer;list-style:none}summary.lh-topic-hd::-webkit-details-marker{display:none}.lh-topic-hd h3,.lp-card-hd h3{flex:1;margin:0;font-size:14.5px}.lh-topic-n{background:var(--bg-3);width:26px;height:26px;color:var(--text-2);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.lh-meta,.lp-meta{color:var(--muted);white-space:nowrap;font-size:12px}.lh-lessons,.lp-journal,.lp-achievements,.lp-courses,.lp-topic-bar{margin:0;padding:0;list-style:none}.lh-lessons>li{border-top:1px solid var(--line);position:relative}.lh-row{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:10px 48px 10px 16px;display:flex}.lh-row:is(a,button){cursor:pointer}.lh-row:is(a,button):hover{background:var(--bg-3)}.lh-row:is(a,button):focus-visible,.lp-journal-row:focus-visible,.lp-course-card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lh-status{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.lh-status .cdoc-ic{width:13px;height:13px}li[data-state=studied]>.lh-row .lh-status{border-color:var(--ok);background:var(--ok);color:var(--bg-2)}li[data-state=current]>.lh-row .lh-status{border:3px solid var(--accent)}li[data-state=in-progress]>.lh-row .lh-status{border-color:var(--accent);color:var(--accent)}li[data-state=plan]>.lh-row .lh-status{border-style:dashed}.lh-lessons>li[data-state=current]{background:var(--accent-bg)}.lh-lessons>li[data-state=plan]{color:var(--muted)}.lh-lesson-main,.lp-lesson-main{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.35;display:flex}.lh-lesson-main b,.lp-lesson-main b{font-size:13.5px;font-weight:600}.lh-n{color:var(--muted);font-variant-numeric:tabular-nums}.lh-lesson-main>span,.lp-lesson-main>span{color:var(--muted);font-size:12px}.lh-lesson-main>.lh-note{color:var(--warn)}.lh-more{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.lp-summary{margin:0}.lp-summary[data-layout=band]{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;flex-wrap:wrap;display:flex}.lp-summary[data-layout=band] .lp-stat{flex-direction:column-reverse;flex:180px;gap:2px;padding:12px 18px;display:flex}.lp-summary[data-layout=band] .lp-stat+.lp-stat{border-left:1px solid var(--line)}.lp-summary[data-layout=band] dd{font-size:20px;font-weight:700}.lp-summary[data-layout=list] .lp-stat{justify-content:space-between;gap:12px;padding:9px 16px;display:flex}.lp-summary[data-layout=list] .lp-stat+.lp-stat{border-top:1px solid var(--line)}.lp-summary[data-layout=list] dd{font-variant-numeric:tabular-nums;font-weight:700}.lp-stat dt{color:var(--muted);font-size:12.5px}.lp-stat dd{margin:0;line-height:1.2}.lp-stat[data-kind=robot] dd{color:var(--ok)}.lp-stat[data-kind=virtual] dd{color:var(--sim)}.lp-topic-bar{gap:3px;width:100%;display:flex}.lp-topic-bar>li{background:var(--bg-4);border-radius:99px;flex:1;height:6px}.lp-topic-bar>li[data-state=in-progress]{background:var(--accent)}.lp-topic-bar>li[data-state=studied]{background:var(--ok)}.lp-achievements>li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:11px 16px;display:flex}.lp-achievements>li:first-child{border-top:0}.lp-evidence{flex:none;gap:4px;display:flex}.lp-badge{color:var(--muted);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;display:inline-flex}.lp-badge .cdoc-ic{width:12px;height:12px}.lp-badge[data-on]{background:var(--ok-bg);color:var(--ok);border-color:#0000}.lp-badge[data-on][data-tone=sim]{background:var(--sim-bg);color:var(--sim)}.lp-badge[data-on][data-tone=ok]{background:var(--accent-bg);color:var(--accent)}.lp-journal>li+li:not(.lp-day){border-top:1px solid var(--line)}.lp-day{color:var(--muted);padding:10px 16px 4px;font-size:11.5px;font-weight:600}.lp-journal-row{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:9px 16px;display:flex}.lp-journal-row:not(:disabled){cursor:pointer}.lp-journal-row:not(:disabled):hover{background:var(--bg-3)}.lp-journal-ic,.lp-medal,.lp-course-cover{background:var(--bg-3);width:30px;height:30px;color:var(--text-2);border-radius:9px;flex:none;place-items:center;display:grid}.lp-journal-ic .cdoc-ic,.lp-medal .cdoc-ic{width:15px;height:15px}.lp-journal-ic[data-kind=check],.lp-journal-ic[data-kind=studied]{background:var(--ok-bg);color:var(--ok)}.lp-journal-ic[data-kind=virtual]{background:var(--sim-bg);color:var(--sim)}.lp-journal-ic[data-kind=robot]{background:var(--accent-bg);color:var(--accent)}.lp-achievements>li[data-earned] .lp-medal{background:var(--warn-bg);color:var(--warn)}.lp-achievements>li:not([data-earned]) .lp-lesson-main b{color:var(--text-2)}.lp-courses{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px;display:grid}.lp-course-card{border:1px solid var(--line);background:var(--bg-2);width:100%;height:100%;color:inherit;font:inherit;text-align:left;border-radius:14px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.lp-course-card:not(:disabled){cursor:pointer}.lp-course-card:not(:disabled):hover{border-color:var(--line-strong);background:var(--bg-3)}.lp-course-hd{align-items:center;gap:12px;display:flex}.lp-course-cover{background:var(--accent-bg);width:40px;height:40px;color:var(--accent);border-radius:11px}.lp-course-meta{color:var(--muted);font-size:12px}.lp-empty{color:var(--muted);margin:0;padding:14px 16px;font-size:13px}@media (width<=1440px){.learn-home{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"rail rail""main side"}.lh-rail{grid-template:"h h search""all list list"".empty empty"/auto minmax(0,1fr) auto;column-gap:12px;max-height:none;position:static}.lh-rail-search{justify-self:end;width:min(280px,100%)}.lh-rail-list{flex-direction:row;padding-bottom:2px;overflow:auto hidden}.lh-rail-list li{flex:none}.lh-rail-item b{white-space:nowrap}.lh-rail-item{flex:none;width:auto;max-width:260px;padding:6px 10px}.lh-rail-cover{width:26px;height:26px}}@media (width<=1000px){.learn-home{grid-template-columns:minmax(0,1fr);grid-template-areas:"rail""main""side"}.lh-hero{grid-template-columns:52px minmax(0,1fr)}.lh-hero-progress{grid-column:1/-1}.lp-summary[data-layout=band] .lp-stat+.lp-stat{border-left:0}}a.lh-row,a.lh-rail-item,a.lp-journal-row,.lh-todo a{text-decoration:none}a.lh-row,a.lp-journal-row{cursor:pointer}.lp-count{background:var(--bg-3);color:var(--text-2);border-radius:999px;margin-left:6px;padding:0 6px;font-size:11.5px;font-weight:600}.lp-evidence-courses{flex-direction:column;display:flex}.lp-evidence-table caption{text-align:left;color:var(--muted);padding:10px 16px 6px;font-size:12.5px}.lp-evidence-table caption b{color:var(--text)}.lp-evidence-table td[data-tone=sim]{color:var(--sim);font-weight:600}.lp-evidence-table td[data-tone=ok]{color:var(--ok);font-weight:600}.lp-journal-row time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.pr-hero{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;grid-template-columns:minmax(200px,260px) minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:14px;padding:16px 20px;display:grid}.pr-who{align-items:center;gap:12px;display:flex}.pr-who>span:last-child{flex-direction:column;gap:2px;display:flex}.pr-who>span:last-child>span{color:var(--muted);font-size:12.5px}.pr-avatar{background:var(--accent-bg);width:48px;height:48px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.pr-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.pr-kpis>div{border-left:1px solid var(--line);flex-direction:column-reverse;gap:2px;padding:0 18px;display:flex}.pr-kpis dt{color:var(--muted);font-size:12.5px}.pr-kpis dd{margin:0;font-size:24px;font-weight:700;line-height:1.15}.pr-kpis dd small{color:var(--muted);font-size:14px;font-weight:500}.pr-kpis [data-kind=virtual] dd{color:var(--sim)}.pr-kpis [data-kind=robot] dd{color:var(--ok)}.pr-activity{border-left:1px solid var(--line);flex-direction:column;gap:6px;padding-left:18px;display:flex}.pr-activity-hd,.pr-activity-ft{color:var(--muted);font-size:12px}.pr-heat{grid-template-columns:repeat(14,14px);grid-auto-rows:14px;gap:3px;margin:0;padding:0;list-style:none;display:grid}.pr-heat>*{background:var(--bg-4);border-radius:3px}.pr-heat>[data-level="1"]{background:color-mix(in srgb, var(--ok) 35%, var(--bg-4))}.pr-heat>[data-level="2"]{background:color-mix(in srgb, var(--ok) 65%, var(--bg-4))}.pr-heat>[data-level="3"]{background:var(--ok)}.pr-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.pr-grid>.col{min-width:0}.pr-course{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;overflow:hidden}.pr-course-hd{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 18px;display:flex}.pr-course-count{color:var(--muted);white-space:nowrap;font-size:13px}.pr-course-count b{color:var(--text);font-size:18px}.pr-map{grid-template-columns:repeat(var(--pr-topics,6), minmax(0, 1fr));gap:10px;padding:14px 18px;display:grid}.pr-topic{flex-direction:column;gap:8px;min-width:0;display:flex}.pr-topic-hd{min-height:34px;color:var(--text-2);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.pr-topic-n{background:var(--bg-3);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.pr-topic[data-state=studied] .pr-topic-n{background:var(--ok);color:var(--bg-2)}.pr-topic[data-state=in-progress] .pr-topic-n{background:var(--accent-bg);color:var(--accent)}.pr-lesson{border:1px solid var(--line);background:var(--bg-1,var(--bg));min-height:104px;color:inherit;width:100%;font:inherit;text-align:left;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;text-decoration:none;display:flex}button.pr-lesson{cursor:pointer}.pr-lesson:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pr-lesson:hover{border-color:var(--line-strong);background:var(--bg-3)}.pr-lesson[data-state=studied]{border-left:3px solid var(--ok)}.pr-lesson[data-state=current]{border-color:var(--accent);background:var(--accent-bg)}.pr-lesson[data-state=not-started]{color:var(--muted)}.pr-lesson-hd{color:var(--muted);justify-content:space-between;gap:6px;font-size:11.5px;display:flex}.pr-lesson-hd b{color:var(--text-2);font-variant-numeric:tabular-nums}.pr-lesson-title{flex:1;font-size:13px;font-weight:600;line-height:1.3}.pr-marks{flex-wrap:wrap;gap:4px;min-height:20px;display:flex}.pr-mark{background:var(--bg-3);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:1px 6px;font-size:11.5px;display:inline-flex}.pr-mark[data-tone=ok]{background:var(--ok-bg);color:var(--ok)}.pr-mark[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.pr-mark[data-tone=sim]{background:var(--sim-bg);color:var(--sim)}.pr-mark[data-tone=robot]{background:var(--accent-bg);color:var(--accent)}.pr-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:16px;padding:10px 18px;font-size:12px;display:flex}.pr-row2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.pr-medals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.pr-medals li{background:var(--bg-3);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;font-size:12px;display:flex}.pr-medals .lp-medal{background:var(--warn-bg);color:var(--warn)}.pr-next-hd{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.pr-next{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:8px 0;display:flex}.pr-next>span{justify-content:space-between;gap:8px;font-size:13px;display:flex}.pr-todo{flex-direction:column;gap:8px;margin:0;padding:12px;list-style:none;display:flex}.pr-todo>li,.pr-todo-item{background:var(--bg-3);border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;font-size:13px;display:flex}.pr-todo>li>span,.pr-todo-item>span{color:var(--text-2);font-size:12.5px}.pr-todo>li[data-tone=warn],.pr-todo-item[data-tone=warn]{background:var(--warn-bg)}.pr-todo>li[data-tone=warn]>b,.pr-todo-item[data-tone=warn]>b{color:var(--warn)}@media (width<=1500px){.pr-map{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-hero{grid-template-columns:minmax(0,1fr) auto}.pr-kpis{grid-area:2/1/auto/-1}.pr-kpis>div:first-child{border-left:0;padding-left:0}}@media (width<=1100px){.pr-grid,.pr-row2{grid-template-columns:minmax(0,1fr)}.pr-map{grid-template-columns:repeat(2,minmax(0,1fr))}}.pr-achievements{padding:12px 16px}.pr-none{color:var(--muted);margin:0 0 12px;font-size:13px}.pr-next .bar{display:block}@media (width<=600px){.course-card .lesson-progress{flex-wrap:wrap}.course-card .lesson-progress>.mut{flex-basis:100%}.course-card .seg-progress{min-width:0}}
