html,body,#app{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;-webkit-text-size-adjust:100%;background:linear-gradient(180deg,#cfe4df 0,#cfe4df 55%,#4f6e70 55%,#4f6e70),#4f6e70;color:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--clinic-bg: #04121b;--clinic-panel: #062833;--clinic-panel-soft: #0b3a43;--clinic-line: rgba(125, 211, 199, .42);--clinic-line-bright: rgba(194, 255, 246, .72);--clinic-text: #f8fafc;--clinic-muted: rgba(203, 213, 225, .78);--clinic-yellow: #fde047;--clinic-red: #fb7185;--clinic-cyan: #67e8f9;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--control-bottom-offset: max(2px, calc(var(--safe-area-inset-bottom) - 56px));--outcome-bottom-offset: max(12px, calc(var(--safe-area-inset-bottom) - 48px))}@supports (height: 100dvh){html,body,#app{height:100dvh;min-height:100dvh}}canvas{display:block}.debug-overlay{position:fixed;display:none;bottom:54px;left:12px;z-index:10;min-width:214px;max-width:min(300px,calc(100vw - 24px));max-height:min(260px,calc(100vh - 92px));overflow:hidden;padding:8px 10px;border:1px solid rgba(125,211,199,.28);border-radius:8px;background:#05091494;color:#e2e8f0d1;box-shadow:0 14px 26px #02061738,inset 0 1px #ffffff14;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;line-height:1.35;white-space:pre;pointer-events:none}body.dr-jas-debug .debug-overlay{display:block}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18;display:grid;place-items:center;padding:22px;background:linear-gradient(180deg,#05101647,#02080ea8),linear-gradient(135deg,#7dd3c729,#fb71851a 42%,#02080e5c);opacity:0;pointer-events:none;transition:opacity .14s ease}.intro-overlay.is-open{opacity:1;pointer-events:auto}.intro-panel{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(206px,250px) minmax(0,1fr);width:min(820px,100%);border:1px solid var(--clinic-line-bright);border-radius:8px;background:linear-gradient(90deg,rgba(125,211,199,.09),transparent 34%),linear-gradient(180deg,#082932fa,#030e16fa);box-shadow:0 28px 80px #02061799,0 0 0 2px #082f4957,inset 0 1px #ffffff21;padding:20px;column-gap:22px;align-items:center}.intro-panel:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:-1;border:1px solid rgba(125,211,199,.18);border-radius:8px;background:repeating-linear-gradient(90deg,transparent 0 52px,rgba(125,211,199,.07) 52px 53px),repeating-linear-gradient(0deg,transparent 0 42px,rgba(251,113,133,.05) 42px 43px)}.intro-panel:after,.menu-panel:after,.help-panel:after{content:"";position:absolute;pointer-events:none;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--clinic-red),var(--clinic-yellow) 50%,var(--clinic-cyan));opacity:.86}.intro-lab-sheen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(118deg,transparent 0 30%,rgba(255,255,255,.09) 30% 38%,transparent 38%),radial-gradient(circle at 18% 78%,rgba(253,224,71,.16),transparent 170px);pointer-events:none}.intro-specimen{position:absolute;z-index:-1;width:74px;height:74px;border:1px solid rgba(226,232,240,.18);border-radius:50%;opacity:.72;filter:blur(.1px)}.intro-specimen:before,.intro-specimen:after{content:"";position:absolute;border-radius:inherit}.intro-specimen:before{top:14px;right:14px;bottom:14px;left:14px;background:#ffffff24}.intro-specimen:after{top:28px;right:18px;bottom:18px;left:28px;background:#02061738}.intro-specimen-red{right:44px;top:24px;background:#fb71854d;box-shadow:0 0 28px #fb718538}.intro-specimen-blue{right:168px;bottom:34px;width:52px;height:52px;background:#38bdf83d;box-shadow:0 0 26px #38bdf833}.intro-specimen-yellow{left:44px;bottom:30px;width:46px;height:46px;background:#facc1542;box-shadow:0 0 24px #facc1538}.character-card{position:relative;display:grid;place-items:end center;align-self:stretch;grid-row:span 5;min-height:312px;overflow:hidden;border:1px solid rgba(194,255,246,.42);border-radius:8px;background:linear-gradient(180deg,#e0f2f11f,#031017cc),radial-gradient(circle at 50% 24%,rgba(253,224,71,.14),transparent 140px),linear-gradient(90deg,rgba(251,113,133,.12),transparent 46%);box-shadow:inset 0 1px #ffffff24,inset 0 -18px 40px #0206173d}.character-card:before{content:"";position:absolute;left:14px;right:14px;bottom:14px;height:34px;border-radius:50%;background:#02061752;filter:blur(8px)}.character-badge{position:absolute;top:12px;left:12px;z-index:1;border:1px solid rgba(253,224,71,.54);border-radius:999px;background:#554610d1;color:#fef9c3;font:900 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;padding:6px 9px;text-transform:uppercase}.character-card .character-main{position:relative;display:block;width:min(92%,250px);max-height:322px;object-fit:contain;object-position:bottom center}.character-mood-strip{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;gap:6px;padding:5px;border:1px solid rgba(194,255,246,.2);border-radius:8px;background:#030d1480;box-shadow:inset 0 1px #ffffff14,0 10px 22px #02061738}.character-mood{display:block;width:38px;height:42px;border:1px solid rgba(125,211,199,.32);border-radius:8px;background:#e0f2f114;object-fit:cover;object-position:50% 18%;opacity:.7;filter:saturate(.9)}.character-mood.is-selected{border-color:#fde047eb;box-shadow:0 0 0 2px #fde04724;opacity:1;filter:saturate(1.08)}.intro-copy{border-left:5px solid var(--clinic-red);padding-left:14px}.brand-lockup{--brand-cap-red: #fb7185;--brand-cap-blue: #67e8f9;--brand-ink: #f8fafc;display:inline-flex;align-items:center;gap:.08em;width:fit-content;margin:0;color:var(--brand-ink);font-weight:950;letter-spacing:0;line-height:.86;text-shadow:0 4px 22px rgba(2,6,23,.54),0 0 16px rgba(125,211,199,.22)}.brand-letter{display:inline-block}.brand-capsule{position:relative;display:inline-block;width:.62em;height:.24em;flex:0 0 auto;border:.035em solid rgba(248,250,252,.72);border-radius:999px;background:linear-gradient(90deg,var(--brand-cap-red) 0 50%,var(--brand-cap-blue) 50%);box-shadow:inset 0 .04em #ffffff57,inset 0 -.08em .16em #0f172a4d,0 .08em .22em #02061752;transform:translateY(.015em)}.brand-capsule:after{content:"";position:absolute;top:12%;bottom:12%;left:50%;width:.035em;background:#0f172a8a;transform:translate(-50%)}.brand-lockup-intro{margin:2px 0 6px;font-size:56px}.brand-lockup-menu{font-size:28px}.brand-lockup-preview{margin:4px 0 10px;font-size:50px}.intro-copy p{margin:0;color:#e2e8f0e6;font:800 14px/1.25 Inter,ui-sans-serif,system-ui,sans-serif}.intro-copy .intro-character{margin-bottom:4px;color:#bae6fd;font-size:15px;text-transform:uppercase}.intro-tagline{margin-bottom:6px!important;color:#fff7ed!important;font-size:17px!important}.intro-kicker{color:var(--clinic-yellow)!important;text-transform:uppercase;letter-spacing:0}.intro-notes,.intro-capsule-preview,.clinic-route{grid-column:2}.intro-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.intro-note{border:1px solid rgba(226,232,240,.18);border-radius:8px;background:#030d1480;color:#f8fafcdb;font:900 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;padding:7px 9px;text-transform:uppercase}.intro-note-red{border-color:#fb718561;color:#fecdd3}.intro-note-yellow{border-color:#fde04761;color:#fef3c7}.intro-note-blue{border-color:#67e8f961;color:#cffafe}.intro-capsule-preview{display:flex;gap:8px;align-items:center;height:34px;margin-top:14px}.clinic-route{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}.route-node{display:grid;align-content:center;justify-items:center;min-width:0;min-height:48px;border:1px solid rgba(125,211,199,.34);border-radius:8px;background:linear-gradient(180deg,#082831eb,#020d15eb),#030d14c7;color:#e2e8f0db;padding:6px 4px}.route-node span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#0206175c;color:#e0faff;font:900 11px/1 Inter,ui-sans-serif,system-ui,sans-serif}.route-node strong{width:100%;margin-top:5px;overflow:hidden;color:inherit;font:900 9px/1.05 Inter,ui-sans-serif,system-ui,sans-serif;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.route-node.is-complete{border-color:#73f7c88a;background:linear-gradient(180deg,#105e4ce0,#02221feb),#030d14c7;color:#d1fae5}.route-node.is-current{border-color:#fde047cc;background:linear-gradient(180deg,#6f5a16f0,#332b0ff0),#030d14c7;color:#fff7cf;box-shadow:0 0 0 2px #fde0471a,0 8px 18px #0206172e}.route-node.is-current span,.route-node.is-complete span{background:#02061775}.intro-pill{position:relative;width:56px;height:24px;border-radius:999px;background:#f8fafc;box-shadow:inset 0 2px #ffffff61,inset 0 -4px 10px #0f172a52,0 8px 18px #02061742}.intro-pill:after{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:1px;background:#0f172a61}.intro-pill-red{background:linear-gradient(90deg,#fb7185 0,#fb7185 50%,#67e8f9 50%)}.intro-pill-blue{background:linear-gradient(90deg,#38bdf8 0,#38bdf8 50%,#fde047 50%)}.intro-pill-yellow{background:linear-gradient(90deg,#fde047 0,#fde047 50%,#fb7185 50%)}.intro-actions,.intro-difficulty,.player-field{grid-column:2;display:grid;gap:10px;margin-top:16px}.intro-actions{grid-template-columns:1fr minmax(96px,auto) minmax(80px,auto)}.intro-difficulty{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.player-field{grid-template-columns:72px 1fr;align-items:center;margin-top:12px}.player-field span{color:#f1f5f9db;font:800 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;text-transform:uppercase}.player-field input{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:38px;box-sizing:border-box;width:100%;border:1px solid rgba(125,211,199,.48);border-radius:8px;background:#020a12b8;color:#f8fafc;font:800 16px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;padding:0 12px;touch-action:manipulation}.player-field input:focus-visible{outline:2px solid #fde047;outline-offset:2px}.intro-panel button{min-height:42px;border:1px solid rgba(125,211,199,.5);border-radius:8px;background:linear-gradient(180deg,#1d6f74f5,#0a4652f5),#195b60e6;color:#ecfeff;font:800 13px/1 Inter,ui-sans-serif,system-ui,sans-serif;padding:0 12px}.intro-panel button:focus-visible{outline:2px solid #fde047;outline-offset:2px}.intro-panel button.is-selected{border-color:#fde047db;background:linear-gradient(180deg,#6e5814fa,#43350ef5)}.intro-panel .intro-start{border-color:#fb7185b8;background:linear-gradient(145deg,#fb7185f5,#7e3449f5 48%,#0c565ef5);color:#fff7f8;font-size:15px}.preview-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:22px;background:linear-gradient(180deg,#030a11f0,#041216f0),radial-gradient(circle at 18% 22%,rgba(251,113,133,.2),transparent 220px),radial-gradient(circle at 84% 76%,rgba(103,232,249,.18),transparent 240px)}.preview-gate-panel{box-sizing:border-box;position:relative;overflow:hidden;width:min(430px,100%);border:1px solid rgba(194,255,246,.5);border-radius:8px;background:linear-gradient(180deg,#092d36fc,#020c14fc),repeating-linear-gradient(90deg,transparent 0 44px,rgba(125,211,199,.055) 44px 45px);box-shadow:0 24px 70px #0000008a,0 0 0 1px #7dd3c724,inset 0 1px #ffffff21;padding:22px}.preview-gate-panel:after{content:"";position:absolute;pointer-events:none;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--clinic-red),var(--clinic-yellow) 50%,var(--clinic-cyan));opacity:.86}.preview-gate-kicker{margin:0;color:#fde047;font:900 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;text-transform:uppercase}.preview-gate-copy{margin:0 0 16px;color:#f1f5f9e0;font:750 14px/1.45 Inter,ui-sans-serif,system-ui,sans-serif}.preview-gate-field{display:grid;gap:8px}.preview-gate-field span{color:#f1f5f9db;font:850 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;text-transform:uppercase}.preview-gate-field input{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:44px;box-sizing:border-box;width:100%;border:1px solid rgba(125,211,199,.52);border-radius:8px;background:#020a12c2;color:#f8fafc;font:850 18px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;padding:0 12px}.preview-gate-error{min-height:18px;margin:8px 0 10px;color:#fecdd3;font:800 12px/1.35 Inter,ui-sans-serif,system-ui,sans-serif}.preview-gate-panel button{width:100%;min-height:44px;border:1px solid rgba(251,113,133,.72);border-radius:8px;background:linear-gradient(145deg,#fb7185f5,#7e3449f5 48%,#0c565ef5);color:#fff7f8;font:900 14px/1 Inter,ui-sans-serif,system-ui,sans-serif}.preview-gate-field input:focus-visible,.preview-gate-panel button:focus-visible{outline:2px solid #fde047;outline-offset:2px}.menu-overlay,.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#030a11ed,#041216e6),linear-gradient(135deg,rgba(251,113,133,.12),transparent 38%,rgba(56,189,248,.1));-webkit-backdrop-filter:blur(8px) saturate(1.08);backdrop-filter:blur(8px) saturate(1.08);opacity:0;pointer-events:none;transition:opacity .14s ease}.menu-overlay{z-index:20}.help-overlay{z-index:24}.menu-overlay.is-open,.help-overlay.is-open{opacity:1;pointer-events:auto}.menu-panel,.help-panel{position:relative;overflow:hidden;box-sizing:border-box;border:1px solid rgba(194,255,246,.5);border-radius:8px;background:linear-gradient(180deg,#092d36fc,#020c14fc),repeating-linear-gradient(90deg,transparent 0 44px,rgba(125,211,199,.055) 44px 45px);box-shadow:0 24px 70px #0000008a,0 0 0 1px #7dd3c724,inset 0 1px #ffffff21;padding:18px}.menu-panel{width:min(460px,100%)}.help-panel{width:min(980px,100%);max-height:min(820px,calc(100svh - 48px));overflow-y:auto;overscroll-behavior:contain}.help-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(125,211,199,.28)}.help-head h2{margin:4px 0 0;color:#f8fafc;font:950 25px/1.05 Inter,ui-sans-serif,system-ui,sans-serif}.help-kicker{margin:0;color:#fde047;font:900 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;text-transform:uppercase}.help-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.94fr);gap:14px;align-items:start}.help-section,.help-shot{min-width:0;border:1px solid rgba(125,211,199,.3);border-radius:8px;background:#020a126b;box-shadow:inset 0 1px #ffffff12}.help-section{padding:14px}.help-section-wide{grid-column:1 / -1}.help-section h3{margin:0 0 8px;color:#bae6fd;font:950 15px/1 Inter,ui-sans-serif,system-ui,sans-serif;text-transform:uppercase}.help-section p,.help-section li,.help-controls dd{color:#f1f5f9e0;font:700 14px/1.42 Inter,ui-sans-serif,system-ui,sans-serif}.help-section p{margin:0}.help-section ul,.help-section ol{display:grid;gap:6px;margin:10px 0 0;padding-left:20px}.help-section strong{color:#fff7cf}.help-controls{display:grid;gap:8px;margin:0}.help-controls div{display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:start}.help-controls dt{color:#fde047;font:900 12px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;text-transform:uppercase}.help-controls dd{margin:0}.help-shot{overflow:hidden;margin:0}.help-shot img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;background:#02061780}.help-shot-install img{aspect-ratio:16 / 8.5}.help-shot figcaption{padding:9px 12px 11px;border-top:1px solid rgba(125,211,199,.18);color:#e2e8f0c2;font:800 12px/1.35 Inter,ui-sans-serif,system-ui,sans-serif}.menu-head,.menu-grid,.menu-difficulty,.menu-control-layout,.menu-round{display:grid;gap:10px}.menu-head{grid-template-columns:54px 1fr auto;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(125,211,199,.28)}.menu-character{width:48px;height:54px;object-fit:contain;object-position:center top;border:1px solid rgba(194,255,246,.4);border-radius:8px;background:radial-gradient(circle at 50% 18%,rgba(253,224,71,.14),transparent 32px),#030d148a;box-shadow:inset 0 1px #ffffff1a,0 10px 24px #02061738}.menu-head h1{margin:0;line-height:1;text-shadow:0 3px 16px rgba(2,6,23,.5)}.menu-head p,.menu-foot{margin:6px 0 0;color:#f1f5f9e0;font-size:14px}.menu-foot{padding-top:10px;border-top:1px solid rgba(125,211,199,.16);color:#cbd5e1b8}.menu-grid,.menu-difficulty{margin-top:12px}.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.menu-difficulty{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-control-layout{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.menu-control-layout button{padding-inline:8px}.menu-round{grid-template-columns:minmax(86px,auto) 1fr minmax(86px,auto);align-items:center;margin-top:12px}.menu-round span{min-height:38px;display:grid;place-items:center;border:1px solid rgba(125,211,199,.34);border-radius:8px;background:#030d1457;color:#ecfeff;font:800 13px/1 Inter,ui-sans-serif,system-ui,sans-serif}.menu-panel button,.help-panel button,.touch-controls button{border:1px solid rgba(125,211,199,.54);border-radius:8px;background:linear-gradient(180deg,#287b7ef5,#0d4c56f5),#195b60e0;color:#ecfeff;font:850 13px/1 Inter,ui-sans-serif,system-ui,sans-serif;min-height:38px;padding:0 12px;box-shadow:inset 0 1px #ffffff1f,0 8px 18px #0206172e}.menu-scores{margin-top:12px;border:1px solid rgba(125,211,199,.32);border-radius:8px;background:#020a126b;padding:10px 12px}.menu-scores h2{margin:0 0 8px;color:#fde047;font:900 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;text-transform:uppercase}.menu-scores ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.menu-scores li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;min-height:22px;color:#f1f5f9e6;font:800 12px/1.1 Inter,ui-sans-serif,system-ui,sans-serif}.menu-scores li.is-empty{grid-template-columns:1fr;color:#e2e8f0ad}.menu-scores strong{color:#f8fafc}.menu-scores em{color:#7dd3c7db;font-style:normal;text-transform:uppercase}.menu-panel button:focus-visible,.help-panel button:focus-visible,.touch-controls button:focus-visible{outline:2px solid #fde047;outline-offset:2px}.menu-panel button.is-selected{border-color:#fde047cc;background:linear-gradient(180deg,#6f5a16fa,#423610f5),#504212e6;color:#fff7cf;box-shadow:inset 0 1px #ffffff1f,0 0 0 2px #fde0471a,0 8px 18px #02061733}.touch-controls{position:fixed;left:50%;bottom:14px;z-index:12;display:none;grid-template-columns:repeat(7,minmax(42px,1fr));gap:8px;width:min(540px,calc(100vw - 24px));transform:translate(-50%);pointer-events:auto}.touch-controls.is-compact{display:grid}.touch-controls.is-portrait{bottom:var(--control-bottom-offset);grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,52px);gap:8px;width:min(430px,calc(100vw - 20px))}.touch-controls button{min-height:42px;padding:0 8px}.touch-controls .touch-left{grid-column:1;grid-row:1}.touch-controls .touch-right{grid-column:2;grid-row:1}.touch-controls .touch-counter{grid-column:3;grid-row:1}.touch-controls .touch-clock{grid-column:4;grid-row:1}.touch-controls .touch-down{grid-column:5;grid-row:1}.touch-controls .touch-drop{grid-column:6;grid-row:1}.touch-controls .touch-menu{grid-column:7;grid-row:1}.touch-controls.is-portrait .touch-left{grid-column:1 / 3;grid-row:2}.touch-controls.is-portrait .touch-down{grid-column:2;grid-row:1}.touch-controls.is-portrait .touch-right{grid-column:3 / 5;grid-row:2}.touch-controls.is-portrait .touch-counter{grid-column:4;grid-row:1}.touch-controls.is-portrait .touch-clock{grid-column:5;grid-row:1}.touch-controls.is-portrait .touch-menu{grid-column:1;grid-row:1}.touch-controls.is-portrait .touch-drop{grid-column:5 / 7;grid-row:2}.touch-controls.is-portrait[data-touch-layout=leftThumb] .touch-counter{grid-column:1;grid-row:1}.touch-controls.is-portrait[data-touch-layout=leftThumb] .touch-clock{grid-column:2;grid-row:1}.touch-controls.is-portrait[data-touch-layout=leftThumb] .touch-drop{grid-column:1 / 4;grid-row:2}.touch-controls.is-portrait[data-touch-layout=leftThumb] .touch-left{grid-column:4;grid-row:2}.touch-controls.is-portrait[data-touch-layout=leftThumb] .touch-down{grid-column:5;grid-row:2}.touch-controls.is-portrait[data-touch-layout=leftThumb] .touch-right{grid-column:6;grid-row:2}.touch-controls.is-portrait[data-touch-layout=leftThumb] .touch-menu{grid-column:6;grid-row:1}.touch-controls.is-portrait[data-touch-layout=splitHands] .touch-left{grid-column:1 / 3;grid-row:2}.touch-controls.is-portrait[data-touch-layout=splitHands] .touch-down{grid-column:3;grid-row:1}.touch-controls.is-portrait[data-touch-layout=splitHands] .touch-right{grid-column:3 / 5;grid-row:2}.touch-controls.is-portrait[data-touch-layout=splitHands] .touch-counter{grid-column:4;grid-row:1}.touch-controls.is-portrait[data-touch-layout=splitHands] .touch-clock{grid-column:5;grid-row:1}.touch-controls.is-portrait[data-touch-layout=splitHands] .touch-drop{grid-column:5 / 7;grid-row:2}.touch-controls.is-portrait[data-touch-layout=splitHands] .touch-menu{grid-column:1;grid-row:1}.touch-controls.is-portrait[data-touch-layout=classicRow]{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:52px}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-left,.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-counter,.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-down,.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-clock,.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-right,.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-drop,.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-menu{grid-row:1}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-left{grid-column:2}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-counter{grid-column:3}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-down{grid-column:4}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-clock{grid-column:5}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-right{grid-column:6}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-drop{grid-column:7}.touch-controls.is-portrait[data-touch-layout=classicRow] .touch-menu{grid-column:1}.touch-controls.is-landscape{top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;transform:none;pointer-events:none}.touch-controls.is-landscape button{position:absolute;width:48px;min-height:48px;padding:0 8px;pointer-events:auto}.touch-controls.is-landscape .touch-left{left:12px;top:calc(50% - 24px)}.touch-controls.is-landscape .touch-down{left:62px;top:calc(50% + 58px)}.touch-controls.is-landscape .touch-right{left:112px;top:calc(50% - 24px)}.touch-controls.is-landscape .touch-counter{right:112px;top:calc(50% - 24px)}.touch-controls.is-landscape .touch-clock{right:62px;top:calc(50% - 24px)}.touch-controls.is-landscape .touch-drop{right:12px;top:calc(50% + 25px)}.touch-controls.is-landscape .touch-menu{left:16px;right:auto;top:calc(14px + var(--safe-area-inset-top))}.touch-controls.is-landscape[data-touch-layout=leftThumb] .touch-counter{left:12px;top:calc(50% - 24px)}.touch-controls.is-landscape[data-touch-layout=leftThumb] .touch-clock{left:62px;top:calc(50% - 24px)}.touch-controls.is-landscape[data-touch-layout=leftThumb] .touch-drop{left:112px;top:calc(50% + 25px)}.touch-controls.is-landscape[data-touch-layout=leftThumb] .touch-left{right:112px;left:auto;top:calc(50% - 24px)}.touch-controls.is-landscape[data-touch-layout=leftThumb] .touch-down{right:62px;left:auto;top:calc(50% + 58px)}.touch-controls.is-landscape[data-touch-layout=leftThumb] .touch-right{right:12px;left:auto;top:calc(50% - 24px)}.touch-controls.is-landscape[data-touch-layout=leftThumb] .touch-menu{right:16px;left:auto;top:calc(14px + var(--safe-area-inset-top))}.touch-controls.is-landscape[data-touch-layout=classicRow] .touch-left{left:10px;top:calc(100% - 58px)}.touch-controls.is-landscape[data-touch-layout=classicRow] .touch-counter{left:60px;top:calc(100% - 58px)}.touch-controls.is-landscape[data-touch-layout=classicRow] .touch-down{left:110px;top:calc(100% - 58px)}.touch-controls.is-landscape[data-touch-layout=classicRow] .touch-clock{right:110px;top:calc(100% - 58px)}.touch-controls.is-landscape[data-touch-layout=classicRow] .touch-right{right:60px;left:auto;top:calc(100% - 58px)}.touch-controls.is-landscape[data-touch-layout=classicRow] .touch-drop{right:10px;top:calc(100% - 58px)}.touch-controls.is-landscape[data-touch-layout=classicRow] .touch-menu{left:16px;right:auto;top:calc(14px + var(--safe-area-inset-top))}.touch-controls.is-compact button{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(194,255,246,.5);border-radius:12px;background:linear-gradient(180deg,rgba(226,255,250,.24),transparent 42%),linear-gradient(145deg,#1b7a80db,#083a46f5);color:#f1fffd;box-shadow:0 10px 22px #02061752,0 0 0 1px #1ab7b12e,inset 0 1px #ffffff3d,inset 0 -6px 16px #02172257;font-size:20px;line-height:1;text-shadow:0 2px 8px rgba(2,6,23,.42);touch-action:manipulation;transition:transform 80ms ease,border-color .12s ease,box-shadow .12s ease,filter .12s ease}.touch-controls.is-compact button:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;z-index:-1;border-radius:inherit;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 54%)}.touch-controls.is-compact button:after{content:"";position:absolute;left:20%;right:20%;top:8px;height:3px;border-radius:999px;background:#cffffaa3;box-shadow:0 0 12px #67e8f957}.touch-controls.is-compact button:active{transform:translateY(2px) scale(.98);border-color:#fde047b8;box-shadow:0 6px 12px #0206174d,0 0 0 1px #fde04742,inset 0 3px 12px #02172257;filter:brightness(1.08)}.touch-controls.is-landscape button{position:absolute}.touch-controls.is-compact .touch-drop,.touch-controls.is-compact .touch-menu{font-size:24px;letter-spacing:0}.touch-controls.is-compact .touch-drop{border-radius:12px;background:linear-gradient(180deg,rgba(253,224,71,.26),transparent 46%),linear-gradient(145deg,#6f5a16eb,#073441f5);color:#fffbe6;font-size:24px}.touch-controls.is-compact .touch-menu{font-size:22px}.touch-controls.is-compact .touch-left,.touch-controls.is-compact .touch-down,.touch-controls.is-compact .touch-right{background:linear-gradient(180deg,rgba(208,249,245,.22),transparent 42%),linear-gradient(145deg,#136f76e0,#072d3ef5)}.touch-controls.is-compact .touch-counter,.touch-controls.is-compact .touch-clock{background:linear-gradient(180deg,rgba(211,237,255,.22),transparent 42%),linear-gradient(145deg,#125b76e0,#082d46f5)}@media(max-width:430px){.touch-controls.is-portrait{grid-template-rows:repeat(2,50px);gap:7px}.menu-control-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.touch-controls.is-compact button{min-height:50px}}@media(pointer:coarse){.touch-controls{display:grid}.touch-controls.is-landscape{display:block}.debug-overlay{display:none}}.touch-controls.is-compact:not(.is-started){display:none}.touch-controls.is-outcome{display:none}.outcome-actions{position:fixed;left:50%;bottom:var(--outcome-bottom-offset);z-index:16;display:none;grid-template-columns:repeat(3,minmax(86px,1fr));gap:10px;width:min(420px,calc(100vw - 28px));transform:translate(-50%)}.outcome-actions.is-open{display:grid}.outcome-actions button{min-height:42px;border:1px solid rgba(125,211,199,.54);border-radius:8px;background:linear-gradient(180deg,#287b7ef5,#0d4c56f5),#195b60e6;color:#ecfeff;font:850 13px/1 Inter,ui-sans-serif,system-ui,sans-serif;padding:0 12px;box-shadow:inset 0 1px #ffffff1f,0 10px 22px #0206173d}.outcome-actions .outcome-primary{border-color:#fb7185b8;background:linear-gradient(145deg,#fb7185f5,#7e3449f5 48%,#0c565ef5)}.outcome-actions button:focus-visible{outline:2px solid #fde047;outline-offset:2px}@media(max-width:700px)and (orientation:portrait){.intro-panel{grid-template-columns:134px minmax(0,1fr);width:min(520px,calc(100vw - 28px));padding:14px;column-gap:12px;row-gap:12px}.character-card{grid-row:span 3;min-height:198px}.character-card .character-main{width:122px;max-height:198px}.character-mood-strip{right:7px;bottom:7px;gap:4px;padding:4px}.character-mood{width:30px;height:34px}.character-badge{top:8px;left:8px;font-size:9px;padding:5px 7px}.brand-lockup-intro{font-size:34px;margin-bottom:5px}.intro-copy{padding-left:12px}.intro-copy p,.intro-copy .intro-character{font-size:12px}.intro-tagline{font-size:13px!important}.intro-notes{display:none}.intro-capsule-preview{grid-column:1 / -1;justify-content:center;margin-top:0}.clinic-route{grid-column:1 / -1;margin-top:0}.intro-pill{width:46px;height:20px}.intro-actions,.intro-difficulty,.player-field{grid-column:1 / -1;margin-top:0}.intro-actions{grid-template-columns:1fr}.help-overlay{padding:12px}.help-panel{max-height:calc(100svh - 24px);padding:14px}.help-head,.help-grid{grid-template-columns:1fr}.help-section-wide{grid-column:auto}.player-field{grid-template-columns:72px 1fr}}@media(max-width:430px){.intro-panel{width:min(349px,calc(100vw - 28px));grid-template-columns:118px minmax(0,1fr)}.character-card{min-height:170px}.character-card .character-main{width:108px;max-height:170px}.character-mood{width:27px;height:31px}.brand-lockup-intro{font-size:30px}}@media(max-height:520px)and (orientation:landscape){.intro-overlay{padding:10px}.intro-panel{grid-template-columns:132px minmax(0,1fr);width:min(610px,100%);padding:8px 10px;column-gap:10px}.character-card{place-items:center;grid-row:span 5;min-height:140px}.character-card .character-main{width:118px;max-height:146px}.character-badge,.character-mood-strip,.intro-specimen,.intro-notes{display:none}.brand-lockup-intro{font-size:29px;margin-bottom:3px}.intro-copy p{font-size:11px}.intro-copy .intro-character{margin-bottom:2px;font-size:12px}.intro-tagline{font-size:12px!important}.intro-capsule-preview{margin-top:5px;height:24px}.clinic-route{margin-top:5px}.intro-panel .clinic-route{display:none}.route-node{min-height:30px;padding:3px 2px}.route-node span{width:16px;height:16px;font-size:9px}.route-node strong{margin-top:3px;font-size:7px}.intro-pill{width:42px;height:18px}.intro-actions,.intro-difficulty,.player-field{gap:7px;margin-top:7px}.intro-panel button,.player-field input{min-height:29px}.intro-panel button{font-size:12px}.help-overlay,.menu-overlay{padding:10px;align-items:start}.menu-panel,.help-panel{width:min(590px,calc(100vw - 118px));max-height:calc(100svh - 20px);overflow-y:auto;overscroll-behavior:contain;padding:8px 10px}.menu-head{grid-template-columns:40px 1fr auto;margin-bottom:6px;padding-bottom:6px}.menu-character{width:40px;height:40px}.menu-head h1{font-size:22px}.menu-head p,.menu-foot{font-size:10px;margin-top:2px}.menu-grid,.menu-difficulty,.menu-control-layout,.menu-round,.clinic-route,.player-field,.menu-scores{gap:6px;margin-top:5px}.menu-panel button,.menu-round span,.player-field input{min-height:28px}.menu-panel button{font-size:12px}.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.help-head{grid-template-columns:1fr auto;margin-bottom:8px;padding-bottom:8px}.help-head h2{font-size:18px}.help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.help-section,.help-shot figcaption{padding:8px}.help-section h3{margin-bottom:5px;font-size:12px}.help-section p,.help-section li,.help-controls dd{font-size:11px;line-height:1.28}.help-section ul,.help-section ol{gap:3px;margin-top:5px}.help-controls{gap:5px}.help-controls div{grid-template-columns:54px 1fr;gap:6px}.help-controls dt,.help-shot figcaption{font-size:10px}.help-section-wide{grid-column:1 / -1}.player-field{grid-template-columns:64px 1fr}.player-field span{font-size:10px}.menu-scores{display:none}}
