:root{--font-ui:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", "Lexend", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Bricolage Grotesque", "Atkinson Hyperlegible Next", system-ui, sans-serif;--font-code:"JetBrains Mono", "Cascadia Code", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading:1.5;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:6px;--r-md:10px;--r-lg:16px;--topbar-h:52px;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px var(--focus);--hud-panel:color-mix(in srgb, var(--surface) 95%, transparent);--ease:cubic-bezier(.2, .7, .2, 1);--bg:#1b1712;--surface:#241f18;--surface-2:#2e281f;--surface-3:#3a3227;--line:#463c2f;--line-strong:#5e5141;--text:#f3ecdf;--text-muted:#c2b6a2;--text-faint:#a69c8b;--honey:#f5b21b;--honey-strong:#ffc94a;--honey-ink:#2a1d00;--honey-wash:#f5b21b24;--clover:#5cc5a6;--clover-wash:#5cc5a624;--warn:#f3a54b;--warn-wash:#f3a54b24;--danger:#ff8a73;--danger-wash:#ff8a7324;--info:#8fb8ff;--info-wash:#8fb8ff1f;--red-alliance:#f2777a;--blue-alliance:#659df7;--focus:#ffd36b;--shadow-float:0 12px 32px #08050273, 0 2px 6px #08050259;--scrim:#0c090599;--viewport-bg:#0f0d0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef0ea;--surface:#fbfcf9;--surface-2:#e5e8df;--surface-3:#d8dccf;--line:#ccd1c2;--line-strong:#a9b09d;--text:#1d221c;--text-muted:#4b5348;--text-faint:#596055;--honey:#f5b21b;--honey-strong:#865300;--honey-ink:#2a1d00;--honey-wash:#d6910024;--clover:#196a57;--clover-wash:#1c75601f;--warn:#8e4e00;--warn-wash:#c470001f;--danger:#ad301e;--danger-wash:#b4321f1a;--info:#2557b8;--info-wash:#2557b81a;--red-alliance:#b2292e;--blue-alliance:#2159c1;--focus:#865300;--shadow-float:0 12px 32px #1e28192e, 0 2px 6px #1e28191f;--scrim:#191e1673;--viewport-bg:#cfd5c8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--text-md);line-height:var(--leading);-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-display);margin:0;font-weight:650;line-height:1.2}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--honey-strong)}code,kbd,pre{font-family:var(--font-code)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-sm);outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--s-2);z-index:100;background:var(--honey);color:var(--honey-ink);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-weight:700;position:absolute;top:-100px}.skip-link:focus{top:var(--s-2)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ui-btn{align-items:center;gap:var(--s-2);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:background .12s var(--ease), border-color .12s var(--ease);font-weight:600;display:inline-flex}.ui-btn--md{height:36px;padding:0 var(--s-4);font-size:var(--text-md)}.ui-btn--sm{height:28px;padding:0 var(--s-3);font-size:var(--text-sm)}.ui-btn:hover:not(:disabled){background:var(--surface-3)}.ui-btn--primary{background:var(--honey);border-color:var(--honey);color:var(--honey-ink)}.ui-btn--primary:hover:not(:disabled){background:var(--honey-strong);border-color:var(--honey-strong)}:root[data-theme=light] .ui-btn--primary:hover:not(:disabled){background:#ffc94a;border-color:#ffc94a}.ui-btn--ghost{background:0 0;border-color:#0000}.ui-btn--danger{border-color:var(--danger);color:var(--danger);background:0 0}.ui-btn--danger:hover:not(:disabled){background:var(--danger-wash)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn__trailing{color:inherit;opacity:.75;font-weight:500}.ui-iconbtn{border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.ui-iconbtn--md{width:34px;height:34px}.ui-iconbtn--sm{width:26px;height:26px}.ui-iconbtn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.ui-iconbtn--secondary{border-color:var(--line-strong);background:var(--surface-2);color:var(--text)}.ui-iconbtn--primary{background:var(--honey);color:var(--honey-ink)}.ui-iconbtn--primary:hover:not(:disabled){background:var(--honey);color:var(--honey-ink);filter:brightness(1.08)}.ui-iconbtn[aria-pressed=true]{background:var(--honey-wash);color:var(--honey-strong);border-color:color-mix(in srgb, var(--honey) 45%, transparent)}:root[data-theme=light] .ui-iconbtn[aria-pressed=true]{color:var(--honey-strong)}.ui-iconbtn:disabled{opacity:.45;cursor:not-allowed}.ui-linkbtn{color:var(--honey-strong);text-underline-offset:2px;cursor:pointer;font-size:var(--text-sm);background:0 0;border:0;padding:0;text-decoration:underline}.ui-tooltip-anchor{display:inline-flex;position:relative}.ui-tooltip{z-index:60;pointer-events:none;background:var(--text);color:var(--bg);font-size:var(--text-sm);border-radius:var(--r-sm);white-space:nowrap;box-shadow:var(--shadow-float);gap:var(--s-2);align-items:center;padding:5px 8px;font-weight:600;line-height:1.3;display:inline-flex;position:absolute}.ui-tooltip__hint{opacity:.75;font-weight:500}.ui-tooltip--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip--left{top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.ui-tooltip--right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.ui-field{flex-direction:column;gap:4px;min-width:0;display:flex}.ui-field__label{font-size:var(--text-sm);color:var(--text);font-weight:650}.ui-field__hint{font-size:var(--text-xs);color:var(--text-muted)}.ui-select{position:relative}.ui-select select{appearance:none;width:100%;height:34px;padding:0 30px 0 var(--s-3);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ui-select select:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-select__chevron{pointer-events:none;color:var(--text-muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ui-toggle{align-items:flex-start;gap:var(--s-3);display:flex}.ui-toggle__switch{border:1px solid var(--line-strong);background:var(--surface-3);cursor:pointer;width:38px;height:22px;transition:background .14s var(--ease);border-radius:11px;flex:none;margin-top:1px;padding:2px;position:relative}.ui-toggle__thumb{background:var(--text-muted);width:16px;height:16px;transition:transform .14s var(--ease), background .14s var(--ease);border-radius:50%;display:block}.ui-toggle__switch[aria-checked=true]{background:var(--honey);border-color:var(--honey)}.ui-toggle__switch[aria-checked=true] .ui-toggle__thumb{background:var(--honey-ink);transform:translate(16px)}.ui-toggle__switch:disabled{opacity:.5;cursor:not-allowed}.ui-toggle__text{cursor:pointer;flex-direction:column;gap:1px;display:flex}.ui-toggle__label{font-size:var(--text-sm);font-weight:650}.ui-toggle__hint{font-size:var(--text-xs);color:var(--text-muted)}.ui-kbd{border:1px solid var(--line-strong);background:var(--surface-2);min-width:24px;height:24px;color:var(--text);font-family:var(--font-ui);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.ui-kbd--wide{min-width:52px}.ui-kbd.is-pressed{background:var(--honey);border-color:var(--honey);color:var(--honey-ink);transform:translateY(1px)}.ui-slider__top{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.ui-slider__value{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted)}.ui-slider__input{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px;margin:0}.ui-slider__input:disabled{cursor:not-allowed;opacity:.5}.ui-slider__input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--honey) var(--fill,0%), var(--surface-3) var(--fill,0%));border-radius:3px;height:6px}.ui-slider__input::-moz-range-track{background:var(--surface-3);border-radius:3px;height:6px}.ui-slider__input::-moz-range-progress{background:var(--honey);border-radius:3px;height:6px}.ui-slider__input::-webkit-slider-thumb{appearance:none;background:var(--text);border:3px solid var(--honey);border-radius:50%;width:18px;height:18px;margin-top:-6px}.ui-slider__input::-moz-range-thumb{background:var(--text);border:3px solid var(--honey);border-radius:50%;width:12px;height:12px}.ui-slider__input:focus-visible{outline:none}.ui-slider__input:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.ui-slider__input:focus-visible::-moz-range-thumb{box-shadow:var(--focus-ring)}.ui-panel{background:var(--surface);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.ui-panel__header{align-items:center;gap:var(--s-2);height:40px;padding:0 var(--s-2) 0 var(--s-3);border-bottom:1px solid var(--line);flex:none;display:flex}.ui-panel__icon{color:var(--honey)}.ui-panel__title{font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.ui-panel__actions{align-items:center;gap:2px;display:flex}.ui-panel__help{padding:var(--s-3);font-size:var(--text-sm);color:var(--text);background:var(--honey-wash);border-bottom:1px solid var(--line)}.ui-panel__body{min-height:0;padding:var(--s-3);flex:1;overflow:auto}.ui-panel__body--flush{padding:0;overflow:hidden}.ui-tabs{flex-direction:column;height:100%;min-height:0;display:flex}.ui-tabs__bar{border-bottom:1px solid var(--line);flex:none;align-items:stretch;display:flex}.ui-tabs__list{padding:0 var(--s-2);flex:1;gap:2px;display:flex;overflow-x:auto}.ui-tabs__end{padding-right:var(--s-2);align-items:center;gap:2px;display:flex}.ui-tabs__tab{height:36px;padding:0 var(--s-3);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;font-weight:600;display:inline-flex;position:relative}.ui-tabs__tab:hover,.ui-tabs__tab[aria-selected=true]{color:var(--text)}.ui-tabs__tab[aria-selected=true]:after{content:"";left:var(--s-2);right:var(--s-2);background:var(--honey);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px}.ui-tabs__panel{flex:1;min-height:0;overflow:auto}.ui-tabs__panel:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);border-radius:0}.ui-badge{background:var(--surface-3);min-width:18px;height:18px;color:var(--text);border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.ui-badge--danger{background:var(--danger);color:var(--bg)}.ui-badge--warn{background:var(--warn);color:var(--bg)}.ui-empty{text-align:center;align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-4);max-width:34ch;color:var(--text-muted);flex-direction:column;margin:auto;display:flex}.ui-empty--compact{padding:var(--s-4) var(--s-3)}.ui-empty__mark{width:48px;height:48px;color:var(--honey);background:var(--honey-wash);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);place-items:center;display:grid}.ui-empty--compact .ui-empty__mark{width:38px;height:38px}.ui-empty__title{color:var(--text);font-weight:700;font-size:var(--text-md)}.ui-empty__body{font-size:var(--text-sm)}.ui-empty__action{margin-top:var(--s-2)}.ui-callout{gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);font-size:var(--text-sm);border-left-width:4px;display:flex}.ui-callout--tip{border-left-color:var(--honey);background:var(--honey-wash)}.ui-callout--tip .ui-callout__icon{color:var(--honey-strong)}.ui-callout--info{border-left-color:var(--info);background:var(--info-wash)}.ui-callout--info .ui-callout__icon{color:var(--info)}.ui-callout--warning{border-left-color:var(--warn);background:var(--warn-wash)}.ui-callout--warning .ui-callout__icon{color:var(--warn)}.ui-callout--error{border-left-color:var(--danger);background:var(--danger-wash)}.ui-callout--error .ui-callout__icon{color:var(--danger)}.ui-callout--success{border-left-color:var(--clover);background:var(--clover-wash)}.ui-callout--success .ui-callout__icon{color:var(--clover)}.ui-callout__icon{flex:none;margin-top:1px}.ui-callout__content{flex-direction:column;gap:4px;min-width:0;display:flex}.ui-callout__title{font-weight:700}.ui-callout__pre{margin:var(--s-2) 0 0;padding:var(--s-2);background:var(--bg);border-radius:var(--r-sm);font-size:var(--text-xs);white-space:pre-wrap;overflow-x:auto}.ui-toast-viewport{right:var(--s-4);bottom:var(--s-4);z-index:80;gap:var(--s-2);flex-direction:column;width:min(380px,100vw - 32px);display:flex;position:fixed}.ui-toast{align-items:flex-start;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-strong);border-left:4px solid var(--info);box-shadow:var(--shadow-float);animation:ui-toast-in .18s var(--ease);display:flex}.ui-toast--success{border-left-color:var(--clover)}.ui-toast--warning{border-left-color:var(--warn)}.ui-toast--error{border-left-color:var(--danger)}.ui-toast__icon{color:var(--text-muted);flex:none}.ui-toast__text{flex:1;min-width:0}.ui-toast__msg{font-weight:650;font-size:var(--text-sm)}.ui-toast__detail{font-size:var(--text-xs);color:var(--text-muted)}.ui-toast__action{margin-top:var(--s-2)}.ui-toast__close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:2px}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(6px)}}.ui-modal-backdrop{z-index:70;background:var(--scrim);padding:var(--s-4);grid-template-columns:minmax(0,1fr);place-items:center;display:grid;position:fixed;inset:0}.ui-modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:100%;min-width:0;max-height:calc(100vh - 32px);box-shadow:var(--shadow-float);outline:none;flex-direction:column;display:flex}.ui-modal--sm{max-width:420px}.ui-modal--md{max-width:600px}.ui-modal--lg{max-width:880px}.ui-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-4) var(--s-4) var(--s-3) var(--s-5);border-bottom:1px solid var(--line);display:flex}.ui-modal__title{font-size:var(--text-xl)}.ui-modal__desc{color:var(--text-muted);font-size:var(--text-sm);margin-top:4px}.ui-modal__body{padding:var(--s-4) var(--s-5);overflow:auto}.ui-modal__footer{justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-5) var(--s-4);border-top:1px solid var(--line);display:flex}.kb-legend{background:var(--hud-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-2) var(--s-3) var(--s-2);font-size:var(--text-xs);color:var(--text-muted);box-shadow:var(--shadow-float);max-width:100%}.kb-legend--collapsed{align-items:center;gap:var(--s-2);color:var(--text);cursor:pointer;padding:6px var(--s-3);font-weight:650;display:inline-flex}.kb-legend__head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);color:var(--text);display:flex}.kb-legend__title{font-weight:700;font-size:var(--text-sm)}.kb-legend__who{color:var(--text-muted);flex:1}.kb-legend__hide{color:var(--text-muted);cursor:pointer;font-size:var(--text-xs);background:0 0;border:0;text-decoration:underline}.kb-legend__groups{gap:var(--s-4);flex-wrap:wrap;align-items:flex-end;display:flex}.kb-group{flex-direction:column;align-items:center;gap:4px;display:flex}.kb-group--list{align-items:flex-start;gap:3px}.kb-group--list>span{align-items:center;gap:4px;display:flex}.kb-group__label{font-weight:600}.kb-cross{grid-template-columns:repeat(3,26px);grid-auto-rows:26px;justify-items:center;gap:2px;display:grid}.kb-legend__more{margin-top:var(--s-2);font-size:var(--text-xs)}.gp-status{gap:var(--s-2);flex-direction:column;align-items:flex-start;display:flex}.gp-status__list{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.gp-status__row{align-items:center;gap:var(--s-2);font-size:var(--text-sm);display:flex}.gp-status__name{font-family:var(--font-code);font-size:var(--text-xs);color:var(--text-muted)}.gp-status__dev{font-weight:650}.gp-status__dev.is-empty{color:var(--text-faint);font-weight:500}.gp-led{border:1px solid var(--line-strong);border-radius:50%;width:12px;height:12px;box-shadow:0 0 8px}.gp-tester{gap:var(--s-3);flex-direction:column;display:flex}.gp-tester__row{gap:var(--s-4);flex-wrap:wrap;display:flex}.gp-stick{column-gap:var(--s-3);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;display:grid}.gp-stick__well{border:2px solid var(--line-strong);background:var(--surface-2);border-radius:50%;grid-row:span 2;width:64px;height:64px;position:relative}.gp-stick__well.is-pressed{border-color:var(--honey)}.gp-stick__dot{background:var(--honey);border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute}.gp-stick__label{font-weight:650;font-size:var(--text-sm)}.gp-stick__values{font-family:var(--font-code);font-size:var(--text-xs);color:var(--text-muted)}.gp-trigger{align-items:center;gap:var(--s-2);font-size:var(--text-xs);display:flex}.gp-trigger__label{font-family:var(--font-code);min-width:15ch}.gp-trigger__bar{background:var(--surface-3);border-radius:4px;width:90px;height:8px;overflow:hidden}.gp-trigger__bar span{background:var(--honey);height:100%;display:block}.gp-trigger__value{font-family:var(--font-code);color:var(--text-muted)}.gp-tester__buttons{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.gp-chip{justify-content:space-between;align-items:center;gap:var(--s-2);padding:3px var(--s-2);border-radius:var(--r-sm);border:1px solid var(--line);font-size:var(--text-xs);display:flex}.gp-chip code{font-size:11px}.gp-chip__phys{color:var(--text-muted)}.gp-chip.is-on{background:var(--honey);border-color:var(--honey);color:var(--honey-ink)}.gp-chip.is-on .gp-chip__phys{color:var(--honey-ink)}.gp-tester__note{font-size:var(--text-xs);color:var(--text-muted)}.ctl-dialog__panel{padding-top:var(--s-4)}.ctl-tab{gap:var(--s-4);flex-direction:column;display:flex}.pad-card{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.pad-card__head{align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;display:flex}.pad-card__head>div:first-child{flex:1;min-width:180px}.pad-card__name{font-size:var(--text-lg)}.pad-card__meta{font-size:var(--text-xs);color:var(--text-muted)}.remap{gap:var(--s-3);flex-direction:column;display:flex}.remap__top{justify-content:space-between;align-items:flex-end;gap:var(--s-3);display:flex}.remap__pad{font-weight:700}.remap__hint,.remap__msg{font-size:var(--text-sm);color:var(--text-muted)}.remap__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.remap__table th{text-align:left;font-size:var(--text-xs);color:var(--text-muted);padding:4px var(--s-2);border-bottom:1px solid var(--line);font-weight:650}.remap__table td{padding:3px var(--s-2);border-bottom:1px solid var(--line)}.remap__table td .ui-kbd+.ui-kbd{margin-left:4px}.remap__table tr.is-active td{background:var(--honey-wash)}.remap__custom{color:var(--honey-strong);font-size:var(--text-xs)}.remap__none{color:var(--text-faint)}.kb-legend__extras{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;gap:4px 10px;margin:6px 0 0;display:none}.kb-legend__extras>span{align-items:center;gap:3px;display:inline-flex}.kb-legend__extras>.kb-legend__extras-buttons{display:none}.viewport .kb-legend.kb-legend--map{width:auto;min-width:0;padding:6px 10px 8px}.kb-legend--map .kb-legend__head{white-space:nowrap;margin-bottom:4px}.kb-legend--map .kb-legend__title{flex:1}.kb-rows{gap:3px;margin:0;padding:0;list-style:none;display:grid}.kb-row{white-space:nowrap;align-items:center;gap:5px;display:flex}.kb-row__keys{gap:2px;display:inline-flex}.kb-legend--map .ui-kbd{min-width:21px;height:21px;padding:0 4px;font-size:11px}.kb-or{color:var(--text-faint);padding:0 1px}.kb-alt{color:var(--text-muted);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:2px 8px;display:inline-flex}.kb-alt__item{align-items:center;gap:3px;display:inline-flex}.kb-legend__extras>.kb-legend__extras-alt{display:none}.kb-legend--map .kb-alt{margin-left:8px}.touch-pad{--stick:clamp(104px, 26vmin, 148px);--face:clamp(40px, 9vmin, 48px);padding:0 max(var(--s-3), env(safe-area-inset-left)) max(var(--s-3), env(safe-area-inset-bottom)) max(var(--s-3), env(safe-area-inset-right));pointer-events:none;z-index:3;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;inset:auto 0 0}.touch-pad__side{gap:var(--s-2);flex-direction:column;display:flex}.touch-pad__side--left{align-items:flex-start}.touch-pad__side--right{align-items:flex-end}.touch-pad__shoulders{gap:var(--s-2);display:flex}.touch-pad__face{align-items:flex-end;gap:var(--s-2);display:flex}.touch-stick{width:var(--stick);height:var(--stick);pointer-events:auto;touch-action:none;--travel:calc(var(--stick) * .36);border-radius:50%;position:relative}.touch-stick__ring{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle,#1b171240 0 40%,#1b17128c 70%);border:2px solid #f3ecdf59;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000059}.touch-stick__knob{background:radial-gradient(circle at 35% 30%, #fff6dc, var(--honey) 55%, #b9820c);width:44%;height:44%;transform:translate(calc(-50% + var(--kx,0) * var(--travel)), calc(-50% + var(--ky,0) * var(--travel)));border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 3px 10px #00000073}.touch-stick.is-active .touch-stick__ring{border-color:var(--honey)}.touch-stick__label{color:#f3ecdfcc;text-shadow:0 1px 2px #000c;pointer-events:none;font-size:10px;font-weight:700;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.touch-btn{pointer-events:auto;touch-action:none;color:#f3ecdf;font-family:var(--font-ui);font-weight:800;font-size:var(--text-sm);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1b171299;border:2px solid #f3ecdf59}.touch-btn.is-down{background:var(--honey);border-color:var(--honey-strong);color:var(--honey-ink)}.touch-btn--shoulder{border-radius:18px;min-width:52px;height:36px}.touch-diamond{grid-template-columns:repeat(3, var(--face));grid-template-rows:repeat(3, var(--face));margin-bottom:calc(var(--stick) * .25);display:grid}.touch-btn--face{width:var(--face);height:var(--face);border-radius:50%;padding:0}.touch-btn--y{grid-area:1/2}.touch-btn--x{grid-area:2/1}.touch-btn--b{grid-area:2/3}.touch-btn--a{grid-area:3/2}@media (prefers-reduced-motion:no-preference){.touch-stick__knob{transition:transform 60ms linear}.touch-stick.is-active .touch-stick__knob{transition:none}}.app.app--narrow{min-width:0}.app--narrow .topbar{scrollbar-width:none;gap:var(--s-2);padding:0 var(--s-2);position:relative;overflow:auto hidden}.app--narrow .topbar::-webkit-scrollbar{display:none}.app.app--narrow .topbar>*,.app.app--narrow .topbar .ss-trigger,.app.app--narrow .topbar .topbar__robot{flex-shrink:0}.app--narrow .topbar__name{display:none}.app__main.app__main--narrow{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.app__main--narrow>.splitter,.app__main--narrow>.rail{display:none}.app__main--narrow>.pane,.app__main--narrow>.app__center{grid-area:1/1;min-width:0}.app__main--narrow:not([data-narrow-tab=code])>.pane--left,.app__main--narrow:not([data-narrow-tab=driver])>.pane--right,.app__main--narrow[data-narrow-tab=code]>.app__center,.app__main--narrow[data-narrow-tab=driver]>.app__center{display:none}.app__main--narrow>.app__center{grid-template-rows:minmax(0,1fr) 0 0}.app__main--narrow>.app__center>.splitter,.app__main--narrow[data-narrow-tab=field] .app__bottom{display:none}.app__main--narrow[data-narrow-tab=panel]>.app__center{grid-template-rows:0 0 minmax(0,1fr)}.app__main--narrow[data-narrow-tab=panel] .app__viewport{visibility:hidden}.narrow-tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);flex:none}.narrow-tabs__list{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.narrow-tabs__tab{min-height:52px;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-weight:650;display:flex}.narrow-tabs__tab.is-active{color:var(--text);box-shadow:inset 0 3px 0 var(--honey)}.narrow-tabs__tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.narrow-tabs__tab span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.topbar .ss-trigger{overflow:hidden}.topbar .ss-trigger__field{text-overflow:ellipsis;min-width:0;overflow:hidden}.topbar .ss-trigger>svg,.topbar__robot>svg,.topbar__robot>.ui-btn{flex:none}.topbar .topbar__robot{min-width:min-content}@media (max-width:1180px){.app:not(.app--narrow) .topbar{gap:6px;padding:0 8px}.app .topbar .ss-trigger{gap:6px;min-width:128px;padding:0 8px}.topbar__project{max-width:140px}.topbar__project .pbar__name{max-width:96px}.topbar__robot>svg{display:none}.topbar .topbar__robot .ui-field{min-width:84px}.sim-controls__speed{width:64px}}@media (max-width:1100px){.app:not(.app--narrow) .topbar__divider{display:none}.topbar__project .pbar__name{max-width:88px}.app:not(.app--narrow) .learn-btn>span:not(.learn-btn__count){clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;overflow:hidden;position:absolute!important}.app:not(.app--narrow) .learn-btn{padding:0 8px}}.ac{gap:var(--s-4);padding:var(--s-3) var(--s-4) var(--s-4);flex-direction:column;display:flex}.ac-builder{gap:var(--s-2);flex-direction:column;max-width:92ch;display:flex}.ac-sentence{align-items:center;gap:6px var(--s-2);font-size:var(--text-md);flex-wrap:wrap;margin:0;display:flex}.ac-hint{font-size:var(--text-xs);color:var(--text-faint);margin:0}.ac-inline{min-width:120px;margin:0}.ac-inline--wide{min-width:200px}.ac-num{align-items:center;gap:4px;display:inline-flex}.ac-num input{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);width:4.5em;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:right;padding:5px 6px;font-weight:700}.ac-num input:focus-visible{box-shadow:var(--focus-ring);outline:none}.ac-exps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ac-exp{align-items:center;gap:var(--s-2);padding:4px 4px 4px var(--s-3);border-left:3px solid var(--honey);background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0;display:flex}.ac-exp__body{align-items:center;gap:6px var(--s-2);flex-wrap:wrap;flex:1;display:flex}.ac-row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.ac-status{font-size:var(--text-sm);color:var(--text-muted)}.ac-problems{padding-left:var(--s-5);color:var(--danger);font-size:var(--text-sm);margin:0}.ac-out{gap:var(--s-2);flex-direction:column;display:flex}.ac-verdict{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);margin:0;font-weight:700;display:flex}.ac-verdict.is-pass{background:var(--clover-wash);color:var(--text);box-shadow:inset 4px 0 0 var(--clover)}.ac-verdict.is-fail{background:var(--warn-wash);color:var(--text);box-shadow:inset 4px 0 0 var(--warn)}.ac-results{overflow-x:auto}.ac-results:focus-visible{box-shadow:var(--focus-ring);outline:none}.ac-table{border-collapse:separate;border-spacing:0;font-size:var(--text-sm);min-width:100%}.ac-table th,.ac-table td{padding:5px var(--s-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.ac-table thead th{color:var(--text-muted);max-width:22ch;font-weight:700}.ac-table__count{color:var(--text-faint);font-weight:400;font-size:var(--text-xs);display:block}.ac-start{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:700;display:inline-flex}tr.is-pass .ac-start{color:var(--clover)}tr.is-fail .ac-start{color:var(--danger)}.ac-start__pose{color:var(--text-faint);font-weight:400;font-size:var(--text-xs);white-space:nowrap;display:block}.ac-cell__mark{font-weight:700;display:block}.ac-cell.is-pass .ac-cell__mark{color:var(--clover)}.ac-cell.is-fail .ac-cell__mark{color:var(--danger)}.ac-cell__actual{color:var(--text-muted);font-size:var(--text-xs);display:block}.cm-subtitle{margin:0 0 var(--s-2);font-family:var(--font-display);font-size:var(--text-lg)}.cm-minor{margin:var(--s-3) 0 var(--s-2);font-size:var(--text-sm);font-weight:650}.cm-muted{margin:var(--s-2) 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading);max-width:72ch}.cm-empty{margin:var(--s-2) 0;padding:var(--s-3);border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--text-sm)}.cm-share{gap:var(--s-3);flex-direction:column;display:flex}.cm-share__link{font-family:var(--font-code);font-size:var(--text-xs);text-overflow:ellipsis}.cm-share__gallery{padding-top:var(--s-3);border-top:1px solid var(--line)}.cm-share__row{align-items:flex-start;gap:var(--s-2);flex-wrap:wrap;display:flex}.cm-share__row>.ui-field{flex:220px}.cm-share__row>.ui-btn{margin-top:22px}.cm-learn{margin-top:var(--s-5);padding:var(--s-4);border-radius:var(--r-lg);border:1px solid color-mix(in srgb, var(--honey) 45%, var(--line));background:linear-gradient(90deg, var(--honey-wash), var(--surface-2) 70%);justify-content:space-between;align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.cm-learn__text{flex:320px;min-width:0}.cm-learn__when{font-size:var(--text-sm);color:var(--honey-strong);margin:0;font-weight:650}.cm-learn__name{margin:var(--s-1) 0;font-family:var(--font-display);font-size:var(--text-xl)}.cm-learn__desc,.cm-learn__lead{margin:0 0 var(--s-1);font-size:var(--text-sm);color:var(--text-muted);max-width:70ch}.cm-learn__lead{color:var(--text)}.cm-learn__actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.cm-month{gap:var(--s-4);flex-direction:column;display:flex}.cm-month__hero{padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface-2);border-left:4px solid var(--honey)}.cm-month__when{font-size:var(--text-sm);color:var(--honey-strong);margin:0;font-weight:650}.cm-month__name{margin:var(--s-1) 0 var(--s-2);font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.1}.cm-month__desc{margin:0 0 var(--s-2);max-width:70ch}.cm-month__rules{margin:0 0 var(--s-3);font-size:var(--text-sm);color:var(--text-muted);max-width:72ch;line-height:var(--leading)}.cm-month__actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.cm-repro{border-top:1px solid var(--line);padding-top:var(--s-3)}.cm-repro>summary{cursor:pointer;border-radius:var(--r-sm);width:-moz-fit-content;width:fit-content;font-weight:650}.cm-repro>summary:focus-visible{outline:2px solid var(--focus,var(--honey));outline-offset:2px}.cm-repro__body{gap:var(--s-2);margin-top:var(--s-2);flex-direction:column;display:flex}.cm-repro__body>p{max-width:72ch;margin:0}.cm-repro__cmd{padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-all;margin:0}.cm-repro__hash{font-size:var(--text-xs);word-break:break-all}.cm-board{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.cm-board th{text-align:left;color:var(--text-muted);padding:var(--s-1) var(--s-2);border-bottom:1px solid var(--line-strong);font-weight:650}.cm-board td{padding:var(--s-2);border-bottom:1px solid var(--line);vertical-align:baseline}.cm-board__num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.cm-board__rank{width:3.5em;font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;color:var(--text-muted)}.cm-board__time{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.cm-board__name{font-weight:650}.cm-board__team,.cm-board__you{color:var(--text-muted);font-size:var(--text-xs)}.cm-board tr.is-first td{background:var(--honey-wash)}.cm-board tr.is-first .cm-board__rank{color:var(--honey-strong);box-shadow:inset 4px 0 0 var(--honey)}.cm-board tr.is-mine td{background:var(--clover-wash)}.cm-board--compact .cm-board__rank,.cm-board--compact .cm-board__time{font-size:var(--text-md)}.cm-gallery{gap:var(--s-3);flex-direction:column;display:flex}.cm-gallery__list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cm-gallery__item{justify-content:space-between;align-items:flex-start;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-wrap:wrap;display:flex}.cm-gallery__text{flex:280px;min-width:0}.cm-gallery__name{font-weight:700;font-size:var(--text-md);margin:0}.cm-gallery__by{font-size:var(--text-xs);color:var(--text-muted);margin:0}.cm-gallery__desc{margin:var(--s-1) 0 0;font-size:var(--text-sm)}.cm-gallery__meta{margin:var(--s-1) 0 0;font-size:var(--text-xs);color:var(--text-faint)}.cm-gallery__actions{gap:var(--s-1);flex-wrap:wrap;align-items:flex-start;display:flex}.cm-report{gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-sm);background:var(--surface-3);flex-basis:100%;display:grid}.cm-report__buttons{gap:var(--s-2);display:flex}.cm-submit{gap:var(--s-3);flex-direction:column;display:flex}.cm-submit__row{gap:var(--s-2);grid-template-columns:2fr 1fr;display:grid}.cm-judge__what{margin:0 0 var(--s-2);font-weight:650}.cm-judge__state{color:var(--text-muted);margin:0}.cm-judge__result{gap:var(--s-3);flex-direction:column;display:flex}.cm-judge__diags{padding-left:var(--s-4);font-size:var(--text-sm);margin:0}@media (max-width:560px){.cm-submit__row{grid-template-columns:1fr}.cm-board__rank{width:2.5em}.cm-month__name{font-size:var(--text-xl)}}.dash{--dash-c1:var(--honey);--dash-c2:var(--info);--dash-c3:var(--clover);--dash-c4:var(--danger);--dash-c5:#c9a2ff}:root[data-theme=light] .dash{--dash-c1:#a86a00;--dash-c5:#7448c2}.dash{grid-template-columns:clamp(170px,24%,360px) minmax(260px,1fr) minmax(230px,300px);height:100%;min-height:0;display:grid}.dash__pane{flex-direction:column;min-width:0;min-height:0;display:flex}.dash__pane+.dash__pane{border-left:1px solid var(--line)}.dash__pane--map{padding:6px var(--s-2)}.dash--compact{display:block}.dash__views .ui-tabs__tab{height:28px;font-size:var(--text-xs)}.dash--compact .dash__pane{height:100%}.dash--compact .dash__pane--map{align-items:center}.dash--compact .dash-map{width:100%}.dash-map{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.dash-map__svg{flex:1;width:100%;min-height:0}.dash-map--big .dash-map__svg{flex:none;height:min(62vh,560px)}.dash-map--big .dash-map__foot{font-size:var(--text-sm)}.dash-map__field{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1.5px;vector-effect:non-scaling-stroke}.dash-map__grid line{stroke:var(--line);stroke-width:1px}.dash-map__axis line{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 3}.dash-map__axis-label,.dash-map__audience{font-family:var(--font-ui);fill:var(--text-faint);text-anchor:middle;dominant-baseline:middle;font-size:5px}.dash-map__audience{letter-spacing:.04em;font-size:4.5px}.dash-map__robot path{fill:none;stroke:var(--text-faint);stroke-width:1.5px}.dash-map__robot.is-active path{stroke:var(--honey);stroke-width:2.5px}.dash-map__text{font-family:var(--font-ui);font-size:4px}.dash-map__foot{justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;display:flex}.dash-map__tools{align-items:center;gap:2px;display:flex}.dash-map__pose{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dash-map__pose b{color:var(--text);font-weight:650}.dash-graph{flex-direction:column;height:100%;min-height:0;display:flex}.dash-graph__bar{align-items:center;gap:var(--s-2);padding:6px var(--s-3);border-bottom:1px solid var(--line);display:flex}.dash-graph__bar .ui-field{flex:none;width:130px}.dash-graph__bar .ui-select select{height:28px}.dash-graph__body{flex:1;grid-template-columns:minmax(0,1fr) minmax(120px,34%);min-height:0;display:grid}.dash-graph__plot{min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.dash-graph__hint{color:var(--text-muted);font-size:var(--text-sm);margin:auto}.dash-chart{position:absolute;inset:0;overflow:visible}.dash-chart__tick line{stroke:var(--line);stroke-width:1px}.dash-chart__tick text,.dash-chart__time{font-family:var(--font-ui);fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:11px}.dash-chart__line{fill:none;stroke-width:2px;stroke-linejoin:round}.dash-graph__keys{border-left:1px solid var(--line);margin:0;padding:4px;list-style:none;overflow:auto}.dash-key{border-radius:var(--r-sm);width:100%;color:var(--text-muted);font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:10px 1fr auto;align-items:center;gap:6px;padding:3px 6px;display:grid}.dash-key:hover{background:var(--surface-2)}.dash-key:focus-visible{box-shadow:var(--focus-ring);outline:none}.dash-key.is-on{background:var(--surface-3);color:var(--text)}.dash-key__swatch{border:1px solid var(--line-strong);border-radius:2px;width:10px;height:10px}.dash-key__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-key__value{font-variant-numeric:tabular-nums;color:var(--text)}.dash-cfg{height:100%;padding:var(--s-2) var(--s-3);font-size:var(--text-sm);overflow:auto}.dash-cfg__note{margin:0 0 var(--s-2);font-size:var(--text-xs);color:var(--text-muted)}.dash-cfg__list{margin:0;padding:0;list-style:none}.dash-cfg__list .dash-cfg__list{padding-left:var(--s-3);border-left:1px solid var(--line);margin-left:4px}.dash-cfg__group>summary{cursor:pointer;border-radius:var(--r-sm);padding:3px 0;font-weight:650}.dash-cfg__group>summary:focus-visible{box-shadow:var(--focus-ring);outline:none}.dash-cfg__row{align-items:center;gap:var(--s-2);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);padding:2px 0;display:grid}.dash-cfg__row .dash-cfg__select{align-items:center;gap:var(--s-2);grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);display:grid}.dash-cfg__row .dash-cfg__select .ui-field__label{color:var(--text-muted);font-weight:400}.dash-cfg__row .ui-select select{height:28px}.dash-cfg__name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-cfg__input{min-width:0;height:28px;padding:0 var(--s-2);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font:inherit;font-variant-numeric:tabular-nums}.dash-cfg__input:focus-visible{box-shadow:var(--focus-ring);outline:none}.dash-cfg__input[aria-invalid=true]{border-color:var(--danger)}.dash-cfg__check{width:18px;height:18px;accent-color:var(--honey);justify-self:start}.dash-cfg__error{color:var(--danger);font-size:var(--text-xs);grid-column:1/-1;margin:0}.ds{gap:var(--s-3);flex-direction:column;display:flex}.ds-h{font-size:var(--text-sm);margin:0;font-weight:700}.ds-note{font-size:var(--text-sm);color:var(--text-muted);margin:0}.ds-chip{font-size:var(--text-xs);border:1px solid var(--line-strong);color:var(--text-muted);border-radius:999px;padding:1px 8px}.ds-robots{gap:var(--s-1);flex-wrap:wrap;display:flex}.ds-robots__tab{height:28px;padding:0 var(--s-3);border:1px solid var(--line);color:var(--text-muted);font-weight:650;font-size:var(--text-sm);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;display:inline-flex}.ds-robots__tab.is-active{color:var(--text);border-color:var(--honey);background:var(--honey-wash)}.ds-device{gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-lg);background:var(--bg);border:1px solid var(--line-strong);box-shadow:inset 0 0 0 3px var(--surface-2);flex-direction:column;display:flex}.ds-device__bar{justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.ds-device__robot{color:var(--text);white-space:nowrap;font-weight:700}.ds-vitals{gap:var(--s-3);flex-wrap:wrap;margin:0;display:flex}.ds-vitals__item{white-space:nowrap;align-items:center;gap:6px;display:flex}.ds-vitals__item dt{color:var(--text-faint)}.ds-vitals__item dd{font-variant-numeric:tabular-nums;color:var(--text);align-items:center;gap:6px;margin:0;font-weight:650;display:inline-flex}.ds-vitals__warn{color:var(--warn);font-weight:700}.ds-batt--good{color:var(--clover)}.ds-batt--low{color:var(--warn)}.ds-batt--critical{color:var(--danger)}.ds-banner{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);display:flex}.ds-banner__dot{background:var(--text-faint);border-radius:3px;flex:none;width:12px;height:12px}.ds-banner__text{flex-direction:column;flex:1;min-width:0;display:flex}.ds-banner__title{font-size:var(--text-md)}.ds-banner__detail{font-size:var(--text-sm);color:var(--text-muted)}.ds-banner__op{color:var(--text);font-weight:700}.ds-banner__timer{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);font-variant-numeric:tabular-nums}.ds-banner--ready{border-color:var(--honey);background:var(--honey-wash)}.ds-banner--ready .ds-banner__dot{background:var(--honey);border-radius:50%}.ds-banner--running{border-color:var(--clover);background:var(--clover-wash)}.ds-banner--running .ds-banner__dot{background:var(--clover);clip-path:polygon(0 0,100% 50%,0 100%);border-radius:0}.ds-banner--stopping .ds-banner__dot{background:var(--warn)}.ds-banner--error{border-color:var(--danger);background:var(--danger-wash)}.ds-banner--error .ds-banner__dot{background:var(--danger);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}.ds-coach{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.ds-coach__steps{gap:var(--s-1) var(--s-3);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ds-coach__step{color:var(--text-faint);align-items:center;gap:6px;display:inline-flex}.ds-coach__num{width:20px;height:20px;font-size:var(--text-xs);border:1px solid;border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.ds-coach__step.is-current{color:var(--honey-strong);font-weight:700}.ds-coach__step.is-current .ds-coach__num{background:var(--honey);border-color:var(--honey);color:var(--honey-ink)}.ds-coach__step.is-done{color:var(--clover)}.ds-coach__hide{font-size:var(--text-xs);flex:none}.ds-lists{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.ds-utility{padding-top:var(--s-2);border-top:1px dashed var(--line)}.ds-lists__col{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.ds-select__label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px;font-weight:700;display:block}.ds-select__box{position:relative}.ds-select__box select{appearance:none;width:100%;height:38px;padding:0 28px 0 var(--s-2);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--text-sm);text-overflow:ellipsis}.ds-select__box.is-chosen select{border-color:var(--honey);font-weight:700}.ds-select__box select:focus-visible{box-shadow:var(--focus-ring);outline:none}.ds-select__box select:disabled{opacity:.6}.ds-select__chevron{pointer-events:none;color:var(--text-muted);position:absolute;top:50%;right:8px;translate:0 -50%}.ds-select__hint{font-size:var(--text-xs);color:var(--text-faint);margin:4px 0 0}.ds-timer{font-size:var(--text-sm)}.ds-buttons{gap:var(--s-2);grid-template-columns:1.6fr 1fr 1fr;display:grid}.ds-buttons .ui-tooltip-anchor{display:block}.ds-btn{border-radius:var(--r-md);border:2px solid var(--line-strong);background:var(--surface-2);width:100%;height:56px;color:var(--text);font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);letter-spacing:.04em;cursor:pointer;transition:background .12s var(--ease), border-color .12s var(--ease), transform 80ms var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:inline-flex}.ds-btn:active:not(:disabled){transform:translateY(1px)}.ds-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ds-btn:disabled{opacity:.35;cursor:not-allowed}.ds-btn__word{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.02em;font-weight:700}.ds-btn--start:not(:disabled){color:var(--clover)}.ds-btn--stop:not(:disabled){color:var(--danger)}.ds-btn.is-next{border-color:var(--honey);background:var(--honey);color:var(--honey-ink);animation:ds-pulse 1.8s var(--ease) infinite}@keyframes ds-pulse{0%,to{box-shadow:0 0 0 0 var(--honey-wash)}50%{box-shadow:0 0 0 6px var(--honey-wash)}}@media (prefers-reduced-motion:reduce){.ds-btn.is-next{animation:none}}.ds-hint{font-size:var(--text-sm);color:var(--text);margin:0}.ds-error{border:1px solid var(--danger);border-radius:var(--r-md);background:var(--danger-wash);padding:var(--s-3);gap:var(--s-2);flex-direction:column;display:flex}.ds-error__head{gap:var(--s-2);color:var(--danger);display:flex}.ds-error__title{color:var(--text);margin:0;font-weight:700}.ds-error__type,.ds-error__message{font-family:var(--font-code);font-size:var(--text-xs);color:var(--text-muted);overflow-wrap:anywhere;margin:0}.ds-error__message{color:var(--text);font-size:var(--text-sm)}.ds-error__hint{margin:0}.ds-error__fix{padding:var(--s-2);border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.ds-error__fix p{font-size:var(--text-sm);margin:0}.ds-error__frames{padding:var(--s-2);background:var(--bg);border-radius:var(--r-sm);font-family:var(--font-code);font-size:var(--text-xs);max-height:180px;margin:0;list-style:none;overflow:auto}.ds-frame{color:var(--text-faint);overflow-wrap:anywhere}.ds-frame--user{color:var(--text)}button.ds-frame{text-align:left;width:100%;font:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--honey);text-decoration-color:var(--honey);text-underline-offset:3px;background:0 0;border:0;padding:2px 0;display:block}button.ds-frame:hover{color:var(--honey-strong)}.ds-error__actions{gap:var(--s-3);font-size:var(--text-sm);display:flex}.ds-telemetry{gap:var(--s-2);flex-direction:column;display:flex}.ds-telemetry__head{align-items:center;gap:var(--s-2);display:flex}.ds-telemetry__toggle{font-size:var(--text-xs);margin-left:auto}.ds-telemetry__body{min-height:96px;max-height:260px;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--line);font-size:var(--text-sm);line-height:1.45;overflow:auto}.ds-telemetry__body:focus-visible{box-shadow:var(--focus-ring);outline:none}.ds-telemetry__body--monospace{font-family:var(--font-code);font-size:var(--text-xs)}.ds-telemetry__empty{color:var(--text-faint);margin:0}.ds-telemetry__empty code{font-size:var(--text-xs)}.tm-line{overflow-wrap:anywhere}.tm-line--mono{white-space:pre;overflow-wrap:normal}.tm-caption{color:var(--text-muted)}.tm-sep{color:var(--text-faint)}.tm-value{font-variant-numeric:tabular-nums;font-weight:650}.tm-line--html h1,.tm-line--html h2,.tm-line--html h3,.tm-line--html h4,.tm-line--html p{margin:0}.tm-html-big{font-size:1.25em}.ds-log{gap:var(--s-1);flex-direction:column;display:flex}.ds-log__list{padding:var(--s-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);max-height:120px;font-size:var(--text-xs);margin:0;list-style:none;overflow:auto}.ds-log__row{gap:var(--s-2);display:flex}.ds-log__time{color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none}.ds-log__row--warn .ds-log__msg{color:var(--warn)}.ds-log__row--error .ds-log__msg{color:var(--danger)}.ds-gamepads{gap:var(--s-2);flex-direction:column;display:flex}.ed-panel .ui-panel__body--flush{flex-direction:column;display:flex}.ed-loading{height:100%;min-height:120px;color:var(--text-muted);font-size:var(--text-sm);padding:var(--s-4);text-align:center;place-items:center;display:grid}.ed-iconbtn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.ed-iconbtn--sm{width:24px;height:24px}.ed-iconbtn:hover,.ed-iconbtn[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.ed-pane{flex:1;min-height:0;display:flex;position:relative}.ed-rail{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;flex:none;gap:2px;width:56px;padding:6px 4px;display:flex}.ed-rail__btn{border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:11px;font-weight:650;display:flex}.ed-rail__btn:hover{background:var(--surface-2);color:var(--text)}.ed-rail__btn.is-active{background:var(--honey-wash);color:var(--text);box-shadow:inset 3px 0 0 var(--honey)}.ed-side{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;width:240px;min-height:0;display:flex;overflow:hidden}.ed-pane.is-narrow .ed-side{z-index:5;width:min(300px,100% - 64px);box-shadow:var(--shadow-float);position:absolute;top:0;bottom:0;left:56px}.ed-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ed-code{flex:1;min-height:0}.ed-tabs{border-bottom:1px solid var(--line);background:var(--bg);scrollbar-width:thin;flex:none;display:flex;overflow-x:auto}.ed-tab{border-right:1px solid var(--line);flex:none;align-items:center;display:flex}.ed-tab.is-active{background:var(--surface);box-shadow:inset 0 -2px 0 var(--honey)}.ed-tab__label{height:34px;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px 0 10px;display:inline-flex}.ed-tab.is-active .ed-tab__label{color:var(--text);font-weight:650}.ed-tab__dot,.ed-tree__dot{background:var(--honey);border-radius:50%;flex:none;width:7px;height:7px}.ed-tab__close{width:22px;height:22px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:4px;margin-right:4px;font-size:16px;line-height:1}.ed-tab__close:hover{background:var(--surface-3);color:var(--text)}.ed-tree{flex-direction:column;height:100%;min-height:0;display:flex}.ed-tree__toolbar{padding:6px 6px 6px var(--s-3);border-bottom:1px solid var(--line);align-items:center;gap:2px;display:flex}.ed-tree__title{font-weight:750;font-family:var(--font-display);flex:1}.ed-tree__list{padding:4px 0 var(--s-4);flex:1;list-style:none;overflow:auto}.ed-tree__row{cursor:pointer;height:28px;font-size:var(--text-sm);color:var(--text);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding-right:4px;display:flex}.ed-tree__row:hover{background:var(--surface-2)}.ed-tree__row:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.ed-tree__row.is-active{background:var(--honey-wash)}.ed-tree__row.is-drop{background:var(--info-wash);box-shadow:inset 0 0 0 2px var(--info)}.ed-tree__twisty{flex:none;place-items:center;width:12px;display:inline-grid}.ed-tree__twisty:not(:empty),.ed-tree__row[aria-expanded] .ed-tree__twisty:before{content:"";border-left:4px solid var(--text-faint);width:0;height:0;transition:transform .12s var(--ease);border-top:4px solid #0000;border-bottom:4px solid #0000}.ed-tree__twisty.is-open:before{transform:rotate(90deg)}.ed-tree__icon{color:var(--text-muted);flex:none;display:inline-flex}.ed-tree__icon--package{color:var(--honey-strong)}.ed-tree__name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ed-tree__more{opacity:0;flex:none}.ed-tree__row:hover .ed-tree__more,.ed-tree__row:focus-within .ed-tree__more{opacity:1}.ed-tree__more:has([aria-expanded=true]){opacity:1}.ed-tree__empty{padding:var(--s-3);font-size:var(--text-sm);color:var(--text-muted)}.wz-grid{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.wz-card{padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;gap:6px;display:flex}.wz-card:hover{border-color:var(--honey)}.wz-card.is-selected{border-color:var(--honey);background:var(--honey-wash);box-shadow:inset 0 0 0 1px var(--honey)}.wz-card.is-poor-fit{opacity:.75}.wz-card__top{justify-content:space-between;gap:var(--s-2);align-items:baseline;display:flex}.wz-card__title{font-weight:750}.wz-card__kind{font-size:var(--text-xs);background:var(--surface-3);border-radius:4px;padding:0 6px;font-weight:700}.wz-card__kind--auto{background:var(--info-wash);color:var(--info)}.wz-card__summary{font-size:var(--text-sm);color:var(--text-muted)}.wz-card__level{font-size:var(--text-xs);color:var(--text-faint)}.wz-card.is-selected .wz-card__level{color:var(--text-muted)}.wz-card__fit{font-size:var(--text-xs);color:var(--warn)}.wz-name{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.wz-notes{gap:var(--s-2);flex-direction:column;display:flex}.runbtn{align-items:center;display:flex}.runbtn__main{min-width:96px}.runbtn:has(.runbtn__more) .runbtn__main{border-top-right-radius:0;border-bottom-right-radius:0}.runbtn__more{border-left:1px solid #0003;border-top-left-radius:0;border-bottom-left-radius:0;padding:0 8px}.probs{padding:4px 0;list-style:none}.probs,.probs__wrap{container-type:inline-size}.prob{border-bottom:1px solid var(--line);padding-right:var(--s-3);grid-template-columns:1fr auto;align-items:center;display:grid}.prob__main{align-items:baseline;gap:var(--s-2);padding:6px var(--s-3);color:var(--text);text-align:left;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;flex-wrap:wrap;min-width:0;display:flex}.prob__main:hover{background:var(--surface-2)}.prob--error .prob__main svg{color:var(--danger);align-self:center}.prob--warning .prob__main svg{color:var(--warn);align-self:center}.prob__where{font-family:var(--font-code);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.prob__headline{flex:240px;min-width:0}.prob__toggle{font-size:var(--text-xs);white-space:nowrap}@container (width<=520px){.prob{grid-template-columns:1fr}.prob__toggle{margin:0 0 6px calc(var(--s-3) + 24px);justify-self:start}}.prob__details{padding:0 var(--s-3) var(--s-3) calc(var(--s-3) + 24px);font-size:var(--text-sm);flex-direction:column;grid-column:1/-1;gap:4px;display:flex}.prob__orig-label{color:var(--text-muted);font-size:var(--text-xs)}.prob__orig{font-family:var(--font-code);font-size:var(--text-xs);white-space:pre-wrap;border-radius:var(--r-sm);background:var(--bg);padding:6px 8px}.con__search{width:160px}.con__search .pf-input{min-height:30px;padding:3px 8px}.probs__stale,.probs__names{margin:var(--s-2) var(--s-3) 0}.blk-lang{gap:var(--s-2);margin-bottom:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.blk-lang__opt{padding:var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;gap:2px;display:flex}.blk-lang__opt:hover{border-color:var(--text-faint)}.blk-lang__opt.is-on{border-color:var(--line-strong);background:var(--surface-2);box-shadow:inset 0 -3px 0 var(--honey)}.blk-lang__title{font-weight:700}.blk-lang__detail{font-size:var(--text-sm);color:var(--text-muted)}.learn-btn{border-radius:var(--r-sm);border:1px solid var(--honey);background:var(--honey-wash);height:34px;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-weight:700;display:inline-flex}.learn-btn:hover{background:var(--honey);color:var(--honey-ink)}.learn-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.learn-btn__count{font-size:var(--text-xs);font-variant-numeric:tabular-nums;opacity:.8;font-weight:600}.learn-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.learn-item{gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;display:grid}.learn-item__num{clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);background:var(--surface-3);width:32px;height:32px;font-family:var(--font-display);place-items:center;font-weight:800;display:grid}.learn-item.is-done .learn-item__num{background:var(--clover);color:var(--bg)}.learn-item.is-current .learn-item__num{background:var(--honey);color:var(--honey-ink)}.learn-item__title{font-size:var(--text-md);margin:0}.learn-item__summary{font-size:var(--text-sm);color:var(--text-muted);margin:2px 0 4px}.learn-item__concepts{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.learn-item__concepts li{font-size:var(--text-xs);border:1px solid var(--line-strong);color:var(--text-muted);border-radius:999px;padding:0 8px}.coach{left:var(--s-3);z-index:3;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-strong);border-left:5px solid var(--honey);width:min(320px,100% - 24px);min-height:120px;max-height:calc(100% - 240px);box-shadow:var(--shadow-float);pointer-events:auto;text-align:left;position:absolute;top:56px;overflow:auto}.coach.is-min{min-height:0}.coach__head{padding:var(--s-2) var(--s-2) 0 var(--s-3);grid-template-columns:1fr auto auto;grid-template-areas:"num min close""title title title";align-items:center;display:grid}.coach__num{font-size:var(--text-xs);color:var(--honey-strong);grid-area:num;font-weight:700}.coach__head>.ui-iconbtn:first-of-type{grid-area:min}.coach__title{font-family:var(--font-display);font-size:var(--text-lg);grid-area:title;margin:0}.coach__mini{padding:0 var(--s-3) var(--s-2);font-size:var(--text-sm);color:var(--text-muted);margin:0}.coach__body{gap:var(--s-2);padding:var(--s-2) var(--s-3) var(--s-3);font-size:var(--text-sm);flex-direction:column;display:flex}.coach__goal{margin:0}.coach__tip{border-radius:var(--r-sm);background:var(--info-wash);border:1px solid var(--info);margin:0;padding:6px 8px}.coach-checks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.coach-checks li{align-items:flex-start;gap:8px;display:flex}.coach-checks__box{border:1.5px solid var(--line-strong);border-radius:4px;flex:none;place-items:center;width:18px;height:18px;font-size:12px;font-weight:800;display:grid}.coach-checks .is-done .coach-checks__box{background:var(--clover);border-color:var(--clover);color:var(--bg)}.coach-checks .is-done{color:var(--text-muted)}.coach-checks__measure{color:var(--honey-strong);font-variant-numeric:tabular-nums;font-weight:650}.coach__explain p{color:var(--text);margin:0 0 6px}.coach__explain code,.coach-hints code{font-family:var(--font-code);background:var(--surface-3);overflow-wrap:anywhere;border-radius:3px;padding:0 3px;font-size:.92em}.coach-actions{flex-wrap:wrap;gap:6px;display:flex}.coach-hints{padding:var(--s-2) var(--s-2) var(--s-2) var(--s-5);border-radius:var(--r-sm);background:var(--honey-wash);margin:0}.coach-hints li+li{margin-top:4px}.coach-celebrate{padding:var(--s-3);gap:var(--s-2);flex-direction:column;display:flex;position:relative;overflow:hidden}.coach-celebrate__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--clover);margin:0;font-weight:800}.coach-celebrate__text{font-size:var(--text-sm);margin:0}.coach-confetti{pointer-events:none;position:absolute;inset:0}.coach-confetti span{top:-12px;left:calc(4% + var(--i) * 6.8%);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:var(--honey);width:9px;height:10px;animation:coach-fall 1.6s var(--ease) both;animation-delay:calc(var(--i) * 45ms);position:absolute}.coach-confetti span:nth-child(3n){background:var(--clover)}.coach-confetti span:nth-child(4n){background:var(--info)}@keyframes coach-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(170px)rotate(220deg)}}@media (prefers-reduced-motion:reduce){.coach-confetti span{transform:rotate(calc(var(--i) * 25deg));opacity:.9;animation:none;top:4px}.coach-confetti span:nth-child(2n){top:auto;bottom:4px}}.starter-code{margin:var(--s-3) 0 0;max-height:50vh;padding:var(--s-3);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--line);font-family:var(--font-code);font-size:var(--text-xs);line-height:1.5;overflow:auto}.coach__reset{align-self:flex-start;font-size:12px}.coach__confirm{border-radius:var(--r-sm);background:var(--warn-wash);border:1px solid var(--warn);flex-direction:column;gap:6px;padding:8px;display:flex}.coach__confirm p{margin:0}.starter-code__changed{min-width:100%;color:inherit;background:var(--warn-wash);box-shadow:inset 3px 0 0 var(--warn);display:inline-block}.learn-hub__start{margin-bottom:var(--s-3)}.learn-lang{margin:0 0 var(--s-4);border:0;padding:0}.learn-lang__legend{margin-bottom:var(--s-2);font-weight:700;font-size:var(--text-sm);padding:0}.learn-lang__options{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learn-lang__option{padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:1.5px solid var(--line-strong);background:var(--surface-2);cursor:pointer;flex-direction:column;gap:2px;display:flex;position:relative}.learn-lang__option input{opacity:0;pointer-events:none;position:absolute}.learn-lang__option:has(input:focus-visible){box-shadow:var(--focus-ring)}.learn-lang__option.is-on{border-color:var(--honey);background:var(--honey-wash)}.learn-lang__option.is-on .learn-lang__name:after{content:" ✓";color:var(--honey-strong)}.learn-lang__name{font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.learn-lang__hint,.learn-lang__note{font-size:var(--text-xs);color:var(--text-muted)}.learn-lang__note{margin:var(--s-1) 0 0}@media (max-width:520px){.learn-lang__options{grid-template-columns:1fr}}.learn-unit+.learn-unit{margin-top:var(--s-5)}.learn-unit__head{justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.learn-unit__title{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.learn-unit__progress{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.learn-unit__lead{margin:2px 0 var(--s-1);font-size:var(--text-sm);color:var(--text-muted)}.learn-item__concepts .learn-item__donein{border-color:var(--clover);color:var(--text)}.coach-lang{justify-content:space-between;align-items:center;gap:var(--s-2);border:0;margin:0;padding:0;display:flex}.coach-lang__label{float:left;font-size:var(--text-xs);color:var(--text-muted);padding:0}.coach-lang__seg{border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;overflow:hidden}.coach-lang__opt{font-size:var(--text-xs);cursor:pointer;padding:2px 10px;font-weight:700;position:relative}.coach-lang__opt input{opacity:0;pointer-events:none;position:absolute}.coach-lang__opt:has(input:focus-visible){box-shadow:var(--focus-ring)}.coach-lang__opt.is-on{background:var(--honey);color:var(--honey-ink)}.badges{margin-top:var(--s-5);scroll-margin-top:var(--s-3)}.badges__title{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.badges__lead{margin:2px 0 var(--s-3);font-size:var(--text-sm);color:var(--text-muted)}.badges__grid{gap:var(--s-2) var(--s-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.badge{gap:var(--s-2);grid-template-columns:44px 1fr;align-items:start;display:grid}.badge__name{font-size:var(--text-sm);margin:2px 0 0}.badge__state{font-size:var(--text-xs);color:var(--text-faint);margin:0;font-weight:700}.badge.is-earned .badge__state{color:var(--clover)}.badge__how{font-size:var(--text-xs);color:var(--text-muted);margin:2px 0 0}.badge-icon__cell{fill:#0000;stroke:var(--line-strong);stroke-width:2px;stroke-dasharray:4 3}.badge-icon__glyph{fill:none;stroke:var(--text-faint);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.badge-icon.is-earned .badge-icon__cell{fill:var(--honey);stroke:var(--honey-strong);stroke-dasharray:none}.badge-icon.is-earned .badge-icon__glyph{stroke:var(--honey-ink)}.badge-pop{left:50%;bottom:var(--s-6);z-index:60;gap:var(--s-3);width:min(420px,100vw - 32px);padding:var(--s-3);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--honey);box-shadow:var(--shadow-float);animation:badge-rise .32s var(--ease) both;grid-template-columns:auto 1fr auto;align-items:start;display:grid;position:fixed;overflow:hidden;transform:translate(-50%)}.badge-pop__kicker{font-size:var(--text-xs);color:var(--honey-strong);margin:0;font-weight:700}.badge-pop__name{font-family:var(--font-display);font-size:var(--text-lg);margin:0;font-weight:800}.badge-pop__how{margin:2px 0 var(--s-1);font-size:var(--text-sm);color:var(--text-muted)}.badge-pop__confetti{pointer-events:none;position:absolute;inset:0}.badge-pop__confetti span{top:-12px;left:calc(6% + var(--i) * 8%);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:var(--honey);width:8px;height:9px;animation:coach-fall 1.4s var(--ease) both;animation-delay:calc(var(--i) * 50ms);position:absolute}.badge-pop__confetti span:nth-child(3n){background:var(--clover)}@keyframes badge-rise{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.badge-pop{animation:none}.badge-pop__confetti span{transform:rotate(calc(var(--i) * 25deg));opacity:.9;animation:none;top:3px}.badge-pop__confetti span:nth-child(2n){top:auto;bottom:3px}}.tguide{max-height:60vh;padding:var(--s-3) var(--s-1) 0 0;font-size:var(--text-sm);line-height:var(--leading);overflow:auto}.tguide p,.tguide ul,.tguide ol{max-width:72ch}.tguide .md-h{font-family:var(--font-display);margin:var(--s-4) 0 var(--s-1)}.tguide .md-h1{font-size:var(--text-xl);margin-top:0}.tguide .md-h2{font-size:var(--text-lg)}.tguide .md-h3{font-size:var(--text-md);color:var(--honey-strong)}.tguide code{font-family:var(--font-code);background:var(--surface-3);border-radius:3px;padding:0 3px;font-size:.92em}.tguide hr{border:0;border-top:1px solid var(--line);margin:var(--s-4) 0}.md-table{margin:var(--s-2) 0;overflow-x:auto}.md-table table{border-collapse:collapse;font-size:var(--text-xs)}.md-table th,.md-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 8px}.md-table th{background:var(--surface-2)}.md-code{padding:var(--s-2);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--line);overflow-x:auto}.badge-pop{pointer-events:none}.badge-pop button{pointer-events:auto}.badge-pop__cells{flex-direction:column;gap:2px;display:flex}.badge-pop__list{margin:0 0 var(--s-1);flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.badge-pop__list .badge-pop__name{font-size:var(--text-md);display:block}.badge-pop__list .badge-pop__how{margin:0;display:block}.stour{z-index:1000;position:fixed;inset:0}.stour__scrim{background:var(--scrim);position:absolute;inset:0}.stour__spot{border-radius:var(--r-md);box-shadow:0 0 0 9999px var(--scrim), 0 0 0 2px var(--honey);transition:top .22s var(--ease), left .22s var(--ease), width .22s var(--ease), height .22s var(--ease);pointer-events:none;position:absolute}@media (prefers-reduced-motion:reduce){.stour__spot{transition:none}}.stour__card{width:340px;max-width:calc(100vw - 32px);padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-float);gap:var(--s-2);flex-direction:column;display:flex;position:absolute}.stour__card:focus{outline:none}.stour__card:focus-visible{box-shadow:var(--shadow-float), var(--focus-ring)}.stour__count{font-size:var(--text-xs);color:var(--honey-strong);margin:0;font-weight:700}.stour__title{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.stour__body{font-size:var(--text-sm);margin:0}.stour__dots{gap:4px;margin:0;padding:0;list-style:none;display:flex}.stour__dots li{background:var(--surface-3);border-radius:50%;width:8px;height:8px}.stour__dots li.is-done{background:var(--text-faint)}.stour__dots li.is-current{background:var(--honey)}.stour__actions{justify-content:flex-end;gap:6px;display:flex}.stour__actions>:first-child{margin-right:auto}.libs{height:100%;padding:var(--s-2) var(--s-3) var(--s-3);gap:var(--s-2);flex-direction:column;display:flex;overflow-y:auto}.libs__intro,.libs__note{max-width:78ch;font-size:var(--text-sm);color:var(--text-muted);margin:0}.libs__note{font-size:var(--text-xs);color:var(--text-faint)}.libs__note code{font-family:var(--font-code);color:var(--text-muted);font-size:.95em}.libs__callout{max-width:78ch}.libs__list{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.libs__row{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--r-sm);background:var(--surface);display:flex}.libs__row.is-on{border-left-color:var(--honey);background:var(--honey-wash)}.libs__toggle{min-width:0}.libs__toggle .ui-toggle__hint{font-size:var(--text-xs)}.libs__name{font-family:var(--font-display);color:var(--text);font-weight:700}.libs__version{font-size:var(--text-xs);color:var(--text-faint);white-space:nowrap;font-weight:400}.libs__docs{font-size:var(--text-xs);color:var(--text-muted);text-underline-offset:2px;border-radius:4px;flex:none;padding:2px;text-decoration:underline}.libs__docs:hover{color:var(--text)}.libs__docs:focus-visible{box-shadow:var(--focus-ring);outline:none}.libs__sdk{gap:var(--s-2);max-width:78ch;padding-bottom:var(--s-2);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.libs__sdk-select{max-width:320px}.hud-match{flex-direction:column;align-items:center;gap:6px;max-width:min(640px,100%);display:flex}.sb{border-radius:var(--r-md);box-shadow:var(--shadow-float);border:1px solid var(--line-strong);grid-template-columns:1fr auto 1fr;align-items:stretch;display:grid;overflow:hidden}.sb-alliance{background:var(--surface);align-items:center;gap:8px;min-width:0;padding:4px 12px;display:flex}.sb-alliance--red{border-top:4px solid var(--red-alliance)}.sb-alliance--blue{border-top:4px solid var(--blue-alliance);flex-direction:row-reverse}.sb-alliance__name{font-size:var(--text-sm);color:var(--text-muted);font-weight:700}.sb-alliance__total{font-family:var(--font-display);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;margin-inline:auto;font-weight:800;line-height:1}.sb-rps{font-size:var(--text-xs);color:var(--text-faint);gap:1px;margin:0;padding:0;list-style:none;display:flex}.sb-rp.is-earned{color:var(--honey)}.sb-clock{color:#fff6e0;background:#0d0b08;flex-direction:column;justify-content:center;align-items:center;min-width:92px;padding:2px 14px;display:flex}.sb-clock__time{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.75rem;font-weight:800;line-height:1}.sb-clock__phase{font-size:var(--text-xs);letter-spacing:.08em;color:#f5b21b;font-weight:800}.sb--transition .sb-clock__phase,.sb--endgame .sb-clock__phase{color:#ffdb7a}.sb--over .sb-clock__phase{color:#c2b6a2}.hud-banner{background:var(--surface);border:1px solid var(--line);font-size:var(--text-sm);text-align:center;border-radius:999px;margin:0;padding:3px 12px;font-weight:650}.hud-banner--transition,.hud-banner--endgame{background:var(--honey);color:var(--honey-ink);border-color:var(--honey)}.hud-cue{border-radius:var(--r-sm);background:var(--surface);box-shadow:inset 0 0 0 100px var(--honey-wash);border:1px solid var(--honey);font-weight:700;font-size:var(--text-sm);animation:hud-cue-in .24s var(--ease);margin:0;padding:4px 14px}@keyframes hud-cue-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.hud-cue{animation:none}}.hud-actions{white-space:nowrap;border-radius:var(--r-md);background:var(--hud-panel);flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;padding:4px;display:flex}.hud-sound[aria-pressed=true]{color:var(--warn)}.hud-tip{border-radius:var(--r-sm);background:var(--surface);font-size:var(--text-xs);color:var(--text-muted);text-align:center;max-width:420px;margin:0;padding:4px 10px}.hud-details{max-height:46cqh;padding:var(--s-2);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-float);overflow:auto}.hud-match--free{flex-flow:wrap;justify-content:center}.hud-chip{background:var(--surface);border:1px solid var(--line);font-size:var(--text-sm);border-radius:999px;align-items:baseline;gap:8px;padding:4px 12px;display:inline-flex}.hud-chip__detail{color:var(--text-faint);font-size:var(--text-xs)}.hud-goal{background:var(--surface);border:1px solid var(--honey);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:8px;padding:4px 12px;display:inline-flex}.hud-goal.is-done{border-color:var(--clover);background:var(--clover-wash)}.hud-goal__bar{background:var(--surface-3);border-radius:999px;width:80px;height:8px;overflow:hidden}.hud-goal__bar>span{background:var(--honey);height:100%;display:block}.hud-goal.is-done .hud-goal__bar>span{background:var(--clover)}.hud-goal__num{font-variant-numeric:tabular-nums;font-weight:700}@container (width<=760px){.sb-alliance__name,.sb-rps{display:none}.hud-banner,.hud-tip{font-size:var(--text-xs)}}.bd-wrap{overflow-x:auto}.bd{border-collapse:collapse;font-size:var(--text-sm);width:100%;min-width:420px}.bd th,.bd td{text-align:center;border-bottom:1px solid var(--line);padding:4px 8px}.bd .bd-line{text-align:left;font-weight:600}.bd thead th{font-size:var(--text-xs);color:var(--text-muted)}.bd-red{box-shadow:inset 0 3px 0 var(--red-alliance)}.bd-blue{box-shadow:inset 0 3px 0 var(--blue-alliance)}.bd-cell{color:var(--text-faint)}.bd-cell.has-points{color:var(--text)}.bd-count{margin-right:4px;font-weight:700}.bd-points{font-size:var(--text-xs)}.bd-na{color:var(--text-faint)}.bd-sub td{font-weight:650}.bd-total td{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800}.bd-rps{font-size:var(--text-xs);color:var(--text-faint);text-align:left;margin:0;padding:0;list-style:none}.bd-rps .is-earned{color:var(--text);font-weight:700}.bd-note{font-size:var(--text-xs);color:var(--text-faint);margin:6px 0 0}.hp{right:var(--s-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-strong);width:232px;box-shadow:var(--shadow-float);pointer-events:auto;position:absolute;bottom:76px}.hp--red{border-top:4px solid var(--red-alliance)}.hp--blue{border-top:4px solid var(--blue-alliance)}.hp__head{align-items:center;gap:6px;padding:4px 6px 4px 10px;display:flex}.hp__title{font-size:var(--text-sm);flex:1;margin:0}.hp__remaining{font-size:var(--text-xs);color:var(--text-muted);font-weight:700}.hp__body{font-size:var(--text-sm);flex-direction:column;gap:8px;padding:0 10px 10px;display:flex}.hp__aim{flex-direction:column;align-items:center;gap:2px;display:flex}.hp__pad{touch-action:none;cursor:crosshair;border-radius:6px;max-width:100%;height:auto}.hp__pad:focus-visible{box-shadow:var(--focus-ring);outline:none}.hp__zone{fill:var(--surface-2);stroke:var(--honey);stroke-dasharray:5 3}.hp__landing{fill:color-mix(in srgb, var(--honey) 14%, transparent);stroke:var(--honey);stroke-width:1px}.hp__wall{stroke:var(--text-muted);stroke-width:4px;stroke-linecap:round}.hp__edge{fill:var(--text-muted);font-size:10px}.hp__target{fill:none;stroke:var(--text);stroke-width:2px}.hp__target-dot{fill:var(--text)}.hp__aimtext{font-size:var(--text-xs);color:var(--text-faint);margin:0}.hp__strength{flex-direction:column;gap:2px;display:flex}.hp__strength input{accent-color:var(--honey)}.hp__drop{justify-content:center}.hp__why{font-size:var(--text-xs);color:var(--text-muted);margin:0}.hp{max-width:calc(100% - 2 * var(--s-3));flex-direction:column;display:flex}.hp__head{flex:none}.hp__body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.hp__controls{flex-direction:column;gap:8px;display:flex}.hp--compact{width:400px}.hp--compact .hp__body{grid-template:"pad auto""pad controls"1fr/auto minmax(0,1fr);align-items:start;gap:6px 12px;display:grid}.hp--compact.hp--why .hp__body{grid-template-rows:auto auto 1fr;grid-template-areas:"why why""pad auto""pad controls"}.hp--compact .hp__why{grid-area:why}.hp--compact .hp__auto{grid-area:auto}.hp--compact .hp__aim{grid-area:pad}.hp--compact .hp__controls{grid-area:controls;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 8px;display:grid}.hp--compact .hp__controls>.hp__warn{grid-column:1/-1}.hp--compact .ui-toggle__hint,.hp--compact .hp__aimtext{display:none}.hp__ball{fill:var(--text-faint);stroke:var(--surface);stroke-width:1.5px}.hp__ball--pollen{fill:#f5c400}.hp__ball--nectar-red{fill:var(--red-alliance)}.hp__ball--nectar-blue{fill:var(--blue-alliance)}.hp__warn{border-radius:var(--r-sm);border-left:3px solid var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent);font-size:var(--text-xs);color:var(--text);margin:0;padding:4px 6px}@container (width<=480px){.viewport .hp--compact{width:232px}.viewport .hp--compact .hp__body,.viewport .hp--compact .hp__controls{flex-direction:column;display:flex}}.result{gap:var(--s-3);width:min(580px,100% - 24px);max-height:calc(100% - 150px);padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-float);pointer-events:auto;z-index:4;flex-direction:column;display:flex;position:absolute;top:72px;left:50%;overflow:auto;transform:translate(-50%)}.result>*{flex-shrink:0}.result--waiting{text-align:center;font-weight:650}.result__head{justify-content:space-between;align-items:center;display:flex}.result__title{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.result__scores{gap:var(--s-4);font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;display:flex}.result__score{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.result__score.is-winner{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--honey);text-decoration-color:var(--honey);text-underline-offset:6px}.result__code{padding-left:var(--s-2);border-left:3px solid var(--honey);font-size:var(--text-sm);color:var(--text);margin:0}.result__fouls{font-size:var(--text-sm);color:var(--text-muted);margin:0}.result__actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.sg{margin:0}.sg__svg{width:100%;height:auto;display:block}.sg__grid{stroke:var(--line)}.sg__phase{stroke:var(--text-faint);stroke-dasharray:3 3}.sg__label{fill:var(--text-faint);font-size:9px}.sg__line{fill:none;stroke-width:2.5px}.sg__line--red{stroke:var(--red-alliance)}.sg__line--blue{stroke:var(--blue-alliance);stroke-dasharray:6 3}.sg__legend{gap:var(--s-3);font-size:var(--text-xs);color:var(--text-muted);display:flex}.ref-log{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ref-entry{gap:var(--s-3);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:150px 1fr auto;display:grid}.ref-entry__meta{flex-direction:column;gap:2px;display:flex}.ref-entry__time{color:var(--text-faint);font-variant-numeric:tabular-nums}.ref-entry__who{align-items:center;gap:6px;font-weight:650;display:inline-flex}.ref-entry__rule{font-family:var(--font-code);font-weight:700}.ref-entry__body p{margin:0}.ref-entry__title{font-weight:700}.ref-entry__ruletext{color:var(--text-muted);font-style:italic}.ref-entry__penalty{font-size:var(--text-xs);color:var(--text-muted)}.ref-entry__actions{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ref-entry__status{font-size:var(--text-xs);color:var(--text-muted)}.ref-entry__status.is-decided{color:var(--text);font-weight:700}.ref-entry__buttons{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}@container (width<=640px){.ref-entry{grid-template-columns:1fr}}.score-tab{padding:var(--s-2) var(--s-3);gap:var(--s-3);flex-direction:column;display:flex}.score-tab__saved ul{font-size:var(--text-sm);margin:6px 0 0;padding:0;list-style:none}.score-tab__saved li{align-items:center;gap:var(--s-2);display:flex}.score-tab__code{font-size:var(--text-xs);color:var(--text-faint);display:block}.score-tab__team{flex-wrap:wrap}.score-tab__detail{gap:var(--s-2);padding:var(--s-2) 0;flex-direction:column;flex-basis:100%;display:flex}.ss-trigger{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);height:34px;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;flex:0 auto;align-items:center;gap:8px;min-width:190px;max-width:300px;padding:0 10px;display:inline-flex}.ss-trigger>svg{flex:none}.ss-trigger:hover{background:var(--surface-3)}.ss-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.ss-trigger__field{white-space:nowrap;font-weight:700}.ss-trigger__scenario{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ss{gap:var(--s-5);flex-direction:column;display:flex}.ss-section{gap:var(--s-2);flex-direction:column;display:flex}.ss-h{font-size:var(--text-md);margin:0}.ss-note{font-size:var(--text-sm);color:var(--text-muted);margin:0}.ss-cards{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.ss-card{padding:var(--s-3);text-align:left;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.ss-card>span{color:var(--text-muted)}.ss-card.is-selected{border-color:var(--honey);box-shadow:inset 0 0 0 1px var(--honey);background:var(--honey-wash)}.ss-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.ss-card>.ss-card__mode{font-size:var(--text-xs);color:var(--honey-strong);font-weight:700}.ss-card>.ss-card__goal{color:var(--text);font-weight:650}.ss-robots{border-collapse:collapse;font-size:var(--text-sm)}.ss-robots th,.ss-robots td{text-align:left;padding:4px 8px 4px 0}.ss-robots th[scope=row]{white-space:nowrap}.ss-rules{gap:var(--s-4);flex-wrap:wrap;align-items:flex-start;display:flex}.ss-start{gap:var(--s-3);grid-template-columns:minmax(260px,1fr) 1fr;display:grid}@media (max-width:760px){.ss-start{grid-template-columns:1fr}}.ss-start__side{gap:var(--s-2);flex-direction:column;display:flex}.ss-start__tools{flex-wrap:wrap;gap:6px;display:flex}.ss-checks{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ss-checks .is-legal:before{content:"✓ ";color:var(--clover)}.ss-checks .is-illegal:before{content:"! ";color:var(--danger);font-weight:800}.spm{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:420px;height:auto}.spm-floor{fill:var(--surface-3)}.spm-tile{stroke:var(--line-strong);stroke-width:.3px}.spm-wall{fill:none;stroke:var(--text-muted);stroke-width:1.2px}.spm-label{fill:var(--text-faint);font-size:4px}.spm-zone{fill:none;stroke:var(--text-faint);stroke-width:.5px}.spm-zone--alliance-side{stroke:none}.spm-zone--red{stroke:var(--red-alliance)}.spm-zone--blue{stroke:var(--blue-alliance)}.spm-zone--loading-zone{stroke-width:1px;stroke-dasharray:2 1.5}.spm-obstacle{fill:var(--line-strong);opacity:.7}.spm-robot{cursor:grab}.spm-robot:focus{outline:none}.spm-robot__body{stroke-width:.8px;fill-opacity:.85}.spm-robot--red .spm-robot__body{fill:var(--red-alliance);stroke:var(--red-alliance)}.spm-robot--blue .spm-robot__body{fill:var(--blue-alliance);stroke:var(--blue-alliance)}.spm-robot.is-selected .spm-robot__body,.spm-robot:focus-visible .spm-robot__body{stroke:var(--focus);stroke-width:1.6px}.spm-robot.is-illegal .spm-robot__body{stroke:var(--danger);stroke-dasharray:2 1;stroke-width:1.4px;fill-opacity:.45}.spm-robot__nose{stroke:#fff;stroke-width:1.2px;stroke-linecap:round}.spm-robot__label{fill:#fff;pointer-events:none;font-size:4.5px;font-weight:700}.ss-footnote{max-width:46ch;color:var(--warn);margin:0 auto 0 0;font-size:12px}.mp-topbtn{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);height:34px;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:700;display:inline-flex}.mp-topbtn:hover{border-color:var(--honey)}.mp-topbtn:focus-visible{box-shadow:var(--focus-ring);outline:none}.mp-topbtn.is-in-room{border-color:var(--honey);background:var(--honey-wash)}.mp-topbtn__live{background:var(--clover-wash);color:var(--clover);font-size:var(--text-xs);border-radius:999px;padding:1px 6px;font-weight:700}@media (max-width:1500px){.mp-topbtn:not(.is-in-room) .mp-topbtn__label{display:none}}.mp-dialog{gap:var(--s-4);flex-direction:column;display:flex}.mp-h3{margin:0 0 var(--s-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.mp-home{gap:var(--s-5);flex-direction:column;display:flex}.mp-home__choices{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.mp-choice{column-gap:var(--s-3);row-gap:var(--s-1);padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:start;display:grid}.mp-choice>svg{color:var(--honey);grid-row:span 2}.mp-choice:hover{border-color:var(--honey)}.mp-choice:focus-visible{box-shadow:var(--focus-ring);outline:none}.mp-choice__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.mp-choice__desc{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading)}.mp-home__join{padding-top:var(--s-4);border-top:1px solid var(--line)}.mp-form{gap:var(--s-3);flex-direction:column;max-width:560px;display:flex}.mp-form__row{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.mp-form__buttons{justify-content:flex-end;gap:var(--s-2);display:flex}.mp-code-input input{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.12em;max-width:12ch}.mp-mode{gap:var(--s-2);border:0;grid-template-columns:1fr 1fr;margin:0;padding:0;display:grid}.mp-mode legend{margin-bottom:var(--s-2);grid-column:1/-1}.mp-mode__opt{padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;flex-direction:column;gap:2px;display:flex}.mp-mode__opt.is-on{border-color:var(--honey);background:var(--honey-wash)}.mp-mode__opt:focus-within{box-shadow:var(--focus-ring)}.mp-mode__opt input{opacity:0;pointer-events:none;position:absolute}.mp-mode__title{font-weight:700}.mp-mode__desc{color:var(--text-muted);font-size:var(--text-sm)}.mp-code{gap:var(--s-2);flex-direction:column;display:flex}.mp-code__label{color:var(--text-muted);font-size:var(--text-sm);margin:0;font-weight:650}.mp-code__cells{gap:4px;margin:0;display:flex}.mp-code__cell{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--honey);width:46px;height:52px;color:var(--honey-ink);font-family:var(--font-display);place-items:center;font-size:1.6rem;font-weight:800;line-height:1;display:grid}.mp-code__cell--gap{margin-left:12px}.mp-code__help{max-width:34ch;color:var(--text-muted);font-size:var(--text-sm);margin:0}.mp-code__buttons{gap:var(--s-2);flex-wrap:wrap;display:flex}.mp-code__buttons .ui-btn__label{align-items:center;gap:6px;display:inline-flex}.mp-code__fallback input{width:100%;margin-top:var(--s-1);font:inherit;font-size:var(--text-sm)}.mp-lobby{gap:var(--s-4);flex-direction:column;display:flex}.mp-lobby__top{gap:var(--s-6);grid-template-columns:auto 1fr;align-items:start;display:grid}@media (max-width:760px){.mp-lobby__top{grid-template-columns:1fr}}.mp-lobby__about{align-items:flex-start;gap:var(--s-3);flex-direction:column;display:flex}.mp-setup{font-size:var(--text-md);line-height:var(--leading);margin:0}.mp-setup__note{color:var(--text-muted);font-size:var(--text-sm);display:block}.mp-settings{gap:var(--s-3);flex-direction:column;width:100%;display:flex}.mp-lobby__leave{justify-content:flex-start;display:flex}.mp-board{gap:var(--s-3);flex-direction:column;display:flex}.mp-board__field{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.mp-board__field{grid-template-columns:1fr}}.mp-board__alliance{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mp-slot{gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);border:1px dashed var(--line-strong);background:var(--surface);flex-direction:column;min-height:92px;display:flex}.mp-slot.is-taken{background:var(--surface-2);border-style:solid}.mp-slot--red.is-taken{border-left:4px solid var(--red-alliance)}.mp-slot--blue.is-taken{border-left:4px solid var(--blue-alliance)}.mp-slot.is-mine{box-shadow:inset 0 0 0 1px var(--honey)}.mp-slot__head{align-items:center;gap:6px;font-weight:700;display:flex}.mp-slot__body{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.mp-slot__empty{color:var(--text-faint);font-size:var(--text-sm)}.mp-slot__status{align-items:center;gap:var(--s-3);font-size:var(--text-sm);display:flex}.mp-player{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.mp-player__name{font-weight:650}.mp-tag{border:1px solid var(--line-strong);color:var(--text-muted);font-size:var(--text-xs);border-radius:999px;padding:0 6px;line-height:18px}.mp-tag--you{border-color:var(--honey);color:var(--text)}.mp-ready{color:var(--text-muted)}.mp-ready--yes{color:var(--clover);align-items:center;gap:4px;font-weight:700;display:inline-flex}.mp-ready--host{color:var(--honey-strong)}.mp-ping{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;align-items:flex-end;gap:4px;display:inline-flex}.mp-ping__bars{align-items:flex-end;gap:1px;height:11px;display:inline-flex}.mp-ping__bars i{background:var(--line-strong);border-radius:1px;width:3px}.mp-ping__bars i:first-child{height:4px}.mp-ping__bars i:nth-child(2){height:7px}.mp-ping__bars i:nth-child(3){height:11px}.mp-ping--good .mp-ping__bars i,.mp-ping--ok .mp-ping__bars i:nth-child(-n+2),.mp-ping--poor .mp-ping__bars i:first-child{background:currentColor}.mp-ping--good{color:var(--clover)}.mp-ping--ok{color:var(--warn)}.mp-ping--poor{color:var(--danger)}.mp-watchers{align-items:center;gap:var(--s-2) var(--s-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.mp-watchers__label{color:var(--text-muted);align-items:center;gap:4px;font-weight:650;display:inline-flex}.mp-watchers__none{color:var(--text-faint)}.mp-watchers__list{gap:var(--s-2) var(--s-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.mp-next{justify-content:flex-end;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);flex-wrap:wrap;display:flex}.mp-next__text{flex:260px;margin:0;font-weight:650}.mp-golf{gap:var(--s-5);grid-template-columns:minmax(160px,1fr) 2fr;display:grid}@media (max-width:640px){.mp-golf{grid-template-columns:1fr}}.mp-golf .mp-watchers__list{flex-direction:column}.mp-board-empty{color:var(--text-muted);font-size:var(--text-sm);margin:0}.mp-leaders{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.mp-leaders__row{align-items:center;gap:var(--s-3);padding:6px var(--s-3);border-radius:var(--r-sm);background:var(--surface-2);font-variant-numeric:tabular-nums;grid-template-columns:2.2em 1fr auto auto;display:grid}.mp-leaders__row.is-me{box-shadow:inset 0 0 0 1px var(--honey)}.mp-leaders__row.is-first .mp-leaders__rank{background:var(--honey);color:var(--honey-ink)}.mp-leaders__rank{background:var(--surface-3);border-radius:50%;place-items:center;width:1.9em;height:1.9em;font-weight:800;display:grid}.mp-leaders__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.mp-leaders__time{font-family:var(--font-display);font-weight:700}.mp-leaders__tries{color:var(--text-muted);font-size:var(--text-xs)}.mp-leaders--compact .mp-leaders__row{padding:3px var(--s-2);font-size:var(--text-sm);grid-template-columns:1.8em 1fr auto}.mp-hud{right:var(--s-3);gap:var(--s-2);width:min(270px,100% - 24px);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--hud-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-float);font-size:var(--text-sm);flex-direction:column;display:flex;position:absolute;bottom:72px}.mp-hud__players{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mp-hud__player{grid-template-columns:auto 1fr auto;align-items:center;gap:6px;display:grid}.mp-hud__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mp-hud__player.is-me .mp-hud__name{font-weight:800}.mp-hud__link{color:var(--text-muted);font-variant-numeric:tabular-nums}.mp-hud__link.mp-ping--good,.mp-hud__link.mp-ping--ok,.mp-hud__link.mp-ping--poor{font-size:var(--text-sm)}.mp-hud__warn{color:var(--danger);font-size:var(--text-xs);display:block}.mp-hud__side{justify-content:space-between;align-items:center;gap:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.mp-hud__race{align-items:center;gap:2px var(--s-2);grid-template-columns:1fr auto;display:grid}.mp-hud__goal{grid-column:1/-1;font-weight:700}.mp-hud__status{color:var(--text-muted);font-size:var(--text-xs);grid-column:1/-1}.mp-golf-clock{font-family:var(--font-display);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.mp-golf-clock.is-done{color:var(--clover)}@media (prefers-reduced-motion:no-preference){.mp-code__cell{animation:mp-cell-in .36s var(--ease) both}.mp-code__cell:nth-child(3){animation-delay:40ms}.mp-code__cell:nth-child(4){animation-delay:80ms}.mp-code__cell:nth-child(5){animation-delay:.12s}.mp-code__cell:nth-child(6){animation-delay:.16s}.mp-code__cell:nth-child(7){animation-delay:.2s}}@keyframes mp-cell-in{0%{opacity:0;transform:scale(.6)}}.topbar__project:has(.pbar){align-items:center;gap:var(--s-2);flex:none;max-width:none;display:flex}.pbar{align-items:center;gap:var(--s-2);flex:none;display:flex}.pbar__name{max-width:170px;height:32px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;font-weight:700;display:inline-flex}.pbar__name:hover,.pbar__name[aria-expanded=true]{background:var(--surface-2);border-color:var(--line)}.pbar__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pbar__branch,.pbar__merge{border:1px solid var(--line-strong);background:var(--surface-2);height:24px;color:var(--text);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:4px;max-width:140px;padding:0 8px;font-weight:650;display:inline-flex;overflow:hidden}.pbar__sdk{border-radius:var(--r-sm);border:1px solid var(--line);height:22px;color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;background:0 0;align-items:center;gap:4px;padding:0 7px;font-weight:600;display:inline-flex}.pbar__sdk:hover{background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}.pbar__sdk.is-unknown,.pbar__merge{border-color:var(--danger);color:var(--danger);background:var(--danger-wash)}.autosave{font-size:var(--text-xs);color:var(--text-faint);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.autosave--error{color:var(--danger)}.autosave__spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;animation:.9s linear infinite pf-spin;display:inline-block}@keyframes pf-spin{to{transform:rotate(360deg)}}@media (max-width:1500px){.autosave span:last-child,.pbar__merge-label{display:none}.pbar__name{max-width:124px}}.pf-form{gap:var(--s-3);flex-direction:column;display:flex}.pf-input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);width:100%;min-height:36px;color:var(--text);font:inherit;padding:6px 10px}.pf-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.pf-input.is-invalid{border-color:var(--danger)}.pf-textarea{resize:vertical;min-height:80px;font-family:var(--font-code);font-size:var(--text-sm)}.pf-field__error{color:var(--danger);font-size:var(--text-sm);margin-top:4px}.pf-muted{color:var(--text-muted);font-size:var(--text-sm)}.pf-list{padding-left:var(--s-5);font-size:var(--text-sm)}.pf-chips{flex-wrap:wrap;gap:6px;display:flex}.pf-chip{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);cursor:pointer;border-radius:999px;padding:4px 10px}.pf-chip:hover{border-color:var(--honey)}.pf-chip.is-on{background:var(--honey-wash);border-color:var(--honey);font-weight:650}.pf-radios{gap:var(--s-2);border:0;flex-direction:column;display:flex}.pf-radios legend{margin-bottom:var(--s-2);font-weight:650}.pf-radios label,.pf-check{gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-sm);cursor:pointer;align-items:flex-start;display:flex}.pf-radios label:hover{background:var(--surface-2)}.pf-radios input,.pf-check input{accent-color:var(--honey);margin-top:4px}.pf-confirm{gap:var(--s-2);flex-direction:column;display:flex}.pf-inline-confirm{margin-top:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface-2);gap:var(--s-2);flex-direction:column;display:flex}.pf-inline-confirm.is-danger{border-color:var(--danger);background:var(--danger-wash)}.pf-inline-confirm__title{font-weight:700}.pf-inline-confirm__body{gap:var(--s-2);font-size:var(--text-sm);flex-direction:column;display:flex}.pf-inline-confirm__buttons{justify-content:flex-end;gap:var(--s-2);display:flex}.pf-menu{display:inline-flex;position:relative}.pf-menu__list{z-index:90;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);min-width:240px;max-width:320px;box-shadow:var(--shadow-float);padding:4px;position:fixed}.pf-menu__item{align-items:flex-start;gap:var(--s-2);border-radius:var(--r-sm);cursor:pointer;color:var(--text);font-size:var(--text-sm);padding:7px 10px;display:flex}.pf-menu__item:hover,.pf-menu__item:focus-visible{background:var(--surface-2);outline:none}.pf-menu__item:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.pf-menu__item[aria-disabled=true]{opacity:.5;cursor:default}.pf-menu__item.is-danger{color:var(--danger)}.pf-menu__icon{color:var(--text-muted);margin-top:2px;display:inline-flex}.pf-menu__text{flex-direction:column;flex:1;min-width:0;display:flex}.pf-menu__label{font-weight:600}.pf-menu__desc{color:var(--text-muted);font-size:var(--text-xs)}.pf-menu__kbd{font-family:var(--font-code);font-size:var(--text-xs);color:var(--text-faint)}.pf-menu__sep{background:var(--line);height:1px;margin:4px 6px}.pf-wide-backdrop{padding:var(--s-3)}.pf-wide{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:min(1320px,100%);height:min(860px,100vh - 24px);box-shadow:var(--shadow-float);flex-direction:column;display:flex;overflow:hidden}.pf-wide:focus{outline:none}.pf-wide__header{align-items:flex-start;gap:var(--s-4);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-5);border-bottom:1px solid var(--line);display:flex}.pf-wide__titles{flex:1;min-width:0}.pf-wide__title{font-size:var(--text-xl)}.pf-wide__desc{color:var(--text-muted);font-size:var(--text-sm);margin-top:2px}.pf-wide__actions{align-items:flex-end;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.pf-wide__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pf-wide__footer{justify-content:flex-end;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);display:flex}.code-split{flex:1;grid-template-columns:240px 1fr;min-height:0;display:grid}.code-split__files{border-right:1px solid var(--line);padding:var(--s-2);gap:var(--s-2);flex-direction:column;display:flex;overflow:auto}.code-split__files ul{flex-direction:column;gap:2px;list-style:none;display:flex}.code-split__file{border-radius:var(--r-sm);width:100%;color:var(--text);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 8px;display:flex}.code-split__file span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.code-split__file:hover{background:var(--surface-2)}.code-split__file.is-active{background:var(--honey-wash);box-shadow:inset 3px 0 0 var(--honey);font-weight:650}.code-split__code{flex-direction:column;min-width:0;min-height:0;display:flex}.code-split__bar{align-items:center;gap:var(--s-2);padding:6px var(--s-3);border-bottom:1px solid var(--line);min-height:40px;display:flex}.code-split__path{min-width:0;font-family:var(--font-code);font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.code-split__editor{flex:1;min-height:0}.diff-pick{gap:var(--s-2);display:flex}.diff-pick .ui-field{width:250px}.diff-summary{font-size:var(--text-sm);color:var(--text-muted);padding:2px 6px}.diff-add{color:var(--clover);font-weight:650}.diff-del{color:var(--danger);font-weight:650}.diff-counts{font-family:var(--font-code);font-size:var(--text-xs)}.diff-status{background:var(--surface-3);color:var(--text-muted);border-radius:4px;flex:none;padding:1px 5px;font-size:10px;font-weight:700}.diff-status--added{background:var(--clover-wash);color:var(--clover)}.diff-status--deleted{background:var(--danger-wash);color:var(--danger)}.hist,.ideas{flex-direction:column;height:100%;min-height:0;display:flex}.hist__head{justify-content:space-between;align-items:flex-start;gap:var(--s-2);padding:var(--s-3);border-bottom:1px solid var(--line);display:flex}.hist__title{font-weight:750;font-family:var(--font-display)}.hist__sub{font-size:var(--text-xs);color:var(--text-muted)}.hist__alert{margin:var(--s-2) var(--s-3) 0;padding:var(--s-2);border-radius:var(--r-sm);border:1px solid var(--danger);background:var(--danger-wash);color:var(--text);font-size:var(--text-sm);text-align:left;cursor:pointer;align-items:center;gap:6px;display:flex}.hist__list{padding:var(--s-3) var(--s-2) var(--s-4) var(--s-3);list-style:none;position:relative;overflow:auto}.hist__item{gap:var(--s-2);padding-bottom:var(--s-3);grid-template-columns:22px minmax(0,1fr) auto;display:grid;position:relative}.hist__item:before{content:"";background:var(--line);width:2px;position:absolute;top:22px;bottom:0;left:10px}.hist__item:last-child:before{display:none}.hist__dot{background:var(--surface-3);width:22px;height:22px;color:var(--text-muted);border:2px solid var(--surface);z-index:1;border-radius:50%;place-items:center;display:grid}.hist__dot--working{border:2px dashed var(--honey);background:0 0}.hist__dot--restore,.hist__dot--merge{color:var(--info)}.hist__item.is-competition .hist__dot{background:var(--honey);color:var(--honey-ink)}.hist__body{min-width:0}.hist__item-title{font-weight:650;font-size:var(--text-sm);overflow-wrap:anywhere}.hist__item-btn{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.hist__item-btn:hover{text-decoration:underline}.hist__meta{font-size:var(--text-xs);color:var(--text-muted)}.hist__latest{background:var(--surface-3);border-radius:4px;margin-left:6px;padding:0 5px;font-weight:650}.hist__note{font-size:var(--text-xs);color:var(--info)}.hist__labels{flex-wrap:wrap;gap:4px;margin-top:4px;list-style:none;display:flex}.hist__label{border:1px solid var(--line-strong);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-weight:650;display:inline-flex}.hist__label.is-competition{background:var(--honey);border-color:var(--honey);color:var(--honey-ink)}.hist__actions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.hist__more{align-self:start}.hist__item.is-selected .hist__item-title{color:var(--honey-strong)}.ideas__list{padding:var(--s-2) var(--s-3);gap:var(--s-2);flex-direction:column;list-style:none;display:flex;overflow:auto}.ideas__item{padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:1px solid var(--line)}.ideas__item.is-current{border-color:var(--honey);background:var(--honey-wash)}.ideas__row{align-items:center;gap:6px;display:flex}.ideas__name{text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.ideas__here{font-size:var(--text-xs);color:var(--honey-strong);font-weight:700}.ideas__explain{padding:var(--s-3);font-size:var(--text-xs);color:var(--text-muted);border-top:1px solid var(--line);margin-top:auto}.hist__message{font-size:var(--text-sm);color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.hist__message--short{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mv-body{padding-bottom:var(--s-4);overflow:auto}.mv-body>.mv-card,.mv-body>.mv-context,.mv-body>.mv-code{margin:var(--s-2) var(--s-3) 0}.mv-code{font-family:var(--font-code);font-size:var(--text-sm);white-space:pre;border-radius:var(--r-sm);background:var(--bg);padding:6px 10px;line-height:1.5;overflow-x:auto}.mv-code--wrap{white-space:pre-wrap;overflow-wrap:anywhere}.mv-diff{background:var(--warn-wash);color:inherit;outline:1px solid color-mix(in srgb, var(--warn) 55%, transparent);border-radius:3px;font-weight:700}.mv-code--context{color:var(--text-muted)}.mv-empty{color:var(--text-faint);font-style:italic;font-size:var(--text-sm);padding:6px 10px}.mv-card{border-radius:var(--r-md);border:1px solid var(--line-strong);padding:var(--s-3);gap:var(--s-2);flex-direction:column;display:flex}.mv-card.is-open{border-color:var(--warn);box-shadow:inset 4px 0 0 var(--warn)}.mv-card__head{justify-content:space-between;gap:var(--s-2);display:flex}.mv-card__title{font-weight:700}.mv-card__done{color:var(--clover);font-size:var(--text-sm);align-items:center;gap:4px;font-weight:650;display:inline-flex}.mv-sides{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.mv-side{border-radius:var(--r-sm);border:1px solid var(--line);min-width:0;overflow:hidden}.mv-side__label{font-size:var(--text-xs);border-bottom:1px solid var(--line);padding:4px 10px;font-weight:700}.mv-side--ours .mv-side__label{background:var(--info-wash)}.mv-side--theirs .mv-side__label{background:var(--clover-wash)}.mv-choices{flex-wrap:wrap;gap:6px;display:flex}.mv-edit{flex-direction:column;gap:4px;display:flex}.mv-edit__area{font-family:var(--font-code)}.mv-badge{background:var(--warn-wash);min-width:20px;color:var(--warn);font-size:var(--text-xs);text-align:center;border-radius:999px;flex:none;padding:0 5px;font-weight:700}.mv-badge.is-done{background:var(--clover-wash);color:var(--clover)}.mv-left{font-size:var(--text-sm);color:var(--text-muted);margin-right:auto}.picker__list{max-height:46vh;padding-top:var(--s-2);flex-direction:column;gap:6px;list-style:none;display:flex;overflow:auto}.picker__item{align-items:center;gap:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);padding-right:var(--s-2);display:flex}.picker__item.is-current{border-color:var(--honey)}.picker__open{gap:2px var(--s-2);min-width:0;padding:var(--s-2) var(--s-3);color:var(--text);text-align:left;cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;flex:1;grid-template-columns:1fr auto;display:grid}.picker__open:hover{background:var(--surface-2)}.picker__name{font-weight:700}.picker__meta{font-size:var(--text-xs);color:var(--text-muted);grid-column:1}.picker__tags{grid-area:1/2/span 2;align-items:center;gap:4px;display:flex}.picker__tag{font-size:var(--text-xs);background:var(--surface-3);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;display:inline-flex}.picker__tag--team{background:var(--info-wash);color:var(--info)}.drop{align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-4);border:2px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.drop.is-over{border-color:var(--honey);background:var(--honey-wash)}.drop__title{color:var(--text);font-weight:650}.drop__buttons{gap:var(--s-2);display:flex}.export{gap:var(--s-3);flex-direction:column;display:flex}.export__option{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3)}.export__head{gap:var(--s-3);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.export__title{font-weight:700}.export__steps{margin:var(--s-3) 0 0 calc(20px + var(--s-3) + var(--s-4));font-size:var(--text-sm);flex-direction:column;gap:4px;display:flex}@media (prefers-reduced-motion:reduce){.autosave__spin{animation:none}}.export__libs{margin:var(--s-3) 0 0 calc(20px + var(--s-3) + var(--s-4));font-size:var(--text-sm);gap:var(--s-2);flex-direction:column;display:flex}.export__gradle{font-family:var(--font-code);font-size:var(--text-xs);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);white-space:pre;-webkit-user-select:all;user-select:all;overflow-x:auto}.export__java8{margin:var(--s-3) 0 0 calc(20px + var(--s-3) + var(--s-4))}.export__java8-list{margin:var(--s-2) 0 0;padding-left:var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.export__java8-list li{flex-direction:column;gap:2px;display:flex}.export__java8-list .ui-linkbtn{text-align:left;font-family:var(--font-code);font-size:var(--text-sm);align-self:flex-start}.export__java8-fix{font-size:var(--text-sm);color:var(--text-muted)}@media (max-width:600px){.export__java8{margin-left:0}}.rec{height:100%;padding:var(--s-2) var(--s-3) var(--s-3);gap:var(--s-2);flex-direction:column;display:flex;overflow-y:auto}.rec__note,.rec__save{max-width:78ch}.rec__bar{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.rec__hint,.rec__sub,.rec__empty{max-width:78ch;font-size:var(--text-sm);color:var(--text-muted);margin:0}.rec__sub{font-size:var(--text-xs);color:var(--text-faint)}.rec__live{font-weight:650;font-size:var(--text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.rec__dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite rec-pulse}@keyframes rec-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.rec__dot{animation:none}}.rec__seek{flex:1;min-width:180px;max-width:420px}.rec__save-row{align-items:flex-end;gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.rec__save-row .pf-field{min-width:200px}.rec__section{flex-direction:column;gap:4px;display:flex}.rec__title{margin:var(--s-1) 0 0;font-family:var(--font-display);font-size:var(--text-sm);font-weight:700}.rec__list{flex-direction:column;gap:4px;max-width:720px;margin:0;padding:0;list-style:none;display:flex}.rec__row{justify-content:space-between;align-items:center;gap:var(--s-2);padding:4px 4px 4px var(--s-3);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);display:flex}.rec__row--replay{border-left-color:var(--honey)}.rec__row--inputs{border-left-color:var(--info)}.rec__row.is-playing{background:var(--honey-wash)}.rec__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);font-weight:600;overflow:hidden}.rec__tag{margin-left:var(--s-2);font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.rec__actions{flex:none;gap:2px;display:flex}.replay-rec{align-items:center;gap:var(--s-3);padding:5px 6px 5px var(--s-3);background:var(--hud-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--danger);box-shadow:var(--shadow-float);pointer-events:auto;font-size:var(--text-sm);border-radius:999px;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%)}.replay-rec__dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1.6s ease-in-out infinite replay-rec-pulse}.replay-rec__time{font-variant-numeric:tabular-nums;font-weight:700}@keyframes replay-rec-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.replay-rec__dot{animation:none}}.replay-bar{width:min(760px,100% - 24px);padding:var(--s-2) var(--s-3) var(--s-2);border-radius:var(--r-lg);background:var(--hud-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-strong);border-top:3px solid var(--honey);box-shadow:var(--shadow-float);pointer-events:auto;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.replay-bar__row{align-items:center;gap:var(--s-3);min-width:0;display:flex}.replay-bar__row--tools{gap:var(--s-2);flex-wrap:wrap}.replay-bar__scrub{flex:1;min-width:120px;height:34px;position:relative}.replay-bar__time{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--text-sm);white-space:nowrap}.replay-bar__of{color:var(--text-faint);font-weight:400}.replay-bar__what{min-width:0;font-size:var(--text-sm);color:var(--text-muted);flex-direction:column;flex:1;display:flex}.replay-bar__name{font-size:var(--text-xs);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.replay-bar__speed{width:84px}.replay-bar__camera{width:150px}.replay-bar .ui-field{margin:0}.replay-track{border-radius:var(--r-sm);background:var(--surface-2);height:34px;position:absolute;inset:0 0 auto;overflow:hidden}.replay-track__band{border-right:1px solid var(--bg);position:absolute;top:0;bottom:0}.replay-track__band--auto{background:var(--honey-wash);box-shadow:inset 0 -3px 0 var(--honey)}.replay-track__band--transition{background:var(--surface-3)}.replay-track__band--teleop{background:var(--clover-wash);box-shadow:inset 0 -3px 0 var(--clover)}.replay-track__band--post{background:0 0}.replay-track__label{font-size:var(--text-xs);color:var(--text-muted);font-weight:700;position:absolute;top:2px;left:6px}.replay-track__mark{background:var(--text-faint);border-radius:1px;width:2px;height:8px;margin-left:-1px;position:absolute;bottom:3px}.replay-bar__range{appearance:none;cursor:pointer;background:0 0;width:100%;height:34px;margin:0;position:absolute;inset:0}.replay-bar__range::-webkit-slider-runnable-track{background:linear-gradient(to right, color-mix(in srgb, var(--text) 10%, transparent) var(--fill,0%), transparent var(--fill,0%));border-radius:var(--r-sm);height:34px}.replay-bar__range::-moz-range-track{background:0 0;height:34px}.replay-bar__range::-webkit-slider-thumb{appearance:none;background:var(--text);width:6px;height:34px;box-shadow:0 0 0 2px var(--bg);border-radius:3px}.replay-bar__range::-moz-range-thumb{background:var(--text);border:none;border-radius:3px;width:6px;height:34px}.replay-bar__range:focus-visible{outline:none}.replay-bar__range:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.replay-bar__range:focus-visible::-moz-range-thumb{box-shadow:var(--focus-ring)}@media (max-width:640px){.replay-bar{bottom:72px}.replay-bar__camera{width:120px}}.replay-tab{gap:var(--s-6);padding:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.replay-tab__main{align-items:flex-start;gap:var(--s-3);flex-direction:column;flex:320px;max-width:62ch;display:flex}.replay-tab__lead{color:var(--text-muted);margin:0}.replay-tab__actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.replay-tab__last{flex:0 280px}.replay-tab__file{margin:0 0 var(--s-2);font-size:var(--text-sm);word-break:break-all}.viewport__hud:has(.replay-bar) .hud-bottom__left{visibility:hidden}.rb{gap:var(--s-3);flex-direction:column;display:flex}.rb-body{padding-top:var(--s-3)}.rb-summary{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-weight:650;font-size:var(--text-sm);border:1px solid var(--line);margin:0}.rb-summary--ok{border-color:var(--clover);background:var(--clover-wash)}.rb-summary--warning{border-color:var(--warn);background:var(--warn-wash)}.rb-summary--error{border-color:var(--danger);background:var(--danger-wash)}.rb-section{gap:var(--s-3);flex-direction:column;display:flex}.rb-h{margin:var(--s-2) 0 0;font-size:var(--text-md)}.rb-note{font-size:var(--text-sm);color:var(--text-muted);margin:0}.rb-grid{gap:var(--s-2) var(--s-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;display:grid}.rb-grid--4{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.rb-grid--model{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.rb-field{flex-direction:column;gap:4px;min-width:0;display:flex}.rb-field__label{font-size:var(--text-xs);color:var(--text-muted);font-weight:700}.rb-field__hint{font-size:var(--text-xs);color:var(--text-faint)}.rb-text,.rb-num input{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);width:100%;min-width:0;height:32px;color:var(--text);font:inherit;font-size:var(--text-sm);padding:0 8px}.rb-text--mono{font-family:var(--font-code)}.rb-text:focus-visible,.rb-num input:focus-visible,.rb-select select:focus-visible{box-shadow:var(--focus-ring);outline:none}.rb-num{align-items:center;gap:4px;display:flex}.rb-num__unit{font-size:var(--text-xs);color:var(--text-faint);flex:none}.rb-select{width:100%}.rb-check{font-size:var(--text-sm);align-items:center;gap:8px;display:flex}.rb-check input{accent-color:var(--honey);width:16px;height:16px}.rb-card{padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);gap:var(--s-2);flex-direction:column;margin:0;display:flex}.rb-card legend{font-weight:700;font-family:var(--font-code);padding:0 6px}.rb-legend-kind{font-family:var(--font-ui);color:var(--text-muted);font-weight:500;font-size:var(--text-sm)}.rb-remove{font-size:var(--text-sm);align-self:flex-start}.rb-pose{padding:var(--s-2);border-radius:var(--r-sm);border:1px dashed var(--line-strong);gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));margin:0;display:grid}.rb-pose legend{font-size:var(--text-xs);color:var(--text-muted);padding:0 4px;font-weight:700}.rb-add{align-items:flex-end;gap:var(--s-2);flex-wrap:wrap;display:flex}.rb-table{border-collapse:collapse;font-size:var(--text-sm)}.rb-table caption{text-align:left;padding-bottom:6px}.rb-table th{text-align:left;font-size:var(--text-xs);color:var(--text-muted);padding:2px 6px 2px 0}.rb-table td{min-width:70px;padding:2px 6px 2px 0}.rb-issues{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rb-issue{font-size:var(--text-sm);border-radius:var(--r-sm);align-items:flex-start;gap:6px;padding:4px 8px;display:flex}.rb-issue svg{flex:none;margin-top:2px}.rb-issue--error{background:var(--danger-wash);color:var(--text)}.rb-issue--error svg{color:var(--danger)}.rb-issue--warning{background:var(--warn-wash)}.rb-issue--warning svg{color:var(--warn)}.rb-issue__hint{color:var(--text-muted)}.rb-gallery{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;padding:0;list-style:none;display:grid}.rb-starter{width:100%;height:100%;padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.rb-starter.is-current{border-color:var(--honey);box-shadow:inset 0 0 0 1px var(--honey)}.rb-starter:focus-visible{box-shadow:var(--focus-ring);outline:none}.rb-starter__swatch{border:1px solid var(--line-strong);border-radius:6px;width:28px;height:28px}.rb-starter__swatch--blank{background:repeating-linear-gradient(45deg, var(--surface-3) 0 4px, transparent 4px 8px)}.rb-starter__best{color:var(--text-muted)}.rb-starter__stats{font-size:var(--text-xs);color:var(--text-faint)}.rb-files{gap:var(--s-2);display:flex}.rb-import-errors{padding-left:var(--s-4);margin:0}.rb-names{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rb-name{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border:1px solid var(--line)}.rb-name__head{gap:var(--s-2);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;display:flex}.rb-name__name{font-weight:700}.rb-name__type{font-family:var(--font-code);color:var(--honey-strong)}.rb-name__summary{color:var(--text-muted)}.rb-name__snippet{align-items:center;gap:var(--s-2);margin-top:4px;display:flex}.rb-name__snippet code{white-space:nowrap;border-radius:var(--r-sm);background:var(--bg);font-size:var(--text-xs);flex:1;padding:4px 8px;overflow-x:auto}.rb-picker{flex:none;gap:6px}.rb-picker .ui-field{width:150px}.rb-codenames{padding:var(--s-3);border:1px solid var(--warn);border-radius:var(--r-md);background:var(--warn-wash)}.rb-codenames .rb-h{margin:0}.rb-codenames__plan{margin-top:4px}.rb-codenames__list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rb-codenames__item{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) 0;border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.rb-codenames__what{flex-direction:column;gap:2px;min-width:0;display:flex}.rb-codenames__what code{font-family:var(--font-code);font-weight:700}.rb-codenames__fix{align-items:center;gap:var(--s-2);display:flex}.rb-codenames__fix .ui-field{width:min(320px,60vw)}.rb-optional{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);gap:var(--s-2);flex-direction:column;margin:0;display:flex}.rb-card .rb-optional legend{font-family:var(--font-ui);font-size:var(--text-sm);padding:0 4px;font-weight:700}.rb-optional__what{margin-top:calc(-1 * var(--s-1))}.rb-optional--off{background:0 0;border-style:dashed;flex-flow:wrap;align-items:center}.rb-look{gap:var(--s-2);flex-direction:column;display:flex}.rb-look__body{gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex}.rb-look__file{font-size:var(--text-sm);margin:0}@supports (grid-template-rows:subgrid){.rb-grid>*{grid-row:span 3}.rb-grid>.rb-field{grid-template-rows:subgrid;align-items:start;row-gap:4px;display:grid}.rb-grid>.rb-field>*{grid-row:2}.rb-grid>.rb-field>.rb-field__label,.rb-grid>.rb-field>.visually-hidden{grid-row:1;align-self:end}.rb-grid>.rb-field>.rb-field__hint{grid-row:3}.rb-grid>:not(.rb-field){margin-top:calc(var(--text-xs) * var(--leading) + 4px);grid-row:span 3;align-self:start}}.teambar{flex:none;align-items:center;gap:6px;display:flex}@media (max-width:1500px){.sync-chip--ok span,.sync-chip--muted span,.sync-chip--busy span,.teambar__btn span:not(.teambar__me){display:none}.sync-chip--ok,.sync-chip--muted,.sync-chip--busy,.teambar__btn{padding:0 6px}}.teambar__btn{border:1px solid var(--line-strong);background:var(--surface-2);height:30px;color:var(--text);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 6px;font-weight:650;display:inline-flex}.teambar__btn:hover{border-color:var(--honey)}.teambar__me{background:var(--honey);width:20px;height:20px;color:var(--honey-ink);border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid}.sync-chip{border:1px solid var(--line);height:26px;color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;text-overflow:ellipsis;background:0 0;border-radius:999px;align-items:center;gap:6px;max-width:220px;padding:0 10px;font-weight:650;display:inline-flex;overflow:hidden}.sync-chip--ok{color:var(--clover);border-color:color-mix(in srgb, var(--clover) 45%, transparent);background:var(--clover-wash)}.sync-chip--warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:var(--warn-wash)}.sync-chip--danger{color:var(--danger);border-color:var(--danger);background:var(--danger-wash)}.sync-chip--busy{color:var(--info)}.sync-chip__spin{animation:1.4s linear infinite pf-spin}.sync-chip--compact{padding:0 6px}@media (prefers-reduced-motion:reduce){.sync-chip__spin{animation:none}}.presence{margin:0;padding:0;list-style:none;display:flex}.presence__avatar{--hue:40;background:hsl(var(--hue) 55% 42%);color:#fff;border:2px solid var(--surface);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:grid;position:relative}.presence .presence__avatar+.presence__avatar{margin-left:-6px}.presence__more{background:var(--surface-3);color:var(--text)}.presence__editing{background:var(--clover);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.team-welcome{gap:var(--s-3);flex-direction:column;display:flex}.team-welcome__choices{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.team-choice{padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;display:flex}.team-choice svg{color:var(--honey-strong)}.team-choice:hover:not(:disabled){border-color:var(--honey);background:var(--honey-wash)}.team-choice:disabled{opacity:.55;cursor:default}.team-choice__title{font-weight:750;font-size:var(--text-lg)}.team-choice__text{color:var(--text-muted);font-size:var(--text-sm)}.team-form__row{gap:var(--s-3);grid-template-columns:140px 1fr;display:grid}.team-form__buttons{justify-content:flex-end;gap:var(--s-2);display:flex}.team-code .pf-input{font-family:var(--font-code);font-size:var(--text-lg);letter-spacing:.12em;text-transform:uppercase}.team-page{gap:var(--s-3);flex-direction:column;display:flex}.team-card{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);gap:var(--s-2);flex-direction:column;align-items:flex-start;display:flex}.team-card__title{font-size:var(--text-md);font-weight:750}.team-card__sub{font-size:var(--text-sm);margin-top:var(--s-2);font-weight:700}.team-card__buttons{gap:var(--s-2);flex-wrap:wrap;display:flex}.team-card .pf-inline-confirm{align-self:stretch}.invite{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.invite__code{font-family:var(--font-code);font-size:var(--text-2xl);letter-spacing:.14em;border-radius:var(--r-sm);background:var(--honey-wash);border:1px dashed var(--honey);padding:4px 12px;font-weight:700}.members{flex-direction:column;align-self:stretch;list-style:none;display:flex}.members__row{align-items:center;gap:var(--s-2);border-bottom:1px solid var(--line);padding:6px 0;display:flex}.members__row:last-child{border-bottom:0}.members__who{flex-direction:column;flex:1;min-width:0;display:flex}.members__name{font-weight:650}.members__row .ui-field{width:120px}.role{font-size:var(--text-xs);background:var(--surface-3);border-radius:999px;padding:1px 8px;font-weight:700}.role--mentor{background:var(--honey-wash);color:var(--honey-strong)}.share-result{gap:var(--s-2);flex-direction:column;align-items:flex-start;display:flex}.share-result .pf-field{align-self:stretch}.share-list{margin-top:var(--s-2);flex-direction:column;gap:4px;list-style:none;display:flex}.share-list li{justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--text-sm);display:flex}.team-card .picker__list{margin:0;padding:0;list-style:none}.team-card .picker__item,.team-card .picker__open{width:100%}.share-recordings{gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.team-choice--solo{column-gap:var(--s-3);padding:var(--s-3) var(--s-4);border-style:dashed;grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:auto 1fr;row-gap:2px;display:grid}.team-choice--solo svg{grid-row:1/span 2;align-self:center}.team-choice--solo .team-choice__title{font-size:var(--text-md)}.recovery__code{font-size:var(--text-xl,1.4rem);letter-spacing:.08em;-webkit-user-select:all;user-select:all}.team-card__head{justify-content:space-between;align-self:stretch;align-items:center;gap:var(--s-2);display:flex}.progress-table__wrap{align-self:stretch;overflow-x:auto}.progress-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.progress-table th,.progress-table td{text-align:left;vertical-align:top;padding:6px var(--s-2);border-bottom:1px solid var(--line)}.progress-table thead th{font-size:var(--text-xs);color:var(--text-muted);font-weight:700}.progress-table tbody th{font-weight:650}.progress-table tr.is-stuck{background:var(--warn-wash)}.progress-table__seen,.progress-table__detail{font-size:var(--text-xs);color:var(--text-faint);font-weight:400;display:block}.progress-table__bar{background:var(--line);border-radius:3px;width:72px;height:5px;margin-bottom:3px;display:block;overflow:hidden}.progress-table__bar>span{background:var(--honey);height:100%;display:block}.progress-status{font-weight:700}.progress-status--needs-help{color:var(--warn)}.progress-status--finished{color:var(--clover)}.progress-status--not-started{color:var(--text-muted)}@media (max-width:1500px){.topbar:has(.pbar__merge) .teambar__btn span:not(.teambar__me){display:none}.topbar:has(.sync-chip--compact) .pbar__merge{display:none}}.data-summary{gap:var(--s-2) var(--s-3);margin-top:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.data-summary__col{min-width:0;padding-left:var(--s-2);border-left:3px solid var(--line)}.data-summary__col:first-child{border-left-color:var(--danger)}.data-summary__head{font-size:var(--text-sm);margin-bottom:4px;font-weight:700}.data-summary__list{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0;padding-left:1.1em;display:flex}.data-summary__email{grid-column:1/-1}.vision-pip{top:56px;right:var(--s-3);border-radius:var(--r-md);background:var(--surface);border:2px solid var(--honey);width:clamp(200px,24cqw,288px);box-shadow:var(--shadow-float);pointer-events:auto;margin:0;position:absolute;overflow:hidden}.vision-pip__frame{background:#000;position:relative}.vision-pip__canvas{aspect-ratio:4/3;width:100%;height:auto;display:block}.vision-pip__waiting{padding:var(--s-3);text-align:center;color:#f3ecdf;font-size:var(--text-sm);place-items:center;margin:0;display:grid;position:absolute;inset:0}.vision-pip__caption{column-gap:var(--s-2);grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;padding:4px 4px 6px 10px;display:grid}.vision-pip__name{font-weight:700;font-size:var(--text-sm);color:var(--text)}.vision-pip__stats{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;grid-row:2}.vision-pip__caption .ui-btn,.vision-pip__caption button{grid-area:1/2/span 2}.vision-panel{gap:var(--s-4);padding:var(--s-3) var(--s-4) var(--s-4);flex-direction:column;max-width:980px;display:flex;container-type:inline-size}.vision-panel__intro{max-width:72ch;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading);margin:0}.vision-panel__intro b{color:var(--text)}.vision-cam{border-left:3px solid var(--line-strong);padding-left:var(--s-3);gap:var(--s-3);flex-direction:column;display:flex}.vision-cam:has(.ui-toggle__switch[aria-checked=true]){border-left-color:var(--honey)}.vision-cam__head{align-items:baseline;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.vision-cam__name{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.vision-cam__meta{color:var(--text-faint);font-size:var(--text-xs)}.vision-cam__controls{gap:var(--s-4);grid-template-columns:minmax(240px,1fr) minmax(220px,300px);align-items:start;display:grid}.vision-cam__live{gap:var(--s-4);grid-template-columns:minmax(200px,320px) 1fr;align-items:start;display:grid}.vision-cam__feed{aspect-ratio:4/3;border-radius:var(--r-sm);background:#000;width:100%;max-width:320px;height:auto;display:block}.vision-cam__readout{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.vision-cam__status{font-size:var(--text-sm);margin:0}.vision-cam__numbers{gap:var(--s-2) var(--s-6);flex-wrap:wrap;margin:0;display:flex}.vision-cam__numbers dt{font-size:var(--text-xs);color:var(--text-faint)}.vision-cam__numbers dd{font-size:var(--text-lg);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.vision-cam__tags{font-size:var(--text-sm);color:var(--text-muted);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.vision-cam__tags b{color:var(--text)}@container (width<=560px) or (height<=440px){.vision-pip{width:168px;top:52px}.vision-pip__caption{padding:2px 2px 4px 8px}.vision-pip__name{font-size:var(--text-xs)}}@container (width<=380px) or (height<=320px){.vision-pip{display:none}}@container (width<=600px){.vision-cam__controls,.vision-cam__live{grid-template-columns:1fr}}.wb-open-btn{border-radius:var(--r-sm);border:1px solid var(--line-strong);height:34px;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 10px;font-weight:700;display:inline-flex}.wb-open-btn:hover{border-color:var(--honey);background:var(--honey-wash)}.wb-open-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.wb{z-index:60;background:var(--bg);color:var(--text);font-family:var(--font-ui);grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.wb:focus{outline:none}.wb-bar{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;display:flex}.wb-bar__id{align-items:baseline;gap:var(--s-3);flex:1;min-width:0;display:flex}.wb-bar__title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.01em;white-space:nowrap;margin:0;font-weight:700}.wb-bar__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.wb-bar__saved{font-size:var(--text-xs);color:var(--text-faint);white-space:nowrap}.wb-bar__saved.is-dirty{color:var(--warn)}.wb-bar__group{align-items:center;gap:var(--s-1);display:flex}.wb-seg{margin-left:var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.wb-seg .wb-chip{border:0;border-radius:0}.wb-chip{border:1px solid var(--line);border-radius:var(--r-sm);height:30px;color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;padding:0 10px}.wb-chip:hover{color:var(--text);background:var(--surface-2)}.wb-chip[aria-pressed=true],.wb-chip[aria-checked=true]{color:var(--honey-ink);background:var(--honey);border-color:var(--honey);font-weight:700}.wb-chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.wb-body{grid-template-columns:188px minmax(0,1fr) 360px;min-height:0;display:grid}.wb-palette{padding:var(--s-3);border-right:1px solid var(--line);background:var(--surface);overflow-y:auto}.wb-palette__intro{margin:0 0 var(--s-3);font-size:var(--text-sm);color:var(--text-muted)}.wb-palette__title{margin:var(--s-3) 0 var(--s-2);font-size:var(--text-sm);color:var(--text-muted);font-weight:700}.wb-palette__list{gap:var(--s-1);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.wb-palette__piece{width:100%;padding:var(--s-2) var(--s-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--text-xs);cursor:grab;flex-direction:column;align-items:center;gap:2px;font-weight:600;display:flex}.wb-palette__piece:hover{border-color:var(--honey)}.wb-palette__piece:active{cursor:grabbing}.wb-palette__piece:focus-visible{box-shadow:var(--focus-ring);outline:none}.wb-stage{min-width:0;min-height:0;padding:var(--s-3);background:var(--viewport-bg);grid-template-rows:1fr auto;display:grid;position:relative}.wb-stage__help{margin:var(--s-2) auto 0;max-width:70ch;font-size:var(--text-sm);color:var(--text-muted);text-align:center}.wb-stage__loading{color:var(--text-muted);place-self:center}.wb-plan{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:0}.wb-plan:focus{outline:none}.wb-plan__mat{fill:var(--viewport-bg)}.wb-plan__tile{fill:#8c8f93;stroke:#6e7175;stroke-width:.25px}.wb-plan__tile.is-dark{fill:#84878b}:root:not([data-theme=light]) .wb-plan__tile{fill:#4a4c4f;stroke:#3a3c3f}:root:not([data-theme=light]) .wb-plan__tile.is-dark{fill:#444649}.wb-plan__snap circle{fill:#ffffff38}.wb-plan__gridlabel{fill:var(--text-faint);font-size:3.4px;font-weight:700}.wb-plan__base{pointer-events:none}.wb-piece{cursor:move}.wb-piece:focus{outline:none}.wb-piece__body{stroke:#00000073;stroke-width:.4px}:root:not([data-theme=light]) .wb-piece__body{stroke:#fff6}.wb-piece:focus-visible .wb-piece__body,.wb-piece:focus-visible .wb-goal__tape,.wb-piece.is-selected .wb-piece__body{stroke:var(--honey);stroke-width:1px}.wb-piece__label{fill:#fff;paint-order:stroke;stroke:#0009;stroke-width:.8px;pointer-events:none;font-size:3.6px;font-weight:700}.wb-goal__fill{fill:#f2f2ee1f}.wb-goal__tape{fill:none;stroke:#f2f2ee;stroke-width:2px;stroke-dasharray:5 2}.wb-piece.is-selected .wb-goal__tape{stroke:var(--honey)}.wb-ramp__stripe{stroke:#00000047;stroke-width:.5px}.wb-ramp__arrow{fill:none;stroke:#ffffffd9;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.wb-flag__pole{fill:#d9d2c3}.wb-flag__cloth{fill:var(--honey)}.wb-start{cursor:move}.wb-start:focus{outline:none}.wb-start__body{fill:#f5b21b2e;stroke:var(--honey);stroke-width:.8px;stroke-dasharray:2 1}.wb-start.is-selected .wb-start__body,.wb-start:focus-visible .wb-start__body{stroke-width:1.4px;stroke-dasharray:none}.wb-start__arrow{fill:var(--honey)}.wb-start__label{fill:var(--honey-strong);pointer-events:none;font-size:3.4px;font-weight:700}.wb-handle{fill:var(--honey);stroke:var(--honey-ink);stroke-width:.5px}.wb-handle--turn{cursor:grab}.wb-handle--size{cursor:nwse-resize}.wb-handle__stick{stroke:var(--honey);stroke-width:.6px}.wb-handle__outline{fill:none;stroke:var(--honey);stroke-width:.5px;stroke-dasharray:1.5 1;pointer-events:none}.wb-3d{border-radius:var(--r-md);width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.wb-3d__tools{z-index:1;top:var(--s-2);left:var(--s-2);gap:var(--s-1);border-radius:var(--r-sm);background:var(--hud-panel);padding:3px;display:flex;position:absolute}.wb-side{border-left:1px solid var(--line);background:var(--surface);min-height:0;overflow-y:auto}.wb-side .ui-tabs__panel{padding:var(--s-4);gap:var(--s-4);align-content:start;display:grid}.wb-inspector,.wb-challenge,.wb-goals{gap:var(--s-3);display:grid}.wb-inspector__title{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.wb-inspector__help{color:var(--text-muted);font-size:var(--text-sm);margin:0}.wb-inspector__grid{gap:var(--s-2) var(--s-3);grid-template-columns:1fr 1fr;display:grid}.wb-inspector__actions{gap:var(--s-2);display:flex}.wb-num{gap:4px;display:grid}.wb-num__label{font-size:var(--text-sm);font-weight:600}.wb-num__box{align-items:center;gap:6px;display:flex}.wb-num__unit{color:var(--text-faint);font-size:var(--text-sm)}.wb-input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);width:100%;min-height:34px;color:var(--text);font:inherit;font-size:var(--text-md);padding:6px 10px}textarea.wb-input{resize:vertical}.wb-input:focus-visible{border-color:var(--focus);box-shadow:var(--focus-ring);outline:none}.wb-challenge__row{gap:var(--s-3);grid-template-columns:1fr 1fr;align-items:start;display:grid}.wb-challenge__row>:only-child{grid-column:1/-1}.wb-hints{gap:var(--s-2);border:0;margin:0;padding:0;display:grid}.wb-hints__row{align-items:end;gap:var(--s-1);grid-template-columns:1fr auto;display:grid}.wb-goals__list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.wb-goal-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.wb-goal-card__head{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);display:flex}.wb-goal-card__num{background:var(--honey);width:22px;height:22px;color:var(--honey-ink);font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.wb-goal-card__text{font-weight:600;font-size:var(--text-sm);flex:1;margin:0}.wb-goal-card__fields{gap:var(--s-2);padding:0 var(--s-3) var(--s-3);display:grid}.wb-goals__addtitle{margin:0 0 var(--s-2);font-size:var(--text-sm)}.wb-goals__choices{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.wb-goals__choices li{align-items:center;gap:var(--s-2);grid-template-columns:9.5rem 1fr;display:grid}.wb-goals__help{font-size:var(--text-xs);color:var(--text-muted)}.wb-problems{gap:var(--s-1);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.wb-problems li{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border-left:3px solid var(--warn);background:var(--warn-wash)}.wb-problems li.is-error{border-left-color:var(--danger);background:var(--danger-wash)}.wb-lib__section+.wb-lib__section{margin-top:var(--s-5)}.wb-lib__title{margin:0 0 var(--s-2);font-size:var(--text-md)}.wb-lib__buttons{gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.wb-lib__empty{color:var(--text-muted);font-size:var(--text-sm);margin:0}.wb-lib__list{gap:var(--s-1);margin:0;padding:0;list-style:none;display:grid}.wb-lib__row{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);display:flex}.wb-lib__text{flex:1;min-width:0;display:grid}.wb-lib__name{font-weight:700}.wb-lib__meta{font-size:var(--text-xs);color:var(--text-muted)}.wb-lib__meta--bad{color:var(--danger)}.wb-starters{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.wb-starter{justify-content:space-between;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex}.wb-starter.is-done{border-color:color-mix(in srgb, var(--clover) 55%, var(--line))}.wb-starter__name{font-size:var(--text-md);margin:0;font-weight:700}.wb-starter__best{margin-left:var(--s-2);font-size:var(--text-xs);color:var(--clover);font-variant-numeric:tabular-nums;font-weight:600}.wb-starter__desc{margin:var(--s-1) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.wb-starter__meta{margin:var(--s-1) 0 0;font-size:var(--text-xs);color:var(--text-faint)}.wb-starter__actions{gap:var(--s-2);display:flex}.learn-challenges{margin-top:var(--s-5)}.learn-challenges__head{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.learn-challenges__title{font-size:var(--text-lg);font-family:var(--font-display);margin:0}.learn-challenges__lead{margin:0 0 var(--s-3);color:var(--text-muted);font-size:var(--text-sm)}.wb-hud{min-width:0;padding:var(--s-3);border-radius:var(--r-lg);border:1px solid var(--line);border-top:3px solid var(--honey);background:var(--hud-panel);box-shadow:var(--shadow-float);pointer-events:auto;flex:0 340px}.wb-hud--success{border-top-color:var(--clover)}.wb-hud--failed{border-top-color:var(--danger)}.wb-hud__head{align-items:center;gap:2px var(--s-2);flex-wrap:wrap;display:flex}.wb-hud__title{min-width:0;font-family:var(--font-display);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;flex:8em;margin:0;overflow:hidden}.wb-hud__state{font-size:var(--text-xs);background:var(--surface-3);border-radius:999px;padding:1px 8px;font-weight:700}.wb-hud__state--running{background:var(--honey-wash);color:var(--honey-strong)}.wb-hud__state--success{background:var(--clover-wash);color:var(--clover)}.wb-hud__state--failed{background:var(--danger-wash);color:var(--danger)}.wb-hud__clock{font-variant-numeric:tabular-nums;font-weight:700}.wb-hud__limit{color:var(--text-faint);font-weight:500}.wb-hud__bar{height:3px;margin-top:var(--s-2);background:var(--surface-3);border-radius:2px;overflow:hidden}.wb-hud__bar span{background:var(--honey);height:100%;display:block}.wb-hud--failed .wb-hud__bar span{background:var(--danger)}.wb-hud__goals{margin:var(--s-2) 0 0;font-size:var(--text-sm);gap:2px;padding:0;list-style:none;display:grid}.wb-hud__goal{gap:var(--s-2);display:flex}.wb-hud__mark{text-align:center;width:1.1em;color:var(--text-faint);flex:none;font-weight:800}.wb-hud__goal.is-done .wb-hud__mark{color:var(--clover)}.wb-hud__goal.is-failed .wb-hud__mark{color:var(--danger)}.wb-hud__goal.is-next{font-weight:700}.wb-hud__goal.is-next .wb-hud__mark{color:var(--honey)}.wb-hud__count{color:var(--text-muted);font-variant-numeric:tabular-nums}.wb-hud__message{margin:var(--s-2) 0 0;font-size:var(--text-sm);font-weight:600}.wb-hud__hints{margin:var(--s-2) 0 0;font-size:var(--text-sm);color:var(--text-muted);padding-left:1.1em}.wb-hud__actions{gap:var(--s-1);margin-top:var(--s-3);flex-wrap:wrap;display:flex}@media (max-width:1100px){.wb-body{grid-template-columns:150px minmax(0,1fr) 300px}.wb-palette__list{grid-template-columns:1fr}}.wb-lib__confirm-text{margin:0 0 var(--s-2)}.hud-top__center:has(.wb-hud) .hud-match--free{display:none}.wb-starter__par{margin:var(--s-2) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.wb-starter__par.is-under{color:var(--clover);font-weight:600}.wb-starter__par-chip{padding:1px var(--s-2);border-radius:var(--r-sm,4px);background:var(--honey-wash);color:var(--text);font-variant-numeric:tabular-nums;border:1px solid color-mix(in srgb, var(--honey) 45%, transparent);font-weight:700;display:inline-block}.wb-hud__note{margin:var(--s-2) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.wb-hud__puzzle .wb-hud__actions{margin-top:var(--s-2)}.wb-hud__verdict{margin:var(--s-2) 0 0;padding:var(--s-2);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:600}.wb-hud__verdict.is-counted{background:var(--clover-wash)}.wb-hud__verdict.is-driven{background:var(--warn-wash)}.viewport{background:var(--viewport-bg);outline:none;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden;container-type:size}.viewport:focus-visible{box-shadow:inset 0 0 0 3px var(--focus);border-radius:0}.viewport__canvas{inset:0;position:absolute!important}.viewport__error{padding:var(--s-6);place-items:center;display:grid;position:absolute;inset:0}.viewport__error .ui-callout{max-width:520px}.viewport__hud{pointer-events:none;padding:var(--s-3);justify-content:space-between;gap:var(--s-2);flex-direction:column;display:flex;position:absolute;inset:0}.viewport__hud>*>*,.hud-center>*{pointer-events:auto}.hud-top{align-items:flex-start;gap:var(--s-2);display:flex}.hud-top__center{flex:1;justify-content:center;min-width:0;display:flex}.hud-center{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.hud-center .ui-empty{background:var(--hud-panel);border-radius:var(--r-lg);border:1px solid var(--line)}.hud-notice{background:var(--surface);border:1px solid var(--warn);color:var(--text);padding:6px var(--s-3);border-radius:var(--r-md);font-size:var(--text-sm);box-shadow:var(--shadow-float);position:absolute;top:60px;left:50%;transform:translate(-50%)}.hud-bottom{align-items:end;gap:var(--s-3);grid-template-columns:1fr auto 1fr;display:grid}.hud-bottom__left{justify-self:start;min-width:0}.hud-bottom__right{justify-self:end}.pose-chip{align-items:center;gap:var(--s-3);padding:5px var(--s-3) 5px var(--s-2);border-radius:var(--r-md);background:var(--hud-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;display:inline-flex}.pose-chip__slot{color:var(--text);font-weight:700;font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.pose-chip__vals{gap:var(--s-3);font-variant-numeric:tabular-nums;display:inline-flex}.pose-chip__vals b{color:var(--text);font-weight:700}.pose-chip__unit{color:var(--text-faint)}.alliance-mark{flex:none;width:12px;height:12px;display:inline-block}.alliance-mark--red{background:var(--red-alliance);clip-path:polygon(50% 4%,100% 92%,0 92%)}.alliance-mark--blue{background:var(--blue-alliance);border-radius:50%}.hud-menu{position:relative}.hud-menu .ui-iconbtn--secondary{background:var(--hud-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud-menu__panel{gap:var(--s-3);width:290px;padding:var(--s-3) var(--s-4) var(--s-4);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-float);z-index:5;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.hud-menu__title{font-weight:700;font-size:var(--text-sm)}.cam-dock{background:var(--hud-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:var(--shadow-float);border-radius:28px;align-items:center;padding:6px 10px 8px;display:flex}.cam-hex{--hex-w:54px;width:var(--hex-w);height:calc(var(--hex-w) * 1.06);cursor:pointer;color:var(--text-muted);isolation:isolate;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;margin:0 -3px;padding:0;display:flex;position:relative}.cam-hex:nth-child(2n){transform:translateY(5px)}.cam-hex:before,.cam-hex:after{content:"";clip-path:polygon(50% 0,96% 25%,96% 75%,50% 100%,4% 75%,4% 25%);z-index:-1;position:absolute;inset:0}.cam-hex:before{background:var(--line-strong)}.cam-hex:after{background:var(--surface-2);transition:background .14s var(--ease);inset:2px}.cam-hex:hover:after{background:var(--surface-3)}.cam-hex.is-active{color:var(--honey-ink)}.cam-hex.is-active:before{background:var(--honey-strong)}.cam-hex.is-active:after{background:var(--honey)}.cam-hex:focus-visible{box-shadow:none}.cam-hex:focus-visible:before{background:var(--focus);inset:-3px}.cam-hex__key:before{content:attr(data-key)}.cam-hex__key{color:inherit;font-size:15px;font-weight:800;line-height:1}.cam-hex.is-active .cam-hex__key{color:var(--honey-ink)}.cam-hex:not(.is-active) .cam-hex__key{color:var(--text)}.cam-hex__label{text-overflow:ellipsis;white-space:nowrap;max-width:46px;font-size:10px;font-weight:650;line-height:1.1;overflow:hidden}.pip-frame{pointer-events:none;flex-direction:column;justify-content:flex-end;margin:0;display:flex;position:absolute}.pip-frame__caption{background:var(--honey);max-width:calc(100% + 4px);color:var(--honey-ink);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;border-radius:6px 6px 0 0;align-self:flex-start;align-items:baseline;gap:6px;margin:0 0 2px -2px;padding:2px 8px 1px;line-height:18px;display:flex;overflow:hidden}.pip-frame__name{font-weight:800}.pip-frame__seen{text-overflow:ellipsis;font-weight:600;overflow:hidden}.pip-frame__image{flex:none;position:relative}.pip-frame__tags{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pip-frame__quad{fill:#5cc5a62e;stroke:#5cc5a6;stroke-width:2.5px;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 0 1px #000000e6)}.pip-frame__id{fill:#5cc5a6;font-family:var(--font-ui);paint-order:stroke;stroke:#0a0805e6;stroke-width:3px;font-weight:800}@container (width<=900px){.viewport .hud-bottom{justify-content:space-between;align-items:flex-end;display:flex}.viewport .hud-bottom__right{display:none}.viewport .cam-hex{--hex-w:44px}.viewport .cam-hex__label{max-width:calc(var(--hex-w) - 2px);letter-spacing:-.01em;font-size:9px}.viewport .cam-dock{padding:4px 8px 7px}.kb-legend__who,.kb-group__more,.kb-legend__groups .kb-group--list{display:none}.kb-legend .kb-cross{grid-template-columns:repeat(3,22px);grid-auto-rows:22px}.kb-legend .ui-kbd{min-width:21px;height:21px;padding:0 4px;font-size:11px}.kb-legend__groups{gap:var(--s-3);flex-wrap:nowrap}.kb-legend .kb-legend__extras{display:flex}.viewport .hud-bottom__left{flex:none}}@container (width<=600px){.viewport .hud-bottom{flex-direction:column;align-items:center}.viewport .hud-top{flex-wrap:wrap}.viewport .hud-top__center{flex-basis:100%;order:3}.viewport .hud-top>:first-child{flex:0 auto;min-width:0}.viewport .pose-chip{overflow:hidden}.viewport .pose-chip__unit,.kb-legend__groups .kb-group:nth-child(3),.kb-legend .kb-legend__more{display:none}.kb-legend .kb-legend__extras>.kb-legend__extras-buttons,.kb-legend .kb-legend__extras>.kb-legend__extras-alt{display:inline-flex}}@container (height<=600px){.kb-legend .kb-cross{gap:2px;display:flex}.kb-legend .kb-cross>span:empty{display:none}.kb-legend:not(.kb-legend--collapsed){width:min-content;min-width:268px}.kb-legend .kb-legend__head{white-space:nowrap;margin-bottom:6px}.kb-legend .kb-group{flex-direction:row-reverse;gap:5px}.kb-legend .kb-group>.kb-alt{order:-1}.kb-legend .kb-legend__more,.kb-legend__groups .kb-group:nth-child(3){display:none}.kb-legend .kb-legend__extras,.kb-legend .kb-legend__extras>.kb-legend__extras-buttons,.kb-legend .kb-legend__extras>.kb-legend__extras-alt{display:flex}}.cam-dock--vertical{border-radius:28px;flex-direction:column;padding:10px 8px 10px 6px}.cam-dock--vertical .cam-hex{margin:-4px 0}.cam-dock--vertical .cam-hex:nth-child(2n){transform:translate(6px)}.viewport--map .hud-bottom>.cam-dock{left:var(--s-3);position:absolute;top:52px}@container (height<=660px){.cam-dock--vertical .cam-hex{--hex-w:44px}.cam-dock--vertical .cam-hex__label{display:none}}@container (height<=560px){.cam-dock--vertical .cam-hex{--hex-w:38px}}@container (height<=470px){.cam-dock--vertical .cam-hex{--hex-w:30px}}@container (height<=440px){.cam-dock--vertical .cam-hex{--hex-w:26px}}@media (prefers-reduced-motion:no-preference){.cam-dock--vertical{animation:cam-dock-stand .18s var(--ease,ease-out)}}@keyframes cam-dock-stand{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.viewport--touch .hud-bottom>.cam-dock{transform-origin:top;position:absolute;top:56px;left:50%;transform:translate(-50%)scale(.86)}.viewport--touch.viewport--map .hud-bottom>.cam-dock{top:50%;left:var(--s-3);transform-origin:0;transform:translateY(-50%)scale(.86)}.hud-top__end{align-items:flex-end;gap:var(--s-2);flex-direction:column;min-width:0;margin-left:auto;display:flex}.viewport__hud .hud-top__end{pointer-events:none}.viewport__hud .hud-top__end>*{pointer-events:auto}.hud-telemetry{width:max-content;min-width:150px;max-width:min(260px,42cqw);padding:4px var(--s-2) 6px var(--s-3);border-radius:var(--r-md);background:var(--hud-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);box-shadow:var(--shadow-float);font-size:var(--text-xs);color:var(--text)}.hud-telemetry__head{align-items:center;gap:var(--s-2);justify-content:space-between;display:flex}.hud-telemetry__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.hud-telemetry__lines{font-family:var(--font-code);margin:0;padding:0;line-height:1.35;list-style:none}.hud-telemetry__line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-telemetry__more,.hud-telemetry__empty{color:var(--text-muted);margin:0}.hud-telemetry__empty{max-width:200px}.viewport--touch .hud-telemetry{margin-top:60px}.viewport--touch .cam-dock--vertical{animation:none}.bottom-panel{height:100%}.bottom-panel .ui-tabs__panel{padding:0}.bt{flex-direction:column;height:100%;min-height:0;display:flex;container-type:inline-size}.bt__toolbar{align-items:center;gap:6px var(--s-3);padding:6px var(--s-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.bt__toolbar .ui-field{width:180px}.bt__count{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;flex:1}@container (width<=640px){.bt__toolbar{gap:6px var(--s-2)}.bt__toolbar .ui-field{width:136px}}.bt>.ui-callout{margin:var(--s-2) var(--s-3)}.bt__log,.bt__telemetry,.bt__referee,.bt__problems{min-height:0;font-size:var(--text-sm);flex:1;margin:0;padding:4px 0;list-style:none;overflow:auto}.bt__log:focus-visible,.bt__telemetry:focus-visible,.bt__referee:focus-visible,.bt__problems:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);border-radius:0}.bt__line,.tm-frame,.ref-row{gap:var(--s-2);padding:2px var(--s-3);grid-template-columns:56px 52px auto 1fr;align-items:baseline;display:grid}.bt__line{font-family:var(--font-code);font-size:12.5px}.bt__line--warn{background:var(--warn-wash)}.bt__line--error{background:var(--danger-wash)}.bt__line--error .bt__lvl{color:var(--danger);font-weight:700}.bt__line--warn .bt__lvl{color:var(--warn);font-weight:700}.bt__line--verbose,.bt__line--debug{color:var(--text-muted)}.bt__time{color:var(--text-faint);font-family:var(--font-code);font-variant-numeric:tabular-nums;font-size:12px}.bt__src{color:var(--text-muted);font-size:12px;font-family:var(--font-ui);white-space:nowrap}.bt__line{grid-template-columns:52px max-content auto 1fr}@container (width<=560px){.bt__line{grid-template-columns:auto auto 1fr;row-gap:0}.bt__line .bt__msg{grid-column:1/-1}}.bt__msg{white-space:pre-wrap;word-break:break-word}.tm-frame{border-bottom:1px solid var(--line);padding:4px var(--s-3);grid-template-columns:56px 52px 1fr}.tm-frame__lines{gap:4px var(--s-4);font-family:var(--font-code);flex-wrap:wrap;font-size:12.5px;display:flex}.tm-pair__cap{color:var(--text-muted);margin-right:6px}.tm-pair__cap:after{content:":"}.ref-row{border-bottom:1px solid var(--line);padding:6px var(--s-3);grid-template-columns:56px 110px 56px 1fr auto}.ref-row__who{align-items:center;gap:6px;font-weight:650;display:inline-flex}.ref-row__rule{font-family:var(--font-code);color:var(--honey-strong);font-weight:700}.ref-row__body{flex-direction:column;gap:2px;display:flex}.ref-row__body span{color:var(--text-muted)}.ref-row__sev{font-size:var(--text-xs);white-space:nowrap;font-weight:700}.ref-row--major .ref-row__sev,.ref-row--red .ref-row__sev{color:var(--danger)}.ref-row--minor .ref-row__sev,.ref-row--yellow .ref-row__sev{color:var(--warn)}.problem{gap:var(--s-2);text-align:left;width:100%;padding:5px var(--s-3);cursor:pointer;background:0 0;border:0;grid-template-columns:18px auto 1fr;align-items:start;display:grid}.problem:hover:not(:disabled){background:var(--surface-2)}.problem:disabled{cursor:default}.problem--error svg{color:var(--danger)}.problem--warning svg{color:var(--warn)}.problem__where{font-family:var(--font-code);color:var(--text-muted);font-size:12.5px}.problem__text{flex-direction:column;display:flex}.problem__orig{font-family:var(--font-code);color:var(--text-faint);font-size:12px}.app{height:100vh;flex-direction:column;min-width:1024px;height:100dvh;display:flex;overflow:hidden}.app-loading{place-items:center;height:100vh;display:grid}.topbar{height:var(--topbar-h);align-items:center;gap:var(--s-3);padding:0 var(--s-3);background:var(--surface);border-bottom:1px solid var(--line);flex:none;min-width:0;display:flex}.topbar__brand{align-items:center;gap:var(--s-2);flex:none;display:flex}.topbar__name{font-family:var(--font-display);font-weight:750;font-size:var(--text-lg);letter-spacing:-.01em}.topbar__project{min-width:0;max-width:220px}.topbar__project-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-weight:650;display:block;overflow:hidden}.topbar__divider{background:var(--line);flex:none;width:1px;height:24px}.topbar__pickers{gap:var(--s-2);min-width:0;display:flex}.topbar__pickers .ui-field{width:170px}.topbar__robot{align-items:center;gap:var(--s-2);color:var(--text-muted);min-width:0;display:flex}.topbar__spacer{flex:1}.topbar__tools{gap:2px;display:flex}.sim-controls{align-items:center;gap:4px;display:flex}.sim-controls__speed{width:76px}@media (max-width:1280px){.topbar__pickers .ui-field{width:140px}}.topbar__tools,.sim-controls,.runbtn,.learn-btn,.wb-open-btn,.mp-topbtn{flex:none}.topbar__project,.topbar .ss-trigger,.topbar__robot{flex:0 auto;min-width:0}.topbar .ss-trigger{min-width:120px}.topbar__robot .ui-field{flex:0 150px;min-width:96px}.topbar .runbtn__main .ui-btn__label{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}@media (max-width:1920px){.topbar .autosave span:last-child,.topbar .sync-chip--ok span,.topbar .sync-chip--muted span,.topbar .sync-chip--busy span{display:none}.topbar .sync-chip--ok,.topbar .sync-chip--muted,.topbar .sync-chip--busy{padding:0 6px}}@media (max-width:1640px){.topbar{gap:var(--s-2)}.topbar__robot .ui-btn__label,.wb-open-btn>span,.mp-topbtn:not(.is-in-room) .mp-topbtn__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;overflow:hidden;position:absolute!important}.topbar__robot .ui-btn,.wb-open-btn,.mp-topbtn{padding:0 8px}.topbar .teambar__btn span:not(.teambar__me){display:none}}@media (max-width:1440px){.topbar__name{display:none}.topbar .ss-trigger__scenario{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;overflow:hidden;position:absolute!important}.topbar .ss-trigger{min-width:0}}@media (max-width:1180px){.learn-btn__count{display:none}}.browser-banner{padding:var(--s-2) var(--s-3);background:var(--surface);border-bottom:1px solid var(--line)}.app__main{grid-template-columns:var(--pane-left) auto minmax(320px, 1fr) auto var(--pane-right);flex:1;min-height:0;display:grid}.app__main:has(.rail--left){grid-template-columns:44px auto minmax(320px, 1fr) auto var(--pane-right)}.app__main:has(.rail--right){grid-template-columns:var(--pane-left) auto minmax(320px, 1fr) auto 44px}.app__main:has(.rail--left):has(.rail--right){grid-template-columns:44px auto minmax(320px,1fr) auto 44px}.pane{background:var(--surface);min-width:0;min-height:0;overflow:hidden}.rail{padding-top:var(--s-2);background:var(--surface);justify-content:center;display:flex}.app__center{grid-template-rows:minmax(200px, 1fr) auto var(--pane-bottom);min-width:0;min-height:0;display:grid}.app__viewport{grid-row:1;min-height:0;position:relative}.app__bottom{background:var(--surface);border-top:1px solid var(--line);grid-row:3;min-height:0;overflow:hidden}.splitter{background:var(--line);z-index:2;touch-action:none;position:relative}.splitter--v{cursor:col-resize;width:1px}.splitter--h{cursor:row-resize;height:1px}.splitter:after{content:"";position:absolute;inset:0}.splitter--v:after{left:-4px;right:-4px}.splitter--h:after{top:-4px;bottom:-4px}.splitter:hover,.splitter:focus-visible{background:var(--honey);box-shadow:none}.splitter--v:hover,.splitter--v:focus-visible{width:3px;margin:0 -1px}.splitter--h:hover,.splitter--h:focus-visible{height:3px;margin:-1px 0}body.is-resizing-x{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-y{cursor:row-resize;-webkit-user-select:none;user-select:none}.ds-fallback{gap:var(--s-3);flex-direction:column;display:flex}.ds-fallback__status{gap:4px var(--s-3);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.ds-fallback__status dt{color:var(--text-muted)}.ds-fallback__status dd{margin:0;font-weight:650}.ds-fallback__h{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700}.settings{gap:var(--s-5);flex-direction:column;display:flex}.settings__group{gap:var(--s-3);border:0;flex-direction:column;margin:0;padding:0;display:flex}.settings__group legend{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);margin-bottom:var(--s-2);padding:0}.about{gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.about__title{font-size:var(--text-md);margin:0;font-weight:700}.about__list{gap:4px var(--s-4);font-size:var(--text-sm);grid-template-columns:max-content 1fr;margin:0;display:grid}.about__row{display:contents}.about__row dt{color:var(--text-muted)}.about__row dd{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.about__note{color:var(--text-muted);display:block}.about__actions{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.about__status{font-size:var(--text-sm);color:var(--text-muted)}.settings__row{gap:var(--s-2);flex-wrap:wrap;display:flex}.settings__input{height:34px;padding:0 var(--s-3);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);max-width:200px}.settings__input:focus-visible{box-shadow:var(--focus-ring);outline:none}.tour__body{gap:var(--s-3);flex-direction:column;max-width:60ch;display:flex}.tour__body .ui-kbd{vertical-align:middle}.tour__dots{margin:var(--s-4) 0 0;gap:6px;padding:0;list-style:none;display:flex}.tour__dots li{background:var(--surface-3);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:10px;height:11px}.tour__dots li.is-done{background:var(--honey-strong)}.tour__dots li.is-current{background:var(--honey)}.tour__skip{margin-right:auto}
