:root{color-scheme:dark;--bg:#0c1721;--panel:#142533;--ink:#f3e9d7;--muted:#a9bbc2;--gold:#f5c978}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#25404a,transparent 55%),var(--bg);color:var(--ink);font:15px/1.5 system-ui,sans-serif}main{max-width:1400px;margin:auto;padding:32px}header{display:flex;justify-content:space-between;align-items:center;min-height:220px}h1{font:62px/1 Georgia,serif;margin:12px 0}h1 span{display:block;font:italic 27px Georgia;color:var(--gold);margin-top:12px}.eyebrow{letter-spacing:3px;font-size:11px;color:var(--gold)}header p,.muted{color:var(--muted)}.brand-art{width:210px;height:210px;background:url('lanterns.webp') 0 0/200% 200%;border-radius:50%;box-shadow:0 0 60px #d5a14420}.dashboard{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #ffffff20;padding:20px 0;gap:15px}.dashboard small{display:block;letter-spacing:2px;font-size:10px;color:var(--muted)}.dashboard strong{font:30px Georgia;display:block;margin-top:7px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}button,select{font:inherit;background:#223b49;border:1px solid #ffffff24;color:var(--ink);padding:10px 14px;border-radius:8px;cursor:pointer}button:hover{background:#345460}button:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.4;cursor:default}.primary{background:var(--gold);color:#172632;font-weight:750}.primary:hover{background:#ffe0a4}label{font-size:12px;color:var(--muted)}select{margin-left:8px;font-size:13px}#message{min-height:26px;color:var(--gold)}#board{display:grid;grid-template-columns:.8fr repeat(3,1fr);gap:14px;align-items:start}.station{background:var(--panel);border:1px solid #ffffff14;border-radius:13px;overflow:hidden}.station-head{padding:16px;border-bottom:1px solid #ffffff18}.station h2{margin:0;font:23px Georgia}.station small{color:var(--muted)}.controls{display:flex;align-items:center;gap:8px;margin-top:13px}.controls button{padding:2px 10px;font-size:20px}.slots{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.slots select{padding:4px}.cards{padding:10px;display:grid;gap:8px;min-height:100px}.card{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #ffffff16;border-radius:8px;background:#1c3341}.card.wait{border-color:#f5c97870}.sprite{flex-shrink:0;width:56px;height:66px;background-image:url('lanterns.webp');background-size:200% 200%;border-radius:6px}.sprite.s0{background-position:0 0}.sprite.s1{background-position:100% 0}.sprite.s2{background-position:0 100%}.sprite.s3{background-position:100% 100%}.card b{font-size:12px}.points{font-size:12px;word-spacing:5px;color:var(--muted)}.done-dot{color:var(--gold)}.wait-note{font-size:10px;color:var(--gold)}.bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;margin:30px 0;padding:24px 0;border-block:1px solid #ffffff20}.bottom h2{font:24px Georgia;margin:0}.bottom p{color:var(--muted);font-size:13px}#town{display:flex;flex-wrap:wrap;gap:8px}#town .sprite{width:63px;height:70px;box-shadow:0 0 20px #edc16b1c}footer{color:var(--muted);font-size:12px}a{color:var(--gold)}dialog{max-width:580px;width:calc(100% - 32px);background:#172e3c;color:var(--ink);border:1px solid #a5bcc459;border-radius:18px;padding:28px}dialog::backdrop{background:#000a}li{margin:14px 0}@media(max-width:850px){main{padding:18px}h1{font-size:42px}.brand-art{width:130px;height:130px}#board{grid-template-columns:repeat(2,1fr)}.bottom{grid-template-columns:1fr}.toolbar>div{display:flex;gap:5px}button{padding:10px}.dashboard strong{font-size:24px}}@media(max-width:440px){header{min-height:185px}.brand-art{width:95px;height:95px}h1{font-size:35px}header p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1px}.dashboard{gap:8px}.dashboard small{font-size:8px;letter-spacing:1px}.dashboard strong{font-size:21px}.station-head{padding:10px}.station h2{font-size:20px}.cards{padding:6px}.card{padding:6px;gap:6px}.sprite{width:40px;height:52px}.points{font-size:10px;word-spacing:1px}.controls{gap:5px}.controls button{padding:2px 8px}.controls span{font-size:12px}}
