:root{--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-sans:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Instrument Serif", "Times New Roman", serif;--font-display:var(--font-mono);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--yes:#3ecf8e;--maybe:#f5a623;--no:#ff5e8a;--aurora-violet:#7c5cff;--aurora-rose:#ff5e8a;--aurora-amber:#f5a623;--aurora-mint:#3ecf8e}[data-theme=dark]{--bg:#05070d;--grid:#78c8ff12;--surface:#121c308c;--surface-2:#121c3059;--surface-solid:#0b1222;--surface-solid-2:#121c30;--surface-solid-3:#1a2540;--ink:#dce6ff;--muted:#7f8ba8;--faint:#dce6ff4d;--border:#78c8ff38;--border-bright:#4ad6ffe6;--accent:#4ad6ff;--aurora-cyan:#4ad6ff;--accent-line:#4ad6ff80;--glow:#7c5cff;--shadow:0 0 0 1px #4ad6ff1a inset, 0 12px 40px #0000008c;--shadow-soft:0 8px 28px #00000073;--glass-shadow:#0000008c;--ink-0:var(--bg);--ink-1:var(--surface-solid);--ink-2:var(--surface-solid-2);--ink-3:var(--surface-solid-3);--text-1:var(--ink);--text-2:#aeb9d4;--text-3:var(--muted);--text-mute:var(--faint);--glass:#121c3080;--glass-2:#121c3052;--glass-tint:#ffffff0d;--glass-tint-strong:#ffffff17;--glass-edge:var(--border);--glass-edge-bright:var(--border-bright);--primary-color:var(--accent);--on-accent:#04121a;--field-bg:#00000047;--field-bg-focus:#0000006b;--note-bg:#00000047}[data-theme=light]{--bg:#eef2f8;--grid:#4678c81a;--surface:#ffffffd1;--surface-2:#fff9;--surface-solid:#fff;--surface-solid-2:#f4f7fc;--surface-solid-3:#e6ecf5;--ink:#0a0f1c;--muted:#46556f;--faint:#0a0f1c57;--border:#0a0f1c29;--border-bright:#4ad6ff99;--accent:#0094c6;--aurora-cyan:#0094c6;--accent-line:#0094c666;--glow:#7c5cff;--shadow:0 1px 0 #fff9 inset, 0 10px 30px #1e3c6e1f;--shadow-soft:0 8px 24px #1e3c6e1a;--glass-shadow:#1e3c6e1f;--ink-0:var(--bg);--ink-1:var(--surface-solid);--ink-2:var(--surface-solid-2);--ink-3:var(--surface-solid-3);--text-1:var(--ink);--text-2:#3a4a66;--text-3:var(--muted);--text-mute:var(--faint);--glass:#ffffffc7;--glass-2:#ffffff8c;--glass-tint:#0a0f1c0a;--glass-tint-strong:#0a0f1c12;--glass-edge:var(--border);--glass-edge-bright:var(--border-bright);--primary-color:var(--accent);--on-accent:#fff;--field-bg:#ffffffb3;--field-bg-focus:#ffffffeb;--note-bg:#0a0f1c0a}*{box-sizing:border-box}html,body{min-height:100vh;margin:0;padding:0}html{font-family:var(--font-mono)}body{font-family:var(--font-mono);color:var(--text-1);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;isolation:isolate;transition:background .4s,color .4s;position:relative;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:36px 36px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 0,#000,#0000 78%);mask-image:radial-gradient(90% 70% at 50% 0,#000,#0000 78%)}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 55%), radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--glow) 14%, transparent), transparent 60%);position:fixed;inset:0}#root{min-height:100vh}.app{width:92%;max-width:1120px;margin:0 auto;padding:28px 22px 96px;position:relative}.app.wide{width:92%;max-width:1120px}.container{width:100%}.container.narrow{width:92%;max-width:640px;margin:0 auto}.container h1,.page-title{font-family:var(--font-mono);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-1);margin:0 0 6px;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:600;line-height:1.05;animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.container h1:before,.page-title:before{content:"> ";color:var(--accent)}.container h1+p{color:var(--text-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;margin:0 0 32px;font-size:11px}.container h1+p:before{content:"// ";color:var(--accent)}.page-sub{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin:10px 0 28px;font-size:11px}.page-sub:before{content:"// ";color:var(--accent)}header{justify-content:space-between;align-items:center;margin-bottom:36px;animation:.6s cubic-bezier(.2,.7,.2,1) both rise;display:flex}header h1{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--text-1);align-items:center;gap:10px;margin:0;font-size:22px;font-weight:600;display:flex}header h1:before{content:"";background:var(--aurora-mint);width:10px;height:10px;box-shadow:0 0 12px var(--aurora-mint), 0 0 0 3px color-mix(in srgb, var(--aurora-mint) 22%, transparent);border-radius:50%;animation:2.4s ease-in-out infinite pulse}header h1 .dot,.topbar .wordmark .dot{color:var(--accent);margin:0 2px;animation:1.1s steps(2,end) infinite blink;display:inline-block}@keyframes pulse{0%,to{box-shadow:0 0 12px var(--aurora-mint), 0 0 0 3px color-mix(in srgb, var(--aurora-mint) 22%, transparent)}50%{box-shadow:0 0 18px var(--aurora-mint), 0 0 0 6px color-mix(in srgb, var(--aurora-mint) 6%, transparent)}}@keyframes blink{50%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.user{font-family:var(--font-mono);color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;font-size:12px;display:flex}.user img{border-radius:var(--radius-sm);border:1px solid var(--glass-edge);width:36px;height:36px;box-shadow:0 4px 12px #0006}.user button{border:1px solid var(--glass-edge);color:var(--text-2);border-radius:var(--radius-sm);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;padding:6px 12px;font-size:11px;transition:all .2s}.user button:hover{border-color:var(--border-bright);color:var(--text-1);background:var(--glass-tint);box-shadow:0 0 12px var(--accent-line)}button{font:inherit;cursor:pointer}.btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-1);background:var(--glass-tint);border:1px solid var(--glass-edge);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-soft);padding:11px 20px;font-size:12px;font-weight:600;transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,border-color .18s,background .18s;position:relative;overflow:hidden}.btn:hover{border-color:var(--border-bright);box-shadow:var(--shadow-soft), 0 0 16px var(--accent-line);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);text-shadow:none;box-shadow:0 0 18px var(--accent-line), inset 0 0 12px #ffffff4d}.btn-primary:hover{box-shadow:0 0 30px color-mix(in srgb, var(--accent) 70%, transparent), inset 0 0 12px #fff6;border-color:var(--accent);background:var(--accent)}.btn-danger{background:var(--no);border-color:var(--no);color:#1a0308;text-shadow:none;box-shadow:0 0 18px color-mix(in srgb, var(--no) 55%, transparent), inset 0 0 12px #ffffff40}.btn-danger:hover{box-shadow:0 0 30px color-mix(in srgb, var(--no) 70%, transparent), inset 0 0 12px #fff6;border-color:var(--no);background:var(--no)}.btn-secondary{background:var(--glass-tint);border:1px solid var(--glass-edge);color:var(--text-1)}.btn-secondary:hover{background:var(--glass-tint-strong)}.icon-btn{z-index:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--glass-tint);width:30px;height:30px;color:var(--text-3);font-family:var(--font-mono);cursor:pointer;place-items:center;font-size:13px;line-height:1;transition:color .18s,border-color .18s,box-shadow .18s,background .18s;display:grid;position:absolute;top:8px;right:8px}.icon-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--glass-tint-strong);box-shadow:0 0 14px var(--accent-line)}.card,.glass{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(14px)saturate(140%);box-shadow:var(--shadow);position:relative;overflow:hidden}.card{border-radius:var(--radius-lg);margin-bottom:16px;padding:22px 24px;transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .22s;animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.card:before,.glass:before{content:"";border-top:1px solid var(--accent);border-left:1px solid var(--accent);pointer-events:none;width:14px;height:14px;position:absolute;top:0;left:0}.card:after,.glass:after{content:"";border-bottom:1px solid var(--accent);border-right:1px solid var(--accent);pointer-events:none;width:14px;height:14px;position:absolute;bottom:0;right:0}.card:hover{border-color:var(--border-bright);box-shadow:var(--shadow), 0 0 26px var(--accent-line);transform:translateY(-2px)}.card:first-child{animation-delay:40ms}.card:nth-child(2){animation-delay:.1s}.card:nth-child(3){animation-delay:.16s}.card:nth-child(4){animation-delay:.22s}.card:nth-child(5){animation-delay:.28s}.card:nth-child(n+6){animation-delay:.32s}.card h3{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--text-1);align-items:center;gap:10px;margin:0 0 8px;font-size:16px;font-weight:600;display:flex}.card h3:before{content:"";background:linear-gradient(180deg, var(--glow), var(--accent));width:4px;height:18px;box-shadow:0 0 8px var(--accent-line);border-radius:2px}.card .meta{color:var(--text-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:11px;display:flex}.card .meta .badge,.badge{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-xs);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border:1px solid var(--accent-line);padding:2px 7px;font-size:9px}.badge.public{color:var(--yes);border-color:color-mix(in srgb, var(--yes) 50%, transparent);background:color-mix(in srgb, var(--yes) 12%, transparent)}.card .meta .badge{margin-left:4px}.card-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}a.card-head{color:inherit;text-decoration:none}a.card-head:hover h3{text-decoration:underline}.card-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--accent-line);width:48px;height:48px;box-shadow:0 0 14px var(--accent-line);flex:none}.card-thumb.placeholder{font-family:var(--font-mono);color:var(--on-accent);background:linear-gradient(135deg, var(--accent), var(--glow));place-items:center;font-size:18px;font-weight:600;display:grid}.card-head-text{flex:1;min-width:0}.card-head-text h3{margin:0 0 5px;display:block}.card-head-text h3:before{display:none}.card-head-text .meta{margin-bottom:0}.card .notes,.notes{color:var(--text-1);font-family:var(--font-mono);background:var(--note-bg);border-radius:var(--radius-sm);white-space:pre-wrap;border:1px solid var(--border);border-left:2px solid var(--accent);margin-bottom:14px;padding:12px 14px;font-size:13px;line-height:1.55}.home-section{margin-bottom:32px}.home-section-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);align-items:center;gap:10px;margin:0 0 14px;font-size:11px;display:flex}.home-section-title:before{content:"[";color:var(--accent)}.home-section-title:after{content:"";background:linear-gradient(90deg, var(--accent-line), transparent);flex:1;height:1px}.home-empty{color:var(--text-mute);border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--glass-tint);margin:0;padding:14px 16px;font-size:13px}.home-rows{flex-direction:column;gap:10px;display:flex}.home-toggle{margin-top:12px;font-size:12px}.session-row{text-align:left;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(12px);width:100%;box-shadow:var(--shadow-soft);cursor:pointer;font-family:var(--font-mono);color:var(--text-1);align-items:center;gap:14px;padding:14px 16px;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.session-row:hover{border-color:var(--border-bright);box-shadow:var(--shadow-soft), 0 0 22px var(--accent-line);transform:translateY(-2px)}.session-row:before{content:"";background:var(--accent);width:2px;height:26px;box-shadow:0 0 8px var(--accent);opacity:0;transition:opacity .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.session-row:hover:before{opacity:1}.session-row-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:42px;height:42px}.session-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.session-row-game{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em;font-size:14px;font-weight:600}.session-row-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.session-row .badge{flex:none}.counts{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:10px;display:flex}.counts span{border-radius:var(--radius-xs);background:var(--note-bg);border:1px solid var(--border);align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.counts .dot{border-radius:1px;width:6px;height:6px}.counts .dot.yes{background:var(--yes);box-shadow:0 0 8px var(--yes)}.counts .dot.maybe{background:var(--maybe);box-shadow:0 0 8px var(--maybe)}.counts .dot.no{background:var(--no);box-shadow:0 0 8px var(--no)}.session-invitees{margin-bottom:14px}.session-invitees-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:8px;font-size:11px}.session-invitees ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.invitee-row{border-radius:var(--radius-sm);background:var(--note-bg);border:1px solid var(--border);font-family:var(--font-mono);align-items:center;gap:12px;padding:7px 12px;font-size:12px;display:flex}.invitee-status-dot{border-radius:1px;flex:none;width:8px;height:8px}.invitee-status-dot.yes{background:var(--yes);box-shadow:0 0 8px var(--yes)}.invitee-status-dot.maybe{background:var(--maybe);box-shadow:0 0 8px var(--maybe)}.invitee-status-dot.no{background:var(--no);box-shadow:0 0 8px var(--no)}.invitee-status-dot.none{background:var(--faint)}.invitee-handle{color:var(--text-1)}.invitee-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin-left:auto;font-size:10px}.rsvp{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.rsvp button{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;padding:11px 0;font-size:11px;font-weight:600;transition:all .2s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}.rsvp button:hover{border-color:var(--border-bright);color:var(--text-1)}.rsvp button.active{border-color:#0000;font-weight:700;transform:translateY(-1px)}.rsvp button.active.yes{background:var(--yes);color:#04130c;box-shadow:0 0 22px color-mix(in srgb, var(--yes) 65%, transparent)}.rsvp button.active.maybe{background:var(--maybe);color:#1a1000;box-shadow:0 0 22px color-mix(in srgb, var(--maybe) 65%, transparent)}.rsvp button.active.no{background:var(--no);color:#1a0008;box-shadow:0 0 22px color-mix(in srgb, var(--no) 65%, transparent)}.form{flex-direction:column;gap:20px;display:flex}.form label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);flex-direction:column;gap:8px;font-size:11px;display:flex}.form label>input[type=text],.form label>input:not([type]),.form label>input[type=file],.form input,.form select,.form textarea,.input{font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--field-bg);color:var(--text-1);padding:12px 14px;font-size:15px;transition:all .2s}.form input::placeholder,.form textarea::placeholder{color:var(--text-mute)}.form input:focus,.form select:focus,.form textarea:focus,.input:focus{border-color:var(--accent);background:var(--field-bg-focus);box-shadow:0 0 0 3px var(--accent-line), inset 0 0 0 1px var(--accent);outline:none}.form textarea{resize:vertical;min-height:100px}.form select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%234ad6ff' opacity='0.7' d='M1 1l5 5 5-5'/></svg>");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form select option{background:var(--ink-2);color:var(--text-1)}.form label.checkbox{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--field-bg);text-transform:none;letter-spacing:.04em;color:var(--text-1);font-size:14px;font-family:var(--font-sans);flex-direction:row;align-items:center;gap:12px;padding:12px 14px}.form label.checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.form input[type=file]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);cursor:pointer;padding:10px;font-size:11px}.form input[type=file]::file-selector-button{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--glass-tint);color:var(--text-1);cursor:pointer;margin-right:12px;padding:8px 14px;font-size:11px;transition:background .2s}.form input[type=file]::file-selector-button:hover{background:var(--glass-tint-strong)}.form-actions{justify-content:flex-end;gap:12px;margin-top:6px;display:flex}.form-actions .btn{justify-content:center;align-items:center;padding:12px 24px;text-decoration:none;display:inline-flex}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-hint{color:var(--text-3)}.datetime-field{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--field-bg);color:var(--text-1);cursor:pointer;padding:12px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s;display:block;position:relative}.datetime-field:focus-within{border-color:var(--accent);background:var(--field-bg-focus);box-shadow:0 0 0 3px var(--accent-line)}.datetime-field:has(.datetime-field-input:disabled){opacity:.6;cursor:default}.datetime-field .datetime-field-input{opacity:0;color:#0000;cursor:pointer;background:0 0;border:0;width:100%;height:100%;font-size:15px;position:absolute;inset:0}@media (pointer:fine){.datetime-field .datetime-field-input{pointer-events:none}}.datetime-field .datetime-field-display{pointer-events:none;font-family:var(--font-sans);color:var(--text-1)}.datetime-field .datetime-field-icon{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--glass-tint);width:28px;height:28px;color:var(--text-2);justify-content:center;align-items:center;font-size:14px;transition:background .2s,border-color .2s;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.datetime-field .datetime-field-icon:hover{background:var(--glass-tint-strong);border-color:var(--border-bright);color:var(--text-1)}.datetime-field .datetime-field-icon:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.datetime-field:has(.datetime-field-input:disabled) .datetime-field-icon{cursor:default}.datetime-time{border-top:1px solid var(--border);justify-content:center;margin-top:10px;padding-top:12px;display:flex}.react-aria-DateSegment{font-variant-numeric:tabular-nums;text-align:end;color:var(--text-1);-webkit-tap-highlight-color:transparent;border-radius:4px;padding:1px 3px}.react-aria-DateSegment[data-type=literal]{color:var(--text-3);padding:0}.react-aria-DateSegment[data-placeholder]{color:var(--text-3)}.react-aria-DateSegment:focus{background:var(--accent);color:var(--on-accent);caret-color:#0000;outline:none}.react-aria-DateSegment[data-disabled]{color:var(--text-mute);cursor:default}.datetime-popover{background:var(--surface-solid);border:1px solid var(--glass-edge);border-radius:var(--radius-lg);box-shadow:var(--shadow), 0 0 24px color-mix(in srgb, var(--glow) 18%, transparent);min-width:280px;padding:16px}.datetime-dialog{outline:none}.datetime-calendar{flex-direction:column;gap:10px;width:100%;display:flex}.datetime-calendar>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.datetime-calendar .react-aria-CalendarHeading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-1);margin:0;font-size:13px;font-weight:600}.datetime-calendar .react-aria-Button{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--glass-tint);width:28px;height:28px;color:var(--text-2);cursor:pointer;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .2s,border-color .2s,transform .1s;display:inline-flex}.datetime-calendar .react-aria-Button:hover{background:var(--glass-tint-strong);border-color:var(--border-bright);color:var(--text-1)}.datetime-calendar .react-aria-Button[data-pressed]{transform:scale(.94)}.datetime-calendar .react-aria-Button:disabled{opacity:.4;cursor:not-allowed}.datetime-calendar-grid{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.datetime-calendar-grid th,.datetime-calendar-grid td{text-align:center;padding:2px;font-size:13px}.datetime-calendar-grid th{color:var(--text-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;padding-bottom:6px;font-size:11px;font-weight:500}.datetime-calendar-cell{border-radius:var(--radius-sm);width:36px;height:32px;color:var(--text-1);cursor:pointer;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s}.datetime-calendar-cell:hover{background:var(--glass-tint-strong)}.datetime-calendar-cell[data-today]{border-color:var(--accent-line)}.datetime-calendar-cell[data-focused]{outline:2px solid var(--accent);outline-offset:-2px}.datetime-calendar-cell[data-selected]{background:var(--accent);color:var(--on-accent);border-color:#0000;font-weight:600}.datetime-calendar-cell[data-outside-month]{color:var(--text-mute)}.datetime-calendar-cell[data-unavailable],.datetime-calendar-cell[data-disabled]{color:var(--text-mute);cursor:not-allowed;text-decoration:line-through}.datetime-calendar-cell[data-unavailable]:hover,.datetime-calendar-cell[data-disabled]:hover{background:0 0}.login-wrap{place-items:center;min-height:100vh;padding:clamp(24px,5vw,48px);display:grid}.login{background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(140%);border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;max-width:480px;box-shadow:var(--shadow), 0 0 64px color-mix(in srgb, var(--accent) 9%, transparent);text-align:center;padding:44px 36px 36px;animation:.7s cubic-bezier(.2,.7,.2,1) both rise;position:relative;overflow:hidden}@media (width>=560px){.login{padding:56px 48px 44px}}.login:before{content:"";border-top:1px solid var(--accent);border-left:1px solid var(--accent);width:22px;height:22px;position:absolute;top:0;left:0}.login:after{content:"";border-bottom:1px solid var(--accent);border-right:1px solid var(--accent);width:22px;height:22px;position:absolute;bottom:0;right:0}.login .eyebrow,.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.25em;color:var(--accent);text-shadow:0 0 12px var(--accent-line);margin-bottom:18px;font-size:11px}.login h2{font-family:var(--font-serif);color:var(--text-1);letter-spacing:-.02em;margin:0 0 22px;font-size:clamp(34px,7vw,46px);font-style:italic;font-weight:400;line-height:1.05}.login p{color:var(--text-2);margin:0 0 26px;font-size:15px;line-height:1.6}.login-buttons{flex-direction:column;gap:14px;display:flex}.login .btn{width:100%}.login .btn-google{color:#1a1a1a;text-shadow:none;background:linear-gradient(135deg,#fff 0%,#f0f0f5 100%);border-color:#0a0f1c29;box-shadow:inset 0 1px #fffc,0 10px 30px -10px #00000040}.login .btn-google:hover{transform:translateY(-2px)}.login .btn-discord{color:#fff;text-shadow:0 1px 2px #0000004d;background:linear-gradient(135deg,#5865f2 0%,#4752c4 100%);border-color:#fff3;box-shadow:inset 0 1px #ffffff4d,0 10px 30px -10px #5865f280}.login .btn-steam{color:#c7d5e0;text-shadow:0 1px 2px #0006;background:linear-gradient(135deg,#1b2838 0%,#171a21 100%);border:1px solid #4adaff40;box-shadow:inset 0 1px #ffffff0f,0 10px 30px -10px #00000080}.login .btn-steam:hover{border-color:var(--border-bright);color:#66c0f4;transform:translateY(-2px)}.login-divider{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--text-mute);align-items:center;gap:12px;margin:28px 0;font-size:10px;display:flex}.login-divider:before,.login-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--border), transparent);flex:1;height:1px}.login-form{flex-direction:column;gap:14px;display:flex}.login-form input{width:100%}.login-form input::placeholder{color:var(--text-mute)}.login .login-subtle{color:var(--text-mute);text-align:center;margin-top:16px;margin-bottom:0;font-size:12px}.login-subtle a{color:var(--accent);text-shadow:0 0 8px var(--accent-line);text-decoration:none}.login-subtle a:hover{text-decoration:underline}.topbar-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;z-index:101;background:0 0;width:38px;height:38px;padding:8px;display:none;position:relative}.topbar-toggle span{background:var(--accent);width:22px;height:2px;box-shadow:0 0 8px var(--accent-line);margin:0 auto;transition:all .3s cubic-bezier(.4,0,.2,1);display:block;position:relative}.topbar-toggle span:before,.topbar-toggle span:after{content:"";background:var(--accent);width:22px;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;left:0}.topbar-toggle span:before{top:-7px}.topbar-toggle span:after{top:7px}.topbar-toggle span.open{transform:rotate(45deg)}.topbar-toggle span.open:before{top:0;transform:rotate(-90deg)}.topbar-toggle span.open:after{top:0;transform:rotate(90deg)}.theme-toggle{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--glass-tint);width:38px;height:38px;color:var(--accent);flex:none;place-items:center;transition:all .2s;display:grid}.theme-toggle:hover{border-color:var(--accent);box-shadow:0 0 14px var(--accent-line)}.theme-toggle svg{width:18px;height:18px}[data-theme=light] .theme-toggle .i-moon,[data-theme=dark] .theme-toggle .i-sun{display:none}.auth-theme-toggle{z-index:50;position:fixed;top:16px;right:16px}.game-grid{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.game-grid-item{text-align:center;flex-direction:column;padding:12px;display:flex;position:relative}.game-grid-item .schedule-now-btn{width:100%;margin-top:auto;padding:7px 10px;font-size:13px}@media (width<=720px){.game-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.game-grid{grid-template-columns:1fr}}.about-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:12px;font-size:11px}.about-intro{color:var(--text-2);font-size:16px;line-height:1.6;font-family:var(--font-sans);margin:12px 0 36px}.about-list{color:var(--text-2);line-height:1.7;font-family:var(--font-sans);margin:8px 0 0;padding-left:18px}.about-list a,.about-tip a,.about-intro a{color:var(--accent);text-shadow:0 0 8px var(--accent-line);text-decoration:none}.about-list a:hover,.about-tip a:hover,.about-intro a:hover{text-decoration:underline}.about-tip{color:var(--text-3);font-size:13px;font-family:var(--font-mono);margin-top:14px}.about-footer{text-align:center;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--text-mute);margin-top:36px;font-size:11px}.game-data-search-wrap{gap:8px;display:flex}.game-data-info h4{margin:0 0 6px}.game-data-info .muted-meta{margin:4px 0}.game-data-info .description{margin-top:8px;font-size:.9em}.game-data-actions{gap:8px;margin-top:10px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:16px 0 28px;animation:.5s cubic-bezier(.2,.7,.2,1) .1s both rise;display:flex}.toolbar h2,.toolbar h1{font-family:var(--font-mono);color:var(--text-1);letter-spacing:-.01em;text-transform:uppercase;margin:0;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:600;line-height:1}.toolbar h2:before,.toolbar h1:before{content:"> ";color:var(--accent)}.toolbar h2 small,.toolbar h1 small{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;margin-top:10px;font-size:11px;font-weight:400;display:block}.toolbar h2 small:before,.toolbar h1 small:before{content:"// ";color:var(--accent)}@media (width<=540px){.toolbar{flex-direction:column;align-items:flex-start;gap:16px}.toolbar .btn{text-align:center;width:100%}}.empty{text-align:center;color:var(--text-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--glass-tint);padding:64px 24px;font-size:12px}.empty:before{content:"◇";color:var(--text-mute);margin-bottom:14px;font-size:36px;display:block}.error{color:var(--no);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:color-mix(in srgb, var(--no) 10%, transparent);border:1px solid color-mix(in srgb, var(--no) 40%, transparent);border-left:2px solid var(--no);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 14px;font-size:12px}.success{color:var(--yes);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:color-mix(in srgb, var(--yes) 10%, transparent);border:1px solid color-mix(in srgb, var(--yes) 40%, transparent);border-left:2px solid var(--yes);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 14px;font-size:12px}.info{font-family:var(--font-mono);color:var(--text-2);background:var(--glass-tint);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 14px;font-size:12px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-tint-strong);background-clip:padding-box;border:2px solid #0000;border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--accent-line);background-clip:padding-box}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px)saturate(140%);background:color-mix(in srgb, var(--bg) 62%, transparent);border-bottom:1px solid var(--border);align-items:center;gap:18px;max-width:1120px;margin:0 auto;padding:14px 22px;animation:.6s cubic-bezier(.2,.7,.2,1) backwards rise;display:flex;position:sticky;top:0}.app.wide~.topbar,.topbar.wide{max-width:1120px}.topbar .wordmark{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-1);white-space:nowrap;text-shadow:0 0 12px color-mix(in srgb, var(--accent) 40%, transparent);flex:none;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.topbar .wordmark .logo{width:auto;height:34px;display:block}[data-theme=light] .topbar .wordmark .logo{content:url(/logo-light.png)}.topbar .badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--accent);border-radius:var(--radius-xs);border:1px solid var(--accent-line);background:color-mix(in srgb, var(--accent) 12%, transparent);text-shadow:0 0 8px var(--accent-line);flex:none;padding:4px 10px;font-size:10px}.topbar-nav{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:18px;margin-left:auto;font-size:11px;display:flex}.topbar-nav a{color:var(--text-3);padding:4px 2px;text-decoration:none;transition:color .2s,text-shadow .2s;position:relative}.topbar-nav a:hover{color:var(--text-1)}.topbar-nav a.active{color:var(--accent);text-shadow:0 0 12px var(--accent-line)}.topbar-nav a.active:after{content:"";background:var(--accent);height:1px;box-shadow:0 0 8px var(--accent);position:absolute;bottom:-2px;left:0;right:0}.topbar-nav .who{color:var(--text-2);border-left:1px solid var(--border);align-items:center;gap:8px;padding-left:18px;display:inline-flex}.topbar-right{flex:none;align-items:center;gap:12px;display:flex}.game-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.game-row{grid-template-columns:80px 1fr auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.game-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);width:80px;height:128px;box-shadow:var(--shadow-soft);background:linear-gradient(135deg, var(--surface-solid-2), var(--surface-solid-3))}.game-thumb.placeholder{font-family:var(--font-serif);color:var(--text-mute);text-transform:uppercase;background:linear-gradient(135deg, color-mix(in srgb, var(--glow) 18%, transparent), color-mix(in srgb, var(--accent) 12%, transparent));border:1px solid var(--accent-line);place-items:center;font-size:38px;font-style:italic;display:grid}.game-meta{min-width:0}.game-meta strong{font-family:var(--font-mono);color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;font-size:15px;font-weight:600;display:block;overflow:hidden}.game-meta .muted,.muted,.muted-meta{font-family:var(--font-mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.game-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.link{font:inherit;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);cursor:pointer;appearance:none;background:0 0;border:none;padding:4px 0;font-size:11px;text-decoration:none;transition:color .2s;display:inline-block;position:relative}.link:after{content:"";opacity:0;background:currentColor;height:1px;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.link:hover{color:var(--accent)}.link:hover:after{opacity:.6}.link.danger{color:var(--no)}.link.danger:hover{color:#ff7a8a}.link.primary-link{color:var(--accent);text-shadow:0 0 8px var(--accent-line);font-size:12px}.link.primary-link:hover{color:var(--border-bright)}.add-game-cta{border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;box-shadow:0 0 18px var(--accent-line), inset 0 0 12px #ffffff4d;align-items:center;gap:8px;margin-bottom:28px;padding:11px 20px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex}.add-game-cta:hover{box-shadow:0 0 30px color-mix(in srgb, var(--accent) 70%, transparent);color:var(--on-accent);transform:translateY(-1px)}.card-actions{border-top:1px dashed var(--border);gap:16px;margin-top:14px;padding-top:14px;display:flex}.game-data-section input[type=search]{background:var(--field-bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-1);font-family:var(--font-mono);margin-bottom:12px;padding:11px 14px;font-size:13px}.game-data-section input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-line);outline:none}.game-data-results{grid-template-columns:repeat(5,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (width<=720px){.game-data-results{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.game-data-results{grid-template-columns:1fr}}.game-data-result{background:var(--glass-tint);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:inherit;text-align:left;flex-direction:column;gap:6px;padding:6px;font-family:inherit;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.game-data-result:hover:not(:disabled){background:var(--glass-tint-strong);border-color:var(--accent);box-shadow:0 0 14px var(--accent-line)}.game-data-result img{border-radius:8px;width:100%;display:block}.game-data-result-text{font-size:12px;line-height:1.3}.game-data-picked{grid-template-columns:180px 1fr;align-items:start;gap:18px;display:grid}.game-data-cover{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--accent-line);width:180px;box-shadow:0 0 18px var(--accent-line), var(--shadow-soft)}.game-data-info h4{font-family:var(--font-mono);color:var(--text-1);text-transform:uppercase;letter-spacing:.02em;font-weight:600}@media (width<=480px){.game-data-picked{grid-template-columns:1fr}.game-data-cover{width:120px;margin:0 auto}}.modal-backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(8px)saturate(140%);z-index:100;justify-content:center;align-items:center;animation:.14s ease-out rollcall-fade;display:flex;position:fixed;inset:0}@keyframes rollcall-fade{0%{opacity:0}to{opacity:1}}.modal{border-radius:var(--radius-lg);background:var(--surface-solid);border:1px solid var(--border);width:min(440px,100% - 32px);box-shadow:0 24px 60px -16px #000000b3, inset 0 1px 0 var(--glass-edge-bright);color:var(--text-1);padding:28px 28px 24px;animation:.18s cubic-bezier(.2,.7,.2,1) rollcall-rise;position:relative;overflow:hidden}.modal:before{content:"";border-top:1px solid var(--accent);border-left:1px solid var(--accent);width:14px;height:14px;position:absolute;top:0;left:0}.modal:after{content:"";border-bottom:1px solid var(--accent);border-right:1px solid var(--accent);width:14px;height:14px;position:absolute;bottom:0;right:0}@keyframes rollcall-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal h2{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px;font-size:18px;font-weight:600}.modal p{color:var(--text-2);margin:0 0 22px;line-height:1.55}.modal.urgent{border:2px solid var(--no);box-shadow:0 0 20px color-mix(in srgb, var(--no) 30%, transparent)}.modal p.urgent{color:var(--text-1);font-weight:600}.modal p.urgent .urgent-count{color:var(--no);text-shadow:0 0 12px color-mix(in srgb, var(--no) 50%, transparent);font-size:1.2em}.modal textarea{border-radius:var(--radius-md);background:var(--field-bg);border:1px solid var(--border);width:100%;min-height:120px;color:var(--text-1);font-family:var(--font-sans);resize:vertical;margin-bottom:16px;padding:12px 14px;font-size:14px;line-height:1.5}.modal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-line);outline:none}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.steam-import-modal{width:min(520px,100% - 32px)}.steam-import-selectall{font-family:var(--font-mono);color:var(--text-2);border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;margin-bottom:4px;padding:8px 2px;font-size:12px;display:flex}.steam-import-list{max-height:46vh;margin:4px -6px 16px;padding:0 6px;overflow-y:auto}.steam-import-row{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-1);align-items:center;gap:12px;padding:8px 10px;font-size:14px;transition:background .15s;display:flex}.steam-import-row:hover{background:var(--glass-tint)}input[type=checkbox]{appearance:none;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--field-bg);cursor:pointer;flex:none;width:18px;height:18px;margin:0;transition:background .15s,border-color .15s,box-shadow .15s}input[type=checkbox]:hover{border-color:var(--border-bright)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-line);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%2304121a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5l3.5 3.5L13 5'/></svg>");background-position:50%;background-repeat:no-repeat}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--text-3)}.friend-card{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:14px auto 1fr auto;align-items:center;gap:12px;margin:10px 0;padding:14px 18px;display:grid;position:relative}.friend-card.pending{opacity:.85}.friend-info{min-width:0}.friend-handle{color:var(--text-1);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em}.friend-meta{color:var(--text-3);font-size:.82em;font-family:var(--font-mono);margin-top:2px}.friend-actions{align-items:center;gap:8px;display:flex}.online-dot{background:var(--text-3);border-radius:50%;width:10px;height:10px;display:inline-block}.online-dot.online{background:var(--aurora-mint);box-shadow:0 0 8px var(--aurora-mint), 0 0 0 3px color-mix(in srgb, var(--aurora-mint) 18%, transparent)}.online-dot.offline{background:var(--faint)}.dot-live{color:var(--aurora-mint)}.dot-dead{color:var(--text-3)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:18px 0 10px;display:flex}.tab{color:var(--text-2);cursor:pointer;font:inherit;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:12px}.tab:hover{color:var(--text-1)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);box-shadow:0 4px 12px -8px var(--accent);font-weight:600}.hidden{display:none}.chat-voice-tabs .card{margin-top:0}.search-box{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:8px;margin:12px 0;padding:14px 16px;display:flex}.search-box .input{width:100%}.search-results{flex-direction:column;gap:8px;margin-top:6px;display:flex}.search-box .muted{color:var(--text-3);font-size:.9em}.search-box .error{color:var(--text-3)}.invite-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.invite-friend-list{max-height:320px;margin:12px 0;padding:0;list-style:none;overflow-y:auto}.invite-friend-list li{border-bottom:1px solid var(--border)}.invite-friend-list li:last-child{border-bottom:none}.invite-friend-list .empty{text-align:center;color:var(--text-3);background:0 0;border:none;padding:16px}.invite-friend-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:10px 8px;display:flex}.invite-friend-row:hover{background:var(--glass-tint)}.invite-friend-row input[type=checkbox]{accent-color:var(--accent);margin:0}.invite-friend-handle{color:var(--text-3);font-size:.9em;font-family:var(--font-mono)}.invite-friend-online{color:var(--yes);font-size:.8em;font-family:var(--font-mono);margin-left:auto}.handle-modal input.input{background:var(--field-bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-1);font-size:1.05em;font-family:var(--font-sans);margin:12px 0;padding:12px 14px}.handle-modal input.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-line);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.card,.glass,.session-row,.topbar,.modal-backdrop,.login,.search-box,.friend-card{-webkit-backdrop-filter:none!important;background:var(--surface-solid)!important}}.chat{flex-direction:column;gap:12px;margin-top:16px;display:flex}.chat-status{color:var(--text-mute);font-size:.78rem;font-family:var(--font-mono)}.chat-messages{background:var(--note-bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;max-height:320px;padding:10px;display:flex;overflow-y:auto}.chat-message{background:var(--glass-tint);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-self:flex-start;gap:2px;max-width:80%;padding:7px 11px;display:flex}.chat-message-mine{background:color-mix(in srgb, var(--glow) 18%, transparent);border:1px solid color-mix(in srgb, var(--glow) 40%, transparent);align-self:flex-end}.chat-message-handle{color:var(--text-mute);font-size:.72rem;font-family:var(--font-mono)}.chat-message-meta{align-items:baseline;gap:8px;display:flex}.chat-message-time{font-family:var(--font-mono);color:var(--text-mute);font-size:.68rem}.chat-message-body{color:var(--text-1);word-break:break-word;font-family:var(--font-sans)}.chat-input{gap:8px;display:flex}.chat-input .input{flex:1;min-width:0}.chat-input .btn{flex-shrink:0}.voice{flex-direction:column;gap:12px;margin-top:16px;display:flex}.voice-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.voice-head h3{margin:0}.voice-count{font-family:var(--font-mono);color:var(--text-mute);font-size:.78rem}.voice-participants{background:var(--note-bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;min-height:56px;padding:10px;display:flex}.voice-participants .empty{color:var(--text-mute);font-size:.85rem}.voice-participant{background:var(--glass-tint);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px 10px;display:flex}.voice-dot{background:var(--text-mute);border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:box-shadow 80ms,background 80ms}.voice-speaking .voice-dot{background:var(--accent);animation:1s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 50%, transparent), 0 0 10px var(--glow)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 70%, transparent), 0 0 18px var(--glow)}}.voice-muted .voice-dot{background:var(--no);opacity:.5}.voice-handle{font-family:var(--font-mono);color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.voice-muted .voice-handle{color:var(--text-mute)}.voice-host-badge{font-family:var(--font-mono);color:var(--aurora-amber);border:1px solid color-mix(in srgb, var(--aurora-amber) 40%, transparent);border-radius:var(--radius-xs);padding:1px 6px;font-size:.68rem}.voice-mute-icon{opacity:.8;font-size:.85rem}.voice-make-host{font-family:var(--font-mono);color:var(--text-mute);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;background:0 0;padding:2px 8px;font-size:.7rem}.voice-make-host:hover{color:var(--text-1);border-color:var(--border-bright)}.voice-warning{color:var(--maybe);font-size:.75rem;font-family:var(--font-mono)}.voice-controls{flex-wrap:wrap;gap:8px;display:flex}.voice-join-btn{flex:1}.voice-transmit{border-radius:var(--radius-xs);border:1px solid var(--border);color:var(--text-mute);margin-left:10px;padding:1px 8px;font-size:.68rem}.voice-transmit-on,.voice-va-on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.voice-settings{flex-direction:column;gap:8px;display:flex}.voice-setting-row{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;display:grid}.voice-setting-label{color:var(--text-2);font-size:.8rem}.voice-setting-value{font-family:var(--font-mono);color:var(--accent);font-size:.75rem}.voice-slider{width:100%;accent-color:var(--accent);cursor:pointer;grid-column:1/-1}.voice-recalibrate{align-self:flex-start}.voice-settings-gear{color:var(--text-mute);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px}.voice-settings-gear svg{width:16px;height:16px;display:block}.voice-settings-gear:hover{color:var(--text-1)}.voice-device-select{background:var(--field-bg);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;grid-column:1/-1;padding:6px 8px;font-size:.8rem;transition:border-color .2s,box-shadow .2s}.voice-device-select option{background:var(--surface-solid-2);color:var(--text-1)}[data-theme=light] .voice-device-select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.voice-device-select:hover{border-color:var(--border-bright)}.voice-device-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-line);outline:none}.voice-sink-hint{margin:0;font-size:.75rem}.voice-meter{background:var(--note-bg);border:1px solid var(--border);border-radius:4px;grid-column:1/-1;height:8px;position:relative;overflow:hidden}.voice-meter-fill{background:var(--accent);opacity:.7;transition:width .1s linear;position:absolute;inset:0 auto 0 0}.voice-meter-threshold{background:var(--aurora-amber);width:2px;position:absolute;top:-2px;bottom:-2px}.voice-processing{flex-wrap:wrap;gap:8px;display:flex}.voice-proc-on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.account{width:100%}.account-title{font-family:var(--font-mono);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-1);margin:0 0 18px;font-size:26px;font-weight:600}.account-title:before{content:"> ";color:var(--accent)}.account-banner,.account-card{margin-bottom:16px}.account-card:last-child{margin-bottom:0}.account-card.danger-zone{border-color:color-mix(in srgb, var(--no) 45%, var(--glass-edge))}.account-card.danger-zone .account-sec-h{color:var(--no)}.account-hint{margin:4px 0 14px}.account-sec-h{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-1);margin:0 0 4px;font-size:13px;font-weight:600}.account-help{color:var(--text-3);margin:0 0 14px;font-size:13px;line-height:1.55}.account-caption{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:7px;margin:0 0 6px;font-size:11px;display:flex}.live-dot{background:var(--yes);width:7px;height:7px;box-shadow:0 0 8px var(--yes);border-radius:50%;flex-shrink:0}.account-detected{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--glass-tint);flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;display:flex}.account-detected .tz{font-family:var(--font-mono);color:var(--text-1);font-size:14px}.account-detected .tz .off{color:var(--accent)}.account-detected .save-detected{margin-left:auto}.account-override{flex-direction:column;gap:10px;max-width:360px;display:flex}.account-override .btn{align-self:flex-start}.account-identities{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.account-identities li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--glass-tint);align-items:center;gap:12px;padding:10px 12px;display:flex}.account-identities .badge{border-radius:var(--radius-sm);width:26px;height:26px;font-family:var(--font-mono);color:#fff;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.account-identities .badge.email{background:linear-gradient(135deg,#7c5cff,#4ad6ff)}.account-identities .badge.google{color:#1a1a1a;border:1px solid var(--border);background:#fff}.account-identities .badge.discord{background:#5865f2}.account-identities .badge.steam{background:#1b2838;border:1px solid #2a4a6b}.account-identities .name{font-family:var(--font-mono);color:var(--text-1);flex:1;font-weight:600}.account-identities .last-note{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.account-link-buttons{flex-direction:column;gap:10px;display:flex}.account-link-buttons .account-link{justify-content:center;width:100%;text-decoration:none}.inactivity-notice{z-index:50;border-radius:var(--radius-md);background:var(--surface-solid);border:1px solid var(--border-bright);box-shadow:0 0 24px var(--accent-line);font-family:var(--font-mono);color:var(--text-1);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:10px 16px;font-size:12px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.inactivity-notice-dismiss{border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-sm);font:inherit;cursor:pointer;background:0 0;padding:4px 10px;font-size:11px}.inactivity-notice-dismiss:hover{color:var(--accent);border-color:var(--accent)}.page{width:92%;max-width:1120px;margin:0 auto;padding:28px 22px 96px;position:relative}.page h2{font-family:var(--font-mono);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-1);margin:0 0 6px;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:600;line-height:1.05}.page h2:before{content:"> ";color:var(--accent)}.page h3{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-1);align-items:center;gap:10px;margin:0 0 12px;font-size:13px;font-weight:600;display:flex}.page h3:before{content:"";background:linear-gradient(180deg, var(--glow), var(--accent));width:4px;height:16px;box-shadow:0 0 8px var(--accent-line);border-radius:2px}.footer{text-align:center;color:var(--text-3);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:24px;padding:24px 16px 32px;display:flex;position:relative}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:120px;height:1px;box-shadow:0 0 8px var(--accent);position:absolute;top:-1px;left:50%;transform:translate(-50%)}.footer-version{color:var(--text-3)}.footer-version .v{color:var(--accent);text-shadow:0 0 8px var(--accent-line)}.footer-link{font:inherit;color:var(--accent);text-shadow:0 0 8px var(--accent-line);cursor:pointer;text-transform:inherit;letter-spacing:inherit;background:0 0;border:none;padding:0}.footer-link:hover{text-decoration:underline}.cookie-banner{z-index:60;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:14px 18px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 8px 32px #00000059}.cookie-banner-text{font-size:13px;line-height:1.5}.cookie-banner-text strong{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:12px;display:block}.cookie-banner-text p{color:var(--text-2,var(--text-1));margin:0}.cookie-banner .btn{flex-shrink:0}@media (width<=600px){.cookie-banner{text-align:left;flex-direction:column;align-items:stretch}}.locale-picker{text-transform:none;letter-spacing:normal;align-items:center;gap:6px;display:inline-flex}.locale-picker .locale-globe{opacity:.7;font-size:13px}.locale-picker select{font-size:11px;font-family:var(--font-mono);background:var(--field-bg);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:4px 8px;transition:border-color .2s,box-shadow .2s}[data-theme=light] .locale-picker select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.locale-picker select option{background:var(--surface-solid-2);color:var(--text-1)}.locale-picker select:hover{border-color:var(--border-bright)}.locale-picker select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-line);outline:none}@media (width<=720px){.app.wide{max-width:720px}.game-list{grid-template-columns:1fr}.topbar{justify-content:space-between;max-width:none;padding-inline:16px}.topbar-toggle{place-items:center;display:grid}.topbar-nav{background:var(--surface-solid);-webkit-backdrop-filter:blur(20px);z-index:100;border-left:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:4px;width:280px;height:100vh;padding:84px 32px 32px;transition:right .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;right:-100%;box-shadow:-10px 0 40px #00000080}.topbar-nav.open{right:0}.topbar-nav a,.topbar-nav .who{border-bottom:1px solid var(--border);letter-spacing:.08em;width:100%;padding:14px 0;font-size:15px}.topbar-nav a.active:after{display:none}.topbar-nav .who{border-bottom:none;margin-bottom:16px;padding:14px 0 18px}.topbar-nav .link{text-align:left;width:100%;padding:14px 0;font-size:15px}}@media (width<=540px){.app,.page{padding:24px 16px 80px}header h1{font-size:18px}.card{padding:18px}.rsvp{grid-template-columns:1fr}.rsvp button{padding:12px 0;font-size:12px}.game-row{grid-template-columns:56px 1fr;gap:14px;padding:14px 16px}.game-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end}.game-thumb{width:56px;height:90px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.footer{gap:10px}.chat-messages{max-height:220px}.chat-input .btn{padding:11px 14px}.voice-controls .btn{flex:calc(50% - 4px)}.voice-make-host{padding:2px 6px;font-size:.65rem}}.toast-stack{z-index:300;flex-direction:column;gap:8px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;top:72px;right:16px}.toast{border:1px solid var(--border);background:var(--surface-2);-webkit-backdrop-filter:blur(12px);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex;box-shadow:0 8px 24px #00000059}.toast.success{border-left:3px solid var(--yes)}.toast.error{border-left:3px solid var(--no)}.toast-dismiss{color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:2px 4px;font-size:12px}.toast-dismiss:hover{color:var(--accent)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 24px;display:flex}.empty-state-title{margin:0;font-weight:600}.toolbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-steps{flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 20px;display:flex}.plan-step{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:11px;transition:color .15s,border-color .15s}.plan-step:not(:disabled):hover{color:var(--accent);border-color:var(--accent)}.plan-step:disabled{opacity:.45;cursor:not-allowed}.plan-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.plan-step+.plan-step:before{content:"›";color:var(--text-3);margin-right:6px}.plan-step.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 40%, transparent)}.plan-join-list,.plan-option-list,.plan-friend-list{margin:12px 0;padding:0;list-style:none}.plan-option-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 8px;display:flex}.plan-option-row:last-child{border-bottom:none}.plan-option-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plan-option-title{color:var(--text-1);font-weight:600}.plan-option-meta{color:var(--text-3);font-size:.85em}.plan-votes{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px}.plan-vote-btn[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.plan-propose-row{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:14px;display:flex}.plan-propose-row label{flex:1;min-width:220px}.plan-propose-row select[multiple]{width:100%}.plan-select{margin:0}.plan-review p{margin:6px 0}.plan-propose-time{margin-top:14px}.plan-propose-time .time-slot-grid{margin:10px 0 14px}.time-slot-days{gap:6px;padding-bottom:6px;display:flex;overflow-x:auto}.time-slot-day{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:6px 10px;font-size:11px;display:flex}.time-slot-day-name{text-transform:uppercase;letter-spacing:.08em}.time-slot-day:hover{color:var(--accent);border-color:var(--accent)}.time-slot-day.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.time-slot-grid{grid-template-columns:repeat(6,1fr);gap:6px;max-width:420px;display:grid}.time-slot-hour{font-family:var(--font-mono);color:var(--text-2);background:var(--field-bg);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:8px 0;font-size:13px}.time-slot-hour:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.time-slot-hour:disabled{opacity:.35;cursor:not-allowed}.time-slot-hour.selected{color:var(--on-accent);background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px color-mix(in srgb, var(--accent) 45%, transparent)}.plan-game-card{cursor:pointer;position:relative}.plan-game-card input[type=checkbox]{accent-color:var(--accent);z-index:1;margin:0;position:absolute;top:10px;left:10px}.plan-game-card img{background:var(--field-bg);border-radius:8px;width:100%;min-height:60px;margin-bottom:8px}.plan-game-card.selected{border-color:var(--accent);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 35%, transparent)}.plan-game-card strong{color:var(--text-1);font-size:.95em}.plan-option-thumb{object-fit:cover;background:var(--field-bg);border-radius:6px;flex-shrink:0;width:44px;height:62px}.plan-plan-row{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;padding:12px 8px}ul.plan-join-list .plan-plan-row:hover{background:var(--glass-tint)}ul.plan-join-list li{border-bottom:none}.plan-badge{background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);font-family:var(--font-mono);box-shadow:0 0 10px color-mix(in srgb, var(--accent) 50%, transparent);border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600;display:inline-flex}
