:root{--bg:#0e1013;--bg-grad:#1a1d22;--surface:#16191eeb;--surface-solid:#16191e;--border:#ffffff14;--text:#f2f3f5;--text-muted:#9aa1ac;--accent:#ffc629;--accent-ink:#111;--brand-red:#d7263d;--success:#2bc48a;--danger:#ff5a5f;--pdf-paper:#fff;--pdf-ink:#16191e;--pdf-muted:#545b66;--pdf-rule:#c7cbd1;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-28:28px;--fs-40:40px;--panel-fs-body:var(--fs-16);--panel-fs-meta:var(--fs-14);--panel-fs-heading:var(--fs-20);--panel-fs-subheading:var(--fs-16);--panel-text-muted:#b0b7c2;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--radius-8:8px;--radius-14:14px;--radius-pill:999px;--shadow-panel:0 8px 32px #00000059;--backdrop:#0009;--topbar-row:56px;--tabs-row:44px;--topbar-h:calc(var(--topbar-row) + var(--tabs-row));--panel-w:360px;--sheet-min-h:176px;--sheet-viewport-h:100vh;--sheet-bottom:0px;--sheet-available-h:max(0px, calc(100vh - var(--sheet-bottom) - var(--topbar-h) - var(--space-16)));--sheet-peek-h:min(max(calc(var(--sheet-viewport-h) * .25), var(--sheet-min-h)), var(--sheet-available-h));--sheet-half-h:min(max(calc(var(--sheet-viewport-h) * .5), var(--sheet-min-h)), var(--sheet-available-h));--sheet-full-h:min(max(calc(var(--sheet-viewport-h) * .75), var(--sheet-min-h)), var(--sheet-available-h));--dur-ui-min:.15s;--dur-ui-max:.25s;--dur-cam-min:.6s;--dur-cam-max:.8s}@supports (height:100dvh){:root{--sheet-viewport-h:100dvh;--sheet-available-h:max(0px, calc(100dvh - var(--sheet-bottom) - var(--topbar-h) - var(--space-16)))}}@media (width>=1024px){:root{--topbar-h:var(--topbar-row)}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}#canvas-root{top:var(--topbar-h);left:0;right:0;bottom:calc(var(--sheet-bottom) + var(--sheet-visible-h,var(--sheet-half-h)));background:radial-gradient(ellipse at center, var(--bg-grad), var(--bg));position:fixed}@media (width>=1024px){#canvas-root{height:auto;inset:0}}#canvas-root canvas{width:100%;height:100%;display:block}.topbar{z-index:110;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(var(--topbar-row), auto) minmax(var(--tabs-row), auto) auto;align-items:center;column-gap:var(--space-16);min-height:var(--topbar-row);padding:0 var(--space-16);background:var(--surface-solid);border-bottom:1px solid var(--border);color:var(--text);grid-template-areas:"brand actions""tabs tabs""emergency emergency";font-family:Inter,system-ui,sans-serif;display:grid;position:fixed;top:0;left:0;right:0}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.topbar{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.topbar__brand{align-items:baseline;gap:var(--space-12);grid-area:brand;min-width:0;display:flex}.topbar__name{font-size:var(--fs-16);overflow-wrap:anywhere;font-weight:700;line-height:1.25}.topbar__tagline{font-size:var(--fs-14);color:var(--text-muted);white-space:normal;display:none}.tabs{grid-area:tabs;align-self:stretch;display:flex}.tabs .tab{overflow-wrap:anywhere;text-align:center}.topbar__actions{align-items:center;gap:var(--space-8);grid-area:actions;display:flex}.emergency-chrome{min-width:0;padding:var(--space-8) 0;border-top:1px solid var(--border);font-size:var(--fs-14);grid-area:emergency;line-height:1.5}.emergency-chrome__numbers,.emergency-chrome__details{align-items:center;gap:var(--space-8);min-width:0;display:flex}.emergency-chrome__title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.emergency-chrome a{min-width:44px;min-height:44px;color:var(--text);overflow-wrap:anywhere;justify-content:center;align-items:center;display:inline-flex}.emergency-chrome__numbers a{padding:var(--space-4) var(--space-8);border:1px solid var(--text-muted);border-radius:var(--radius-pill);background:var(--surface-solid);text-align:center;flex:1;font-weight:600;text-decoration:none}.emergency-chrome__numbers a:hover{border-color:var(--accent);color:var(--accent)}.emergency-chrome__details{font-size:var(--fs-12);color:var(--text-muted)}.emergency-chrome__details a{flex-shrink:0}.emergency-chrome__details p{overflow-wrap:anywhere;margin:0}.emergency-chrome a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel{--text-muted:var(--panel-text-muted);left:0;right:0;bottom:var(--sheet-bottom);z-index:50;height:var(--sheet-half-h);max-height:var(--sheet-available-h);padding:0 var(--space-16) var(--space-16);background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-14) var(--radius-14) 0 0;box-shadow:var(--shadow-panel);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:var(--panel-fs-body);transition:height var(--dur-ui-max) ease;border-bottom:0;flex-direction:column;line-height:1.5;display:flex;position:fixed}.panel[data-snap=peek]{height:var(--sheet-peek-h)}.panel[data-snap=full]{height:var(--sheet-full-h)}.panel.is-dragging{transition:none}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.panel{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.panel__title{margin:0 0 var(--space-12);font-size:var(--panel-fs-heading);font-weight:600;line-height:1.2}.panel__body{flex:1;min-height:0;overflow-y:auto}@media (width>=1024px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:minmax(var(--topbar-row), auto) auto;grid-template-areas:"brand tabs actions""emergency emergency emergency"}.topbar__brand{gap:var(--space-4) var(--space-12);flex-wrap:wrap}.topbar__tagline{display:inline}.tabs{align-self:center}.emergency-chrome{justify-content:flex-end;align-items:center;gap:var(--space-8) var(--space-16);flex-wrap:wrap;display:flex}.emergency-chrome__numbers a{flex:none}.has-webgl-fallback .topbar{grid-template-areas:"brand.actions""emergency emergency emergency"}.panel,.panel[data-snap]{top:calc(var(--topbar-h) + var(--space-16));right:var(--space-16);bottom:var(--space-16);width:var(--panel-w);height:auto;max-height:none;padding:var(--space-16);border-bottom:1px solid var(--border);border-radius:var(--radius-14);left:auto}}.splash{z-index:100;justify-content:center;align-items:center;gap:var(--space-12);padding:var(--space-24);background:var(--surface-solid);color:var(--text);text-align:center;transition:opacity var(--dur-ui-max) ease;flex-direction:column;font-family:Inter,system-ui,sans-serif;display:flex;position:fixed;inset:0}.splash.is-done{opacity:0;pointer-events:none}.splash p{margin:0}.splash__title{font-size:var(--fs-28);font-weight:700}.splash__text,.splash__slow{font-size:var(--fs-14);color:var(--text-muted)}.splash__bar{border-radius:var(--radius-pill);background:var(--border);width:min(280px,80vw);height:4px;overflow:hidden}.splash__fill{background:var(--accent);width:0;height:100%;transition:width var(--dur-ui-min) linear}.splash__percent{font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--fs-14);min-height:1.4em}.splash__error{max-width:320px;font-size:var(--fs-14);color:var(--danger)}.splash__retry{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-24);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:0;font-weight:600}.splash__retry:focus-visible{outline:2px solid var(--text);outline-offset:2px}.splash [hidden]{display:none}.lang-toggle{border:1px solid var(--border);border-radius:var(--radius-8);flex-shrink:0;padding:2px;display:flex}.lang-toggle button{min-width:44px;min-height:44px;padding:0 var(--space-8);color:var(--text-muted);font:inherit;font-size:var(--fs-14);cursor:pointer;transition:background var(--dur-ui-min) ease, color var(--dur-ui-min) ease;background:0 0;border:0;border-radius:6px;font-weight:600}.lang-toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.lang-toggle button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.tab,.topbar__about{min-width:44px;min-height:44px;padding:0 var(--space-12);border-radius:var(--radius-8);color:var(--text-muted);font-size:var(--fs-14);transition:color var(--dur-ui-min) ease, box-shadow var(--dur-ui-min) ease;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.tab{flex:1}.tab:hover,.topbar__about:hover{color:var(--text)}.tab[aria-current=page]{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.tab:focus-visible,.topbar__about:focus-visible,.panel__handle:focus-visible,.modal__close:focus-visible{outline:2px solid var(--text);outline-offset:2px}@media (width>=1024px){.tab{flex:none}}.panel__handle{min-height:44px;margin:0 calc(-1 * var(--space-16));cursor:grab;touch-action:none;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.panel__handle:before{content:"";border-radius:var(--radius-pill);background:var(--text-muted);width:40px;height:4px}@media (width>=1024px){.panel__handle{display:none}}.modal{width:min(480px, calc(100vw - var(--space-32)));border:1px solid var(--border);border-radius:var(--radius-14);background:var(--surface-solid);max-height:85vh;box-shadow:var(--shadow-panel);color:var(--text);padding:0;font-family:Inter,system-ui,sans-serif}.modal::backdrop{background:var(--backdrop)}.modal__body{gap:var(--space-12);padding:var(--space-24);overflow-wrap:anywhere;flex-direction:column;display:flex}.modal__body a{min-height:44px;color:var(--text);font-size:var(--fs-14);align-items:center;line-height:1.5;display:flex}.modal{max-height:85dvh}#about[open]{flex-direction:column;display:flex;overflow:hidden}#about .modal__header{align-items:center;gap:var(--space-16);padding:var(--space-16) var(--space-24);flex-shrink:0;display:flex}#about .modal__header .modal__title{overflow-wrap:anywhere;flex:1;min-width:0}#about .modal__close{flex-shrink:0;align-self:center}#about>.modal__body{overscroll-behavior:contain;min-height:0;padding-top:var(--space-8);overflow-y:auto}#about>.modal__body>*{flex-shrink:0}.viewer-tools{margin-bottom:var(--space-12);font-family:Inter,system-ui,sans-serif}.viewer-tools button,.hotspot-info__parts button{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);border:1px solid var(--text-muted);border-radius:var(--radius-8);background:var(--surface-solid);color:var(--text);font:inherit;font-size:var(--panel-fs-body);cursor:pointer;overflow-wrap:anywhere}.hotspot-info__parts{gap:var(--space-8);margin:var(--space-12) 0;display:grid}.hotspot-info__parts button{text-align:left}.viewer-tools button:disabled{cursor:default;color:var(--text-muted)}:where(a,button,input,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:-2px}#canvas-root canvas:focus-visible{outline-offset:-3px}[hidden]{display:none!important}.has-webgl-fallback .topbar{grid-template-rows:minmax(var(--topbar-row), auto) auto}@media (width<=1023px){.has-webgl-fallback .topbar{grid-template-areas:"brand actions""emergency emergency"}}.webgl-fallback{max-width:800px;margin:calc(var(--topbar-h) + var(--space-24)) auto var(--space-24);padding:var(--space-16);color:var(--text);font:var(--fs-16)/1.5 Inter, system-ui, sans-serif;overflow-wrap:anywhere}.webgl-fallback h1{font-size:var(--fs-28);line-height:1.2}.webgl-fallback img{border-radius:var(--radius-14);width:100%;height:auto;display:block}.modal__body p,.modal__body h3{font-size:var(--fs-14);margin:0;line-height:1.5}.modal__title{font-size:var(--fs-20);margin:0;line-height:1.2}.modal__body h3{font-size:var(--fs-16)}.modal__section{gap:var(--space-4);flex-direction:column;display:flex}.modal__body .modal__muted{font-size:var(--fs-12);color:var(--text-muted)}.modal__close{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-24);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:0;align-self:flex-end;font-weight:600}.toast{left:50%;bottom:var(--space-24);z-index:130;max-width:calc(100vw - var(--space-32));padding:var(--space-12) var(--space-16);border:1px solid var(--border);border-radius:var(--radius-8);background:var(--surface-solid);box-shadow:var(--shadow-panel);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:var(--fs-14);position:fixed;transform:translate(-50%)}.toast[hidden]{display:none}.debug-hud{left:var(--space-16);bottom:var(--space-16);z-index:90;max-width:min(320px, calc(100vw - var(--space-32)));padding:var(--space-8) var(--space-12);border:1px solid var(--border);border-radius:var(--radius-8);background:var(--surface-solid);box-shadow:var(--shadow-panel);color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--fs-12);white-space:pre-wrap;pointer-events:none;line-height:1.4;position:fixed}.debug-stats{top:calc(var(--topbar-h) + var(--space-8));left:var(--space-16);z-index:90;position:fixed}@media (prefers-reduced-motion:reduce){.splash,.splash__fill,.lang-toggle button,.tab,.topbar__about,.panel{transition:none}}.hotspot-pins{pointer-events:none;position:absolute;inset:0}.hotspot-pins__lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hotspot-pins__lines line{stroke:var(--accent);stroke-width:1.5px}.hotspot-pin{width:44px;height:44px;color:var(--accent-ink);font:600 var(--fs-14)/1 Inter, system-ui, sans-serif;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;left:0}.hotspot-pin span{width:var(--fs-28);height:var(--fs-28);border:2px solid var(--accent-ink);border-radius:var(--radius-pill);background:var(--accent);place-items:center;display:grid}.hotspot-pin[aria-pressed=true] span{outline:2px solid var(--text);outline-offset:2px}.hotspot-pin:hover span,.hotspot-pin:active span,.hotspot-pin:focus-visible,.hotspot-info__close:focus-visible,.hotspot-info__body:focus-visible,#canvas-root canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hotspot-info__hint,.hotspot-info__card p{color:var(--text);font-size:var(--panel-fs-body);overflow-wrap:anywhere;margin:0;line-height:1.5}.hotspot-info__card{gap:var(--space-12);flex-direction:column;display:flex}.hotspot-info__body:focus-visible{outline-offset:-2px}.hotspot-info__header{z-index:1;align-items:flex-start;gap:var(--space-12);background:var(--surface-solid);flex-shrink:0;display:flex;position:sticky;top:0}.hotspot-info__card h3{min-width:0;color:var(--accent);font-size:var(--panel-fs-heading);overflow-wrap:anywhere;flex:1;margin:0;line-height:1.2}.hotspot-info__close{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);border-radius:var(--radius-8);background:var(--accent);color:var(--accent-ink);font:inherit;font-size:var(--panel-fs-body);cursor:pointer;border:0;flex-shrink:0;font-weight:600}.panel.is-reading-hotspot>.panel__title,.panel.is-reading-hotspot .config-options,.panel.is-reading-hotspot .viewer-tools{display:none}.panel.is-reading-hotspot .panel__body{flex-direction:column;display:flex;overflow:hidden}.panel.is-reading-hotspot .hotspot-info,.panel.is-reading-hotspot .hotspot-info__card{flex-direction:column;flex:1;min-height:0;display:flex}.panel.is-reading-hotspot .hotspot-info__body{overscroll-behavior:contain;min-height:0;overflow-y:auto}@media (width>=1024px){.panel.is-reading-hotspot>.panel__title{display:block}.panel.is-reading-hotspot .config-options{display:flex}.panel.is-reading-hotspot .viewer-tools{display:block}.panel.is-reading-hotspot .panel__body{display:block;overflow-y:auto}.panel.is-reading-hotspot .hotspot-info{display:block}.panel.is-reading-hotspot .hotspot-info__body{overflow:visible}}.hotspot-pins[hidden],.hotspot-pin[hidden],.hotspot-info [hidden]{display:none}.saved-configs{gap:var(--space-12);flex-direction:column;min-width:0;display:flex}.saved-configs h3,.saved-configs h4,.saved-configs p{overflow-wrap:anywhere;margin:0}.saved-configs h3{font-size:var(--panel-fs-heading);line-height:1.2}.saved-configs h4{font-size:var(--panel-fs-subheading);line-height:1.2}.saved-status,.saved-summary{color:var(--text-muted);font-size:var(--panel-fs-meta);line-height:1.5}.saved-list{margin:0;padding:0;list-style:none}.saved-list li{gap:var(--space-8);padding-block:var(--space-12);border-top:1px solid var(--border);flex-direction:column;display:flex}.saved-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.saved-button{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);border:1px solid var(--text-muted);border-radius:var(--radius-8);background:var(--surface-solid);color:var(--text);font:inherit;font-size:var(--panel-fs-body);cursor:pointer;overflow-wrap:anywhere}.saved-button--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.saved-button:disabled{background:var(--surface-solid);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.saved-button:focus-visible,.saved-dialog input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.saved-dialog{--text-muted:var(--panel-text-muted);font-size:var(--panel-fs-body);max-height:calc(100dvh - var(--space-32));line-height:1.5;overflow-y:auto}.saved-dialog label{font-size:var(--panel-fs-body)}.saved-dialog input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:var(--space-8);border:1px solid var(--text-muted);border-radius:var(--radius-8);background:var(--bg);color:var(--text);font:inherit;font-size:var(--fs-16)}.saved-dialog p{overflow-wrap:anywhere}.saved-dialog .saved-error{color:var(--danger)}.saved-dialog [hidden]{display:none}.config-options{gap:var(--space-16);margin-bottom:var(--space-24);padding-bottom:var(--space-16);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.config-options fieldset{border:0;min-width:0;margin:0;padding:0}.config-options legend{margin-bottom:var(--space-8);font-size:var(--panel-fs-subheading);padding:0;font-weight:600}.config-colors,.config-choices{gap:var(--space-8);flex-wrap:wrap;display:flex}.config-color,.config-choice{justify-content:center;align-items:center;gap:var(--space-8);min-width:44px;min-height:44px;padding:var(--space-8);border:2px solid var(--text-muted);border-radius:var(--radius-8);background:var(--surface-solid);color:var(--text);font:inherit;font-size:var(--panel-fs-body);cursor:pointer;display:inline-flex}.config-color:before{content:"";width:var(--space-16);height:var(--space-16);border:1px solid var(--text-muted);border-radius:var(--radius-pill);background:var(--swatch);flex-shrink:0}.config-color[aria-pressed=true],.config-choice[aria-pressed=true]{border-color:var(--accent)}.config-color:focus-visible,.config-choice:focus-visible,.config-source:focus-visible,.config-bracket input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.config-bracket{align-items:center;gap:var(--space-12);min-height:44px;font-size:var(--panel-fs-body);cursor:pointer;display:flex}.config-bracket input{appearance:none;width:var(--space-48);height:var(--space-24);border:2px solid var(--text-muted);border-radius:var(--radius-pill);background:var(--surface-solid);cursor:pointer;flex-shrink:0;margin:0;padding:2px}.config-bracket input:before{content:"";width:var(--space-16);height:var(--space-16);border-radius:var(--radius-pill);background:var(--text);display:block}.config-bracket input:checked{border-color:var(--accent);background:var(--accent)}.config-bracket input:checked:before{transform:translateX(var(--space-24));background:var(--accent-ink)}.config-color:disabled,.config-choice:disabled{color:var(--text-muted)}.config-color:disabled,.config-choice:disabled,.config-bracket input:disabled{cursor:not-allowed}.config-bracket:has(input:disabled){cursor:not-allowed}.config-status{color:var(--text-muted);font-size:var(--panel-fs-meta);overflow-wrap:anywhere;margin:0;line-height:1.5}.config-status[hidden]{display:none}.config-capacity{gap:0}.config-capacity .config-choice{padding-inline:var(--space-4);border-radius:0;flex:1}.config-capacity .config-choice:first-child{border-radius:var(--radius-8) 0 0 var(--radius-8)}.config-capacity .config-choice:last-child{border-radius:0 var(--radius-8) var(--radius-8) 0}.config-price p{font-size:var(--panel-fs-meta);margin:0}.config-price .config-price__value{margin-top:var(--space-4);font:600 var(--fs-28)/1.2 var(--font-mono);overflow-wrap:anywhere}.config-specs{border-collapse:collapse;table-layout:fixed;width:100%;font:var(--panel-fs-body)/1.5 var(--font-mono)}.config-specs caption{margin-bottom:var(--space-8);text-align:left;font-weight:600}.config-specs th,.config-specs td{padding:var(--space-8) 0;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;text-align:left;font-weight:400}.config-specs th{width:58%;padding-right:var(--space-12);color:var(--text-muted)}.config-note,.config-source{font-size:var(--panel-fs-meta);overflow-wrap:anywhere;margin:0;line-height:1.5}.config-note{color:var(--text-muted)}.config-source{color:var(--text)}.training{overscroll-behavior:contain;overflow-anchor:none;min-width:0;min-height:0;scroll-padding-bottom:var(--training-nav-height,60px);flex:1;display:block;overflow-y:auto}.training[data-phase=steps]{flex-direction:column;display:flex}.training[data-phase=steps] .training__body{padding-bottom:var(--training-nav-height,60px);flex:1 0 auto}.panel.is-training>.panel__title{display:none}.panel.is-training .panel__body{display:flex;overflow:hidden}.training__body{margin:var(--space-8) 0;overflow-wrap:anywhere}.training h3{margin:0 0 var(--space-8);font-size:var(--panel-fs-heading);line-height:1.2}.training p{margin:0 0 var(--space-12);font-size:var(--panel-fs-body);line-height:1.5}.training .training__muted,.training .training__disclaimer{font-size:var(--panel-fs-meta)}.training__muted,.training .training__disclaimer{color:var(--text-muted)}.training .training__disclaimer{margin-top:var(--space-16)}.training__feedback{display:grid}.training__feedback>p{grid-area:1/1}.training .is-inactive{visibility:hidden}.training__stepper{gap:var(--space-4);flex:none;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.training__stepper li{padding:var(--space-4) 0;border-bottom:2px solid var(--border);color:var(--text-muted);font-size:var(--panel-fs-meta);overflow-wrap:anywhere}.training__stepper [aria-current]{border-color:var(--accent);color:var(--text);font-weight:600}.training__stepper .is-done{border-color:var(--success)}.training__nav,.training__tools{gap:var(--space-8);flex-wrap:wrap;display:flex}.training__nav{z-index:3;padding-top:var(--space-8);background:var(--surface-solid);flex:none;position:sticky;bottom:0}.training__nav button{flex:1}.training button{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);border:1px solid var(--text-muted);border-radius:var(--radius-8);background:var(--surface-solid);color:var(--text);font:inherit;font-size:var(--panel-fs-body);cursor:pointer;overflow-wrap:anywhere;touch-action:manipulation}.training [data-training=start],.training [data-training=next],.training [data-training=restart],.training [data-training=quiz]{background:var(--accent);color:var(--accent-ink);font-weight:600}.training button:disabled{cursor:default;opacity:.55}.training [data-training=interact][data-interaction=hold]{align-items:center;gap:var(--space-8);touch-action:none;-webkit-user-select:none;user-select:none;display:inline-flex}.training__hold-ring{--hold-progress:0deg;flex:0 0 var(--space-24);width:var(--space-24);height:var(--space-24);border-radius:var(--radius-pill);background:conic-gradient(var(--accent) var(--hold-progress), var(--surface-solid) 0);box-shadow:inset 0 0 0 1px var(--text-muted);position:relative}.training__hold-ring:after{content:"";inset:var(--space-4);border-radius:inherit;background:var(--surface-solid);position:absolute}.training [data-training=start]:focus-visible,.training [data-training=next]:focus-visible,.training [data-training=restart]:focus-visible,.training [data-training=quiz]:focus-visible{outline-color:var(--accent-ink);outline-offset:-4px}.training :focus-visible,.training-target__button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.training__sweep{margin-bottom:var(--space-8);font-size:var(--panel-fs-body)}.training__sweep label{margin-bottom:var(--space-12);font-weight:600;display:block}.training__sweep-sides{justify-content:space-between;gap:var(--space-8);display:flex}.training__sweep-track{height:44px;margin-bottom:var(--space-8);position:relative}.training__sweep-track:before{content:"";border-radius:var(--radius-pill);background:var(--text-muted);height:8px;position:absolute;top:18px;left:22px;right:22px}.training__sweep-zone{border:2px solid var(--text-muted);background:var(--surface-solid);pointer-events:none;width:calc(5% - 2.2px);height:16px;position:absolute;top:14px}.training__sweep-zone[data-side=left]{left:22px}.training__sweep-zone[data-side=right]{right:22px}.training__sweep[data-target=left] [data-side=left],.training__sweep[data-target=right] [data-side=right]{z-index:1;background:var(--accent);border-color:var(--accent)}.training__sweep input{z-index:2;appearance:none;cursor:grab;touch-action:none;background:0 0;border:0;width:100%;height:44px;margin:0;padding:0;display:block;position:relative}.training__sweep input:active{cursor:grabbing}.training__sweep input:disabled{cursor:default;opacity:.55}.training__sweep input::-webkit-slider-runnable-track{background:0 0;height:8px}.training__sweep input::-moz-range-track{background:0 0;height:8px}.training__sweep input::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent-ink);border-radius:var(--radius-pill);background:var(--accent);width:44px;height:44px;margin-top:-18px}.training__sweep input::-moz-range-thumb{box-sizing:border-box;border:2px solid var(--accent-ink);border-radius:var(--radius-pill);background:var(--accent);width:44px;height:44px}.training__status{color:var(--success)}.training__error{color:var(--danger)}.training__contacts{gap:var(--space-8);margin:var(--space-16) 0;flex-direction:column;display:flex}.training__contacts h4{margin:0}.training__contacts a{min-height:44px;color:var(--text);font-size:var(--panel-fs-meta);align-items:center;display:flex}.training-target{pointer-events:none;position:absolute;inset:0;overflow:hidden}.training-target__button{--hold-progress:0deg;width:44px;height:44px;padding:var(--space-4);border-radius:var(--radius-pill);background:var(--surface-solid);color:var(--accent-ink);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border:0;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.training-target__button[data-interaction=hold]{background:conic-gradient(var(--accent) var(--hold-progress), var(--surface-solid) 0)}.training-target__button span{border-radius:var(--radius-pill);background:var(--accent);width:28px;height:28px;font:600 var(--fs-14) var(--font-mono);place-items:center;display:grid}.training-target__button[data-complete=true] span{background:var(--success)}.training-target__pin{width:80px;height:40px;animation:training-pin-out var(--dur-ui-max) ease-out;position:absolute;transform:translate(24px,-52px)}.training-target__pin svg{fill:none;width:100%;height:100%;stroke:var(--accent);stroke-width:3px}@keyframes training-pin-out{0%{opacity:0;transform:translate(-24px,-20px)}}.training [hidden],.training-target[hidden],.training-target [hidden]{display:none}@media (prefers-reduced-motion:reduce){.training-target__pin{animation:none}}.panel.is-quiz>.panel__title{display:none}.panel.is-quiz .panel__body{display:flex;overflow:hidden}.quiz{overscroll-behavior:contain;overflow-anchor:none;min-width:0;min-height:0;scroll-padding-bottom:calc(var(--quiz-nav-height,60px) + var(--space-8));flex:1;overflow-y:auto}.quiz:not([data-phase=summary]){flex-direction:column;display:flex}.quiz:not([data-phase=summary]) .quiz__body{flex:1 0 auto}.quiz__body{padding-top:var(--space-8);padding-bottom:calc(var(--quiz-nav-height,60px) + var(--space-8));overflow-wrap:anywhere}.quiz h3{margin:0 0 var(--space-12);font-size:var(--panel-fs-heading);scroll-margin-top:var(--space-8);line-height:1.2}.quiz h4{margin:0 0 var(--space-8);font-size:var(--panel-fs-subheading);line-height:1.2}.quiz p{margin:0 0 var(--space-12);font-size:var(--panel-fs-body);line-height:1.5}.quiz .quiz__progress,.quiz .quiz__muted{font-size:var(--panel-fs-meta)}.quiz .quiz__progress{color:var(--text-muted);font-family:var(--font-mono)}.quiz__muted{color:var(--text-muted)}.quiz[data-phase=feedback] .quiz__hint{visibility:hidden}.quiz__choices{gap:var(--space-8);margin-bottom:var(--space-12);display:grid}.quiz button{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);border:1px solid var(--text-muted);border-radius:var(--radius-8);background:var(--surface-solid);color:var(--text);font:inherit;font-size:var(--panel-fs-body);cursor:pointer;overflow-wrap:anywhere;touch-action:manipulation}.quiz__choices button{text-align:left;border-width:2px;width:100%}.quiz button:disabled{cursor:default}.quiz__choices [data-result=correct]{border-color:var(--success)}.quiz__choices [data-result=wrong]{border-color:var(--danger)}.quiz__feedback{margin:var(--space-16) 0}.quiz__feedback[data-correct=true] h4{color:var(--success)}.quiz__feedback[data-correct=false] h4,.quiz__error{color:var(--danger)}.quiz__sources,.quiz__contacts{gap:var(--space-8);margin-bottom:var(--space-16);flex-direction:column;display:flex}.quiz a{min-height:44px;color:var(--text);font-size:var(--panel-fs-meta);align-items:center;display:flex}.quiz__tools{gap:var(--space-8);margin-bottom:var(--space-12);flex-wrap:wrap;display:flex}.quiz__nav{z-index:3;padding-top:var(--space-8);background:var(--surface-solid);flex:none;position:sticky;bottom:0}.quiz__nav button{width:100%}.quiz__nav button,.quiz [data-quiz=restart]{background:var(--accent);color:var(--accent-ink);font-weight:600}.quiz__nav button:disabled{opacity:.55}.quiz .quiz__score{font:600 var(--fs-28)/1.5 var(--font-mono)}.quiz__review{margin:var(--space-16) 0}.quiz__review ol{padding-left:var(--space-24);margin:0}.quiz__review li{padding:var(--space-12) 0;border-bottom:1px solid var(--border)}.quiz__review h5{margin:0 0 var(--space-8);font-size:var(--panel-fs-subheading);line-height:1.2}.quiz__review li p{margin-bottom:var(--space-8)}.quiz__review-outcome{font-weight:600}.quiz__review-outcome[data-correct=true]{color:var(--success)}.quiz__review-outcome[data-correct=false]{color:var(--danger)}.quiz :focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.quiz__nav button:focus-visible,.quiz [data-quiz=restart]:focus-visible{outline-color:var(--accent-ink);outline-offset:-4px}.quiz [hidden]{display:none}.results{gap:var(--space-24);min-width:0;font-size:var(--panel-fs-body);padding:var(--space-4);flex-direction:column;line-height:1.5;display:flex}.results [hidden]{display:none}.results h3,.results h4,.results p{overflow-wrap:anywhere;margin:0}.results h3,.results caption{font-size:var(--panel-fs-heading);font-weight:600;line-height:1.2}.results h4{font-size:var(--panel-fs-subheading);line-height:1.2}.results section{min-width:0}.results__muted,.results-chart__label{color:var(--text-muted)}.results__muted{font-size:var(--panel-fs-meta)}.results__error{color:var(--danger)}.results__correct{color:var(--success)}.results__score-card{align-items:center;gap:var(--space-16);flex-wrap:wrap;display:flex}.results__score-details{flex:1;min-width:min(100%,140px)}.results__score{font:600 var(--fs-28)/1.2 var(--font-mono)}.results__ring{border-radius:var(--radius-pill);background:conic-gradient(var(--accent) var(--score-angle), var(--border) 0);width:112px;height:112px;font:600 var(--fs-20)/1.2 var(--font-mono);flex:0 0 112px;place-items:center;display:grid;position:relative}.results__ring:before{content:"";inset:var(--space-8);border-radius:inherit;background:var(--surface-solid);position:absolute}.results__ring strong{position:relative}.results-chart{width:100%;height:auto;margin-block:var(--space-8);font-size:var(--panel-fs-meta);display:block;overflow:visible}.results-chart__label{fill:currentColor;font:var(--panel-fs-meta) var(--font-mono)}.results-chart__bar{fill:var(--accent)}.results-chart__axis{stroke:var(--border)}.results-chart__threshold{stroke:var(--text-muted);stroke-dasharray:4 4}.results__answers{table-layout:auto;border-collapse:collapse;width:100%}.results__answers caption{text-align:left;margin-bottom:var(--space-12)}.results__answers th,.results__answers td{padding:var(--space-8) var(--space-4);text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid var(--border)}.results__answers th:last-child,.results__answers td:last-child{white-space:nowrap;width:1%;min-width:9ch}.results__configs{margin:var(--space-8) 0;padding:0;list-style:none}.results__configs li{padding-block:var(--space-12);border-top:1px solid var(--border)}.results__name,.results__contacts{gap:var(--space-8);flex-direction:column;display:flex}.results a{color:var(--accent);overflow-wrap:anywhere}.results__contacts a{align-items:center;min-height:44px;display:flex}.results__button{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);border:1px solid var(--text-muted);border-radius:var(--radius-8);background:var(--surface-solid);color:var(--text);font:inherit;cursor:pointer;overflow-wrap:anywhere;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.results .results__button--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.results__button:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.results__name input{width:100%;min-width:0;min-height:44px;padding:var(--space-8);border:1px solid var(--text-muted);border-radius:var(--radius-8);background:var(--bg);color:var(--text);font:inherit;font-size:var(--fs-16)}.results :focus-visible,.results-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.results__actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.results-dialog{--text-muted:var(--panel-text-muted);font-size:var(--panel-fs-body);max-height:calc(100dvh - var(--space-32));line-height:1.5;overflow-y:auto}.results-dialog p{overflow-wrap:anywhere}
