:root{font-family:system-ui,-apple-system,'Segoe UI','Malgun Gothic',sans-serif;color:#222;background:#fafafa;font-size:14px;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:3px;padding:7px 13px;color:#333}button:hover:not(:disabled){background:#eee}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #555;outline-offset:3px}textarea{width:100%;resize:vertical;padding:9px;border:1px solid #ccc;border-radius:2px;color:#222;background:#fff;font-size:13px;line-height:1.7}textarea:focus{outline:2px solid #888;outline-offset:1px}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:650}h2{font-size:17px;font-weight:600}h3{font-size:13px;font-weight:600}[hidden]{display:none!important}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ddd;background:#fff;padding:12px max(20px,calc((100% - 1340px)/2));height:66px}.topbar>a{text-decoration:none;font-size:16px;font-weight:650;white-space:nowrap}.scores{font-size:12px;color:#777;display:flex;gap:17px}.scores b{color:#222;font-weight:600;font-variant-numeric:tabular-nums}.top-actions{display:flex;align-items:center;gap:16px}.time-box{display:flex;align-items:center;gap:10px;white-space:nowrap}.time-box>span{font-size:10px;color:#777}#timer{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:25px;line-height:1}.urgent{color:#b12626}.plain{border:0;background:transparent;padding:3px;font-size:12px;color:#777}main{max-width:1340px;margin:auto;padding:24px 20px 45px}#intro{max-width:530px;margin:60px auto}.intro-sub{margin:7px 0 25px;color:#777;font-size:14px}.instructions{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:19px 0;margin-bottom:25px}.instructions p{font-size:13px;margin:6px 0;color:#555}.instructions p strong{color:#222;font-weight:600}.intro-best{font-size:12px;color:#777;margin-bottom:17px}.solid{background:#282828;color:white;border-color:#282828;padding:9px 21px}.solid:hover:not(:disabled){background:#444}.intro-actions{display:flex;gap:10px;align-items:center}.subtle{font-size:11px;color:#999;margin-top:15px}.play-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px;padding-bottom:16px;border-bottom:1px solid #ddd}.play-meta h2{font-size:15px}.play-meta .tools{display:flex;gap:10px;align-items:center}.notes-link{font-size:12px;color:#777;text-decoration:none}.play-layout{display:grid;grid-template-columns:minmax(0,1fr)235px;gap:25px;align-items:start}.board-scroll{overflow-x:auto;padding-bottom:5px}.floor{margin-bottom:19px}.floor h3{border-bottom:1px solid #ddd;padding-bottom:6px;margin-bottom:8px}.floor h3 small{font-size:10px;color:#999;font-weight:400;margin-left:5px}.column-heads,.people{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:9px}.column-heads{font-size:9px;color:#888;text-align:center;margin-bottom:7px}.person{background:#fff;border:1px solid #ddd;border-radius:2px;padding:12px;min-width:0}.person-head strong{font-size:13px;font-weight:600}.person-head>span{display:flex;align-items:center;gap:5px;color:#888;font-size:9px;margin-top:4px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.color-0{background:#568ab3}.color-1{background:#b36565}.color-2{background:#343434}.testimony{margin:15px 0;font-size:12px;line-height:1.85;word-break:keep-all;min-height:86px}.marks{display:flex;align-items:center;gap:5px}.marks button{padding:3px 9px;font-size:10px;color:#888;background:transparent}.marks button[aria-pressed=true][data-mark=suspect]{color:#9c2e2e;border-color:#b45454;background:#fbf3f3}.marks button[aria-pressed=true][data-mark=clear]{color:#3c654a;border-color:#6e947c;background:#f3f7f3}.marked-suspect{border-color:#bd7777}.marked-clear{border-color:#8da496;background:#fafcf9}.answer{font-size:9px;color:#578065;margin-left:auto}.answer.guilty{color:#a23f3f}details{margin-top:11px;padding-top:8px;border-top:1px solid #eee}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:10px;color:#999}summary::-webkit-details-marker{display:none}details textarea{margin-top:8px;font-size:11px;min-height:80px}.empty{border:1px dashed #e1e1e1;color:#bbb;display:grid;place-items:center;font-size:10px;min-height:210px}.notebook{position:sticky;top:88px;border:1px solid #ddd;background:white;padding:15px}.notebook h2{font-size:13px;margin-bottom:10px}.notebook small{display:block;font-size:10px;color:#999;margin:6px 0 12px}.notebook button{width:100%;font-size:11px}.submit-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:4px;padding:15px 0;border-top:1px solid #ddd}.submit-row span{font-size:11px;color:#888}#result{border:1px solid #bbb;padding:18px;margin:15px 0;background:white}#result h2{margin-bottom:7px}#result p{font-size:12px;color:#777;margin:5px 0}#continue{margin-top:12px}.scroll-note{display:none}dialog{border:1px solid #aaa;border-radius:3px;padding:25px;max-width:490px;width:calc(100% - 36px);max-height:85dvh;overflow:auto;color:#222;background:white}dialog::backdrop{background:#0005}dialog h2{margin-bottom:15px}dialog p,dialog li{font-size:13px;color:#666;line-height:1.9}dialog p{margin:12px 0}dialog ol{padding-left:18px}dialog li{margin-bottom:10px}dialog .actions{display:flex;gap:8px;margin-top:20px}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #ddd;margin-bottom:15px}.modal-heading h2{margin-bottom:10px}.modal-heading time{font-family:ui-monospace,monospace;color:#777;font-size:17px;margin-bottom:10px}#camera-clues p{border-left:2px solid #aaa;background:#f7f7f7;padding:12px;font-size:14px;color:#333}.modal-note{font-size:11px!important;color:#999!important}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);padding:10px 17px;background:#222;color:white;font-size:12px;border-radius:3px;z-index:10;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){.play-layout{grid-template-columns:minmax(0,1fr)}.notebook{position:static}.notebook textarea{height:130px}.notebook button{width:auto}.testimony{font-size:12px}}@media(max-width:650px){.topbar{height:61px;padding:10px 14px;gap:10px}.topbar>a{font-size:13px}.scores{font-size:10px;gap:8px}.top-actions{gap:10px}.time-box{gap:5px}.time-box>span{display:none}#timer{font-size:22px}main{padding:20px 14px}#intro{margin:32px auto}.intro-sub{font-size:13px}.topbar .plain{font-size:10px}.play-meta{align-items:flex-start;gap:10px;margin-bottom:16px}.play-meta h2{font-size:12px}.play-meta button{font-size:11px;padding:5px 9px}.play-meta .tools{gap:8px}.notes-link{font-size:11px}.scroll-note{display:block;font-size:10px;color:#999;margin-bottom:10px}#board{min-width:calc(var(--columns,3) * 150px + (var(--columns,3) - 1) * 9px)}.person{padding:10px}.testimony{font-size:12px;min-height:108px}.column-heads{font-size:9px}.submit-row span{font-size:10px}.solid{font-size:12px}.time-box .urgent{color:#b12626}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.person-head{display:flex;gap:10px;align-items:center}.person-head>div{min-width:0}.person-head>div>span{display:flex;align-items:center;gap:5px;color:#888;font-size:9px;margin-top:4px}.portrait{width:36px;height:42px;flex-shrink:0}.testimony.silent{color:#aaa;font-style:italic}@media(max-width:650px){.portrait{width:29px;height:35px}.person-head{gap:7px}}
.guide-foot{font-size:10px;color:#999;margin-bottom:7px}.guide-source{font-size:10px;color:#888}.notebook{max-height:calc(100dvh - 110px);overflow-y:auto}@media(max-width:1000px){.notebook{max-height:none;overflow:visible}}
.logic-positive{color:#2b66a0;font-weight:750}.logic-negative{color:#ac3d3d;font-weight:750}.memo-tags{display:flex;align-items:center;gap:5px;border-top:1px solid #e5e5e5;margin-top:11px;padding-top:9px}.memo-tags>span{color:#999;font-size:10px;margin-right:auto}.memo-tag{padding:1px 7px;font-size:11px;line-height:1.9;background:transparent;border-width:1px}.tag-button-1{color:#3b6da4;border-color:#b9cde4}.tag-button-2{color:#ad5050;border-color:#ddb9b9}.tag-button-3{color:#4d7e5b;border-color:#b6cebb}.tag-button-4{color:#9a7a2e;border-color:#dbcca5}.memo-tag[aria-pressed=true]{font-weight:750;border-color:currentColor}.person.tag-1{background:#eaf2fc;border-color:#a9c3e1}.person.tag-2{background:#fbeaea;border-color:#d9aaaa}.person.tag-3{background:#eaf4ec;border-color:#a9c9b0}.person.tag-4{background:#faf2dc;border-color:#d6c38e}
.mode-label{color:#444}.practice-feedback{font-size:12px;color:#725a2b;background:#faf4e7;border:1px solid #dfd0b0;padding:12px;margin:0 0 18px}.novice-controls{border-bottom:1px solid #ddd;padding-bottom:15px;margin-bottom:15px}.switch-row{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;cursor:pointer}.switch-row input{accent-color:#3c698f}.novice-controls select{width:100%;font:inherit;font-size:11px;background:#fff;border:1px solid #ccc;padding:7px;margin:6px 0}.novice-controls #novice-visual>label{display:block;font-size:10px;color:#999;margin-top:12px}.novice-controls p{font-size:11px;line-height:1.85;margin:9px 0}.novice-controls #novice-status{background:#f1f5f9;padding:9px;color:#586c82}.novice-controls #novice-status.conflict{background:#fcecec;color:#aa3434;font-weight:600}.person.assumption-target-a{outline:2px dashed #729ac7;outline-offset:-4px}.person.assumption-target-b{outline:2px dashed #9f88b3;outline-offset:-4px}.person.assumption-source{box-shadow:0 0 0 2px #415e80}.person.assumption-conflict{outline:2px solid #c14e4e;outline-offset:-3px;box-shadow:0 0 0 1px #c14e4e}.deduced-label{font-size:8px;color:#56768d;margin-left:auto;white-space:nowrap}.novice-controls small{font-size:9px!important}
.play-meta .tools{flex-shrink:0;white-space:nowrap}.play-meta h2{min-width:0;word-break:keep-all}
.logic-name,.person-head strong{color:#111;font-weight:750}

.camera-record{border-bottom:1px solid #ddd;padding-bottom:10px;margin-bottom:15px}.camera-record p{font-size:11px;line-height:1.85;border-left:2px solid #bbb;padding:7px 9px;margin:8px 0;background:#f7f7f7;word-break:keep-all}.camera-record small{line-height:1.7}

.time-track{position:absolute;top:0;left:0;right:0;height:4px;background:#e7e7e7;pointer-events:none}.time-track span{display:block;height:100%;background:#426f9a;transition:width .25s linear}.case-status{min-width:0;flex:1}.case-status #case-label{font-size:11px;font-weight:400;color:#777;line-height:1.5;margin-bottom:3px}.case-status #killer-count{border:0;background:transparent;text-align:left;padding:0;font-size:19px;line-height:1.5;white-space:nowrap;color:#222}.case-status #killer-count:disabled{opacity:1;cursor:default}.case-status #killer-count strong{font-weight:750}.case-status #killer-count.estimated strong{color:#2b66a0}.case-status #killer-count small{font-size:10px;color:#999;font-weight:400;margin-left:6px}.is-playing .topbar{height:92px;gap:22px;padding-top:15px;padding-bottom:12px}.is-playing .topbar>a{font-size:13px}.is-playing .notebook{top:114px;max-height:calc(100dvh - 136px)}
@media(max-width:1000px){.is-playing .notebook{max-height:none}}
@media(max-width:650px){.is-playing .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:102px;gap:3px 12px;padding:12px 14px 10px}.is-playing .topbar>a{display:none}.is-playing .case-status{grid-column:1;grid-row:1}.case-status #case-label{font-size:10px}.case-status #killer-count{font-size:18px}.case-status #killer-count small{font-size:9px;margin-left:4px}.is-playing .topbar .scores{grid-column:1;grid-row:2;gap:10px;font-size:9px}.is-playing .topbar .top-actions{grid-column:2;grid-row:1 / 3;display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:115px;gap:7px}.is-playing .topbar .time-box{flex-basis:100%;justify-content:flex-end}.is-playing .topbar .time-box>span{display:inline;font-size:9px}.is-playing .topbar #timer{font-size:22px}}

@media(max-width:380px){.case-status #killer-count{white-space:normal;max-width:100%}.case-status #killer-count small{display:block;margin-left:0}}

.mobile-view-controls{display:none}button{touch-action:manipulation}
@media(max-width:650px){
 .mobile-view-controls{display:flex;gap:6px;margin:0 0 18px}.mobile-view-controls button{min-height:44px;flex:1;font-size:13px}.mobile-view-controls button[aria-pressed=true]{background:#292929;color:#fff;border-color:#292929}
 .person .marks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.person .marks button{min-height:48px;font-size:14px;font-weight:650;border-radius:5px;padding:9px 8px;color:#666}.person .marks button[data-mark=clear][aria-pressed=true]{background:#e2f0e5;color:#285a3b;border:2px solid #699b77}.person .marks button[data-mark=suspect][aria-pressed=true]{background:#f8e1e1;color:#9d2f2f;border:2px solid #c17373}.marks .answer,.marks .deduced-label{grid-column:1/-1;justify-self:end;font-size:11px}
 .memo-tag{min-width:38px;min-height:40px;font-size:13px}.person-head>div>span{font-size:11px}.person-head strong{font-size:15px}
 .mobile-cards #board{min-width:0}.mobile-cards .board-scroll{overflow:visible}.mobile-cards .column-heads{display:none}.mobile-cards .people{grid-template-columns:minmax(0,1fr);gap:12px}.mobile-cards .empty{display:none}.mobile-cards .person{padding:15px;scroll-margin-top:120px}.mobile-cards .portrait{width:36px;height:42px}.mobile-cards .testimony{min-height:0;margin:15px 0;font-size:14px;line-height:1.9}.mobile-cards .scroll-note{display:none}.mobile-cards .floor{margin-bottom:24px}.mobile-cards .floor h3{font-size:14px}
 .is-playing .submit-row{position:fixed;left:0;right:0;bottom:0;z-index:6;background:#fff;margin:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #ccc;box-shadow:0 -3px 12px #00000008;gap:10px}.submit-row .solid{min-height:48px;min-width:128px;font-size:14px}.submit-row>span{font-size:11px}.is-playing main{padding-bottom:110px}.toast{bottom:calc(90px + env(safe-area-inset-bottom))}
 dialog .actions{flex-wrap:wrap}dialog button{min-height:44px}
}

@media(max-width:650px){body:not(.mobile-cards) .memo-tags{flex-wrap:wrap}body:not(.mobile-cards) .memo-tags>span{flex-basis:100%;margin-right:0}body:not(.mobile-cards) .memo-tag{min-width:0;flex:1;padding:1px 4px}}

.person-head>.room-badge{margin-left:auto;margin-top:0;flex-shrink:0;display:block;padding:3px 6px;border:1px solid #bdc8d1;border-radius:3px;background:#f1f5f8;color:#243b50;font-size:15px;font-weight:750;line-height:1.4;text-align:center}.room-badge small{display:block;font-size:9px;font-weight:500;color:#617180;white-space:nowrap}.column-heads{font-size:12px;font-weight:750;color:#31495d;gap:9px}.column-heads>span{padding:7px 2px;border:1px solid #bcc8d2;border-radius:3px;background:#eaf0f5}.room-line-nav{display:none}
@media(max-width:650px){
 #board{min-width:calc(var(--columns,3) * 168px + (var(--columns,3) - 1) * 9px)}
 .room-line-nav{display:flex;gap:6px;margin:-8px 0 16px}.room-line-nav button{flex:1;min-width:0;min-height:44px;padding:7px 3px;font-size:12px;font-weight:650;color:#31495d;background:#f1f5f8;border-color:#bcc8d2}
 body:not(.mobile-cards) .person-head{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:5px}body:not(.mobile-cards) .person-head .portrait{width:22px;height:29px}body:not(.mobile-cards) .person-head strong{font-size:12px}body:not(.mobile-cards) .person-head>div>span{font-size:9px}
 .room-badge{font-size:14px;padding:3px 4px}.room-badge small{font-size:8px}.column-heads{font-size:12px}.person{border-left-width:3px}.mobile-cards .room-badge{font-size:18px;padding:5px 9px}.mobile-cards .room-badge small{font-size:10px}
 .person .marks button{font-size:13px;padding:8px 3px}.empty{min-height:260px;font-size:11px}
}

@media(min-width:651px){.person .marks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.person .marks button{width:100%;min-width:0;min-height:38px;padding:7px 5px;font-size:13px;font-weight:650;line-height:1.4;border-radius:4px;color:#666}.person .marks .answer,.person .marks .deduced-label{grid-column:1/-1;justify-self:end;margin-left:0}.person .marks button[data-mark=clear][aria-pressed=true]{color:#285a3b;background:#e2f0e5}.person .marks button[data-mark=suspect][aria-pressed=true]{color:#9d2f2f;background:#f8e1e1}}

.practice-settings{border-bottom:1px solid #ddd;padding-bottom:14px;margin-bottom:14px}.practice-settings p{font-size:11px;color:#777;margin-bottom:10px}.practice-settings label{font-size:11px;color:#666}.practice-stepper{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;margin:7px 0 10px}.practice-stepper button{min-height:38px;font-size:17px!important;padding:3px!important}.practice-stepper input{width:100%;min-width:0;text-align:center;font:inherit;padding:6px;border:1px solid #bbb;border-radius:3px;background:#fff;color:#222}.run-records{margin:0 0 15px;padding-bottom:12px;border-top:0;border-bottom:1px solid #ddd}.run-records summary{font-size:12px;color:#555}.run-records ol{padding-left:18px;margin:10px 0}.run-records li{font-size:11px;margin-bottom:10px}.run-records li small{margin:0!important;font-size:9px!important}.intro-actions{margin-top:14px}
@media(max-width:650px){.practice-stepper{grid-template-columns:48px minmax(0,1fr) 48px}.practice-stepper button,.practice-stepper input,#practice-new-case{min-height:44px}.practice-settings h2{font-size:14px}.practice-settings>button{width:100%}}

#case-panel,#practice-settings{scroll-margin-top:120px}

/* Symmetric header columns keep the clock centered at every width. */
.topbar,.is-playing .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}
.header-left,.header-right{display:flex;align-items:center;gap:20px;min-width:0}.header-left>a{text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}.header-right{justify-content:flex-end}.header-right .scores{gap:12px;white-space:nowrap}.topbar>.time-box{justify-content:center;flex-direction:column;gap:5px;text-align:center}.topbar #timer{font-size:28px}.topbar .time-box>span{display:block;font-size:10px}.topbar #main-menu{white-space:nowrap}.is-playing .case-status{flex:1}.is-playing .topbar .scores{font-size:11px}
@media(max-width:900px){.header-left>a{display:none}.header-right{flex-direction:column;align-items:flex-end;gap:5px}.header-right .scores{gap:8px;font-size:10px}.topbar,.is-playing .topbar{gap:12px}.topbar #main-menu{min-height:32px}body:not(.is-playing) .header-left>a{display:block}}
@media(max-width:650px){.topbar,.is-playing .topbar{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:8px;min-height:102px;height:auto;padding:12px 14px 10px}.is-playing .case-status{grid-column:auto;grid-row:auto}.is-playing .topbar .scores{font-size:9px;gap:7px;flex-wrap:wrap;justify-content:flex-end}.topbar #timer{font-size:25px}.topbar .time-box>span{font-size:9px}.topbar .plain{font-size:11px}.case-status #case-label{font-size:9px}.case-status #killer-count{font-size:17px}.case-status #killer-count small{display:block;margin-left:0;font-size:8px}.header-left,.header-right{gap:4px}.header-left>a{font-size:12px}}

.header-case-title{font-size:14px;font-weight:650;white-space:nowrap}.submit-row{justify-content:flex-end}
@media(max-width:650px){.header-left{flex-direction:column;align-items:flex-start;gap:1px}.header-case-title{font-size:13px}.is-playing .submit-row{justify-content:flex-end}}

body:not(.is-playing) .topbar{display:grid;height:66px;min-height:66px}body:not(.is-playing) .topbar>*{visibility:hidden}body:not(.is-playing) main{min-height:calc(100svh - 66px);display:grid;place-items:center;padding:24px}body:not(.is-playing) #intro{width:min(300px,100%);max-width:none;margin:0;display:flex;flex-direction:column;gap:17px;text-align:center}#intro>button{width:100%;min-height:68px;font-size:clamp(22px,3.5vw,27px);font-weight:650;padding:12px 20px}#intro .intro-best{font-size:clamp(20px,3vw,24px);color:#555;margin:8px 0 0}#intro .intro-best b{color:#222;font-variant-numeric:tabular-nums}
.practice-range-label{display:flex;justify-content:space-between;align-items:center;gap:12px}.practice-range-label output{font-size:20px;font-weight:700;color:#222;font-variant-numeric:tabular-nums}#practice-next-level{display:block;width:100%;margin:6px 0 0;min-height:44px;padding:0;accent-color:#333;cursor:pointer;touch-action:pan-y}.practice-range-scale{display:flex;justify-content:space-between;color:#999;font-size:10px;margin:-4px 0 12px}#practice-next-level:focus-visible{outline:2px solid #555;outline-offset:2px}

.case-intro{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#fafafa;color:#222;pointer-events:auto}.case-intro p{font-size:clamp(32px,6vw,52px);font-weight:650;letter-spacing:.06em;line-height:1.4;text-align:center;padding:24px}.case-entering>.topbar,.case-entering>main{opacity:0}#play:focus{outline:none}

.case-intro p>span{display:block}.case-intro p>small{display:block;font-size:clamp(16px,3vw,23px);font-weight:500;letter-spacing:.03em;margin-top:12px;color:#666}
.case-map{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #ddd;scroll-margin-top:125px}.map-roof{height:13px;background:#d4d9dc;clip-path:polygon(7% 0,93% 0,100% 100%,0 100%)}.map-building{border:2px solid #c4cbcf;background:#f0f2f3;padding:5px}.map-line-heads,.map-floor{display:grid;grid-template-columns:20px repeat(var(--map-columns),minmax(0,1fr));gap:4px}.map-line-heads{align-items:center;text-align:center;margin-bottom:5px;color:#61717c;font-size:8px;line-height:1.4}.map-floor+.map-floor{border-top:1px solid #c4cbcf;padding-top:5px;margin-top:5px}.map-floor-label{align-self:center;font-size:9px;color:#777}.notebook .map-person{width:100%;min-width:0;min-height:73px;padding:5px 1px;display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid #ccd3d8;background:#fff;border-radius:2px;line-height:1.3}.map-person .portrait{width:22px;height:26px;flex-shrink:0}.map-person strong{font-size:9px;font-weight:650;white-space:nowrap}.map-person>span{font-size:8px;color:#777;white-space:nowrap}.map-person.map-clear{border-color:#699b77;background:#f0f7f1}.map-person.map-suspect{border-color:#c17373;background:#fbefef}.map-person.map-active{outline:2px solid #426f9a;outline-offset:0}.map-empty{display:grid;place-items:center;min-width:0;font-size:8px;color:#aaa;border:1px dashed #d1d6d9}.person.testimony-focused{outline:2px solid #426f9a;outline-offset:2px}.person.testimony-focused .testimony{background:#eef4f9;border-radius:2px;box-shadow:0 0 0 6px #eef4f9}.testimony:focus{outline:none}
@media(max-width:1000px){#building-map{max-width:360px;margin:0 auto}.map-line-heads{font-size:10px}.map-person strong{font-size:11px}.map-person>span{font-size:9px}.map-person .portrait{width:26px;height:31px}.notebook .map-person{min-height:83px}.map-floor-label{font-size:11px}}

#submit{min-width:220px;min-height:58px;padding:14px 34px;font-size:18px;font-weight:700;border-radius:4px;line-height:1.4}
@media(max-width:650px){.is-playing .submit-row #submit{width:100%;min-width:0;min-height:58px;font-size:18px}}

/* Scale the complete main panel uniformly; the header keeps its size. */
main{zoom:.9}body:not(.is-playing) main{min-height:calc((100svh - 66px)/.9)}
.submit-row{justify-content:space-between;gap:12px}#camera-open{min-height:58px;min-width:140px;padding:12px 18px;font-size:14px;font-weight:600}
.topbar #main-menu{min-height:40px;padding:8px 13px;border:1px solid #bbb;border-radius:4px;background:#fff;color:#333;font-size:12px;font-weight:600}
#practice-settings{scroll-margin-top:140px}
@media(max-width:650px){.is-playing .submit-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}.is-playing .submit-row #camera-open{width:100%;min-width:0;min-height:58px;padding:8px 6px;font-size:13px;white-space:nowrap}.is-playing .submit-row #submit{min-width:0;padding:12px 10px}.topbar #main-menu{min-height:38px;padding:7px 10px;font-size:11px}}

/* Leave room for the full focus outline inside the scrolling board. */
.board-scroll{padding:5px}
#game-over{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;border-radius:0;background:#fafafa;color:#222;overflow:auto}#game-over[open]{display:grid;place-items:center;animation:game-over-fade .25s ease-out}#game-over::backdrop{background:#fafafa}.game-over-content{width:min(440px,100%);text-align:center;padding:24px 0}#game-over-title{font-size:clamp(38px,8vw,64px);font-weight:750;letter-spacing:.05em;line-height:1.2;margin:0 0 22px;animation:game-over-title .45s cubic-bezier(.2,.8,.2,1)}.game-over-details{animation:game-over-details .45s ease-out}.game-over-records{display:flex;justify-content:center;gap:48px;margin:28px 0}.game-over-records dt{font-size:12px;color:#888}.game-over-records dd{font-size:32px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.4;margin:5px 0 0}#game-over-reason{font-size:15px;line-height:1.8;word-break:keep-all;color:#555;margin:0}#game-over-tip{font-size:13px;line-height:1.8;color:#426785;background:#edf3f7;padding:12px 15px;margin:0 0 24px;border-radius:3px;word-break:keep-all}.game-over-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-over-actions button{min-height:52px;padding:12px 10px;font-size:14px;font-weight:600}
@keyframes game-over-fade{from{opacity:0}to{opacity:1}}@keyframes game-over-title{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes game-over-details{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#game-over[open],#game-over-title,.game-over-details{animation:none}}

body.game-over-open{overflow:hidden}#game-over{overscroll-behavior:none}

/* The supplied pixel scene stays intact; rain and light animate above it. */
.game-over-content{width:min(720px,100%);padding:0}.game-over-scene{--rain-travel:calc(min(720px,100vw - 48px)/3 + 42px);position:relative;isolation:isolate;width:100%;aspect-ratio:3/1;overflow:hidden;border-radius:4px;background:#292740;animation:game-over-details .45s ease-out}.game-over-scene>img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.scene-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none}.scene-lamp{position:absolute;left:56%;top:23%;width:20%;height:66%;clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:radial-gradient(ellipse at 50% 0,#ffe3a9a0,#fbc57e26 60%,transparent 80%);mix-blend-mode:screen;animation:scene-lamp 4.8s linear infinite}.scene-beacon{position:absolute;top:53%;width:4%;height:6%;mix-blend-mode:screen;animation:scene-beacon 2.4s steps(1,end) infinite}.scene-red{left:84%;background:#ff4363;box-shadow:0 0 14px 4px #ff3f64b0}.scene-blue{left:89%;background:#4baaff;box-shadow:0 0 14px 4px #288cfbb0;animation-delay:-1.2s}.scene-reflection{position:absolute;top:89%;width:9%;height:11%;background:repeating-linear-gradient(0deg,transparent 0 5px,currentColor 5px 7px,transparent 7px 11px);mix-blend-mode:screen;animation:scene-beacon 2.4s steps(1,end) infinite}.reflection-red{left:81%;color:#fa3f6c}.reflection-blue{left:89%;color:#4aa2ff;animation-delay:-1.2s}.scene-rain{position:absolute;inset:0;overflow:hidden}.scene-rain i{position:absolute;top:0;left:var(--x);width:2px;height:var(--length);background:#b8b0e1;opacity:.45;animation:scene-rain var(--duration) linear var(--delay) infinite;will-change:transform}#game-over:not([open]) .scene-effects *{animation-play-state:paused}
#game-over-title{margin-bottom:16px}.game-over-details{max-width:440px;margin:16px auto 0}.game-over-records{margin:16px 0;gap:48px}.game-over-records dd{font-size:28px}#game-over-tip{margin-bottom:16px}.game-over-actions button{min-height:48px}
@keyframes scene-rain{from{transform:translate3d(6px,-24px,0) rotate(8deg)}to{transform:translate3d(-12px,var(--rain-travel),0) rotate(8deg)}}@keyframes scene-beacon{0%,45%{opacity:.7}46%,100%{opacity:.03}}@keyframes scene-lamp{0%,30%,34%,70%,74%,100%{opacity:.4}31%,33%,71%,73%{opacity:.2}}
@media(max-width:650px){#game-over{padding:20px}#game-over-title{font-size:clamp(34px,8vw,44px);margin-bottom:14px}.game-over-scene{--rain-travel:calc((100vw - 40px)/3 + 42px)}.game-over-details{margin-top:18px}.scene-beacon{box-shadow:0 0 8px 2px currentColor}.scene-red{color:#ff4363}.scene-blue{color:#4baaff}.scene-rain i{width:1px}}
@media(max-height:600px) and (min-width:651px){#game-over{padding:16px}.game-over-content{width:min(600px,100%)}#game-over-title{font-size:38px;margin-bottom:10px}.game-over-details{margin-top:12px}.game-over-records{margin:10px 0}.game-over-records dd{font-size:24px}}
@media(prefers-reduced-motion:reduce){.game-over-scene,.scene-effects *{animation:none!important}.scene-rain{display:none}.scene-lamp{opacity:.25}.scene-beacon,.scene-reflection{opacity:.2}}

/* AI-created low-resolution plates and eight registered character frames. */
.scene-light-lamp{animation:scene-lamp-switch 8s steps(1,end) infinite}.scene-lamp-bulb{position:absolute;left:64.7%;top:21.7%;width:2.6%;height:2.6%;background:#ffe797;clip-path:polygon(0 0,100% 0,90% 100%,10% 100%)}.scene-lamp-cone{position:absolute;left:55.8%;top:24%;width:20.5%;height:63%;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);background:linear-gradient(#ffc97655,#d78a2512);mix-blend-mode:screen}.scene-lamp-pool{position:absolute;left:56%;top:87%;width:20%;height:9%;background:radial-gradient(ellipse,#e4b36d55,transparent 72%);mix-blend-mode:screen}
.scene-actor{position:absolute;width:12.22222%;height:55%;pointer-events:none}.actor-sprite{position:absolute;inset:0;display:block;background-image:url('assets/game-over-sprites-v2.png');background-size:400% 200%;background-repeat:no-repeat;image-rendering:pixelated;will-change:background-position,transform}.actor-detective{left:39%;bottom:8.45%}.actor-detective .actor-sprite{background-position:0 0;transform:translateX(-56.35%);animation:detective-frames 3.2s steps(1,end) infinite}.actor-officer{left:51%;bottom:.36%}.actor-officer .actor-sprite{background-position:0 100%;transform:translateX(-55.94%);animation:officer-frames 3.8s steps(1,end) infinite;animation-delay:-.8s}
.scene-beacon{top:56.1%;width:3.5%;height:2.8%}.scene-red{left:84.6%}.scene-blue{left:88.3%}.reflection-red{left:82.8%;opacity:.5}.reflection-blue{left:88.3%;opacity:.5}
@keyframes scene-lamp-switch{0%,62%,86%,100%{opacity:1}63%,85%{opacity:0}}
@keyframes scene-beacon{0%,45%{opacity:.8}46%,100%{opacity:0}}
@keyframes detective-frames{0%,38%,89%,100%{background-position:0 0;transform:translateX(-56.35%)}39%,44%{background-position:33.333333% 0;transform:translateX(-55.94%)}45%,68%{background-position:66.666667% 0;transform:translateX(-52.76%)}69%,88%{background-position:100% 0;transform:translateX(-47.79%)}}
@keyframes officer-frames{0%,49%,93%,100%{background-position:0 100%;transform:translate(-55.94%,0)}50%,55%{background-position:33.333333% 100%;transform:translate(-54.83%,0)}56%,73%{background-position:66.666667% 100%;transform:translate(-52.62%,-.37%)}74%,92%{background-position:100% 100%;transform:translate(-49.86%,0)}}
@media(prefers-reduced-motion:reduce){.scene-light-lamp{opacity:1}.scene-actor .actor-sprite{animation:none!important}}

/* Fixture masks use the same coordinate grid as the background image. */
.scene-lighting{position:absolute;inset:0;width:100%;height:100%;overflow:visible;shape-rendering:crispEdges}.beacon-red,.beacon-blue{animation:scene-beacon 2.4s steps(1,end) infinite}.beacon-blue{animation-delay:-1.2s}.cafe-light{opacity:1}
@media(prefers-reduced-motion:reduce){.beacon-red,.beacon-blue{opacity:.35}}


/* Failure-specific AI sprite atlases; source PNGs stay intact. Crop rectangles
   and registration offsets match each generated frame rather than assuming a grid. */
.actor-extra{display:none}
.game-over-scene[data-scene="timeout"] .actor-extra{display:none!important}
.game-over-scene[data-scene="escaped"] .actor-sprite{background-image:url("assets/game-over-escaped-sprites.png");animation-delay:0s}.game-over-scene[data-scene="escaped"] .actor-extra{display:block}
.game-over-scene[data-scene="escaped"] .actor-detective{width:14.22222%;height:41.93523%;bottom:9.07429%}
.game-over-scene[data-scene="escaped"] .actor-detective .actor-sprite{background-size:413.714286% 315.697674%;background-position:5.828780% 9.703504%;transform:translate(-41.85714%,0.00000%);animation:escaped-detective-frames 2.4s steps(1,end) infinite}
@keyframes escaped-detective-frames{0%,24.999%{background-position:5.828780% 9.703504%;transform:translate(-41.85714%,0.00000%)}25%,49.998999999999995%{background-position:37.704918% 9.703504%;transform:translate(-42.00000%,-0.29070%)}50%,74.999%{background-position:69.581056% 9.703504%;transform:translate(-39.14286%,-0.29070%)}75%,99.999%{background-position:101.457195% 9.703504%;transform:translate(-38.85714%,-0.29070%)}100%{background-position:5.828780% 9.703504%;transform:translate(-41.85714%,0.00000%)}}
.game-over-scene[data-scene="escaped"] .actor-officer{width:14.22222%;height:41.93523%;bottom:7.00191%}
.game-over-scene[data-scene="escaped"] .actor-officer .actor-sprite{background-size:413.714286% 315.697674%;background-position:5.828780% 54.986523%;transform:translate(-44.14286%,0.00000%);animation:escaped-officer-frames 0.64s steps(1,end) infinite}
@keyframes escaped-officer-frames{0%,24.999%{background-position:5.828780% 54.986523%;transform:translate(-44.14286%,0.00000%)}25%,49.998999999999995%{background-position:37.704918% 54.986523%;transform:translate(-47.57143%,0.00000%)}50%,74.999%{background-position:69.581056% 54.986523%;transform:translate(-47.00000%,0.00000%)}75%,99.999%{background-position:101.457195% 54.986523%;transform:translate(-46.00000%,0.00000%)}100%{background-position:5.828780% 54.986523%;transform:translate(-44.14286%,0.00000%)}}
.game-over-scene[data-scene="escaped"] .actor-extra{width:14.22222%;height:41.93523%;bottom:4.44191%}
.game-over-scene[data-scene="escaped"] .actor-extra .actor-sprite{background-size:413.714286% 315.697674%;background-position:5.828780% 99.191375%;transform:translate(-45.00000%,0.00000%);animation:escaped-extra-frames 0.52s steps(1,end) infinite}
@keyframes escaped-extra-frames{0%,24.999%{background-position:5.828780% 99.191375%;transform:translate(-45.00000%,0.00000%)}25%,49.998999999999995%{background-position:37.704918% 99.191375%;transform:translate(-46.42857%,0.00000%)}50%,74.999%{background-position:69.581056% 99.191375%;transform:translate(-43.42857%,0.00000%)}75%,99.999%{background-position:101.457195% 99.191375%;transform:translate(-45.28571%,0.00000%)}100%{background-position:5.828780% 99.191375%;transform:translate(-45.00000%,0.00000%)}}
.game-over-scene[data-scene="wrongful"] .actor-sprite{background-image:url("assets/game-over-wrongful-sprites.png");animation-delay:0s}.game-over-scene[data-scene="wrongful"] .actor-extra{display:block}
.game-over-scene[data-scene="wrongful"] .actor-detective{width:14.22222%;height:41.93523%;bottom:11.14667%}
.game-over-scene[data-scene="wrongful"] .actor-detective .actor-sprite{background-size:413.714286% 315.697674%;background-position:5.828780% 6.469003%;transform:translate(-39.14286%,0.00000%);animation:wrongful-detective-frames 3.2s steps(1,end) infinite}
@keyframes wrongful-detective-frames{0%,24.999%{background-position:5.828780% 6.469003%;transform:translate(-39.14286%,0.00000%)}25%,49.998999999999995%{background-position:37.704918% 6.469003%;transform:translate(-39.71429%,0.29070%)}50%,74.999%{background-position:69.581056% 6.469003%;transform:translate(-42.14286%,0.29070%)}75%,99.999%{background-position:101.457195% 6.469003%;transform:translate(-41.28571%,0.29070%)}100%{background-position:5.828780% 6.469003%;transform:translate(-39.14286%,0.00000%)}}
.game-over-scene[data-scene="wrongful"] .actor-officer{width:14.22222%;height:38.03428%;bottom:11.02476%}
.game-over-scene[data-scene="wrongful"] .actor-officer .actor-sprite{background-size:413.714286% 348.076923%;background-position:5.828780% 51.679587%;transform:translate(-34.14286%,0.00000%);animation:wrongful-officer-frames 1.6s steps(1,end) infinite}
@keyframes wrongful-officer-frames{0%,24.999%{background-position:5.828780% 51.679587%;transform:translate(-34.14286%,0.00000%)}25%,49.998999999999995%{background-position:37.704918% 51.679587%;transform:translate(-35.28571%,0.00000%)}50%,74.999%{background-position:69.581056% 51.679587%;transform:translate(-39.71429%,0.00000%)}75%,99.999%{background-position:101.457195% 51.679587%;transform:translate(-39.71429%,0.00000%)}100%{background-position:5.828780% 51.679587%;transform:translate(-34.14286%,0.00000%)}}
.game-over-scene[data-scene="wrongful"] .actor-extra{width:14.22222%;height:41.93523%;bottom:9.07429%}
.game-over-scene[data-scene="wrongful"] .actor-extra .actor-sprite{background-size:413.714286% 315.697674%;background-position:5.828780% 95.956873%;transform:translate(-39.00000%,0.00000%);animation:wrongful-extra-frames 1.8s steps(1,end) infinite}
@keyframes wrongful-extra-frames{0%,24.999%{background-position:5.828780% 95.956873%;transform:translate(-39.00000%,0.00000%)}25%,49.998999999999995%{background-position:37.704918% 95.956873%;transform:translate(-42.85714%,0.00000%)}50%,74.999%{background-position:69.581056% 95.956873%;transform:translate(-44.00000%,-0.29070%)}75%,99.999%{background-position:101.457195% 95.956873%;transform:translate(-46.85714%,-0.29070%)}100%{background-position:5.828780% 95.956873%;transform:translate(-39.00000%,0.00000%)}}
.game-over-scene[data-scene="escaped"] .actor-officer{left:51%;animation:chase-officer 2.8s linear infinite}.game-over-scene[data-scene="escaped"] .actor-extra{left:65%;animation:escaping-runner 2.8s linear infinite}.game-over-scene[data-scene="wrongful"] .actor-officer{left:51%}.game-over-scene[data-scene="wrongful"] .actor-extra{left:60%}
@keyframes chase-officer{0%,100%{transform:translateX(0)}50%{transform:translateX(20%)}}@keyframes escaping-runner{0%{transform:translateX(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translateX(85%);opacity:0}}
@media(prefers-reduced-motion:reduce){.scene-actor{animation:none!important;opacity:1!important}}

/* Recorded footage opens like a monitor; the live challenge clock keeps running. */
.camera-playback{position:relative;height:130px;overflow:hidden;margin:8px 0 20px;background:#19252a;border:5px solid #35454b;box-shadow:inset 0 0 0 2px #638079;color:#c1e1cf;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-family:monospace}.camera-playback:after,.clear-evidence:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#06151335 3px 5px)}.camera-playback strong{font-size:24px;letter-spacing:.15em}.camera-playback small{font-size:10px}.camera-rec{position:absolute;left:12px;top:10px;font-size:10px;color:#ef8989;animation:rec-blink 1s steps(1,end) infinite}.camera-pixel-icon{width:29px;height:20px;border:3px solid #9ebdae;position:relative}.camera-pixel-icon:after{content:"";position:absolute;right:-12px;top:1px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid #9ebdae}.camera-scan{position:absolute;inset:0;background:linear-gradient(transparent,#bfefd025,transparent);transform:translateY(-100%);pointer-events:none;animation:monitor-scan 1.5s linear infinite}.camera-playing .camera-playback{animation:monitor-on .7s ease-out}.camera-playing #camera-clues{animation:footage-reveal 1.1s ease-out}.camera-playing .camera-pixel-icon{animation:rec-blink .35s steps(1,end) 2}
@keyframes monitor-on{0%{opacity:0;transform:scaleY(.02)}35%{opacity:1;transform:scaleY(.04)}75%{transform:scaleY(1.03)}100%{transform:scaleY(1)}}@keyframes monitor-scan{to{transform:translateY(100%)}}@keyframes rec-blink{50%{opacity:.2}}@keyframes footage-reveal{0%,65%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:translateY(0)}}
/* Three short shots, then four seconds to read the verdict before advancing. */
body.clear-open{overflow:hidden}#clear-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;border-radius:0;background:#fafafa;color:#222;overflow:auto}#clear-dialog[open]{display:grid;place-items:center}#clear-dialog::backdrop{background:#fafafa}.clear-content{width:min(720px,100%);text-align:center;padding:24px 0}#clear-cut-label{font-size:14px;font-weight:650;letter-spacing:.06em;margin:0 0 18px}.clear-shots{aspect-ratio:3/1;position:relative;overflow:hidden;border-radius:3px;background:#292841}.clear-shot{display:none;width:100%;height:100%;position:relative;overflow:hidden}.clear-shot .game-over-scene{width:100%;height:100%;animation:shot-reveal .3s ease-out}.clear-shot .game-over-scene>img{height:100%}.clear-shot .actor-extra{display:none}#clear-dialog[data-cut="0"] .clear-shot:nth-child(1),#clear-dialog[data-cut="1"] .clear-shot:nth-child(2),#clear-dialog[data-cut="2"] .clear-shot:nth-child(3){display:block}.clear-evidence{background:#1e2f32;color:#b9d8c9;padding:18px;animation:shot-reveal .3s ease-out}.evidence-label{display:block;font:10px monospace;letter-spacing:.16em;color:#88a89b;margin-bottom:16px}#clear-evidence-people{display:flex;justify-content:center;gap:28px;position:relative;z-index:1}#clear-evidence-people>div{display:flex;flex-direction:column;align-items:center;gap:5px}#clear-evidence-people .portrait{width:42px;height:48px;filter:sepia(.5)}#clear-evidence-people strong{font-size:13px;color:#e1eee6}#clear-evidence-people span{font-size:10px;color:#99b8a8}.evidence-check{font:11px monospace;margin-top:15px;letter-spacing:.1em}.evidence-check b{color:#cbefca}.clear-film-progress{display:flex;justify-content:center;gap:7px;margin-top:18px}.clear-film-progress i{width:28px;height:3px;background:#ddd}#clear-dialog[data-cut="0"] .clear-film-progress i:nth-child(1),#clear-dialog[data-cut="1"] .clear-film-progress i:nth-child(2),#clear-dialog[data-cut="2"] .clear-film-progress i:nth-child(3){background:#3c5350}
.cut-arrest .game-over-scene[data-scene="escaped"] .actor-extra{left:59%;animation:none;display:block}.cut-arrest .game-over-scene[data-scene="escaped"] .actor-extra .actor-sprite{animation:none}.cut-arrest .game-over-scene[data-scene="escaped"] .actor-officer{left:51%;animation:none}.cut-arrest .game-over-scene[data-scene="escaped"] .actor-detective{left:39%}.cut-arrest .game-over-scene[data-scene="escaped"] .actor-officer .actor-sprite{background-image:url('assets/game-over-wrongful-sprites.png');background-size:413.714286% 348.076923%;background-position:5.82878% 51.6796%;transform:translate(-41%,0);animation:none}
#clear-result{max-width:560px;margin:auto;animation:game-over-details .4s ease-out}#clear-title{font-size:clamp(30px,6vw,48px);font-weight:750;margin:0 0 25px}#clear-names{font-size:clamp(17px,3.8vw,23px);font-weight:650;line-height:1.7;margin:0 0 15px;word-break:keep-all}#clear-camera{font-size:14px;color:#526c64;line-height:1.7}#clear-score{font-size:12px;color:#888;margin:22px 0}#clear-countdown{font-size:13px;color:#777;margin:28px 0 16px}.clear-actions{display:flex;justify-content:center;gap:10px}.clear-actions button{min-height:48px;min-width:150px;padding:12px 18px}.clear-actions button:last-child{background:transparent;color:#555}#clear-dialog:not([open]) *{animation-play-state:paused!important}
@keyframes shot-reveal{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-width:650px){#clear-dialog{padding:20px}.clear-evidence{padding:10px}.evidence-label{font-size:7px;margin-bottom:7px}#clear-evidence-people{gap:20px}#clear-evidence-people .portrait{width:22px;height:26px}#clear-evidence-people>div{gap:2px}#clear-evidence-people strong{font-size:9px}#clear-evidence-people span{font-size:7px}.evidence-check{font-size:8px;margin-top:6px}.clear-actions button{min-width:0;flex:1;font-size:13px}.camera-playback{height:115px}}
@media(prefers-reduced-motion:reduce){.camera-playback,.camera-playing #camera-clues,.camera-rec,.camera-pixel-icon,.clear-shot,.clear-shot .game-over-scene,#clear-result{animation:none!important}.camera-scan{display:none}}

/* Retain the original small-pixel wide shots, with the final shot still visible. */
#clear-title{font-size:clamp(32px,6vw,46px);line-height:1.15;letter-spacing:.07em;margin:0 0 5px;visibility:hidden}#clear-camera{font-size:13px;line-height:1.5;margin:0 0 18px;font-weight:650;color:#506c7a;visibility:hidden}#clear-camera[data-truth="lie"]{color:#a34444}#clear-camera[data-truth="mixed"]{color:#80603c}#clear-result{visibility:hidden;opacity:0;max-width:560px;margin:15px auto 0;animation:none;display:grid;gap:5px}#clear-result p{margin:0;line-height:1.5}#clear-names{font-size:17px;font-weight:650}#clear-note{font-size:12px;color:#777}#clear-score{font-size:11px;color:#999}#clear-countdown{font-size:12px;color:#777;padding-top:8px}.clear-actions{margin-top:7px}.clear-actions button{min-height:44px}#clear-dialog[data-complete="true"] #clear-title,#clear-dialog[data-complete="true"] #clear-camera,#clear-dialog[data-complete="true"] #clear-result{visibility:visible;opacity:1;animation:game-over-details .25s ease-out}#clear-dialog[data-kind="lucky"] #clear-note{color:#976733}#clear-shot-two-lucky{display:none;width:100%;height:100%}#clear-dialog[data-kind="lucky"] .clear-normal-evidence{display:none}#clear-dialog[data-kind="lucky"] #clear-shot-two-lucky{display:block}#clear-dialog[data-kind="lucky"] .clear-evidence{padding:0}#clear-dialog[data-kind="lucky"] .clear-evidence:after{display:none}#clear-shot-two-lucky .game-over-scene[data-scene="escaped"] .actor-extra{animation:lucky-trip 2.2s ease-in-out infinite;left:64%;transform-origin:25% 90%}#clear-dialog[data-kind="lucky"] .actor-detective:after{content:"";position:absolute;left:-10%;top:24%;width:5px;height:8px;border:1px solid #52698e;background:#a3d5ef;border-radius:60% 5% 60% 60%;transform:rotate(-25deg);animation:lucky-sweat 1.5s ease-in-out infinite}#clear-dialog[data-kind="lucky"] .cut-arrest .actor-detective .actor-sprite{animation-delay:-1.4s}
@keyframes lucky-trip{0%,25%,100%{transform:translateX(0) rotate(0)}60%{transform:translateX(20%) rotate(23deg)}80%{transform:translateX(10%) rotate(8deg)}}@keyframes lucky-sweat{0%,100%{opacity:.5;translate:0 0}50%{opacity:1;translate:0 2px}}
/* Larger testimony text in both room cards and the floor grid. */
.person .testimony{font-size:16px;line-height:1.9}
@media(max-width:650px){#clear-title{font-size:34px}#clear-camera{font-size:11px;margin-bottom:15px}#clear-names{font-size:15px}#clear-note{font-size:11px}.person .testimony{font-size:16px;line-height:1.85}}
@media(prefers-reduced-motion:reduce){#clear-dialog[data-complete="true"] #clear-title,#clear-dialog[data-complete="true"] #clear-camera,#clear-dialog[data-complete="true"] #clear-result,#clear-shot-two-lucky .actor-extra,#clear-dialog .actor-detective:after{animation:none!important}}

/* A clear screen waits for the player; it never advances on a countdown. */
.clear-actions{justify-content:center}.clear-actions #clear-next{background:#282828;color:#fff;min-width:180px;font-size:14px}

.clear-records{display:flex;justify-content:center;gap:48px;margin:12px 0 8px}.clear-records dt{font-size:11px;color:#999;line-height:1.5;margin-bottom:7px}.clear-records dd{margin:0}#clear-score,#clear-best{font-size:28px;font-weight:700;color:#222;line-height:1.2;font-variant-numeric:tabular-nums}
#clear-score,#clear-best{margin:0}.clear-records{align-items:flex-start}

/* Scene illustrations are optional; text and case-intro animations keep working. */
#intro>#options-open{align-self:center;width:auto;min-height:38px;margin-top:6px;padding:7px 24px;font-size:14px;font-weight:500;background:transparent;color:#777;border-color:#ddd}#options-dialog{width:min(380px,calc(100vw - 40px))}#options-title{margin-bottom:24px}.scene-images-setting{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:15px;font-weight:600;cursor:pointer;min-height:44px}.scene-images-setting input{width:22px;height:22px;accent-color:#354e60;cursor:pointer}#scene-images-help{font-size:12px;line-height:1.85;color:#888;margin:12px 0 25px}#options-dialog>[data-close]{min-height:42px;display:block;width:100%}
.no-scene-images #clear-film,.no-scene-images #game-over .game-over-scene,.no-scene-images .camera-playback{display:none!important}.no-scene-images .scene-effects *{animation-play-state:paused!important}.no-scene-images #clear-result{margin-top:20px}.no-scene-images #game-over-title{margin-bottom:22px}

/* The CCTV popup itself is the monitor, with the clue inside its screen. */
#camera-dialog{position:relative;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:18px 24px 28px;background:#182a2e;border:5px solid #3a5357;border-radius:1px;box-shadow:inset 0 0 0 2px #809b91,0 16px 45px #0a151950;color:#c4dfd2;overflow:auto;font-family:ui-monospace,Consolas,'Malgun Gothic',monospace}#camera-dialog::backdrop{background:#08121699}#camera-dialog:before{content:"";position:absolute;inset:3px;pointer-events:none;z-index:2;background:repeating-linear-gradient(transparent 0 3px,#05171840 3px 5px)}.camera-screen-top{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:30px;padding-right:42px;position:relative;z-index:3}#camera-dialog .camera-rec{position:static;font-size:10px;letter-spacing:.06em}#camera-time{font-family:inherit;font-size:13px;color:#9ab7aa}#camera-close{position:absolute;right:10px;top:10px;z-index:5;width:36px;height:36px;min-height:36px;border:0;padding:0;background:transparent;color:#c3dfd0;font-family:system-ui,sans-serif;font-size:26px;line-height:1;border-radius:2px}#camera-close:hover{background:#b7dbc51a}#camera-close:focus-visible{outline-color:#bcd9cf}.camera-visual{display:flex;justify-content:center;margin:11px 0 13px}#camera-title{position:relative;z-index:3;text-align:center;font:600 27px/1.3 ui-monospace,Consolas,monospace;letter-spacing:.18em;margin:0 0 21px;color:#c8e4d4}.camera-screen-effects{position:absolute;inset:4px;overflow:hidden;pointer-events:none;z-index:2}#camera-dialog #camera-clues{position:relative;z-index:3;text-align:center;animation:none}#camera-dialog #camera-clues p{background:transparent;border:0;padding:3px 6px;margin:13px 0;font-size:17px;line-height:1.9;font-weight:500;color:#d8e8de;word-break:keep-all;overflow-wrap:anywhere}#camera-dialog .logic-name{color:#f1f5ef}#camera-dialog .logic-positive{color:#8fc4ed}#camera-dialog .logic-negative{color:#f29d9b}#camera-dialog.camera-playing{animation:monitor-on .65s ease-out}#camera-dialog.camera-playing #camera-clues{animation:none}#camera-dialog.camera-playing #camera-clues p{animation:cctv-text-expand .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.25s + var(--clue-index,0)*.12s)}
@keyframes cctv-text-expand{0%{opacity:0;clip-path:inset(0 50%);transform:scaleX(.25)}35%{opacity:1}100%{opacity:1;clip-path:inset(0 0);transform:scaleX(1)}}
.no-scene-images #camera-dialog{background:#fafafa;color:#222;border:1px solid #bbb;box-shadow:0 12px 30px #0002}.no-scene-images #camera-dialog:before{content:none}.no-scene-images .camera-visual,.no-scene-images .camera-screen-effects,.no-scene-images #camera-dialog .camera-rec{display:none}.no-scene-images #camera-title,.no-scene-images #camera-close{color:#333}.no-scene-images #camera-time{color:#777}.no-scene-images #camera-dialog #camera-clues p{color:#333}.no-scene-images #camera-dialog .logic-name{color:#111}.no-scene-images #camera-dialog .logic-positive{color:#2b66a0}.no-scene-images #camera-dialog .logic-negative{color:#ac3d3d}.no-scene-images #camera-dialog.camera-playing{animation:none}.no-scene-images .camera-screen-top{justify-content:flex-end}
@media(max-width:650px){#camera-dialog{padding:14px 13px 23px}#camera-title{font-size:24px;margin-bottom:17px}#camera-dialog #camera-clues p{font-size:16px;padding:4px 2px;line-height:1.85}#camera-close{right:7px;top:7px}}
@media(prefers-reduced-motion:reduce){#camera-dialog.camera-playing,#camera-dialog.camera-playing #camera-clues p{animation:none!important}}
#camera-dialog{position:fixed;inset:0;margin:auto;height:fit-content}

#clear-skip{display:block;margin:14px auto 0;padding:7px 13px;border:0;background:transparent;font-size:12px;color:#888}#clear-dialog[data-complete="true"] #clear-skip{display:none}.no-scene-images #clear-skip{display:none}

#liar-count{display:block;font-size:10px;color:#775f43;line-height:1.4}.novice-explanation{border:1px solid #d7e1e8;background:#f6f9fb;padding:13px;border-radius:4px;font-size:12px}.novice-explanation.has-conflict{border-color:#d4a1a1;background:#fff8f7}.novice-explanation h3{font-size:14px;margin-bottom:6px}.novice-explanation p{margin:6px 0}.novice-explanation small{display:block;color:#777}.proof-step{border-top:1px solid #e8dada;margin-top:12px;padding-top:10px}.proof-step>strong{display:block;color:#a43b36;font-size:12px}.novice-explanation blockquote{margin:8px 0;padding:7px 9px;border-left:2px solid #a0afbb;background:#fff}.proof-people{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.proof-people button{font-size:11px;padding:4px 6px;min-height:32px}.proof-badge{color:#ab3730!important;background:#fff1ee;border:1px solid #e8b4ae;border-radius:3px;font-size:9px!important;padding:1px 4px;white-space:nowrap;margin-left:auto}.map-person.assumption-conflict{outline:2px solid #b74a43;outline-offset:-2px;background:#fff0ed}.map-person.assumption-target-a{box-shadow:inset 0 0 0 2px #9dbad2}.map-person.assumption-source{border-color:#52758e}
@media(max-width:600px){#liar-count{max-width:130px;font-size:9px}.proof-badge{font-size:8px!important}.novice-explanation{font-size:13px}.proof-people button{font-size:12px;min-height:38px}}

.proof-inline{font-size:12px;line-height:1.7;background:#fff3ef;border-left:3px solid #b55a4f;padding:8px 10px;margin:6px 0 10px;color:#7b3731}.person>.proof-badge{display:inline-block;margin:5px 0 0}.notebook>.novice-explanation{margin-bottom:18px}

#intro>#dashboard-open{min-height:42px;font-size:15px;font-weight:500;color:#555;background:transparent;border-color:#ddd;margin-top:8px}#difficulty-help{font-size:12px;line-height:1.85;color:#888;margin:12px 0 25px}#record-form{width:min(360px,100%);margin:22px auto 0;text-align:left;border:1px solid #ddd;padding:16px;background:white}#record-form label{display:block;font-size:12px;color:#777}#record-nickname{width:100%;font:inherit;padding:10px;border:1px solid #bbb;border-radius:3px;margin:7px 0}#record-form small{display:block;color:#888;font-size:11px;line-height:1.7}#record-form>div{display:flex;gap:8px;margin-top:13px}#record-status{font-size:12px;color:#52665d;max-width:480px;margin:12px auto 0;white-space:normal}#record-status:empty{display:none}#game-over .game-over-actions{flex-wrap:wrap}
#dashboard-dialog{width:min(1000px,calc(100vw - 36px));max-height:90svh;padding:28px;overflow:auto;border:1px solid #d6d6d6;border-radius:5px;color:#222;background:#fafafa}#dashboard-dialog::backdrop{background:rgb(0 0 0 / .3)}.dashboard-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.dashboard-heading h2{font-size:23px}.dashboard-heading p{font-size:12px;color:#888;margin-top:4px}#dashboard-close{border:0;background:transparent;font-size:26px;line-height:1;padding:3px 8px}.dashboard-tabs{display:flex;gap:8px;margin:24px 0 16px;border-bottom:1px solid #ddd;padding-bottom:12px}.dashboard-tabs button[aria-selected=true]{background:#2b2b2b;border-color:#2b2b2b;color:white}.ranking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.ranking-toolbar label{color:#777;font-size:12px}select{font:inherit;border:1px solid #ccc;padding:6px;background:white;border-radius:3px}.ranking-toolbar select{margin-left:8px}#records-message{font-size:13px;color:#777;padding:8px 0}#records-list{display:grid;gap:7px}.record-row{display:grid;grid-template-columns:30px minmax(0,1fr)70px 90px;gap:12px;align-items:center;text-align:left;padding:15px;border:1px solid #dedede;background:white}.record-place{font-size:18px;color:#999}.record-row strong{font-size:14px}.record-row small{display:block;color:#999;font-size:10px;line-height:1.8}.record-row>b{font-size:21px;font-variant-numeric:tabular-nums}.record-watch{color:#777;font-size:12px}#replay-panel{border-top:1px solid #ccc;margin-top:28px;padding-top:24px;scroll-margin-top:24px}#replay-heading{font-size:19px}#replay-case-list{display:flex;gap:7px;overflow-x:auto;padding:12px 0 16px}#replay-case-list button{white-space:nowrap;font-size:12px}#replay-case-list button[aria-pressed=true]{background:#e7eef3;border-color:#7895a9;color:#29495f}#replay-status{font-size:12px;color:#666;margin-bottom:14px}.replay-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.replay-controls label{font-size:12px}.replay-controls input{accent-color:#52675f}.replay-timeline{display:flex;gap:12px;align-items:center;font-size:11px;margin:15px 0}.replay-timeline input{flex:1;min-width:0;accent-color:#52675f}.replay-timeline output{white-space:nowrap;font-variant-numeric:tabular-nums}#replay-event{font-size:12px;color:#647463;min-height:25px}#replay-board{display:grid;grid-template-columns:repeat(var(--replay-columns,3),minmax(0,1fr));gap:10px}.replay-person{background:#fff;border:1px solid #ddd;padding:13px;min-width:0;border-radius:3px}.replay-person>div{display:flex;gap:8px;justify-content:space-between;font-size:12px}.replay-person>div b{font-size:11px;color:#777}.replay-person small{font-size:10px;color:#888}.replay-person p{font-size:14px;line-height:1.8;margin:12px 0;overflow-wrap:anywhere}.replay-person>span{display:block;font-size:11px;color:#777}.replay-person em{display:block;color:#9d3834;font-size:12px;font-style:normal;font-weight:700;margin-top:5px}.replay-person.replay-suspect{border:2px solid #ce6a65;background:#fff7f6}.replay-person.replay-clear{border:2px solid #6d9dbb;background:#f5f9fc}#replay-camera{padding:16px;background:#edf3f0;margin-top:15px;font-size:13px}#replay-camera h3{margin-bottom:7px}
@media(max-width:600px){#dashboard-dialog{width:calc(100vw - 20px);max-height:94svh;padding:18px}.dashboard-heading h2{font-size:20px}.record-row{grid-template-columns:20px minmax(0,1fr)48px;gap:9px;padding:12px}.record-watch{grid-column:2 / -1;font-size:11px}.record-row>b{font-size:20px}.record-row small{font-size:10px}#replay-board{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-person{padding:10px}.replay-person>div{flex-wrap:wrap}.replay-person p{font-size:13px}.replay-timeline{flex-wrap:wrap}.replay-timeline output{width:100%;text-align:right}#record-form{padding:13px}#game-over .game-over-actions{gap:8px}}

.menu-corner{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));font-size:13px;padding:10px 18px;min-height:42px;background:white;color:#666;border-color:#ddd;z-index:4}body.is-playing #dashboard-open{display:none}.tools>#practice-level-link{background:transparent;border:1px solid #ddd;padding:5px 11px;font-size:12px;min-height:32px}#difficulty-dialog{width:min(360px,calc(100vw - 36px));max-height:85svh;padding:25px;border:1px solid #d6d6d6;border-radius:4px}#difficulty-dialog .practice-settings{border:0;padding:0;margin:0 0 18px}#difficulty-dialog>button[data-close]{width:100%;min-height:40px}#options-dialog>#experiment-start{display:block;width:100%;font-size:14px;min-height:42px;margin:0 0 12px;color:#555}#case-panel>#novice-controls{margin:0 0 16px;padding:0 0 14px;border-top:0;border-bottom:1px solid #e1e1e1}@media(max-width:600px){.menu-corner{right:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:12px}}

.replay-person.tag-1{box-shadow:inset 0 0 0 4px #dceafa}.replay-person.tag-2{box-shadow:inset 0 0 0 4px #f8dede}.replay-person.tag-3{box-shadow:inset 0 0 0 4px #dcefe6}.replay-person.tag-4{box-shadow:inset 0 0 0 4px #f5e9cb}

#dashboard-dialog{max-width:none}.replay-empty{border:1px dashed #ddd;padding:16px;color:#aaa;font-size:11px;display:grid;place-items:center;min-height:100px}.replay-scroll{overflow-x:auto;padding:3px 0 8px}@media(max-width:600px){#replay-board{grid-template-columns:repeat(var(--replay-columns,3),minmax(145px,1fr));min-width:calc(var(--replay-columns,3)*155px)}}

#difficulty-dialog .practice-settings small{display:block;margin-top:12px;color:#888;font-size:11px;line-height:1.8}#difficulty-dialog #practice-new-case{display:block;width:100%;min-height:42px}#case-panel #novice-controls .switch-row{min-height:34px}

#game-over .game-over-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#game-over-record{grid-column:1 / -1;min-height:52px}#game-over .game-over-menu{position:fixed;top:max(20px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));min-height:40px;padding:7px 16px;font-size:12px;font-weight:500;z-index:3;background:#fff}#game-over .game-over-content{padding-top:58px}
#record-dialog{width:min(400px,calc(100vw - 32px));padding:24px;border:1px solid #ddd;border-radius:5px;background:#fff;max-height:90svh;overflow:auto}#record-dialog::backdrop{background:rgb(0 0 0 / .35)}.record-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.record-dialog-heading h2{font-size:20px}.record-dialog-heading button{border:0;background:none;font-size:25px;line-height:1;padding:4px}#record-dialog #record-form{width:100%;margin:0;padding:0;border:0}#record-form>div button{flex:1;min-height:42px}#record-dialog #record-status{line-height:1.8}
#dashboard-dialog{padding:24px}.dashboard-heading h2{font-size:21px;line-height:1.5}.dashboard-heading p{font-size:11px;line-height:1.6}.dashboard-tabs{margin:15px 0 12px;padding-bottom:8px}.dashboard-tabs button{padding:5px 13px;min-height:34px}.ranking-toolbar{margin-bottom:12px}.ranking-toolbar button,.ranking-toolbar select{padding-top:4px;padding-bottom:4px}#records-message:empty{display:none}#records-list{--record-row-height:74px;--record-gap:8px;display:grid;gap:var(--record-gap);grid-auto-rows:var(--record-row-height);max-height:calc(5 * var(--record-row-height) + 4 * var(--record-gap));overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.record-row{grid-template-columns:40px minmax(0,1fr)60px 215px;gap:12px;min-height:0;height:var(--record-row-height);padding:8px 12px;border-radius:4px;text-align:left}.record-player{min-width:0}.record-player strong,.record-player small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-place{font-size:12px;font-weight:700;display:grid;place-items:center;border:1px solid #dedede;background:#f1f2f3;border-radius:50%;width:34px;height:34px;color:#777}.record-row>b{font-size:21px}.record-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.record-actions .record-inspect{min-height:36px;padding:6px 9px;font-size:11px;white-space:nowrap;background:#fafafa}.record-actions .record-watch{border:0;background:transparent;padding:5px 0;font-size:10px;color:#888;white-space:nowrap}.record-row.podium-1{border-color:#ddcc96;background:#fffdf5}.podium-1 .record-place{border-color:#ddcc96;background:#f5ebc9;color:#8a681a}.record-row.podium-2{border-color:#c5cfd7;background:#fafcfd}.podium-2 .record-place{background:#e7edf2;border-color:#c5cfd7;color:#586c7b}.record-row.podium-3{border-color:#dcc6b4;background:#fffaf7}.podium-3 .record-place{background:#f0e2d5;border-color:#dcc6b4;color:#956847}.record-row.is-empty{color:#aaa;background:#f8f8f8;border-style:dashed}.record-row.is-empty>strong{font-size:13px;font-weight:400}.record-row.is-empty>b{font-size:17px;color:#c5c5c5}
#archive-nav{background:#f0f4f7;border:1px solid #d6e0e7;padding:12px 15px;margin-bottom:22px;border-radius:4px}#archive-owner{font-size:12px;color:#64727d;margin-bottom:9px}#archive-nav>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#archive-nav button,#archive-nav select{min-height:37px;font-size:12px}#archive-list{margin-left:auto}
.person.shirt-0{--shirt-accent:#6188a6}.person.shirt-1{--shirt-accent:#ac6262}.person.shirt-2{--shirt-accent:#43484b}.person{box-shadow:none;border-left:3px solid var(--shirt-accent,#ddd)}.person.assumption-source{box-shadow:0 0 0 2px #415e80}.person.assumption-conflict{box-shadow:0 0 0 1px #c14e4e}.board-scroll{padding:6px 7px 12px}
@media(max-width:600px){#case-label{display:none!important}#game-over .game-over-menu{top:max(12px,env(safe-area-inset-top));right:14px;font-size:11px;min-height:36px;padding:5px 11px}#game-over .game-over-actions button{font-size:13px}#record-dialog{padding:20px}#dashboard-dialog{padding:17px}.dashboard-heading h2{font-size:19px}.dashboard-heading p{font-size:10px}.dashboard-tabs{margin:12px 0 10px}#records-list{--record-row-height:90px;--record-gap:6px;padding-right:2px}.record-row{grid-template-columns:30px minmax(0,1fr)43px;grid-template-rows:35px 28px;gap:4px 8px;padding:8px}.record-place{width:28px;height:28px;font-size:10px}.record-player strong{font-size:12px;line-height:1.5}.record-player small{font-size:9px;line-height:1.5}.record-row>b{font-size:19px}.record-actions{grid-column:2 / -1;gap:9px;align-self:end}.record-actions .record-inspect{min-height:27px;padding:2px 8px;font-size:10px}.record-actions .record-watch{font-size:9px;padding:3px 0}.record-row.is-empty{grid-template-rows:1fr}.record-row.is-empty>strong{font-size:12px}#archive-nav{padding:10px;margin-bottom:15px}#archive-owner{font-size:10px}#archive-nav>div{gap:5px}#archive-nav button,#archive-nav select{font-size:10px;min-height:34px;padding:5px 7px}#archive-list{margin-left:0}#archive-case-select{flex:1;min-width:120px}.board-scroll{padding:6px 5px 12px}}

.record-row{grid-template-columns:40px minmax(0,1fr)135px 215px}.record-score{display:flex;justify-content:flex-end;align-items:center;gap:6px;white-space:nowrap}.record-score>span{font-size:11px;color:#777;font-weight:400}.record-score>strong{font-size:21px;line-height:1.3}@media(max-width:600px){.record-row{grid-template-columns:30px minmax(0,1fr)110px}.record-score{gap:4px}.record-score>span{font-size:9px}.record-score>strong{font-size:17px}}

.play-meta>.tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.case-seed-label{display:flex;align-items:center;gap:6px;font-size:11px;color:#888;min-width:0}.case-seed-label input{width:230px;max-width:100%;min-width:0;border:1px solid #ddd;border-radius:3px;background:#fff;padding:6px 8px;font:11px ui-monospace,Consolas,monospace;color:#666;cursor:copy;min-height:32px}.practice-seed-form{margin-top:20px;padding-top:16px;border-top:1px solid #e1e1e1}.practice-seed-form>label{display:block;margin-bottom:7px;font-size:13px;font-weight:600}#practice-seed{display:block;width:100%;min-height:42px;border:1px solid #ccc;border-radius:3px;font:13px ui-monospace,Consolas,monospace;padding:8px}#practice-seed-help{font-size:11px;color:#888;line-height:1.7;margin:6px 0 10px}#practice-seed-load{display:block;width:100%;min-height:42px}#practice-seed-error{font-size:12px;color:#b33d37;margin-top:8px}@media(max-width:600px){.play-meta{flex-wrap:wrap;gap:8px}.play-meta>.tools{width:100%;justify-content:space-between}.case-seed-label{flex:1}.case-seed-label input{width:100%}}

.memo-tags.experimental-memos{flex-wrap:wrap}.memo-tags.experimental-memos>.liar-memo{flex:1 0 100%;width:100%;min-height:30px;color:#955d42;border-color:#d7c4b9;background:#fffaf7}.memo-tags.experimental-memos>.liar-memo[aria-pressed=true]{color:#a33737;border-color:#bb7777;background:#fbe9e9}
