*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{color-scheme:dark;--bg:#0d0d10;--panel:#17171e;--panel2:#111117;--text:#f5f5f8;--muted:#77778b;--faint:#484858;--border:#252530;--border2:#363648;--accent:#8870ee;--accent2:#e5a00d;--green:#4ade80;--red:#fb7185;--orange:#fb923c;--shadow:0 24px 80px rgba(0,0,0,.32)}
:root[data-theme="light"]{color-scheme:light;--bg:#f5f5fb;--panel:#ffffff;--panel2:#f0f0f7;--text:#171720;--muted:#666678;--faint:#77778b;--border:#dedee9;--border2:#cfcfe0;--accent:#6d5be7;--accent2:#d18b00;--green:#16a34a;--red:#e11d48;--orange:#ea580c;--shadow:0 24px 80px rgba(30,30,55,.12)}
html{background:var(--bg);scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}input,select{width:100%;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:13px;padding:.9rem 1rem;outline:none;transition:.18s}input:focus,select:focus{border-color:rgba(136,112,238,.75);box-shadow:0 0 0 4px rgba(136,112,238,.12)}small{color:var(--muted)}[hidden]{display:none!important}.hidden{display:none!important}.muted{color:var(--muted);font-size:14px;line-height:1.7}.bg-orb{position:fixed;border-radius:50%;filter:blur(70px);opacity:.22;z-index:-1;pointer-events:none}.bg-orb.one{width:300px;height:300px;background:var(--accent);top:-130px;left:10%}.bg-orb.two{width:260px;height:260px;background:var(--accent2);right:8%;bottom:-120px}.topbar{width:min(1180px,calc(100% - 32px));margin:16px auto 0;display:flex;align-items:center;justify-content:space-between;gap:16px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--border);border-radius:18px;padding:10px 12px;position:sticky;top:12px;z-index:50;backdrop-filter:blur(16px);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand-icon,.avatar-pill,.profile-avatar,.brand-big,.modal-icon{display:grid;place-items:center;background:rgba(136,112,238,.13);border:1px solid rgba(136,112,238,.22);color:var(--accent)}.brand-icon{width:38px;height:38px;border-radius:12px}.brand-icon i{font-size:20px}.navlinks{display:flex;align-items:center;gap:6px}.navlinks a{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:600;padding:9px 12px;border-radius:12px;transition:.18s}.navlinks a:hover,.navlinks a.active{background:var(--panel2);color:var(--text)}.nav-actions{display:flex;align-items:center;gap:8px}.theme-toggle{width:66px;height:34px;border:1px solid var(--border);border-radius:100px;background:var(--panel2);position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:var(--muted);overflow:hidden}.theme-toggle i{font-size:16px}.toggle-dot{position:absolute;left:4px;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#b9aaff);transition:transform .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 5px 18px rgba(136,112,238,.35)}:root[data-theme="light"] .toggle-dot{transform:translateX(31px);background:linear-gradient(135deg,var(--accent2),#ffd27b)}.btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:13px;padding:.82rem 1rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;white-space:nowrap}.btn:hover{border-color:var(--border2);transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--accent),#6f5ae8);border-color:rgba(136,112,238,.45);color:white}.btn.ghost{background:transparent}.btn.danger{background:rgba(251,113,133,.1);border-color:rgba(251,113,133,.25);color:var(--red)}.btn.small{font-size:12px;padding:.6rem .8rem;border-radius:11px}.btn.compact{width:46px;padding:.9rem}.btn.full{width:100%}.shell{width:min(1180px,calc(100% - 32px));margin:26px auto 0}.shell.narrow{width:min(900px,calc(100% - 32px))}.hero-card,.lobby-hero,.profile-card{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 96%,transparent));border:1px solid var(--border);border-radius:28px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card::before,.lobby-hero::before{content:"";position:absolute;inset:auto -80px -100px auto;width:280px;height:280px;background:radial-gradient(circle,rgba(136,112,238,.22),transparent 62%);pointer-events:none}.hero-copy,.hero-panel,.lobby-hero>div{position:relative}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:rgba(136,112,238,.09);border:1px solid rgba(136,112,238,.2);border-radius:999px;padding:6px 12px;margin-bottom:16px}.hero-copy h1,.page-head h1,.profile-card h1{font-size:clamp(34px,6vw,68px);line-height:1.02;letter-spacing:-.06em;margin-bottom:16px}.hero-copy p,.page-head p,.profile-card p{color:var(--muted);line-height:1.8;max-width:620px}.hero-panel,.auth-card,.section-card{background:var(--panel);border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.player-welcome{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel2);border:1px solid var(--border);border-radius:16px;margin-bottom:14px}.avatar-pill{width:42px;height:42px;border-radius:13px;flex:none}.player-welcome strong,.player-welcome span{display:block}.player-welcome span{color:var(--muted);font-size:13px;margin-top:2px}.stack-form{display:flex;flex-direction:column;gap:12px}.stack-form label,.invite-box label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.inline-form{display:flex;gap:8px;align-items:center}.guest-box{border:1px dashed var(--border2);border-radius:16px;padding:14px;margin-top:12px;display:flex;flex-direction:column;gap:9px}.auth-choice{display:flex;flex-direction:column;gap:10px}.auth-guest{margin-top:18px}.notice,.alert{display:flex;align-items:flex-start;gap:9px;background:rgba(229,160,13,.08);border:1px solid rgba(229,160,13,.2);color:var(--accent2);border-radius:15px;padding:12px;font-size:13px;line-height:1.5;margin-top:16px}.alert{background:rgba(251,113,133,.09);border-color:rgba(251,113,133,.25);color:var(--red)}.sep{display:flex;align-items:center;gap:10px;margin:16px 0}.sep span{height:1px;background:var(--border);flex:1}.sep em{font-style:normal;color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:1fr 1fr}.field-label{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.section-card{margin-top:18px}.section-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;margin-bottom:14px}.section-title i{color:var(--accent);font-size:20px}.section-title.big{font-size:22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.steps div{background:var(--panel2);border:1px solid var(--border);border-radius:16px;padding:14px}.steps b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(136,112,238,.12);color:var(--accent);margin-bottom:12px}.steps strong,.steps span{display:block}.steps span{font-size:13px;color:var(--muted);line-height:1.6;margin-top:5px}.ranking{display:flex;flex-direction:column;gap:8px}.rank-row,.list-row,.mini-card{display:flex;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--border);border-radius:15px;padding:12px;transition:.18s}.rank-row:hover,.mini-card:hover{border-color:var(--border2);transform:translateY(-1px)}.rank{width:30px;height:30px;border-radius:10px;background:rgba(229,160,13,.11);color:var(--accent2);display:grid;place-items:center;font-weight:800}.rank-row div,.list-row div,.mini-card div{flex:1}.rank-row strong,.rank-row small,.list-row strong,.list-row small,.mini-card strong,.mini-card span{display:block}.rank-row small,.list-row small,.mini-card span{color:var(--muted);font-size:12px;margin-top:3px}.rank-row em,.list-row em{font-style:normal;color:var(--accent);font-size:13px;font-weight:800}.mini-card>i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(136,112,238,.12);color:var(--accent);font-size:20px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.page-head{padding:18px 0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{width:min(430px,100%);text-align:center}.brand-big{width:76px;height:76px;border-radius:50%;margin:0 auto 18px}.brand-big i{font-size:34px}.brand-big.warn{background:rgba(251,113,133,.1);border-color:rgba(251,113,133,.23);color:var(--red)}.auth-card h1{font-size:32px;margin-bottom:8px;letter-spacing:-.04em}.auth-card p{color:var(--muted);line-height:1.7;margin-bottom:18px}.auth-footer{margin-top:16px;font-size:13px;color:var(--accent);font-weight:700}.back-link{position:fixed;top:24px;left:24px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}.profile-card{grid-template-columns:auto 1fr;align-items:center}.profile-avatar{width:88px;height:88px;border-radius:24px}.profile-avatar i{font-size:42px}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}.stats-grid.mini{grid-template-columns:repeat(2,1fr)}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:28px;margin-top:8px}.lobby-hero{grid-template-columns:1fr auto}.share-line{display:flex;gap:8px;margin-top:18px;max-width:560px}.lobby-status{display:grid;grid-template-columns:repeat(3,110px);gap:10px;align-content:center}.status-number{background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:14px;text-align:center}.status-number strong{display:block;font-size:22px}.status-number span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.lobby-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;transition:.25s}.lobby-grid.dimmed{opacity:.38;filter:saturate(.5)}.players-list{display:flex;flex-direction:column;gap:9px}.player-row{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:var(--panel2);border:1px solid var(--border);border-radius:16px;padding:11px;color:var(--text);transition:.18s}.player-row:hover{border-color:var(--border2);transform:translateY(-1px)}.player-row.ready{border-color:rgba(74,222,128,.25);background:rgba(74,222,128,.06)}.player-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(136,112,238,.12);color:var(--accent);flex:none}.player-main{flex:1}.player-main strong,.player-main small{display:block}.player-main small{color:var(--muted);font-size:12px;margin-top:3px}.status-tag{font-size:11px;font-weight:800;border-radius:999px;padding:5px 9px}.status-tag.ok{background:rgba(74,222,128,.09);color:var(--green);border:1px solid rgba(74,222,128,.22)}.status-tag.wait{background:rgba(251,146,60,.09);color:var(--orange);border:1px solid rgba(251,146,60,.22)}.lobby-actions{display:grid;gap:8px;margin-top:14px}.cat-select{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:14px 0}.cat-check input{display:none}.cat-check span{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:12px;font-size:13px;font-weight:700;cursor:pointer;transition:.18s}.cat-check input:checked+span{border-color:rgba(136,112,238,.45);background:rgba(136,112,238,.1);color:var(--accent)}.locked-field{height:47px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:13px;padding:0 1rem;background:var(--panel2);color:var(--muted);font-size:13px}.host-hint{margin-top:12px}.invite-box{margin-top:14px}.game-stage,.reveal-stage{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--border);border-radius:28px;padding:24px;margin-top:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.letter-orb{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(136,112,238,.34),rgba(136,112,238,.08));border:1px solid rgba(136,112,238,.3);box-shadow:0 0 60px rgba(136,112,238,.16);margin-bottom:18px;animation:pulse 1.8s ease-in-out infinite}.letter-orb span{font-size:62px;font-weight:900;letter-spacing:-.08em}.timer-pill{position:absolute;top:24px;right:24px;background:rgba(136,112,238,.1);border:1px solid rgba(136,112,238,.25);color:var(--accent);border-radius:999px;padding:9px 15px;font-weight:900}.timer-pill.danger{background:rgba(251,113,133,.1);border-color:rgba(251,113,133,.25);color:var(--red);animation:shake .35s infinite}.answers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:18px}.answer-card{background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:12px}.answer-card span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px}.done-btn{margin-top:14px;min-width:180px}.reveal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.reveal-player{background:var(--panel2);border:1px solid var(--border);border-radius:18px;padding:14px;animation:revealIn .45s ease both}.reveal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.reveal-head span{color:var(--accent);font-weight:900}.reveal-answer{display:grid;grid-template-columns:.8fr 1fr auto;gap:8px;align-items:center;border-top:1px solid var(--border);padding:9px 0;font-size:13px}.reveal-answer span{color:var(--muted)}.reveal-answer em{font-style:normal;color:var(--accent2);font-weight:900}.reveal-actions{display:flex;gap:10px;align-items:center;margin-top:16px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(10px);display:grid;place-items:center;z-index:100;padding:20px}.modal-card{width:min(520px,100%);background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:22px;box-shadow:var(--shadow);position:relative;animation:modalIn .25s ease}.modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:12px;background:var(--panel2);border:1px solid var(--border);color:var(--text)}.modal-icon{width:66px;height:66px;border-radius:20px;margin-bottom:14px}.modal-icon i{font-size:30px}.admin-add-grid,.admin-row{display:grid;grid-template-columns:1fr 1fr 110px auto;gap:8px;align-items:center}.admin-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.admin-row{grid-template-columns:46px 1fr 1fr 90px 100px auto;background:var(--panel2);border:1px solid var(--border);border-radius:16px;padding:9px}.icon-preview{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(136,112,238,.1);color:var(--accent)}.switch-line{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.switch-line input{width:auto}.delete-line{text-align:right}.footer{width:min(1180px,calc(100% - 32px));margin:36px auto 24px;text-align:center;font-size:11px;color:var(--faint)}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes shake{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}@keyframes revealIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:900px){.topbar{align-items:flex-start;flex-wrap:wrap}.navlinks{order:3;width:100%;overflow:auto}.hero-card,.lobby-hero,.profile-card,.lobby-grid,.content-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}.lobby-status{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.shell,.topbar,.footer{width:min(100% - 20px,1180px)}.hero-card,.lobby-hero,.section-card,.auth-card{border-radius:20px;padding:16px}.hero-copy h1,.page-head h1{font-size:36px}.form-grid.two,.steps,.stats-grid,.admin-add-grid,.admin-row{grid-template-columns:1fr}.share-line,.inline-form{align-items:stretch}.share-line{flex-direction:column}.nav-actions{margin-left:auto}.brand span:last-child{display:none}.reveal-answer{grid-template-columns:1fr}.auth-shell{padding:18px}.back-link{position:static;margin-bottom:18px}.lobby-status{grid-template-columns:1fr}}

/* Round overlay + animated reveal v3 */
.round-overlay{position:fixed;inset:clamp(12px,3vw,36px);z-index:80;margin:0!important;overflow:auto;max-width:1180px;width:calc(100% - clamp(24px,6vw,72px));max-height:calc(100vh - clamp(24px,6vw,72px));left:50%;transform:translateX(-50%);animation:modalIn .25s ease both}.round-overlay::before{content:"";position:fixed;inset:-80px;background:rgba(0,0,0,.54);backdrop-filter:blur(10px);z-index:-1}.round-content{transition:.25s}.round-content.countdown-blur{opacity:.18;filter:blur(2px);pointer-events:none}.countdown-screen{position:absolute;inset:0;z-index:3;display:grid;place-items:center;text-align:center;padding:28px;background:radial-gradient(circle at 50% 40%,rgba(136,112,238,.24),rgba(13,13,16,.28) 54%,rgba(13,13,16,.74));border-radius:inherit}.countdown-screen strong{font-size:clamp(92px,18vw,190px);line-height:.8;font-weight:950;letter-spacing:-.1em;color:var(--text);text-shadow:0 0 55px rgba(136,112,238,.35)}.countdown-screen strong.pop{animation:countPop .55s cubic-bezier(.2,.9,.22,1.1)}.countdown-screen p{color:var(--muted);margin-top:-26px}.round-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.reveal-intro{margin:-6px 0 16px}.reveal-focus{margin-bottom:14px}.focus-card{border:1px solid var(--border);background:var(--panel2);border-radius:20px;padding:18px;display:grid;gap:6px;animation:revealIn .28s ease both;position:relative;overflow:hidden}.focus-card::after{content:"";position:absolute;inset:auto -20% -70% -20%;height:120%;background:radial-gradient(circle,rgba(136,112,238,.22),transparent 62%);pointer-events:none}.focus-card span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.focus-card strong{font-size:clamp(28px,5vw,56px);letter-spacing:-.06em;line-height:1}.focus-card em{font-style:normal;font-weight:900;color:var(--accent)}.focus-card small{color:var(--muted);line-height:1.45}.focus-card.ok{border-color:rgba(74,222,128,.22)}.focus-card.ok em{color:var(--green)}.focus-card.bad{border-color:rgba(251,113,133,.24)}.focus-card.bad em{color:var(--red)}.focus-card.waiting strong{color:var(--accent)}.reveal-table-wrap{display:block;overflow:auto;border:1px solid var(--border);border-radius:20px;background:var(--panel2)}.reveal-table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px}.reveal-table th,.reveal-table td{padding:13px 14px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:top}.reveal-table th:last-child,.reveal-table td:last-child{border-right:0}.reveal-table tr:last-child th,.reveal-table tr:last-child td{border-bottom:0}.reveal-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:rgba(136,112,238,.06);text-align:left}.reveal-table tbody th{font-size:13px;color:var(--text);text-align:left;white-space:nowrap}.reveal-table td strong,.reveal-table td span,.reveal-table td small{display:block}.reveal-table td strong{font-size:15px}.reveal-table td span{font-size:12px;font-weight:900;color:var(--accent2);margin-top:4px}.reveal-table td small{font-size:11px;color:var(--muted);line-height:1.35;margin-top:4px;max-width:230px}.reveal-table td.visible{animation:cellPop .32s cubic-bezier(.2,.9,.22,1.1) both}.reveal-table td.locked{text-align:center;color:var(--faint)}.reveal-table td.ok span{color:var(--green)}.reveal-table td.bad span{color:var(--red)}.totals-row th,.totals-row td{background:rgba(229,160,13,.07)}.totals-row td strong{font-size:24px;color:var(--accent2)}.toast{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.22s}.toast.show{opacity:1;transform:none}.toast.error{border-color:rgba(251,113,133,.26)}.toast.error i{color:var(--red)}.toast i{color:var(--accent)}.status-tag{display:inline-flex;align-items:center;gap:5px}.cat-check.selected span{box-shadow:inset 0 0 0 1px rgba(136,112,238,.18)}@keyframes countPop{0%{opacity:0;transform:scale(.72)}55%{opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}@keyframes cellPop{from{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:none}}@media(max-width:760px){.round-overlay{inset:10px;width:calc(100% - 20px);max-height:calc(100vh - 20px);border-radius:22px}.round-actions,.reveal-actions{display:grid;grid-template-columns:1fr}.round-actions .btn,.reveal-actions .btn{width:100%}.timer-pill{position:static;width:max-content;margin:12px 0}.letter-orb{width:94px;height:94px}.letter-orb span{font-size:52px}.reveal-table{min-width:560px}}

/* v4: round/reveal as a real centered game window */
.round-overlay{
  position:fixed!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:min(980px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  overflow:auto!important;
  z-index:120!important;
  animation:roundModalIn .24s cubic-bezier(.2,.9,.22,1.08) both!important;
}
.round-overlay::before{
  content:"";
  position:fixed;
  inset:-100vh -100vw;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(14px);
  z-index:-1;
}
.round-overlay .round-content,
.round-overlay .reveal-content{
  width:100%;
}
@keyframes roundModalIn{
  from{opacity:0;transform:translate(-50%,-46%) scale(.96)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@media(max-width:760px){
  .round-overlay{
    width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 20px)!important;
    border-radius:22px!important;
  }
}

/* v5: hard fix modal centering - previous inset:auto was overriding top/left */
.round-overlay.game-stage,
.round-overlay.reveal-stage{
  position:fixed!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  width:min(980px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100dvh - 32px)!important;
  transform:translate3d(-50%,-50%,0)!important;
  overflow:auto!important;
  z-index:9999!important;
  isolation:isolate;
}
.round-overlay.game-stage::before,
.round-overlay.reveal-stage::before{
  content:"";
  position:fixed;
  inset:-100vmax;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(14px);
  z-index:-1;
  pointer-events:none;
}
@media(max-width:760px){
  .round-overlay.game-stage,
  .round-overlay.reveal-stage{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:22px!important;
  }
}

/* v6: game/reveal as a full in-page screen over the lobby, not a small modal */
body.round-page-open{
  overflow:hidden!important;
}
.round-overlay.game-stage,
.round-overlay.reveal-stage{
  position:fixed!important;
  inset:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  max-height:none!important;
  margin:0!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:9999!important;
  isolation:isolate;
  padding:clamp(16px,3vw,36px)!important;
  background:
    radial-gradient(circle at 18% 8%,rgba(136,112,238,.18),transparent 34%),
    radial-gradient(circle at 82% 92%,rgba(229,160,13,.12),transparent 32%),
    var(--bg)!important;
  animation:roundPageIn .22s ease both!important;
}
.round-overlay.game-stage::before,
.round-overlay.reveal-stage::before{
  display:none!important;
}
.round-overlay.game-stage::after,
.round-overlay.reveal-stage::after{
  content:"";
  position:fixed;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 36%,rgba(0,0,0,.08));
  pointer-events:none;
  z-index:-1;
}
.round-overlay.game-stage .round-content,
.round-overlay.reveal-stage > .section-title,
.round-overlay.reveal-stage > .reveal-intro,
.round-overlay.reveal-stage > .reveal-focus,
.round-overlay.reveal-stage > .reveal-grid,
.round-overlay.reveal-stage > .reveal-actions{
  width:min(1120px,100%);
  margin-left:auto;
  margin-right:auto;
}
.round-overlay.game-stage .round-content{
  position:relative;
  min-height:calc(100dvh - clamp(32px,6vw,72px));
  display:grid;
  grid-template-columns:auto 1fr;
  align-content:start;
  gap:16px 22px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 96%,transparent));
  border:1px solid var(--border);
  border-radius:30px;
  padding:clamp(18px,3.2vw,34px);
  box-shadow:var(--shadow);
}
.round-overlay.game-stage .letter-orb{
  grid-row:1 / span 2;
  margin:0;
  align-self:start;
}
.round-overlay.game-stage .timer-pill{
  position:absolute!important;
  top:clamp(18px,3vw,30px)!important;
  right:clamp(18px,3vw,30px)!important;
}
.round-overlay.game-stage .answers-grid{
  grid-column:1 / -1;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:12px;
  margin-top:8px;
}
.round-overlay.game-stage .answer-card{
  background:color-mix(in srgb,var(--panel) 90%,transparent);
}
.round-overlay.game-stage .round-actions{
  grid-column:1 / -1;
  position:sticky;
  bottom:0;
  z-index:4;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg) 92%,transparent) 28%,color-mix(in srgb,var(--bg) 98%,transparent));
  padding-top:18px;
  padding-bottom:2px;
}
.round-overlay .countdown-screen{
  position:fixed!important;
  inset:0!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(136,112,238,.32),transparent 32%),
    color-mix(in srgb,var(--bg) 88%,transparent)!important;
  backdrop-filter:blur(14px);
}
.round-overlay.reveal-stage{
  display:block;
}
.round-overlay.reveal-stage > .section-title.big{
  margin-top:4px;
  margin-bottom:12px;
  font-size:clamp(24px,4vw,42px);
  letter-spacing:-.04em;
}
.round-overlay.reveal-stage > .reveal-intro{
  margin-bottom:18px;
}
.round-overlay.reveal-stage > .reveal-focus{
  margin-bottom:16px;
}
.round-overlay.reveal-stage > .reveal-grid{
  max-height:none;
}
.round-overlay.reveal-stage .reveal-table-wrap,
.round-overlay.reveal-stage .reveal-grid{
  overflow:auto;
  border-radius:24px;
}
.round-overlay.reveal-stage .reveal-table{
  min-width:min(760px,100%);
  table-layout:auto;
}
.round-overlay.reveal-stage .reveal-table th,
.round-overlay.reveal-stage .reveal-table td{
  padding:clamp(10px,1.6vw,15px);
}
.round-overlay.reveal-stage .reveal-table td small{
  max-width:min(280px,36vw);
}
.round-overlay.reveal-stage .reveal-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg) 92%,transparent) 30%,var(--bg));
  padding:18px 0 2px;
}
@keyframes roundPageIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
@media(max-width:820px){
  .round-overlay.game-stage,
  .round-overlay.reveal-stage{
    padding:12px!important;
  }
  .round-overlay.game-stage .round-content{
    min-height:calc(100dvh - 24px);
    grid-template-columns:1fr;
    border-radius:24px;
    padding:16px;
  }
  .round-overlay.game-stage .letter-orb{
    grid-row:auto;
    width:96px;
    height:96px;
  }
  .round-overlay.game-stage .letter-orb span{
    font-size:52px;
  }
  .round-overlay.game-stage .timer-pill{
    position:static!important;
    width:max-content;
    margin:0 0 4px;
  }
  .round-overlay.game-stage .round-actions,
  .round-overlay.reveal-stage .reveal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .round-overlay.game-stage .round-actions .btn,
  .round-overlay.reveal-stage .reveal-actions .btn{
    width:100%;
  }
}
@media(max-width:680px){
  .round-overlay.reveal-stage .reveal-table-wrap,
  .round-overlay.reveal-stage .reveal-grid{
    overflow:visible;
    border:0;
    background:transparent;
  }
  .round-overlay.reveal-stage .reveal-table,
  .round-overlay.reveal-stage .reveal-table thead,
  .round-overlay.reveal-stage .reveal-table tbody,
  .round-overlay.reveal-stage .reveal-table tr,
  .round-overlay.reveal-stage .reveal-table th,
  .round-overlay.reveal-stage .reveal-table td{
    display:block;
    width:100%;
    min-width:0;
  }
  .round-overlay.reveal-stage .reveal-table thead{
    display:none;
  }
  .round-overlay.reveal-stage .reveal-table tr{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:20px;
    overflow:hidden;
    margin-bottom:12px;
    box-shadow:0 14px 38px rgba(0,0,0,.12);
  }
  .round-overlay.reveal-stage .reveal-table tbody th{
    padding:14px 15px;
    border:0;
    border-bottom:1px solid var(--border);
    background:rgba(136,112,238,.08);
    white-space:normal;
    font-size:13px;
  }
  .round-overlay.reveal-stage .reveal-table td{
    border:0;
    border-bottom:1px solid var(--border);
    padding:12px 15px 12px 112px;
    min-height:64px;
    position:relative;
  }
  .round-overlay.reveal-stage .reveal-table tr td:last-child{
    border-bottom:0;
  }
  .round-overlay.reveal-stage .reveal-table td::before{
    content:attr(data-player);
    position:absolute;
    left:15px;
    top:13px;
    width:82px;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
    line-height:1.25;
  }
  .round-overlay.reveal-stage .reveal-table td small{
    max-width:none;
  }
  .round-overlay.reveal-stage .totals-row th{
    background:rgba(229,160,13,.1)!important;
  }
  .round-overlay.reveal-stage .totals-row td{
    background:rgba(229,160,13,.045)!important;
  }
}

