:root{--gold:#e3c27a;--gold-dim:#9c8450;--ink:#f3ead6;--panel:#120e0adb;--border:#e3c27a73;--display:"Cinzel", Georgia, serif;--ui:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--ui);background:#0b0906;margin:0;overflow:hidden}[hidden]{display:none!important}#game,#game canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#menu,#pause,#lost,#death,#reset{z-index:10;background:radial-gradient(#281c0ebf,#050403f2);place-items:center;padding:16px;display:grid;position:fixed;inset:0}#pause{cursor:pointer;background:#0504038c}.panel{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:6px;width:min(440px,100%);padding:32px 28px;box-shadow:0 20px 60px #0009}h1,h2,h3{font-family:var(--display);color:var(--gold);margin:0}h1{letter-spacing:.04em;font-size:clamp(28px,6vw,42px)}.subtitle{color:var(--gold-dim);margin:6px 0 24px;font-style:italic}#menu-form{text-align:left;gap:10px;display:grid}#menu-form label{color:var(--gold-dim);font-size:13px}#lost .panel{gap:18px;display:grid}.primary{font-family:var(--display);border:1px solid var(--gold);color:var(--gold);cursor:pointer;background:linear-gradient(#5a4220,#3a2a14);border-radius:4px;margin-top:6px;padding:12px;font-size:16px;font-weight:700}#lost{z-index:20}#reset{z-index:21;background:radial-gradient(#46140abf,#080202f5)}#reset .panel{gap:14px;display:grid}#death{z-index:18;background:radial-gradient(#5a0a0a8c,#0a0202eb)}#death .panel{gap:12px;display:grid}#health{background:#0000008c;border:1px solid #000000b3;border-radius:6px;width:min(300px,100% - 32px);height:12px;position:absolute;bottom:76px;left:50%;overflow:hidden;transform:translate(-50%)}#health-fill{background:linear-gradient(#e0533f,#a3291c);width:100%;height:100%;transition:width .2s}#health-fill.low{animation:.8s infinite alternate pulse}@keyframes pulse{0%{opacity:1}to{opacity:.55}}#health-text{text-align:center;text-shadow:0 1px 1px #000;font-size:10px;line-height:12px;position:absolute;inset:0}#hurt{opacity:0;background:radial-gradient(#0000 55%,#c8140a8c);transition:opacity .25s;position:absolute;inset:0}#hurt.visible{opacity:1;transition:none}#menu-status{min-height:1.4em;color:var(--gold);margin:14px 0 0}.controls{text-align:left;color:#cbbfa6;margin-top:18px;font-size:13px}.controls h3{margin-bottom:6px;font-size:14px}.controls ul{columns:2;column-gap:20px;margin:0;padding-left:18px}#hud{pointer-events:none;z-index:5;position:fixed;inset:0}#crosshair{mix-blend-mode:difference;background:linear-gradient(#fff,#fff) 50%/2px 100% no-repeat,linear-gradient(#fff,#fff) 50%/100% 2px no-repeat;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair.hit,#crosshair.kill{mix-blend-mode:normal;filter:drop-shadow(0 0 2px #000);background:linear-gradient(#ff5a3a,#ff5a3a) 50%/2px 100% no-repeat,linear-gradient(#ff5a3a,#ff5a3a) 50%/100% 2px no-repeat;transform:translate(-50%,-50%)rotate(45deg)scale(1.25)}#crosshair.kill{transform:translate(-50%,-50%)rotate(45deg)scale(1.7)}#mine-progress{--p:0;background:conic-gradient(var(--gold) calc(var(--p) * 360deg), transparent 0);opacity:0;border-radius:50%;width:34px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#0000 13px,#000 14px);mask:radial-gradient(circle,#0000 13px,#000 14px)}#mine-progress.active{opacity:.9}#underwater{opacity:0;background:#1e46a059;transition:opacity .2s;position:absolute;inset:0}#underwater.visible{opacity:1}#net-status{background:#00000073;border-radius:12px;padding:4px 10px;font-size:12px;position:absolute;top:12px;right:12px}#net-status:before{content:"";background:#d9a441;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}#net-status.online:before{background:#5fcf6a}#debug{background:#00000080;border-radius:4px;margin:0;padding:8px 10px;font:12px/1.5 ui-monospace,Menlo,monospace;position:absolute;top:12px;left:12px}#toast,#slot-name{font-family:var(--display);color:var(--gold);opacity:0;white-space:nowrap;background:#0000008c;border-radius:4px;padding:6px 14px;transition:opacity .3s;position:absolute;left:50%;transform:translate(-50%)}#toast{top:22%}#slot-name{font-size:14px;bottom:96px}#toast.visible,#slot-name.visible{opacity:1}#hotbar{background:#00000073;border:1px solid #0009;border-radius:4px;gap:4px;padding:4px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.slot{background:#00000040;border:2px solid #ffffff26;border-radius:3px;place-items:center;width:52px;height:52px;display:grid;position:relative}.slot.selected{border-color:var(--gold);box-shadow:0 0 10px #e3c27a99}.slot.clickable{cursor:pointer}.slot.clickable:hover{border-color:#e3c27a99}.slot img{width:36px;height:36px;image-rendering:pixelated;pointer-events:none}.slot .num{opacity:.7;font-size:10px;position:absolute;top:1px;left:4px}.slot .count{text-shadow:0 1px 2px #000,0 0 2px #000;font-size:12px;font-weight:600;position:absolute;bottom:1px;right:3px}.slot .placeholder{opacity:.35;font-size:18px}#site-hint{color:#d8e8ff;text-align:center;background:#0000008c;border-radius:4px;max-width:calc(100% - 32px);padding:6px 14px;font-size:13px;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}#modal{z-index:15;background:#05040373;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#modal .panel{text-align:left;width:min(560px,100%);max-height:calc(100vh - 32px);padding:18px 20px;overflow:auto}#modal .panel.wide{width:min(860px,100%)}.panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-header h2{font-size:22px}.icon-button{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:0 0;border-radius:4px;width:32px;height:32px}.panel-body.two{grid-template-columns:auto 1fr;gap:24px;display:grid}.panel h3{margin:12px 0 6px;font-size:14px}.grid{grid-template-columns:repeat(9,48px);gap:4px;display:grid}.grid .slot{width:48px;height:48px}.grid.equip{grid-template-columns:repeat(4,48px)}.grid.hotbar-grid{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.recipes{gap:6px;display:grid}.recipe{background:#ffffff0a;border-radius:4px;grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.recipe.unavailable{opacity:.55}.recipe-out{align-items:center;gap:8px;display:flex}.recipe-out img,.chip img{width:24px;height:24px;image-rendering:pixelated}.recipe-name{font-size:13px}.recipe-buttons{gap:4px;display:flex}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{background:#00000059;border-radius:12px;align-items:center;gap:3px;padding:2px 6px 2px 2px;font-size:12px;display:inline-flex}.chip.missing{color:#ff8a7a}button.small{font:600 12px var(--ui);border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#ffffff0f;border-radius:4px;padding:6px 10px}button.small.primary{border-color:var(--gold);color:var(--gold);background:linear-gradient(#5a4220,#3a2a14)}button.small.danger{color:#ff9a8a;border-color:#b5503f}button.small:disabled{opacity:.4;cursor:default}.status{border-radius:4px;margin-bottom:10px;padding:8px 10px;font-size:13px}.status.ok{color:#9fe0a8;background:#50a05a33}.status.bad{color:#ffb0a4;background:#b4463c33}.panel-body>button.small{margin-bottom:10px}.templates{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.template,.site{background:#ffffff0a;border-radius:4px;align-content:start;gap:6px;padding:10px;display:grid}.template-title{justify-content:space-between;gap:8px;display:flex}.template button,.site button{justify-self:start}.sites{gap:6px;display:grid}.muted{color:#a89e88;font-size:12px}@media (max-width:600px){#hotbar .slot{width:34px;height:34px}#hotbar .slot img{width:24px;height:24px}.panel-body.two{grid-template-columns:1fr}.grid{grid-template-columns:repeat(9,minmax(0,1fr))}.grid .slot{aspect-ratio:1;width:auto;height:auto}.controls ul{columns:1}}#chat{z-index:6;pointer-events:none;width:min(420px,100% - 24px);font-size:14px;position:fixed;bottom:104px;left:12px}#chat-log{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow:hidden}#chat.open #chat-log{pointer-events:auto;background:#00000059;border-radius:4px;overflow-y:auto}#chat .line{text-shadow:0 1px 1px #000;overflow-wrap:anywhere;background:#00000073;border-radius:3px;padding:2px 8px;transition:opacity .6s}#chat .line b{color:var(--gold);font-weight:600}#chat .line.system{color:#b9c9e0;font-style:italic}#chat .line.old{opacity:0}#chat.open .line.old{opacity:1}#chat-input{width:100%;font:inherit;border:1px solid var(--border);color:var(--ink);pointer-events:auto;background:#0009;border-radius:4px;margin-top:6px;padding:8px 10px}#hud.strategy-mode #crosshair,#hud.strategy-mode #hotbar,#hud.strategy-mode #slot-name,#hud.strategy-mode #mine-progress,#hud.strategy-mode #site-hint{display:none}#strategy{background:var(--panel);border:1px solid var(--border);z-index:7;border-radius:6px;gap:8px;width:min(760px,100% - 32px);padding:12px 14px;font-size:13px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.strategy-buttons,.strategy-mode{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.strategy-mode span{color:var(--gold);margin-right:6px}#select-box{pointer-events:none;z-index:8;background:#7dff8a1f;border:1px solid #7dff8a;position:fixed}.recruit{background:#ffffff0a;border-radius:4px;gap:6px;padding:8px 10px;display:grid}.recruit-btn{align-items:center;gap:6px;display:inline-flex}.recruit-btn img,.stock-name img{width:22px;height:22px;image-rendering:pixelated}label.check{align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.stock{gap:4px;margin-top:10px;display:grid}.stock-row{background:#ffffff0a;border-radius:4px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.stock-name{align-items:center;gap:8px;display:flex}#hud.strategy-mode #health{top:12px;bottom:auto}#horde-alert{color:#ffd9cf;opacity:0;background:#3c0806d1;border:1px solid #ff785a80;border-radius:6px;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:10px 18px;transition:opacity .6s;display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%)}#horde-alert.visible{opacity:1}#horde-alert b{font-family:var(--display);color:#ffb39e;font-size:17px;display:block}#horde-alert span{font-size:13px}.alert-arrow{color:#ff6a4a;font-size:26px;line-height:1}#menu{background:linear-gradient(#0d0a22 0%,#241640 38%,#6a2c3a 68%,#c4572e 86%,#e88a3a 100%);padding:0;overflow:hidden auto}.menu-scene{pointer-events:none;position:fixed;inset:0}.menu-stars span{background:#fff8e6;border-radius:50%;width:2px;height:2px;animation:4s ease-in-out infinite alternate twinkle;position:absolute}@keyframes twinkle{0%{opacity:.15}to{opacity:.9}}.menu-moon{clip-path:polygon(20% 0,80% 0,80% 10%,100% 10%,100% 90%,80% 90%,80% 100%,20% 100%,20% 90%,0 90%,0 10%,20% 10%);background:#f7e8c4;width:70px;height:70px;position:absolute;top:9%;right:14%;box-shadow:0 0 40px #ffecbe80,0 0 120px #ffd29640}.menu-layer{width:110%;position:absolute;bottom:0;left:-5%}.menu-layer.far{height:62%;animation:60s ease-in-out infinite alternate drift}.menu-layer.far path{fill:#3a2450}.menu-layer.fortress{height:62%;animation:60s ease-in-out infinite alternate drift}.fortress-shape{fill:#21142f}.fortress-glow{fill:#ff3a24;filter:drop-shadow(0 0 6px #ff3a24)drop-shadow(0 0 14px #ff6a2a);animation:2.4s ease-in-out infinite alternate pulse-glow}@keyframes pulse-glow{0%{opacity:.6}to{opacity:1}}.menu-layer.mid{height:44%;animation:45s ease-in-out infinite alternate-reverse drift}.menu-layer.mid path{fill:#1f1531}.menu-layer.near{height:30%;animation:32s ease-in-out infinite alternate drift}.ridge-near{fill:#0c0814}.mine-mouth{fill:#ffb24a;filter:drop-shadow(0 0 12px #ffaa46e6);animation:1.6s ease-in-out infinite alternate pulse-glow}.mine-beam{fill:#2a1a10}@keyframes drift{0%{transform:translate(-1.5%)}to{transform:translate(1.5%)}}.menu-embers span{opacity:0;background:#ffb05a;width:4px;height:4px;animation:linear infinite ember;position:absolute;bottom:-10px;box-shadow:0 0 8px #ff8a2a}@keyframes ember{0%{opacity:0;transform:translate(0)}10%{opacity:.9}to{opacity:0;transform:translate(40px,-75vh)}}.menu-vignette{background:radial-gradient(at 50% 45%,#0000 35%,#05030abf 100%);position:absolute;inset:0}.menu-content{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100%;padding:24px 16px;display:flex;position:relative}.menu-emblem{filter:drop-shadow(0 4px 18px #ffbe5a59);width:84px;height:84px}.menu-title{font-family:var(--display);letter-spacing:.04em;background:linear-gradient(#fff2c4 0%,#f2cf7a 45%,#b47a2c 100%);color:#0000;filter:drop-shadow(0 3px #3a2410)drop-shadow(0 0 22px #ffbe5a59);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(38px,9vw,78px);font-weight:700;line-height:1}.menu-title span{vertical-align:middle;letter-spacing:.2em;margin:0 .15em;font-size:.42em;display:inline-block}.menu-tagline{font-family:var(--display);color:#f0d9a8;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin:0 0 8px;font-size:13px}.menu-card{text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#1c120cd1,#0e0906e6);border:1px solid #e3c27a80;border-radius:8px;gap:10px;width:min(380px,100%);padding:22px 22px 16px;display:grid;box-shadow:0 24px 60px #0000008c,inset 0 1px #ffe6aa1f}.menu-card label{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dim);font-size:12px}.menu-card #hero-name{font:16px var(--ui);color:var(--ink);background:#00000073;border:1px solid #e3c27a73;border-radius:5px;padding:12px 14px}.menu-card #hero-name:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #e3c27a33}.menu-play{font:700 18px var(--display);letter-spacing:.06em;color:#2a1606;cursor:pointer;background:linear-gradient(#f7da8c,#d39a3e 55%,#a8702a);border:1px solid #f3d27e;border-radius:5px;margin-top:4px;padding:14px;transition:transform 80ms,box-shadow 80ms,filter .15s;box-shadow:0 6px #5a3a12,0 10px 24px #00000073}.menu-play:hover{filter:brightness(1.08)}.menu-play:active{transform:translateY(4px);box-shadow:0 2px #5a3a12,0 6px 14px #00000073}.menu-play:disabled{filter:grayscale(.5);cursor:wait}.menu-card .menu-check{text-transform:none;letter-spacing:0;color:#d9c9a6;cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.menu-check input{accent-color:#d9a441;width:16px;height:16px}#menu #menu-status{text-align:center;min-height:1.3em;margin:0;font-size:13px}.menu-controls{color:#d9c9a6;text-align:left;width:min(560px,100%);font-size:13px}.menu-controls summary{cursor:pointer;text-align:center;font-family:var(--display);color:var(--gold);letter-spacing:.08em;padding:6px;list-style:none}.menu-controls summary:after{content:" ▾"}.menu-controls[open] summary:after{content:" ▴"}.menu-controls ul{columns:2;background:#0a0604bf;border:1px solid #e3c27a4d;border-radius:6px;column-gap:24px;margin:6px 0 0;padding:14px 18px 14px 32px}@media (max-width:600px){.menu-controls ul{columns:1}}@media (prefers-reduced-motion:reduce){.menu-scene *,.menu-scene{animation:none!important}}#tutorial{z-index:16;border:1px solid #e3c27a8c;border-left:4px solid var(--gold);background:linear-gradient(#1e140ceb,#0e0906f0);border-radius:6px;width:min(330px,100vw - 32px);padding:14px 16px 12px;transition:border-color .3s,transform .3s;position:fixed;top:16px;left:16px;box-shadow:0 12px 34px #00000080}#tutorial.enter{animation:.45s cubic-bezier(.2,.9,.3,1.2) tut-in}@keyframes tut-in{0%{opacity:0;transform:translate(-24px)}}#tutorial.done{border-color:#7fd17a}#tutorial.done .tut-title:after{content:" ✔";color:#7fd17a}.tut-head{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);justify-content:space-between;align-items:center;font-size:11px;display:flex}.tut-skip{font:inherit;text-transform:none;letter-spacing:0;color:var(--gold-dim);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.tut-title{font:700 18px var(--display);color:var(--gold);margin:6px 0 4px}.tut-text{margin:0 0 10px;font-size:14px;line-height:1.45}.tut-keys{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tut-keys kbd{min-width:30px;height:30px;font:700 13px var(--ui);color:#2a1a0c;background:linear-gradient(#f6e6c0,#d8bf8a);border:1px solid #8a6a36;border-radius:5px;place-items:center;padding:0 6px;animation:1.6s ease-in-out infinite key-tap;display:inline-grid;box-shadow:0 3px #6a4e24}.tut-keys kbd:nth-child(2){animation-delay:.2s}.tut-keys kbd:nth-child(3){animation-delay:.4s}.tut-keys kbd:nth-child(4){animation-delay:.6s}.tut-keys kbd:nth-child(5){animation-delay:.8s}.tut-keys kbd.wide{padding:0 10px}@keyframes key-tap{0%,70%,to{transform:translateY(0);box-shadow:0 3px #6a4e24}80%{transform:translateY(2px);box-shadow:0 1px #6a4e24}}.tut-bar{background:#ffffff1a;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.tut-bar[hidden]{display:none}.tut-fill{background:linear-gradient(90deg,#d39a3e,#f7da8c);width:0;height:100%;transition:width .35s}#tutorial.done .tut-fill{background:#7fd17a}.tut-hint{color:var(--gold-dim);margin:0;font-size:11px}#tutorial.collapsed .tut-text,#tutorial.collapsed .tut-keys,#tutorial.collapsed .tut-bar,#tutorial.collapsed .tut-hint{display:none}@media (prefers-reduced-motion:reduce){#tutorial,.tut-keys kbd{animation:none!important}}.menu-secondary{font:600 14px var(--display);letter-spacing:.04em;color:var(--gold);cursor:pointer;background:#3c28128c;border:1px solid #e3c27a8c;border-radius:5px;padding:10px 14px;transition:background .15s,border-color .15s}.menu-secondary:hover,.menu-secondary[aria-pressed=true]{border-color:var(--gold);background:#6e4a1eb3}#customize-button:before{content:"✦ "}#customizer{z-index:2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08050c99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#customizer[hidden]{display:none}.cz-panel{background:linear-gradient(#1c120cf0,#0e0906f5);border:1px solid #e3c27a80;border-radius:8px;grid-template-columns:minmax(260px,1fr) minmax(300px,1.1fr);width:min(960px,100%);max-height:calc(100vh - 32px);display:grid;overflow:hidden;box-shadow:0 24px 60px #0009}.cz-stage{background:radial-gradient(at 50% 35%,#ffbe6e47,#0000 60%),linear-gradient(#2a1c3e 0%,#4a2a3a 60%,#1a1210 100%);min-height:420px;position:relative}.cz-stage canvas{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.cz-stage canvas:active{cursor:grabbing}.cz-hint{text-align:center;color:#f0d9a8b3;pointer-events:none;margin:0;font-size:12px;position:absolute;top:12px;left:0;right:0}.cz-walk{position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.cz-side{text-align:left;flex-direction:column;min-width:0;min-height:0;padding:18px 20px 16px;display:flex}.cz-side h2{margin-bottom:8px;font-size:22px}.cz-options{flex:1;padding-right:6px;overflow-y:auto}.cz-options h3{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);border-bottom:1px solid #e3c27a33;margin:12px 0 6px;padding-bottom:4px;font-size:13px}.cz-row{grid-template-columns:120px 1fr;align-items:center;gap:10px;margin:7px 0;display:grid}.cz-label{color:#d9c9a6;font-size:13px}.cz-swatches{flex-wrap:wrap;gap:5px;display:flex}.cz-swatch{cursor:pointer;border:2px solid #0000008c;border-radius:4px;width:22px;height:22px;padding:0;box-shadow:inset 0 -3px #00000040}.cz-swatch:hover{transform:translateY(-1px)}.cz-swatch[aria-checked=true]{border-color:#fff2c4;box-shadow:0 0 0 2px #b9832f,inset 0 -3px #00000040}.cz-swatch.none{background:repeating-linear-gradient(45deg,#2a2420 0 4px,#4a3a2e 4px 8px)}.cz-step{background:#00000059;border:1px solid #e3c27a66;border-radius:5px;grid-template-columns:30px 1fr 30px;align-items:center;max-width:230px;display:grid}.cz-step span{text-align:center;font-size:14px}.cz-step button{height:30px;font:700 18px var(--ui);color:var(--gold);cursor:pointer;background:0 0;border:none}.cz-step button:hover{background:#e3c27a1f}.cz-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.cz-actions .menu-play{flex:120px;margin:0;padding:10px;font-size:16px}@media (max-width:720px){.cz-panel{grid-template-columns:minmax(0,1fr);overflow-y:auto}.cz-stage{min-height:260px}.cz-options{overflow:visible}.cz-row{grid-template-columns:1fr;gap:4px}}.difficulty-panel{width:min(520px,100%)}.difficulty-row{grid-template-columns:170px 1fr;align-items:center;gap:12px;margin:10px 0;display:grid}.difficulty-label{color:var(--gold-dim);font-size:13px}.difficulty-modes{flex-wrap:wrap;gap:6px;display:flex}.difficulty-help{margin:-4px 0 6px;font-size:12px}.difficulty-panel select{font:14px var(--ui);border:1px solid var(--border);color:var(--ink);background:#0006;border-radius:4px;padding:6px 8px}.difficulty-range{align-items:center;gap:10px;display:flex}.difficulty-range input{accent-color:#d9a441;flex:1}.difficulty-level{text-align:right;min-width:3.2em;color:var(--gold)}.difficulty-preview{border-left:3px solid var(--gold);background:#e3c27a14;border-radius:4px;margin-top:12px;padding:10px 12px}.difficulty-preview p,.difficulty-status p{margin:2px 0}.difficulty-status{margin-top:8px;font-size:13px}.difficulty-actions{justify-content:flex-end;margin-top:14px;display:flex}@media (max-width:560px){.difficulty-row{grid-template-columns:1fr;gap:4px}}.auth-tabs{background:#00000059;border-radius:6px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:4px;padding:3px;display:grid}.auth-tab{font:600 14px var(--display);color:var(--gold-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px}.auth-tab[aria-selected=true]{color:var(--gold);background:#6e4a1ebf}.menu-card input:not([type=checkbox]){font:16px var(--ui);color:var(--ink);background:#00000073;border:1px solid #e3c27a73;border-radius:5px;min-width:0;padding:11px 14px}.menu-card input:not([type=checkbox]):focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #e3c27a33}.auth-hint{color:#bfae8a;text-align:center;margin:0;font-size:12px}#menu-status{text-align:center;width:min(560px,100%);min-height:1.3em;color:var(--gold);margin:0;font-size:13px}.menu-card.lobby{width:min(560px,100%)}.lobby-head{color:#d9c9a6;justify-content:space-between;align-items:center;font-size:13px;display:flex}.link-button{font:inherit;color:var(--gold-dim);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.lobby-title{margin:2px 0 0;font-size:18px}.game-list{gap:8px;max-height:46vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.game-empty{color:#bfae8a;padding:10px 0;font-size:13px}.game-row{background:#0000004d;border:1px solid #e3c27a4d;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:10px 12px;display:grid}.game-info{gap:2px;min-width:0;display:grid}.game-name{font:700 16px var(--display);color:var(--gold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-meta{color:#bfae8a;font-size:12px}.game-actions .menu-play.game-play{margin:0;padding:8px 18px;font-size:15px;box-shadow:0 4px #5a3a12}.game-badge{color:var(--gold);background:#e3c27a26;border-radius:4px;padding:4px 8px;font-size:12px}.game-badge.bad{color:#ff9a80;background:#c83c2833}.game-owner{grid-column:1/-1;gap:6px;display:grid}.game-owner-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.game-code{letter-spacing:.12em;color:#f6e6c0;margin-right:4px;font:700 13px ui-monospace,Menlo,monospace}.game-owner .small.attention{color:#ffd27a;border-color:#ffb24a;box-shadow:0 0 0 2px #ffb24a40}.game-requests{border-left:2px solid #e3c27a66;gap:4px;padding:8px 10px;display:grid}.game-request{align-items:center;gap:6px;font-size:13px;display:flex}.game-request span{flex:1}.lobby-form{grid-template-columns:1fr auto;gap:8px;display:grid}.lobby-tools{border-top:1px solid #e3c27a33;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}#join-code{text-transform:uppercase;letter-spacing:.15em}@media (max-width:480px){.lobby-form{grid-template-columns:1fr}}.settings-panel{width:min(540px,100%)}.settings-group{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);border-bottom:1px solid #e3c27a33;margin:14px 0 4px;padding-bottom:4px;font-size:13px}.settings-group:first-child{margin-top:0}.settings-row{grid-template-columns:170px 1fr;align-items:center;gap:12px;margin:8px 0;display:grid}.settings-toggle{cursor:pointer}.settings-toggle input{accent-color:#d9a441;justify-self:start;width:18px;height:18px}.settings-label{color:#d9c9a6;font-size:13px}.settings-range{align-items:center;gap:10px;display:flex}.settings-range input{accent-color:#d9a441;flex:1}.settings-value{text-align:right;min-width:3.4em;color:var(--gold);font-size:13px}.settings-inline{gap:6px;min-width:0;display:flex}.settings-inline select{min-width:0;font:13px var(--ui);border:1px solid var(--border);color:var(--ink);background:#0006;border-radius:4px;flex:1;padding:6px 8px}.settings-help{margin:10px 0 4px;font-size:12px}.settings-cats{gap:6px;display:grid}.settings-actions{justify-content:flex-end;margin-top:12px;display:flex}@media (max-width:560px){.settings-row{grid-template-columns:1fr;gap:4px}}.settings-cats .menu-check{color:#d9c9a6;font-size:13px}
