:root {
  color-scheme: dark;
  font-family: Inter, "Noto Sans JP", system-ui, sans-serif;
  font-size: 15px;
  --bg: #121416;
  --surface-1: #1b1e21;
  --surface-2: #23272b;
  --surface-hover: #2c3136;
  --text-primary: #f2f3f4;
  --text-secondary: #c7cbd0;
  --text-muted: #a0a6ae;
  --brand: #ee485b;
  --brand-hover: #d83b4d;
  --brand-action: #cd3548;
  --brand-action-hover: #b62b3d;
  --status-ready: #a1dbb7;
  --status-soon: #e1c78f;
  --border: #343a40;
  --border-strong: #626b75;
  --radius-sm: 6px;
  --radius-md: 8px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --red: var(--brand);
  --muted: var(--text-muted);
  color: var(--text-primary);
  background: var(--bg);
}
@media(max-width:800px){.ready-games{grid-template-columns:repeat(2,minmax(0,1fr))}}
*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{transition:background .18s,border-color .18s,transform .18s}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ff7784;outline-offset:4px}svg{width:18px;height:18px;flex-shrink:0}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:10;background:#222;padding:12px}.header{height:84px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:48px;padding:0 max(24px,calc((100% - 1220px)/2))}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap;font-size:19px;font-weight:750}.brand small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.header nav{display:flex;gap:30px;align-self:stretch;align-items:center}.header nav a{height:100%;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.header nav a[aria-current]{color:white;border-color:var(--red)}.profile{margin-left:auto;background:none;border:0;color:white;display:flex;align-items:center;gap:10px;font-size:13px}.avatar{width:32px;height:32px;border-radius:50%;background:#393033;display:grid;place-items:center;font-size:12px;color:#ffb4bd;flex-shrink:0}main{max-width:1220px;margin:auto;padding:42px 24px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.eyebrow{font-size:10px;font-weight:650;color:var(--muted);margin:0 0 10px}h1{font-size:30px;margin:0;font-weight:750}h1 span{font-size:13px;font-weight:400;color:var(--muted);margin-left:16px}.date{text-align:right;font-size:13px}.date small{display:block;color:#aaa;margin-top:10px;font-size:10px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}h2{font-size:21px;margin:0}h3{font-size:16px;margin:0}.muted{color:var(--muted);font-size:12px}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game{border:1px solid var(--border);border-radius:6px;background:#1b1d1f;text-align:left;color:white;padding:0;overflow:hidden;position:relative}.game:hover{border-color:#74777c;transform:translateY(-3px)}.game[aria-pressed=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.game>img,.other-art{width:100%;height:158px;object-fit:cover;display:block}.other-art{background:#23272a;display:flex;align-items:center;justify-content:center;gap:18px;color:#aeb4b7;font-weight:650;font-size:10px}.other-art img{opacity:.85}.game-body{padding:20px}.game-category{color:var(--muted);font-size:9px}.game h3{margin:10px 0 22px;font-size:21px}.vote-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#c1c2c6}.vote-command{display:flex;gap:8px;align-items:center;color:white}.selection-mark{position:absolute;top:12px;right:12px;border-radius:50%;width:28px;height:28px;background:var(--red);display:none;text-align:center;line-height:28px}.game[aria-pressed=true] .selection-mark{display:block}.vote-bottom{display:flex;align-items:center;justify-content:space-between;margin:18px 0 32px}.quiet{background:none;border:1px solid var(--border);padding:9px 16px;border-radius:4px;color:#c3c6cb;font-size:12px}.quiet[aria-pressed=true]{color:#ff8e9c;border-color:var(--red)}.lower-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;padding-top:32px;border-top:1px solid var(--border)}.badge{font-size:12px;background:#20312a;color:#a1dbb7;padding:6px 10px;border-radius:4px}label{display:block;font-size:12px;color:#adb0b6}input,select{width:100%;min-height:44px;display:block;margin-top:8px;background:#181a1c;border:1px solid #393b3e;border-radius:4px;color:white;padding:10px 12px}input::placeholder{color:#747981}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.primary{min-height:44px;background:var(--red);color:white;border:1px solid var(--red);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;font-size:13px;font-weight:650}.primary:hover{background:#d83b4d;border-color:#d83b4d}form>.primary{margin-top:16px}.member{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #272a2c}.member .details{flex:1;min-width:0}.member strong{font-size:13px}.member p{margin:5px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.member time{font-size:13px;color:#c3dacb;white-space:nowrap}.own{margin-top:14px}.sample-heading{font-size:10px;color:var(--muted);padding-top:22px}.connections{padding-bottom:22px;border-bottom:1px solid var(--border)}.connection{display:flex;align-items:center;gap:14px;padding:18px 0}.connection>div{flex:1;min-width:0}.connection h3{font-size:13px}.connection p{font-size:12px;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}.service-icon{height:40px;width:40px;background:#222528;border:1px solid var(--border);border-radius:4px;display:grid;place-items:center}.icon{min-width:40px;min-height:40px;background:transparent;border:1px solid var(--border);border-radius:4px;color:#c6c9ce;display:inline-grid;place-items:center}.icon:hover{background:#303235}.scrim-entry{padding:30px 0}.scrim-entry h2{font-size:25px}.scrim-meta{display:flex;gap:12px;color:var(--muted);font-size:10px;margin:18px 0 24px}footer{margin-top:44px;border-top:1px solid var(--border);padding:24px 0;color:#767c82;display:flex;justify-content:space-between;gap:16px;font-size:10px}dialog{width:min(450px,calc(100% - 32px));background:#1a1c1e;color:white;border:1px solid #45474a;border-radius:6px;padding:26px}dialog::backdrop{background:#000b}dialog label{margin-top:20px}.dialog-heading{display:flex;justify-content:space-between;align-items:center}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;border-radius:4px;background:#34383b;color:white;padding:12px 20px;font-size:13px;box-shadow:0 6px 24px #0006;pointer-events:none;opacity:0;transition:opacity .2s}#notice.visible{opacity:1}
@media(max-width:800px){.header{padding:0 20px;gap:24px}.header nav{gap:20px}.profile>span:not(.avatar){display:none}.lower-grid{gap:24px}.game>img,.other-art{height:130px}.other-art{flex-direction:column;gap:6px}.other-art img{width:56px;height:56px}.game-body{padding:16px}.game h3{font-size:17px}.vote-command{font-size:11px}.date{font-size:12px}}
@media(max-width:580px){.header{height:auto;min-height:72px;flex-wrap:wrap;gap:0;padding:16px 20px 0}.brand{font-size:17px}.profile{min-height:40px}.header nav{order:3;flex-basis:100%;height:46px;gap:28px}.header nav a{font-size:12px}main{padding:28px 20px 0}.page-heading{align-items:flex-start;gap:16px;margin-bottom:28px}h1{font-size:26px}h1 span{display:block;margin:8px 0 0}.date{font-size:11px}.date small{max-width:116px;line-height:1.6}.games{grid-template-columns:1fr;gap:12px}.game{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch}.game>img,.other-art{height:100%;min-height:136px}.game-body{padding:18px}.game h3{font-size:18px;margin:8px 0 18px}.selection-mark{top:8px;left:8px;right:auto}.other-art span{font-size:8px}.lower-grid{grid-template-columns:1fr;gap:32px;padding-top:24px}.right-column{border-top:1px solid var(--border);padding-top:28px}.section-title{margin-bottom:18px}h2{font-size:20px}.section-title>.muted{font-size:10px}footer{flex-direction:column;margin-top:16px;gap:10px}.scrim-entry .primary{width:100%}.profile svg{width:15px}.vote-bottom{gap:12px}.muted{line-height:1.6}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}.game:hover{transform:none}}
#settings{max-height:calc(100dvh - 32px);overflow:auto}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px;min-width:0}.header-actions .profile{margin-left:0;min-height:44px;min-width:0}.profile #profileName{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-toggle{display:inline-flex;gap:8px;padding:0 12px;min-height:44px;flex-shrink:0;color:#e7e8ea}.member-toggle[aria-expanded=true]{border-color:var(--red);color:#ffb4bd}.member-toggle span{font-size:13px;font-variant-numeric:tabular-nums;min-width:2ch;text-align:center}.drawer-open{overflow:hidden}
.member-drawer{position:fixed;inset:var(--drawer-top,0px) 0 0 auto;margin:0;width:min(380px,92vw);max-width:none;height:calc(100dvh - var(--drawer-top,0px));max-height:none;border:0;border-left:1px solid #383b3f;border-radius:0;background:#181a1c;padding:0 20px 24px;overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 40px #0005;transform:translateX(100%);opacity:0;transition:transform .2s ease,opacity .2s ease}.member-drawer.is-visible{transform:translateX(0);opacity:1}.member-drawer::backdrop{background:#0006}.drawer-heading{position:sticky;top:0;z-index:1;background:#181a1c;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0 16px;border-bottom:1px solid var(--border)}.drawer-heading h2{font-size:18px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.drawer-heading .icon{min-width:44px;min-height:44px}.directory-controls{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px;margin:18px 0 24px}.directory-controls label{margin:0;font-size:11px}.directory-controls input,.directory-controls select{font-size:12px;padding:10px 8px}.directory-list{display:block}.drawer-group{margin-bottom:22px}.drawer-group>h3{font-size:11px;color:#a9adb3;margin:0 0 8px}.drawer-group ul{list-style:none;margin:0;padding:0}.directory-card{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:80px;padding:10px 8px;border:1px solid transparent;border-radius:4px;background:transparent;text-align:left;color:inherit}.directory-card:hover{background:#25282b;border-color:#383b3f}.drawer-member-details{display:grid;gap:5px;min-width:0;flex:1}.drawer-member-details strong{font-size:13px;font-weight:650;overflow-wrap:anywhere}.drawer-member-status{font-size:11px;color:#aeb2b6}.drawer-member-games{font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.directory-card.now .drawer-member-status{color:#a1dbb7}.directory-card.now .drawer-member-status::before{content:"";display:inline-block;width:6px;height:6px;background:#8bc9a4;border-radius:50%;margin-right:6px}.directory-card.later .drawer-member-status{color:#dfc48e}.directory-card.rest{opacity:.7}.directory-note,.directory-empty{font-size:11px;color:var(--muted);line-height:1.8;margin:20px 0 0}.directory-note{border-top:1px solid var(--border);padding-top:16px}.directory-empty{padding:24px 0}#memberProfile{max-height:calc(100dvh - 32px);overflow:auto}#memberProfileName{font-size:18px;overflow-wrap:anywhere;min-width:0}#memberProfileDetails{font-size:13px;line-height:1.8;overflow-wrap:anywhere}#memberProfileDetails>.avatar{margin-top:24px;width:48px;height:48px}.member-profile-bio{white-space:pre-wrap;color:#ddd}#editMemberProfile{margin-top:16px;max-width:100%}
@starting-style{.member-drawer[open].is-visible{transform:translateX(100%);opacity:0}}
@media(max-width:800px){.header{gap:20px}.header-actions{gap:10px}}
@media(max-width:580px){.header-actions{gap:8px}.header-actions .profile{padding:0;gap:6px}.header-actions .profile svg{display:none}.member-toggle{padding:0 9px}.member-drawer{padding-inline:16px}.drawer-heading{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.member-drawer{transform:none}}
.games{grid-template-columns:repeat(4,minmax(0,1fr))}.game h3{font-size:18px;overflow-wrap:anywhere;min-height:44px}.game>img{object-position:center}.game.valorant>img{object-position:65% center}@media(min-width:581px) and (max-width:1000px){.games{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.games{grid-template-columns:1fr}.game h3{min-height:0}}

/* Tonight comes first; profiles and game artwork remain secondary. */
.page-heading{margin-bottom:26px}.night-dashboard{border-top:1px solid var(--border);padding-top:24px}
.night-summary{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.night-summary strong{font-size:23px;color:#a1dbb7}.night-summary strong::before{content:"";display:inline-block;width:9px;height:9px;background:#8bc9a4;border-radius:50%;margin-right:10px}
.night-summary>span{font-size:14px;color:#dfc48e}.night-summary small{margin-left:auto;color:var(--muted);font-size:10px}
.ready-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.scrim-readiness{display:flex;gap:24px;flex-wrap:wrap;padding:18px 0 0}.scrim-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:250px}.scrim-line strong{font-size:12px}.scrim-line .primary{font-size:12px}.count-note{font-size:10px;color:var(--muted);line-height:1.8;margin:16px 0 24px}
.presence-state{font-size:11px;max-width:130px;flex-shrink:0;line-height:1.6;color:#aeb2b6}
.quick-join{border-top:1px solid var(--border);margin-top:28px;padding:24px 0}.quick-join h2{font-size:18px}.quick-join .section-title{margin-bottom:16px}.arrival-options,.wish-options{display:flex;flex-wrap:wrap;gap:8px}.arrival-options button,.wish-options button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:#1b1d1f;border:1px solid #3a3e42;border-radius:4px;color:#ddd;padding:10px 16px;font-size:13px}.arrival-options button[aria-pressed=true]{border-color:#d86070;color:#ffb2bc;background:#352429}.arrival-options button[data-arrival=now][aria-pressed=true]{border-color:#73af8b;color:#a1dbb7;background:#20312a}.wish-options{margin-top:14px}.wish-options button[aria-pressed=true]{border-color:#d86070;color:#ffb2bc}.quick-join #quickGameStatus{margin:12px 0 0;overflow-wrap:anywhere}
.game-choices{border-top:1px solid var(--border);margin-bottom:24px}.game-choices>summary{padding:18px 0;cursor:pointer;display:flex;align-items:center;gap:16px;min-height:50px;font-size:14px;list-style:none}.game-choices>summary::before{content:"+";color:#ff8d9a;font-size:20px}.game-choices[open]>summary::before{content:"-"}.game-choices>summary span{margin-left:auto;color:var(--muted);font-size:12px;max-width:55%;overflow-wrap:anywhere}.game-choices .section-title{margin-top:12px}.lower-grid{padding-top:24px}.attendance .section-title h2{font-size:18px}.target-settings{margin-top:20px}.target-settings summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}#targetInputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}#targetInputs label{margin:0}.member-availability.now{color:#a1dbb7}.member-availability.later{color:#dfc48e}.member-comment{font-size:12px;color:var(--muted);line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}.member-directory{margin-top:24px}
@media(max-width:800px){.ready-games{gap:16px}.readiness-outcome{font-size:18px}.room-people{gap:24px}.presence-item{flex-wrap:wrap}.presence-item .presence-state{margin-left:42px;max-width:none}}
@media(max-width:580px){main{padding-top:24px}.night-summary{gap:10px;margin-bottom:20px}.night-summary strong{font-size:21px}.night-summary>span{font-size:12px}.night-summary small{margin-left:0;width:100%}.ready-games{grid-template-columns:1fr;gap:14px}.ready-game{display:grid;grid-template-columns:85px 1fr;column-gap:12px;padding-bottom:12px}.ready-game h2{font-size:12px;align-self:center;margin:0}.readiness-outcome{font-size:17px}.readiness-count,.readiness-names{grid-column:1/-1}.readiness-count{margin:6px 0 0;font-size:11px}.readiness-names{display:none}.scrim-readiness{gap:12px}.scrim-line{min-width:0;flex-basis:100%;gap:10px}.count-note{margin-bottom:20px}.room-people{grid-template-columns:1fr;gap:20px}.presence-item{flex-wrap:nowrap}.presence-item .presence-state{margin-left:0;max-width:115px}.quick-join .section-title{align-items:flex-start}.quick-join #ownPlan{max-width:46%;text-align:right}.arrival-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.arrival-options button{font-size:12px;padding:10px 4px;gap:4px}.arrival-options button svg{width:14px;height:14px}.wish-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.wish-options button{font-size:12px;padding:10px 8px}.game-choices>summary{font-size:13px;gap:8px}.game-choices>summary span{font-size:11px}.count-note{font-size:10px}.own{flex-wrap:wrap}.own .presence-state{margin-left:44px}}
.night-summary .current-who{flex-basis:100%;font-size:12px;color:#b5b8be;line-height:1.6;overflow-wrap:anywhere}.other-readiness{margin-top:16px}.other-readiness>summary{padding:12px 0;min-height:44px;font-size:12px;color:var(--muted);cursor:pointer}.other-readiness>.ready-games{padding-top:14px}.room-members{border-top:1px solid var(--border);padding:24px 0;margin-bottom:16px}.night-summary{gap:14px}.quick-join{margin-top:0}.presence-state{overflow-wrap:anywhere}
.date small{word-break:keep-all}@media(max-width:580px){.date small{max-width:130px}.page-heading{gap:12px}}
.quick-join{border-top:1px solid var(--border);padding:22px 0 16px}.quick-join h2{font-size:19px}.quick-step{font-size:12px;color:#b5b9bf;margin:16px 0 8px}.wish-options{margin-top:0}.own-plan{font-size:13px;line-height:1.7;color:#d5d9de;margin:16px 0 8px;overflow-wrap:anywhere}.quick-detail{font-size:12px;color:var(--muted)}.quick-detail summary{min-height:36px;padding:9px 0;cursor:pointer;width:fit-content;max-width:100%;overflow-wrap:anywhere}.quick-detail summary svg{width:14px;height:14px;vertical-align:middle;margin-right:5px}.quick-detail form{max-width:480px;padding:8px 0 16px}.quick-detail form>.quiet{display:inline-flex;align-items:center;gap:8px;margin-top:12px}#commentSummary{display:inline-block;vertical-align:middle;max-width:calc(100% - 28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-choices{margin-bottom:20px}.game-choices>summary{font-size:12px;padding:10px 0;min-height:44px}.night-dashboard{padding:24px 0 16px}.night-dashboard>h2{font-size:18px;margin:0 0 18px}.ready-games{gap:14px;align-items:start}.ready-game{display:block;background:#191b1d;border:1px solid #33373b;border-radius:6px;min-width:0;padding:18px}.ready-game h2{font-size:13px;color:#c4c8ce;margin:0 0 10px}.readiness-outcome{border:0;padding:0;margin:0 0 10px;font-size:22px;line-height:1.45;font-weight:700;color:#f0f2f4;overflow-wrap:anywhere}.ready-game.ready{border-color:#527660}.ready-game.ready .readiness-outcome{font-size:25px;color:#a1dbb7}.ready-game.scheduled{border-color:#6a604c}.ready-game.scheduled .readiness-outcome{color:#e1c78f}.ready-game.near{border-color:#a34c59}.ready-game.near .readiness-outcome{color:#ff98a5}.ready-game.quiet{padding:14px 18px;background:#141618;border-color:#2c2f33}.ready-game.quiet .readiness-outcome{font-size:16px;color:#a8adb4}.readiness-count{font-size:12px;color:#b1b6be;line-height:1.7;margin:0}.readiness-progress{font-size:11px;line-height:1.9;color:#9299a2;overflow-wrap:anywhere;margin:8px 0 0}.room-summary{border-top:1px solid var(--border);padding:20px 0}.night-summary{margin-bottom:8px;gap:12px}.night-summary h2{font-size:14px}.night-summary strong{font-size:14px}.night-summary>span{font-size:12px;color:#b7bcc3}.night-summary small{font-size:10px}.member-overview{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-overview p{font-size:11px;line-height:1.7;color:var(--muted);margin:0;overflow-wrap:anywhere}.member-overview .quiet{display:flex;align-items:center;gap:6px;border:0;padding:6px 0;font-size:11px;flex-shrink:0}.member-overview svg{width:15px;height:15px}.arrival-warning{font-size:12px;color:#dfc48e;line-height:1.8;padding:10px 0 0;margin:0}.count-note{margin:12px 0 0;font-size:10px}.lower-grid{display:block;padding-top:24px}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:40px}.scrim-entry{padding:0}.scrim-entry h2{font-size:21px}.scrim-readiness{display:grid;gap:12px;padding:16px 0}.scrim-line{min-width:0;flex:initial;gap:8px}.scrim-line .primary{font-size:12px}.connections{border:0}.page-heading{margin-bottom:20px}
.login-page{min-height:100dvh;display:grid;place-items:center}.login-content{text-align:center;width:min(480px,100%);padding:40px 24px}.login-content>.eyebrow{margin-top:24px}.login-content>p:not(.eyebrow){color:var(--muted);line-height:1.8;margin:24px 0}.login-content>.primary{margin:8px 0 16px;min-width:220px}.login-content>small{color:var(--muted)}#loginError{color:#ffa4ae}.account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--border);padding-top:24px;margin-top:24px}.account-actions>span{font-size:12px;color:var(--muted);margin-right:auto}.admin-controls{margin-top:24px;border-top:1px solid var(--border);padding-top:12px}.admin-controls>summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:14px}#registerMemberForm{display:grid;grid-template-columns:1fr 1fr 160px;gap:16px;margin:16px 0}#registerMemberForm>.primary{grid-column:1/-1;justify-self:start;margin:0}#adminMemberList{list-style:none;padding:0;margin:0}#adminMemberList>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.quiet{min-height:44px}[hidden]{display:none!important}.avatar{object-fit:cover}@media(max-width:580px){#registerMemberForm{grid-template-columns:1fr}#adminMemberList>li{flex-wrap:wrap}.account-actions{gap:10px}.account-actions>span{flex-basis:100%}}
@media(max-width:800px){.ready-games{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.ready-games{grid-template-columns:1fr;gap:10px}.ready-game{display:block;padding:14px 16px}.ready-game h2{font-size:12px;margin:0 0 8px;align-self:auto}.readiness-outcome{font-size:20px}.ready-game.ready .readiness-outcome{font-size:22px}.ready-game.quiet{padding:12px 16px}.quick-join #ownPlan{max-width:none;text-align:left}.quick-join h2{font-size:18px}.quick-join .section-title{margin-bottom:12px}.night-summary strong{font-size:14px}.night-summary>span{font-size:12px}.night-summary small{width:auto}.right-column{grid-template-columns:1fr;gap:24px;border:0;padding-top:0}.room-summary{padding:16px 0}.scrim-entry{border-top:1px solid var(--border);padding-top:20px}.member-overview{align-items:flex-start}.page-heading{margin-bottom:16px}.night-dashboard{padding-top:20px}}
#commentDetails>summary{list-style:none}
.quick-detail:not([open]){display:inline-block;margin-right:16px;max-width:100%}#commentDetails>summary{display:flex;align-items:center;gap:6px;width:100%}#commentSummary{flex:1;min-width:0;max-width:none}#commentDetails summary svg{margin:0;flex-shrink:0}.quick-detail[open]{display:block}.game-choices{border-top:0;margin-bottom:12px}.game-choices>summary{font-size:11px;padding:6px 0;min-height:36px}.game-choices>summary::before{font-size:16px}
@media(max-width:580px){.page-heading .eyebrow,.page-heading h1 span{display:none}main{padding-top:20px}.page-heading{align-items:center}.wish-options{grid-template-columns:repeat(4,minmax(0,1fr))}.wish-options button{font-size:11px;padding:8px 3px}.quick-step{margin-top:12px}.quick-join{padding-top:18px;padding-bottom:12px}.night-dashboard{padding-top:18px}}
.own-plan{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Lounge surfaces: a full-width operation band, with restrained lobby and utility panels. */
main { max-width: 1120px; padding-top: var(--space-6); }
.header { padding-inline: max(24px, calc((100% - 1072px) / 2)); background: var(--bg); }
.page-heading { margin-bottom: var(--space-5); }
.page-heading h1 { font-size: 28px; }
.eyebrow { color: var(--text-muted); font-size: 10px; margin-bottom: var(--space-2); }
.quick-join { position: relative; isolation: isolate; border: 0; padding: var(--space-5) 0 var(--space-4); }
.quick-join::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--surface-1); box-shadow: 0 0 0 100vmax var(--surface-1); clip-path: inset(0 -100vmax); }
.quick-join h2 { font-size: 21px; }
.quick-join .section-title { margin-bottom: var(--space-5); }
.quick-step { color: var(--text-secondary); font-size: 12px; font-weight: 600; margin: var(--space-4) 0 var(--space-2); }
.arrival-options button, .wish-options button { width: 124px; min-height: 48px; background: var(--surface-2); border-color: var(--border-strong); border-radius: var(--radius-sm); color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.arrival-options button:not(:disabled):hover, .wish-options button:not(:disabled):hover { background: var(--surface-hover); border-color: #8a929c; color: var(--text-primary); }
.arrival-options button[aria-pressed=true], .wish-options button[aria-pressed=true] { background: #3b272d; color: #ffc0c8; border-color: #d86070; font-weight: 750; box-shadow: inset 0 -2px 0 #d86070; }
.arrival-options button[data-arrival=now][aria-pressed=true] { background: #263b30; color: var(--status-ready); border-color: #73af8b; box-shadow: inset 0 -2px 0 #73af8b; }
.arrival-options button[aria-pressed=true]:not(:disabled):hover, .wish-options button[aria-pressed=true]:not(:disabled):hover { background: #493039; }
.arrival-options button[data-arrival=now][aria-pressed=true]:not(:disabled):hover { background: #304b3c; }
button:not(:disabled):active, .primary:active { filter: brightness(.88); }
button:disabled { opacity: .5; filter: none; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid #ff9aa7; outline-offset: 3px; }
.own-plan { color: var(--text-primary); font-size: 13px; margin-top: var(--space-5); }
.quick-detail summary, .game-choices>summary { min-height: 44px; color: var(--text-muted); }
.quick-detail summary:hover, .game-choices>summary:hover { color: var(--text-primary); }
.game-choices { margin: var(--space-2) 0 0; }
.night-dashboard { border: 0; padding: var(--space-5) 0 0; }
.night-dashboard>h2 { font-size: 20px; margin-bottom: var(--space-4); }
.ready-games { gap: var(--space-4); }
.ready-game, .ready-game.ready, .ready-game.scheduled, .ready-game.near { background: var(--surface-2); border-color: var(--border); border-radius: var(--radius-md); padding: 22px 20px; }
.ready-game h2 { display: flex; align-items: center; gap: var(--space-2); font-size: 12px; font-weight: 650; color: var(--text-secondary); margin-bottom: var(--space-4); }
.ready-game h2::before { content: ""; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--text-muted); }
.ready-game.ready h2::before { background: var(--status-ready); }
.ready-game.scheduled h2::before { background: var(--status-soon); }
.ready-game.near h2::before { background: var(--brand); }
.readiness-outcome { font-size: 26px; line-height: 1.4; margin-bottom: var(--space-3); font-variant-numeric: tabular-nums; }
.ready-game.ready .readiness-outcome { font-size: 26px; color: var(--status-ready); }
.ready-game.scheduled .readiness-outcome { color: var(--status-soon); }
.readiness-time { font-size: 34px; font-weight: 750; }
.readiness-followup { font-size: 14px; font-weight: 500; margin-left: 6px; }
.ready-game.quiet { background: var(--surface-1); border-color: var(--border); border-radius: var(--radius-md); padding: 18px 20px; }
.ready-game.quiet .readiness-outcome { color: var(--text-secondary); font-size: 17px; }
.readiness-count { color: var(--text-secondary); font-size: 14px; font-variant-numeric: tabular-nums; }
.readiness-progress { color: var(--text-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.count-note { font-size: 11px; margin-top: var(--space-3); }
.room-summary { border: 0; padding: var(--space-5) 0; margin-top: var(--space-2); }
.night-summary { gap: var(--space-4); margin-bottom: var(--space-1); }
.night-summary h2 { color: var(--text-secondary); font-size: 13px; font-weight: 500; }
.night-summary strong { font-size: 14px; color: var(--status-ready); font-variant-numeric: tabular-nums; }
.night-summary strong::before { width: 6px; height: 6px; margin-right: 8px; }
.night-summary>span { font-size: 13px; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.member-overview .quiet { padding-inline: var(--space-2); border-radius: var(--radius-sm); }
.member-overview .quiet:hover { background: var(--surface-hover); }
.lower-grid { border: 0; padding-top: var(--space-3); }
.right-column { gap: var(--space-4); }
.connections, .scrim-entry { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-5); }
.connections .section-title { margin-bottom: var(--space-2); }
.connections h2, .scrim-entry h2 { font-size: 20px; }
.connection { padding: var(--space-3) 0; gap: var(--space-3); }
.connection p { color: var(--text-muted); line-height: 1.6; }
.service-icon { background: var(--surface-2); border: 0; border-radius: var(--radius-sm); }
.icon { min-height: 44px; min-width: 44px; border-radius: var(--radius-sm); }
.connection .icon:not(:disabled) { background: var(--surface-2); border-color: var(--border-strong); }
.icon:not(:disabled):hover { background: var(--surface-hover); }
.primary, .quiet { border-radius: var(--radius-sm); }
.primary { background: var(--brand-action); border-color: var(--brand-action); }
.primary:hover { background: var(--brand-action-hover); border-color: var(--brand-action-hover); }
.scrim-entry>.primary { margin-top: var(--space-2); }
.scrim-entry { display: flex; flex-direction: column; align-items: flex-start; }
.scrim-entry>.primary { margin-top: auto; }
input, select { background: var(--surface-2); border-color: var(--border-strong); border-radius: var(--radius-sm); color: var(--text-primary); }
input::placeholder { color: var(--text-muted); }
dialog, .member-drawer, .drawer-heading { background: var(--surface-1); color: var(--text-primary); }
.drawer-heading { border-bottom: 0; }
.drawer-group>h3 { color: var(--text-secondary); font-size: 12px; margin-bottom: var(--space-2); }
.directory-card { border-radius: var(--radius-sm); padding: var(--space-3) var(--space-2); }
.directory-card:hover { background: var(--surface-hover); border-color: transparent; }
.directory-card:focus-visible { background: var(--surface-2); outline-offset: -2px; }
.directory-card.rest { opacity: 1; }
.drawer-member-status, .drawer-member-games { color: var(--text-muted); }
.avatar { border: 1px solid #625057; }
.header-actions .profile { min-width: 44px; justify-content: center; border-radius: var(--radius-sm); }
.profile:hover { background: var(--surface-hover); }
.game:hover { transform: none; }
footer { color: var(--text-muted); margin-top: var(--space-6); }
@media (max-width: 800px) {
  .header { padding-inline: 20px; }
  .ready-game, .ready-game.ready, .ready-game.scheduled, .ready-game.near { padding: 20px 18px; }
}
@media (max-width: 580px) {
  main { padding: var(--space-5) 16px 0; }
  .header { padding-inline: 16px; }
  .page-heading { margin-bottom: var(--space-5); }
  .page-heading h1 { font-size: 24px; }
  .quick-join { padding: 20px 0 12px; }
  .quick-join h2 { font-size: 19px; }
  .quick-join .section-title { margin-bottom: var(--space-4); }
  .arrival-options, .wish-options { gap: 6px; }
  .arrival-options button, .wish-options button { width: 100%; min-width: 0; }
  .arrival-options button { font-size: 12px; padding: 8px 4px; }
  .wish-options button { font-size: 11px; padding: 8px 2px; }
  .night-dashboard { padding-top: var(--space-5); }
  .night-dashboard>h2 { font-size: 19px; }
  .ready-game, .ready-game.ready, .ready-game.scheduled, .ready-game.near { padding: 18px; }
  .ready-game h2 { margin-bottom: var(--space-3); }
  .readiness-outcome, .ready-game.ready .readiness-outcome { font-size: 24px; }
  .readiness-time { font-size: 32px; }
  .ready-game.quiet { padding: 16px 18px; }
  .room-summary { padding: var(--space-5) 0; }
  .night-summary { gap: 10px; }
  .night-summary small { flex-basis: 100%; margin-left: 0; }
  .member-overview { align-items: center; }
  .connections, .scrim-entry { padding: 20px 18px; }
  .scrim-entry>.primary { margin-top: var(--space-2); }
  .right-column { gap: var(--space-4); }
}
