:root{--lacquer:#1d1418;--lacquer-2:#2a1c20;--gold:#d9b45a;--gold-dim:#8a6f35;--paper:#f1e6cf;--jade:#6fcf9f;--cinnabar:#c8463a}*{box-sizing:border-box}html,body{background:#0d0a0c;height:100%;margin:0;overflow:hidden}body{color:var(--paper);font-family:Sarabun,system-ui,sans-serif}h1,h2,button,.row span{font-family:Mitr,Sarabun,sans-serif;font-weight:500}#game{position:fixed;inset:0}#game canvas{image-rendering:pixelated}.hidden{display:none!important}.panel{background:color-mix(in srgb, var(--lacquer) 92%, transparent);border:2px solid var(--gold-dim);border-radius:4px;box-shadow:inset 0 0 0 2px #0006,0 6px #0005}button{color:var(--paper);background:var(--lacquer-2);border:2px solid var(--gold-dim);cursor:pointer;border-radius:3px;padding:6px 10px;font-size:15px}button:hover{border-color:var(--gold)}button:focus-visible,input:focus-visible{outline:2px solid var(--jade);outline-offset:2px}button.on{border-color:var(--gold);color:#fff3d0;background:#4a3320}button.primary{border-color:var(--gold);background:#7a2531;width:100%;padding:10px;font-size:18px}button.primary:hover{background:#8f2d3a}#create{width:min(380px,100vw - 32px);max-height:calc(100vh - 32px);padding:18px 20px;position:fixed;top:50%;left:max(16px,4vw);overflow-y:auto;transform:translateY(-50%)}#create h1{color:var(--gold);letter-spacing:.5px;margin:0 0 12px;font-size:24px}.field{color:#cdbf9f;gap:6px;margin-bottom:12px;font-size:14px;display:grid}input{font:inherit;color:var(--paper);border:2px solid var(--gold-dim);background:#120d0f;border-radius:3px;width:100%;padding:8px 10px;font-size:16px}.row{grid-template-columns:82px 1fr;align-items:center;gap:8px;margin-bottom:10px;display:grid}.row span{color:#cdbf9f;font-size:14px}.opts{flex-wrap:wrap;gap:6px;display:flex}.opts button{padding:5px 9px;font-size:14px}.opts button.swatch{width:30px;height:30px;padding:0}.opts button.swatch.on{outline:2px solid var(--gold);outline-offset:2px}.err{color:#ff9c8f;min-height:20px;margin:4px 0 8px;font-size:14px}#status{width:240px;padding:10px 12px;position:fixed;top:12px;left:12px}#s-name{color:var(--gold);font-family:Mitr,sans-serif;font-size:18px}#s-realm{margin:2px 0 6px;font-size:14px}.bar{border:1px solid var(--gold-dim);background:#0c0809;height:10px}#s-exp{background:linear-gradient(90deg, #3e9f74, var(--jade));width:0;height:100%;transition:width .3s}#s-exptext{color:#b8aa8a;margin-top:3px;font-size:12px}#keys{color:#cdbf9f;max-width:52vw;padding:6px 10px;font-size:12px;position:fixed;top:12px;right:12px}#chat{width:min(420px,100vw - 24px);position:fixed;bottom:12px;left:12px}#chat-log{text-shadow:0 1px #000;background:#0d0a0caa;border-radius:3px;max-height:150px;margin-bottom:6px;padding:6px 8px;font-size:14px;line-height:1.45;overflow-y:auto}#chat-log:empty{display:none}#chat-log b{color:var(--gold);font-weight:600}#chat-log .sys{color:var(--jade)}#chat-input{background:#120d0fcc;padding:6px 8px;font-size:14px}#inv{width:min(340px,100vw - 24px);padding:12px;position:fixed;top:56px;right:12px}#inv header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}#inv h2{color:var(--gold);margin:0;font-size:18px}#inv-close{padding:0 10px;font-size:20px;line-height:1.3}#inv-slots{gap:14px;margin-bottom:10px;display:flex}#inv-slots .slot{color:#b8aa8a;justify-items:center;gap:2px;font-size:12px;display:grid}#inv-grid{grid-template-columns:repeat(auto-fill,52px);gap:6px;display:grid}.cell{cursor:pointer;background:#120d0f;border:2px solid #3a2a22;border-radius:3px;place-items:center;width:52px;height:52px;padding:6px;display:grid}.cell img{object-fit:contain;width:36px;height:36px;image-rendering:pixelated}.cell.rare{border-color:#8a5bd0}.cell.on{border-color:var(--gold);background:#2e2116}#inv-tip{color:#cdbf9f;min-height:38px;margin:8px 0 0;font-size:13px}#toast{pointer-events:none;color:#fff0c2;text-shadow:0 2px #000,0 0 12px #d9b45a;opacity:0;font-family:Mitr,sans-serif;font-size:22px;transition:opacity .4s;position:fixed;top:18%;left:50%;transform:translate(-50%)}#toast.show{opacity:1}@media (width<=720px){#keys{display:none}#create{max-height:55vh;top:auto;bottom:8px;transform:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#s-gold{color:var(--gold);margin-top:4px;font-size:13px}.hud-btns{gap:6px;margin-top:8px;display:flex}.hud-btns button{flex:1;padding:4px 8px;font-size:13px}#inv-slots{flex-wrap:wrap}#inv-stats{color:var(--jade);margin:0 0 8px;font-size:12px}#ward{z-index:5;width:min(760px,100vw - 24px);max-height:calc(100vh - 24px);padding:12px 14px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}#ward header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}#ward h2{color:var(--gold);margin:0;font-size:20px}#ward-close{padding:0 10px;font-size:20px;line-height:1.3}.ward-body{grid-template-columns:236px 1fr;gap:14px;display:grid}.ward-preview{background:radial-gradient(at 50% 92%,#d9b45a33 0 22%,#0000 23%),#120d0f;border:2px solid #3a2a22;border-radius:3px;align-content:end;justify-items:center;padding:8px;display:grid}#ward-doll{width:216px;height:216px;image-rendering:pixelated}#ward-gold{color:var(--gold);margin:4px 0 0;font-size:14px}.ward-side{align-content:start;gap:10px;display:grid}#ward-tabs button{padding:4px 9px;font-size:13px}#ward-choices.shop{gap:6px;max-height:300px;display:grid;overflow-y:auto}.shop-row{border-bottom:1px solid #3a2a22;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:4px;display:grid}.shop-row.rare .shop-info b{color:#c9a8ff}.shop-info{color:#b8aa8a;font-size:13px;display:grid}.shop-info b{color:var(--paper);font-size:14px;font-weight:600}.shop-btns{gap:6px;display:flex}.shop-btns button{padding:4px 8px;font-size:13px}.shop-btns .buy{border-color:var(--gold)}button:disabled{opacity:.45;cursor:not-allowed}#ward-note,#ward-cost{color:#cdbf9f;margin:0;font-size:13px}#ward-cost{color:var(--gold)}.ward-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ward-actions .primary{padding:8px;font-size:16px}@media (width<=640px){.ward-body{grid-template-columns:1fr}}
