:root{--arcade-success:oklch(43% .105 163);--arcade-success-soft:oklch(95% .025 163);--arcade-rose:oklch(47% .12 10);--arcade-rose-soft:oklch(96% .025 10);--arcade-blue:oklch(46% .1 245);--arcade-blue-soft:oklch(95% .025 245);--arcade-gold:var(--accent-signal);--arcade-gold-soft:var(--accent-soft);--arcade-shadow:0 8px 24px color-mix(in oklch,var(--primary) 6%,transparent)}.arcade-hub{max-width:1120px;padding-top:64px;padding-bottom:60px}.arcade-kicker{font:11px var(--font-mono);color:var(--muted-foreground);align-items:center;gap:8px;display:inline-flex}.arcade-kicker svg{width:15px;height:15px}.arcade-intro h1{text-wrap:balance;max-width:850px;margin:22px 0 16px;font-size:64px;line-height:1.08}.arcade-intro h1 span{color:var(--arcade-success)}.arcade-intro>p:last-child{color:var(--muted-foreground);font-size:18px}.daily-banner{border-block:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:36px;padding:22px 0;display:grid}.daily-banner strong{margin-top:10px;font-size:15px;display:block}.daily-banner strong span{color:var(--muted-foreground);font-weight:400}.daily-clock{text-align:right}.daily-clock small{font:9px var(--font-mono);color:var(--muted-foreground);display:block}.daily-clock>span{font:26px var(--font-mono);font-variant-numeric:tabular-nums;margin-top:4px;display:block}.arcade-mode{gap:8px;margin:28px 0;display:flex}.arcade-mode button{min-height:44px}.arcade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.arcade-card{border:1px solid var(--border);background:var(--card);border-radius:8px;min-width:0;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.game-triage{--game-color:var(--arcade-rose);--game-soft:var(--arcade-rose-soft)}.game-privilege{--game-color:var(--arcade-success);--game-soft:var(--arcade-success-soft)}.game-packet{--game-color:var(--arcade-blue);--game-soft:var(--arcade-blue-soft)}.game-recall{--game-color:var(--arcade-gold);--game-soft:var(--arcade-gold-soft)}.card-topline{font:10px var(--font-mono);color:var(--muted-foreground);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:20px 24px 0;display:grid}.simulated-tag{font:9px var(--font-mono);border:1px solid var(--border);color:var(--muted-foreground);border-radius:4px;padding:4px 8px}.arcade-preview{height:185px;color:var(--game-color);place-items:center;padding:20px 48px;display:grid}.arcade-preview svg{width:100%;max-width:280px;height:100%;overflow:visible}.preview-triage ellipse{fill:var(--game-soft);stroke:var(--game-color);stroke-width:1.2px}.preview-triage circle{fill:var(--game-color)}.arcade-card-copy{padding:0 24px 24px}.arcade-card h2{font-size:27px}.arcade-card-copy>p{color:var(--muted-foreground);margin-top:8px;font-size:14px}.arcade-card-stats{font:10px var(--font-mono);color:var(--muted-foreground);gap:18px;margin:20px 0;display:flex}.arcade-card-stats>span{align-items:center;gap:6px;display:flex}.arcade-card-stats svg{width:13px;height:13px}.arcade-play{width:100%;min-height:48px;color:var(--game-color);border-color:var(--game-color);justify-content:flex-start}.arcade-play svg:last-child{margin-left:auto}.arcade-play:hover{background:var(--game-soft)}.preview-ledger{gap:10px;width:100%;max-width:250px;display:grid}.preview-ledger>div{font:12px var(--font-mono);grid-template-columns:1fr repeat(3,32px);align-items:center;gap:10px;display:grid}.preview-ledger i{border:1px solid var(--border);background:var(--surface-raised);border-radius:4px;height:27px}.preview-ledger .selected{background:var(--game-color);border-color:var(--game-color)}.preview-packet path{fill:none;stroke:var(--game-color);stroke-width:4px;stroke-linecap:round}.preview-packet circle:first-child{fill:var(--game-soft);stroke:var(--game-color);stroke-width:2px}.preview-packet circle:nth-child(2){fill:var(--game-color)}.preview-memory{grid-template-columns:1fr 1fr;gap:10px;width:180px;display:grid}.preview-memory span{border:1px solid var(--border);border-radius:6px;place-items:center;height:65px;font-size:34px;display:grid}.pad-0{--pad-color:var(--arcade-rose);--pad-soft:var(--arcade-rose-soft)}.pad-1{--pad-color:var(--arcade-blue);--pad-soft:var(--arcade-blue-soft)}.pad-2{--pad-color:var(--arcade-success);--pad-soft:var(--arcade-success-soft)}.pad-3{--pad-color:var(--arcade-gold);--pad-soft:var(--arcade-gold-soft)}.preview-memory span{background:var(--pad-soft);color:var(--pad-color)}.lab-story{border-block:1px solid var(--border);grid-template-columns:1fr 1fr;gap:48px;margin-top:64px;padding:42px 0;display:grid}.lab-story h2{margin-top:20px;font-size:34px}.lab-story p{color:var(--muted-foreground);font-size:16px;line-height:1.75}.lab-story p+p{margin-top:16px}.lab-story a{min-height:44px;margin-top:14px;padding-left:0}.arcade-privacy,.session-footnote{color:var(--muted-foreground);margin-top:24px;font-size:12px;line-height:1.7}.streak-history{color:var(--game-color);gap:6px;margin-top:12px;font-size:12px;display:flex}.arcade-session{max-width:780px;margin:auto;scroll-margin-top:110px;outline:none!important}.session-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.session-heading>button{justify-self:start;min-height:44px;padding-left:0}.session-icons{gap:8px;display:flex}.session-icons button{width:44px;height:44px;padding:0}.session-title{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin:26px 0;display:grid}.session-title h2{margin-top:10px;font-size:38px}.session-level{font:12px var(--font-mono);color:var(--game-color);background:var(--game-soft);border:1px solid var(--game-color);white-space:nowrap;border-radius:4px;padding:8px 12px}.game-hud{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 0;display:grid}.game-hud>div{min-width:0}.game-hud small{font:10px var(--font-mono);color:var(--muted-foreground);display:block}.game-hud strong{font:28px var(--font-heading);margin-top:4px;display:block}.game-hud strong span{color:var(--game-color);font-size:17px}.play-surface{touch-action:manipulation;overscroll-behavior:contain;min-height:420px;padding:52px 0 12px;position:relative}.play-surface button,.arcade-hub button{touch-action:manipulation;min-height:44px}.combo-feedback{text-align:center;font:13px var(--font-mono);min-height:24px;color:var(--muted-foreground);pointer-events:none;position:absolute;top:14px;left:0;right:0}.combo-feedback.good{color:var(--game-color);animation:.45s ease-out combo-pop}.combo-feedback.miss{animation:.22s ease-out lite-shake}.spark{background:var(--game-color);border-radius:50%;width:4px;height:4px;animation:.6s ease-out both spark-pop;position:absolute;top:12px;left:50%}.spark-0{--sx:-70px;--sy:-10px}.spark-1{--sx:70px;--sy:-10px}.spark-2{--sx:-55px;--sy:20px}.spark-3{--sx:55px;--sy:20px}.spark-4{--sx:-30px;--sy:-25px}.spark-5{--sx:30px;--sy:-25px}.spark-6{--sx:-85px;--sy:5px}.spark-7{--sx:85px;--sy:5px}.game-instruction{font:11px var(--font-mono);color:var(--muted-foreground);grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:20px;display:grid}.game-instruction>span:last-child{text-align:right;max-width:240px}.game-copy{color:var(--muted-foreground);margin:18px 0;font-size:14px;line-height:1.7}.game-choice{grid-template-columns:1fr 1fr;gap:12px;display:grid}.game-choice button{gap:20px;height:52px}kbd{font:10px var(--font-mono);border:1px solid;border-radius:3px;padding:2px 5px}.cell-stage{aspect-ratio:1;background:var(--game-soft);border:1px solid var(--border);border-radius:8px;width:min(100%,330px);margin:auto;position:relative;overflow:hidden}.cell-stage svg{width:100%;height:100%}.cell-ring{fill:var(--card);stroke:var(--game-color);stroke-width:1px}.cell-core{fill:var(--game-color)}.pattern-hidden{visibility:hidden}.pattern-mask{font:30px var(--font-heading);color:var(--game-color);place-items:center;display:grid;position:absolute;inset:0}.triage-game progress{width:100%;height:6px;accent-color:var(--game-color);border:0;margin-top:22px;display:block}.permission-ledger{border-block:1px solid var(--border)}.ledger-heading,.permission-row{grid-template-columns:minmax(0,1fr) minmax(125px,1fr);align-items:center;gap:16px;padding:16px 0;display:grid}.ledger-heading{font:10px var(--font-mono);color:var(--muted-foreground);border-bottom:1px solid var(--border)}.permission-row+.permission-row{border-top:1px solid var(--border)}.permission-row strong{font:20px var(--font-heading)}.permission-row small{color:var(--muted-foreground);font-size:12px;display:block}.permission-row label{min-width:0}.permission-row select{width:100%;height:48px;font:16px var(--font-sans);color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:4px;padding:0 8px}.game-submit{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:20px;display:grid}.game-submit>span{color:var(--muted-foreground);font-size:12px}.game-submit button{min-height:48px}.game-message{color:var(--arcade-rose);min-height:24px;margin-top:14px;font-size:13px}.duty-warning{color:var(--arcade-rose);border-left:2px solid var(--arcade-rose);padding-left:12px;font-size:13px}.packet-board{gap:8px;max-width:420px;margin:auto;display:grid}.board-3{grid-template-columns:repeat(3,minmax(0,1fr))}.board-4{grid-template-columns:repeat(4,minmax(0,1fr))}.board-5{grid-template-columns:repeat(5,minmax(0,1fr))}.router-tile{aspect-ratio:1;border:1px solid var(--border);background:var(--game-soft);width:100%;height:auto;color:var(--game-color);border-radius:6px;padding:0;position:relative;overflow:hidden}.router-tile svg{width:100%!important;height:100%!important}.router-tile path{stroke:var(--game-color);stroke-width:6px;fill:none;stroke-linecap:round}.router-tile circle{fill:var(--game-color)}.router-tile span{font:7px var(--font-mono);background:var(--game-soft);color:var(--game-color);position:absolute;bottom:2px}.packet-labels{font:11px var(--font-mono);max-width:420px;color:var(--game-color);justify-content:space-between;margin:0 auto 12px;display:flex}.recall-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:440px;margin:auto;display:grid}.recall-pad{aspect-ratio:1;background:var(--pad-soft);height:auto;color:var(--pad-color);border:1px solid var(--pad-color);flex-direction:column;gap:8px;font-size:16px;transition:background .1s,color .1s,transform .1s;display:flex;position:relative}.recall-pad:disabled{opacity:1}.recall-pad.is-lit{background:var(--pad-color);color:var(--primary-foreground);outline:3px solid var(--pad-color);outline-offset:3px;transform:scale(.97)}.pad-symbol{font-size:46px;line-height:1}.recall-pad kbd{position:absolute;top:10px;right:10px}.recall-progress{justify-content:center;gap:6px;margin-top:24px;display:flex}.recall-progress i{background:var(--border);border-radius:2px;width:12px;height:5px}.recall-progress i.filled{background:var(--game-color)}.game-paused{visibility:hidden}.pause-overlay{background:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:absolute;inset:0}.pause-overlay h3{font-size:48px}.pause-overlay button{min-width:160px;height:48px}.result-panel{text-align:center;padding:24px 0}.result-panel h3{margin:18px 0;font-size:46px}.result-panel>p{color:var(--muted-foreground);font-size:14px}.share-grid{white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0;font-size:22px}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.result-panel textarea{background:var(--card);width:100%;max-width:500px;min-height:100px;color:var(--muted-foreground);border:1px solid var(--border);font:11px/1.7 var(--font-mono);resize:vertical;border-radius:4px;margin:24px auto 14px;padding:12px;display:block}.game-loading{text-align:center;color:var(--muted-foreground);padding:60px 0}@keyframes combo-pop{0%{transform:scale(.8)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes lite-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes spark-pop{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--sx),var(--sy))}}@media (hover:hover) and (pointer:fine){.arcade-card:hover{border-color:var(--game-color);box-shadow:var(--arcade-shadow);transform:translateY(-4px)}}@media (width<=768px){.arcade-hub{padding-top:40px}.arcade-intro h1{font-size:48px}.lab-story{gap:24px}.lab-story h2{font-size:28px}.card-topline,.arcade-card-copy{padding-inline:18px}.arcade-preview{padding-inline:20px}.arcade-card-stats{gap:10px;font-size:9px}.arcade-card h2{font-size:24px}}@media (width<=600px){.arcade-grid,.lab-story{grid-template-columns:minmax(0,1fr)}.arcade-grid{gap:16px}.arcade-intro h1{margin-top:18px;font-size:36px}.arcade-intro>p:last-child{font-size:16px}.daily-banner{gap:12px;margin-top:28px;padding:18px 0}.daily-banner strong{font-size:12px}.daily-banner strong span{max-width:150px;margin-top:3px;font-size:11px;display:block}.daily-clock>span{font-size:20px}.daily-clock small{font-size:8px}.daily-banner .arcade-kicker{font-size:9px}.arcade-mode{margin:22px 0}.arcade-mode button{padding-inline:14px;font-size:12px}.arcade-preview{height:180px}.arcade-card-copy{padding:0 22px 22px}.card-topline{padding:18px 22px 0}.arcade-card h2{font-size:27px}.arcade-card-stats{gap:16px;font-size:10px}.lab-story{margin-top:40px;padding-block:30px}.lab-story h2{font-size:30px}.lab-story p{font-size:16px}.session-title{margin:20px 0}.session-title h2{font-size:29px}.session-level{padding:7px 8px;font-size:10px}.session-title .arcade-kicker{font-size:9px}.game-hud{gap:8px;padding:16px 0}.game-hud strong{font-size:24px}.game-hud small{font-size:9px}.game-instruction{font-size:10px}.game-instruction>span:last-child{max-width:150px}.game-copy{font-size:13px}.cell-stage{width:min(100%,285px)}.game-choice button,.permission-row{gap:10px}.game-submit{gap:8px}.game-submit button{padding-inline:12px;font-size:12px}.recall-board{gap:12px}.recall-pad{font-size:14px}.pad-symbol{font-size:40px}.packet-board{gap:6px}.result-panel h3{font-size:36px}.result-actions button{padding-inline:12px;font-size:12px}.result-panel textarea{font-size:10px}.session-footnote{font-size:11px}.play-surface{min-height:380px}}@media (width<=359px){.arcade-hub{width:calc(100% - 24px)}.arcade-intro h1{font-size:33px}.session-title h2{font-size:27px}.arcade-card-stats{font-size:9px}.game-hud strong{font-size:22px}.permission-row{grid-template-columns:minmax(0,1fr) 135px}.game-instruction{font-size:9px}.game-choice button{padding-inline:10px}.recall-pad kbd{top:7px;right:7px}}@media (prefers-reduced-motion:reduce){.arcade-card,.recall-pad,.combo-feedback{animation:none!important;transform:none!important}.spark{display:none}.recall-pad.is-lit{outline-width:4px}.arcade-hub *{scroll-behavior:auto}}.arcade-hub .arcade-intro h1{font-size:64px}.packet-transit{animation:.35s ease-in-out infinite alternate transit-pulse;fill:var(--primary-foreground)!important}.packet-sending .router-tile{border-color:var(--game-color)}@keyframes transit-pulse{0%{r:3;opacity:.6}to{r:8;opacity:1}}@media (width<=768px){.arcade-hub .arcade-intro h1{font-size:48px}}@media (width<=600px){.arcade-hub .arcade-intro h1{font-size:36px}}@media (width<=359px){.arcade-hub .arcade-intro h1{font-size:33px}}@media (prefers-reduced-motion:reduce){.arcade-hub *,.arcade-hub :before,.arcade-hub :after{transition:none!important;animation:none!important}.packet-transit{r:5;opacity:1}}.campaign-panel{margin-top:8px}.campaign-head h2{text-wrap:balance;max-width:720px;margin:18px 0 12px;font-size:38px;line-height:1.15}.campaign-head>p{color:var(--muted-foreground);max-width:640px;font-size:16px;line-height:1.7}.campaign-rail{gap:12px;margin:36px 0 0;padding:0;list-style:none;display:grid}.campaign-stage{border:1px solid var(--border);background:var(--card);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;display:grid}.campaign-stage.is-next{border-color:var(--arcade-success);box-shadow:var(--arcade-shadow)}.campaign-stage.is-cleared{opacity:.75}.stage-marker{border:1px solid var(--border);width:36px;height:36px;font:13px var(--font-mono);color:var(--muted-foreground);border-radius:50%;place-items:center;display:grid}.stage-marker svg{width:16px;height:16px}.is-cleared .stage-marker{background:var(--arcade-success-soft);color:var(--arcade-success);border-color:var(--arcade-success)}.is-next .stage-marker{background:var(--arcade-success);color:var(--primary-foreground);border-color:var(--arcade-success)}.stage-copy strong{font:18px var(--font-heading);display:block}.stage-copy small{font:11px var(--font-mono);color:var(--muted-foreground);margin-top:4px;display:block}.stage-copy p{color:var(--muted-foreground);margin:8px 0 0;font-size:14px;line-height:1.6}.campaign-stage button{min-height:44px}.stage-done{font:10px var(--font-mono);color:var(--arcade-success)}.stage-locked{font:10px var(--font-mono);color:var(--muted-foreground)}.campaign-complete{border:1px solid var(--arcade-success);background:var(--arcade-success-soft);border-radius:8px;margin-top:28px;padding:24px}.campaign-complete h3{font-size:24px}.campaign-complete p{color:var(--muted-foreground);margin:8px 0 16px}.campaign-complete-actions{flex-wrap:wrap;gap:10px;display:flex}.campaign-columns{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:44px;padding-top:32px;display:grid}.campaign-subhead{font:11px var(--font-mono);color:var(--muted-foreground);align-items:center;gap:8px;margin-bottom:16px;display:flex}.campaign-subhead svg{width:15px;height:15px}.achievement-list,.note-list,.tier-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.achievement-list li,.note-list li,.tier-list li{border:1px solid var(--border);opacity:.55;border-radius:6px;padding:12px 14px}.achievement-list li.earned,.note-list li.earned{opacity:1;border-color:var(--arcade-gold);background:var(--arcade-gold-soft)}.achievement-list strong,.note-list strong,.tier-list strong{font-size:14px;display:block}.achievement-list small,.note-list small,.tier-list small{color:var(--muted-foreground);margin-top:4px;font-size:12px;line-height:1.55;display:block}.tier-chips{gap:5px;margin:8px 0 4px;display:flex}.tier-chips i{background:var(--border);border-radius:3px;width:22px;height:6px}.tier-chips i.on{background:var(--arcade-success)}.campaign-clear{max-width:640px}.campaign-clear h2{margin:16px 0 8px;font-size:34px}.clear-score{font:28px var(--font-heading);color:var(--arcade-success);margin-bottom:20px}.field-note-card{border-left:3px solid var(--arcade-gold);background:var(--arcade-gold-soft);border-radius:0 8px 8px 0;margin-bottom:12px;padding:16px 18px}.field-note-card strong{margin:6px 0;font-size:16px;display:block}.field-note-card p{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.65}.field-note-card.achievement{border-left-color:var(--arcade-success);background:var(--arcade-success-soft)}.campaign-clear>button{min-height:48px;margin-top:8px}.campaign-debrief .campaign-head{margin-bottom:8px}.campaign-closer{border-top:1px solid var(--border);max-width:640px;margin-top:44px;padding-top:32px}.campaign-closer p{color:var(--foreground);margin-bottom:14px;font-size:17px;line-height:1.75}.campaign-closer a{min-height:48px;margin-top:8px}.boss-round .session-level{color:var(--arcade-rose);background:var(--arcade-rose-soft);border-color:var(--arcade-rose);letter-spacing:2px}@media (width<=768px){.campaign-columns{grid-template-columns:1fr}.campaign-head h2{font-size:29px}.campaign-stage{grid-template-columns:auto minmax(0,1fr);padding:16px}.campaign-stage button,.stage-done,.stage-locked{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){.campaign-stage,.field-note-card{transition:none!important;animation:none!important}}
