/* A room above one dialogue dock. The case never leaves the arcade viewport. */
body[data-site-view=play] #roomStatus:empty{display:none}
.story-game.case-screen,.case-file-room{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;width:100%;height:100%;max-width:none;max-height:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;overflow:hidden;background:#080808}
.case-screen *,.case-file-room *{box-sizing:border-box}
.case-screen .story-toolbar,.case-file-room .story-toolbar{position:relative;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:0;padding:7px 20px;min-height:58px;border-bottom:1px solid #303030;background:#090909}
.case-screen .story-toolbar>.case-game-heading{display:block;grid-column:2;grid-row:1;min-width:0}
.case-screen .case-game-heading>small{display:none}
.case-screen .story-brand,.case-file-room .story-brand{display:block;min-width:0;line-height:0;text-align:center}
.case-screen .story-brand img,.case-file-room .story-brand img{display:block;width:auto;max-width:100%;height:28px;max-height:32px;margin:auto;object-fit:contain}
.case-screen .case-exit,.case-file-room .case-exit{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 10px;border:1px solid #494949;background:#0c0c0c;color:#ededed;font:13px/1.3 'Courier New',monospace;white-space:nowrap;cursor:pointer}
.case-screen .case-exit:hover,.case-screen .case-exit:focus-visible,.case-file-room .case-exit:focus-visible{border-color:#eee;background:#222;outline:2px solid #eee;outline-offset:-4px}
.case-screen .story-toolbar>[data-account-host]{grid-column:3;grid-row:1;min-width:0}
.case-screen .story-toolbar>.brawl-mode{display:block;grid-column:4;grid-row:1;width:auto;margin:0;min-width:0}
.case-screen .case-controls{position:static}
.case-screen .case-controls>summary{min-width:44px;min-height:44px;padding:8px 10px;font:13px/1.3 'Courier New',monospace}
.case-screen .case-controls>div{position:absolute;right:20px;top:calc(100% + 4px);z-index:30;min-width:260px;width:min(410px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(var(--visible-height,100dvh) - 122px);padding:12px;overflow:auto;overscroll-behavior:contain;background:#090909;border:1px solid #aaa;box-shadow:4px 4px #000}
.case-screen .case-controls :is(button,summary,select){min-height:44px;font-size:14px}
.case-screen .case-controls :is(p,small,.room-note,.case-countdown,.case-countdown small,.case-rating,.story-hud){font-size:14px;line-height:1.5}
.case-screen .case-controls .case-social{margin:12px 0 0;padding:12px 0 0}
.case-screen .case-controls .case-social>summary{font-size:14px}
.case-screen .case-controls .story-hud{padding:10px 0;margin:8px 0 0}
.case-screen .story-community-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;margin:0;overflow:hidden}
.case-screen .story-stage{position:relative;display:grid;grid-template-rows:minmax(150px,1fr) 44px clamp(260px,35dvh,370px);min-width:0;min-height:0;height:100%;margin:0;border:0;background:#090909;overflow:hidden}
.case-screen .story-art{position:relative;isolation:isolate;display:block;min-width:0;min-height:0;margin:0;border:0;background:#050505;overflow:hidden}
.case-screen .story-art::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#050505aa 0%,transparent 32%,transparent 72%,#050505b3 100%)}
.case-screen .story-art #brawlArena{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:100%;margin:0;padding:0;border:0;aspect-ratio:auto;object-fit:contain;object-position:50% 50%;image-rendering:pixelated;cursor:crosshair}
.case-screen .story-art #brawlArena:focus-visible{outline:2px solid #ededed;outline-offset:-4px}
.case-screen .story-art .case-meta{position:absolute;z-index:3;left:26px;top:19px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:calc(100% - 52px);margin:0;padding:0;border:0;pointer-events:none;text-shadow:0 2px 3px #000}
.case-screen .story-art .case-meta>h2{margin:0;max-width:38ch;font:700 clamp(19px,2.4vw,29px)/1.18 'Courier New',monospace;letter-spacing:-.045em;color:#eee;text-wrap:balance}
.case-screen .story-art .case-meta>.eyebrow{display:block;order:-1;margin:0!important;font:10px/1.3 'Courier New',monospace;letter-spacing:.13em;color:#b6b6b6;text-transform:uppercase;text-align:left;max-width:none}
.case-screen .story-art .scene-subtitle{position:absolute;left:26px;right:26px;bottom:15px;z-index:3;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 13px;min-height:0;margin:0;padding:0;border:0;background:none;pointer-events:none;text-shadow:0 1px 3px #000}
.case-screen .scene-subtitle::after{display:none}
.case-screen .story-art .scene-subtitle>[data-scene-name]{display:block;color:#dedede;font:700 10px/1.4 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase}
.case-screen .scene-subtitle .scene-caption-live{min-height:0;margin:0;max-width:76ch;font:12px/1.4 'Courier New',monospace;color:#bcbcbc}
.case-screen .case-progress-shell{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 14px;min-height:0;margin:0;padding:0 26px;border-top:1px solid #343434;border-bottom:1px solid #343434;background:#0c0c0c;overflow:visible}
.case-screen .case-progress-copy{grid-column:1;align-self:center;margin:0;font:12px/1.3 'Courier New',monospace;letter-spacing:.035em}
.case-screen .case-charge-row{position:absolute;left:0;right:0;bottom:-1px;grid-column:auto;min-height:2px;height:2px;gap:0;margin:0;padding:0;pointer-events:none}
.case-screen .case-charge,.case-screen .case-charge-track{height:2px;min-height:2px;padding:0;border:0}
.case-screen .case-clue-file{grid-column:2;grid-row:1;align-self:center;position:static;margin:0;padding:0}
.case-screen .case-clue-file>summary{min-height:44px;padding:6px 0;font:12px/1.3 'Courier New',monospace}
.case-screen .case-kept-clues{position:absolute;bottom:calc(100% + 1px);left:0;right:0;z-index:12;max-height:min(54dvh,420px);padding:14px 26px;background:#0b0b0b;border:1px solid #999;overflow:auto;overscroll-behavior:contain;box-shadow:0 -3px 12px #0008}
.case-screen .case-kept-clues :is(small,h3){font-size:14px}
.case-screen .case-kept-clue>p,.case-screen .case-kept-claim>p{font-size:16px;line-height:1.5}
.case-screen .story-dialogue{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(20px,4vw,56px);justify-self:center;width:min(100%,1280px);min-width:0;min-height:0;margin:0;padding:22px 28px!important;border:0;background:#090909;overflow:hidden}
.case-reading-pane{min-width:0;min-height:0;padding:0 10px 0 0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block:12px}
.case-reading-pane:focus-visible,.case-screen .case-end-details:focus-visible{outline:1px solid #bcbcbc;outline-offset:-3px}
.case-screen .case-reading-pane .brawl-copy{margin:0;padding:0}
.case-screen .story-dialogue .case-dialogue-panel{margin:0;min-width:0;padding:0;border:0;box-shadow:none;background:transparent}
.case-screen .case-dialogue-panel::before{display:none}
.case-screen .case-reader-body{display:block;padding:0}
.case-screen .case-reader-emblem{display:none}
.case-screen .case-reader-label,.case-screen .case-reader-original-label,.case-screen .case-pinned-label{font:11px/1.4 'Courier New',monospace;letter-spacing:.08em;color:#a5a5a5}
.case-screen .case-reader-stage{min-height:0}
.case-screen .story-dialogue .case-story-text,.case-screen .story-dialogue .case-reader-copy.case-story-text,.case-screen .case-reader-original>.case-story-text,.case-screen .case-reader-original>.brawl-claim{font:18px/1.65 Georgia,'Times New Roman',serif;max-width:60ch;margin:0;color:#e5e5e5}
.case-screen .case-reader-controls{gap:4px;margin-top:13px;padding:0;border:0}
.case-screen .case-reader-controls button{min-height:44px;padding:6px 9px;font-size:12px;line-height:1.2}
.case-screen .case-reader-controls .case-reader-turn{min-width:44px;width:44px;font-size:20px}
.case-screen .case-reader-count{font-size:11px;min-width:52px}
.case-screen .case-reader-controls .case-reader-all{margin-left:auto}
.case-screen .case-reader-controls .case-reader-pin{margin-left:0}
.case-screen .case-pinned-claim{grid-template-columns:1fr;gap:5px;padding:8px 44px 8px 10px;margin:0 0 12px;border-color:#454545;background:#101010}
.case-screen .case-pinned-copy{font:15px/1.5 Georgia,serif}
.case-screen .brawl-evidence.case-dialogue-panel>.case-document-tab{margin:0 0 10px;padding:0;border:0;box-shadow:none;background:none;color:#dadada;font:700 12px/1.4 'Courier New',monospace}
.case-screen .case-document-tab::before{display:none}
.case-screen .brawl-evidence>.source{font-size:12px;min-height:44px;align-content:center}
.case-screen .case-first-call{margin:12px 0 0;padding:9px 12px}
.case-screen .case-first-call>small{font-size:12px}
.case-screen .case-first-call>p{font-size:16px;line-height:1.45}
.case-decision-pane{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;min-height:0;padding:0;border:0;background:transparent;overflow:auto;overscroll-behavior:contain}
.case-screen .story-dialogue .case-decision-pane>.case-decision-claim{margin:0 0 3px;padding:0;border:0;max-width:none;font:italic 17px/1.45 Georgia,'Times New Roman',serif;color:#e8e8e8}
.case-screen .story-dialogue .case-decision-pane>.case-question{margin:0;padding:0;border:0;background:transparent;font:400 12px/1.4 'Courier New',monospace;letter-spacing:.025em;color:#aaa}
.case-screen .story-dialogue .case-decision-pane>.case-choices{margin:0;padding:0;gap:6px;background:transparent}
.case-screen .story-dialogue .case-choices>button{min-height:46px;padding:8px 29px 8px 10px;gap:10px;grid-template-columns:22px minmax(0,1fr);font:16px/1.35 Georgia,'Times New Roman',serif;border:1px solid #414141;background:#111;color:#e5e5e5}
.case-screen .story-dialogue .case-choices>button>b{font-size:12px;color:#9a9a9a}
.case-screen .story-dialogue .case-choices>button:hover,.case-screen .story-dialogue .case-choices>button:focus-visible{border-color:#bdbdbd;background:#202020;color:#fff;box-shadow:inset 2px 0 #dedede}
.case-screen .story-dialogue .case-choices>button.answer-committed{color:#111;background:#e1e1e1;border-color:#fff}
.case-screen .story-dialogue #brawlFeedback:empty{display:none}
.case-screen .story-dialogue #brawlFeedback:not(:empty){margin:0 0 12px!important;padding:0 0 10px;border-bottom:1px dotted #444;font:12px/1.45 'Courier New',monospace}
.case-screen .case-screen-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0;padding:8px 16px;border-top:1px solid #333;min-height:44px}
.case-screen .case-screen-footer>button{min-height:44px;margin:0;padding:9px 10px;font:14px/1.3 'Courier New',monospace;white-space:normal}

/* The earned object keeps its physical reveal without controlling page height. */
.case-screen[data-case-stage=clear] .story-stage{grid-template-rows:auto minmax(0,1fr)}
.case-screen[data-case-stage=clear] .story-art{display:none}
.case-screen[data-case-stage=clear] .story-dialogue{display:block}
.case-screen .brawl-reward{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:minmax(0,1fr);gap:0;width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;overflow:hidden}
.case-screen.case-cracking .brawl-reward{grid-template-columns:minmax(0,1fr)}
.case-screen .brawl-reward>.case-reveal-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;height:100%;overflow:hidden;container-type:normal}
.case-screen .case-reveal-stage>.case-clear-title{grid-area:1/1;padding:10px 14px 5px;font-size:clamp(22px,3.5dvh,32px);line-height:1.1}
.case-screen .brawl-reward>.case-reveal-stage>:is(.reward-smash,.reward-remains,.reward-drop){grid-area:2/1;align-self:stretch;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;margin:0;overflow:hidden}
.case-screen .reward-smash{display:grid;grid-template-rows:minmax(0,1fr) auto}
.case-screen .reward-smash [data-crack-target]{display:grid;place-items:center;width:100%;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden;container-type:size}
.case-screen .reward-smash canvas,.case-screen .reward-remains canvas{display:block;aspect-ratio:3/2;width:min(100cqw,150cqh);height:min(66.666cqw,100cqh);max-width:100%;max-height:100%;margin:auto;object-fit:contain;image-rendering:pixelated}
.case-screen .reward-remains{display:grid;place-items:center;container-type:size}
.case-screen .reward-smash .crack-fallback{width:100%;height:100%;object-fit:contain}
.case-screen .reward-smash :is(.crack-tool,.crack-touch,.crack-status){font-size:14px;line-height:1.3}
.case-screen .reward-smash .crack-footer{min-height:30px;gap:8px;padding:5px 10px}
.case-screen .reward-smash .crack-ticks i{width:18px}
.case-screen .case-reveal-stage>.reward-drop{justify-content:center;gap:8px;padding:12px;border:0;font-size:14px}
.case-screen .case-reveal-stage>.reward-drop>:is(img,svg.sprite-visual){width:clamp(54px,13dvh,110px);height:clamp(54px,13dvh,110px);max-height:34%;object-fit:contain}
.case-screen .reward-drop.find-from-crack>div{padding:7px 10px;max-width:100%}
.case-screen .reward-drop :is(small,button){font-size:14px;line-height:1.35}
.case-screen .reward-drop button{min-height:44px}
.case-screen .reward-drop b{font-size:16px}
.case-screen .case-end-details{min-width:0;min-height:0;padding:14px!important;border-left:1px solid #444;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.case-screen .case-end-details :is(p,small,summary,.case-judgment-status,.case-check-receipt b,.case-check-receipt small){font-size:14px;line-height:1.5}
.case-screen .case-end-details :is(button,summary){min-height:44px}
.case-screen .case-end-details .case-explanation>p{font-size:16px;margin-bottom:14px}
.case-file-room .story-toolbar{grid-template-columns:auto minmax(0,1fr)}
.case-file-room .case-file-scroll{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px;border:1px solid #555}
.case-file-room .case-file-scroll :is(p,small,summary){font-size:16px;line-height:1.5}
.case-file-room .case-file-scroll summary,.case-file-room #leaveFiles{min-height:44px;font-size:14px}
.case-file-room #leaveFiles{margin:0}


@media(max-width:700px){
 .case-screen .story-toolbar,.case-file-room .story-toolbar{gap:6px;padding:3px 8px;min-height:50px}
 .case-screen .case-exit,.case-file-room .case-exit{padding:7px;font-size:12px}
 .case-screen .story-brand img,.case-file-room .story-brand img{height:24px}
 .case-screen .case-controls>summary{width:44px;padding:7px;font-size:0}
 .case-screen .case-controls>summary::before{content:'⋯';font:24px/1 monospace}
 .case-screen .case-controls>summary::after{display:none}
 .case-screen .case-controls>div{right:8px}
 .case-screen .story-stage{grid-template-rows:clamp(112px,25dvh,230px) 40px minmax(0,1fr)}
 .case-screen .story-art .case-meta{left:12px;top:10px;gap:3px;max-width:calc(100% - 24px)}
 .case-screen .story-art .case-meta>h2{font-size:18px;line-height:1.15;max-width:30ch}
 .case-screen .story-art .case-meta>.eyebrow{font-size:8px;letter-spacing:.1em}
 .case-screen .story-art .scene-subtitle{left:12px;right:12px;bottom:8px;gap:2px 8px}
 .case-screen .story-art .scene-subtitle>[data-scene-name]{display:none}
 .case-screen .scene-subtitle .scene-caption-live{font-size:10px;line-height:1.3}
 .case-screen .case-progress-shell{padding:0 12px;gap:0 8px}
 .case-screen .case-progress-copy{font-size:11px;line-height:1.2}
 .case-screen .case-clue-file>summary{font-size:11px;padding:4px 0;max-width:145px}
 .case-screen .story-dialogue{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(64px,1fr) minmax(0,max-content);gap:11px;width:100%;padding:14px!important}
 .case-reading-pane{padding:0 3px 0 0}
 .case-screen .story-dialogue .case-story-text,.case-screen .story-dialogue .case-reader-copy.case-story-text,.case-screen .case-reader-original>.case-story-text,.case-screen .case-reader-original>.brawl-claim{font-size:16px;line-height:1.5}
 .case-screen .case-reader-label{font-size:10px;line-height:1.3;margin-bottom:6px}
 .case-screen .case-reader-controls{gap:0;margin-top:6px}
 .case-screen .case-reader-controls button{padding:5px 7px;font-size:11px}
 .case-decision-pane{justify-content:flex-start;gap:5px;padding:0;border:0}
 .case-screen .story-dialogue .case-decision-pane>.case-decision-claim{font-size:15px;line-height:1.35;margin-bottom:2px}
 .case-screen .story-dialogue .case-decision-pane>.case-question{font-size:11px;line-height:1.3}
 .case-screen .story-dialogue .case-decision-pane>.case-choices{gap:5px}
 .case-screen .story-dialogue .case-choices>button{min-height:44px;padding:7px 25px 7px 8px;font-size:14px;line-height:1.3;gap:7px;grid-template-columns:20px minmax(0,1fr)}
 .case-screen .story-dialogue #brawlFeedback:not(:empty){margin-bottom:8px!important;padding-bottom:7px;font-size:11px}
 .case-screen .brawl-evidence.case-dialogue-panel>.case-document-tab{font-size:11px;margin-bottom:7px}
 .case-screen .case-screen-footer{gap:6px;padding:6px 8px}
 .case-screen .case-screen-footer>button{padding:8px;font-size:13px}
 .case-screen .brawl-reward{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,.6fr)}
 .case-screen.case-cracking .brawl-reward{grid-template-rows:minmax(0,1fr)}
 .case-screen .case-end-details{border-left:0;border-top:1px solid #444;padding:10px!important}
 .case-screen .case-reveal-stage>.case-clear-title{padding:7px 10px 3px;font-size:24px}
 .case-screen .reward-drop.find-from-crack>div{padding:5px 8px}
 .case-screen .case-reveal-stage>.reward-drop{gap:5px;padding:5px}
 .case-screen .case-reveal-stage>.reward-drop>:is(img,svg.sprite-visual){width:60px;height:60px;max-height:30%}
}
@media(max-height:650px) and (max-width:700px){
 .case-screen .story-stage{grid-template-rows:102px 38px minmax(0,1fr)}
 .case-screen .story-art .case-meta>h2{font-size:16px}
 .case-screen .story-art .case-meta>.eyebrow{display:none}
 .case-screen .story-dialogue{padding:10px 12px!important;gap:7px;grid-template-rows:minmax(58px,1fr) minmax(0,max-content)}
 .case-screen .case-reveal-stage>.case-clear-title{font-size:21px}
}
@media(max-height:620px) and (min-width:701px){
 .case-screen .story-stage{grid-template-rows:minmax(100px,1fr) 38px minmax(220px,.95fr)}
 .case-screen .story-dialogue{padding:14px 22px!important;gap:26px}
 .case-screen .story-dialogue .case-reader-copy.case-story-text{font-size:16px;line-height:1.5}
 .case-screen .story-art .case-meta{top:12px}
 .case-screen .story-art .case-meta>h2{font-size:20px}
}
.case-screen[data-case-stage=clear] .story-stage{grid-template-rows:44px minmax(0,1fr)}
.case-screen[data-case-stage=clear] .story-dialogue{width:100%;padding:0!important}
.case-file-room .story-toolbar{grid-template-columns:auto minmax(0,1fr) auto}
