@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";:root{color:#ece8ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background:#090914;--background-elevated:#10101d;--surface:#121220e0;--surface-strong:#1e1e2feb;--surface-high:#242437f0;--surface-highest:#2c2c44fa;--surface-white:#fcf9ff;--primary:#cf96ff;--primary-strong:#c683ff;--primary-bright:#f39bff;--primary-soft:#cf96ff3d;--secondary:#00fbfb;--secondary-soft:#00fbfb33;--tertiary:#e8ff89;--tertiary-text:#b8ff60;--text:#ece8ff;--muted:#aaa4c8;--outline:#ffffff14;--outline-strong:#cf96ff2e;--shadow-lg:0 20px 60px #0000005c;--shadow-strong:0 28px 80px #0000007a;--glass-blur:blur(20px);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--duration-fast:.16s;--duration-base:.22s;--focus-ring:0 0 0 2px #00fbfbd1;font-family:Plus Jakarta Sans,sans-serif;font-weight:500;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 16% 18%,#00fbfb24,#0000 28%),radial-gradient(circle at 82% 12%,#cf96ff2e,#0000 26%),radial-gradient(circle at 70% 82%,#f3ffca14,#0000 20%),linear-gradient(#111120 0%,#0a0a14 54%,#07070f 100%);position:relative;overflow-x:hidden}body:before,body:after{content:"";z-index:-1;pointer-events:none;filter:blur(70px);opacity:.45;border-radius:999px;position:fixed;inset:auto}body:before{background:#cf96ff3d;width:26vw;height:26vw;top:7vh;right:-8vw}body:after{background:#00fbfb26;width:24vw;height:24vw;bottom:-10vh;left:-5vw}button,input,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:none}img{max-width:100%;display:block}.screen-shell,.landing-shell{min-height:100vh;padding:clamp(.75rem,2vw,1.5rem)}.landing-shell,.host-shell{gap:1rem;display:grid}.host-shell--neon{gap:1.1rem}.host-shell--active{grid-template-rows:auto minmax(0,1fr);gap:clamp(.72rem,1.3vw,1rem);height:100dvh;min-height:100dvh;padding:clamp(.7rem,1.4vw,1.15rem);overflow:hidden}.player-shell{grid-template-rows:auto minmax(0,1fr) auto auto;gap:.5rem;height:100dvh;display:grid;overflow:hidden}.player-shell--immersive{grid-template-rows:minmax(0,1fr) auto;gap:0;padding:0}.landing-grid,.host-grid{gap:1rem;display:grid}.host-grid{grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);align-items:start}.host-grid--board{grid-template-columns:minmax(14.5rem,18rem) minmax(0,1fr);align-items:stretch;min-height:0}.host-grid--lobby{grid-template-columns:minmax(22rem,30rem) minmax(0,1fr)}.host-shell--lobby-view{grid-template-rows:minmax(0,1fr);gap:1rem;height:100dvh;min-height:100dvh;padding:.75rem;overflow:hidden}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.panel{background:linear-gradient(180deg, #ffffff0a, transparent 28%), var(--surface);box-shadow:inset 0 0 0 1px var(--outline), var(--shadow-lg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:none;border-radius:1.75rem;position:relative;overflow:hidden}.panel:before{content:"";pointer-events:none;background:radial-gradient(circle,#cf96ff29,#0000 70%);border-radius:50%;width:11rem;height:11rem;position:absolute;top:-5rem;right:-5rem}.inset-panel{background:linear-gradient(180deg, #ffffff05, transparent 32%), var(--surface-high);padding:1rem}.landing-hero,.host-stage,.player-banner,.player-footer,.join-panel,.loading-panel,.qr-panel,.scoreboard-panel,.landing-grid .panel{padding:clamp(1rem,2vw,1.5rem)}.landing-hero h1,.host-stage h1,.player-banner h1,.join-panel h1,.loading-panel h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.92}.player-banner h1{font-size:clamp(1.45rem,3vw,2.3rem)}.lead,.player-banner p,.player-footer p,.loading-panel p,.join-panel p{margin:0}.lead{max-width:56rem;color:var(--muted);font-size:clamp(1rem,1.55vw,1.15rem)}.eyebrow{color:#ece8ffa8;letter-spacing:.22em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:800}.primary-button,.secondary-button,.number-stepper button,.history-buttons button,.join-card button,.join-form button,.tool-dock__button,.shape-chip,.eye-button{transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), opacity var(--duration-fast) linear, background-color var(--duration-fast) linear, color var(--duration-fast) linear}.primary-button,.secondary-button,.number-stepper button,.history-buttons button,.join-card button,.join-form button,.shape-chip,.tool-dock__button{border:none;border-radius:999px;position:relative;overflow:hidden}.primary-button{background:linear-gradient(135deg, var(--primary-strong) 0%, var(--primary-bright) 100%);color:#14081f;padding:.92rem 1.35rem;box-shadow:0 18px 30px #c683ff52,inset 0 0 0 1px #ffffff1f}.primary-button:before,.secondary-button:before,.tool-dock__button:before,.history-buttons button:before,.immersive-button:before,.immersive-close-button:before,.canvas-reset-button:before,.eye-button:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--duration-fast) linear;pointer-events:none;background:linear-gradient(#ffffff1f,#0000 48%);position:absolute;inset:1px}.primary-button--wide{justify-content:center;width:100%}.secondary-button{background:linear-gradient(180deg, #ffffff0a, transparent 100%), var(--surface-high);color:var(--text);box-shadow:inset 0 0 0 1px var(--outline);padding:.92rem 1.25rem}.primary-button:hover,.secondary-button:hover,.number-stepper button:hover,.history-buttons button:hover,.join-card button:hover,.join-form button:hover,.shape-chip:hover,.tool-dock__button:hover,.eye-button:hover{transform:translateY(-1px)}.primary-button:hover:before,.secondary-button:hover:before,.tool-dock__button:hover:before,.history-buttons button:hover:before,.immersive-button:hover:before,.immersive-close-button:hover:before,.canvas-reset-button:hover:before,.eye-button:hover:before{opacity:1}.primary-button:active,.secondary-button:active,.number-stepper button:active,.history-buttons button:active,.join-card button:active,.join-form button:active,.shape-chip:active,.tool-dock__button:active,.eye-button:active{transform:scale(.97)}.primary-button:disabled,.secondary-button:disabled,.number-stepper button:disabled,.history-buttons button:disabled,.join-card button:disabled,.join-form button:disabled,.shape-chip:disabled,.tool-dock__button:disabled,.eye-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.primary-button:focus-visible,.secondary-button:focus-visible,.number-stepper button:focus-visible,.history-buttons button:focus-visible,.join-card button:focus-visible,.join-form button:focus-visible,.shape-chip:focus-visible,.tool-dock__button:focus-visible,.eye-button:focus-visible,.immersive-button:focus-visible,.immersive-close-button:focus-visible,.canvas-reset-button:focus-visible,.color-strip button:focus-visible,.language-control select:focus-visible,.join-card input:focus-visible,.join-form input:focus-visible,.brush-size input:focus-visible{box-shadow:var(--focus-ring), inset 0 0 0 1px #ffffff29}.landing-actions,.host-controls,.status-cluster,.action-cluster,.player-card__header,.player-card__meta,.section-header,.number-stepper,.join-card__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.join-card{gap:.65rem;min-width:min(100%,25rem);display:grid}.join-card label,.join-form label,.brush-size span{color:var(--muted);font-size:.8rem;font-weight:700}.join-card input,.join-form input{width:100%;min-width:12rem;box-shadow:inset 0 0 0 1px var(--outline-strong);color:var(--text);background:#ffffff0a;border:none;border-radius:1rem;padding:.9rem 1rem}.host-stage--poster{background:radial-gradient(circle at 78% 18%,#00fbfb24,#0000 26%),radial-gradient(circle at 10% 88%,#cf96ff1f,#0000 30%),linear-gradient(#ffffff08,#0000 32%),linear-gradient(#10101dfa,#0c0c17fa);align-content:start;gap:.95rem;display:grid;overflow:hidden}.host-stage h1{background:linear-gradient(90deg, var(--secondary) 0%, #8ec5ff 28%, #d6b8ff 72%, var(--primary-bright) 100%);color:#0000;text-wrap:balance;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,4.4vw,4.8rem);line-height:.9}.host-stage__layout{grid-template-columns:minmax(0,1.55fr) minmax(18rem,.95fr);align-items:start;gap:clamp(.85rem,1.5vw,1.15rem);display:grid}.host-stage__prompt{align-content:start;gap:.55rem;min-width:0;display:grid}.host-stage__prompt .eyebrow{margin-bottom:0}.host-stage__prompt h1{max-width:16ch;margin:0}.host-stage__prompt .lead{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:58ch;font-size:clamp(.96rem,1.2vw,1.08rem);line-height:1.34;display:-webkit-box;overflow:hidden}.host-stage__prompt--wide h1{max-width:20ch;font-size:clamp(2.15rem,3.7vw,3.75rem)}.host-stage__prompt--balanced h1{max-width:none;font-size:clamp(1.8rem,3vw,3rem);line-height:.94}.host-stage__prompt--compact h1{max-width:none;font-size:clamp(1.45rem,2.35vw,2.35rem);line-height:.98}.host-stage__sidebar{align-content:start;gap:.8rem;min-width:0;display:grid}.host-stage__notices{gap:.5rem;display:grid}.host-brand{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;margin-bottom:1.1rem;display:flex}.host-brand__lockup{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.host-brand__lockup .eyebrow{color:#f7a8ff;margin-bottom:0}.host-brand__tag{color:#ece8ffdb;background:#ffffff0a;border-radius:999px;align-items:center;padding:.42rem .72rem;font-size:.76rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #cf96ff3d}.host-brand__status{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.host-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(.55rem,1vw,.85rem);min-height:0;padding:0;display:flex}.host-topbar__brand,.host-topbar__meta{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.host-topbar__meta{justify-content:flex-end}.host-topbar .status-pill{padding:.38rem .68rem;font-size:.72rem}.host-topbar .host-icon-chip{width:2.35rem;height:2.35rem}.host-lobby-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.2rem .1rem;display:flex}.host-lobby-topbar__brand,.host-lobby-topbar__meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.host-icon-chip{color:#ece8ffb8;background:#ffffff0a;border-radius:999px;place-items:center;width:2.6rem;height:2.6rem;display:inline-grid;box-shadow:inset 0 0 0 1px #cf96ff2e}.host-lobby-layout{grid-template:"hero roster""settings roster"minmax(0,1fr)/minmax(30rem,.94fr) minmax(38rem,1.22fr);align-items:start;gap:1.1rem;min-height:0;display:grid}.host-lobby-fit-shell{width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.host-lobby-fit-canvas{transform-origin:50%;gap:1.15rem;width:min(1820px,100vw - .75rem);min-height:780px;padding:.75rem;display:grid;position:absolute;top:50%;left:50%}.host-lobby-notices{gap:.5rem;display:grid}.host-summary-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px var(--outline), 0 16px 34px #0000003d;background:linear-gradient(135deg,#ffffff0a,#ffffff03),#1c1c2de6;border-radius:1.35rem;gap:.75rem;padding:.92rem 1rem;display:grid}.host-summary-card--compact{grid-template-columns:repeat(2,minmax(0,auto)) minmax(0,1fr);align-items:center;gap:.7rem 1rem}.host-summary-card__metric{gap:.15rem;min-width:0;display:grid}.host-summary-card__metric strong{letter-spacing:-.04em;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:clamp(1.45rem,2.2vw,2rem);line-height:.92}.host-summary-card__metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.host-summary-card__meta{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.host-controls--board{align-items:stretch;gap:.75rem}.host-control-stack--board{flex:none}.host-control-panel{border-radius:1.25rem;padding:.9rem .95rem}.action-cluster--board{justify-content:flex-end}.action-cluster--board .primary-button,.action-cluster--board .secondary-button{min-height:2.9rem;padding-inline:.95rem}.status-pill{color:#ece8ffb8;box-shadow:inset 0 0 0 1px var(--outline);background:#ffffff0d;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.host-active-layout{grid-template-columns:minmax(14.5rem,17rem) minmax(0,1fr);align-items:stretch;gap:clamp(.7rem,1vw,.9rem);min-height:0;display:grid;overflow:hidden}.host-side-rail{grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;gap:.7rem;min-height:0;display:grid;overflow:hidden}.host-topic-card,.host-round-card,.host-controls-card,.host-gallery-stage{padding:clamp(.8rem,1vw,1rem)}.host-topic-card{background:radial-gradient(circle at 100% 0,#00fbfb1f,#0000 34%),linear-gradient(#ffffff09,#0000 30%),#10101dfa;align-content:start;gap:.5rem;display:grid}.host-topic-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.host-topic-card__header .eyebrow{margin-bottom:0}.host-topic-card__tags{justify-content:flex-end}.host-topic-card h1{color:#f6f2fffa;letter-spacing:-.04em;background:0 0;max-width:none;margin:0;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:clamp(1.4rem,1.95vw,2.05rem);line-height:.98}.host-topic-card .lead{color:#ece8ffb8;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:none;font-size:clamp(.82rem,.9vw,.94rem);line-height:1.38;display:-webkit-box;overflow:hidden}.host-topic-card--wide h1{font-size:clamp(1.3rem,1.8vw,1.8rem)}.host-topic-card--balanced h1{font-size:clamp(1.16rem,1.55vw,1.56rem)}.host-topic-card--compact h1{font-size:clamp(1.04rem,1.26vw,1.32rem);line-height:1.02}.host-round-card,.host-controls-card,.host-gallery-stage{background:linear-gradient(#ffffff09,#0000 28%),#0f0f1af5}.host-round-card{gap:.75rem;display:grid}.host-round-card__hero{gap:.35rem;display:grid}.host-round-card__hero .eyebrow{margin-bottom:0}.host-round-card__hero strong{letter-spacing:-.05em;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:clamp(1.16rem,1.55vw,1.52rem);line-height:.98}.host-round-card__hero p{color:#ece8ffb8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.38;display:-webkit-box;overflow:hidden}.host-round-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.host-round-card__stats div{box-shadow:inset 0 0 0 1px var(--outline);background:#ffffff0a;border-radius:1rem;gap:.28rem;padding:.58rem .62rem;display:grid}.host-round-card__stats span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.host-round-card__stats strong{letter-spacing:-.03em;font-size:.88rem}.host-controls-card{align-content:start;gap:.7rem;display:grid}.host-control-stack--rail,.host-control-section{gap:.6rem;display:grid}.host-control-section .difficulty-slider-panel__header strong,.host-control-section .theme-pack-panel__header strong{font-size:.9rem}.host-control-section .theme-pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.host-control-section .difficulty-slider__step,.host-control-section .theme-pack-card{min-height:2.3rem}.host-control-section .theme-pack-card{padding:.5rem .48rem}.host-control-section .theme-pack-card strong{font-size:.7rem;line-height:1.12}.action-cluster--rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.action-cluster--rail .primary-button,.action-cluster--rail .secondary-button{min-height:2.5rem;padding-inline:.7rem;font-size:.82rem}.host-gallery-stage{grid-template-rows:auto minmax(0,1fr);gap:.72rem;min-height:0;display:grid}.host-gallery-stage__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.65rem;display:flex}.host-gallery-stage__header .eyebrow,.host-gallery-stage__header h2{margin:0}.host-gallery-stage__header h2{letter-spacing:-.04em;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:clamp(1.04rem,1.4vw,1.4rem);line-height:1}.host-gallery-stage__status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.host-gallery-stage__status .status-pill{padding:.35rem .62rem;font-size:.7rem}.host-gallery-stage .player-grid--host-stage{grid-auto-flow:dense;grid-template-columns:repeat(auto-fit,minmax(min(14.5rem,100%),1fr));place-content:start center;align-items:start;height:100%;min-height:0}.host-gallery-stage .empty-state{min-height:100%}.host-toast-layer{top:calc(max(env(safe-area-inset-top), 0px) + .8rem);z-index:28;pointer-events:none;gap:.55rem;width:min(42rem,100vw - 1.5rem);display:grid;position:fixed;left:50%;transform:translate(-50%)}.host-toast-layer .notice-banner{pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px #ffffff14,0 18px 36px #00000047}.qr-frame{background:linear-gradient(#ffffff14,#0000 46%),#07070d;border-radius:1.9rem;place-items:center;min-height:19.5rem;margin-bottom:1rem;padding:1.45rem;display:grid;box-shadow:inset 0 0 0 1px #cf96ff24,0 22px 40px #00000052}.qr-frame img{background:#f7f3ff;border-radius:1.45rem;width:min(100%,19.5rem);padding:1.15rem;box-shadow:inset 0 0 0 1px #0a0a140f}.qr-panel code{color:#ece8ffe0;word-break:break-all;box-shadow:inset 0 0 0 1px var(--outline);background:#ffffff0d;border-radius:1rem;padding:.8rem 1rem;font-size:.9rem;display:block}.qr-panel--hero{text-align:center;align-content:start;justify-items:center;gap:1.05rem;min-height:0;padding:clamp(1.5rem,2.2vw,2.25rem);display:grid}.qr-panel--hero h1{letter-spacing:-.05em;margin:0;font-size:clamp(3rem,4.6vw,4.95rem);line-height:.92}.qr-panel--hero .qr-frame{width:min(100%,27.5rem);min-height:21.5rem;padding:1.55rem}.qr-panel--hero .qr-frame img{width:min(100%,19.8rem)}.qr-panel--hero code{width:min(100%,27.5rem)}.qr-room-chip{background:#0000003d;border-radius:1rem;align-items:center;gap:.75rem;padding:.72rem 1rem;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14}.qr-room-chip span{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:800}.qr-room-chip strong{color:var(--secondary);letter-spacing:.24em;font-size:1.1rem}.qr-panel__rotate-button{align-self:center;margin-top:1rem}.lobby-hero-panel{grid-area:hero}.lobby-settings-panel{background:linear-gradient(#ffffff08,#0000 24%),#0f0f1af5;grid-area:settings;align-content:start;align-self:stretch;gap:1rem;padding:1.2rem 1.25rem 1.25rem;display:grid}.lobby-settings-panel__header{gap:.4rem;display:grid}.lobby-settings-panel__header h2{align-items:center;gap:.75rem;margin:0;font-size:1.15rem;display:inline-flex}.lobby-settings-panel__header p{color:var(--muted);margin:0;font-size:.86rem}.section-header--stacked{align-items:flex-start}.lobby-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.lobby-control-card{box-shadow:inset 0 0 0 1px var(--outline);background:linear-gradient(#ffffff0a,#0000 100%),#1c1c2df0;border-radius:1.35rem;padding:.95rem 1rem}.lobby-control-card select{background:#0000002e}.lobby-control-card--wide{grid-column:1/-1}.lobby-roster-panel{background:radial-gradient(circle at 100% 0,#cf96ff1a,#0000 24%),linear-gradient(#ffffff08,#0000 24%),#0f0f1af5;grid-area:roster;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;height:100%;min-height:32rem;padding:1.2rem 1.25rem 1.25rem;display:grid}.lobby-roster-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;display:flex}.lobby-roster-panel__header h2{letter-spacing:-.04em;align-items:center;gap:.75rem;margin:0;font-size:clamp(1.6rem,2.5vw,2.2rem);display:inline-flex}.lobby-roster-count{background:#00000038;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .9rem;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14}.lobby-roster-count strong{color:var(--tertiary);font-size:.95rem}.lobby-roster-count span{color:#ece8ffad;font-size:.84rem;font-weight:700}.lobby-roster-count__dot{background:var(--tertiary);border-radius:999px;width:.55rem;height:.55rem;box-shadow:0 0 .7rem #f3ffcab3}.lobby-roster-list{flex:auto;align-content:start;gap:.85rem;min-height:0;display:grid}.lobby-pending-list{gap:.7rem;display:grid}.lobby-pending-card{background:linear-gradient(#ffffff0f,#0000 100%),#291e3eeb;border-radius:1.3rem;gap:.85rem;padding:.95rem 1rem;display:grid;box-shadow:inset 0 0 0 1px #cf96ff33,0 10px 24px #00000029}.lobby-pending-card h3,.lobby-pending-card p{margin:0}.lobby-pending-card__actions{justify-content:flex-end;gap:.65rem;display:flex}.lobby-pending-card__actions .primary-button,.lobby-pending-card__actions .secondary-button{min-height:2.6rem;padding-inline:1rem}.lobby-roster-row{box-shadow:inset 0 0 0 1px var(--outline);transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-fast) linear, opacity var(--duration-fast) linear;background:linear-gradient(#ffffff0a,#0000 100%),#1c1c2df0;border-radius:1.3rem;justify-content:space-between;align-items:center;gap:.95rem;padding:.9rem 1rem;display:flex}.lobby-roster-row--online{box-shadow:inset 0 0 0 1px #00fbfb29,0 10px 24px #0000002e}.lobby-roster-row--offline{opacity:.68}.lobby-roster-row__identity{align-items:center;gap:.85rem;min-width:0;display:flex}.lobby-roster-row__identity h3,.lobby-roster-row__identity p{margin:0}.lobby-roster-row__identity p{color:var(--muted);font-size:.8rem}.lobby-roster-row__avatar{color:#f7f4ff;letter-spacing:.06em;background:radial-gradient(circle at 32% 28%,#fff3,#0000 35%),linear-gradient(135deg,#cf96ff5c,#00fbfb42);border-radius:999px;flex:none;place-items:center;width:2.7rem;height:2.7rem;font-size:.9rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.lobby-roster-row__status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.lobby-roster-empty{min-height:10.25rem}.lobby-roster-panel__footer{gap:.75rem;margin-top:auto;padding-top:.25rem;display:grid}.primary-button--lobby{letter-spacing:.01em;justify-content:center;align-items:center;gap:.85rem;min-height:4rem;font-size:1.05rem;display:inline-flex}.qr-panel h2{letter-spacing:-.04em;margin:0 0 .7rem;font-size:clamp(1.6rem,2.4vw,2.2rem)}.round-panel{gap:1rem;min-height:0;display:grid}.round-panel__hero{box-shadow:inset 0 0 0 1px var(--outline);background:radial-gradient(circle at top,#00fbfb1a,#0000 55%),linear-gradient(#ffffff08,#0000 60%),#0f0f1aeb;border-radius:1.45rem;gap:.45rem;padding:1rem;display:grid}.round-panel__hero strong{letter-spacing:-.06em;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:clamp(2.3rem,4vw,3.8rem);line-height:.88}.round-panel__hero span{color:var(--muted)}.round-panel__stats{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;display:grid}.round-panel__stats div{box-shadow:inset 0 0 0 1px var(--outline);background:#ffffff0a;border-radius:1.15rem;gap:.3rem;padding:.85rem .95rem;display:grid}.round-panel__stats span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:700}.round-panel__stats strong{letter-spacing:-.03em;font-size:1.05rem}.micro-copy{color:var(--muted);margin:.75rem 0 0;font-size:.84rem}.player-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;display:grid}.player-grid--adaptive{grid-template-columns:repeat(auto-fit,minmax(14.5rem,1fr));align-content:start;align-items:stretch;min-height:0}.status-pill--ready{color:var(--tertiary);background:#e8ff892e}.status-pill--blocked{color:#ff99ac;background:#ff6e8424}.status-pill--signal{color:#9efbfb;background:#00fbfb1f}.language-control{gap:.4rem;min-width:12rem;display:grid}.host-control-stack{flex:22rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.language-control .eyebrow{margin-bottom:0}.control-copy{color:var(--muted);font-size:.76rem;line-height:1.35}.language-control select{width:100%;color:var(--text);box-shadow:inset 0 0 0 1px var(--outline-strong);background:#ffffff0f;border:none;border-radius:1rem;padding:.82rem 1rem}.host-language-picker{gap:.38rem;min-width:12rem;display:grid}.host-language-picker .eyebrow{color:#ece8ff8f;letter-spacing:.18em;margin-bottom:0;font-size:.64rem}.host-language-picker select{appearance:none;width:100%;min-height:2.8rem;color:var(--text);background:linear-gradient(#ffffff14,#0000 100%),#191929eb;border:none;border-radius:1.1rem;padding:.78rem 2.5rem .78rem 1rem;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 24px #0000002e}.host-language-picker--topbar{min-width:10.8rem}.host-language-picker--topbar select{background:linear-gradient(#ffffff0f,#0000 100%),#12121fe0;border-radius:999px;min-height:2.55rem;padding-block:.7rem}.difficulty-slider-panel{gap:.8rem;display:grid;position:relative}.difficulty-slider-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.difficulty-slider-panel__header .eyebrow{margin-bottom:0}.difficulty-slider-panel__header strong{letter-spacing:-.02em;font-size:.95rem}.difficulty-slider{isolation:isolate;background:linear-gradient(#ffffff0f,#0000 100%),#0c0c17d6;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 8px 24px #00000029}.difficulty-slider__thumb{z-index:0;width:calc(33.3333% - .166667rem);height:calc(100% - .5rem);transition:transform var(--duration-base) var(--ease-out);background:radial-gradient(circle at top,#ffffff2e,#0000 60%),linear-gradient(135deg,#00fbfbeb,#9173fff0);border-radius:999px;position:absolute;top:.25rem;left:.25rem;box-shadow:0 0 30px #00fbfb38,inset 0 0 0 1px #ffffff2e}.difficulty-slider__thumb--easy{transform:translate(0%)}.difficulty-slider__thumb--normal{transform:translate(100%)}.difficulty-slider__thumb--chaos{transform:translate(200%)}.difficulty-slider__step{z-index:1;color:#ece8ffc2;letter-spacing:-.01em;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;min-height:2.95rem;font-weight:700;display:inline-flex;position:relative}.difficulty-slider__step.is-active{color:#12061e}.theme-pack-panel{gap:.8rem;display:grid}.theme-pack-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.theme-pack-panel__header .eyebrow{margin-bottom:0}.theme-pack-panel__header strong{letter-spacing:-.02em;font-size:.95rem}.theme-pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.theme-pack-card{color:#ece8ffcc;letter-spacing:-.01em;text-align:center;min-height:2.95rem;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), color var(--duration-fast) linear, background var(--duration-fast) linear;background:linear-gradient(#ffffff0a,#0000 100%),#0c0c17d6;border:none;border-radius:1rem;justify-content:center;align-items:center;padding:.75rem .9rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14,0 8px 20px #00000024}.theme-pack-card strong{margin:0;font-size:.92rem}.theme-pack-card.is-active{color:#12061e;background:radial-gradient(circle at top,#ffffff29,#0000 60%),linear-gradient(135deg,#00fbfbeb,#9173fff0);transform:translateY(-1px);box-shadow:0 16px 28px #00fbfb29,inset 0 0 0 1px #ffffff2e}.host-modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#04040cb8;place-items:center;padding:clamp(.9rem,3vw,2rem);display:grid;position:fixed;inset:0}.host-modal{background:radial-gradient(circle at 100% 0,#00fbfb1f,#0000 22%),radial-gradient(circle at 0 0,#cf96ff2e,#0000 28%),linear-gradient(#ffffff0a,#0000 26%),#0d0d16fa;gap:.9rem;width:min(100%,42rem);max-height:min(42rem,100dvh - 2rem);padding:clamp(1.05rem,2vw,1.45rem);display:grid;overflow:auto}.host-modal--ai{position:relative;overflow:visible}.host-modal--rules{width:min(100%,58rem)}.host-modal__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.host-modal__header h2,.host-modal__body,.host-modal__subcopy{margin:0}.host-modal__header h2{letter-spacing:-.04em;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:clamp(1.55rem,2.5vw,2.2rem)}.host-modal__body,.host-modal__subcopy{color:var(--muted);line-height:1.5}.host-ai-loader{place-items:center;min-height:clamp(15rem,30vw,18rem);display:grid;position:relative}.host-ai-loader__ring{--ai-progress:0;aspect-ratio:1;background:radial-gradient(circle,#00fbfb1f,#0000 54%),linear-gradient(#ffffff09,#fff0);border-radius:2rem;place-items:center;width:min(100%,14rem);margin:0 auto;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff0a,0 18px 54px #0306186b}.host-ai-loader__ring:before,.host-ai-loader__ring:after{content:"";border-radius:50%;position:absolute;inset:0}.host-ai-loader__ring:before{background:radial-gradient(circle at center, #00fbfb2e, transparent 58%), conic-gradient(from -90deg, #00fbfbfa calc(var(--ai-progress) * 1%), #3f436780 0);filter:drop-shadow(0 0 20px #00fbfb42);-webkit-mask:radial-gradient(circle,#0000 61%,#000 62%);mask:radial-gradient(circle,#0000 61%,#000 62%)}.host-ai-loader__ring:after{background:radial-gradient(circle,#00fbfb24,#0000 64%),#0a0d1eeb;border-radius:50%;inset:1.6rem;box-shadow:inset 0 0 0 1px #ffffff08,0 18px 36px #00000057}.host-ai-loader__core{z-index:1;text-align:center;justify-items:center;gap:.2rem;display:grid;position:relative}.host-ai-loader__core strong,.host-ai-loader__core span{margin:0}.host-ai-loader__core strong{letter-spacing:-.08em;color:#f4f0fffa;text-shadow:0 6px 26px #070b2061;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:clamp(3.4rem,6vw,5rem);line-height:.92}.host-ai-loader__core span{color:#00fbfbf0;letter-spacing:.16em;text-transform:uppercase;font-size:.9rem;font-weight:800}.host-ai-loader__copy{align-content:center;gap:.7rem;display:grid}.host-floating-hint{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;border-radius:1rem;gap:.28rem;width:min(18rem,46%);padding:.82rem .9rem;display:grid;position:absolute;bottom:.2rem;right:clamp(.35rem,1vw,.85rem);box-shadow:inset 0 0 0 1px #ffffff14,0 18px 34px #00000042}.host-floating-hint strong{letter-spacing:.04em;text-transform:uppercase;font-size:.84rem}.host-floating-hint span{color:#f4f0ffcc;font-size:.83rem;line-height:1.42}.host-floating-hint--warning{color:#00fbfbf0;background:radial-gradient(circle at 100% 0,#00fbfb2e,#0000 42%),#0d1222d6}.host-floating-hint--blocked{color:#ffb1be;background:radial-gradient(circle at 100% 0,#ff6e8433,#0000 40%),#220e18e0}.host-modal__stats,.host-compat-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem;display:grid}.host-modal__stats--compact{grid-template-columns:minmax(0,10.5rem) minmax(0,1fr);align-items:stretch}.host-modal__stat-card,.host-compat-row,.host-rule-card{background:linear-gradient(#ffffff0d,#0000 100%),#191929f0;border-radius:1.2rem;gap:.35rem;padding:.82rem .9rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.host-modal__stat-card strong,.host-compat-row strong{font-size:1rem}.host-performance-card{background:radial-gradient(circle at 50% 0,#ffffff1f,#0000 55%),#ffffff0a;border:1px solid #ffffff14;border-radius:1.15rem;gap:.28rem;min-height:0;padding:.82rem .95rem;display:grid;position:relative;overflow:hidden}.host-performance-card:after{content:"";filter:blur(22px);opacity:.42;pointer-events:none;border-radius:999px;width:8rem;height:8rem;position:absolute;inset:auto -12% -45% auto}.host-performance-card__headline{letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:800}.host-performance-card__value{letter-spacing:-.04em;font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;font-size:1.08rem;line-height:1.1}.host-performance-card__recognition{color:var(--muted);font-size:.76rem;line-height:1.35}.host-performance-card--neutral{box-shadow:inset 0 0 0 1px #ffffff08,0 14px 34px #00000038}.host-performance-card--neutral:after{background:#cf96ff61}.host-performance-card--neutral .host-performance-card__headline{color:#f4f0ffcc}.host-performance-card--neutral .host-performance-card__value{color:#f4f0fff2}.host-performance-card--neutral{animation:host-performance-pulse 1.6s var(--ease-in-out) infinite}.host-performance-card--green{background:radial-gradient(circle at 50% 0,#d2ff9538,#0000 55%),linear-gradient(#57dd812e,#162c22f5);border-color:#8cffa457;box-shadow:inset 0 0 0 1px #ffffff08,0 20px 44px #39a6652e}.host-performance-card--green:after{background:#adff7980}.host-performance-card--green .host-performance-card__headline,.host-performance-card--green .host-performance-card__value{color:#efffd1}.host-performance-card--green .host-performance-card__recognition{color:#e9ffd9db}.host-performance-card--yellow{background:radial-gradient(circle at 50% 0,#ffec9238,#0000 55%),linear-gradient(#ffd66629,#312310f5);border-color:#ffdf7857;box-shadow:inset 0 0 0 1px #ffffff08,0 20px 44px #ad7e2229}.host-performance-card--yellow:after{background:#ffdc7680}.host-performance-card--yellow .host-performance-card__headline,.host-performance-card--yellow .host-performance-card__value{color:#fff5cf}.host-performance-card--yellow .host-performance-card__recognition{color:#fff0ced6}.host-performance-card--orange{background:radial-gradient(circle at 50% 0,#ffaf7238,#0000 55%),linear-gradient(#ff92472e,#34180cf5);border-color:#ffa45957;box-shadow:inset 0 0 0 1px #ffffff08,0 20px 44px #b15a2229}.host-performance-card--orange:after{background:#ff90467a}.host-performance-card--orange .host-performance-card__headline,.host-performance-card--orange .host-performance-card__value{color:#ffe6d3}.host-performance-card--orange .host-performance-card__recognition{color:#ffe5d0d1}.host-performance-card--red{background:radial-gradient(circle at 50% 0,#ff819633,#0000 55%),linear-gradient(#ff5a782e,#32121cf5);border-color:#ff6f8457;box-shadow:inset 0 0 0 1px #ffffff08,0 20px 44px #9f2d5029}.host-performance-card--red:after{background:#ff5a787a}.host-performance-card--red .host-performance-card__headline,.host-performance-card--red .host-performance-card__value{color:#ffe0e6}.host-performance-card--red .host-performance-card__recognition{color:#ffdde6cc}@keyframes host-performance-pulse{0%,to{transform:translateZ(0);box-shadow:inset 0 0 0 1px #ffffff08,0 14px 34px #00000038}50%{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff0a,0 18px 42px #7355bd33}}.host-compat-row{align-content:start}.host-compat-row span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.host-compat-row__detail{color:#f5f0ffd1;letter-spacing:normal;text-transform:none;font-size:.88rem;font-weight:500;line-height:1.45}.host-compat-row--ok{box-shadow:inset 0 0 0 1px #00fbfb2e,0 12px 30px #00fbfb0f}.host-compat-row--blocked{box-shadow:inset 0 0 0 1px #ff6e8438,0 12px 30px #ff6e8414}.host-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.host-rules-list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;display:grid}.host-rule-card h3,.host-rule-card p{margin:0}.host-rule-card h3{letter-spacing:-.02em;font-size:1rem}.host-rule-card p{color:var(--muted);line-height:1.45}@media (width<=820px){.host-ai-loader{grid-template-columns:1fr}.host-ai-loader__ring{width:min(100%,14.5rem)}.host-ai-loader__copy{text-align:center}.theme-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.player-card{min-height:0;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);background:linear-gradient(#ffffff0a,#0000 34%),#181828f0;border-radius:1.35rem;align-content:start;gap:.6rem;padding:.86rem;display:grid}.player-card--aurora{background:radial-gradient(circle at 100% 0,#cf96ff1f,#0000 30%),#181828f0}.player-card--mint{background:radial-gradient(circle at 100% 0,#00fbfb1a,#0000 28%),#181828f0}.player-card--citrus{background:radial-gradient(circle at 100% 0,#e8ff8914,#0000 24%),#181828f0}.player-card--berry{background:radial-gradient(circle at 100% 0,#ff6e841f,#0000 28%),#181828f0}.player-card--online{box-shadow:inset 0 0 0 1px var(--outline), 0 16px 30px #00000047}.player-card--offline{opacity:.82}.player-card--evaluating{transform:translateY(-.15rem)scale(1.01);box-shadow:inset 0 0 0 1px #cf96ff6b,0 18px 36px #c683ff38}.player-card--winner{background:radial-gradient(circle at 100% 0,#e8ff8947,#0000 28%),radial-gradient(circle at 0 0,#cf96ff29,#0000 34%),linear-gradient(#ffffff0f,#0000 32%),#1e1e2ffa;border-radius:1.6rem;grid-column:span 2;padding:.98rem;box-shadow:inset 0 0 0 1px #e8ff8947,0 24px 44px #c683ff33}.scoreboard-panel{background:linear-gradient(#ffffff08,#0000 24%),#0f0f1af5;grid-template-rows:auto minmax(0,1fr);gap:.85rem;min-height:0;display:grid;position:relative;overflow:hidden}.scoreboard-panel--celebrate{box-shadow:inset 0 0 0 1px #e8ff8938,0 30px 60px #c683ff33}.player-card h3,.player-card p,.player-card__meta span,.tool-footer,.canvas-lock p,.section-header h2,.landing-grid h2,.landing-grid p{margin:0}.player-card h3,.section-header h2,.landing-grid h2,.player-footer h2{letter-spacing:-.03em}.player-card p,.player-card__meta,.empty-state,.landing-grid p{color:var(--muted)}.player-card h3{font-size:1rem}.player-card p,.player-card__meta span{font-size:.78rem}.thumbnail-frame{aspect-ratio:16/9;background:#0b0b12eb;border-radius:1.15rem;justify-self:center;width:min(100%,1.77778*clamp(8.8rem,24vh,14.75rem));position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.player-mascot{background:#0e0e18e6;border-radius:1rem;gap:.2rem;max-width:16rem;padding:.65rem .8rem;display:grid;position:absolute;inset:auto .8rem .8rem;box-shadow:inset 0 0 0 1px #ffffff0f,0 12px 24px #0000003d}.player-mascot strong{font-size:1.1rem;line-height:1}.player-mascot span{color:#ece8ffe6;font-size:.78rem;font-weight:700}.player-mascot--active{background:#471762e6}.player-mascot--queued{background:#12232ceb}.player-mascot--hype{background:#111120eb}.thumbnail-frame img{object-fit:cover;width:100%;height:100%}.thumbnail-frame.is-empty,.empty-state{text-align:center;background:#ffffff08;border-radius:1.15rem;place-items:center;padding:1rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d}.confetti-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-layer span{top:-10%;left:calc((var(--confetti-index) * 5.3%) + 2%);opacity:.9;width:.7rem;height:1.2rem;transform:rotate(calc((var(--confetti-index) * 17deg) - 32deg));animation:1.6s ease-in infinite confetti-fall;animation-delay:calc(var(--confetti-index) * -90ms);background:linear-gradient(#fffffff2,#f3ffcaeb);border-radius:999px;position:absolute}.confetti-layer span:nth-child(3n){background:linear-gradient(#fffffff2,#00fbfbe6)}.confetti-layer span:nth-child(4n){background:linear-gradient(#fffffff2,#cf96ffeb)}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-10%)rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(120vh)rotate(240deg)}}.drawing-shell{height:100%;min-height:0}.studio-shell{grid-template-columns:4.7rem minmax(0,1fr);gap:0;height:100%;min-height:0;display:grid}.tool-dock{transform-origin:0;background:linear-gradient(#ffffff0a,#0000 26%),#121220eb;border-radius:0 1.4rem 1.4rem 0;flex-direction:column;justify-content:flex-start;gap:.48rem;padding:.6rem .32rem;display:flex}.tool-dock__section{gap:.36rem;display:grid}.tool-dock__label{display:none}.tool-dock__stack{gap:.42rem;display:grid}.tool-dock__button{color:#ece8ffdb;width:100%;min-height:2.85rem;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background var(--duration-fast) linear, color var(--duration-fast) linear;background:#ffffff05;border-radius:999px;justify-items:center;gap:0;padding:.3rem .16rem;font-size:0;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #0000}.tool-dock__button.is-active{color:#061217;background:linear-gradient(135deg,#00fbfbf0 0%,#76fffff5 100%);transform:scale(1.04);box-shadow:0 14px 28px #00fbfb2e,inset 0 0 0 1px #ffffff29}.stitch-icon{width:1.2rem;height:1.2rem;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--icon-url);background-color:currentColor;flex:none;display:inline-block;position:relative;-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.tool-icon{width:1.15rem;height:1.15rem}.tool-icon--small{width:1rem;height:1rem}.host-icon{width:1.05rem;height:1.05rem}.host-icon--muted{color:#ece8ffb8}.host-icon--button{width:1.15rem;height:1.15rem}.canvas-stage{background:radial-gradient(circle at top,#cf96ff14,#0000 26%),linear-gradient(#ffffff08,#0000 18%),#10101df0;border-radius:0;min-height:0;padding:0;position:relative}.canvas-paper{background:#0e0e18f0;border-radius:0;place-items:center;height:100%;min-height:0;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d,0 24px 50px #00000047}.canvas-viewport{width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.canvas-zoom-layer{transform-origin:50%;will-change:transform;place-items:center;width:100%;height:100%;display:grid}.drawing-canvas{aspect-ratio:16/9;background:var(--surface-white);touch-action:none;border-radius:0;width:100%;height:auto;max-height:100%;display:block}.canvas-lock{pointer-events:none;z-index:5;text-align:center;opacity:0;transition:opacity var(--duration-fast) linear;background:#162f500f;place-items:center;padding:1.5rem;display:grid;position:absolute;inset:0}.canvas-lock.is-interactive{pointer-events:auto}.canvas-lock.is-visible{opacity:1;color:#f4efff;background:#07070fcc}.canvas-overlay{text-align:center;scrollbar-width:thin;justify-items:center;gap:.75rem;width:min(92vw,32rem);max-width:min(92vw,32rem);max-height:min(100%,100dvh - 2.5rem);padding:.25rem .35rem;display:grid;overflow-y:auto}.canvas-topic-preview{background:#ffffff0f;border-radius:1rem;gap:.16rem;width:min(100%,23rem);max-height:min(30vh,10rem);padding:.8rem .95rem;display:grid;overflow-y:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.canvas-topic-preview--loading{text-align:center;place-items:center}.canvas-topic-preview__label{letter-spacing:.14em;text-transform:uppercase;color:#ecf3ffb3;font-size:.7rem;font-weight:800}.canvas-topic-preview strong{letter-spacing:-.03em;font-size:clamp(1rem,2.6vw,1.3rem);line-height:1.05}.canvas-overlay .primary-button{position:sticky;bottom:0}.canvas-overlay h2,.canvas-overlay strong,.canvas-overlay span,.canvas-overlay p{margin:0}.canvas-overlay--countdown strong{letter-spacing:-.06em;font-size:clamp(4.8rem,18vw,9rem);line-height:.8}.canvas-overlay--countdown span,.canvas-overlay--winner span,.canvas-overlay--queue span,.canvas-overlay--lobby p{color:#ecf3ffdb;font-size:.95rem}.canvas-overlay--lobby h2,.canvas-overlay--winner h2,.canvas-overlay--queue h2,.canvas-overlay--penalty h2{font-size:clamp(1.35rem,4vw,2.2rem)}.canvas-overlay--penalty strong{letter-spacing:-.03em;font-size:clamp(1.15rem,3vw,1.75rem)}.canvas-overlay--blocked span{color:#ecf3ffe0;max-width:28rem;font-size:.95rem}.floating-toolbar,.color-palette{z-index:3;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow-lg);color:var(--text);background:#121220db;position:absolute}.floating-toolbar{transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-fast) linear;border-radius:1.3rem}.canvas-utility-stack{top:max(.3rem, env(safe-area-inset-top));left:max(.3rem, env(safe-area-inset-left));z-index:6;gap:.32rem;display:grid;position:absolute}.floating-toolbar--history{bottom:max(.35rem, env(safe-area-inset-bottom));left:max(.35rem, env(safe-area-inset-left));transform-origin:0 100%;padding:.38rem}.floating-toolbar--size{top:max(.35rem, env(safe-area-inset-top));transform-origin:top;min-width:11.2rem;padding:.55rem .72rem;bottom:auto;left:50%;right:auto;transform:translate(-50%)}.tool-pill{color:var(--text);box-shadow:inset 0 0 0 1px var(--outline);background:#ffffff0f;border-radius:999px;align-items:center;padding:.38rem .7rem;font-size:.76rem;font-weight:700;display:inline-flex}.color-palette{top:50%;right:max(.3rem, env(safe-area-inset-right));transform-origin:100%;width:3.7rem;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-fast) linear;border-radius:1.2rem;gap:.42rem;padding:.5rem .36rem;display:grid;transform:translateY(-50%)}.color-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;display:grid}.color-strip button{aspect-ratio:1;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), outline-color var(--duration-fast) linear;border:none;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff1f}.color-strip button.is-active{box-shadow:0 0 0 2px var(--secondary), 0 10px 20px #00fbfb33;outline:3px solid #fffffff2;transform:scale(.92)}.brush-size{gap:.35rem;display:grid}.brush-size input{width:100%;accent-color:var(--secondary)}.history-buttons{gap:.35rem;display:flex}.history-buttons button{width:2.7rem;height:2.7rem;color:var(--text);box-shadow:inset 0 0 0 1px var(--outline);transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-fast) linear;background:#ffffff0f;place-items:center;padding:0;font-weight:700;display:grid}.history-buttons button:not(:disabled){background:#ffffff1a}.immersive-button,.immersive-close-button,.canvas-reset-button{color:var(--text);letter-spacing:.02em;box-shadow:inset 0 0 0 1px var(--outline), var(--shadow-lg);transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-fast) linear, color var(--duration-fast) linear;background:#121220e0;border:none;border-radius:999px;font-size:.74rem;font-weight:800}.immersive-button,.canvas-reset-button{place-items:center;min-width:2.7rem;min-height:2.7rem;padding:.62rem .82rem;display:grid}.immersive-close-button{border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;padding:0;font-size:1.35rem;line-height:1;display:grid}.canvas-notice{top:calc(max(.35rem, env(safe-area-inset-top)) + 2.8rem);z-index:4;color:#ece8ffeb;text-align:center;width:min(24rem,100% - 8rem);box-shadow:var(--shadow-lg);pointer-events:none;transition:transform var(--duration-fast) var(--ease-out), opacity var(--duration-fast) linear;background:#121220eb;border-radius:1rem;padding:.7rem .9rem;position:absolute;left:50%;transform:translate(-50%)}.eye-button{left:50%;right:auto;bottom:max(.35rem, env(safe-area-inset-bottom));z-index:4;background:linear-gradient(135deg, var(--primary-strong) 0%, var(--primary-bright) 100%);color:#1a0826;width:4.8rem;height:4.05rem;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), filter var(--duration-fast) linear;border:none;border-radius:999px;place-items:center;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 18px 34px #c683ff4d,inset 0 0 0 1px #ffffff1f}.eye-button__eyes{background:#ffffff29;border-radius:999px;gap:.35rem;padding:.55rem .6rem;display:flex}.eye-button__eye{transform-origin:50% 62%;background:#fffffff0;border-radius:999px;place-items:center;width:1.25rem;height:1.25rem;animation:4.6s ease-in-out infinite eye-blink;display:grid}.eye-button__pupil{width:.48rem;height:.48rem;transform:translate(calc(var(--gaze-x,0) * .18rem), calc(var(--gaze-y,0) * .18rem));transition:transform .11s var(--ease-out);background:#000;border-radius:999px}.canvas-tooltip{z-index:6;color:#f5f1fff5;letter-spacing:.01em;pointer-events:none;white-space:nowrap;animation:tooltip-in-right .14s var(--ease-out);background:#090914f5;border-radius:999px;padding:.46rem .72rem;font-size:.76rem;font-weight:700;line-height:1;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 36px #0000005c}.canvas-tooltip--right{transform-origin:0;transform:translateY(-50%)}.canvas-tooltip--top{transform-origin:bottom;animation-name:tooltip-in-top;transform:translate(-50%,-100%)}.eye-button__eye:nth-child(2){animation-delay:.16s}.player-banner{grid-template-columns:minmax(0,1.35fr) minmax(15rem,1fr);align-items:start;gap:.85rem;display:grid}.player-footer{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:.9rem;display:grid}.feedback-stack{gap:.6rem;display:grid}.notice-banner,.ai-feedback{color:var(--muted);box-shadow:inset 0 0 0 1px var(--outline);background:#ffffff0d;border-radius:1rem;padding:.85rem 1rem}.notice-banner--blocked{color:#ff9aac;background:#ff6e841f}.notice-banner--warning{color:#edffac;background:#e8ff891f}.ai-feedback{gap:.25rem;display:grid}.ai-feedback strong{color:var(--text)}.ai-feedback.is-success{color:var(--tertiary);background:#e8ff891f}.join-panel,.loading-panel{max-width:34rem;margin:auto}.join-panel,.loading-panel,.landing-hero,.landing-grid .panel{background:linear-gradient(#ffffff08,#0000 28%),#11111ff0}.join-form{gap:.8rem;display:grid}.orientation-hint{display:none}@keyframes tooltip-in-right{0%{opacity:0;transform:translate(6px,-50%)scale(.96)}to{opacity:1;transform:translateY(-50%)scale(1)}}@keyframes tooltip-in-top{0%{opacity:0;transform:translate(-50%,calc(6px - 100%))scale(.96)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}@keyframes eye-blink{0%,42%,46%,to{transform:scaleY(1)}44%{transform:scaleY(.14)}}@media (width<=1100px){.lobby-settings-grid{grid-template-columns:1fr}.host-brand{align-items:flex-start}.player-card--winner{grid-column:span 1}.round-panel__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.host-stage__layout{grid-template-columns:minmax(0,1.28fr) minmax(15.25rem,.92fr)}.host-summary-card--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.host-summary-card__meta{grid-column:1/-1;justify-content:flex-start}}@media (width<=760px){.host-grid,.host-stage__layout,.player-banner,.player-footer{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine){.lobby-roster-row:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #cf96ff2e,0 18px 34px #0000003d}.player-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffffff14,0 24px 42px #00000042}.floating-toolbar:hover,.color-palette:hover{box-shadow:var(--shadow-strong)}}@media (width<=900px){.studio-shell{grid-template-columns:4.2rem minmax(0,1fr)}.host-grid--board{grid-template-columns:minmax(13rem,15rem) minmax(0,1fr)}.tool-dock__button{min-height:2.7rem}.floating-toolbar--size{min-width:10rem}}@media (height<=820px){.host-modal{gap:.8rem;width:min(100%,40rem)}.host-modal__header h2{font-size:clamp(1.35rem,2vw,1.85rem)}.host-ai-loader{grid-template-columns:minmax(0,12rem) minmax(0,1fr)}.host-ai-loader__ring{width:min(100%,12rem)}}@media (width<=1100px),(height<=620px){.host-modal{gap:.7rem;width:min(100%,36rem);padding:.95rem}.host-modal__header h2{font-size:clamp(1.2rem,2.2vw,1.65rem)}.host-ai-loader{grid-template-columns:minmax(0,9.6rem) minmax(0,1fr);gap:.8rem}.host-ai-loader__ring{width:min(100%,9.6rem)}.host-modal__body{font-size:.95rem;line-height:1.4}.host-modal__stats--compact{grid-template-columns:minmax(0,8.6rem) minmax(0,1fr);gap:.65rem}.host-modal__stat-card,.host-performance-card{padding:.72rem .8rem}.host-performance-card__value{font-size:1rem}.host-performance-card__recognition{font-size:.72rem}.notice-banner{padding:.72rem .84rem}.host-modal__actions{gap:.6rem}.host-modal__actions .primary-button,.host-modal__actions .secondary-button{min-height:2.55rem;padding-inline:.9rem}}@media (height<=500px){.host-modal{gap:.5rem;width:min(100%,31rem);padding:.78rem}.host-modal .eyebrow{letter-spacing:.18em;font-size:.62rem}.host-modal__header h2{font-size:1.08rem}.host-ai-loader{grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:.65rem}.host-ai-loader__ring{width:min(100%,7rem)}.host-modal__stats--compact{grid-template-columns:minmax(0,7.2rem) minmax(0,1fr)}.host-modal__body{font-size:.86rem;line-height:1.34}.host-modal__stat-card,.host-performance-card{padding:.6rem .68rem}.host-performance-card__headline{font-size:.68rem}.host-performance-card__value{font-size:.92rem}.host-performance-card__recognition{font-size:.68rem}.notice-banner{display:none}.host-modal__actions{flex-wrap:nowrap;gap:.5rem}.host-modal__actions .primary-button,.host-modal__actions .secondary-button{min-height:2.3rem;padding-inline:.72rem}}@media (height<=760px){.host-shell--active{gap:.8rem;padding:.75rem}.host-stage--poster,.scoreboard-panel,.round-panel{padding:.95rem}.host-stage--poster{gap:.75rem}.host-stage__prompt .lead{font-size:.95rem}.host-control-panel{padding:.8rem .85rem}.difficulty-slider__step,.theme-pack-card{min-height:2.55rem}.round-panel{gap:.8rem}.round-panel__hero{padding:.85rem}.round-panel__stats div{padding:.75rem .8rem}.player-card{gap:.65rem;padding:.85rem}}@media (height<=560px){.host-stage__prompt .lead{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.host-stage__prompt h1{max-width:none}.host-stage__prompt--poster h1{font-size:clamp(2rem,3.8vw,3rem)}.host-stage__prompt--wide h1{font-size:clamp(1.7rem,3vw,2.6rem)}.host-stage__prompt--balanced h1{font-size:clamp(1.5rem,2.5vw,2.15rem)}.host-stage__prompt--compact h1{font-size:clamp(1.28rem,2vw,1.8rem)}.host-summary-card__metric strong{font-size:clamp(1.2rem,1.9vw,1.55rem)}.status-pill{padding:.4rem .72rem;font-size:.72rem}.action-cluster--board .primary-button,.action-cluster--board .secondary-button{min-height:2.6rem}.round-panel__hero strong{font-size:clamp(1.85rem,3.2vw,2.65rem)}}@media (width<=640px){.screen-shell,.landing-shell{padding:.6rem}.player-shell{gap:0;padding:0}.landing-hero,.host-stage,.player-banner,.player-footer,.join-panel,.loading-panel,.qr-panel,.scoreboard-panel,.landing-grid .panel{padding:.9rem}.floating-toolbar--size{left:50%;right:auto;top:calc(max(.3rem, env(safe-area-inset-top)) + 2.8rem);width:min(11rem,100% - 7rem);bottom:auto;transform:translate(-50%)}.canvas-notice{width:min(20rem,100% - 6rem)}.color-palette{top:50%;right:max(.22rem, env(safe-area-inset-right));width:3.25rem;padding:.42rem .28rem}.eye-button{width:4.3rem;height:3.7rem}.qr-frame{min-height:15rem}.qr-frame img{width:min(100%,14.5rem)}.lobby-roster-row{flex-direction:column;align-items:flex-start}.lobby-roster-row__status{justify-content:flex-start}.round-panel__stats{grid-template-columns:1fr}}@media (width<=1180px),(height<=760px){.host-shell--active{gap:.68rem;padding:.72rem}.host-active-layout{grid-template-columns:minmax(14rem,16rem) minmax(0,1fr)}.host-side-rail{gap:.62rem}.host-topic-card,.host-round-card,.host-controls-card,.host-gallery-stage{padding:.8rem}.host-control-section .theme-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.host-gallery-stage .player-grid--host-stage{grid-template-columns:repeat(auto-fit,minmax(min(15.75rem,100%),1fr))}.player-card{padding:.8rem}}@media (width<=980px),(height<=620px){.host-topbar{gap:.52rem}.host-topbar__brand,.host-topbar__meta{gap:.45rem}.host-active-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.host-floating-hint{width:min(17rem,52%)}.host-side-rail{grid-template-rows:1fr;grid-template-columns:minmax(0,1.2fr) minmax(0,.88fr) minmax(0,1.15fr);align-items:stretch}.host-topic-card,.host-round-card,.host-controls-card{min-height:0}.host-controls-card{align-content:stretch}.host-control-stack--rail{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.host-control-section .theme-pack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.host-gallery-stage__header{align-items:flex-start}}@media (width<=840px),(height<=520px){.host-shell--active{gap:.58rem;padding:.58rem}.host-lobby-layout{grid-template-columns:minmax(27rem,.96fr) minmax(30rem,1.12fr)}.host-topbar .status-pill{padding:.32rem .56rem;font-size:.68rem}.host-topbar .host-icon-chip{width:2.15rem;height:2.15rem}.host-side-rail{grid-template-rows:auto auto;grid-template-columns:repeat(2,minmax(0,1fr))}.host-topic-card,.host-controls-card{grid-column:1/-1}.host-topic-card .lead,.host-round-card__hero p{display:none}.host-round-card__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.host-control-stack--rail{gap:.5rem}.host-floating-hint{width:min(14.5rem,56%);bottom:.15rem;right:.15rem}.host-control-section,.host-control-section .difficulty-slider__track{gap:.5rem}.host-control-section .difficulty-slider__step,.host-control-section .theme-pack-card{min-height:2.1rem}.action-cluster--rail .primary-button,.action-cluster--rail .secondary-button{min-height:2.3rem;font-size:.76rem}.host-gallery-stage{gap:.62rem}.host-gallery-stage .player-grid--host-stage{grid-template-columns:repeat(auto-fit,minmax(min(13.6rem,100%),1fr));gap:.6rem}.player-card{gap:.5rem;padding:.74rem}.player-card h3{font-size:.94rem}.player-card p,.player-card__meta span{font-size:.72rem}}@media (orientation:portrait) and (width<=900px){.orientation-hint{color:var(--text);text-align:center;background:#dee9ffc7;border-radius:1rem;place-items:center;padding:.8rem 1rem;display:grid}}
