/* Clear primary actions and comfortable controls, using the existing palette. */
.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 24px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff4e8;text-decoration:none;font-size:16px;min-height:52px}
.primary-action:hover{filter:brightness(1.1)}
.landing main{display:block;max-width:1000px}.landing .home-welcome{padding:32px 0 44px;margin-bottom:0;max-width:800px}
.landing #home-title{font-size:clamp(28px,4vw,44px);line-height:1.25;margin:18px 0}
.home-intro{font-size:16px;color:var(--muted);line-height:1.7}.home-note{color:var(--muted);font-size:12px;margin-top:20px;line-height:1.6}
.home-start-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:28px}
.landing .login-button{display:inline-flex;width:auto;min-height:52px;padding:14px 20px;font-size:14px;background:transparent;border:1px solid var(--line);box-shadow:none;gap:8px;transform:none;border-radius:7px}
.landing .login-button:hover{background:var(--key);border-color:var(--muted);transform:none}
.home-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:28px}
.home-options a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:24px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none}
.home-options a:hover{border-color:var(--accent);background:var(--key)}.home-options strong{font-size:17px;font-weight:400}.home-options span:first-of-type{grid-row:2;color:var(--muted);line-height:1.7}.home-options span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent)}
.practice-page .setup{height:auto;padding-block:28px 16px}.practice-page .heading{align-items:flex-start}.start-hint{color:var(--muted);font-size:12px;line-height:1.7;margin:8px 0 0}
.practice-page .config{align-items:flex-end;gap:20px;margin-top:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.practice-page .groups{gap:28px;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:10px}.control-label{color:var(--muted);font-size:11px}
.practice-page .buttons button{min-height:38px;border-radius:5px}.practice-page .mode-copy{gap:10px;align-items:flex-end;max-width:300px}.practice-page #mode-description{margin:0;font-size:11px;line-height:1.6}
.practice-page #settings{min-height:32px;border:1px solid var(--line);border-radius:5px;padding:6px 12px}.practice-page #manage-tricky{min-height:28px}.practice-page .ruler{display:none}.practice-page .status{height:90px}.practice-page .actions{margin-top:12px}
.focus-help{margin:18px 0 0;font-size:12px}.focus-help summary{cursor:pointer;color:var(--muted);width:fit-content;padding:8px 0}.focus-help summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.focus-help p{max-width:650px;line-height:1.8;margin:8px 0}
.practice-page .shortcuts{padding-block:16px}.practice-page .footer-links{padding-top:12px}
input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.stats-filters select,.community-card input,.community-card select{min-height:42px}
button:disabled{cursor:not-allowed}a,button,summary{touch-action:manipulation}
@media(max-width:800px){.practice-page .config{align-items:flex-start}.practice-page .mode-copy{align-items:flex-start}.practice-page .groups{gap:20px}.landing .home-welcome{padding-top:12px}.home-options{gap:12px}.home-options a{padding:18px}}
@media(max-width:500px){.home-options{grid-template-columns:1fr}.home-start-actions{align-items:stretch;flex-direction:column}.home-start-actions a{justify-content:center}.practice-page .heading{flex-wrap:wrap}.practice-page .groups{width:100%}.practice-page .mode-copy{width:100%;max-width:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.practice-page #mode-description{width:100%}}
body.focus .status{height:62px}
.community-switcher{display:flex;gap:8px;padding:6px;background:var(--key);border:1px solid var(--line);border-radius:8px;margin:8px 0 24px;max-width:540px}
.community-switcher button{flex:1;justify-content:center;min-height:44px;padding:10px 16px;border-radius:5px;font-size:14px}
.community-switcher button[aria-pressed=true]{background:var(--accent);color:#fff4e8}
#community-content>.community-card,#community-friends>.community-card,#community-groups>.community-card{max-width:900px}
#community-races .race-hub{margin-top:0}.list-heading{font-size:13px;font-weight:400;color:var(--muted);margin:28px 0 8px}
.action-disclosure{margin:20px 0}.action-disclosure>summary{width:fit-content;cursor:pointer;padding:12px 18px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff4e8;font-size:13px}
.action-disclosure[open]{padding:18px;border:1px solid var(--line);border-radius:7px;background:var(--bg)}.action-disclosure[open]>summary{margin-bottom:18px;background:var(--key);border-color:var(--line);color:var(--text)}
.action-disclosure>p{font-size:12px}.action-disclosure form{max-width:700px}.action-disclosure form>small{display:block;line-height:1.7;margin-top:14px;color:var(--muted)}
.community-card .community-list{margin-top:8px}.community-card .community-row:first-child{border-top:0}.community-row .row-actions button{min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:5px;text-decoration:none}.community-row .row-actions button:hover{background:var(--key)}
.page-disclosure{margin:20px 0;border:1px solid var(--line);border-radius:7px;padding:14px 18px}.page-disclosure>summary{cursor:pointer;color:var(--text);line-height:1.7}.page-disclosure>p{color:var(--muted);line-height:1.7;font-size:12px}.page-disclosure .stats-filters{border:0;padding-bottom:0;margin-top:8px}.page-disclosure summary span{color:var(--muted);font-size:11px;margin-left:16px}
summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
#community-status:empty,#races-status:empty{display:none}#community-status:not(:empty){padding:12px 16px;border-left:3px solid var(--accent);background:var(--key)}
.race-hub:has(#race-room:not([hidden]))>#race-create-panel,.race-hub:has(#race-room:not([hidden]))>#race-list,.race-hub:has(#race-room:not([hidden]))>.list-heading{display:none}
@media(max-width:600px){.community-switcher{max-width:none}.community-switcher button{padding:10px 8px}.action-disclosure[open]{padding:14px}.page-disclosure{padding:12px}.page-disclosure summary span{display:block;margin-left:0}}
.community-layout{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:24px;align-items:start}.community-main{min-width:0}.community-layout .community-switcher{margin-top:0}.community-layout #community-friends{position:sticky;top:20px;min-width:0}.community-layout #community-friends>.community-card{padding:20px}.community-layout #friend-list{max-height:55vh;overflow-y:auto}.community-layout #friend-list .community-row{gap:10px;align-items:flex-start}.community-layout #friend-list .row-actions button{font-size:11px}.community-layout #your-username{overflow-wrap:anywhere;font-size:11px}
.friend-link-option{border-top:1px solid var(--line);margin-top:24px;padding-top:10px}.friend-link-option h3,.action-disclosure h3{font-size:13px;font-weight:400}.friend-link-option p,.friend-method-note{font-size:12px;line-height:1.7}.friend-link-option small{display:block;color:var(--muted);line-height:1.7;margin-top:14px}.friend-link-option input{width:100%;min-width:0;padding:10px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:5px;font:inherit;margin:8px 0 12px}#friend-share-result{margin-top:18px}.friend-link-option a,.friend-method-note a,#board-rows a{color:var(--text);text-underline-offset:4px}#board-rows a:hover{color:var(--accent)}
.home .friend-invite-main{max-width:640px;padding-top:40px}.friend-invite-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px}.friend-invite-actions a{color:var(--text)}
@media(max-width:900px){.community-layout{grid-template-columns:1fr}.community-layout #community-friends{position:static}.community-layout #friend-list{max-height:300px}}
header nav .account-nav-icon{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:32px}#friend-list a{color:var(--text);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}#friend-list a:hover{color:var(--accent)}
header nav .account-nav-icon{position:relative;margin-left:8px;padding-left:20px!important}header nav .account-nav-icon::before{content:"";position:absolute;left:0;top:3px;width:1px;height:24px;background:var(--line)}header nav .account-nav-icon svg{width:26px;height:26px}
/* Centered, expanding page navigation; account stays at the right edge. */
header.compact-header{position:relative;display:flex;flex-wrap:nowrap;min-height:88px}
header.compact-header nav[aria-label="Main navigation"]{margin-left:auto;width:auto;gap:0;flex-wrap:nowrap}
.compact-header .nav-window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--nav-compact,180px);max-width:calc(100vw - 32px);overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--bg);transition:width 650ms cubic-bezier(.22,1,.36,1),border-radius 650ms cubic-bezier(.22,1,.36,1),background 300ms;isolation:isolate}
.compact-header .nav-track{position:relative;display:flex;width:max-content;gap:4px;padding:3px 12px;transform:translateX(var(--nav-offset,0px));transition:transform 650ms cubic-bezier(.22,1,.36,1)}
header.compact-header nav .nav-track a{display:flex;align-items:center;justify-content:center;min-height:30px;padding:5px 14px;border-bottom:0;line-height:20px;opacity:.55;transition:opacity 300ms,color 300ms;flex-shrink:0}
header.compact-header nav .nav-track a[aria-current="page"]{opacity:1;color:var(--accent);border-bottom:0}
.compact-header .nav-window:is(:hover,:focus-within,.nav-open,.nav-no-current){width:var(--nav-full,450px);border-radius:3px}
.compact-header .nav-window:is(:hover,:focus-within,.nav-open,.nav-no-current) .nav-track{transform:translateX(0)}
header.compact-header nav .nav-window:is(:hover,:focus-within,.nav-open,.nav-no-current) a{opacity:1}
header.compact-header nav .nav-track a:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:4px}
header.compact-header nav .account-nav-icon{margin-left:0}
@media(max-width:1100px){header.compact-header .brand small{display:none}}
@media(max-width:850px){header.compact-header{padding-block:14px;min-height:72px;align-items:center}header.compact-header nav .nav-track a{padding-inline:10px;font-size:12px}.compact-header .nav-track{gap:0;padding-inline:6px}}
@media(max-width:700px){header.compact-header .brand strong{display:none}.compact-header .nav-window{max-width:calc(100vw - 160px)}.compact-header .nav-window:is(:hover,:focus-within,.nav-open,.nav-no-current){overflow-x:auto;scrollbar-width:none}.compact-header .nav-window::-webkit-scrollbar{display:none}header.compact-header nav .account-nav-icon{padding-left:12px!important}}
@media(prefers-reduced-motion:reduce){.compact-header .nav-window,.compact-header .nav-track,header.compact-header nav .nav-track a{transition:none}}

/* Keep the practice controls compact after removing introductory copy. */
.practice-page .setup .heading{justify-content:flex-end}.practice-page .config{margin-top:12px}#stats-status:empty{display:none}
/* A clear invitation to play, with compact guidance at each choice. */
.landing .home-welcome{position:relative;max-width:none;padding:42px 210px 46px 0}.home-kicker{font-size:10px;letter-spacing:.14em;color:var(--accent)}
.landing #home-title{font-size:clamp(32px,5vw,54px);margin:14px 0}.landing .home-intro{margin:0}.welcome-art{position:absolute;right:12px;top:30px;display:grid;justify-items:center;gap:12px}.welcome-art img{object-fit:contain;filter:drop-shadow(0 16px 18px #0003);transform:rotate(-6deg);transition:transform 350ms ease}.welcome-art:hover img{transform:translateY(-6px) rotate(2deg)}.welcome-art span{font-size:10px;color:var(--muted)}
.home-options a{transition:transform 220ms ease,border-color 220ms ease,background 220ms ease}.home-options a:hover{transform:translateY(-3px)}.home-options strong{display:flex;align-items:center;gap:12px}.home-options i{display:inline-grid;place-items:center;font-style:normal;color:var(--accent);background:var(--key);border-radius:8px;width:34px;height:34px;font-size:20px}.home-options a:focus-visible,.primary-action:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.practice-page #modes button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 13px;min-height:58px;transition:background 180ms,border-color 180ms}.practice-page #modes button small{font-size:10px;color:var(--muted);font-weight:400}.practice-page #modes button.selected small{color:var(--text)}
.community-switcher button{display:flex;flex-direction:column;align-items:center;gap:5px}.community-switcher button small{font-size:10px;opacity:.8}.community-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.community-preview>div{padding:18px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:10px}.community-preview b{font-weight:400;color:var(--text)}.community-preview span{color:var(--muted);font-size:12px;line-height:1.6}.community-empty{padding:18px;border:1px dashed var(--line);border-radius:7px}
#learn-meter{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;background:var(--line);margin-top:20px;accent-color:var(--accent)}#learn-meter::-webkit-progress-bar{background:var(--line)}#learn-meter::-webkit-progress-value{background:var(--accent);transition:width 180ms ease}#learn-meter::-moz-progress-bar{background:var(--accent)}.learn-card{transition:border-color 300ms,background 300ms}.learn-card.word-unlocked{border-color:#899668;background:linear-gradient(135deg,#89966818,transparent)}.word-unlocked #learn-passage{color:var(--text)}.word-unlocked #learn-next{background:var(--accent);color:#fff4e8;border-color:var(--accent)}
@media(max-width:700px){.landing .home-welcome{padding-right:0;padding-top:16px}.welcome-art{position:static;float:right;gap:0;margin:0 0 12px 12px}.welcome-art img{width:76px;height:76px}.welcome-art span{display:none}.home-kicker{display:block;padding-top:12px}.home-start-actions{clear:both}.community-preview{grid-template-columns:1fr}.community-preview>div{padding:14px}.practice-page #modes{flex-wrap:wrap}.practice-page #modes button{flex:1}.home-options strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.welcome-art img,.home-options a,#learn-meter::-webkit-progress-value,.learn-card{transition:none}.welcome-art:hover img,.home-options a:hover{transform:none}}
.account-settings .settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:12px 4px}.account-settings h2{font-size:17px;margin-bottom:20px}.account-settings label,.account-settings .settings-label{display:block;font-size:12px;color:var(--muted);margin:18px 0 8px}.account-settings input,.account-settings select{width:100%;min-width:0;min-height:42px;padding:11px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:5px;font:inherit;font-size:13px}.account-settings small{display:block;margin:8px 0 16px;line-height:1.7;color:var(--muted);font-size:11px}.account-settings button{margin-top:12px}.account-settings p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.account-settings a{color:var(--text);font-size:12px;text-underline-offset:4px}.account-settings form>a{display:inline-block;margin-top:10px}.account-settings [role=status]:empty{display:none}#privacy-link{padding:10px 14px;border:1px solid var(--line);border-radius:6px;text-decoration:none}@media(max-width:700px){.account-settings .settings-grid{grid-template-columns:1fr;gap:12px}.account-settings .settings-grid>section{border-top:1px solid var(--line);padding-top:16px}}
header.compact-header nav .notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:6px;margin-right:10px;color:var(--muted);min-width:34px;min-height:34px}.notification-bell:hover{color:var(--text)}.notification-badge{position:absolute;right:-3px;top:-6px;background:var(--accent);color:#fff4e8;border-radius:12px;font-size:9px;padding:3px 5px;line-height:1}.notification-dialog{width:min(560px,calc(100vw - 32px));max-height:80svh;overflow:auto;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:24px}.notification-dialog::backdrop{background:#0009}.notification-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.notification-heading h2{font-size:19px;margin:0 0 20px}.notification-heading button{font-size:24px;min-width:38px;min-height:38px}.notification-dialog p{font-size:12px;line-height:1.7}.notification-item{padding:18px 14px;border-bottom:1px solid var(--line);border-left:3px solid transparent}.notification-item.unread{border-left-color:var(--accent);background:var(--key)}.notification-item strong{font-size:13px;font-weight:400}.notification-item time{font-size:10px;color:var(--muted)}.notification-actions{display:flex;gap:18px;margin-top:12px;flex-wrap:wrap}.notification-actions a,.notification-actions button{font:inherit;font-size:11px;color:var(--accent);text-underline-offset:4px}.reaction-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.reaction-choices button{border:1px solid var(--line);border-radius:7px;padding:12px;min-height:44px;text-align:left;font:inherit;font-size:13px}.reaction-choices button[aria-pressed=true]{border-color:var(--accent);background:var(--key);color:var(--text)}.notification-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.notification-dialog [role=status]:empty{display:none}@media(max-width:700px){.compact-header .nav-window{max-width:calc(100vw - 224px)}header.compact-header nav .notification-bell{margin-right:2px}.notification-dialog{padding:18px}.reaction-choices{grid-template-columns:1fr}}
.chat-dock{position:fixed;right:0;top:46%;z-index:35;writing-mode:vertical-rl;padding:18px 10px;border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;background:var(--key);color:var(--text);font-size:12px;box-shadow:0 4px 16px #0002}.chat-dock:hover{color:var(--accent)}.chat-panel{position:fixed;right:14px;top:98px;bottom:16px;width:340px;max-width:calc(100vw - 28px);z-index:40;border:1px solid var(--line);border-radius:12px;background:var(--bg);box-shadow:0 12px 48px #0006;padding:18px;overflow:auto;overscroll-behavior:contain}.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-heading h2{font-size:16px;margin:0;overflow-wrap:anywhere}.chat-heading button{font-size:24px;min-width:36px;min-height:36px}.chat-status{color:var(--accent);font-size:12px;line-height:1.6}.chat-status:empty{display:none}.chat-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:12px 0}.chat-tabs button{flex:1;padding:10px 6px;border-radius:5px;font-size:12px}.chat-tabs button[aria-pressed=true]{background:var(--key);color:var(--accent)}.chat-contact{display:flex;width:100%;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 4px;border-bottom:1px solid var(--line);font-size:12px;text-align:left}.chat-contact span{overflow-wrap:anywhere}.chat-unread{background:var(--accent);color:white;border-radius:12px;padding:3px 7px;margin-left:auto}.chat-contact small:not(.chat-unread){color:var(--muted);font-size:10px}.chat-panel a{display:inline-block;margin:14px 0;color:var(--accent);font-size:12px;text-underline-offset:4px}.chat-empty{font-size:12px;line-height:1.7;color:var(--muted);margin:20px 0}.chat-create{margin-top:18px}.chat-create summary{cursor:pointer;color:var(--accent);font-size:12px;padding:8px 0}.chat-panel label,.chat-panel legend{display:block;font-size:12px;color:var(--muted);margin:12px 0 8px}.chat-panel input:not([type=checkbox]),.chat-panel select{width:100%;min-width:0;background:var(--key);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:10px;font:inherit;font-size:12px}.chat-create p,.chat-members{font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.chat-create fieldset{border:1px solid var(--line);border-radius:6px;max-height:200px;overflow:auto;margin-bottom:12px}.chat-create fieldset label{display:flex;gap:10px;align-items:center;color:var(--text)}.chat-conversation>button{font-size:11px;margin:14px 0;color:var(--muted)}.chat-history{max-height:calc(100svh - 410px);min-height:100px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:10px 2px}.chat-bubble{max-width:90%;padding:10px 12px;background:var(--key);border:1px solid var(--line);border-radius:10px;align-self:flex-start;overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;border-color:var(--accent)}.chat-bubble p{font-size:13px;line-height:1.6;margin:6px 0}.chat-bubble small,.chat-bubble time{font-size:9px;color:var(--muted)}.chat-compose{border-top:1px solid var(--line);padding-top:6px}.chat-compose button{margin-top:10px}.chat-panel button:focus-visible,.chat-dock:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body.focus .chat-dock{opacity:.4}@media(max-width:700px){.chat-panel{top:80px;right:10px;bottom:10px;width:340px;max-width:calc(100vw - 20px)}.chat-dock{top:auto;bottom:16px;writing-mode:horizontal-tb;padding:12px 16px}.chat-history{max-height:calc(100svh - 410px)}}

.chat-dock{writing-mode:horizontal-tb;display:flex;align-items:center;gap:9px;min-height:50px;padding:13px 16px;background:#b95535;color:#fff;border-color:#e8a08a;font-size:14px;font-weight:700;box-shadow:0 5px 22px #0005;transition:background .18s,box-shadow .18s,transform .18s}.chat-dock:hover{background:#9e4229;color:#fff;transform:translateX(-3px);box-shadow:0 6px 26px #0006}.chat-dock-icon{font-size:21px;line-height:1}.chat-dock-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:20px;background:#fff7ed;color:#752d1a;font-size:11px}.chat-dock-badge[hidden]{display:none}.chat-dock.has-unread{border:2px solid #ffccad;border-right:0}.chat-toast{position:fixed;right:18px;bottom:26px;z-index:45;max-width:calc(100vw - 36px);padding:16px 20px;border:1px solid var(--accent);border-radius:10px;background:var(--key);color:var(--text);box-shadow:0 6px 25px #0005;font:inherit;font-size:13px;text-align:left}.chat-toast[hidden]{display:none}body.focus .chat-dock{opacity:.8}@media(max-width:700px){.chat-toast{bottom:82px}}

.chat-dock-icon{display:inline-block;width:24px;height:24px;flex:none;background:currentColor;-webkit-mask:url('/chat-icon.svg') center/contain no-repeat;mask:url('/chat-icon.svg') center/contain no-repeat}

.chat-dock{min-height:40px;padding:9px 11px;gap:7px;font-size:12px;font-weight:400;background:var(--key);color:var(--text);border:1px solid var(--line);border-right:0;box-shadow:0 2px 8px #0002}.chat-dock:hover{background:var(--key);color:var(--accent);transform:none;box-shadow:0 3px 10px #0003}.chat-dock-icon{width:19px;height:19px}.chat-dock.has-unread{border:1px solid var(--accent);border-right:0}.chat-dock-badge{background:var(--accent);color:white;min-width:18px;height:18px;font-size:10px}body.focus .chat-dock{opacity:.5}

.chat-free{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.chat-free textarea{width:100%;resize:vertical;min-height:75px;background:var(--key);border:1px solid var(--line);border-radius:6px;color:var(--text);padding:10px;font:inherit;font-size:13px}.chat-free small{display:block;color:var(--muted);font-size:10px;margin:7px 0}.chat-consent summary{cursor:pointer;color:var(--accent);font-size:12px;margin:12px 0}.chat-consent p{font-size:11px;line-height:1.7;color:var(--muted)}.chat-consent label{display:flex;gap:8px;align-items:flex-start}.chat-consent input{flex:none;margin-top:3px}.chat-free[hidden],.chat-consent[hidden]{display:none}

/* Achievement collection and earned-badge announcements. */
.badge-collection{margin:24px 0 32px;padding:24px;border:1px solid var(--line);border-radius:14px;scroll-margin-top:24px}.badge-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.badge-heading h2{margin:0}.badge-heading>span{color:var(--accent);font-size:20px}.badge-filters{margin:16px 0}.badge-filters select{margin-left:8px;padding:8px;background:var(--key);color:var(--text);border:1px solid var(--line);border-radius:6px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.achievement{display:flex;gap:14px;padding:16px;border:1px solid var(--line);border-radius:10px;align-items:flex-start}.achievement.earned{background:color-mix(in srgb,var(--accent) 7%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.badge-medal{color:var(--accent);width:44px;flex:0 0 44px}.badge-medal svg{width:44px;height:52px}.achievement.locked .badge-medal{color:var(--muted)}.achievement h3{font-size:15px;margin:6px 0}.achievement p{font-size:12px;line-height:1.6;margin:6px 0}.achievement small{font-size:11px;color:var(--muted)}.achievement progress{display:block;width:100%;height:6px;margin-top:8px;accent-color:var(--accent)}.badge-popup{position:fixed;z-index:1200;right:24px;top:100px;max-width:360px;width:calc(100vw - 48px);padding:20px;box-sizing:border-box;background:var(--key);border:1px solid var(--accent);border-radius:12px;box-shadow:0 12px 40px #0004;display:flex;gap:16px;align-items:flex-start}.badge-popup[hidden]{display:none}.badge-popup strong{color:var(--accent)}.badge-popup p{line-height:1.6;font-size:13px}.badge-popup a{font-size:12px}.badge-popup>button{margin-left:auto;padding:2px 8px;font-size:20px}.badge-popup{animation:badge-appear .25s ease-out}@keyframes badge-appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.badge-popup{animation:none}}@media(max-width:600px){.badge-collection{padding:16px}.badge-popup{top:80px;right:16px;width:calc(100vw - 32px)}}

#race-opponent-fields{display:grid;gap:10px}#race-opponent-fields[hidden]{display:none}#race-opponent-owner,#invite-name{background:var(--key);color:var(--text);border:1px solid var(--line);padding:10px;border-radius:6px;min-width:0;width:100%;font:inherit}#race-format-help{font-size:12px;line-height:1.6;max-width:38ch}.team-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.team-score-card{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--key)}.team-score-card h4{font-size:18px;margin:0 0 12px}.team-score-card strong{font-size:26px;color:var(--accent)}.team-score-card li{padding:4px 0;font-size:12px}.team-score-card:nth-child(2){border-color:#77968a}.team-score-card:nth-child(2) strong{color:#91b6a7}@media(max-width:600px){.team-score-grid{grid-template-columns:1fr}}
