@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}}
