@font-face{font-family:GameSerif;src:local('Noto Serif KR'),local('Batang')}
:root{color-scheme:dark;--ink:#ecdfc9;--muted:#afa796;--gold:#ddb678;--edge:#645747;--dark:#171b1c;--paper:#e3d3b5}
*{box-sizing:border-box}body{margin:0;background:#090d10;color:var(--ink);font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #665d4c;background:#252826;padding:.7em 1em;border-radius:3px;transition:background .15s,border-color .15s}button:hover{background:#373d39;border-color:#d2ac70}button:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.4;cursor:default}button.primary{background:#d3ad71;color:#1d2427;border-color:#d3ad71;font-weight:700}button.primary:hover{background:#e8c58c}button.quiet{border-color:transparent;background:transparent;color:#bcb4a5}kbd{border:1px solid #a39880;border-radius:2px;display:inline-block;padding:2px 6px;min-width:24px;text-align:center;font-family:inherit;font-size:.82em;color:#f0e1c6}h1,h2,h3,p{margin-top:0}button kbd{border:0;background:#13171580;margin-left:5px}#stage{position:absolute;width:min(100vw,177.7778vh);height:min(100vh,56.25vw);left:50%;top:50%;transform:translate(-50%,-50%);background:#171b1c;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.hud{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:30px 36px 60px;background:linear-gradient(#071014c4,transparent);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:3.5px;color:#b9ad96;margin:0 0 11px}.eyebrow span{letter-spacing:1.5px;color:#8f958e;margin-left:18px}h1{font-family:GameSerif,'Batang',serif;font-weight:400;letter-spacing:.18em;font-size:25px;margin:0 0 12px}#objective{font-size:12px;color:#cec2ac;letter-spacing:.06em}nav{display:flex;gap:8px;align-items:center;pointer-events:auto}nav button{background:#121a1cc7;font-size:12px;padding:8px 10px}#foundCount{font-size:11px;color:#c0b4a0;margin-right:8px;letter-spacing:1px}footer{position:absolute;bottom:0;left:0;right:0;padding:15px 34px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,#070e13da);font-size:11px;letter-spacing:.04em;color:#d1c4af;pointer-events:none}footer i{font-style:normal;color:#8c816e;margin:0 12px}footer kbd{font-size:10px}#saveStatus{font-size:10px;color:#a29e92}.interaction{position:absolute;transform:translate(-50%,-100%);padding:9px 12px;background:#131a19e8;box-shadow:0 5px 25px #0008;border-color:#c5a36d;display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:12px;z-index:3}.interaction[hidden]{display:none}.interaction:after{content:'';position:absolute;top:100%;left:50%;border:5px solid transparent;border-top-color:#c5a36d;transform:translateX(-50%)}.interaction kbd{background:#e6d4ae;color:#272b28;border:none;margin:0;padding:3px 6px}#toast{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);text-align:center;font-size:12px;letter-spacing:.03em;background:#132023ec;padding:11px 20px;border:1px solid #72715c;opacity:0;transition:opacity .18s;pointer-events:none;max-width:90%;z-index:4}#toast.visible{opacity:1}dialog{max-height:calc(100dvh - 40px);width:min(860px,calc(100vw - 40px));padding:0;color:var(--ink);border:1px solid #6d6452;border-radius:5px;background:#192020;box-shadow:0 30px 100px #0009;overflow:auto}dialog::backdrop{background:#040b0fc2;backdrop-filter:blur(6px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid #4b5045;position:sticky;top:0;background:#192020;z-index:2;gap:15px}.modal-head h2{font-family:GameSerif,'Batang',serif;font-weight:400;font-size:23px;letter-spacing:.05em;margin:0}.modal-head .tag{font-size:10px;letter-spacing:2px;color:#bba884;margin-bottom:8px}.close{border:0;background:transparent;font-size:24px;padding:2px 8px;color:#c6b99f}.modal-body{padding:28px}.intro{width:min(780px,calc(100vw - 32px))}.intro .modal-body{padding:30px 38px}.intro-lead{font-size:15px;line-height:1.9;color:#d4c8b5;max-width:580px}.intro-lead strong{color:#f5e5c6}.steps{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:30px 0}.step{padding:15px 0;border-top:1px solid #4b5148}.step em{font-style:normal;font-size:10px;letter-spacing:2px;color:#bda477}.step h3{font-weight:400;font-size:15px;margin:10px 0}.step p{font-size:12px;line-height:1.8;color:#aaa99b;margin:0}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}.minor{font-size:11px;color:#a0a593;line-height:1.8}.source-reader{background:var(--paper);color:#292a23;margin:0;padding:35px 45px;box-shadow:inset 0 0 100px #ac916233;line-height:1.95}.source-reader .masthead{text-align:center;border-bottom:3px double #6b644f;letter-spacing:.35em;font-family:GameSerif,'Batang',serif;font-size:24px;padding-bottom:13px;margin-bottom:16px}.source-reader .source-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#62604e;border-bottom:1px solid #a49576;padding-bottom:10px}.source-reader h3{font-family:GameSerif,'Batang',serif;font-size:23px;line-height:1.5;margin:24px 0 20px;font-weight:600}.source-reader p{font-size:14px;line-height:2;white-space:pre-line;margin:0}.reader-actions{display:flex;justify-content:space-between;gap:12px;padding:18px 28px;align-items:center;background:#192020}.reader-actions span{font-size:11px;color:#b4b19f}.journal-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}.journal-list{display:flex;flex-direction:column;gap:6px}.journal-row{text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:12px}.journal-row small{font-size:10px;color:#a6a28f;display:block;margin-top:6px}.journal-row.pinned{border-left:3px solid #cdaa73}.empty{color:#a9ad9e;font-size:13px;line-height:1.9;border:1px dashed #596153;padding:22px}.note-label{font-size:12px;display:block;margin-bottom:12px;letter-spacing:.06em}textarea{display:block;resize:vertical;width:100%;min-height:240px;background:#121a1b;color:#e2d6bf;border:1px solid #525b4f;padding:15px;line-height:1.9;font-size:13px;border-radius:3px}textarea:focus,input:focus{outline:2px solid #c5a56d;outline-offset:1px}.compare-dialog{width:min(1480px,calc(100vw - 32px))}.comparison-intro{font-size:12px;line-height:1.8;color:#afa994;margin:0 0 20px}.comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.compare-card{background:var(--paper);color:#272a22;min-width:0;display:flex;flex-direction:column}.compare-card .source-reader{padding:18px;max-height:56vh;overflow:auto;flex:1}.compare-card .masthead{font-size:17px;padding-bottom:10px;margin-bottom:11px}.compare-card .source-meta{font-size:10px;flex-wrap:wrap}.compare-card h3{font-size:17px;margin:15px 0}.compare-card p{font-size:12px;line-height:1.9}.card-tools{display:flex;justify-content:space-between;background:#252c28;padding:8px;gap:5px}.card-tools button{font-size:11px;padding:6px 8px;color:#dccdb0}.empty-card{min-height:290px;border:1px dashed #536051;display:flex;align-items:center;justify-content:center;color:#777f70;font-size:12px}.keypad-dialog{width:min(420px,calc(100vw - 32px))}.lock-display{height:70px;letter-spacing:18px;display:flex;align-items:center;justify-content:center;font-size:30px;background:#0f1718;border:1px solid #4e574c;color:#e2c185;padding-left:18px;margin-bottom:18px;font-variant-numeric:tabular-nums}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{font-size:22px;min-height:55px}.keypad .small{font-size:13px}.lock-message{min-height:32px;text-align:center;font-size:12px;line-height:1.6;margin:18px 0 0;color:#cdbda1}.menu-stack{display:flex;flex-direction:column;gap:10px}.menu-stack a{text-align:center;color:#bbb7a6;font-size:12px;padding:10px;text-decoration:none}.menu-stack a:hover{text-decoration:underline}.ending-title{font-family:GameSerif,'Batang',serif;font-size:34px;line-height:1.5;font-weight:400;letter-spacing:.1em}.ending-copy{color:#c6c0ae;line-height:2;font-size:14px}.ending-stats{display:flex;gap:30px;border-top:1px solid #525847;border-bottom:1px solid #525847;padding:18px 0;margin:25px 0;font-size:12px;color:#c8c0aa}.ending-stats strong{color:#edd7ad;font-size:24px;font-weight:400;margin-right:8px}#touchControls{display:none}html[data-loading] #stage:after{content:'편집실의 불을 켜는 중…';position:absolute;inset:0;display:grid;place-items:center;background:#101718;color:#b9ad93;font-size:14px;letter-spacing:.1em}
@media(max-width:900px){.hud{padding:17px 20px 40px}.eyebrow{font-size:8px;margin-bottom:6px;letter-spacing:2px}h1{font-size:18px;margin-bottom:6px}#objective{font-size:10px}.hud nav{gap:5px}.hud nav button{font-size:10px;padding:7px}nav kbd{display:none}#foundCount{font-size:9px;margin-right:2px}footer{padding:10px 20px;font-size:9px}footer i{margin:0 5px}.interaction{font-size:10px;padding:7px}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-card .source-reader{max-height:45vh}.journal-layout{grid-template-columns:1fr}dialog{max-height:calc(100dvh - 20px)}.modal-head{padding:17px 20px}.modal-head h2{font-size:21px}.modal-body{padding:20px}.intro .modal-body{padding:23px}.source-reader{padding:24px 25px}.source-reader h3{font-size:20px}#saveStatus{display:none}}
@media(pointer:coarse){#touchControls{display:flex;position:fixed;left:20px;bottom:38px;right:20px;justify-content:space-between;align-items:flex-end;pointer-events:none}.dpad{width:132px;display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,36px);gap:4px}.dpad button,#touchInspect{pointer-events:auto;touch-action:none;background:#162224bd;padding:3px}.dpad [data-move=up]{grid-column:2}.dpad [data-move=left]{grid-column:1;grid-row:2}.dpad [data-move=down]{grid-column:2;grid-row:2}.dpad [data-move=right]{grid-column:3;grid-row:2}#touchInspect{height:55px;width:66px;font-size:13px}footer>span:first-child{visibility:hidden}}
@media(max-width:540px){.hud{padding:10px 12px}.eyebrow span,#objective,#foundCount{display:none}h1{font-size:14px}.eyebrow{font-size:6px}.hud nav button{padding:5px;font-size:9px}.steps{gap:12px;margin:20px 0}.step h3{font-size:13px}.step p{font-size:11px}.intro-lead{font-size:13px}.modal-actions button{font-size:12px}.comparison-grid{grid-template-columns:1fr}.source-reader p{font-size:13px}.reader-actions{padding:14px;gap:7px;flex-wrap:wrap}.reader-actions button{font-size:12px}footer{padding:5px 10px}.interaction{font-size:9px;padding:4px 6px}#touchControls{bottom:18px;left:10px;right:10px}.dpad{width:99px;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(2,27px);gap:3px}#touchInspect{width:47px;height:44px;font-size:11px}}
/* First-person view fills the viewport; the original side-view stylesheet is a private copy. */
#stage{inset:0;transform:none;width:100%;height:100dvh}#scene{width:100%;height:100%;cursor:crosshair}#scene.mouse-look{cursor:none}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#06101466 100%)}#crosshair{position:absolute;top:50%;left:50%;width:7px;height:7px;transform:translate(-50%,-50%);border-radius:50%;background:#efdfbaaa;box-shadow:0 0 0 1px #1c282688;pointer-events:none;transition:transform .12s,background .12s}#crosshair.active{background:#f6cf85;transform:translate(-50%,-50%) scale(1.8);box-shadow:0 0 12px #ffc37299}#crosshair[hidden]{display:none}.interaction{top:calc(50% + 34px);left:50%;transform:translateX(-50%);font-size:14px}.interaction:after{display:none}#lookHint{position:absolute;left:50%;bottom:80px;transform:translateX(-50%);color:#e7d8bb;pointer-events:none;font-size:12px;text-shadow:0 2px 6px #000}#lookHint[hidden]{display:none}#boot{position:fixed;inset:0;background:#111a20;display:grid;align-content:center;text-align:center;gap:20px;z-index:10;font-size:17px;line-height:2;color:#d9c39b}#boot[hidden]{display:none}#boot a,.modal-actions a{color:#ddba83}.sensitivity{display:block;font-size:13px;margin:24px 0 12px;color:#cab795}.sensitivity output{float:right}.sensitivity input{display:block;width:100%;margin-top:14px;accent-color:#cca96f}.source-reader p{font-size:15px}.step p{font-size:13px}#toast{bottom:85px}#touchControls [data-move=w]{grid-column:2}#touchControls [data-move=a]{grid-column:1;grid-row:2}#touchControls [data-move=s]{grid-column:2;grid-row:2}#touchControls [data-move=d]{grid-column:3;grid-row:2}@media(max-width:900px){#lookButton{display:none}.hud{padding-bottom:45px}.eyebrow span{margin-left:8px}footer>span:first-child{font-size:9px}}@media(max-width:540px){#lookHint{width:80%;font-size:10px;bottom:90px;text-align:center}.source-reader p{font-size:14px}.hud nav{gap:4px}.steps{grid-template-columns:1fr}.intro .minor{font-size:11px}}

.touch-hint{display:none}@media(pointer:coarse){.mouse-hint{display:none}.touch-hint{display:inline}#scene,#scene.mouse-look{cursor:default}}

/* Printed archive sheets, with readable typesetting over scanned material. */
:root{--paper:#e8dec5}
.hud{padding:26px 32px 48px;background:linear-gradient(#081015c9,transparent)}
.hud h1{font-size:23px;letter-spacing:.17em;text-shadow:0 2px 12px #0008}
.hud nav button{background:#111b1ab8;backdrop-filter:blur(8px);border-color:#a99a7959;border-radius:2px}
#crosshair{width:5px;height:5px;background:#f1e6c3a6}
#vignette{background:radial-gradient(ellipse at center,transparent 45%,#070d104a 100%)}
.reader-dialog{width:min(980px,calc(100vw - 40px));background:#202723;border-color:#91816b;border-radius:2px}
.reader-dialog .modal-head{padding:12px 22px;background:#1c2522}
.reader-dialog .modal-head .tag{font-size:9px;letter-spacing:1px;margin-bottom:4px}
.reader-dialog .modal-head h2{font-family:inherit;font-size:14px;letter-spacing:.06em}
.reader-dialog .close{font-size:22px}
.source-reader.newspaper{position:relative;margin:0;padding:25px 38px 18px;color:#272921;background-color:#e9dfc5;background-image:linear-gradient(90deg,transparent 48.8%,#6d59330c 49.6%,#fff6df55 50%,transparent 51.2%),linear-gradient(#ede7d4d2,#efe7d2d2),url('assets/material-atlas.png');background-size:100% 100%,100% 100%,200% 200%;background-position:center,center,left bottom;box-shadow:inset 0 0 65px #8b71332a;font-family:GameSerif,'Batang',serif}
.edition-line{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.04em;border-bottom:1px solid #514c3c;padding-bottom:7px}
.newspaper .masthead{font-size:64px;font-weight:800;line-height:1.1;letter-spacing:.24em;text-indent:.24em;padding:15px 0 0;margin:0;border:0;color:#22271f}
.newspaper .masthead small{display:block;margin-top:7px;font-family:Georgia,serif;font-size:10px;letter-spacing:.32em;text-indent:.32em;font-weight:400}
.paper-motto{text-align:center;font-size:10px;letter-spacing:.18em;margin:9px 0 12px}
.newspaper .source-meta{font-size:11px;align-items:center;border-top:4px double #343c30;border-bottom:1px solid #79745e;padding:7px 0;line-height:1.4;color:#3b4034}
.archive-number{font-family:'Malgun Gothic',sans-serif;letter-spacing:.08em}.archive-number b{font-size:16px;font-weight:600;margin-left:5px}
.newspaper h3{font-family:GameSerif,'Batang',serif;font-size:32px;font-weight:800;letter-spacing:-.055em;word-break:keep-all;overflow-wrap:anywhere;line-height:1.4;margin:18px 0 10px;color:#22271f}
.news-byline{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #9b947b;padding-bottom:10px;margin-bottom:17px;font-size:11px;color:#575747}
.news-byline strong{font-variant-numeric:tabular-nums;font-weight:400}
.news-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:25px;align-items:start}
.news-figure{margin:0;min-width:0;break-inside:avoid}
.news-photo{position:relative;aspect-ratio:4/3;background-image:url('assets/news-photos.png');background-size:400% 300%;background-position:var(--photo-x) var(--photo-y);filter:sepia(.16) contrast(.94);mix-blend-mode:multiply;border:1px solid #66645177}
.news-photo:after{content:'';position:absolute;inset:0;background-image:radial-gradient(#17180f42 .45px,transparent .85px);background-size:3px 3px;opacity:.45;pointer-events:none}
.news-figure figcaption{font-size:10px;line-height:1.8;margin-top:7px;color:#4d5142;word-break:keep-all}
.news-figure figcaption span{display:block;font-size:8px;color:#77745f;text-align:right;margin-top:4px;letter-spacing:.1em}
.newspaper .news-copy p{font-family:GameSerif,'Batang',serif;font-size:15px;line-height:1.95;text-align:justify;word-break:normal;overflow-wrap:anywhere;white-space:normal;margin:0 0 14px;text-indent:1em}
.newspaper .news-copy p:last-child{margin-bottom:0}
.edition-footer{display:flex;justify-content:space-between;gap:12px;border-top:2px solid #4f5545;margin-top:19px;padding-top:6px;font-size:9px;color:#545847;letter-spacing:.04em}
.clipping-source{margin-top:10px;text-align:right;font-size:9px;color:#726d5a;font-family:'Malgun Gothic',sans-serif}
.reader-dialog .reader-actions{position:sticky;bottom:0;padding:12px 22px;border-top:1px solid #646852;background:#1c2522f5;z-index:3;backdrop-filter:blur(8px)}
.reader-dialog .reader-actions button{font-size:12px;padding:8px 12px}
.source-reader.editor-note{padding:45px 65px;background-color:#e2d1ab;background-image:linear-gradient(90deg,transparent 49.3%,#705b3020 49.9%,#fff3d570 50.1%,transparent 50.8%),url('assets/material-atlas.png');background-size:100% 100%,200% 200%;background-position:center,left bottom;box-shadow:inset 0 0 80px #8e742735;font-family:GameSerif,'Batang',serif}
.editor-note .note-date{font-size:11px;color:#746b56;letter-spacing:.08em}
.editor-note h3{font-family:GameSerif,'Batang',serif;font-size:26px;font-weight:400;margin:22px 0}
.editor-note p{font-family:GameSerif,'Batang',serif;font-size:17px;line-height:2.2;background:repeating-linear-gradient(transparent 0,transparent 36px,#79694c20 36px,#79694c20 37px);padding-bottom:12px}
.note-source{font-size:10px;text-align:right;color:#807252;margin-top:15px}
.compare-card .source-reader.newspaper{padding:16px;max-height:60vh}
.compare-card .edition-line{font-size:8px;flex-wrap:wrap;gap:0}
.compare-card .newspaper .masthead{font-size:32px;padding-top:12px;letter-spacing:.13em;text-indent:.13em}
.compare-card .newspaper .masthead small{font-size:7px}
.compare-card .paper-motto{font-size:8px;margin:7px 0 10px}
.compare-card .newspaper .source-meta{font-size:9px;gap:6px}.compare-card .archive-number b{font-size:14px}
.compare-card .newspaper h3{font-size:20px;line-height:1.5;margin:12px 0}
.compare-card .news-byline{font-size:9px;gap:4px;flex-wrap:wrap}
.compare-card .news-grid{display:block}.compare-card .news-figure{margin-bottom:14px}
.compare-card .newspaper .news-copy p{font-size:13px;line-height:1.9}
.compare-card .edition-footer{font-size:8px}.compare-card .clipping-source{font-size:8px}
@media(min-width:1600px){.reader-dialog{width:1060px}.newspaper .news-copy p{font-size:17px}.newspaper h3{font-size:38px}}
@media(max-width:700px){.source-reader.newspaper{padding:18px 23px}.newspaper .masthead{font-size:50px}.newspaper h3{font-size:27px}.news-grid{gap:18px;grid-template-columns:1fr 1fr}.newspaper .news-copy p{font-size:14px}.source-reader.editor-note{padding:30px}.reader-dialog{width:calc(100vw - 24px)}}
@media(max-width:540px){.hud{padding:12px}.hud h1{font-size:16px}.source-reader.newspaper{padding:17px 20px}.edition-line{font-size:8px}.newspaper .masthead{font-size:45px}.newspaper h3{font-size:26px}.news-grid{grid-template-columns:1fr;gap:18px}.news-figure{max-width:100%}.newspaper .news-copy p{font-size:15px}.newspaper .source-meta{font-size:10px}.reader-dialog .modal-head{padding:10px 15px}.reader-dialog .reader-actions{padding:10px 15px}.reader-dialog .reader-actions span{font-size:10px}.reader-dialog .reader-actions button{font-size:11px}.source-reader.editor-note{padding:25px}.editor-note p{font-size:15px}}
/* Comparison prioritizes the complete evidence over decorative mastheads. */
.compare-card .edition-line,.compare-card .paper-motto,.compare-card .masthead small,.compare-card .news-figure figcaption span{display:none}
.compare-card .newspaper .masthead{font-size:27px;padding:0 0 8px}
.compare-card .newspaper h3{font-size:18px;margin:10px 0 8px}
.compare-card .news-byline{padding-bottom:7px;margin-bottom:10px}
.compare-card .news-photo{aspect-ratio:8/3;background-size:400% 600%}
.compare-card .news-figure{margin-bottom:11px}
.compare-card .news-figure figcaption{font-size:8px;margin-top:4px;line-height:1.6}
.compare-card .newspaper .news-copy p{font-size:13px;line-height:1.8;margin-bottom:9px}
#lookHint{bottom:64px}#toast{bottom:105px}
@media(max-width:540px){#lookHint{bottom:88px}#toast{bottom:135px}}
.compare-card .news-photo{background-position:var(--photo-x) var(--photo-crop-y)}
.map-intro-route{display:flex;align-items:center;justify-content:center;gap:15px;margin:25px 0 30px;border-block:1px solid #69756470;padding:20px 0;font-size:14px;color:#e2cfaa}.map-intro-route b{font-size:17px;color:#b89a67}.map-intro-route span{white-space:nowrap}@media(max-width:540px){.map-intro-route{gap:9px;font-size:11px}}
