:root{color-scheme:dark;--bg: #11161F;--surface: #1B2230;--surface-high: #232C3D;--outline: #38435A;--on-surface: #E7ECF4;--on-surface-dim: #93A0B5;--primary: #E0A458;--on-primary: #2A1B06;--danger: #F2898B;--radius: 16px;--gap: 16px;--maxw: 460px}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;min-height:100dvh;background:radial-gradient(1200px 600px at 50% -10%,#1d2840 0%,transparent 60%),var(--bg);color:var(--on-surface);font-family:Inter,system-ui,-apple-system,sans-serif;display:grid;place-items:center;padding:24px}m-symbol{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}ages-app{width:100%;max-width:var(--maxw);display:block;position:relative}connection-status{display:block;text-align:center;font-size:13px;color:var(--on-surface-dim);margin-bottom:12px}connection-status[hidden]{display:none}main-menu,create-room,rooms-list,room-view,game-board{display:none}ages-app[screen=menu] main-menu,ages-app[screen=create] create-room,ages-app[screen=join] rooms-list,ages-app[screen=room] room-view,ages-app[screen=game] game-board{display:block}main-menu{text-align:center}main-menu h1{font-size:4rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(180deg,#F6D9A8,var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}main-menu p{color:var(--on-surface-dim);margin:8px 0 32px}menu-actions{display:grid;gap:var(--gap)}menu-actions button{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;font-size:1.05rem;font-weight:600;color:var(--on-surface);background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);cursor:pointer;transition:background .15s ease,transform .1s ease,border-color .15s ease}menu-actions button:hover{background:var(--surface-high);border-color:var(--primary)}menu-actions button:active{transform:scale(.98)}menu-actions button[data-action=create] m-symbol{color:var(--primary)}create-room,rooms-list,room-view,game-board{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);padding:24px}create-room h2,rooms-list h2,room-view h2,game-board h2{font-size:1.5rem;font-weight:700;margin-bottom:20px}form-fields{display:grid;gap:var(--gap)}text-field{display:grid;gap:6px}text-field[hidden]{display:none}text-field label{font-size:13px;color:var(--on-surface-dim);font-weight:500}input{width:100%;padding:13px 14px;font-size:1rem;font-family:inherit;color:var(--on-surface);background:var(--bg);border:1px solid var(--outline);border-radius:12px;outline:none;transition:border-color .15s ease}input:focus{border-color:var(--primary)}form-error{display:block;min-height:18px;margin:12px 0 0;font-size:13px;color:var(--danger)}form-error:empty{margin:0;min-height:0}form-actions{display:flex;gap:10px;margin-top:20px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:.98rem;font-weight:600;padding:13px 18px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:filter .15s ease,background .15s ease}button[hidden]{display:none}button[data-variant=primary] m-symbol{color:var(--on-primary)}button[data-variant=primary]{background:var(--primary);color:var(--on-primary);flex:1}button[data-variant=primary]:hover{filter:brightness(1.07)}button[data-variant=ghost]{background:transparent;color:var(--on-surface-dim);border-color:var(--outline)}button[data-variant=ghost]:hover{color:var(--on-surface)}button[disabled]{opacity:.45;cursor:not-allowed}room-rows{display:grid;gap:10px}room-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border:1px solid var(--outline);border-radius:12px}room-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}room-meta{display:flex;align-items:center;gap:6px;color:var(--on-surface-dim);font-size:14px}room-meta m-symbol{font-size:18px}room-row button{padding:9px 16px;font-size:.9rem}empty-state{display:block;text-align:center;color:var(--on-surface-dim);padding:28px 8px}room-header{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}room-header h2{margin:0}room-count{color:var(--on-surface-dim);font-size:14px}player-list{display:grid;gap:8px}player-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg);border:1px solid var(--outline);border-radius:12px}player-item m-symbol{color:var(--on-surface-dim)}player-item[data-self]{border-color:var(--primary)}player-item[data-self] m-symbol{color:var(--primary)}player-item[data-host]{background:linear-gradient(90deg,rgba(224,164,88,.12),transparent);border-color:var(--primary)}player-item[data-host] m-symbol{color:var(--primary)}player-item span{flex:1}host-badge{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--on-primary);background:var(--primary);padding:3px 9px;border-radius:999px}room-status{display:block;text-align:center;color:var(--on-surface-dim);font-size:14px;margin:18px 0 4px}room-status[hidden]{display:none}game-subtitle{display:block;color:var(--on-surface-dim);margin:-8px 0 18px}join-dialog{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#080b11b3;z-index:10}join-dialog[hidden]{display:none}dialog-panel{display:grid;gap:var(--gap);width:100%;max-width:380px;background:var(--surface-high);border:1px solid var(--outline);border-radius:var(--radius);padding:24px}dialog-panel h2{font-size:1.25rem;font-weight:700}
