/* Case game: one investigation, three clues, one final call. */

.case-game-heading{display:grid;gap:5px;min-width:0}.case-game-heading>small{font:11px/1.6 'Courier New',monospace;color:var(--quiet,#a9ada5)}
.story-game .brawl-mode{position:relative}.case-controls{position:relative;margin:0;padding:0;border:0}
.case-controls>summary{display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;min-height:44px;padding:8px 10px;font:11px/1.4 'Courier New',monospace;list-style:none;color:var(--quiet,#a9ada5)}
.case-controls>summary::after{content:'+';font:16px/1 monospace}.case-controls[open]>summary::after{content:'−'}.case-controls>summary::-webkit-details-marker{display:none}
.case-controls>div{position:absolute;right:0;top:calc(100% + 5px);z-index:5;display:grid;gap:4px;min-width:174px;padding:7px;background:var(--bg,#000);border:1px solid var(--fg,#eee);box-shadow:4px 4px #000}
.case-controls #brawlMotion,.case-controls #brawlSound{margin:0;text-align:left;min-height:44px;width:100%;font-size:11px}
.case-controls>summary:focus-visible,.case-controls button:focus-visible{outline:1px solid currentColor;outline-offset:2px}
.story-game .scene-subtitle{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:14px;padding:10px 16px 11px;background:#080808;color:#d5d5ce;border-top:1px solid #242424;min-height:42px}
.scene-subtitle [data-scene-name]{font:700 10px/1.6 'Courier New',monospace;letter-spacing:.04em;color:#f0f0e9}
.story-game .scene-subtitle .scene-caption-live{position:static;display:block;left:auto;bottom:auto;margin:0;padding:0;background:transparent;color:#aaa9a2;font:11px/1.6 'Courier New',monospace;min-width:0;overflow-wrap:anywhere}
.story-game .film-tools{height:auto;min-height:44px;padding:0 14px;background:#0b0b0b;border-color:#333}
.scene-inspect-controls{display:flex;gap:10px;flex-wrap:wrap;min-width:0}.scene-inspect-controls:empty{display:none}
.story-game .film-tools button{min-height:44px;padding:8px 2px;color:#aaa9a2;font:10px/1.5 'Courier New',monospace;gap:6px;text-align:left;max-width:100%}.film-tools button[hidden]{display:none!important}
.story-game .film-tools button:hover,.story-game .film-tools button:focus-visible{color:#fff}.story-game .film-tools button:focus-visible{outline:1px solid #b7b7ac;outline-offset:0}
.story-game .case-progress-shell{padding:0;margin:0;border-bottom:1px solid #383838;background:#0b0b0b;color:#e7e7df}
.story-game .clash-progress{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(58px,.65fr);gap:8px;border:0;padding:14px;background:transparent}
.case-progress-shell .clash-progress li{color:#8e8e87;gap:7px;min-width:0;align-items:stretch}
.case-progress-shell .clash-progress li>button{display:flex;gap:9px;align-items:flex-start;min-width:0;min-height:54px;width:100%;padding:9px 8px;border:1px solid #3b3b37;text-align:left;color:inherit;background:#0b0b0b}
.case-progress-shell .clash-progress li>button:disabled{opacity:.68;cursor:default}.case-progress-shell .clash-progress li>button:not(:disabled):hover{border-color:#d5d5cd;background:#171715}
.case-progress-shell .clash-progress li>button:focus-visible{outline:2px solid #eee;outline-offset:3px}.case-progress-shell .clash-progress li>button[aria-expanded=true]{border-color:#e6e6dc;background:#1a1a17}
.case-clue-mark,.case-progress-shell .clash-progress li>.case-final-mark{display:grid;place-items:center;flex:none;width:20px;height:20px;font:11px/1 monospace;border:1px solid #55554f;background:#111110;color:#c8c8bd}
.case-clue-copy{display:grid;gap:4px;min-width:0}.case-clue-copy>small{font:10px/1.4 'Courier New',monospace;letter-spacing:.01em}.case-clue-name{display:block;font:400 10px/1.45 'Courier New',monospace;color:inherit;overflow-wrap:anywhere}
.case-clue-state{display:block;font:9px/1.5 'Courier New',monospace;color:#a4a49c}
.case-progress-shell li[data-state=active]>button{border-color:#c1c1b5;color:#eeeeE6}.case-progress-shell li[data-state=active] .case-clue-mark{border-color:#e4e4d9;box-shadow:2px 2px #000}
.case-progress-shell li[data-state=clean] .case-clue-mark{background:#deded0;border-color:#ededdf;color:#111}.case-progress-shell li[data-state=done] .case-clue-mark{border-color:#aaa99e;color:#deded2}
.case-progress-shell .clash-progress li:last-child{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:8px 2px;gap:7px;text-align:center}
.case-progress-shell .clash-progress li:last-child>small{font:10px/1.4 'Courier New',monospace}
.case-progress-shell .clash-progress li[data-just-earned=true] .case-clue-mark{animation:clue-lock .58s steps(7,end) both}
.case-clue-inspector{padding:3px 18px 18px;margin:0 14px 14px;border:1px solid #5b5b54;background:#131311;color:#deded3}.case-clue-inspector[hidden]{display:none!important}
.case-clue-inspector-head{display:flex;gap:14px;justify-content:space-between;align-items:baseline}.story-game .case-clue-inspector h3{font:700 15px/1.5 'Courier New',monospace;margin:13px 0 9px}.case-clue-inspector h3:focus{outline:0}
.case-clue-inspector [data-case-clue-close]{min-height:44px;flex:none;font:10px/1.5 'Courier New',monospace;padding:8px 0;color:#c2c2b8;text-decoration:underline;text-underline-offset:4px}
.case-clue-inspector p{font:16px/1.65 Georgia,serif!important;margin:0!important;max-width:none!important}
.case-claim-reminder{margin:4px 0 20px;border:0;padding:0}.case-claim-reminder>summary{font:11px/1.6 'Courier New',monospace;color:var(--quiet,#a9ada5);cursor:pointer;min-height:36px;display:flex;align-items:center;gap:8px;list-style:none}.case-claim-reminder>summary::before{content:'+'}.case-claim-reminder[open]>summary::before{content:'−'}.case-claim-reminder>summary::-webkit-details-marker{display:none}.case-claim-reminder>p{border-left:2px solid var(--line,#555);padding:4px 0 4px 14px;margin:5px 0 0!important;font:15px/1.65 Georgia,serif!important}
.case-first-call{padding:14px 16px;margin:20px 0 24px;border-left:2px solid #89897e;background:color-mix(in srgb,var(--fg,#fff) 4%,transparent)}
.case-first-call>small,.case-judgment-pair small{display:block;font:10px/1.5 'Courier New',monospace;color:var(--quiet,#a9ada5)}.story-game .case-first-call>p{font:16px/1.6 Georgia,serif;margin:7px 0 8px}.case-first-call>span{display:block;font:11px/1.6 'Courier New',monospace;color:var(--quiet,#a9ada5)}
.case-judgment-receipt{margin:22px 0;padding:18px 0 20px;border-top:1px dashed var(--line,#555);border-bottom:1px dashed var(--line,#555)}
.story-game .case-judgment-status{font:700 12px/1.6 'Courier New',monospace;margin:0 0 18px}.case-judgment-pair{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:14px;align-items:start}
.story-game .case-judgment-pair p{font:15px/1.6 Georgia,serif;margin:7px 0 0;overflow-wrap:anywhere}.case-judgment-arrow{padding-top:25px;text-align:center;color:var(--quiet,#a9ada5);font:16px/1.4 monospace}
.story-game .case-judgment-receipt h4,.story-game .case-explanation h4{font:700 11px/1.6 'Courier New',monospace;margin:22px 0 11px}
.case-check-receipt{display:grid;gap:0;list-style:none;padding:0;margin:0}.case-check-receipt li{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:9px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line,#333);font:10px/1.5 'Courier New',monospace}.case-check-receipt li>span{color:var(--quiet,#aaa)}.case-check-receipt b{font:400 11px/1.5 'Courier New',monospace;overflow-wrap:anywhere}.case-check-receipt small{font:10px/1.5 'Courier New',monospace;color:var(--quiet,#aaa);text-align:right}
.case-check-receipt li[data-clean=true]>span::before{content:'✓ ';color:var(--fg,#eee)}.case-check-receipt li[data-clean=false]>span::before{content:'↻ '}
.story-game .case-explanation>p{font:17px/1.65 Georgia,serif;margin:0 0 18px}.story-game .brawl-reward>h3{scroll-margin-top:88px}
.story-game .story-brand,.story-game .case-first-call{scroll-margin-top:88px}.story-game :is(h2,h3,.story-brand,.case-first-call)[tabindex="-1"]:focus{outline:none!important}
@media(max-width:600px){
 .story-game .story-toolbar{display:grid;grid-template-columns:1fr;gap:10px}.case-game-heading{gap:2px}.case-game-heading>small{font-size:10px}
 .story-game .story-toolbar .brawl-mode{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;width:100%;gap:5px;margin:0}.story-game .brawl-mode>button{min-width:0}.case-controls>summary{font-size:10px;padding-inline:8px}
 .story-game .scene-subtitle{grid-template-columns:1fr;gap:3px;padding:9px 12px 10px}.scene-subtitle [data-scene-name]{font-size:9px}.story-game .scene-subtitle .scene-caption-live{font-size:10px}
 .story-game .film-tools{padding:0 12px}.scene-inspect-controls{gap:12px}.story-game .film-tools button{font-size:10px}
 .story-game .clash-progress{padding:11px 10px;gap:5px;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(44px,.65fr)}
 .case-progress-shell .clash-progress li>button{flex-direction:column;align-items:center;gap:6px;min-height:59px;padding:8px 3px;text-align:center}.case-clue-copy>small{font-size:9px}.case-clue-name,.case-clue-state{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.case-progress-shell .clash-progress li:last-child>small{font-size:9px}
 .case-clue-inspector{margin:0 10px 11px;padding:0 12px 14px}.case-clue-inspector-head{align-items:center;gap:8px}.story-game .case-clue-inspector h3{font-size:13px}.case-clue-inspector [data-case-clue-close]{font-size:9px}.case-clue-inspector p{font-size:16px!important}
 .case-first-call{padding:12px 13px}.case-judgment-pair{grid-template-columns:minmax(0,1fr);gap:10px}.case-judgment-arrow{padding:0;text-align:left;font-size:15px;transform:rotate(90deg);width:20px}
 .case-check-receipt li{grid-template-columns:48px minmax(0,1fr);gap:4px 8px}.case-check-receipt small{grid-column:2;text-align:left}.case-check-receipt b{font-size:10px}.case-check-receipt small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.case-progress-shell .clash-progress li[data-just-earned=true] .case-clue-mark{animation:none}}
.world-is-quiet .case-progress-shell .clash-progress li[data-just-earned=true] .case-clue-mark{animation:none}

.story-game{max-width:780px;margin-inline:auto;min-width:0}
.story-game .story-community-layout{display:block}.story-game .case-social{padding:18px 0 4px;margin-top:15px;border-top:1px solid #333}
.case-social>summary{cursor:pointer;font:12px/1.5 monospace;color:#aaa;min-height:32px}.case-social[open]>summary{margin-bottom:15px}
.story-game .story-toolbar{gap:12px;flex-wrap:wrap}.story-game .story-toolbar .brawl-mode{flex-wrap:wrap;gap:6px}.story-game .brawl-mode button{min-height:40px}
.arcade-next-route,.case-countdown-finished{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center}
.arcade-next-route{padding:20px 0 10px;margin-top:24px;border-top:1px solid #42423e;color:#aaa}
.arcade-next-route small,.arcade-next-route time{display:block;font:11px/1.7 monospace}.arcade-next-route time{font-size:20px;letter-spacing:.05em;color:#e0e0da;font-variant-numeric:tabular-nums}
.arcade-next-route [data-case-ready],.case-countdown [data-case-ready]{display:block;font:11px/1.6 monospace}
.arcade-next-route button,.case-countdown button{margin-top:12px;padding:10px 12px;min-height:44px;border:1px solid #777;font:12px/1.4 monospace}
.next-room-door{display:block;position:relative;width:29px;height:44px;border:1px solid #74746c;border-bottom:0;margin-inline:auto;box-shadow:inset 3px 0 #20201d}
.next-room-door::before{content:'';position:absolute;bottom:0;left:5px;width:24px;height:1px;background:#e6e6db;box-shadow:2px 1px #62625a,5px 2px #373730}
.next-room-door i{position:absolute;right:5px;top:23px;width:2px;height:3px;background:#e4e4d9}
.arcade-aftercare{grid-template-columns:minmax(0,1fr) auto;align-items:start}.case-rating>summary{font:11px/1.6 monospace;cursor:pointer;min-height:30px}.case-rating[open]>summary{margin-bottom:12px}
.story-game .sealed-find{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:18px;width:100%;min-height:132px;margin:24px 0;padding:22px;text-align:left;border:1px solid #9a9a8f;background:#0c0c0a;box-shadow:4px 4px #000;color:#ecece1;cursor:pointer}
.sealed-find b{display:block;font:700 16px/1.5 monospace}.sealed-find small{display:block;margin-top:8px;font:11px/1.7 monospace;color:#aaa99f}.sealed-find svg{image-rendering:pixelated;overflow:visible}
.sealed-find:hover,.sealed-find:focus-visible{background:#1a1a16;border-color:#ecece1}.sealed-find:focus-visible{outline:2px solid #eee;outline-offset:4px}.sealed-find:active svg{transform:translateY(2px)}
.story-game .reward-drop[hidden]{display:none!important}.story-game .reward-drop.find-opened{animation:find-unseal .45s steps(5,end) both}.reward-drop.find-opened:focus{outline:1px solid #aaa;outline-offset:5px}
@keyframes find-unseal{0%{clip-path:inset(50% 0);transform:translateY(4px)}50%{clip-path:inset(0);transform:translateY(-2px)}100%{clip-path:inset(0);transform:none}}
@media(max-width:600px){.arcade-aftercare{grid-template-columns:1fr}.story-game .sealed-find{grid-template-columns:72px 1fr;padding:18px 14px;gap:14px}.sealed-find svg{width:72px;height:54px}.sealed-find b{font-size:14px}.story-game .brawl-mode button{min-height:44px}.story-game .story-toolbar{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.story-game .reward-drop.find-opened{animation:none}.sealed-find:active svg{transform:none}}
.world-is-quiet .story-game .reward-drop.find-opened,.clash-still .story-game .reward-drop.find-opened{animation:none}
@media(max-width:700px){
 body[data-site-view=play] .room-topbar.arcade-room-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:16px;padding-bottom:12px}
 body[data-site-view=play] .arcade-room-nav>button[data-site=read]{grid-column:1;grid-row:1}
 body[data-site-view=play] .arcade-room-nav>button[data-site=play]{grid-column:2;grid-row:1}
 body[data-site-view=play] .arcade-room-nav>button[data-site=studio]{grid-column:3;grid-row:1}
 body[data-site-view=play] .arcade-room-nav>details{grid-column:4;grid-row:1}
 body[data-site-view=play] .arcade-room-nav>.room-account-toggle{grid-column:5;grid-row:1;justify-content:center;margin:0;padding:4px;min-width:0}
 body[data-site-view=play] .arcade-room-nav>.room-account-toggle>span:not(.portrait-frame){display:none}
 body[data-site-view=play] .arcade-room-nav>button,.arcade-room-nav>details>summary{min-height:44px;width:100%;padding:8px 2px;font-size:10px}
 body[data-site-view=play] .arcade-room-nav>details>div{left:auto;right:0;transform:none}
}

/* Confirmed case work has weight: a prop yields paper, paper joins the file,
   and the existing tool seats into its next notch. Choices never move or wait. */
.story-game .brawl-evidence[data-evidence-arriving=true]>.case-document-tab{animation:case-document-seat .42s cubic-bezier(.18,.85,.28,1) .24s both;transform-origin:18px 50%}
.story-game .brawl-evidence[data-evidence-arriving=true]::after{content:'';position:absolute;left:15px;top:-19px;width:13px;height:16px;border:1px solid #e3e4d8;background:repeating-linear-gradient(0deg,#c8cdbe 0 3px,#737b67 3px 4px);box-shadow:2px 2px #060706;pointer-events:none;animation:case-paper-land .36s cubic-bezier(.22,.8,.32,1) .35s both}
.story-game .case-meter-shell .case-charge-tool{opacity:var(--case-tool-charge,.28);animation:none}
.story-game .case-meter-shell .case-charge-tool[data-arming=true]{animation:case-tool-seat .4s cubic-bezier(.2,.8,.24,1) both;transform-origin:65% 75%}
.story-game .case-meter-shell .case-charge[data-gaining=true] .case-charge-track{animation:case-track-seat .24s ease-out both}
.story-game .case-clue-file[data-receiving=true]>summary::after{content:'';display:block;width:6px;height:8px;border:1px solid #b8beaa;box-shadow:2px 2px #555c49;pointer-events:none;animation:case-file-seat .65s ease-out both}
@keyframes case-document-seat{0%{transform:translate(-7px,-6px) rotate(-2deg);box-shadow:6px 7px #000}62%{transform:translate(1px,1px) rotate(.4deg);box-shadow:2px 2px #000}100%{transform:none;box-shadow:3px 3px #000}}
@keyframes case-paper-land{0%{clip-path:inset(0 0 100%);transform:translate(18px,-28px) rotate(18deg) scaleX(.4)}18%{clip-path:inset(0);transform:translate(11px,-15px) rotate(9deg)}75%{clip-path:inset(0);transform:translate(0,1px) rotate(-4deg)}100%{clip-path:inset(0 0 100%);transform:translateY(9px) rotate(0)}}
@keyframes case-tool-seat{0%{transform:translate(-3px,3px) rotate(-22deg)}34%{transform:translate(1px,-2px) rotate(5deg)}66%{transform:translateY(1px) rotate(-10deg)}100%{transform:rotate(-7deg)}}
@keyframes case-track-seat{0%{transform:translateY(1px);border-color:#deded1}100%{transform:none;border-color:#60605a}}
@keyframes case-file-seat{0%{transform:translate(-8px,-8px) rotate(-12deg);clip-path:inset(0 100% 0 0)}24%{clip-path:inset(0)}72%{transform:translateY(1px) rotate(3deg)}100%{transform:none;clip-path:inset(0 0 100%)}}
.world-is-quiet .story-game [data-evidence-arriving]>.case-document-tab,.clash-still .story-game [data-evidence-arriving]>.case-document-tab,.story-game.motion-off [data-evidence-arriving]>.case-document-tab{animation:none!important}
.world-is-quiet .story-game [data-evidence-arriving]::after,.clash-still .story-game [data-evidence-arriving]::after,.story-game.motion-off [data-evidence-arriving]::after,.world-is-quiet .case-clue-file[data-receiving]>summary::after,.clash-still .case-clue-file[data-receiving]>summary::after{display:none}
@media(prefers-reduced-motion:reduce){.story-game [data-evidence-arriving]>.case-document-tab,.story-game .case-meter-shell .case-charge-tool[data-arming=true],.story-game .case-meter-shell .case-charge[data-gaining=true] .case-charge-track{animation:none!important}.story-game [data-evidence-arriving]::after,.case-clue-file[data-receiving]>summary::after{display:none}}

