:root{--ink: #f3ead8;--ink-dim: #cbbd9f;--gold: #d4ad62;--gold-dim: #9b7c43;--panel: rgba(28, 22, 16, .78);--panel-edge: rgba(212, 173, 98, .45);--serif: "Nanum Myeongjo", "AppleMyungjo", "Noto Serif KR", "Batang", serif;--sans: "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif;--t-certain: #6fa36a;--t-likely: #c99a45;--t-allow: #8f86c9}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0b0a09;color:var(--ink);font-family:var(--sans);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0}#app canvas{display:block;width:100%;height:100%}#ui{position:fixed;inset:0;pointer-events:none;user-select:none}#ui .hidden,.hidden{display:none!important}button{pointer-events:auto;font-family:var(--sans)}#objective{position:absolute;top:28px;left:32px;max-width:420px;padding:12px 18px 13px 16px;border-left:3px solid var(--gold);background:linear-gradient(90deg,#140f0ab8,#140f0a00);text-shadow:0 1px 3px rgba(0,0,0,.8);transition:opacity .4s}#objective .mission-name{font-family:var(--serif);font-size:13px;letter-spacing:.12em;color:var(--gold);margin-bottom:5px}#objective .objective-text{font-size:17px;line-height:1.45;color:var(--ink)}#objective .pieces{margin-top:6px;font-size:13px;color:var(--gold);letter-spacing:.04em}#objective .pieces.bump{animation:pieceBump .7s ease-out}@keyframes pieceBump{0%{transform:scale(1)}35%{transform:scale(1.18);color:#fff3cf}to{transform:scale(1)}}#reader .r-stats{margin-top:8px;font-size:15px;color:var(--gold);letter-spacing:.03em}#reader .r-stats .stars{font-size:18px;letter-spacing:.12em;margin-left:8px}#objective .objective-text .count{color:var(--gold);margin-left:6px}#objective.flash{animation:flash .9s ease-out}@keyframes flash{0%{background-color:#d4ad6259}to{background-color:transparent}}#crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#fff5e1bf;box-shadow:0 0 3px #000c}#prompt{position:absolute;left:50%;top:calc(50% + 46px);transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;background:var(--panel);border:1px solid var(--panel-edge);border-radius:22px;font-size:16px;white-space:nowrap}#prompt .key{position:relative;flex:none;width:26px;height:26px;line-height:24px;text-align:center;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-weight:700;font-size:14px;margin-left:4px}#prompt .ring{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%) rotate(-90deg);pointer-events:none;overflow:visible}#prompt .ring circle{fill:none;stroke-width:3}#timing{position:absolute;left:50%;top:calc(50% + 4px);transform:translate(-50%);width:min(320px,70vw);padding:8px 10px;background:var(--panel);border:1px solid var(--panel-edge);border-radius:14px;pointer-events:none}#timing .track{position:relative;height:20px;border-radius:8px;background:#ffffff1a;overflow:hidden}#timing .zone{position:absolute;top:0;bottom:0;background:linear-gradient(180deg,#f1cf7a,#c99a45);box-shadow:0 0 8px #f1cf7acc;border-radius:4px}#timing .needle{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;background:#fff7e2;box-shadow:0 0 6px #fff;border-radius:2px}#timing.hit{border-color:var(--gold);box-shadow:0 0 14px #d4ad62b3}#timing.miss .track{background:#c8503c40}body.touch #timing{top:auto;bottom:calc(max(26px,15vh) + 64px);pointer-events:auto}#prompt .ring .bg{stroke:#ffffff1f}#prompt .ring .fg{stroke:var(--gold);stroke-dasharray:100.5;stroke-dashoffset:100.5}#waypoint{position:absolute;transform:translate(-50%,-100%);text-align:center}#waypoint .diamond{width:12px;height:12px;margin:0 auto 3px;transform:rotate(45deg);border:2px solid var(--gold);background:#d4ad6240;box-shadow:0 0 6px #0009}#waypoint .dist{font-size:12px;color:var(--ink);text-shadow:0 1px 2px #000}#waypoint .arrow{display:none;width:0;height:0;margin:0 auto 5px;border-top:17px solid transparent;border-bottom:17px solid transparent;filter:drop-shadow(0 0 4px rgba(0,0,0,.7));animation:wpNudge 1.1s ease-in-out infinite}#waypoint.edge-left,#waypoint.edge-right{transform:translate(-50%,-50%);padding:10px 9px 6px;border-radius:26px;background:#18120c9e;border:1px solid var(--gold-dim);box-shadow:0 2px 10px #00000080}#waypoint.edge-left .dist,#waypoint.edge-right .dist{font-size:13px;font-weight:600}#waypoint.edge-left .diamond,#waypoint.edge-right .diamond{display:none}#waypoint.edge-left .arrow{display:block;border-right:24px solid var(--gold);--nudge: -5px}#waypoint.edge-right .arrow{display:block;border-left:24px solid var(--gold);--nudge: 5px}@keyframes wpNudge{0%,to{transform:translate(0)}50%{transform:translate(var(--nudge, 0))}}#toast{position:absolute;top:28px;right:32px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}#toast .item{background:var(--panel);border:1px solid var(--panel-edge);padding:9px 14px;border-radius:4px;font-size:14px;animation:toastIn .35s ease-out}#toast .item b{color:var(--gold);font-weight:600}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}#hint-keys{position:absolute;left:32px;bottom:22px;font-size:12px;color:#f3ead88c;text-shadow:0 1px 2px #000}#dialogue{position:absolute;left:50%;bottom:46px;width:min(880px,86vw);transform:translate(-50%);padding:22px 30px 20px;background:linear-gradient(180deg,#1e1710db,#140f0aeb);border:1px solid var(--panel-edge);border-radius:6px;box-shadow:0 10px 40px #00000080}#dialogue .speaker{position:absolute;top:-15px;left:24px;padding:4px 14px;background:#3a2a18;border:1px solid var(--gold-dim);font-family:var(--serif);font-weight:700;color:var(--gold);font-size:15px;border-radius:3px;letter-spacing:.06em}#dialogue .speaker:empty{display:none}#dialogue .text{font-size:19px;line-height:1.65;min-height:2.6em}#dialogue .ref{margin-top:6px;font-size:13px;color:var(--gold);font-family:var(--serif)}#dialogue .ref:empty{display:none}#dialogue .next{position:absolute;right:18px;bottom:10px;font-size:12px;color:var(--ink-dim);animation:blink 1.4s infinite}@keyframes blink{50%{opacity:.35}}#letterbox .bar{position:absolute;left:0;right:0;height:0;background:#000;transition:height .8s ease}#letterbox .bar.top{top:0}#letterbox .bar.bottom{bottom:0}#letterbox.on .bar{height:11vh}#subtitle{position:absolute;left:50%;bottom:calc(11vh + 26px);transform:translate(-50%);width:min(980px,88vw);text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 2px #000}#subtitle .text{font-family:var(--serif);font-size:24px;line-height:1.6}#placecap{position:absolute;left:max(5vw,24px);top:15vh;padding:10px 18px 11px 16px;border-left:3px solid var(--gold);background:linear-gradient(90deg,#140f0ab8,#140f0a00);text-shadow:0 2px 6px rgba(0,0,0,.9);transition:opacity .9s ease,transform .9s ease;opacity:1;transform:none;pointer-events:none;max-width:80vw}#placecap.hidden{display:block!important;opacity:0;transform:translate(-12px)}#placecap .when{font-size:14px;color:var(--gold);letter-spacing:.08em;margin-bottom:3px}#placecap .where{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink)}#placecap .when:empty{display:none}#subtitle .ref{margin-top:6px;font-size:14px;color:var(--gold);font-family:var(--serif);letter-spacing:.05em}#subtitle.fade{animation:subIn .7s ease-out}@keyframes subIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}#skip{position:absolute;right:28px;top:calc(11vh + 14px);font-size:12px;color:#ffffff80;background:none;border:none;padding:0;pointer-events:none}#card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#19120beb,#050403f7);text-align:center;animation:cardIn 1s ease}@keyframes cardIn{0%{opacity:0}to{opacity:1}}#card .ornament{color:var(--gold);font-size:22px;margin-bottom:14px}#card .title{font-family:var(--serif);font-size:46px;letter-spacing:.08em;color:var(--ink)}#card .sub{margin-top:18px;max-width:720px;font-size:19px;line-height:1.7;color:var(--ink-dim);font-family:var(--serif)}#card .ref{margin-top:14px;font-size:14px;color:var(--gold);font-family:var(--serif)}#examine,#journal,#pause,#title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto}#examine{background:#00000059}.panel{background:linear-gradient(180deg,#2b2117,#1d160f);border:1px solid var(--panel-edge);border-radius:6px;box-shadow:0 20px 60px #0009;padding:26px 32px;color:var(--ink)}#examine .panel{width:min(620px,86vw)}#examine .title{font-family:var(--serif);font-size:26px;margin:10px 0 12px;color:var(--ink)}#examine .body{font-size:16px;line-height:1.75;color:var(--ink)}#examine .source{margin-top:14px;font-size:13px;color:var(--ink-dim);border-top:1px solid rgba(212,173,98,.25);padding-top:10px}#examine .close,#journal .close{margin-top:14px;text-align:right;font-size:12px;color:var(--ink-dim)}#examine .panel,#journal .panel{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tag{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px;font-weight:700;color:#111}.t-certain{background:var(--t-certain)}.t-likely{background:var(--t-likely)}.t-allow{background:var(--t-allow)}#journal{background:#00000080}#journal .panel{width:min(860px,92vw);max-height:84vh;overflow:auto}#journal .head,#pause .head{font-family:var(--serif);font-size:26px;color:var(--gold);margin-bottom:14px}#journal .count{font-size:15px;color:var(--ink-dim);margin-left:8px}#journal .list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}#journal .entry{border:1px solid rgba(212,173,98,.25);border-radius:4px;padding:10px 12px;background:#0003}#journal .entry .t{font-family:var(--serif);font-size:16px;margin:4px 0}#journal .entry .b{font-size:13px;line-height:1.55;color:var(--ink-dim)}#journal .entry.locked{opacity:.45}#journal .legend{margin-top:14px;font-size:12px;color:var(--ink-dim);display:flex;gap:8px;align-items:center;flex-wrap:wrap}#title{background:linear-gradient(90deg,#080604d1,#08060473 45%,#08060400 75%);justify-content:flex-start}#title .title-inner{margin-left:8vw;max-width:560px}#title .kicker{font-family:var(--serif);font-size:14px;letter-spacing:.14em;color:var(--gold)}#title h1{font-family:var(--serif);font-size:60px;font-weight:800;margin:14px 0 8px;letter-spacing:.04em;text-shadow:0 3px 18px rgba(0,0,0,.7)}#title .tagline{font-family:var(--serif);font-size:20px;color:var(--ink-dim);margin-bottom:34px}#title #btn-start,#pause #btn-resume{display:block;padding:14px 44px;font-size:19px;color:#1b130a;background:linear-gradient(180deg,#e2c27f,#c09449);border:none;border-radius:3px;cursor:pointer;font-weight:700;letter-spacing:.1em;box-shadow:0 6px 20px #00000080}#title #btn-start:hover{filter:brightness(1.08)}.quality-row,#pause .row{margin-top:22px;font-size:14px;color:var(--ink-dim);display:flex;align-items:center;gap:8px}.quality-row button,#pause .row button{padding:5px 12px;background:transparent;color:var(--ink-dim);border:1px solid rgba(212,173,98,.35);border-radius:3px;cursor:pointer}.quality-row button.on,#pause .row button.on{color:#1b130a;background:var(--gold);border-color:var(--gold)}#title .controls-help{margin-top:26px;font-size:13px;color:var(--ink-dim);line-height:1.6}#title .disclaimer{margin-top:10px;font-size:12px;color:#cbbd9fa6}#pause{background:#0000008c}#pause .panel{width:420px}#pause .row.small{font-size:12px}#loading{position:absolute;inset:0;background:#0b0a09;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}#loading .load-title{font-family:var(--serif);font-size:34px;color:var(--ink)}#loading .bar{width:320px;height:3px;background:#ffffff1f}#loading .fill{height:100%;width:0%;background:var(--gold);transition:width .2s}#loading .load-text{font-size:13px;color:var(--ink-dim)}#fps{position:absolute;right:10px;bottom:8px;font:12px/1.3 monospace;color:#9f9;text-shadow:0 1px 1px #000}#fade{position:absolute;inset:0;background:#000;opacity:0;transition:opacity .8s ease;pointer-events:none}#fade.on{opacity:1}#title .renderer-switch{margin-top:18px;font-size:12px}#title .renderer-switch a{color:var(--gold-dim);pointer-events:auto}body:not(.touch) .k-touch{display:none!important}body.touch .k-desk{display:none!important}.rotate-hint,body.touch #crosshair{display:none}body.touch #objective{pointer-events:auto;cursor:pointer}#objective .follow{margin-top:6px;font-size:12px;color:var(--gold);opacity:.85}body.touch #prompt{pointer-events:auto;cursor:pointer;top:auto;bottom:max(26px,15vh);padding:10px 20px 10px 10px;font-size:17px}body.touch #prompt .key{font-size:12px}body.touch #prompt:active{filter:brightness(1.25)}#stick{position:absolute;left:max(88px,calc(13vw + env(safe-area-inset-left,0px)));top:calc(100% - max(100px,26vh));width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;border:2px solid rgba(243,234,216,.4);background:#140f0a33;opacity:.5;transition:opacity .25s}#stick .knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#f3ead899;box-shadow:0 2px 8px #0006}#stick:after{content:"이동";position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);font-size:11px;color:#f3ead8b3;text-shadow:0 1px 2px #000;white-space:nowrap}#stick.active{opacity:1;transition:none}#stick.active:after{content:""}#stick.run{border-color:var(--gold)}#stick.run .knob{background:var(--gold)}#touch-btns{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));display:flex;gap:8px}#touch-btns button{min-width:46px;height:42px;padding:0 15px;border-radius:21px;background:var(--panel);border:1px solid var(--panel-edge);color:var(--ink);font-size:15px}#touch-btns button:active,#journal-close:active{filter:brightness(1.3)}#touch-btns #t-run.on{background:#d4ad6252;border-color:var(--gold);color:var(--gold)}body.touch #toast{top:calc(max(10px,env(safe-area-inset-top,0px)) + 52px);right:max(10px,env(safe-area-inset-right,0px))}body.touch #skip{pointer-events:auto;cursor:pointer;top:calc(11vh + 10px);right:max(14px,env(safe-area-inset-right,0px));padding:10px 18px;font-size:15px;color:#fff;background:#00000073;border:1px solid rgba(255,255,255,.35);border-radius:21px}#journal-close{padding:8px 22px;font-size:15px;color:var(--ink);background:#00000040;border:1px solid var(--panel-edge);border-radius:18px}body.touch #hint-keys{max-width:46vw;line-height:1.4;animation:hintOut 1.2s ease 30s forwards}@keyframes hintOut{to{opacity:0}}body[data-mode=dialogue] #hint-keys,body[data-mode=examine] #hint-keys,body[data-mode=journal] #hint-keys{display:none}.tap-fx{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid rgba(243,234,216,.85);animation:tapfx .55s ease-out forwards}.tap-fx.strong{border-color:var(--gold);border-width:3px}.tap-fx.fail{border-color:#dc6e5ae6}@keyframes tapfx{0%{transform:scale(.35);opacity:1}to{transform:scale(1.35);opacity:0}}@media(max-width:820px),(max-height:520px){#objective{top:max(10px,env(safe-area-inset-top,0px));left:max(10px,env(safe-area-inset-left,0px));max-width:min(46vw,340px);padding:8px 12px 9px 11px}#objective .mission-name{font-size:11px;margin-bottom:3px}#objective .objective-text{font-size:14px;line-height:1.4}#objective .follow{margin-top:4px;font-size:11px}#toast{top:10px;right:10px}#toast .item{font-size:13px;padding:7px 11px}#hint-keys{left:max(12px,env(safe-area-inset-left,0px));bottom:max(8px,env(safe-area-inset-bottom,0px));font-size:11px}#dialogue{bottom:max(12px,env(safe-area-inset-bottom,0px));width:min(880px,94vw);padding:16px 18px 14px}#dialogue .speaker{top:-13px;left:14px;font-size:13px;padding:3px 11px}#dialogue .text{font-size:15.5px;line-height:1.55;min-height:2.4em}#dialogue .ref{font-size:12px}#subtitle{bottom:calc(11vh + 10px);width:92vw}#subtitle .text{font-size:clamp(14px,3.9vmin,20px);line-height:1.5}#subtitle .ref{font-size:12px}#card .ornament{margin-bottom:8px}#card .title{font-size:clamp(26px,7vmin,46px)}#card .sub{margin-top:12px;padding:0 6vw;font-size:15px;line-height:1.6}.panel{padding:18px}#examine .panel{width:min(620px,94vw);max-height:88vh;overflow:auto}#examine .title{font-size:20px;margin:8px 0 10px}#examine .body{font-size:14.5px;line-height:1.65}#journal .panel{width:94vw;max-height:90vh}#journal .head,#pause .head{font-size:21px;margin-bottom:10px}#pause .panel{width:min(420px,92vw)}#title .title-inner{margin-left:max(20px,6vw,env(safe-area-inset-left,0px));margin-right:20px;max-height:100%;overflow-y:auto;padding:14px 0;touch-action:pan-y}#title .kicker{font-size:12px;letter-spacing:.08em}#title h1{font-size:clamp(30px,8vmin,60px);margin:8px 0 4px}#title .tagline{font-size:15px;margin-bottom:16px}#title #btn-start{padding:12px 36px;font-size:17px}.quality-row{margin-top:14px}#title .controls-help{margin-top:14px;font-size:12px;line-height:1.55}#loading .load-title{font-size:26px}#loading .bar{width:min(320px,70vw)}}@media(max-width:640px){#journal .list{grid-template-columns:1fr}}@media(orientation:portrait){body.touch #title{background:linear-gradient(180deg,#08060459,#080604d1 55%);align-items:flex-end}body.touch .rotate-hint{display:block;margin-top:10px;font-size:12px;color:var(--gold)}body.touch #objective{max-width:62vw}body.touch #hint-keys{display:none}body.touch #prompt{bottom:max(18px,6vh);max-width:92vw}body.touch #stick{top:calc(100% - 30vh)}}body.touch #journal .close{position:sticky;bottom:-18px;margin-bottom:-18px;padding:12px 0 14px;background:linear-gradient(180deg,#1d160f00,#1d160f 45%)}#journey,#reader{position:absolute;inset:0;pointer-events:auto;color:#2e2216;font-family:var(--sans);background:radial-gradient(ellipse at 40% 30%,#efe1c2,#e2cfa6 55%,#cdb586);touch-action:pan-y}#journey{display:flex;flex-direction:column}.j-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:max(12px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}.j-title{font-family:var(--serif);font-size:24px;font-weight:800;color:#4a3218}.j-progress{font-size:14px;font-weight:400;color:#7a5e3a;margin-left:8px}#journey-go,#reader-next{padding:11px 22px;font-size:16px;font-weight:700;color:#1b130a;background:linear-gradient(180deg,#e2c27f,#c09449);border:none;border-radius:4px;cursor:pointer;box-shadow:0 4px 14px #462d0f4d}.j-wrap{flex:1;min-height:0;display:flex;gap:12px;padding:0 max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.j-map{flex:1.1;min-width:0;height:100%}.j-list{flex:1;min-width:0;overflow-y:auto;padding-right:4px;touch-action:pan-y;overscroll-behavior:contain}.j-land{fill:#e9d6ad}.j-water{fill:#8fb3b0;stroke:#5e8784;stroke-width:.25}.j-river{fill:none;stroke:#5e8784;stroke-width:.45;stroke-linecap:round;stroke-linejoin:round}.j-region{font:700 3.2px var(--serif);fill:#5a3e1e73;letter-spacing:.4px;text-anchor:middle}.j-town{fill:#6d5232}.j-townlabel{font:1.8px var(--sans);fill:#6d5232}.j-route{fill:none;stroke:#8b5a2b;stroke-width:.3;stroke-dasharray:1 .9;opacity:.45}.j-mark{cursor:pointer}#journey .j-map{background:#e9d6ad;border-radius:4px}.j-mark circle{fill:#f5ebd5;stroke:#8b5a2b;stroke-width:.35}.j-mark text{font:700 1.7px var(--sans);fill:#5a3c1c;text-anchor:middle;pointer-events:none}.j-mark.done circle{fill:#c09449;stroke:#6d4818}.j-mark.open circle{fill:#fff6df;stroke:#b07a2a;stroke-width:.5}.j-mark.next circle{stroke:#b0401f;stroke-width:.6}.j-mark.soon circle,.j-mark.locked circle{fill:#dccaa3;stroke:#a8916a}.j-mark.soon text,.j-mark.locked text{fill:#9a845f}.j-part{font-family:var(--serif);font-size:15px;font-weight:800;color:#6d4818;margin:14px 0 6px;letter-spacing:.08em}.j-ep{background:#fffaeeb8;border:1px solid rgba(139,90,43,.3);border-radius:6px;padding:10px 12px;margin-bottom:8px;transition:box-shadow .3s}.j-ep.focus{box-shadow:0 0 0 2px #b07a2a}.j-ep.soon,.j-ep.locked{opacity:.6}.j-head{display:flex;align-items:baseline;gap:8px}.j-head .n{font-weight:800;color:#8b5a2b;min-width:1.4em}.j-head .t{font-family:var(--serif);font-size:17px;font-weight:800;flex:1}.j-head .s{font-size:12px;color:#7a5e3a;white-space:nowrap}.j-ep.done .j-head .s{color:#5f7a3a}.j-meta{font-size:12px;color:#7a5e3a;margin:3px 0 4px 2em}.j-teaser{font-size:14px;line-height:1.5;margin-left:2em}.j-btns{display:flex;gap:8px;margin:8px 0 0 2em}.j-btns button{padding:7px 16px;font-size:14px;border-radius:4px;border:1px solid #8b5a2b;background:#8b5a2b;color:#fff6e6;cursor:pointer}.j-btns button.ghost,button.ghost{background:transparent;color:#6d4818;border:1px solid rgba(139,90,43,.6)}@media(orientation:portrait){.j-wrap{flex-direction:column}.j-map{flex:none;height:38vh}}#reader{display:flex;justify-content:center;overflow:hidden}.r-panel{width:min(760px,100%);height:100%;display:flex;flex-direction:column;padding:max(14px,env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}.r-kicker{font-family:var(--serif);font-size:22px;font-weight:800;color:#4a3218}.r-refs{font-size:13px;color:#7a5e3a;margin:4px 0 10px}.r-body{flex:1;min-height:0;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain;padding-right:6px}.r-passage h3{font-family:var(--serif);font-size:18px;margin:10px 0 8px;color:#5a3c1c}.r-ref{font-size:13px;font-weight:400;color:#8b6a42;margin-left:6px}.r-verse{font-family:var(--serif);font-size:17px;line-height:1.85;margin:0 0 6px}.r-verse sup{font-family:var(--sans);font-size:11px;color:#9a7b52;margin-right:4px}.r-gap{text-align:center;color:#9a7b52;margin:4px 0 10px}.r-link{color:#7a3f10;background:linear-gradient(transparent 62%,#d6a03c73 62%);cursor:pointer;border-radius:2px}.r-link.open{background:#d6a03c73}.r-note{display:block;margin:6px 0 8px;padding:8px 12px;font-family:var(--sans);font-size:14px;line-height:1.55;color:#4a3218;background:#fff8e6e6;border-left:3px solid #c09449;border-radius:3px}.r-lens,.r-words,.r-echoes{margin:14px 0;padding:10px 14px;background:#fffaee99;border:1px solid rgba(139,90,43,.25);border-radius:6px;font-size:14px;line-height:1.6}.r-lens .h,.r-words .h,.r-echoes .h{font-family:var(--serif);font-weight:800;color:#6d4818;margin-bottom:4px}.r-word{margin-top:6px}.r-word .g{font-size:18px;color:#4a3218}.r-word .tr{font-size:13px;color:#8b6a42;margin-left:4px}.r-word .m{font-weight:700}.r-echo{margin-top:4px}.r-source{font-size:11px;color:#8b6a42;margin:8px 0}.r-btns{display:flex;gap:10px;flex-wrap:wrap}.r-empty{font-size:15px}#pause #btn-journey{display:block;margin-top:10px;padding:10px 24px;font-size:15px;color:var(--ink-dim);border:1px solid rgba(212,173,98,.4);background:transparent;border-radius:3px;cursor:pointer}#dialogue .choices{display:flex;flex-direction:column;gap:8px;margin-top:4px}#dialogue .choice{pointer-events:auto;text-align:left;padding:10px 14px;font-size:16px;color:var(--ink);background:#d4ad621f;border:1px solid var(--panel-edge);border-radius:4px;cursor:pointer}#dialogue .choice:hover,#dialogue .choice:active{background:#d4ad6247}#dialogue .choice .k{display:inline-block;width:22px;color:var(--gold);font-weight:700}#dialogue.choosing .next{display:none}#dialogue.choosing .text:empty{display:none}#drowse{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,#00000040,#000000eb 58%,#000 75%)}
