@font-face{font-family:Nanum;src:url('assets/NanumGothic.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--ink:#18343a;--cream:#f1ecd9;--mint:#a9c2b0;--line:#365056;--gold:#bfa577;--paper:#ece7d5}
*{box-sizing:border-box}body{margin:0;background:#101d23;color:var(--cream);font-family:Nanum,sans-serif;min-height:100svh;display:grid;place-items:center;background-image:radial-gradient(ellipse at 50% 0,#2b4246,transparent 70%)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,canvas:focus-visible{outline:2px solid #e2bd7c;outline-offset:3px}button:hover{color:#fff2c8}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}
.game-shell{width:min(1200px,100%);margin:20px auto;border:1px solid #456067;box-shadow:0 25px 75px #0006;background:#162c31}.game-header{height:79px;display:flex;align-items:center;padding:0 25px;gap:24px;border-bottom:1px solid #536861;background:#1c3439}.wordmark{font-family:Georgia,serif;letter-spacing:2px;white-space:nowrap;font-size:23px}.wordmark em{font-style:normal;color:#c9ae7b;font-size:30px}.wordmark>span{display:block;font-family:Nanum;font-size:10px;letter-spacing:3px;color:#a9b8b2;margin:4px 0}.location{display:flex;gap:9px;align-items:center;flex:1;font-size:13px;color:#d2d9c9}.room-dot{width:5px;height:5px;background:var(--mint);box-shadow:0 0 8px #91ce9690}.location time{display:block;margin-left:auto;color:#9aaea4;font-size:11px;white-space:nowrap}.game-header nav{display:flex;align-items:center;gap:4px}.game-header nav button{padding:12px 10px;border-left:1px solid #375157;font-size:12px}.game-header nav button:first-child{border:0}kbd{font-size:9px;border:1px solid #668078;padding:2px 4px;color:#afc1b4;margin-left:5px}#evidenceCount{display:inline-block;font-size:10px;margin-left:5px;color:var(--gold)}
.stage{position:relative;width:100%;aspect-ratio:8/5;overflow:hidden;background:#293d42;isolation:isolate}#world{display:block;width:100%;height:100%;image-rendering:pixelated;cursor:default}.game-footer{height:41px;display:flex;align-items:center;padding:0 22px;font-size:11px;color:#bcc9bb;gap:15px;border-top:1px solid #456067}.footer-note{margin-left:auto;color:#78918d;font-size:10px;letter-spacing:2px}.game-footer button{font-size:10px;color:#c1c6ac;margin-left:15px}.interaction-prompt{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);background:#173239f0;border:1px solid #a3b1a078;padding:10px 20px;font-size:13px;box-shadow:0 4px 0 #0003;pointer-events:none;white-space:nowrap}.interaction-prompt b{font-size:10px;margin-left:14px;padding:3px 5px;background:#41625a;color:#efeedb}.loading{position:absolute;inset:0;background:#172c31;display:grid;place-content:center;text-align:center;gap:22px}.loading span{letter-spacing:7px;font-family:Georgia;font-size:30px;color:#cfb37b}.loading div{font-size:13px;color:#96aa9f}
#overlay{position:absolute;inset:0;z-index:5}.shade{position:absolute;inset:0;display:grid;place-items:center;background:#0b242aad;backdrop-filter:blur(2px);padding:25px}.panel{width:min(800px,94%);max-height:91%;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border:1px solid #aaad91;box-shadow:0 10px 0 #11252860,0 30px 65px #09141bc0}.panel-header{display:flex;align-items:center;gap:20px;padding:19px 26px;border-bottom:1px solid #b8baa3;color:#365b56}.panel-header h2{font-size:21px;margin:0;font-weight:700;letter-spacing:1px}.close{margin-left:auto;color:#45625d;font-size:26px;line-height:1;padding:0 6px}.panel-content{padding:24px 26px;overflow:auto;scrollbar-color:#899f8d transparent;font-size:15px;line-height:1.8}.panel-actions{padding:15px 26px;border-top:1px solid #bcc3ae;display:flex;gap:10px;justify-content:flex-end}.action{background:#285851;color:#f3eedc;padding:11px 18px;font-size:13px;border:1px solid #759181;text-align:left}.action.secondary{background:#dddccb;color:#2c4b46;border-color:#a7b49a}.action:hover{background:#406d60;color:#fff9e2}.action.selected{background:#46665a}.document{white-space:pre-wrap;font-family:Nanum,monospace;font-size:14px;line-height:1.75;color:#344f4e;background:#f6f0e0;padding:22px;border:1px solid #cac9ad;box-shadow:3px 3px 0 #bcc2aa40;overflow-wrap:anywhere}.document h3{margin:0 0 12px;font-size:16px}.document-rule{display:block;height:1px;background:#bbbfa5;margin:16px 0}.object-menu{display:grid;gap:10px}.object-description{font-size:14px;color:#4c685c;margin:0 0 18px}.title-panel{background:#163033dd;color:#ede5d0;width:68%;border:1px solid #bba97a88;padding:36px 40px;box-shadow:0 18px 0 #0d222644;backdrop-filter:blur(2px)}.title-kicker{font-family:Georgia;font-size:16px;letter-spacing:6px;color:#c7b17d}.title-panel h1{font-size:clamp(26px,4vw,46px);margin:24px 0 16px;font-weight:400;letter-spacing:3px}.title-panel p{font-size:14px;color:#b7c6b7;line-height:1.9;margin-bottom:30px}.title-panel .action{width:100%;text-align:center;margin-top:10px;padding:14px}
.dialogue-shade{position:absolute;inset:0;background:linear-gradient(0deg,#101f2a55,transparent 80%)}.dialogue-portrait{position:absolute;right:3%;bottom:17%;width:34%;height:70%;object-fit:contain;object-position:bottom;image-rendering:pixelated;filter:drop-shadow(5px 4px 0 #0b1e2930);pointer-events:none}.dialogue-box{position:absolute;bottom:3%;left:3%;right:3%;min-height:23%;background:#172f35f5;border:1px solid #a9b495a6;box-shadow:0 5px 0 #10242888;padding:19px 27px}.speaker{color:#d0bb8a;font-size:17px;letter-spacing:2px;display:flex;align-items:center;gap:15px;margin-bottom:15px}.speaker:after{content:"";height:1px;background:#82998c66;flex:1}.dialogue-text{font-size:clamp(15px,1.6vw,23px);line-height:1.65;color:#f0ecda;min-height:2.9em;padding-right:3px;white-space:pre-line}.dialogue-next{display:block;margin-left:auto;color:#b3c1a4;font-size:11px;padding:5px 0 0 20px}.choices{position:absolute;left:4%;bottom:29%;display:grid;gap:8px;width:59%}.choice{font-size:clamp(11px,1.2vw,16px);padding:13px 19px;background:#18383cf5;border:1px solid #88a095aa;color:#e4e5d2;text-align:left;box-shadow:3px 3px 0 #0a252766}.choice:hover{background:#547362;color:#fff4ce}.choice:before{content:"›";color:#c6b487;margin-right:12px}
.notebook-layout{display:grid;grid-template-columns:210px 1fr;gap:20px}.evidence-list{display:flex;flex-direction:column;gap:7px}.evidence-button{color:#294b45;background:#d9ddcb;border:1px solid #aab59b;text-align:left;padding:12px 11px;font-size:12px;line-height:1.5}.evidence-button.selected{background:#396457;color:#fff0d1}.empty-note{padding:45px 0;text-align:center;color:#6a8073}.paired-documents{display:grid;gap:14px;max-height:260px;overflow:auto}.comparison{padding:15px 0;white-space:pre-line;color:#476259;font-size:14px}.notebook-tabs{display:flex;gap:9px;margin-bottom:20px}.claims{display:grid;gap:9px;margin-bottom:20px}.hypothesis-support{display:flex;flex-wrap:wrap;gap:7px}.hypothesis-support button{font-size:11px;padding:9px 11px}.result-note{white-space:pre-line;color:#865a37;margin:15px 0}.control-list{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:13px}.control-list dt{color:#294c48}.control-list dd{margin:0;color:#677768}.touch-controls{display:none;position:absolute;bottom:3%;left:2%;grid-template-columns:repeat(3,34px);gap:3px;z-index:2;opacity:.75}.touch-controls button{background:#214c47a0;border:1px solid #a5bba080;width:34px;height:34px;font-size:13px}.touch-controls [data-move=up]{grid-column:2}.touch-controls [data-move=left]{grid-column:1;grid-row:2}.touch-controls [data-move=down]{grid-column:2;grid-row:2}.touch-controls [data-move=right]{grid-column:3;grid-row:2}.touch-controls #touchInteract{grid-column:1/4;width:100%;font-size:11px}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(15px);opacity:0;padding:12px 23px;border:1px solid #9aaa8c;background:#1d3b38;transition:.2s;pointer-events:none;font-size:13px;z-index:20}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:800px){.game-shell{margin:0;border:0}.game-header{height:62px;padding:0 12px;gap:12px}.wordmark{font-size:17px}.wordmark em{font-size:24px}.wordmark>span{font-size:8px;letter-spacing:1px}.location{font-size:10px;gap:5px}.location time{display:none}.game-header nav button{font-size:10px;padding:10px 7px}.game-header kbd{display:none}.game-footer{padding:0 12px;font-size:10px;height:34px}.panel-content{padding:16px;font-size:12px}.panel-header{padding:13px 16px}.panel-header h2{font-size:17px}.shade{padding:10px}.panel{width:97%;max-height:94%}.document{font-size:11px;padding:14px}.notebook-layout{grid-template-columns:140px 1fr;gap:12px}.evidence-button{font-size:10px;padding:9px}.dialogue-box{padding:12px 17px}.speaker{font-size:13px;margin-bottom:8px}.choices{gap:5px;bottom:32%}.choice{padding:8px 12px}.dialogue-next{font-size:9px}.title-panel{padding:24px;width:74%}.title-panel p{font-size:11px;margin-bottom:15px}.title-panel .action{font-size:11px;padding:10px}.title-panel h1{margin:12px 0}.footer-note{display:none}.interaction-prompt{font-size:11px;padding:7px 13px}.action{font-size:11px;padding:9px 12px}.paired-documents{max-height:170px}.comparison{font-size:11px}}
@media(pointer:coarse){.touch-controls{display:grid}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}#toast{transition:none}}

/* Keep the entire playable room and dialogue visible without scrolling. */
.game-shell{width:min(1200px,calc((100svh - 160px)*1.6),100%)}
@media(max-width:800px){.game-shell{width:min(calc((100svh - 96px)*1.6),100%)}}
.game-shell:fullscreen{width:min(100vw,calc((100svh - 120px)*1.6));margin:0 auto;background:#172d31}

.game-shell{width:min(1200px,calc((100svh - 162px)*1.6),100%)}
.campus-map{display:block;width:100%;height:auto;image-rendering:pixelated;border:1px solid #96a78e}.map-destinations{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.day-strip{display:flex;flex:1;justify-content:flex-end;gap:2px;margin-left:16px}.day-strip span{width:20px;height:17px;text-align:center;padding-top:3px;font-size:8px;color:#77958c;border-bottom:3px solid #39564e}.day-strip span.active{color:#ead5a4;border-color:#ceb27c;background:#385a4c}.room-change{animation:roomchange .25s ease-out}@keyframes roomchange{from{opacity:.25}to{opacity:1}}
@media(max-width:800px){.game-shell{width:min(calc((100svh - 96px)*1.6),100%)}.day-strip{gap:0;margin-left:0}.day-strip span{width:13px;font-size:7px}.location{display:none}.game-header nav{margin-left:auto}.game-header{gap:8px}}

/* Room aspect follows the approved drawing; it never stretches to the viewport. */
.stage{aspect-ratio:4/3}
.game-shell{--room-ratio:1.333333;width:min(1100px,calc((100svh - 160px)*var(--room-ratio)),100%)}
.game-shell:fullscreen{width:min(100vw,calc((100svh - 120px)*var(--room-ratio)))}
@media(max-width:800px){.game-shell{width:min(calc((100svh - 96px)*var(--room-ratio)),100%)}}

/* Ordinary game HUD and VN windows. The room owns the screen. */
body{background:#111419;background-image:none}
.game-shell{position:relative;width:min(1280px,calc((100svh - 24px)*var(--room-ratio)),100%);margin:12px auto;border:0;box-shadow:none;background:#111419}
.game-shell:fullscreen{width:min(100vw,calc(100svh*var(--room-ratio)));margin:0 auto}
.game-header{position:absolute;inset:14px 14px auto 14px;height:auto;padding:0;border:0;background:none;z-index:3;justify-content:flex-end;gap:12px;pointer-events:none}
.game-header .location{display:flex;flex:none;gap:0;font-size:12px}.room-dot,#location{display:none}.game-header .location time{display:block;margin:0;color:#f4f1e7;font-size:12px;text-shadow:1px 1px 2px #000,0 0 5px #000}
#gameMenuButton{pointer-events:auto;width:27px;height:27px;color:#eee;font-size:20px;text-shadow:1px 1px 2px #000;padding:0;line-height:1}
.game-header nav{pointer-events:auto;position:absolute;right:0;top:36px;display:flex;flex-direction:column;gap:0;min-width:130px;background:#192032f2;border:1px solid #c3c8d5;box-shadow:1px 1px 0 #000,-1px -1px 0 #000}
.game-header nav button{border:0;padding:10px 16px;font-size:13px;text-align:left;width:100%}.game-header nav button:hover{background:#354267}.game-header kbd{display:none}
.game-footer{display:none}.day-strip{display:none}
.interaction-prompt{background:#151b29dc;color:#eee;border:1px solid #b8becb;box-shadow:1px 1px 0 #000;padding:6px 12px;bottom:3%;font-size:12px}.interaction-prompt b{background:none;border:1px solid #888e9b;color:#eee;margin-left:10px;padding:1px 4px}
.dialogue-shade{background:none}
.dialogue-box{left:2%;right:2%;bottom:2%;min-height:19%;padding:24px 28px 23px;background:#192033ed;border:1px solid #d3d5e1;border-radius:3px;box-shadow:0 0 0 2px #080c18,0 0 0 3px #6b7182}
.speaker{position:absolute;left:18px;top:-17px;background:#20283f;color:#f4efde;border:1px solid #c5cadb;border-radius:2px;padding:5px 14px;display:block;font-size:14px;letter-spacing:0;margin:0;line-height:1.2}.speaker:empty{display:none}.speaker:after{display:none}
.dialogue-text{font-size:clamp(14px,1.5vw,20px);line-height:1.9;min-height:3.6em;color:#f0eef3;padding:0;font-weight:400;letter-spacing:.15px}
.dialogue-next{position:absolute;right:14px;bottom:7px;font-size:12px;padding:2px 5px;color:#e2e4eb;line-height:1}
.dialogue-portrait{bottom:18%;right:3%;width:34%;height:68%;filter:none}
.choices{bottom:26%;left:14%;width:72%;gap:5px}.choice{font-size:14px;padding:11px 18px;background:#20273ded;color:#f5f1e4;border:1px solid #b7bdcf;box-shadow:0 0 0 1px #080d19;border-radius:2px}.choice:before{content:none}.choice:hover{background:#364564;color:#fff}
.shade{backdrop-filter:none;background:#070b1566;padding:14px}
.panel{background:#202638f5;color:#e9e9ed;border:1px solid #bec4d2;box-shadow:0 0 0 2px #090e1a;border-radius:3px;width:min(780px,95%)}
.panel-header{padding:13px 18px;color:#f3efdf;border-color:#6f7688}.panel-header h2{font-size:16px;letter-spacing:0}.close{color:#e1e1e6;font-size:20px}.panel-content{padding:18px;font-size:14px}.panel-actions{padding:12px 18px;border-color:#6f7688}
.action,.action.secondary{background:#303a51;color:#eee;border:1px solid #808a9e;border-radius:2px;padding:8px 13px;font-size:12px}.action:hover,.action.selected{background:#48536b;color:#fff}.object-menu{gap:6px}
.title-panel{background:#172035dc;border:1px solid #c0c6d4;box-shadow:0 0 0 2px #0b1020;border-radius:3px}.title-panel h1{font-size:32px}.title-kicker{letter-spacing:4px}.title-panel .action{background:#303c58}
.document{background:#e7dfc9;color:#323029;border:1px solid #998f7a;box-shadow:none}.comparison,.control-list dt,.control-list dd,.result-note,.empty-note{color:#d7d9e2}.evidence-button{background:#303a51;color:#e9e9ed;border-color:#778397}.evidence-button.selected{background:#485977;color:#fff}
@media(max-width:800px){.game-shell{width:min(calc((100svh - 12px)*var(--room-ratio)),100%);margin:6px auto}.game-header{inset:9px 9px auto 9px}.dialogue-box{padding:18px 18px 20px}.dialogue-text{font-size:13px;line-height:1.8}.speaker{font-size:12px;top:-14px;padding:4px 10px}.choices{left:5%;width:90%}.choice{font-size:12px;padding:8px 12px}.game-header nav button{font-size:12px}.game-header .location time{font-size:10px}}

/* No framed boxes or card-shaped controls. */
.dialogue-box{left:0;right:0;bottom:0;min-height:23%;padding:35px 6% 23px;border:0;border-radius:0;box-shadow:none;background:linear-gradient(0deg,#0b1019f5 0%,#0b1019de 72%,#0b101900 100%)}
.speaker{position:static;background:none;border:0;border-radius:0;padding:0;margin:0 0 9px;color:#dfc89f;font-size:14px;text-shadow:1px 1px 1px #000}
.dialogue-text{min-height:2.8em;text-shadow:1px 1px 1px #000}.dialogue-next{right:5%;bottom:10px}.dialogue-portrait{bottom:20%}
.choice{border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#101722df,#101722b0 80%,transparent);padding:10px 20px}.choice:hover{background:linear-gradient(90deg,#48505bde,#48505b88 80%,transparent)}
.game-header nav{border:0;box-shadow:none;border-radius:0;background:linear-gradient(270deg,#121923f2,#121923d9 75%,transparent);padding:6px 0 6px 22px}.game-header nav button{border:0}.game-header nav button:hover{background:none;color:#e7cc9b}
.panel{border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#151c27f5,#151c27ed);max-height:90%}.panel-header,.panel-actions{border:0}.panel-header{padding-bottom:0}.action,.action.secondary{background:none;border:0;border-radius:0;color:#e4e1d9;padding:8px 12px}.action:hover,.action.selected{background:none;color:#edd0a0}.action:focus-visible{outline:0;text-decoration:underline}
.evidence-button,.evidence-button.selected{background:none;border:0;color:#ddd;padding:8px 3px}.evidence-button.selected{color:#efd0a1}.document{border:0;box-shadow:none}.title-panel{border:0;box-shadow:none;background:linear-gradient(90deg,#121b2ee6,#121b2eb0);border-radius:0}.title-panel .action{background:none;border:0;color:#e7c89c}
@media(max-width:800px){.dialogue-box{padding:25px 5% 18px}.speaker{font-size:12px}.choices{bottom:28%}}

.inspection{position:absolute;inset:0;background:#10151b;overflow:hidden;color:#f1eee6}
.inspection-scene{position:absolute;left:50%;top:0;transform:translateX(-50%);overflow:hidden}
.inspection-art{display:block;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}
.inspection-back{position:absolute;top:1%;left:3%;width:44px;height:44px;display:grid;place-items:center;padding:0;text-shadow:1px 1px 3px #000;line-height:1;z-index:6}
.inspection-notebook{position:absolute;bottom:3%;right:3%;width:64px;height:70px;padding:0;background:transparent;border:0;transition:transform .12s;z-index:8}
.notebook-icon{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(1px 3px 3px #0008)}
.thick-back-arrow{display:inline-block;width:28px;height:28px;flex-shrink:0;vertical-align:middle;filter:drop-shadow(1px 2px 0 #0008)}
.inspection-back .thick-back-arrow{width:32px;height:32px}
.pc-document-back{display:flex;align-items:center;gap:7px}
.pc-document-back .thick-back-arrow,.pc-address .thick-back-arrow{width:16px;height:16px;filter:drop-shadow(1px 1px 0 #0005)}
.pc-step-back .thick-back-arrow{width:28px;height:28px}
#clock[hidden]{display:none}
.inspection-notebook:hover,.inspection-notebook:focus-visible{transform:translateY(-3px);filter:brightness(1.15)}
.inspection-thought{position:absolute;bottom:0;left:0;right:0;margin:0;padding:32px 13% 17px 5%;font-size:clamp(12px,1.25vw,16px);line-height:1.7;pointer-events:none;white-space:pre-line;text-shadow:1px 1px 2px #000;background:linear-gradient(0deg,#0a1019ef,#0a1019ac 60%,transparent)}
.inspection-hotspot,.inspection-paper,.inspection-seal{position:absolute;border:0;background:none;padding:0;cursor:pointer;color:#252625}
.inspection-hotspot:focus-visible{outline:1px dotted #e3d6ad;outline-offset:-2px}.inspection-hotspot:hover{filter:brightness(1.04)}
.inspection-display{position:absolute;overflow:hidden;background:#142232;color:#dfdfea;padding:3% 4%;font:clamp(8px,.95vw,12px)/1.5 monospace;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4%}
.screen-location{color:#97b7c5;font-size:inherit;letter-spacing:.6px}.screen-file{display:flex;gap:8px;align-items:center;text-align:left;font:inherit;padding:2px 0;color:#eee}.screen-file:hover,.screen-file.file-picked{color:#f6d49e}.file-symbol{font-size:1.8em;color:#d8ba78}.screen-record,.screen-hash{font:inherit;white-space:pre-wrap;margin:0;color:#edf0e8;line-height:1.55}.screen-files{display:flex;flex-direction:column;gap:2px}.screen-compare{font:inherit;color:#cddde6;padding:1px 0;margin-top:auto}.screen-compare:disabled{color:#859ba9}
.case-label{position:absolute;left:52%;top:40%;width:14%;height:5%;font:clamp(5px,.5vw,8px)/1.05 monospace;color:#505350;white-space:pre-line;transform:rotate(3deg);pointer-events:none}
.inspection-seal,.inspection-paper{touch-action:none;background:none;clip-path:none}
.inspection-seal:focus-visible,.inspection-paper:focus-visible{outline:1px dotted #dfd3ac;outline-offset:3px}
.physical-paper{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.seal-magnified{position:absolute;left:23%;top:6%;width:54%;height:84%;transform:rotate(-3deg);pointer-events:none}
.inspection-paper.pulled{left:25%!important;top:5%!important;width:50%!important;height:86%!important;transform:rotate(-2deg);padding:0;overflow:visible}
.paper-revealed .inspection-art{filter:brightness(.45)}
@media(max-width:800px){.inspection-display{padding:2% 3%;font-size:8px}.inspection-thought{font-size:11px;padding:25px 15% 13px 5%}.inspection-notebook{font-size:10px}.inspection-back{font-size:32px}}
.dialogue-portrait.protagonist{left:3%;right:auto;width:32%;object-fit:contain;object-position:bottom}.dialogue-portrait.partner{right:3%;width:32%}.dialogue-portrait.listening{filter:brightness(.62);opacity:.86}.dialogue-portrait.speaking{filter:none;opacity:1}
.screen-journal{font:inherit;padding:1px 0;color:#d5bd92;flex-shrink:0}
.record-spread{display:grid;grid-template-columns:1fr 1fr;gap:22px}.record-sheet{padding:12px 8px;background:none}.record-sheet h3{font-size:13px;margin:0 0 14px;color:#d9c297}.record-field{display:block;width:100%;text-align:left;line-height:1.5;margin:9px 0;padding:3px 0}.field-label{display:block;color:#a9b3bd;font-size:10px}.field-value{font:12px/1.7 monospace;color:#eae7dd}.record-field.marked .field-value{color:#f4cb82;text-decoration:underline;text-underline-offset:4px}.deduction-caption{font-size:12px;color:#c4c2b7;margin:0 0 14px}
.timeline-board{position:relative;height:128px;margin:18px 0 4px;border:0}.timeline-board:before{content:'';position:absolute;left:10%;right:10%;height:1px;background:#b8ae96;top:27px}.timeline-origin,.timeline-end{position:absolute;top:0;font-size:10px;color:#a9a899}.timeline-origin{left:7%}.timeline-end{right:7%}.timeline-pin{position:absolute;top:17px;transform:translateX(-50%);padding:0;min-width:42px;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-size:11px;color:#e0d8c7;max-width:25%}.timeline-pin:before{content:'●';font-size:12px;line-height:21px;color:#c7b489}.timeline-tick{font:10px monospace;margin:5px 0 12px}.timeline-label{font-size:11px;line-height:1.5;white-space:normal}.timeline-pin.active{color:#f6d29a}.timeline-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 20px}.timeline-event{font-size:12px;padding:7px 3px;color:#dfddcf;touch-action:none;position:relative;z-index:2}.timeline-event.marked{color:#f2ca8a;text-decoration:underline}.timeline-event.placed{opacity:.4}
.book-shade{position:absolute;inset:0;background:#10151bf7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 0}.investigation-book{position:relative;aspect-ratio:4/3;width:min(100%,calc((100% - 36px)*4/3));height:calc(100% - 36px);background-position:center;background-size:100% 100%;color:#37352c;overflow:hidden}.book-left,.book-right{position:absolute;top:12%;height:70%;overflow:auto;scrollbar-width:thin;scrollbar-color:#8e8466 transparent}.book-left{left:10%;width:35%}.book-right{left:54%;width:34%}.book-left h2{font-size:14px;margin:0 0 13px;font-weight:400}.book-evidence{display:grid;grid-template-columns:1fr 1fr;gap:14px 8px}.book-entry{padding:0;text-align:center;color:#4a4438;font-size:11px;line-height:1.4;transform:rotate(-1deg)}.book-entry:nth-child(even){transform:rotate(2deg)}.book-entry .clue-photo{width:85%;margin-bottom:4px}.book-entry:hover,.book-entry.marked{color:#764126}.book-entry.marked span{text-decoration:underline;text-underline-offset:4px}.clue-photo{display:block;width:100%;height:auto;image-rendering:pixelated;pointer-events:none}.book-note{white-space:pre-wrap;margin:0 0 24px}.book-note .clue-photo{width:75%;margin:0 auto 9px;transform:rotate(-2deg)}.book-note h3{font-size:12px;font-weight:400;margin:8px 0}.book-note p{font:11px/1.65 Nanum,monospace;margin:0}.book-empty,.book-result{font-size:12px;line-height:1.7;white-space:pre-line}.book-result{color:#744634}.book-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 13px;height:36px;align-items:center}.book-tools button{padding:4px 0;font-size:11px;color:#ded5c0}.book-tools button:hover{color:#f6d8a4}
@media(max-width:800px){.record-spread{gap:8px}.record-sheet{padding:8px 0}.field-value{font-size:10px}.field-label{font-size:9px}.book-left h2{font-size:12px}.book-evidence{gap:11px 6px}.book-entry{font-size:9px}.book-note p{font-size:10px}.book-tools{gap:3px 10px}.book-tools button{font-size:10px}.timeline-event{font-size:11px}.timeline-label{font-size:10px}.timeline-pin{min-width:35px}}
.book-evidence{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.book-entry{min-width:0}.book-entry .paper-photo{width:auto;max-width:90%;height:112px;object-fit:contain;margin:0 auto 4px}.book-note .paper-photo{width:90%;margin:0 auto 9px}
@media(max-width:800px){.book-entry .paper-photo{height:90px}}
.pc-screen{position:absolute;overflow:hidden;padding:0;background:#263f56;color:#202831;font:clamp(8px,1.1vw,12px)/1.45 Nanum,sans-serif;isolation:isolate}
.pc-screen button{font:inherit;border-radius:0;min-height:0;letter-spacing:0;color:inherit;padding:3px 7px}
.pc-screen button:disabled{opacity:.45;cursor:default}.pc-screen button:focus-visible,.pc-screen input:focus-visible{outline:1px dotted currentColor;outline-offset:-3px}
.pc-desktop{position:absolute;inset:0 0 21px;background:linear-gradient(140deg,#28495a,#243648);padding:8px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:#f0efdc}
.pc-watermark{position:absolute;right:6%;bottom:16%;font:18px/1 monospace;letter-spacing:3px;color:#73909a55;pointer-events:none}.pc-workstation{position:absolute;right:6%;bottom:8%;font-size:9px;color:#adbec3}
.pc-shortcut{width:65px;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;text-shadow:1px 1px #172329;padding:0!important}.pc-shortcut:hover{color:#fff}
.pc-symbol{display:inline-block;vertical-align:middle;width:15px;height:12px;flex-shrink:0;margin-right:4px;position:relative;image-rendering:pixelated}
.pc-symbol-folder{background:#d0b96e;border:1px solid #796b45;box-shadow:inset 0 2px #e4d08c}.pc-symbol-folder:before{content:'';position:absolute;left:-1px;top:-4px;width:7px;height:4px;background:#d9c582;border:1px solid #796b45;border-bottom:0}
.pc-symbol-document{height:15px;width:11px;background:#efece0;border:1px solid #778086;box-shadow:inset 0 -5px #d8d8ca}.pc-symbol-record{background:#273d40;border:1px solid #90a0a1}.pc-symbol-record:before{content:'∿';position:absolute;left:1px;top:-6px;color:#a6c8a3;font:18px monospace}
.pc-shortcut .pc-symbol{transform:scale(1.3);margin:3px 0 4px}
.pc-taskbar{position:absolute;bottom:0;left:0;right:0;height:21px;display:flex;align-items:center;gap:7px;background:#c5c8c3;border-top:2px solid #e4e5df;padding:1px 5px;font-size:9px;color:#263036;z-index:3}.pc-start{border:1px outset #e4e5df!important;line-height:12px;padding:0 6px!important}.pc-task{flex:1;overflow:hidden;white-space:nowrap}.pc-clock{font-family:monospace}.pc-network{font-size:8px}
.pc-window{position:absolute;inset:4px 4px 25px;display:flex;flex-direction:column;border:2px outset #dde1dd;background:#d6d8d2;overflow:hidden}.pc-title{height:21px;display:flex;align-items:center;gap:4px;flex-shrink:0;background:#304c67;color:#faf8ed;padding:1px 3px;font-size:10px}.pc-title>span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-window-control{border:1px outset #eef0e6!important;background:#c7ccc7;color:#1d2930!important;padding:0 4px!important;font:11px/13px monospace!important;min-width:14px}.pc-menu{display:flex;gap:12px;height:19px;flex-shrink:0;padding:2px 7px;border-bottom:1px solid #b6bbb5;font-size:9px}.pc-content{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;display:flex;flex-direction:column}.pc-status{height:18px;line-height:15px;flex-shrink:0;border-top:1px inset #eef1e9;padding:1px 5px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-address{height:23px;display:flex;align-items:center;gap:6px;padding:2px 5px;flex-shrink:0;background:#e5e7df;font-size:9px}.pc-address button{font-size:15px!important;padding:0 4px!important}.pc-explorer{display:flex;flex:1;min-height:0;background:#f2f2e9}.pc-tree{width:26%;min-width:60px;background:#e3e6df;border-right:1px solid #a8b1aa;padding:6px 3px;display:flex;flex-direction:column;gap:5px;flex-shrink:0}.pc-tree button{text-align:left;padding:3px 1px!important;white-space:nowrap;font-size:9px!important}.pc-tree button.active{background:#b6c7cc}.pc-file-list{flex:1;min-width:0;display:flex;flex-direction:column;overflow:auto}.pc-file-head,.pc-file-row{display:grid;grid-template-columns:minmax(0,1fr) 68px 25px;gap:4px;align-items:center;font-size:9px}.pc-file-head{height:21px;padding:3px 6px;flex-shrink:0;background:#dee1d9;border-bottom:1px solid #b6beb4}.pc-file-row{padding:6px!important;text-align:left;flex-shrink:0;min-height:26px!important;border-bottom:1px solid #e0e5dd}.pc-file-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-file-row>span:first-child{display:flex;align-items:center}.pc-file-row.picked{background:#294d70;color:#f5f3e8}.pc-file-row:hover:not(:disabled){background:#c4d4d8;color:#152e3c}.pc-file-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 6px;margin-top:auto;font-size:8px;background:#e4e7df;flex-shrink:0}.pc-file-tools button,.pc-record-source button,.pc-linked-file{border:1px outset #e4e8e0!important;background:#ccd2cc;padding:2px 9px!important;white-space:nowrap}
.pc-document{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:10px;line-height:1.7;margin:0;padding:9px 12px;background:#f4f3e7;color:#273233;flex:1}.pc-document-back{align-self:flex-start;font-size:9px!important;padding:2px 8px!important}.pc-match{margin:0;padding:5px 10px;background:#e0e8de;color:#324f36}.pc-news-title{font-size:12px;margin:10px 12px 5px}.pc-record-info{display:grid;grid-template-columns:1fr 1fr;padding:7px 10px;gap:3px 14px;flex-shrink:0;font-size:9px}.pc-record-info>div{display:flex;gap:5px}.pc-record-info span{color:#637371}.pc-record-info strong{font:9px monospace}.pc-trace{margin:0 9px;background:repeating-linear-gradient(0deg,transparent,transparent 14px,#a7b8ae35 15px),repeating-linear-gradient(90deg,#253a3b,#253a3b 19px,#a7b8ae35 20px);min-height:60px;flex:1;position:relative}.pc-trace svg{display:block;width:100%;height:calc(100% - 13px);min-height:45px}.pc-trace span{display:block;font:8px monospace;color:#c7d3c7;padding:0 6px 2px}.pc-record-source{display:flex;justify-content:space-between;align-items:center;padding:5px 9px;font-size:8px;flex-shrink:0}.pc-linked-file{align-self:flex-start;margin:4px 10px}
.pc-login{height:100%;padding:6% 7%;background:radial-gradient(ellipse at 40% 15%,#466780,#24394e);color:#ececde;display:flex;flex-direction:column;align-items:center;justify-content:center}.pc-avatar{width:28px;height:28px;background:#b5c6c7;position:relative;overflow:hidden;margin-bottom:4px}.pc-avatar:before{content:'';position:absolute;left:10px;top:4px;width:9px;height:10px;background:#5c717c;border-radius:50%}.pc-avatar:after{content:'';position:absolute;left:5px;bottom:-2px;width:20px;height:13px;background:#5c717c;border-radius:50% 50% 0 0}.pc-login h3{font-size:13px;font-weight:400;margin:0 0 2px}.pc-account{margin:0 0 8px;font:8px monospace;color:#bdcad2}.pc-login-form{display:grid;grid-template-columns:auto minmax(80px,110px) 23px;align-items:center;gap:4px 7px;font-size:10px}.pc-password{font:12px monospace;letter-spacing:5px;width:100%;height:24px;padding:3px 6px;background:#ecefe9;border:1px inset #8e9b9b;color:#263641;border-radius:0}.pc-login-submit{height:24px;border:1px outset #b4c2cd!important;background:#657e93;font-size:15px!important;padding:0!important}.pc-login-error{grid-column:2/4;min-height:12px;margin:0;font-size:9px;color:#f7cdaf}.pc-hint-button{font-size:9px!important;color:#d8d6bd!important;text-decoration:underline;text-underline-offset:3px;padding:4px!important}.pc-password-hint{font-size:9px;text-align:center;margin:2px 0 0;line-height:1.5}
.pc-inspected-monitor{position:absolute;left:50%;top:43%;width:94%;transform:translate(-50%,-50%);z-index:4}.pc-monitor-art{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.pc-focused .inspection-art{filter:brightness(.35)}.pc-step-back{position:absolute;left:2%;bottom:1.5%;width:44px;height:36px;display:grid;place-items:center;padding:0!important;color:#ece0c0}
.pc-file-head,.pc-file-row{grid-template-columns:minmax(0,1fr) max(72px,6.7em) 27px}
@media(max-width:800px){.pc-screen{font-size:9px}.pc-file-head,.pc-file-row{grid-template-columns:minmax(0,1fr) 64px 23px;font-size:8px}.pc-file-row{padding:5px!important}.pc-document{font-size:9px;padding:7px 9px}.pc-tree button{font-size:8px!important}.pc-login{padding:4%}.pc-login h3{font-size:12px}.pc-account{margin-bottom:5px}.pc-avatar{width:24px;height:24px}.pc-workstation{font-size:8px}}

/* v40 physical drawer actions are over the object, not framed web cards. */
.senior-drawer-actions{position:absolute;left:12%;right:12%;bottom:max(34px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:24px;z-index:5;flex-wrap:wrap}
.drawer-action{min-height:44px;padding:8px 12px;border:0;background:linear-gradient(transparent,rgba(10,13,15,.85));color:#fff;font:inherit;font-size:16px;text-shadow:0 1px 3px #000;cursor:pointer}
.drawer-action:hover,.drawer-action:focus-visible{color:#efdfb0;outline:2px solid #dfc37a}
.senior-drawer-inspection .inspection-thought{pointer-events:none;bottom:4px}
.archive-card-reader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.archive-card-photo{max-height:60vh;max-width:70vw;object-fit:contain}
.archive-card-account,.archive-card-log{font-size:16px;white-space:pre-wrap;line-height:1.4}
.archive-card-log-button{position:absolute;right:14px;top:48px;background:none;border:0;color:inherit;padding:10px;font-size:14px;min-height:44px}
@media(max-height:430px) and (orientation:landscape){.archive-card-photo{max-height:50vh}.archive-card-reader{gap:4px}.senior-drawer-actions{bottom:38px;gap:14px}.drawer-action{font-size:16px}.archive-card-account{margin:0}}
