:root{--cream: #e4dfd6;--muted: #9d978e;--line: #d8d2c82a;--gold: #b9b0a0}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07070a;color:var(--cream);font-family:"Malgun Gothic","Segoe UI",sans-serif}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #c9c2b5;outline-offset:5px}button:disabled{opacity:0.5;cursor:wait}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.ui,#toast,#loading{-webkit-user-select:none;user-select:none}header{position:fixed;left:31px;right:31px;top:25px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{position:relative;display:flex;align-items:center;gap:13px;text-shadow:0 2px 14px #000}.brand::before{content:"";position:absolute;inset:-34px -60px -30px -40px;z-index:-1;background:radial-gradient(ellipse at 30% 50%,#0b0a0ecc,#0b0a0e66 45%,transparent 72%);pointer-events:none}.emblem{font:40px Georgia,serif;color:#d9d3c7}.kicker{display:block;font:8.5px "Segoe UI",sans-serif;letter-spacing:0.32em;color:#a8a297}.brand-sub{display:block;margin-top:5px;font:11.5px "Gowun Batang",Georgia,serif;letter-spacing:0.06em;color:#cbb994}.brand h1{font:19px "Gowun Batang",Georgia,serif;font-weight:normal;letter-spacing:0.07em;margin:7px 0 0}.top-actions{display:flex;gap:8px;pointer-events:auto}.top-actions button{height:36px;padding:0 13px;border:1px solid #d8d2c833;background:#121116b8;border-radius:5px;backdrop-filter:blur(14px);font-size:11px}.top-actions button:hover{background:#2a2830d9}.view-label{position:fixed;bottom:41px;left:32px;display:flex;align-items:center;gap:12px;pointer-events:none;text-shadow:0 1px 10px #000}.view-label>span{font:27px Georgia,serif;color:#c9c2b5;border-right:1px solid #d8d2c855;padding-right:14px}.view-label b{font-size:10px;font-weight:normal;letter-spacing:0.1em}.view-label small{display:block;font-size:9px;color:var(--muted);margin-top:7px}footer{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:13px;max-width:95vw}nav{display:flex;gap:5px;align-items:center;padding:7px 10px;background:#0f0e13d6;border:1px solid #d8d2c82e;border-radius:9px;box-shadow:0 8px 30px #00000070;backdrop-filter:blur(18px)}nav button{white-space:nowrap;border:0;background:none;padding:10px 14px;border-radius:5px;color:#a9a49b;font-size:11px}nav button:hover{background:#ffffff0d;color:#f1ece3}nav button.active{color:#f1ece3;background:#ffffff12}nav button span{font-size:12px;color:#9d978e;margin-left:4px}nav i{width:1px;height:16px;background:#d8d2c826;margin:0 4px}.hint{font-size:8px;color:#8f8a82;letter-spacing:0.11em;text-shadow:0 1px 6px #000}.hint span{margin:0 9px;color:#6f6a63}.hint-touch,.touch .hint-pc{display:none}.touch .hint-touch{display:block}#loading{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#07070a;transition:opacity 0.65s}.load-mark{font:64px Georgia,serif;color:#cfc6b4;transform:rotate(-8deg)}#loading h2{font:22px Georgia,"Batang",serif;font-weight:normal;margin:18px 0 5px}#loading p{font-size:11px;color:#8f8a82;letter-spacing:0.1em}.load-line{width:160px;height:2px;overflow:hidden;background:#2a2830;margin-top:23px}.load-line i{height:100%;display:block;width:40%;background:#cfc6b4;animation:loading 1.6s infinite}@keyframes loading{from{transform:translateX(-120%)}to{transform:translateX(350%)}}#loading.finished{opacity:0;pointer-events:none}.hidden{display:none!important}#error{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#07070af5;padding:30px;text-align:center}#error h2{font-size:20px;font-weight:normal}#error p{font-size:13px;line-height:1.8;max-width:600px}#error button{background:#cfc6b4;color:#0e0d12;border:0;border-radius:5px;padding:12px 22px}#toast{position:fixed;bottom:121px;left:50%;transform:translateX(-50%);padding:13px 22px;border:1px solid #e8c47a4d;border-radius:7px;background:#120e0af2;box-shadow:0 8px 30px #000a,0 0 22px #ffc4601a;width:max-content;max-width:90vw;text-align:center;font-size:14px;letter-spacing:0.02em;word-break:keep-all;color:#f3e6cc}#toast.hint{border-color:#ffd68280;animation:hint-glow 2.2s ease-in-out 2}#toast.hint::before{content:"";display:inline-block;width:24px;height:24px;margin:-4px 6px -7px -4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -10 20 20'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23fff6de'/%3E%3Cstop offset='.3' stop-color='%23ffd88f' stop-opacity='.95'/%3E%3Cstop offset='.65' stop-color='%23ffb85a' stop-opacity='.3'/%3E%3Cstop offset='1' stop-color='%23ffb85a' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle r='8' fill='url(%23g)'/%3E%3Ccircle cx='6.2' cy='-6' r='1' fill='%23ffe2a6'/%3E%3Ccircle cx='-6.6' cy='-2.6' r='.8' fill='%23ffe2a6'/%3E%3Ccircle cx='4.2' cy='6.6' r='.7' fill='%23ffe2a6'/%3E%3C/svg%3E") center / contain no-repeat;filter:drop-shadow(0 0 3px #ffc46099);animation:hint-twinkle 2.4s ease-in-out infinite}@keyframes hint-glow{50%{box-shadow:0 8px 30px #000a,0 0 28px #ffc46059}}@keyframes hint-twinkle{50%{opacity:0.65;transform:scale(0.82)}}@media(prefers-reduced-motion:reduce){#toast.hint,#toast.hint::before{animation:none}}@media(max-width:950px){.view-label{bottom:116px;left:23px}.brand h1{font-size:16px}.kicker{font-size:7.5px}.brand-sub{font-size:10.5px}nav button{padding:10px 12px}}@media(max-width:600px){header{top:18px;left:17px;right:17px}.brand{gap:8px}.emblem{font-size:31px}.brand h1{font-size:15px;letter-spacing:0.02em;margin-top:5px}.kicker{font-size:7px;letter-spacing:0.22em}.brand-sub{margin-top:4px;font-size:9.5px;letter-spacing:0.03em}.top-actions{gap:5px}.top-actions button{height:32px;padding:0 9px;font-size:10px}.view-label{left:20px;bottom:113px}#toast{bottom:172px;font-size:13.5px}.view-label>span{font-size:22px}.view-label b{font-size:9px}.view-label small{font-size:8px}footer{bottom:19px;width:calc(100% - 22px);gap:12px}nav{gap:0;padding:6px 4px;width:100%;justify-content:space-evenly}nav button{font-size:10px;padding:10px 8px}nav i{margin:0 2px}.hint{font-size:7px}.hint span{margin:0 5px}#loading h2{font-size:19px}}@media(max-height:540px){header{top:13px}.brand h1{font-size:14px}.emblem{font-size:29px}footer{bottom:11px;gap:7px}nav{padding:3px 6px}nav button{padding:8px 10px}.view-label{bottom:82px}.hint{font-size:7px}}@media(prefers-reduced-motion:reduce){.load-line i{animation:none}#loading{transition:none}}.clean .ui,.clean #toast{display:none!important}.clean #scene{cursor:none}
