:root{--ink:#f3ead8;--ink-dim:#f3ead8a8;--shade:#0e100e8c;--accent:#d9b36c}*{box-sizing:border-box}html,body{background:#0b0d0c;height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-user-select:none;user-select:none;font-family:Noto Sans KR,system-ui,sans-serif}#view{width:100vw;height:100vh;display:block;position:fixed;inset:0}.screen{z-index:10;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hidden{display:none!important}#loading{background:radial-gradient(at 50% 60%,#22261f 0%,#0b0d0c 70%)}#start{cursor:pointer;background:linear-gradient(#0000000d 0%,#0000008c 100%)}.title-block{text-align:center;max-width:640px;padding:0 16px}.era{letter-spacing:.32em;color:var(--accent);margin-bottom:14px;font-size:12px}h1{letter-spacing:.06em;text-shadow:0 2px 24px #00000080;margin:0 0 12px;font-family:Nanum Myeongjo,serif;font-size:clamp(34px,6vw,64px);font-weight:800}.sub{color:var(--ink-dim);margin:0 0 28px;font-weight:300}.bar{background:#ffffff1f;width:260px;height:2px;margin:22px auto 10px;overflow:hidden}#load-fill{background:var(--accent);width:0%;height:100%;transition:width .2s}#load-text{color:var(--ink-dim);letter-spacing:.1em;font-size:12px}button{font:inherit;color:var(--ink);letter-spacing:.18em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1416128c;border:1px solid #d9b36c99;padding:10px 28px}button:hover{background:#d9b36c2e}.keys{color:var(--ink-dim);flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:26px;font-size:12px;display:flex}.keys b{color:var(--ink);margin-right:4px;font-weight:500}#hud{pointer-events:none;z-index:5;position:fixed;inset:0}#crosshair{background:#ffffffb3;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 3px #0009}#prompt{background:var(--shade);letter-spacing:.04em;white-space:nowrap;border-radius:2px;padding:5px 12px;font-size:13px;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}#prompt b{color:var(--accent);margin-right:6px}#toast{text-align:center;background:var(--shade);max-width:min(560px,90vw);padding:10px 18px;font-family:Nanum Myeongjo,serif;font-size:14px;line-height:1.6;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}#status{color:var(--ink-dim);letter-spacing:.08em;text-shadow:0 1px 4px #000c;font-size:12px;position:absolute;bottom:16px;right:18px}#status .dot{margin:0 8px}#stone-count{color:var(--ink-dim);text-shadow:0 1px 4px #000c;font-size:12px;position:absolute;bottom:16px;left:18px}#fps{white-space:pre;background:#00000080;padding:6px 8px;font:11px/1.5 ui-monospace,monospace;position:absolute;top:10px;left:12px}#menu{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a0873}.panel{background:#121411d1;border:1px solid #d9b36c59;min-width:min(520px,92vw);padding:26px 28px 20px}.panel h2{letter-spacing:.1em;margin:0 0 18px;font-family:Nanum Myeongjo,serif;font-weight:700}.row{flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0;display:flex}.row label{width:90px;color:var(--ink-dim);font-size:13px}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{letter-spacing:.06em;border-color:#ffffff2e;padding:6px 12px;font-size:12px}.seg button.on{border-color:var(--accent);background:#d9b36c33}#resume{width:100%;margin-top:14px}.note{color:var(--ink-dim);text-align:center;margin:12px 0 0;font-size:11px}body.touch{touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}body.touch #crosshair{opacity:.6}#touch{pointer-events:none;position:absolute;inset:0}#touch .t-zone{pointer-events:auto;touch-action:none;position:absolute;top:0;bottom:0}#t-move{width:45%;left:0}#t-look{width:55%;right:0}#t-stick{pointer-events:none;background:#0e100e2e;border:2px solid #f3ead859;border-radius:50%;width:124px;height:124px;margin:-62px 0 0 -62px;position:absolute}#t-knob{background:#f3ead88c;border-radius:50%;width:50px;height:50px;position:absolute;top:37px;left:37px;box-shadow:0 2px 8px #0006}#t-buttons{right:max(18px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));pointer-events:none;width:190px;height:170px;position:absolute}.t-btn{pointer-events:auto;touch-action:none;letter-spacing:0;color:var(--ink);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14161273;border:1.5px solid #d9b36ca6;border-radius:50%;padding:0;font-size:12px;line-height:1.25;position:absolute}.t-btn.down,.t-small.down{background:#d9b36c73}.t-jump{width:78px;height:78px;bottom:0;right:0}.t-throw{width:64px;height:64px;bottom:6px;right:92px}.t-use{width:64px;height:64px;font-size:11px;bottom:96px;right:18px}#t-top{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));pointer-events:none;gap:6px;display:flex;position:absolute}.t-small{pointer-events:auto;touch-action:none;letter-spacing:.04em;border-color:#ffffff40;padding:7px 11px;font-size:12px}body.touch #status{right:auto;left:max(14px, env(safe-area-inset-left));bottom:auto;top:max(12px, env(safe-area-inset-top))}body.touch #stone-count{bottom:auto;left:50%;top:max(44px, env(safe-area-inset-top));transform:translate(-50%)}body.touch #prompt{top:calc(50% + 28px)}body.touch .panel{max-height:92vh;overflow:auto}@media (max-height:420px){.panel{padding:14px 16px 12px}.row{margin:6px 0}}#minimap{pointer-events:none;width:min(320px,38vw);position:absolute;top:16px;right:16px}#minimap .mm-frame{border:1px solid #f0e1be8c;border-radius:3px;position:relative;overflow:hidden;box-shadow:0 4px 18px #00000073}#minimap .mm-img{filter:saturate(.9);width:100%;height:auto;display:block}#minimap .mm-head,#minimap .mm-note{display:none}#minimap .mm-hint{text-align:right;color:var(--ink-dim);letter-spacing:.08em;text-shadow:0 1px 4px #000c;margin-top:4px;font-size:11px}#minimap .mm-me{filter:drop-shadow(0 0 2px #000c);border-bottom:13px solid #d63b2a;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;transform:translate(-50%,-50%)}#minimap .mm-port{cursor:pointer;pointer-events:none;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-50%)}#minimap .mm-port i{background:#f3e7c6;border:1.5px solid #3a2f22;border-radius:50%;width:7px;height:7px;display:block}#minimap .mm-port.era-원작 i{background:#e2b04a}#minimap .mm-port.era-게임 i{background:#d63b2a}#minimap .mm-label{display:none}#minimap.open{pointer-events:auto;z-index:20;background:#0c0a08b8;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:auto;display:flex;position:fixed;inset:0}#minimap.open .mm-frame{border-width:2px;width:min(94vw,1500px)}#minimap.open .mm-head{order:-1;justify-content:space-between;align-items:center;width:min(94vw,1500px);display:flex}#minimap.open .mm-title{letter-spacing:.1em;color:var(--ink);font-family:Nanum Myeongjo,serif;font-size:20px;font-weight:700}#minimap.open .mm-close{font:inherit;color:var(--ink);background:var(--shade);cursor:pointer;border:1px solid #f0e1be66;padding:6px 14px;font-size:13px}#minimap.open .mm-note{width:min(94vw,1500px);color:var(--ink-dim);font-size:12px;display:block}#minimap.open .mm-hint{display:none}#minimap.open .mm-port{pointer-events:auto}#minimap.open .mm-port i{width:12px;height:12px;transition:transform .12s}#minimap.open .mm-port:hover i{transform:scale(1.5)}#minimap.open .mm-label{white-space:nowrap;text-align:center;color:#f3ead6;background:#14100cb8;border-radius:2px;padding:2px 6px;font-size:12px;line-height:1.35;display:block;position:absolute;top:14px;left:50%;transform:translate(-50%)}#minimap.open .mm-label small{color:#cdbf9e;font-size:11px;display:none}#minimap.open .mm-port:hover .mm-label{z-index:2}#minimap.open .mm-port:hover .mm-label small{display:block}#minimap.open .mm-me{border-bottom-width:20px;border-left-width:8px;border-right-width:8px}#minimap.open .mm-port.lp-up .mm-label{top:auto;bottom:14px}#minimap.open .mm-port.lp-right .mm-label{text-align:left;top:50%;left:14px;transform:translateY(-50%)}#minimap.open .mm-port.lp-left .mm-label{text-align:right;top:50%;left:auto;right:14px;transform:translateY(-50%)}
