@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--cream:#f4dfb3;--gold:#d8ae69;font-family:'Noto Sans KR',sans-serif;background:#111e20;color:var(--cream)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 25%,#344342,#101b1e 80%)}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #f4cf84;outline-offset:4px}[hidden]{display:none!important}#adventure{max-width:1560px;min-height:100vh;margin:auto;background:#182a2b;box-shadow:0 0 100px #0007}.game-header{height:85px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;border-bottom:1px solid #e5ce9b1a;gap:18px}.identity{display:flex;align-items:center;gap:14px}.seal{font-family:'Gowun Batang',serif;font-size:17px;border:1px solid #cd8563;writing-mode:vertical-rl;padding:5px;color:#e4a17c;transform:rotate(-5deg)}h1{font-family:'Gowun Batang',serif;font-size:24px;margin:0;letter-spacing:1px}.identity p{font-size:10px;letter-spacing:2px;color:#b6b6a0;margin:5px 0 0}.game-header nav{display:flex;gap:8px}.game-header button{border:1px solid #d9c49626;color:#d4ccaf;background:transparent;font-size:11px;padding:7px 11px;border-radius:3px}.game-header button:hover{background:#f5dca718}.scene-top{display:flex;justify-content:space-between;padding:10px 28px;font-size:10px;letter-spacing:2px;color:#bdc4b0;background:#1c3232}.scene-top #save-status{color:#96a99b;font-size:9px;letter-spacing:1px}#stage{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;background:#2e5756;isolation:isolate;touch-action:manipulation}#world{display:block;width:100%;height:100%;position:absolute;inset:0;cursor:crosshair}#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;background:transparent;border:0;color:transparent;pointer-events:auto;padding:0;border-radius:28%;min-width:26px;min-height:30px;touch-action:none}.hotspot:hover{background:#ffe3a508}.hotspot:focus-visible{outline:2px solid #f6d69a;background:#ffebba25}.hotspot:after{content:'';position:absolute;left:50%;top:55%;width:7px;height:7px;border:1px solid #f4d5a2;border-radius:50%;background:#1d353799;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s;box-shadow:0 0 0 5px #1a272637}#stage.spots .hotspot:after{opacity:1}.hotspot.selected:after{opacity:1;background:#f4d5a2}.hotspot.drop-over{outline:2px dashed #ffe0a4;background:#f5d59a22}#hover-label{position:absolute;z-index:4;pointer-events:none;transform:translate(-50%,-100%);font-size:12px;color:#fff0c9;text-shadow:1px 2px 2px #102222;background:#152b2bd9;border:1px solid #eed39a50;border-radius:3px;padding:5px 10px;white-space:nowrap}#bubble{position:absolute;pointer-events:none;max-width:min(400px,64%);z-index:5;text-align:center;transform:translate(-50%,-100%);padding:10px 15px 12px;background:#112b2bec;border:1px solid #ecd39a70;border-radius:7px;box-shadow:0 5px 22px #172b2c3b}#bubble:after{content:'';position:absolute;bottom:-8px;left:calc(50% - 7px);border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid #142e2e}#bubble-name{font-size:10px;color:#e5b16c}#bubble p{font-family:'Gowun Batang',serif;font-size:15px;line-height:1.6;margin:4px 0 0;color:#fff1d1;word-break:keep-all}#walk-marker{position:absolute;border:1px solid #fff0bb8c;width:18px;height:8px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:1}.pan-controls{position:absolute;inset:50% 0 auto;display:flex;justify-content:space-between;pointer-events:none;z-index:3}.pan-controls button{border:0;background:#112b2bb5;color:#fae4b6;font-size:27px;width:30px;height:52px;pointer-events:auto}.pan-controls button:disabled{opacity:0;pointer-events:none}#intro{position:absolute;inset:0;z-index:7;background:linear-gradient(90deg,#102e2be8 0%,#102e2ba8 44%,#142b2700 80%);padding:6% 7%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.overline{letter-spacing:4px;font-size:10px;color:#edc380;margin:0 0 15px}#intro h2{font-family:'Gowun Batang',serif;font-size:clamp(30px,5.6vw,78px);line-height:1.25;letter-spacing:-2px;margin:0 0 18px;text-shadow:0 3px 8px #102e2b88}#intro h2 em{font-style:normal;color:#f4dba4}#intro>p:not(.overline){font-size:13px;line-height:1.9;color:#e8e3ca;margin:0 0 25px}#begin{border:1px solid #edcb8d;color:#223d35;background:#edcb8d;padding:12px 20px;border-radius:3px;font-size:12px}#begin span{margin-left:35px}#intro .intro-note{font-size:10px!important;color:#c1c9b3!important;margin-top:17px!important;margin-bottom:0!important}#loading{position:absolute;inset:0;background:#1b3533;display:grid;place-content:center;font-size:14px;letter-spacing:3px;z-index:9}#speech{padding:18px 28px 20px;background:#203d39;border-top:1px solid #c2b57c38;min-height:108px}.speaker-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}#speaker{font-family:'Gowun Batang',serif;font-size:15px;font-weight:700;color:#e9be76;letter-spacing:1px}#advance{border:0;background:transparent;color:#d7d4b9;font-size:11px;padding:4px 8px}#speech-text{font-family:'Gowun Batang',serif;font-size:17px;line-height:1.8;color:#f0e5c8;margin:0;min-height:30px}#choices{display:flex;flex-direction:column;gap:5px;margin-top:12px;align-items:flex-start}#choices:empty{display:none}#choices button{background:transparent;border:0;border-bottom:1px solid #c1b17f15;padding:7px 9px;color:#d6dabc;text-align:left;font-family:'Gowun Batang',serif;font-size:15px}#choices button:before{content:'›';margin-right:12px;color:#dda86d}#choices button:hover{color:#ffe8ac;background:#f0cf8e12}.command-deck{background:#172d2d;border-top:1px solid #b9bd9b2a}.command-line{display:flex;align-items:center;gap:10px;min-height:45px;padding:10px 25px;border-bottom:1px solid #d8cb9a17;font-size:12px;color:#e2c999}.command-line>span{flex:1}.command-line button{background:transparent;color:#aebda9;border:0;font-size:11px}.command-line kbd{font-family:inherit;color:#8eaa9a;font-size:9px;margin-left:4px}.tools-row{display:flex;gap:20px;padding:15px 24px 19px}.verbs{display:grid;grid-template-columns:repeat(3,minmax(70px,1fr));gap:4px 7px;min-width:260px;border-right:1px solid #dccb9929;padding-right:20px;align-content:start}.verbs button{color:#c3c8a9;background:transparent;border:1px solid transparent;padding:9px 7px;font-size:12px;border-radius:3px;white-space:nowrap}.verbs button:hover{color:#ffe2a7;background:#f4d6990a}.verbs button[aria-pressed=true]{color:#ffe0a3;border-color:#cfb57964;background:#c7ad7010}.bag{display:flex;gap:12px;align-items:flex-start;min-width:0;flex:1}.bag-label{font-size:10px;letter-spacing:2px;writing-mode:vertical-rl;margin-top:10px;color:#8fa99a}#inventory{display:flex;gap:7px;flex-wrap:wrap;align-items:flex-start;min-height:71px}.inv-item{border:1px solid #b9a57935;background:linear-gradient(135deg,#3c4a3c,#263e36);border-radius:4px;color:#ddd4b1;padding:5px 7px;min-width:66px;max-width:100px;font-size:10px;min-height:72px;display:flex;flex-direction:column;align-items:center;gap:4px;touch-action:none}.inv-item svg{width:45px;height:37px;filter:drop-shadow(0 3px 2px #0004)}.inv-item[aria-pressed=true]{border-color:#e1bd78;background:#74664166;box-shadow:0 0 0 1px #e1bd7822}.inv-item.drop-over{outline:2px dashed #efd199}footer{display:flex;align-items:center;gap:12px;padding:14px 26px 18px;border-top:1px solid #dcca9a12;flex-wrap:wrap}footer p{font-size:11px;color:#bdc3a5;flex:1;margin:0;min-width:160px;line-height:1.8}footer button{background:transparent;color:#cbbf9b;border:0;font-size:10px;padding:5px}.keyboard-note{font-size:9px;color:#749489;margin-left:auto}dialog{width:min(610px,92vw);border:1px solid #a99567;background:#efdfba;color:#2b4137;border-radius:5px;padding:24px;max-height:86vh;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#091c1cbd;backdrop-filter:blur(4px)}dialog header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b7a57d;padding-bottom:14px;gap:12px}dialog h2{font-family:'Gowun Batang',serif;font-size:24px;margin:0}dialog header button{background:transparent;color:#435542;border:1px solid #b7a57d;padding:6px 11px;border-radius:3px;font-size:12px}#notebook-content{font-size:14px;line-height:1.9;padding-top:8px}#notebook-content button{color:#25443a;background:#d6c89f;border:1px solid #ab9d74;border-radius:3px;padding:8px 13px;font-size:12px}#notebook-content .entry{padding:12px 0;border-bottom:1px solid #b7a57d55}#notebook-content .entry b{display:block;font-family:'Gowun Batang',serif;color:#934e35}#notebook-content .note{font-size:12px;color:#696e54}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);border:1px solid #c9b27677;background:#1d3534f5;color:#f5dfb3;padding:12px 19px;z-index:20;border-radius:4px;font-size:12px;max-width:85vw;text-align:center;box-shadow:0 5px 25px #0005}#ending{position:absolute;inset:0;z-index:8;background:linear-gradient(90deg,#142e2be8,#142e2b9c 75%);padding:7%;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}#ending h2{font-family:'Gowun Batang',serif;font-size:clamp(30px,4.8vw,60px);line-height:1.35;margin:20px 0;color:#f0d7a3}#ending p{font-family:'Gowun Batang',serif;font-size:16px;line-height:1.8;max-width:580px}#ending button{border:1px solid #cfb577;background:#f0d39a;color:#233e36;border-radius:3px;padding:10px 16px;font-size:12px;margin:7px 8px 0 0}.drag-ghost{position:fixed;width:66px;height:66px;pointer-events:none;z-index:999;transform:translate(-50%,-50%);filter:drop-shadow(0 6px 4px #0008)}.drag-ghost svg{width:100%;height:100%}#adventure:fullscreen{max-width:none;display:flex;flex-direction:column;overflow:auto}#adventure:fullscreen #stage{flex:1;min-height:280px;aspect-ratio:auto;max-height:75vh}.bad-save{color:#ecaa83!important}
#hotspots{z-index:2}
.sound-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.sound-samples button{text-align:left;min-height:44px}
@media(max-width:900px){.tools-row{gap:12px;padding:12px 16px}.verbs{min-width:225px;padding-right:12px;grid-template-columns:repeat(3,65px)}.verbs button{font-size:11px}.game-header{padding:0 22px;height:72px}h1{font-size:22px}.keyboard-note{display:none}.scene-top{padding:9px 19px;letter-spacing:1px}.command-line{padding:10px 18px}.bag{gap:7px}.inv-item{min-width:60px;padding:5px}#speech{padding:15px 20px}}
@media(max-width:580px){.game-header{height:64px;padding:0 13px;gap:8px}.identity{gap:8px}.seal{font-size:12px;padding:3px}h1{font-size:18px}.identity p{font-size:8px;letter-spacing:1px}.game-header nav{gap:4px}.game-header button{font-size:9px;padding:6px 7px}#fullscreen{max-width:48px;line-height:1.4}.scene-top{padding:9px 12px;font-size:8px;letter-spacing:.5px}.scene-top #save-status{font-size:8px;letter-spacing:0}#stage{aspect-ratio:5/4;min-height:275px}#intro{padding:7%;background:linear-gradient(90deg,#102e2be8,#102e2b8c 65%,#102e2b15)}#intro h2{font-size:39px;letter-spacing:-1px;margin-bottom:12px}#intro .overline{font-size:8px;letter-spacing:2px;margin-bottom:9px}#intro>p:not(.overline){font-size:11px;margin-bottom:15px;line-height:1.7}#begin{font-size:11px;padding:10px 14px}#intro .intro-note{font-size:8px!important;margin-top:10px!important}#speech{padding:12px 14px 15px;min-height:97px}#speaker{font-size:13px}#speech-text{font-size:15px;line-height:1.8}#choices{gap:3px}#choices button{font-size:14px;padding:7px 3px;min-height:35px}.command-line{font-size:11px;padding:10px 12px;min-height:44px}#show-spots{font-size:9px;padding:3px 0;white-space:nowrap}.command-line kbd{display:none}.tools-row{flex-direction:column;padding:9px 12px 13px;gap:12px}.verbs{border:0;border-bottom:1px solid #dccb991c;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;min-width:0;padding:0 0 8px}.verbs button{font-size:10px;padding:8px 0}.bag-label{writing-mode:horizontal-tb;letter-spacing:0;font-size:9px;margin-top:22px;min-width:28px}.bag{gap:8px}.inv-item{min-width:55px;min-height:66px;font-size:9px;padding:4px}.inv-item svg{width:37px;height:34px}#inventory{gap:5px;min-height:65px}footer{padding:12px 14px 17px;gap:5px}footer p{font-size:10px;min-width:210px}footer button{font-size:9px}#bubble{padding:7px 10px;max-width:66%}#bubble p{font-size:12px}#bubble-name{font-size:9px}#hover-label{font-size:11px;padding:4px 7px}.pan-controls button{width:25px;height:46px;font-size:24px}dialog{padding:18px}#ending{padding:7%}#ending .overline{font-size:9px}#ending h2{font-size:34px;margin:12px 0}#ending p{font-size:13px;margin:5px 0}#ending button{font-size:11px;padding:8px 12px}.hotspot{min-width:32px;min-height:35px}}
@media(max-width:380px){#stage{aspect-ratio:1;min-height:300px}#intro h2{font-size:34px}.identity p{font-size:7px}.game-header{padding-left:9px;padding-right:9px;gap:4px}.game-header nav{gap:2px}.game-header button{padding-left:5px;padding-right:5px}}