/* v9: memoria mini AI e input stabili */
.mini-memory-btn,
.memory-inline{
  border:1px solid rgba(136,112,238,.28);
  background:rgba(136,112,238,.10);
  color:var(--accent);
  border-radius:999px;
  padding:.45rem .7rem;
  font-size:.78rem;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.mini-memory-btn{margin-top:.75rem;width:max-content;max-width:100%}
.memory-inline{margin-top:.45rem;padding:.32rem .55rem;font-size:.72rem}
.mini-memory-btn:hover,
.memory-inline:hover{transform:translateY(-1px);border-color:rgba(136,112,238,.48);background:rgba(136,112,238,.16)}
.mini-memory-btn:disabled,
.memory-inline:disabled{opacity:.7;cursor:wait;transform:none}

/* v11: categories visible only to host + stable host setup selection */
.cat-select.cat-select-waiting{display:block;margin:14px 0}
.setup-wait-panel{grid-column:1/-1;min-height:176px;display:grid;place-items:center;text-align:center;gap:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 92%,transparent),color-mix(in srgb,var(--panel) 98%,transparent));border:1px dashed var(--border2);border-radius:18px;padding:22px;color:var(--muted)}
.setup-wait-panel .wait-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(136,112,238,.12);border:1px solid rgba(136,112,238,.22);color:var(--accent);margin:0 auto 4px}
.setup-wait-panel .wait-icon i{font-size:27px}
.setup-wait-panel strong{display:block;color:var(--text);font-size:17px;letter-spacing:-.02em}
.setup-wait-panel span{display:block;max-width:430px;margin:0 auto;font-size:13px;line-height:1.65;color:var(--muted)}
