:root{color-scheme:dark;--bg:#0d0f17;--panel:#1c202c;--gold:#e8b84a;--text:#eee6d8;--soft:#a9a294}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#0d0f17dd,#0d0f17f7),url('/lobby-bg.png') center/cover fixed;color:var(--text);font:16px/1.6 system-ui,"Microsoft YaHei",sans-serif}main{max-width:600px;margin:auto;padding:48px 24px 30px}.brand{color:var(--gold);letter-spacing:12px;font-size:24px}.brand span{font-size:12px;letter-spacing:2px;margin-left:12px;color:var(--soft)}h1{font-family:serif;font-size:clamp(36px,9vw,56px);margin:12px 0;color:var(--gold);letter-spacing:4px}.intro{font-size:19px;color:#d4cbbb;line-height:1.8;margin-bottom:30px}.panel{border:1px solid #e8b84a55;border-radius:18px;padding:24px;background:#171a24f5;box-shadow:0 15px 55px #0006}h2{font-size:22px;margin:0 0 20px}label{display:block;margin:16px 0;color:#d4cbbb;font-size:14px}input,select{display:block;width:100%;min-height:48px;padding:12px;border:1px solid #484839;border-radius:9px;background:#10131c;color:var(--text);font:inherit;margin-top:6px}input:focus,select:focus,button:focus-visible{outline:2px solid #63e6ff;outline-offset:3px}button{min-height:48px;border-radius:10px;background:#262b3a;border:1px solid #6c6045;color:var(--text);padding:10px 18px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer}button:hover{filter:brightness(1.15)}button:disabled{cursor:default;opacity:.45}button.primary{background:#b5772b;border-color:var(--gold);color:#170f04}#enter,#start,#invite{width:100%;margin-top:14px}.hint{font-size:13px;color:var(--soft);margin:14px 0 0}#error{color:#ffad9c;min-height:24px;margin:18px 0}footer{margin:28px 0 0;color:#8f8b81;font-size:12px}.room-heading{display:flex;align-items:start;justify-content:space-between;gap:8px}.room-heading span{font-size:12px;color:#94dcb0}ol{list-style:none;padding:0;display:grid;gap:8px}li{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#262b3a;border:1px solid #e8b84a20;border-radius:10px}li.me{border-color:var(--gold)}li small{color:var(--soft)}.check{display:grid;grid-template-columns:24px 1fr;gap:0 8px;align-items:center;font-size:16px}.check input{width:20px;min-height:20px;margin:0;accent-color:var(--gold)}.check span{grid-column:2;font-size:12px;color:var(--soft)}[hidden]{display:none!important}#play{height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.game-bar{padding:8px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));display:flex;gap:10px;align-items:center;border-bottom:1px solid #4f442e;background:#151823;font-size:13px;flex-wrap:wrap}.game-bar button{min-height:44px;padding:6px 12px;font-size:13px}.game-bar #turn{flex:1;color:var(--gold)}#game{width:100%;flex:1;min-height:0;border:0}#game-status{color:var(--soft);font-size:13px;min-height:26px;padding:2px 12px;text-align:center}#game-status.error{color:#ffad9c}dialog{max-width:500px;width:calc(100% - 32px);background:#201b17;color:var(--text);border:2px solid var(--gold);border-radius:16px;padding:26px}dialog::backdrop{background:#000b}.actions{display:flex;gap:12px;margin-top:24px}.actions button{flex:1}@media(max-width:420px){main{padding:28px 18px}.panel{padding:20px}.game-bar{gap:6px}.actions{flex-direction:column}}
