@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Work+Sans:wght@400;500;600;700;800&display=swap";:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fbf8ff;--surface:#fff;--surface-low:#f4f2ff;--surface-container:#edecff;--surface-high:#e6e6ff;--surface-highest:#e0e0fa;--primary:#413fe6;--primary-container:#5c5cff;--primary-fixed:#e1dfff;--secondary:#795900;--secondary-container:#ffbf00;--on-surface:#181a2c;--on-surface-variant:#464556;--outline:#767587;--outline-variant:#c6c4d8;--error:#ba1a1a;--error-container:#ffdad6;--shadow:0 4px 12px #5c5cff14;--deep-shadow:0 14px 34px #5c5cff24;--topbar-bg:#fbf8fff0;--topbar-border:#c6c4d861;--bottom-nav-bg:#fffffff0;--bottom-nav-border:#c6c4d87a;--screen-dot:#5c5cff14;--hero-text:#fdf9ff;--hero-muted:#fdf9ffe0;--hero-accent:#fdf9ffc7;--hero-decoration:#ffffff1f;--on-emphasis:#fff;--link:#3533c4;--link-hover:#2a28a8;--action-primary-bg:#413fe6;--action-primary-text:#fff;--action-secondary-bg:#ffbf00;--action-secondary-text:#4d3600;--secondary-action-text:#4d3600;--surface-hover:#edecff;--avatar-shadow:#181a2c1f;--focus-ring:#5c5cff29;--success-bg:#ddf6e7;--success-text:#17613a;--countdown-overlay:#181a2c2e;--countdown-digit:#3533c4;--consensus-highlight:#fff1c7;--consensus-text:#795900;--danger-panel-border:#efb8b2;--danger-panel-bg:#fff4f2;--segmented-bg:#edecff6b;--pulse-ring:#5c5cff2e;--consensus-bar:#ffe7a0;--nav-active-text:#fff;--nav-inactive-text:#464556;--card-hover-shadow:#5c5cff26;--action-shadow:#5c5cff33;--secondary-action-shadow:#ffbf0033;--nav-active-shadow:#5c5cff3d}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#10111a;--surface:#1a1c28;--surface-low:#222433;--surface-container:#2a2d3d;--surface-high:#323548;--surface-highest:#3b3f52;--primary:#c1c1ff;--primary-container:#4643e9;--primary-fixed:#2a21d3;--secondary:#fbbc00;--secondary-container:#795900;--on-surface:#f1efff;--on-surface-variant:#c6c4d8;--outline:#8f8da3;--outline-variant:#464556;--error:#ffb4ab;--error-container:#93000a;--shadow:0 4px 12px #00000047;--deep-shadow:0 14px 34px #00000061;--topbar-bg:#1a1c28f0;--topbar-border:#4645567a;--bottom-nav-bg:#1a1c28f0;--bottom-nav-border:#4645567a;--screen-dot:#c1c1ff1a;--hero-text:#fdf9ff;--hero-muted:#fdf9ffe0;--hero-accent:#fdf9ffd1;--hero-decoration:#ffffff1a;--on-emphasis:#fdf9ff;--link:#d4d4ff;--link-hover:#ececff;--action-primary-bg:#6361ff;--action-primary-text:#fdf9ff;--action-secondary-bg:#fbbc00;--action-secondary-text:#241800;--secondary-action-text:#241800;--surface-hover:#2a2d3d;--avatar-shadow:#00000052;--focus-ring:#c1c1ff38;--success-bg:#1a3d2a;--success-text:#8de2ca;--countdown-overlay:#00000085;--countdown-digit:#d4d4ff;--consensus-highlight:#4a3a00;--consensus-text:#fbbc00;--danger-panel-border:#8b3a32;--danger-panel-bg:#3a2220;--segmented-bg:#2a2d3db8;--pulse-ring:#c1c1ff3d;--consensus-bar:#6d5000;--nav-active-text:#fdf9ff;--nav-inactive-text:#d8d6eb;--card-hover-shadow:#00000047;--action-shadow:#0000003d;--secondary-action-shadow:#0000003d;--nav-active-shadow:#00000052}:root{background:var(--background);color:var(--on-surface);font-synthesis:none;text-rendering:optimizelegibility;font-family:Work Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);transition:background-color .18s,color .18s}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--on-surface);margin:0}button,input,textarea{font:inherit}button{border:1px solid var(--outline-variant);background:var(--surface);min-height:40px;color:var(--link);cursor:pointer;border-radius:8px;padding:0 14px;font-weight:800;transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}button:hover:not(:disabled){border-color:var(--link);color:var(--link-hover);box-shadow:var(--shadow);transform:translateY(-1px)}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.55}input,textarea{background:var(--surface-low);width:100%;color:var(--on-surface);border:1px solid #0000;border-radius:8px;outline:none;padding:13px 14px;transition:background .16s,border-color .16s,box-shadow .16s}input:focus,textarea:focus{border-color:var(--link);background:var(--surface);box-shadow:0 0 0 3px var(--focus-ring)}textarea{resize:vertical;min-height:86px}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{letter-spacing:0;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}.screen{background:radial-gradient(circle at 1px 1px, var(--screen-dot) 1px, transparent 0) 0 0 / 28px 28px, var(--background);min-height:100vh}.app-topbar{z-index:20;border-bottom:1px solid var(--topbar-border);background:var(--topbar-bg);min-height:64px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(20px,4vw,48px);display:flex;position:sticky;top:0}.brand-lockup{min-width:0;color:var(--link);align-items:center;gap:12px;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:800;display:inline-flex}.brand-lockup:hover{color:var(--link-hover)}.brand-lockup span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar-bubble{border:2px solid var(--surface);width:42px;height:42px;box-shadow:0 3px 10px var(--avatar-shadow);color:var(--surface);border-radius:999px;flex:none;place-items:center;font-size:13px;font-weight:900;display:inline-grid;position:relative}.avatar-bubble.small{width:32px;height:32px;font-size:11px}.avatar-bubble.large{width:68px;height:68px;font-size:18px}.avatar-indigo{background:linear-gradient(145deg,#7373ff,#2321bf)}.avatar-amber{background:linear-gradient(145deg,#ffd76b,#8a6500)}.avatar-ink{background:linear-gradient(145deg,#4c5368,#121423)}.avatar-sky{background:linear-gradient(145deg,#79d6ff,#2555b8)}.avatar-plum{background:linear-gradient(145deg,#d69bff,#5d2a88)}.avatar-mint{background:linear-gradient(145deg,#8de2ca,#196d5c)}.player-avatar{object-fit:cover;width:40px;height:40px;box-shadow:var(--shadow);border-radius:999px;display:block}.player-avatar.small{width:32px;height:32px}.player-avatar.large{width:56px;height:56px}.player-avatar.highlight{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--link)}.player-avatar.facilitator{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--secondary)}.player-avatar.highlight.facilitator{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--secondary), 0 0 0 6px var(--link)}.vote-card-icon{width:36px;height:auto;margin:0 auto;display:block}.icon-button{width:40px;min-height:40px;color:var(--link);background:0 0;border-color:#0000;border-radius:999px;padding:0;font-size:24px;line-height:1}.icon-button:hover:not(:disabled){color:var(--link-hover);background:var(--surface-hover);box-shadow:none;border-color:#0000;transform:none}.topbar-actions.compact{flex-wrap:nowrap}.sign-out-button{min-height:40px;color:var(--on-surface-variant);background:0 0;border-color:#0000;padding:0 12px;font-size:14px;font-weight:700}.sign-out-button:hover:not(:disabled){color:var(--link);background:var(--surface-hover);box-shadow:none;transform:none}.theme-toggle{font-size:18px;line-height:1}.dashboard-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;width:min(960px,100vw - 40px);margin:0 auto;padding:32px 0 128px;display:grid}.dashboard-hero{background:var(--primary-container);box-shadow:var(--deep-shadow);color:var(--hero-text);border-radius:8px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;padding:clamp(24px,4vw,36px);display:grid;position:relative;overflow:hidden}.dashboard-hero:after{content:"+";color:var(--hero-decoration);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:110px;font-weight:800;line-height:1;position:absolute;top:-18px;right:26px}.hero-copy,.hero-form{z-index:1;position:relative}.hero-copy{align-self:center}.hero-copy h1{max-width:520px;margin:8px 0;font-size:clamp(30px,5vw,48px);line-height:1.08}.hero-copy p:not(.eyebrow){max-width:520px;color:var(--hero-muted);font-size:18px;line-height:1.5}.dashboard-hero .eyebrow{color:var(--hero-accent)}.hero-form,.join-card,.deck-preview,.panel,.stage,.results-panel,.recent-room-card,.session-strip{border:1px solid var(--outline-variant);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.hero-form{gap:14px;padding:18px;display:grid}.hero-form label,.form-grid label,.story-field-label{color:var(--on-surface-variant);gap:8px;font-size:14px;font-weight:700;display:grid}.field-group{gap:8px;display:grid}.field-label{align-items:baseline;gap:4px;display:inline-flex}.required-mark{color:var(--error);font-weight:900;line-height:1}.optional-mark{background:var(--surface-container);color:var(--on-surface-variant);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.form-required-note{color:var(--on-surface-variant);margin:0;font-size:12px;font-weight:700;line-height:1.4}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.story-field-label{min-width:0}.hero-action{margin-top:2px}.section-heading,.panel-heading,.results-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading{margin-bottom:14px}.section-heading h2,.section-heading h1,.panel-heading h2,.results-header h2,.deck-preview h2,.stage h2{font-size:20px;line-height:1.35}.history-layout,.profile-layout{grid-template-columns:minmax(0,720px);justify-content:center}.profile-panel{gap:18px;padding:24px;display:grid}.profile-panel .page-intro{margin-bottom:4px}.settings-card{border:1px solid var(--outline-variant);background:var(--surface-low);border-radius:8px;gap:14px;padding:16px;display:grid}.settings-card .empty-state{margin:0;padding:20px 12px}.settings-card .empty-state-icon{width:48px;height:48px;font-size:22px}.danger-zone{border-color:var(--danger-panel-border);background:var(--danger-panel-bg)}.danger-action{color:var(--error);justify-self:start}.danger-action:hover:not(:disabled){color:var(--error);background:var(--surface)}.profile-panel h1{font-size:clamp(28px,4vw,36px);line-height:1.1}.profile-row{border-top:1px solid var(--outline-variant);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.saved-profile-name{margin:.35rem 0 .75rem;font-size:1.05rem;font-weight:600}.profile-row strong{font-size:15px;display:block}.profile-badge{background:var(--primary-container);min-width:36px;color:var(--nav-active-text);border-radius:999px;place-items:center;padding:6px 10px;font-size:14px;font-weight:900;display:inline-grid}.profile-session-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.profile-session-list a{border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:8px;padding:10px 12px;font-weight:800;display:block}.profile-session-list a:hover{background:var(--primary-container);color:var(--nav-active-text)}.section-heading span,.panel-heading span,.muted{color:var(--on-surface-variant);font-size:13px;font-weight:700}.section-heading.compact{margin-bottom:12px}.recent-list,.story-list,.summary-list,.vote-table,.compact-form{gap:10px;display:grid}.recent-room-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:16px;display:grid}.recent-room-card h3{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.recent-room-card p{color:var(--on-surface-variant);margin-top:4px;font-size:13px;font-weight:700}.room-icon{background:var(--primary-fixed);width:48px;height:48px;color:var(--link);border-radius:8px;place-items:center;font-weight:900;display:grid}.deck-preview{padding:18px}.mini-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.mini-card-grid span{border:2px solid var(--surface-highest);background:var(--surface);min-height:58px;color:var(--on-surface);border-radius:16px;place-items:center;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:800;display:grid}.primary-action,.secondary-action{box-shadow:0 6px 18px var(--action-shadow);border:none}.primary-action{background:var(--action-primary-bg);color:var(--action-primary-text)}.primary-action:hover:not(:disabled){background:var(--action-primary-bg);color:var(--action-primary-text);filter:brightness(1.08);border-color:#0000}.primary-action.small{min-height:38px}.secondary-action{background:var(--action-secondary-bg);color:var(--action-secondary-text);box-shadow:0 6px 18px var(--secondary-action-shadow)}.secondary-action:hover:not(:disabled){background:var(--action-secondary-bg);color:var(--action-secondary-text);filter:brightness(1.06);border-color:#0000}.ghost-action{background:var(--surface-low);color:var(--on-surface);border-color:var(--outline-variant)}.ghost-action:hover:not(:disabled){color:var(--link);background:var(--surface-hover);border-color:var(--outline)}.ghost-action.sign-out-button{color:var(--on-surface-variant);background:0 0;border-color:#0000}.ghost-action.sign-out-button:hover:not(:disabled){color:var(--link);background:var(--surface-hover);border-color:#0000}.join-screen{background:var(--background);place-items:center;min-height:100vh;padding:56px 20px;display:grid}.join-brand{justify-items:center;gap:10px;margin-bottom:28px;display:grid}.join-brand h1{color:var(--link);font-size:20px}.floating-mark{background:var(--primary-container);width:64px;height:64px;box-shadow:var(--deep-shadow);color:var(--on-emphasis);border-radius:16px;place-items:center;font-weight:900;display:grid}.join-card{width:min(448px,100%);padding:28px 24px}.join-card h2{text-align:center;margin-top:8px;font-size:26px;line-height:1.2}.join-card>p:not(.eyebrow){max-width:340px;color:var(--on-surface-variant);text-align:center;margin:8px auto 24px;line-height:1.5}.form-grid{gap:16px;display:grid}.avatar-picker{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.avatar-choice{background:var(--surface-low);border-color:#0000;place-items:center;min-height:78px;padding:0;display:grid}.avatar-choice.active{border-color:var(--link);box-shadow:0 0 0 3px var(--focus-ring)}.segmented{background:var(--surface-low);border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.segmented button{background:0 0;border-color:#0000}.segmented .active{background:var(--primary-fixed);color:var(--link);box-shadow:var(--shadow)}.join-action{min-height:56px;margin-top:6px}.session-strip{background:var(--segmented-bg);border-style:dashed;align-items:center;gap:18px;width:min(384px,100%);margin-top:32px;padding:16px 18px;display:flex}.stacked-avatars{display:flex}.stacked-avatars .avatar-bubble+.avatar-bubble{margin-left:-12px}.session-strip p{color:var(--on-surface-variant);font-weight:700;line-height:1.4}.workspace{width:min(1440px,100vw - 40px);margin:0 auto;padding:28px 0 128px}.room-intro{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.moderator-chip{align-items:center;gap:10px;margin-bottom:4px;display:inline-flex}.moderator-chip .eyebrow{margin:0}.participants-avatar-strip{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.participant-avatar-chip{border-radius:999px;display:inline-flex}.participant-avatar-chip.self .player-avatar{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--link)}.session-identity{background:var(--surface-container);color:var(--on-surface-variant);border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13px;font-weight:800;display:inline-flex}.topbar-profile{max-width:min(160px,34vw);padding-inline:10px}.topbar-profile-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.distribution-panel{gap:8px;margin:10px 0 18px;display:grid}.distribution-header{color:var(--on-surface-variant);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:minmax(52px,auto) minmax(0,1fr);align-items:center;gap:12px;font-size:11px;font-weight:900;display:grid}.distribution-header span:last-child{text-align:right;padding-right:12px}.distribution-bars{gap:12px;margin:0;display:grid}.distribution-row{grid-template-columns:minmax(52px,auto) minmax(0,1fr);align-items:center;gap:12px;display:grid}.distribution-row>span{min-height:28px;color:var(--on-surface-variant);text-align:right;justify-content:flex-end;align-items:center;font-weight:800;display:inline-flex}.room-controls{flex-direction:column;align-items:stretch;gap:10px;min-width:min(220px,100%);display:flex}.room-control-hint{color:var(--on-surface-variant);text-align:right;margin:0;font-size:14px;font-weight:600}.story-start-action{border:1px dashed var(--outline-variant);background:var(--surface-container);border-radius:8px;gap:10px;margin-top:4px;padding:14px;display:grid}.story-start-action.compact{background:0 0;border:0;margin-top:0;padding:0}.story-start-action-copy{color:var(--on-surface-variant);margin:0;font-size:14px;font-weight:600;line-height:1.45}.story-start-action-copy strong{color:var(--on-surface)}.start-timer-action,.start-voting-action{white-space:nowrap;min-height:48px}.story-status-pill.pending{background:var(--surface-container);color:var(--on-surface-variant)}.story-quick-add{gap:10px;width:min(420px,100%);margin-top:8px;display:grid}.inline-controls{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.story-status-pill{background:var(--primary-fixed);color:var(--link);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.voting-timer-banner{z-index:15;border-bottom:1px solid var(--outline-variant);background:var(--surface);box-shadow:var(--shadow);padding:10px clamp(20px,4vw,48px);position:sticky;top:64px}.voting-timer-banner-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;max-width:960px;margin:0 auto;display:flex}.voting-timer-label{color:var(--on-surface-variant);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:900}.voting-timer-digit{min-width:2ch;color:var(--countdown-digit);font-variant-numeric:tabular-nums;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:clamp(28px,5vw,40px);font-weight:800;line-height:1}.voting-timer-digit.urgent{color:var(--error);animation:.8s ease-in-out infinite timer-pulse}.voting-timer-hint{color:var(--on-surface-variant);font-size:13px;font-weight:600}.voting-timer-banner .reveal-now-action{margin-top:0;margin-left:auto}.inline-timer{background:var(--action-secondary-bg);color:var(--action-secondary-text);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.reveal-now-action{margin-top:4px}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.room-intro h1{max-width:840px;margin:8px 0 12px;font-size:clamp(32px,6vw,48px);line-height:1.08}.room-intro.results-focus .moderator-chip,.room-intro.results-focus .room-lede,.room-intro.results-focus h1,.room-intro.results-focus .chip-row,.room-intro.results-focus .participants-avatar-strip{display:none}.room-intro.results-focus{min-height:0;margin-bottom:0}.workspace-grid.results-focus,.workspace-grid.results-focus .main-column{gap:12px}.story-focus-bar{border:1px solid var(--outline-variant);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:14px 18px}.story-focus-inner{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.story-focus-bar h2{margin:4px 0 0;font-size:clamp(20px,3vw,28px);line-height:1.2}.story-focus-description{max-width:60ch;color:var(--on-surface-variant);margin:6px 0 0;font-size:14px;line-height:1.45}.status-chip.pending{background:var(--surface-container);color:var(--on-surface-variant)}.stage.voting-stage{padding:16px 20px}.vote-queue-panel .results-header{margin-bottom:8px}.vote-queue-message{color:var(--on-surface-variant);margin:0 0 12px;font-size:14px;line-height:1.45}.vote-queue-panel .story-start-action.compact{margin-top:0}.eyebrow{color:var(--link);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.chip-row,.topbar-actions,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip-row span,.connection-pill,.status-chip{background:var(--surface-container);min-height:32px;color:var(--on-surface-variant);border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.connection-pill.connected{background:var(--success-bg);color:var(--success-text)}.connection-pill.closed{background:var(--error-container);color:var(--error)}.workspace-grid{grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:start;gap:18px;display:grid}.main-column,.side-column{gap:18px;display:grid}.stage,.results-panel,.panel{padding:20px}.stage{min-height:auto}.stage.empty-state{min-height:280px;color:var(--on-surface-variant);text-align:center;place-content:center;justify-items:center;gap:10px;display:grid}.stage-icon{background:var(--primary-container);width:72px;height:72px;box-shadow:var(--deep-shadow);color:var(--on-emphasis);border-radius:16px;place-items:center;font-weight:900;display:grid}.story-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.story-heading-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.story-add-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;display:grid}.text-button{color:var(--link);background:0 0;border:none;min-height:auto;padding:0;font-size:14px;font-weight:700}.text-button:hover:not(:disabled){color:var(--link-hover);box-shadow:none;border-color:#0000;transform:none}.avatar-choice img{object-fit:cover;border-radius:999px;width:100%;height:100%}.story-heading h2{margin:6px 0 8px;font-size:clamp(24px,4vw,36px);line-height:1.12}.story-heading p:not(.eyebrow){max-width:760px;color:var(--on-surface-variant);line-height:1.5}.status-chip.voting{background:var(--primary-fixed);color:var(--link)}.status-chip.revealed{background:var(--consensus-highlight);color:var(--secondary)}.estimation-deck{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:12px;display:grid}.vote-card{border:2px solid var(--surface-highest);background:var(--surface);min-height:126px;color:var(--on-surface);border-radius:16px;place-items:center;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:clamp(28px,4vw,42px);font-weight:700;display:grid}.vote-card:hover:not(:disabled){box-shadow:0 12px 24px var(--card-hover-shadow);transform:translateY(-6px)}.vote-card.selected{border-color:var(--link);background:var(--primary-fixed);color:var(--link);transform:translateY(-6px)scale(1.02)}.vote-note{color:var(--on-surface-variant);margin-top:18px;font-weight:800}.error-line,.error-banner{color:var(--error);font-weight:800}.error-banner{border:1px solid var(--danger-panel-border);background:var(--danger-panel-bg);border-radius:8px;margin-bottom:18px;padding:12px 14px}.panel-heading{margin-bottom:12px}.compact-form{margin-top:12px}.finalize-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;display:grid}.button-row{margin-top:12px}.button-row button{flex:1}.participant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.participant-card{background:var(--surface-low);text-align:center;border:1px solid #0000;border-radius:8px;justify-items:center;gap:6px;min-width:0;padding:14px 10px;display:grid}.participant-card.voted{border-color:var(--outline-variant);background:var(--surface)}.participant-card.offline{opacity:.62}.participant-card strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.participant-card small{color:var(--on-surface-variant);font-size:12px;font-weight:700}.participant-avatar-wrap{place-items:center;display:grid;position:relative}.pulse-ring{background:var(--pulse-ring);border-radius:999px;animation:1.8s ease-in-out infinite pulse-ring;position:absolute;inset:-6px}@keyframes pulse-ring{0%{opacity:.55;transform:scale(.85)}70%{opacity:.08;transform:scale(1.18)}to{opacity:.55;transform:scale(.85)}}.vote-badge{border:2px solid var(--surface);background:var(--surface-highest);width:24px;height:24px;color:var(--secondary);border-radius:999px;place-items:center;font-size:13px;font-weight:900;display:grid;position:absolute;bottom:-2px;right:-2px}.participant-card.voted .vote-badge{background:var(--secondary-container)}.story-row,.summary-row,.vote-row{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.story-row strong,.summary-row span,.vote-row>span,.vote-row-participant span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vote-row-participant{align-items:center;gap:10px;min-width:0;display:inline-flex}.participant-card.self{border-color:var(--link);background:var(--primary-fixed)}.participant-card.facilitator small{color:var(--secondary)}.story-row small{color:var(--on-surface-variant);margin-top:3px;font-size:12px;font-weight:700;display:block}.vote-row.self,.revealed-card.self{border-color:var(--link);background:var(--primary-fixed)}.results-header{align-items:flex-start;margin-bottom:12px}.results-title-block h2{margin:4px 0 0;font-size:clamp(20px,3vw,28px);line-height:1.2}.results-story-description{max-width:60ch;color:var(--on-surface-variant);margin:6px 0 0;font-size:14px;line-height:1.45}.revealed-results .distribution-panel{margin:8px 0 12px}.summary-cards{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.summary-card{border:1px solid var(--outline-variant);background:var(--surface);text-align:center;border-radius:8px;min-width:92px;padding:10px 12px}.summary-card dt{color:var(--on-surface-variant);text-transform:uppercase;font-size:11px;font-weight:900}.summary-card dd{color:var(--link);margin-top:4px;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:800}.consensus-card{border:2px solid var(--secondary)}.consensus-card dd{color:var(--consensus-text)}.distribution-track{background:var(--surface-container);border-radius:999px;min-height:34px;position:relative;overflow:hidden}.distribution-fill{border-radius:inherit;background:var(--action-primary-bg);height:100%;transition:width .5s}.distribution-track strong{color:var(--on-surface-variant);font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.distribution-row.consensus>span{color:var(--secondary)}.distribution-row.consensus .distribution-track{background:var(--consensus-bar)}.distribution-row.consensus .distribution-fill{background:var(--secondary)}.revealed-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;display:grid}.revealed-card{border:1px solid var(--outline-variant);background:var(--surface);text-align:center;border-radius:8px;justify-items:center;gap:8px;padding:14px;display:grid}.revealed-card span:not(.avatar-bubble){max-width:100%;color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.revealed-card strong{border:2px solid var(--primary-container);background:var(--primary-container);width:58px;height:74px;color:var(--on-emphasis);border-radius:16px;place-items:center;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:800;display:grid}.bottom-nav{z-index:30;border-top:1px solid var(--bottom-nav-border);background:var(--bottom-nav-bg);box-shadow:0 -4px 12px var(--shadow);padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:8px 8px 0 0;justify-content:center;gap:clamp(16px,8vw,160px);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:78px;color:var(--nav-inactive-text);border-radius:8px;justify-items:center;gap:4px;padding:8px 12px;font-size:13px;font-weight:900;display:inline-grid}.bottom-nav a:hover{color:var(--link);background:var(--surface-hover)}.bottom-nav a span{font-size:12px}.bottom-nav a.active{background:var(--primary-container);color:var(--nav-active-text);box-shadow:0 10px 22px var(--nav-active-shadow)}.bottom-nav a.active:hover{color:var(--nav-active-text);background:var(--primary-container)}.bottom-nav a>span:first-child{font-size:18px;line-height:1}.skip-link{z-index:100;background:var(--action-primary-bg);color:var(--action-primary-text);border-radius:8px;padding:10px 14px;font-size:14px;font-weight:800;transition:transform .16s;position:absolute;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.page-intro h1{margin:0 0 8px;font-size:clamp(28px,4vw,36px);line-height:1.1}.lede,.section-lede{color:var(--on-surface-variant);margin:0;font-size:15px;line-height:1.5}.dashboard-hero .lede{color:var(--hero-muted)}.section-lede{margin-top:4px;font-size:13px;font-weight:600}.field-hint{color:var(--outline);margin:0;font-size:12px;font-weight:600;line-height:1.4}.empty-state{border:1px dashed var(--outline-variant);background:var(--surface-low);text-align:center;border-radius:8px;justify-items:center;gap:8px;padding:28px 20px;display:grid}.empty-state-icon{background:var(--surface-container);width:56px;height:56px;color:var(--link);border-radius:999px;place-items:center;font-size:26px;font-weight:900;display:grid}.empty-state h3{margin:4px 0 0;font-size:18px}.empty-state p{max-width:36ch;color:var(--on-surface-variant);margin:0;line-height:1.5}.empty-state-action{margin-top:8px}.loading-list{gap:10px;display:grid}.skeleton-card{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:10px 14px;padding:16px;display:grid}.skeleton-block{background:linear-gradient(90deg, var(--surface-container) 25%, var(--surface-high) 50%, var(--surface-container) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-avatar{border-radius:999px;grid-row:span 2;width:48px;height:48px}.skeleton-line{height:12px}.skeleton-line.wide{width:70%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recent-room-copy{gap:6px;min-width:0;display:grid}.recent-room-card{grid-template-columns:auto minmax(0,1fr) auto}.status-chip.room-status.open{background:var(--success-bg);color:var(--success-text)}.status-chip.room-status.ended,.status-chip.room-status.expired{background:var(--surface-container);color:var(--on-surface-variant)}.recent-section.panel{padding:18px}.join-screen-wrap{min-height:100vh}.join-screen-top{justify-content:space-between;align-items:center;gap:12px;width:min(960px,100vw - 40px);margin:0 auto 12px;display:flex}.join-screen-actions{align-items:center;gap:8px;display:flex}.join-back{font-size:14px}.room-lede{margin:8px 0 12px}.workspace-loading{margin-top:8px}.stage-icon-wrap{place-items:center;margin-bottom:4px;display:grid}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--link);outline-offset:2px}@media (width<=1040px){.dashboard-layout,.workspace-grid,.dashboard-hero{grid-template-columns:1fr}.deck-preview{order:-1}}@media (width<=720px){.app-topbar{flex-wrap:wrap;align-items:center;row-gap:10px}.room-topbar{align-items:center}.brand-lockup{flex:auto;min-width:0}.topbar-actions{flex:auto;justify-content:flex-end;width:auto}.topbar-actions.compact .sign-out-button{flex:none}.topbar-actions button{flex:0 auto}.dashboard-layout,.workspace{width:min(100vw - 28px,100%);padding-top:20px}.dashboard-hero,.stage,.results-panel,.panel,.join-card{padding:16px}.room-intro,.story-heading,.results-header{flex-direction:column;align-items:flex-start}.summary-cards{justify-content:stretch;width:100%}.summary-card{flex:1;min-width:0}.participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimation-deck{grid-template-columns:repeat(3,minmax(0,1fr))}.vote-card{min-height:108px}.bottom-nav{justify-content:space-between;gap:8px;padding-inline:12px}.bottom-nav a{flex:1;min-width:0}.join-screen-top{flex-direction:column;align-items:stretch;width:min(100vw - 28px,100%)}.join-screen-actions{justify-content:flex-end}.voting-timer-hint{text-align:center;flex:100%}.voting-timer-banner .reveal-now-action{width:100%;margin-left:0}.recent-room-card .primary-action{width:100%}}@media (width<=460px){.participant-grid,.avatar-picker,.estimation-deck,.revealed-grid{grid-template-columns:1fr 1fr}.finalize-form,.recent-room-card{grid-template-columns:1fr}.recent-room-card{justify-items:start}.recent-room-card button,.recent-room-card .primary-action{width:100%}}
