:root{--ink:#1a120c;--parchment:#f3e2c0;--parchment-dark:#d8c094;--oak:#2a1b12;--oak-edge:#5a3d24;--blood:#7a1d1d;--gold:#e6c14a;--gold-deep:#b8891d;--moss:#1c2a1c}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--parchment);background:#070806;font-family:IM Fell English,Palatino Linotype,Palatino,serif}body{place-items:center;display:grid;overflow:hidden}#frame{background:#0b100c;width:min(100vw,177.778vh);height:min(100vh,56.25vw);position:relative;box-shadow:0 0 0 10px #120c08,0 0 80px #000}#game{image-rendering:auto;width:100%;height:100%;display:block}#hud{pointer-events:none;background:linear-gradient(#0806048c 0%,#0000 22% 78%,#08060480 100%);justify-content:space-between;padding:18px 22px;display:flex;position:absolute;inset:0}#hud[hidden]{display:none}.hud-left,.hud-right{flex-direction:column;gap:10px;min-width:220px;display:flex}.hud-right{text-align:right;align-items:flex-end}.hud-center{text-align:center;align-self:flex-start;max-width:420px}.stat-block{border:1px solid var(--oak-edge);background:#120c08b8;padding:8px 12px;box-shadow:inset 0 0 0 1px #f3e2c014}.stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--parchment-dark);font-size:12px;display:block}.bar-wrap{background:#2a1210;border:1px solid #5a2a1c;height:10px;margin:6px 0 4px}.bar-fill{transform-origin:0;background:linear-gradient(90deg,#5c1414,#c43b2e);width:100%;height:100%}.stat-num,#gold-text,.weapon-stat,.wave-count{font-size:15px}.gold-block{align-items:center;gap:8px;display:flex}.gold-block .stat-label{letter-spacing:.06em;display:inline}#gold-text{color:var(--gold);font-family:Cinzel,Palatino Linotype,serif;font-size:22px;font-weight:800}.coin-icon{background:radial-gradient(circle at 35% 30%,#ffe58a,#c9921c 55%,#7a5a10);border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 2px #8a6414}.weapon-name{color:var(--gold);font-family:Cinzel,serif;font-size:20px;font-weight:800}.wave-banner{letter-spacing:.18em;text-transform:uppercase;color:var(--parchment);text-shadow:0 2px 12px #000;min-height:1.2em;font-family:Cinzel,serif;font-size:28px;font-weight:800}.hint{color:#d7c39a;text-shadow:0 1px 6px #000;margin-top:6px}.panel-screen{background:radial-gradient(at 50% 40%,#28180c33,#040504c7 70%),#0607058c;place-items:center;display:grid;position:absolute;inset:0}.panel-screen[hidden]{display:none}.title-card,.shop-card{width:min(720px,92%);color:var(--ink);text-align:center;background:linear-gradient(#f3e2c0f7,#d6bc8cf5);border:3px solid #3d2916;padding:36px 40px 32px;box-shadow:0 0 0 6px #1a120c,0 22px 50px #0000008c,inset 0 0 40px #5a32102e}.shop-card{text-align:left;width:min(860px,94%);max-height:94%;padding:22px 24px 16px;overflow:auto}.kicker{letter-spacing:.18em;text-transform:uppercase;color:#6a4320;font-family:Cinzel,serif;font-size:12px}h1,h2{font-family:Cinzel,serif;font-weight:800;line-height:.95}h1{margin:8px 0 10px;font-size:clamp(56px,9vw,88px)}h2{font-size:32px}.subtitle,.shop-line,.end-stats{font-size:20px;line-height:1.35}.how-to{color:#3d2a16;gap:8px;margin:22px 0 26px;list-style:none;display:grid}kbd{background:#efe0bc;border:1px solid #7a5a32;padding:1px 7px;font-family:Cinzel,serif;font-size:13px;display:inline-block}button{letter-spacing:.04em;text-transform:uppercase;color:#f6e4c4;cursor:pointer;background:linear-gradient(#8b2118,#5a1210);border:2px solid #3d1c12;padding:12px 22px;font-family:Cinzel,serif;font-weight:800;box-shadow:0 4px #2a0c0a}button:hover{filter:brightness(1.08)}button:active{transform:translateY(2px);box-shadow:0 2px #2a0c0a}button:disabled{cursor:not-allowed;filter:grayscale(.4)brightness(.75);box-shadow:none}button.ghost{color:var(--ink);box-shadow:none;background:0 0;border-color:#5a3d24;margin-top:16px}.shop-head{border-bottom:2px solid #c4a46a;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;padding-bottom:12px;display:flex}.shop-gold{color:#7a5710;font-family:Cinzel,serif;font-weight:800}.shop-line{margin-bottom:16px;font-style:italic}.shop-list{gap:10px;display:grid}.shop-row{background:#fff8e673;border:1px solid #c4a46a;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.shop-row h3{font-family:Cinzel,serif;font-size:16px}.shop-row p{color:#4a3520;font-size:14px}.owned{letter-spacing:.08em;text-transform:uppercase;color:#3d5a28;font-family:Cinzel,serif;font-size:13px}.end-stats{color:#4a3520;margin:16px 0 22px}@media (max-width:720px){.title-card,.shop-card{padding:22px 16px}.shop-row{grid-template-columns:1fr}.hud-left,.hud-right{min-width:0}}
