:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e5e7eb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#090a0d;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:#090a0d}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#27272a;background:#f4f4f5}body{background:radial-gradient(at 50% -20%,#7f1d1d38,#0000 55%),linear-gradient(145deg,#17181d 0%,#090a0d 58%,#111216 100%);min-width:320px;min-height:100vh;margin:0}[data-theme=light] body{background:radial-gradient(at 50% -20%,#fb718529,#0000 55%),linear-gradient(145deg,#fafafa 0%,#f4f4f5 58%,#e4e4e7 100%)}button,input,textarea,select{font:inherit}#root{min-height:100vh}.app-shell{justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.app-shell.game-page{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:20px;padding:0 0 32px}.app-header{z-index:8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0d11f5;border-bottom:1px solid #a1a1aa2e;width:100%;padding:14px 24px;position:sticky;top:0;box-shadow:0 8px 26px #00000047}.app-header-content{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;width:min(1200px,100%);margin-inline:auto;display:grid}.app-header-brand{flex:none}.app-header-brand .eyebrow{margin-bottom:0}.header-save-status{margin:2px 0 0}.game-panel{background:linear-gradient(145deg,#1d1e23f7,#111216fa);border:1px solid #a1a1aa29;border-radius:24px;width:min(1100px,100%);margin-inline:auto;padding:24px;box-shadow:0 24px 80px #0000007a,inset 0 1px #ffffff09}.status-bar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:.13rem;text-transform:uppercase;color:#fb7185;margin:0 0 3px;font-size:.72rem;font-weight:800}h1{color:#f8fafc;margin:0;font-size:clamp(2rem,3vw,3rem)}.app-title{white-space:nowrap;color:#fb7185;text-align:center;justify-self:center}.status-pill{border:1px solid #0000;border-radius:999px;padding:10px 16px;font-size:.85rem;font-weight:700}.status-pill.active{color:#fda4af;background:#e11d481f;border-color:#f43f5e61}.status-pill.success{color:#bbf7d0;background:#4ade801f;border-color:#4ade8059}.status-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.play-status-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;width:100%;display:flex}.result-review-button{color:#fff1f2;cursor:pointer;font:inherit;background:linear-gradient(145deg,#e11d48,#9f1239);border:1px solid #fb7185;border-radius:10px;padding:10px 16px;font-size:.85rem;font-weight:800;transition:filter .15s,transform .15s;box-shadow:0 5px 16px #9f123961}.result-review-button:hover{filter:brightness(1.14);transform:translateY(-1px)}.result-review-button:focus-visible{outline-offset:3px;outline:2px solid #fff1f2}.app-footer{color:#a1a1aa;border-top:1px solid #a1a1aa2e;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:min(1100px,100%);margin-inline:auto;padding:12px 4px 0;font-size:.8rem;display:grid}.footer-brand{align-items:center;gap:10px;display:flex}.footer-app-name{color:#e4e4e7;font-weight:700}.footer-copyright{color:#71717a}.footer-save-status{justify-self:center;margin:0}.footer-development-toggle{justify-self:end}.footer-actions{flex-wrap:wrap;grid-column:3;justify-content:flex-end;align-items:center;gap:10px;display:flex}.kofi-link{color:#fda4af;white-space:nowrap;background:#be123c1f;border:1px solid #f43f5e52;border-radius:999px;flex:none;justify-content:center;align-items:center;width:max-content;padding:7px 11px;font-size:.76rem;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.kofi-link:hover{background:#be123c3d;border-color:#fb7185;transform:translateY(-1px)}.kofi-link:focus-visible{outline-offset:3px;outline:2px solid #fb7185}.footer-privacy-button{color:inherit;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;border-radius:8px;padding:6px 8px;text-decoration:underline}.footer-version{color:#71717a;white-space:nowrap;font-size:.7rem}.footer-privacy-button:hover{color:#fb7185}.footer-privacy-button:focus-visible{outline-offset:2px;outline:2px solid #fb7185}.header-tools{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:16px;display:flex}.testing-tools{background:#9f123914;border:1px dashed #fb718561;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px;display:flex}.development-toggle,.development-reset{color:#fecdd3;cursor:pointer;background:#27272ae6;border:1px solid #f43f5e6b;border-radius:10px;font-size:.76rem;font-weight:700;transition:background .15s,border-color .15s,opacity .15s}.development-toggle{padding:9px 12px}.development-toggle.active,.development-toggle:hover,.development-reset:not(:disabled):hover{background:#9f12394d;border-color:#fb7185}.development-reset{white-space:nowrap;align-self:end;padding:8px 10px}.development-reset:disabled{opacity:.42;cursor:not-allowed}.test-picker{color:#fda4af;flex-direction:column;gap:4px;font-size:.68rem;display:flex}.test-picker select{color:#f8fafc;cursor:pointer;background:#27272a;border:1px solid #f43f5e57;border-radius:9px;min-width:132px;padding:7px 28px 7px 10px}.test-picker select:focus-visible{outline-offset:2px;outline:2px solid #f43f5e}.header-status{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.save-status{color:#a1a1aa;font-size:.75rem}.save-status.save-error{color:#fca5a5}.notice{border:1px solid #0000;border-radius:12px;margin:0 0 18px;padding:12px 14px;font-size:.9rem}.warning-notice{color:#fde68a;background:#facc151a;border-color:#facc1552}.error-notice{color:#fecdd3;background:#9f12392e;border-color:#f43f5e61}.loading-panel{max-width:560px;margin:auto}.loading-message{text-align:center;color:#d4d4d8}.retry-button{max-width:220px}.play-area{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:28px;display:grid}.board-wrapper{justify-content:center;align-items:center;width:100%;display:flex}.board-column{flex-direction:column;align-items:center;display:flex}.board{aspect-ratio:1;isolation:isolate;background:#121317;border:1px solid #a1a1aa33;border-radius:18px;grid-template-rows:repeat(6,minmax(0,1fr));gap:6px;width:min(70vw,520px);padding:10px;display:grid}.board-cell{z-index:0;background:linear-gradient(90deg,#0000 47%,#a1a1aa09 48% 52%,#0000 53%),linear-gradient(#0000 47%,#a1a1aa09 48% 52%,#0000 53%),#222329;border:1px solid #a1a1aa14;border-radius:10px;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.exit-marker{z-index:4;pointer-events:none;color:#fff1f2;justify-content:center;align-items:center;width:0;height:0;display:flex}.exit-marker:before{content:"";background:linear-gradient(#fb7185,#be123c);border-radius:999px;position:absolute;box-shadow:0 0 14px #f43f5eb8}.exit-marker span{z-index:1;background:#9f1239;border:1px solid #ffe4e6b3;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.78rem;font-weight:800;line-height:1;display:grid;box-shadow:0 2px 8px #0000007a}.exit-left,.exit-right{align-self:center;width:0;height:74%}.exit-left{justify-self:start;transform:translate(-4px)}.exit-right{justify-self:end;transform:translate(4px)}.exit-left:before,.exit-right:before{width:5px;height:100%}.exit-left span{transform:translate(-9px)}.exit-right span{transform:translate(9px)}.exit-up,.exit-down{justify-self:center;width:74%;height:0}.exit-up{align-self:start;transform:translateY(-4px)}.exit-down{align-self:end;transform:translateY(4px)}.exit-up:before,.exit-down:before{width:100%;height:5px}.exit-up span{transform:translateY(-9px)}.exit-down span{transform:translateY(9px)}.train-sprite{pointer-events:none;width:100%;height:100%;display:block}.piece-sprite-button{z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:18px;min-width:0;min-height:0;padding:0;transition:transform .16s,filter .16s,box-shadow .16s}.piece-sprite-button:active{cursor:grabbing}.piece-sprite-button:not(:disabled):hover{z-index:2;filter:brightness(1.12);transform:translateY(-2px)}.piece-sprite-button.selected{z-index:3;box-shadow:0 0 0 3px #fb7185,0 0 20px #f43f5e6b}.piece-sprite-button:focus{outline:none}.piece-sprite-button:focus-visible{outline-offset:4px;outline:2px solid #fff1f2}.piece-sprite-button:disabled{cursor:default}.piece-sprite-button.exit-moving{z-index:5;pointer-events:none;animation-duration:.76s;animation-timing-function:cubic-bezier(.22,.72,.24,1);animation-fill-mode:forwards}.piece-sprite-button.exit-moving-right{animation-name:leave-right}.piece-sprite-button.exit-moving-left{animation-name:leave-left}.piece-sprite-button.exit-moving-up{animation-name:leave-up}.piece-sprite-button.exit-moving-down{animation-name:leave-down}@keyframes leave-right{to{opacity:.15;transform:translate(55%)}}@keyframes leave-left{to{opacity:.15;transform:translate(-55%)}}@keyframes leave-up{to{opacity:.15;transform:translateY(-55%)}}@keyframes leave-down{to{opacity:.15;transform:translateY(55%)}}.exit-review{z-index:5;pointer-events:none;filter:drop-shadow(0 0 10px #f43f5e47);border-radius:12px;min-width:0;min-height:0;overflow:hidden}.exit-review-sprite{width:100%;height:100%;display:block}.review-train-underframe{fill:#111216;stroke:#090a0d;stroke-width:4px}.review-tender{fill:#3f3f46;stroke:#18181b;stroke-width:3px}.review-tender-rim{fill:#52525b;stroke:#a1a1aa;stroke-opacity:.4;stroke-width:2px}.review-coal{fill:#18181b;stroke:#09090b;stroke-width:2px;stroke-linejoin:round}.review-train-stripe{stroke:#fb7185;stroke-width:3px;stroke-linecap:round}.review-arrow-line,.review-arrow-head{fill:none;stroke:#fff1f2;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.review-arrow-head{fill:#fff1f2;stroke-width:2px}@media (prefers-reduced-motion:reduce){.piece-sprite-button.exit-moving{animation-duration:1ms}}.blocker-chassis,.escape-chassis{fill:#111216;stroke:#090a0d;stroke-width:3px}.bogie rect,.escape-bogie rect{fill:#090a0d;stroke:#050506;stroke-width:2px}.bogie circle,.escape-bogie circle{fill:#a1a1aa;stroke:#27272a;stroke-width:2px}.escape-side-rail,.escape-boiler-line,.escape-tender-highlight{fill:none;stroke:#fecdd3;stroke-linecap:round}.escape-side-rail{stroke:#27272a;stroke-width:3px}.escape-tender-body{fill:#3f3f46;stroke:#18181b;stroke-width:3px}.escape-tender-rim{fill:#52525b;stroke:#a1a1aa;stroke-opacity:.42;stroke-width:2px}.escape-coal{fill:#18181b;stroke:#09090b;stroke-linejoin:round;stroke-width:2px}.escape-tender-highlight{stroke-opacity:.5;stroke-width:2px}.escape-coupler{fill:#a1a1aa;stroke:#27272a;stroke-width:2px}.escape-engine-body{fill:#be123c;stroke:#500724;stroke-width:3px}.escape-engine-highlight,.escape-boiler-highlight{fill:#fb7185;fill-opacity:.8}.escape-cab{fill:#881337;stroke:#500724;stroke-width:2px}.escape-cab-window{fill:#cbd5e1;stroke:#3f3f46;stroke-width:2px}.escape-cab-glint{fill:#fff;fill-opacity:.72}.escape-boiler{fill:#f43f5e;stroke:#881337;stroke-width:2px}.escape-boiler-band{fill:#fecdd3;fill-opacity:.72}.escape-boiler-line{stroke:#881337;stroke-width:3px}.escape-dome{fill:#fecdd3;stroke:#881337;stroke-width:2px}.escape-stack{fill:#9f1239;stroke:#500724;stroke-width:2px}.escape-stack-inner{fill:#27272a}.escape-cowcatcher{fill:#9f1239;stroke:#500724;stroke-linejoin:round;stroke-width:2px}.escape-headlight-glow{fill:#fff1f2;fill-opacity:.36}.escape-headlight{fill:#fff;stroke:#fecdd3;stroke-width:1.5px}.blocker-body{stroke:#e4e4e7;stroke-opacity:.24;stroke-width:2px}.blocker-roof-shadow{fill:#090a0d;fill-opacity:.34}.blocker-roof-highlight{fill:#fff;fill-opacity:.1;stroke:#fff;stroke-opacity:.11;stroke-width:1.5px}.blocker-centerline{fill:none;stroke:#090a0d;stroke-opacity:.44;stroke-width:2px}.blocker-window rect{fill:#d4d4d8;fill-opacity:.82;stroke:#27272a;stroke-width:1.5px}.blocker-front{fill:#18181b;fill-opacity:.85}.blocker-lamp{fill:#fff1f2;stroke:#881337;stroke-width:2px}.omni-blocker-frame{fill:#111216;stroke:#090a0d;stroke-width:8px}.omni-blocker-body{stroke:#e4e4e7;stroke-opacity:.45;stroke-width:5px}.omni-blocker-grid{fill:none;stroke:#090a0d;stroke-opacity:.35;stroke-width:8px}.omni-blocker-hub{fill:#27272a;fill-opacity:.86;stroke:#e4e4e7;stroke-opacity:.5;stroke-width:5px}.omni-blocker-arrows{fill:none;stroke:#fff1f2;stroke-linecap:round;stroke-linejoin:round;stroke-width:10px}.sidebar{flex-direction:column;gap:20px;display:flex}.panel-block{background:#18181bc2;border:1px solid #a1a1aa24;border-radius:18px;padding:18px}.panel-block h2{color:#f8fafc;margin:0 0 16px;font-size:1.1rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.stats-item{background:#3f3f462e;border:1px solid #a1a1aa24;border-radius:12px;flex-direction:column;gap:3px;min-width:0;padding:10px;display:flex}.stats-value{color:#fda4af;font-size:1.2rem;font-weight:800;line-height:1.2}.stats-label{color:#a1a1aa;letter-spacing:.04rem;text-transform:uppercase;font-size:.66rem}.reset-button{color:#f8fafc;cursor:pointer;background:linear-gradient(145deg,#be123c,#9f1239);border:none;border-radius:12px;transition:opacity .15s,transform .15s,filter .15s;box-shadow:0 5px 16px #9f123933}.reset-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.reset-button:hover{filter:brightness(1.15);transform:translateY(-1px)}.reset-button{width:100%;margin-top:18px;padding:12px 14px;font-weight:700}.board-reset{width:min(70vw,520px)}.board-controls{width:100%}.hint-button{margin-top:0}.hint-status{color:#d4d4d8;text-align:center;margin:8px 0 0;font-size:.85rem}.completion-backdrop{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090a0dd1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.completion-dialog{text-align:center;background:linear-gradient(145deg,#27272a,#18181b);border:1px solid #f43f5e5c;border-radius:24px;width:min(420px,100%);padding:32px;position:relative;box-shadow:0 24px 80px #00000080}.completion-close-button{color:#d4d4d8;cursor:pointer;background:#3f3f4659;border:1px solid #a1a1aa33;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;font-size:1.5rem;line-height:1;transition:background .15s,color .15s;display:grid;position:absolute;top:12px;right:12px}.completion-close-icon{width:14px;height:14px;position:relative}.completion-close-icon:before,.completion-close-icon:after{content:"";background:currentColor;border-radius:999px;width:100%;height:2px;position:absolute;top:50%;left:0}.completion-close-icon:before{transform:translateY(-50%)rotate(45deg)}.completion-close-icon:after{transform:translateY(-50%)rotate(-45deg)}.completion-close-button:hover{color:#fff1f2;background:#be123c47}.completion-close-button:focus-visible{outline-offset:3px;outline:2px solid #fb7185}.completion-dialog h2{color:#f8fafc;margin:0 0 8px;font-size:1.8rem}.completion-message{color:#d4d4d8}.share-result-feedback{margin:10px 0 0;font-size:.9rem}.share-result-feedback.copied{color:#86efac}.share-result-feedback.error{color:#fda4af}.completion-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.completion-stats>div{background:#3f3f463b;border:1px solid #a1a1aa2e;border-radius:16px;flex-direction:column;gap:4px;padding:16px 12px;display:flex}.stat-value{color:#f8fafc;font-size:1.8rem;font-weight:800}.stat-label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.08rem;font-size:.8rem}@media (width<=760px){.app-header{padding:12px 18px}.app-header-content{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.app-header-brand{grid-area:1/1}.app-header-brand .eyebrow{letter-spacing:.08rem;flex-direction:column;align-items:flex-start;gap:2px;font-size:.66rem;display:flex}.header-save-status{margin-top:2px}.date-separator,.date-timezone{display:none}.header-puzzle-date{white-space:nowrap;text-transform:uppercase}.header-tools{grid-area:1/2;place-self:center end}.app-title{grid-area:2/1/auto/-1;justify-self:center;font-size:clamp(1.45rem,6vw,2rem)}.game-panel{padding:18px}.play-area{grid-template-columns:1fr;display:grid}.play-status-actions{order:-1;justify-content:flex-start}.result-review-button{margin-left:auto}.header-status{align-items:flex-end}.app-footer{grid-template-columns:1fr auto;row-gap:10px}.footer-save-status{grid-area:2/1/auto/-1}.footer-development-toggle{justify-self:auto}.footer-actions{grid-area:1/2;justify-self:end;width:max-content;max-width:100%}.kofi-link{max-width:100%}.board,.board-reset{width:min(86vw,420px)}}.theme-toggle{color:#e4e4e7;cursor:pointer;white-space:nowrap;background:#27272ad1;border:1px solid #a1a1aa52;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.theme-toggle:focus-visible{outline-offset:3px;outline:2px solid #fb7185}.theme-toggle-track{background:#52525b;border-radius:999px;align-items:center;width:34px;height:20px;padding:2px;transition:background .18s;display:inline-flex}.theme-toggle-thumb{color:#3f3f46;background:#fafafa;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.7rem;line-height:1;transition:transform .18s;display:grid;transform:translate(0)}.theme-toggle[aria-checked=true] .theme-toggle-track{background:#be123c}.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translate(14px)}.theme-save-error{color:#fca5a5;margin:6px 0 0;font-size:.72rem}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] .app-header{background:#fafafaf0;border-bottom-color:#3f3f4624;box-shadow:0 8px 26px #27272a1a}:root[data-theme=light] .game-panel{background:linear-gradient(145deg,#fffffffa,#f4f4f5fa);border-color:#3f3f4624;box-shadow:0 24px 80px #27272a1f,inset 0 1px #fffc}:root[data-theme=light] h1,:root[data-theme=light] .panel-block h2,:root[data-theme=light] .completion-dialog h2,:root[data-theme=light] .stat-value{color:#27272a}:root[data-theme=light] .app-title,:root[data-theme=light] .eyebrow{color:#be123c}:root[data-theme=light] .status-pill.active{color:#9f1239;background:#e11d4814;border-color:#be123c3d}:root[data-theme=light] .status-pill.success{color:#166534;background:#22c55e1a;border-color:#16653438}:root[data-theme=light] .app-footer{color:#52525b;border-top-color:#3f3f462e}:root[data-theme=light] .footer-app-name{color:#3f3f46}:root[data-theme=light] .footer-copyright,:root[data-theme=light] .save-status{color:#71717a}:root[data-theme=light] .footer-privacy-button:hover{color:#9f1239}:root[data-theme=light] .kofi-link{color:#9f1239;background:#ffe4e6b8;border-color:#be123c3d}:root[data-theme=light] .kofi-link:hover{background:#ffe4e6;border-color:#be123c}:root[data-theme=light] .save-status.save-error,:root[data-theme=light] .theme-save-error{color:#b91c1c}:root[data-theme=light] .testing-tools{background:#e11d480b;border-color:#be123c40}:root[data-theme=light] .development-toggle,:root[data-theme=light] .development-reset{color:#9f1239;background:#fff1f2;border-color:#be123c4d}:root[data-theme=light] .development-toggle.active,:root[data-theme=light] .development-toggle:hover,:root[data-theme=light] .development-reset:not(:disabled):hover{background:#ffe4e6;border-color:#be123c}:root[data-theme=light] .test-picker{color:#9f1239}:root[data-theme=light] .test-picker select{color:#27272a;background:#fff;border-color:#be123c3d}:root[data-theme=light] .notice{color:#3f3f46}:root[data-theme=light] .warning-notice{color:#854d0e;background:#facc1524;border-color:#a1620742}:root[data-theme=light] .error-notice{color:#991b1b;background:#fee2e2cc;border-color:#b91c1c3d}:root[data-theme=light] .loading-message,:root[data-theme=light] .completion-message,:root[data-theme=light] .hint-status{color:#52525b}:root[data-theme=light] .board{background:#d4d4d8;border-color:#3f3f4633}:root[data-theme=light] .board-cell{background:linear-gradient(90deg,#0000 47%,#3f3f460b 48% 52%,#0000 53%),linear-gradient(#0000 47%,#3f3f460b 48% 52%,#0000 53%),#f4f4f5;border-color:#3f3f4617}:root[data-theme=light] .panel-block{background:#ffffffc7;border-color:#3f3f461f}:root[data-theme=light] .stats-item{background:#f4f4f5cc;border-color:#3f3f461f}:root[data-theme=light] .stats-value{color:#be123c}:root[data-theme=light] .stats-label,:root[data-theme=light] .stat-label{color:#71717a}:root[data-theme=light] .hint-status{color:#3f3f46}:root[data-theme=light] .completion-dialog{background:linear-gradient(145deg,#fff,#f4f4f5);border-color:#be123c38;box-shadow:0 24px 80px #27272a40}:root[data-theme=light] .completion-close-button{color:#52525b;background:#f4f4f5e6;border-color:#3f3f4629}:root[data-theme=light] .completion-close-button:hover{color:#9f1239;background:#ffe4e6}:root[data-theme=light] .completion-stats>div{background:#f4f4f5e6;border-color:#3f3f4621}:root[data-theme=light] .share-result-feedback.copied{color:#166534}:root[data-theme=light] .share-result-feedback.error{color:#b91c1c}:root[data-theme=light] .theme-toggle{color:#3f3f46;background:#fff;border-color:#3f3f4633}:root[data-theme=light] .theme-toggle-track{background:#a1a1aa}:root[data-theme=light] .theme-toggle[aria-checked=true] .theme-toggle-track{background:#be123c}.tutorial-backdrop{z-index:20;background:#090a0dc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.tutorial-dialog{color:#e4e4e7;text-align:center;background:linear-gradient(145deg,#27272a,#18181b);border:1px solid #f43f5e4d;border-radius:22px;width:min(540px,100%);max-height:calc(100vh - 40px);padding:clamp(22px,5vw,34px);overflow-y:auto;box-shadow:0 24px 80px #00000080}.tutorial-dialog h2{color:#f8fafc;margin:0;font-size:clamp(1.4rem,5vw,1.8rem);line-height:1.2}.tutorial-intro{color:#d4d4d8;margin:10px auto 18px;font-size:.95rem}.tutorial-board{aspect-ratio:1;background:#121317;border:1px solid #a1a1aa38;border-radius:14px;grid-template:repeat(6,1fr)/repeat(6,1fr);gap:4px;width:min(210px,56vw);margin:0 auto;padding:7px;display:grid;position:relative;overflow:hidden}.tutorial-cell{background:#222329;border:1px solid #a1a1aa14;border-radius:4px}.tutorial-demo-train{z-index:1;border:2px solid #ffffff3d;border-radius:7px;display:block}.tutorial-demo-blocker{will-change:transform;background:linear-gradient(145deg,#64748b,#334155);grid-area:2/3/span 2;animation:8s linear infinite tutorial-shunt}.tutorial-demo-escape{will-change:transform;background:linear-gradient(145deg,#fb7185,#be123c);grid-area:3/1/auto/span 2;animation:8s linear infinite tutorial-escape}.tutorial-exit{z-index:2;color:#fb7185;grid-area:3/6;place-self:center end;font-size:1.05rem;font-weight:900;transform:translate(5px)}.tutorial-caption{color:#a1a1aa;margin:10px 0 18px;font-size:.78rem}.tutorial-steps{text-align:left;gap:10px;margin:0;padding:0;list-style:none;display:grid}.tutorial-steps li{color:#d4d4d8;background:#3f3f4633;border:1px solid #a1a1aa24;border-radius:12px;padding:11px 13px;font-size:.86rem}.tutorial-steps strong{color:#fda4af}.tutorial-start{margin-top:18px}@keyframes tutorial-shunt{0%,12%{transform:translate(0,0)}24%,90%{transform:translateY(-50%)}to{transform:translate(0,0)}}@keyframes tutorial-escape{0%,30%{transform:translate(0,0)}46%,68%{transform:translate(200%)}80%,to{transform:translate(0,0)}}:root[data-theme=light] .tutorial-dialog{color:#3f3f46;background:linear-gradient(145deg,#fff,#f4f4f5);border-color:#be123c33}:root[data-theme=light] .tutorial-dialog h2{color:#27272a}:root[data-theme=light] .tutorial-intro,:root[data-theme=light] .tutorial-steps li{color:#52525b}:root[data-theme=light] .tutorial-caption{color:#71717a}:root[data-theme=light] .tutorial-steps li{background:#f4f4f5cc;border-color:#3f3f461f}:root[data-theme=light] .tutorial-steps strong{color:#9f1239}@media (prefers-reduced-motion:reduce){.tutorial-demo-blocker{will-change:auto;animation:none;transform:translateY(-50%)}.tutorial-demo-escape{will-change:auto;animation:none;transform:translate(200%)}}.privacy-notice{z-index:15;color:#d4d4d8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181bf7;border:1px solid #f43f5e47;border-radius:16px;align-items:flex-start;gap:14px;width:min(430px,100vw - 32px);max-height:min(70vh,520px);padding:16px;font-size:.78rem;display:flex;position:fixed;bottom:16px;right:16px;overflow-y:auto;box-shadow:0 12px 36px #00000059}.privacy-notice-copy{min-width:0}.privacy-notice-title{color:#fda4af;margin:0 0 4px;font-size:.88rem;font-weight:800}.privacy-notice-summary,.privacy-notice-details p{margin:0;line-height:1.5}.privacy-notice-details{color:#a1a1aa;gap:8px;margin-top:10px;display:grid}.privacy-notice-details strong{color:#e4e4e7}.privacy-notice-actions{flex:none;align-items:center;gap:6px;display:flex}.privacy-notice-actions button{color:#e4e4e7;cursor:pointer;font:inherit;background:#3f3f466b;border:1px solid #a1a1aa42;border-radius:9px;padding:7px 9px;font-weight:700}.privacy-notice-actions button:hover{border-color:#fb7185}.privacy-notice-actions button:focus-visible{outline-offset:2px;outline:2px solid #fb7185}.privacy-notice-actions .privacy-dismiss-button{color:#fff1f2;background:#9f1239;border-color:#be123c}.privacy-notice-error{color:#fca5a5;margin:8px 0 0}.privacy-dismiss-status{z-index:15;color:#fca5a5;max-width:min(430px,100vw - 32px);margin:0;font-size:.75rem;position:fixed;bottom:12px;right:16px}:root[data-theme=light] .privacy-notice{color:#3f3f46;background:#fffffff7;border-color:#be123c33;box-shadow:0 12px 36px #27272a33}:root[data-theme=light] .privacy-notice-title{color:#9f1239}:root[data-theme=light] .privacy-notice-details{color:#52525b}:root[data-theme=light] .privacy-notice-details strong{color:#27272a}:root[data-theme=light] .privacy-notice-actions button:not(.privacy-dismiss-button){color:#3f3f46;background:#f4f4f5;border-color:#3f3f462e}:root[data-theme=light] .privacy-notice-error,:root[data-theme=light] .privacy-dismiss-status{color:#b91c1c}@media (width<=480px){.privacy-notice{gap:8px;width:calc(100vw - 20px);padding:12px;bottom:10px;right:10px}.privacy-notice-actions{flex-direction:column}}
