:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#05060a;color:#e9fbff;--bg: #05060a;--panel: rgba(8, 12, 22, .72);--panel-strong: rgba(12, 19, 34, .9);--glass: rgba(255, 255, 255, .045);--line: rgba(0, 242, 255, .35);--line-soft: rgba(0, 242, 255, .16);--text: #e9fbff;--muted: #8ba4ad;--primary: #00f2ff;--secondary: #ff00ff;--warning: #fff200;--danger: #ff2d55;--success: #35ff9a;--shadow-cyan: 0 0 18px rgba(0, 242, 255, .28);--shadow-magenta: 0 0 22px rgba(255, 0, 255, .24);--cut: polygon(22px 0, 100% 0, 100% calc(100% - 22px) , calc(100% - 22px) 100%, 0 100%, 0 22px);--cut-sm: polygon(10px 0, 100% 0, 100% calc(100% - 10px) , calc(100% - 10px) 100%, 0 100%, 0 10px)}*{box-sizing:border-box}body{position:relative;margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:linear-gradient(90deg,#05060a24,#05060ac2 30%,#05060ad6 70%,#05060a29),radial-gradient(circle at 18% 12%,rgba(255,0,255,.2),transparent 30%),radial-gradient(circle at 86% 20%,rgba(0,242,255,.2),transparent 28%),url(/bg-left.png) left top / auto 100vh no-repeat fixed,url(/bg-right.png) right top / auto 100vh no-repeat fixed,#05060a}body:before,body:after{position:fixed;inset:0;pointer-events:none;content:""}body:before{z-index:-2;background:linear-gradient(rgba(18,26,42,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(18,26,42,.42) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:linear-gradient(180deg,black,transparent 88%);mask-image:linear-gradient(180deg,black,transparent 88%)}body:after{z-index:5;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 4px);mix-blend-mode:overlay;opacity:.34}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.home-shell{position:relative;width:min(1480px,calc(100% - 32px));min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:32px;margin:0 auto;padding:40px 0}.home-columns{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.25fr) minmax(320px,.92fr);align-items:center;gap:34px;width:100%}.home-col{display:flex;flex-direction:column;justify-content:center;gap:34px;min-width:0}.home-col--center{align-self:center}.home-footer{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px}.footer-link-action{min-height:42px;border:1px solid rgba(0,242,255,.46);border-radius:12px;padding:0 18px;background:linear-gradient(90deg,#00f2ff14,#ff00ff0b),#02060fb3;color:var(--muted);box-shadow:0 0 12px #00f2ff2e,inset 0 0 12px #00f2ff0f;font-weight:850;text-transform:none}.footer-link-action:hover{border-color:#ff00ffad;color:var(--text);box-shadow:0 0 14px #ff00ff3d,inset 0 0 12px #ff00ff14}.home-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 40%,rgba(0,242,255,.16),transparent 34%),#02040abd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-modal{position:relative;width:min(620px,100%);max-height:min(760px,calc(100vh - 48px));overflow-y:auto;display:grid;gap:16px;padding:26px;border:1px solid rgba(0,242,255,.72);border-radius:18px;background:linear-gradient(135deg,#00f2ff14,#ff00ff0d),#02060fc7;box-shadow:0 0 18px #00f2ff52,inset 0 0 20px #00f2ff14}.home-modal h2{margin:0;color:var(--text);font-size:1.85rem}.home-modal-close{position:absolute;top:14px;right:14px;width:36px;min-height:36px;display:grid;place-items:center;border:1px solid rgba(255,0,255,.56);border-radius:10px;background:#ff00ff14;color:#ffc8ff;box-shadow:inset 0 0 10px #ff00ff1a}.privacy-content{display:grid;gap:12px}.privacy-content p{margin:0;color:var(--muted);line-height:1.6}.feedback-form{display:grid;gap:14px}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.feedback-form label{display:grid;gap:8px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.feedback-form textarea{min-height:108px;resize:vertical;padding:14px 15px}.feedback-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.feedback-actions .primary-action{min-width:132px}.feedback-success,.feedback-error{margin:0;font-weight:850}.feedback-success{color:var(--success)}.feedback-error{color:var(--danger)}@media(max-width:1040px){.home-shell{justify-content:flex-start;padding:28px 0 44px}.home-columns{grid-template-columns:1fr;align-items:stretch}.home-col,.home-col--center{justify-content:flex-start;align-self:stretch}.feedback-grid{grid-template-columns:1fr}}.entry-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,430px);align-items:center;gap:22px;padding:48px 0}.brand-panel,.entry-panel,.players-panel,.play-panel,.topbar{position:relative;border:1px solid var(--line);clip-path:var(--cut);background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 34%),var(--panel);box-shadow:inset 0 0 26px #00f2ff14,var(--shadow-cyan),0 28px 80px #00000070;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-panel:before,.entry-panel:before,.players-panel:before,.play-panel:before,.topbar:before{position:absolute;inset:10px;z-index:-1;border:1px solid rgba(255,0,255,.16);clip-path:var(--cut);content:""}.brand-panel:after,.entry-panel:after,.players-panel:after,.play-panel:after,.topbar:after{position:absolute;left:18px;right:18px;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),var(--secondary),transparent);box-shadow:var(--shadow-cyan);content:""}.brand-panel{min-height:640px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:44px 54px}.brand-panel .lead,.brand-panel .eyebrow,.brand-panel .app-logo,.brand-panel h1{position:relative;z-index:1}.monitor-stage{position:relative;display:grid;gap:30px}.monitor-screen{position:relative;min-height:470px;display:grid;justify-items:center;align-content:center;overflow:hidden;border:1px solid rgba(0,242,255,.45);border-radius:8px;background:radial-gradient(circle at 50% 38%,rgba(255,0,255,.16),transparent 34%),radial-gradient(circle at 68% 23%,rgba(0,242,255,.18),transparent 35%),linear-gradient(140deg,rgba(255,255,255,.08),transparent 26%),#050810e6;box-shadow:inset 0 0 42px #00f2ff1f,0 0 0 8px #040812e6,0 0 42px #00f2ff47,0 0 58px #f0f3}.monitor-screen:before,.monitor-screen:after{position:absolute;pointer-events:none;content:""}.monitor-screen:before{inset:0;background:linear-gradient(rgba(0,242,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,0,255,.04) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle,black 35%,transparent 85%);mask-image:radial-gradient(circle,black 35%,transparent 85%)}.monitor-screen:after{left:12%;right:12%;bottom:-14px;height:40px;border:1px solid rgba(0,242,255,.28);border-radius:50%;background:#00f2ff12;filter:blur(8px)}.monitor-screen .app-logo{width:clamp(190px,20vw,275px);height:clamp(190px,20vw,275px);margin-bottom:2px}.monitor-screen .glitch-title{font-size:clamp(2.2rem,5.2vw,4.45rem);text-align:center}.monitor-screen .eyebrow,.monitor-screen h1,.monitor-screen .keyboard-plate,.name-console,.invite-terminal,.leaderboard-dock,.timer-module,.player-preview-panel,.progress-panel,.ability-showcase,.utility-strip{position:relative;z-index:1}.keyboard-plate{width:min(420px,82%);display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:5px;margin-top:26px;padding:13px;border:1px solid rgba(255,0,255,.34);border-radius:8px;background:#01050cc7;box-shadow:0 0 20px #ff00ff2e,inset 0 0 16px #00f2ff14}.keyboard-plate span{aspect-ratio:1.55;border:1px solid rgba(0,242,255,.34);border-radius:4px;background:linear-gradient(135deg,#00f2ff29,#ff00ff1f);box-shadow:inset 0 0 8px #ffffff0a}.name-console,.invite-terminal,.leaderboard-dock,.timer-module,.player-preview-panel,.progress-panel,.ability-showcase,.utility-strip{border:1px solid var(--line);clip-path:var(--cut-sm);background:linear-gradient(135deg,rgba(0,242,255,.1),transparent 42%),linear-gradient(315deg,rgba(255,0,255,.1),transparent 42%),#070c18db;box-shadow:inset 0 0 24px #00f2ff14,0 20px 54px #00000061,0 0 28px #00f2ff2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.name-console{--name-panel-cut: polygon(38px 0, 63% 0, calc(63% + 16px) 14px, 100% 14px, 100% calc(100% - 34px) , calc(100% - 46px) 100%, 0 100%, 0 34px);overflow:hidden;display:grid;gap:20px;padding:22px;border-color:#ff00ff9e;clip-path:var(--name-panel-cut);background:linear-gradient(140deg,rgba(0,180,255,.13),transparent 37%),linear-gradient(315deg,rgba(255,0,255,.2),transparent 46%),#060a15eb;box-shadow:inset 0 0 28px #00f2ff14,inset 0 0 34px #ff00ff14,0 0 32px #ff00ff42,0 20px 60px #0000007a}.name-console:before,.name-console:after{position:absolute;pointer-events:none;content:""}.name-console:before{left:28px;right:74px;top:14px;height:2px;background:linear-gradient(90deg,var(--primary),rgba(0,242,255,.28),transparent 58%);box-shadow:0 0 14px #00f2ff94}.name-console:after{right:20px;top:22px;width:66px;height:10px;background:repeating-linear-gradient(90deg,rgba(255,0,255,.76) 0 9px,transparent 9px 15px);filter:drop-shadow(0 0 10px rgba(255,0,255,.54))}.name-field{min-width:0;gap:13px;color:var(--primary);font-size:1.28rem;font-weight:950;text-shadow:0 0 13px rgba(0,242,255,.58)}.name-input-shell{position:relative;height:50px;display:flex;align-items:center;border:1px solid rgba(0,208,255,.72);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:radial-gradient(circle at 86% 50%,rgba(0,242,255,.12),transparent 28%),linear-gradient(90deg,#0090ff1a,#ff00ff09),#00050feb;box-shadow:inset 0 0 18px #00f2ff0e,inset 0 -12px 24px #00000038,0 0 16px #00b6ff24}.name-input-shell:focus-within{border-color:var(--primary);box-shadow:inset 0 0 18px #00f2ff1f,0 0 0 2px #00f2ff24,0 0 26px #00f2ff52}.name-input-shell input{height:100%;border:0;padding:0 16px;clip-path:none;background:transparent;color:var(--text);box-shadow:none;font-size:.95rem;font-weight:750;margin-right:-43px}.name-input-shell input:focus{box-shadow:none}.name-input-shell svg{position:absolute;right:62px;color:var(--primary);filter:drop-shadow(0 0 8px rgba(0,242,255,.52))}.name-input-shell:after{position:absolute;right:50px;width:1px;height:54%;background:linear-gradient(180deg,transparent,rgba(0,242,255,.55),transparent);content:""}.name-console .name-action-grid{grid-template-columns:1fr 1fr;gap:12px}.name-console .primary-action,.name-console .secondary-action{position:relative;min-height:56px;overflow:hidden;border-width:1px;padding:0 14px;clip-path:polygon(14px 0,calc(100% - 11px) 0,100% 11px,100% calc(100% - 14px),calc(100% - 14px) 100%,11px 100%,0 calc(100% - 11px),0 14px);font-size:.98rem;isolation:isolate;white-space:nowrap;text-transform:none}.name-console .primary-action:before,.name-console .secondary-action:before{position:absolute;inset:5px;z-index:-1;border:1px solid currentColor;clip-path:inherit;opacity:.46;content:""}.name-console .primary-action:after,.name-console .secondary-action:after{position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(255,255,255,.2),transparent 28%,transparent 72%,rgba(255,255,255,.09));opacity:.34;content:""}.name-console .primary-action{border-color:var(--primary);color:var(--primary);background:radial-gradient(circle at 21% 50%,rgba(0,242,255,.42),transparent 30%),linear-gradient(135deg,#00f2ff3d,#00f2ff12 55%,#2384ff29),#001822e6;box-shadow:inset 0 0 22px #00f2ff2e,inset 0 -14px 24px #0000002e,0 0 22px #00f2ff57}.name-console .secondary-action{border-color:var(--secondary);color:#ff5dff;background:radial-gradient(circle at 20% 50%,rgba(255,0,255,.32),transparent 30%),linear-gradient(135deg,#ff00ff38,#ff00ff12 58%,#8036ff24),#210024e6;box-shadow:inset 0 0 22px #ff00ff2e,inset 0 -14px 24px #0000002e,0 0 22px #ff00ff52}.name-console .primary-action svg,.name-console .secondary-action svg{flex:0 0 auto;filter:drop-shadow(0 0 10px currentColor)}.invite-terminal{display:grid;gap:16px;padding:20px;border-color:var(--secondary);background:linear-gradient(135deg,rgba(255,0,255,.12),transparent 45%),linear-gradient(315deg,rgba(123,77,255,.1),transparent 45%),#0c0612db;box-shadow:inset 0 0 24px #ff00ff1a,0 0 26px #ff00ff42,0 20px 54px #0006}.invite-eyebrow{display:flex;align-items:center;gap:10px;margin:0;color:#ff5dff;font-weight:900;letter-spacing:.04em;font-size:1.05rem}.invite-eyebrow svg{filter:drop-shadow(0 0 8px rgba(255,0,255,.7))}.invite-code-field{position:relative;display:block}.invite-code-input{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;padding:0;border:none;background:transparent;color:transparent;caret-color:transparent;text-align:center;cursor:pointer;font:inherit}.invite-code-input:focus{outline:none}.invite-code-cells{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.invite-cell{height:60px;display:grid;place-items:center;clip-path:var(--cut-sm);border:1px solid rgba(255,0,255,.32);background:linear-gradient(160deg,#ff00ff14,#02050cb8);color:#f0d9ff;font-size:1.55rem;font-weight:800;text-shadow:0 0 10px rgba(255,0,255,.4);transition:border-color .15s ease,box-shadow .15s ease}.invite-cell.filled{border-color:#ff00ff8c}.invite-code-field:focus-within .invite-cell.active{border-color:var(--secondary);box-shadow:0 0 14px #ff00ff73,inset 0 0 12px #ff00ff26}.invite-join-row{display:grid;grid-template-columns:1fr}.invite-join{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--secondary);clip-path:var(--cut-sm);color:#160018;font-weight:900;font-size:1.05rem;letter-spacing:.05em;cursor:pointer;background:linear-gradient(95deg,#ff3df2,#b14bff);box-shadow:0 0 22px #ff00ff61,inset 0 0 16px #ffffff1f;transition:transform .15s ease,filter .15s ease}.invite-join:hover{transform:translateY(-1px);filter:brightness(1.1)}.invite-join svg{flex:0 0 auto;filter:drop-shadow(0 0 8px currentColor)}.invite-join-icon{width:56px;min-height:52px;display:grid;place-items:center;border:1px solid var(--secondary);clip-path:var(--cut-sm);color:#ff5dff;cursor:pointer;background:#ff00ff14;box-shadow:inset 0 0 14px #ff00ff1f;transition:transform .15s ease,filter .15s ease}.invite-join-icon:hover{transform:translateY(-1px);filter:brightness(1.15)}.invite-join-icon svg{filter:drop-shadow(0 0 8px currentColor)}.leaderboard-dock{display:grid;gap:14px;padding:18px}.leaderboard-dock--sprite{position:relative;min-height:470px;overflow:hidden;isolation:isolate;align-content:start;gap:11px;border:0;clip-path:none;padding:39px 32px 28px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.leaderboard-dock--sprite:before{position:absolute;inset:0;z-index:2;background:url(/ui/leaderboard-frame-sprite.png) center / 100% 100% no-repeat;content:"";pointer-events:none}.leaderboard-dock--sprite:after{display:none}.leaderboard-dock--sprite>*{position:relative;z-index:1}.leaderboard-dock .leaderboard-list{max-height:430px;overflow-y:auto;padding-right:4px}.timer-module{width:100%;display:grid;gap:10px;padding:16px 18px}.timer-module-label{display:flex;align-items:center;gap:9px;color:var(--primary);font-weight:950;text-transform:uppercase}.timer-digits{display:flex;align-items:baseline;justify-content:center;gap:2px;font-family:DSEG7,Share Tech Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2.7rem,6vw,5rem);font-weight:900;line-height:.92;letter-spacing:.04em;font-variant-numeric:tabular-nums}.timer-digits .t-min{color:var(--primary);text-shadow:0 0 12px rgba(0,242,255,.85),0 0 26px rgba(0,242,255,.5)}.timer-digits .t-colon{color:var(--primary);text-shadow:0 0 12px rgba(0,242,255,.85);animation:timer-colon-blink 1.1s steps(1) infinite}.timer-digits .t-sec{color:var(--secondary);text-shadow:0 0 12px rgba(255,0,255,.85),0 0 26px rgba(255,0,255,.5)}@keyframes timer-colon-blink{50%{opacity:.35}}.timer-module .seg-bar{height:22px}.progress-panel{display:grid;gap:10px;padding:16px 18px}.progress-panel-head,.progress-row{display:grid;grid-template-columns:minmax(132px,1.2fr) minmax(120px,1.4fr) 52px 64px 92px;gap:14px;align-items:center}.progress-panel-head{padding:0 2px 4px}.pp-head-label{color:var(--primary);font-size:.72rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.pp-head-bar{grid-column:3 / 6;display:flex}.progress-row{min-height:52px;padding:6px 2px;border-top:1px solid var(--line-soft)}.pp-player{display:flex;align-items:center;gap:12px;min-width:0}.pp-avatar{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;filter:drop-shadow(0 0 6px rgba(0,242,255,.35))}.progress-row.pink .pp-avatar{filter:drop-shadow(0 0 6px rgba(255,0,255,.35))}.ui-icon{display:block;object-fit:contain;vertical-align:middle}.pp-name{display:inline-flex;align-items:center;gap:7px;font-size:1.02rem;overflow-wrap:anywhere}.pp-crown{flex:0 0 auto;color:var(--warning);filter:drop-shadow(0 0 6px rgba(255,242,0,.7))}.pp-progress{display:flex;align-items:center;gap:10px}.seg-bar{position:relative;flex:1;height:20px;min-width:112px;overflow:hidden;background:url(/ui/progress-bar-empty.svg) left center / 100% 100% no-repeat}.seg-bar-fill{position:absolute;inset:0;background:url(/ui/progress-bar-fill.svg) left center / 100% 100% no-repeat;clip-path:inset(0 calc(100% - var(--seg-value, 0%)) 0 0);filter:drop-shadow(0 0 5px rgba(0,242,255,.45))}.pp-progress-pct{flex:0 0 auto;min-width:34px;font-size:.78rem;font-weight:800;color:var(--muted);text-align:right}.pp-wpm,.pp-acc{font-size:1.45rem;font-weight:900;color:var(--primary);text-align:center;text-shadow:0 0 12px rgba(0,242,255,.45)}.pp-spark{width:100%;height:32px}.pp-spark-line{fill:none;stroke:var(--primary);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(0,242,255,.8))}.pp-spark-area{fill:#00f2ff1f;stroke:none}.progress-row.pink .pp-spark-line{stroke:var(--secondary);filter:drop-shadow(0 0 4px rgba(255,0,255,.8))}.progress-row.pink .pp-spark-area{fill:#ff00ff1f}.ability-showcase{display:grid;gap:22px;padding:16px}.ability-group{position:relative;display:grid;gap:0}.ability-eyebrow{position:relative;z-index:2;width:fit-content;margin:0 0 -10px 14px;padding:0 8px;color:var(--primary);font-size:.72rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 10px rgba(0,242,255,.5);background:var(--bg)}.ability-eyebrow.danger{color:#ff5d8a;text-shadow:0 0 10px rgba(255,45,85,.5)}.ability-frame{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 14px 14px;border:1px solid var(--line);clip-path:var(--cut);background:linear-gradient(135deg,rgba(0,242,255,.06),transparent 50%),#0409128c}.debuffs-frame{border-color:#ff2d5580;background:linear-gradient(135deg,rgba(255,45,85,.08),transparent 50%),#10050a8c}.ability-card-tile{min-height:116px;display:grid;justify-items:center;align-content:space-between;gap:8px;padding:12px 6px;clip-path:var(--cut-sm);border:1px solid rgba(0,242,255,.34);background:linear-gradient(165deg,#00f2ff1a,#02060ed9);box-shadow:inset 0 0 16px #00f2ff14;text-align:center;--tone: var(--primary);--tone-rgb: 0, 242, 255}.ability-card-tile.purple{--tone: #b07bff;--tone-rgb: 176, 123, 255;border-color:#b07bff80;background:linear-gradient(165deg,#b07bff1f,#02060ed9);box-shadow:inset 0 0 16px #b07bff1a}.ability-card-tile.magenta{--tone: #ff5dff;--tone-rgb: 255, 0, 255;border-color:#ff00ff80;background:linear-gradient(165deg,#ff00ff1f,#02060ed9);box-shadow:inset 0 0 16px #ff00ff1a}.ability-card-tile.danger{--tone: #ff5d8a;--tone-rgb: 255, 45, 85;border-color:#ff2d5573;background:linear-gradient(165deg,#ff2d551a,#0e0409d9);box-shadow:inset 0 0 16px #ff2d5514}.ability-card-icon{display:grid;place-items:center;color:var(--tone);filter:drop-shadow(0 0 8px rgba(var(--tone-rgb),.7))}.ability-card-tile strong{color:var(--text);font-size:.74rem;font-weight:900;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;text-shadow:0 0 8px rgba(var(--tone-rgb),.4)}.ability-card-meta{color:var(--muted);font-size:.68rem;font-weight:800}.utility-strip{width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:14px;background:linear-gradient(90deg,#00f2ff0f,#ff00ff0f),#070c18b8}.utility-strip .primary-action,.utility-strip .secondary-action{min-height:42px}.status-pill,.level-chip{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);padding:0 14px;color:var(--muted);background:#ffffff09;font-weight:900}.status-pill.selected,.level-chip{border-color:var(--primary);color:var(--primary);background:#00f2ff1a;box-shadow:var(--shadow-cyan)}.app-logo{position:relative;width:clamp(260px,34vw,360px);height:clamp(260px,34vw,360px);display:grid;place-items:center;margin-bottom:18px;isolation:isolate}.app-logo:before,.app-logo:after{position:absolute;inset:10%;z-index:-1;border-radius:50%;pointer-events:none;content:""}.app-logo:before{background:radial-gradient(circle,rgba(0,242,255,.34),transparent 62%),radial-gradient(circle at 70% 42%,rgba(255,0,255,.28),transparent 58%);filter:blur(22px);animation:logo-neon-pulse 2.6s ease-in-out infinite alternate}.app-logo:after{inset:16%;border:1px solid rgba(0,242,255,.24);box-shadow:0 0 34px #00f2ff38,0 0 44px #ff00ff2e}.app-logo.compact{width:64px;height:64px;flex:0 0 64px;margin:0}.app-logo.compact:before,.app-logo.compact:after{display:none}.app-logo-image{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 0 16px rgba(0,242,255,.42)) drop-shadow(0 0 18px rgba(255,0,255,.32));-webkit-user-select:none;user-select:none}.eyebrow{margin:0 0 9px;color:var(--primary);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase;text-shadow:0 0 10px rgba(0,242,255,.58)}h1,h2{margin:0;letter-spacing:0;line-height:1.03}h1{max-width:760px;font-size:5.6rem}h2{font-size:2.55rem}.glitch-title{position:relative;color:#f8feff;text-shadow:0 0 8px var(--primary),0 0 24px rgba(0,242,255,.64),3px 0 0 rgba(255,0,255,.45)}.glitch-title:before,.glitch-title:after{position:absolute;inset:0;overflow:hidden;color:#f8feff;content:attr(data-text);pointer-events:none}.glitch-title:before{left:2px;text-shadow:-2px 0 var(--secondary);clip-path:polygon(0 0,100% 0,100% 35%,0 35%);animation:glitch-slice-a 2.8s infinite linear alternate-reverse}.glitch-title:after{left:-2px;text-shadow:2px 0 var(--primary);clip-path:polygon(0 64%,100% 64%,100% 100%,0 100%);animation:glitch-slice-b 2.1s infinite linear alternate-reverse}.lead{max-width:590px;margin:24px 0 0;color:var(--muted);font-size:1.1rem;line-height:1.62}.entry-panel{display:grid;gap:18px;padding:24px}.entry-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:grid;gap:8px;color:var(--muted);font-size:.88rem;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:linear-gradient(90deg,#00f2ff0f,#ff00ff09),#02050cc7;color:var(--text);outline:none}input,select{height:50px;padding:0 15px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #00f2ff29,var(--shadow-cyan)}.join-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.primary-action,.secondary-action,.code-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--primary);padding:0 18px;clip-path:var(--cut-sm);color:var(--primary);background:linear-gradient(90deg,#00f2ff24,#ff00ff14),#02050cd1;box-shadow:inset 0 0 18px #00f2ff14;font-weight:900;text-transform:uppercase}.primary-action{color:#061018;background:linear-gradient(90deg,var(--primary),var(--secondary));box-shadow:var(--shadow-cyan),var(--shadow-magenta)}.primary-action:hover,.secondary-action:hover,.code-button:hover{transform:translateY(-1px);filter:brightness(1.12)}.secondary-action,.code-button{color:var(--text)}.error-text,.toast-error{margin:0;color:#ffb2c3;font-weight:800}.toast-error{margin:14px 0 0;padding:10px 12px;border:1px solid rgba(255,45,85,.5);clip-path:var(--cut-sm);background:#ff2d551f}.game-shell{min-height:100vh;padding:14px 0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px}.code-button{min-width:132px;justify-content:space-between;font-size:1.1rem;letter-spacing:0}.room-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:900}.room-meta span{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#ffffff0b}.topbar .code-button,.topbar .room-meta span,.topbar .leave-room-action{border:1px solid rgba(0,242,255,.66);border-radius:12px;clip-path:none;background:linear-gradient(90deg,#00f2ff14,#ff00ff09),#020711bd;color:var(--text);box-shadow:0 0 12px #00f2ff3d,inset 0 0 12px #00f2ff14}.topbar .leave-room-action{border-color:#ff00ff94;color:#ffc8ff;box-shadow:0 0 12px #ff00ff3d,inset 0 0 12px #ff00ff14}.topbar .code-button:before,.topbar .code-button:after,.topbar .leave-room-action:before,.topbar .leave-room-action:after{display:none}.leave-room-action{min-height:38px;border-color:#ff2d5580;padding:0 12px;color:#ffb2c3;font-size:.78rem}.layout{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(0,1.35fr);gap:34px;margin-top:34px}.players-panel{align-self:start;padding:12px}.game-progress-panel{gap:8px;padding:14px}.game-progress-panel .progress-panel-head,.game-progress-panel .progress-row{grid-template-columns:minmax(128px,1.15fr) minmax(92px,.9fr) 42px 76px;gap:8px}.game-progress-panel .progress-row{min-height:62px;padding:7px 2px}.game-progress-panel .pp-head-bar{grid-column:3 / 5}.pp-player-text{display:grid;gap:4px;min-width:0}.pp-state-line{display:flex;flex-wrap:wrap;gap:4px;min-height:18px}.pp-state-line b{min-height:18px;display:inline-flex;align-items:center;padding:0 5px;border:1px solid rgba(255,0,255,.34);background:#ff00ff1c;color:#ffc8ff;font-size:.62rem;font-weight:900;line-height:1}.game-progress-panel .pp-avatar{position:relative;width:38px;height:38px}.pp-avatar-crown{position:absolute;top:-9px;left:50%;z-index:2;color:var(--warning);filter:drop-shadow(0 0 8px rgba(255,242,0,.8));transform:translate(-50%) rotate(-5deg)}.game-progress-panel .pp-name{max-width:100%;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-progress-panel .pp-wpm,.game-progress-panel .pp-acc{font-size:1rem}.game-progress-panel .pp-spark{height:28px}.pp-chart-cell{min-width:0;display:grid;gap:2px;align-items:center}.pp-chart-cell .pp-acc{font-size:.78rem;line-height:1;text-align:right}.pp-chart-cell .pp-spark{height:24px}.game-progress-panel .seg-bar{min-width:72px}.progress-row.is-offline{opacity:.58}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--primary);font-weight:950;text-transform:uppercase}.player-list{display:grid;gap:8px}.player-row{position:relative;overflow:hidden;padding:10px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:linear-gradient(90deg,rgba(0,242,255,.09),transparent 54%),#ffffff09}.player-row:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--secondary);box-shadow:var(--shadow-magenta);content:""}.player-line,.player-stats{display:flex;align-items:center;justify-content:space-between;gap:8px}.player-line strong{min-width:0;overflow-wrap:anywhere}.player-stats{margin-top:5px;color:var(--muted);font-size:.78rem;font-weight:800}.progress-track{height:7px;margin-top:8px;overflow:hidden;border:1px solid var(--line-soft);background:#00f2ff14}.progress-track div{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));box-shadow:var(--shadow-cyan);transition:width .16s ease}.winner-tag{display:inline-flex;margin-top:10px;padding:4px 8px;border:1px solid rgba(255,242,0,.46);color:var(--warning);background:#fff20014;font-size:.72rem;font-weight:950}.effect-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.effect-row span{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border:1px solid rgba(255,0,255,.4);background:#ff00ff1f;color:#ffc8ff;font-size:.72rem;font-weight:850}.play-panel{min-height:0;padding:18px}.section-heading{margin-bottom:22px}.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.settings-grid{display:grid;grid-template-columns:1.1fr 1.5fr .8fr;gap:22px;margin-bottom:32px;padding:14px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#ffffff09}.settings-grid>div{display:grid;gap:8px}.settings-grid span,.card-meter span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.segmented-control{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:6px}.segmented-control button,.toggle-chip{min-height:36px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#00f2ff0f;color:var(--text);font-weight:850}.segmented-control button.selected,.toggle-chip.selected{border-color:var(--primary);color:var(--primary);background:#00f2ff21;box-shadow:var(--shadow-cyan)}.topic-card{position:relative;overflow:hidden;min-height:142px;display:grid;align-content:space-between;gap:10px;border:1px solid var(--line-soft);padding:16px;clip-path:var(--cut-sm);text-align:left;color:var(--text);background:linear-gradient(145deg,#00f2ff14,#ff00ff0f),#ffffff0a}.topic-card:after{position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--primary),var(--secondary));content:""}.topic-card:hover,.topic-card.selected{border-color:var(--primary);box-shadow:var(--shadow-cyan)}.topic-card span{color:var(--primary);font-size:1.1rem;font-weight:950;text-shadow:0 0 10px rgba(0,242,255,.5)}.topic-card small{color:var(--muted);line-height:1.4}.topic-card strong{color:var(--warning)}.random-topic-panel{padding:18px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:linear-gradient(90deg,#ff00ff1a,#00f2ff14),#ffffff09}.random-topic-panel strong{color:var(--text)}.ready-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:32px;padding:16px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#00f2ff0b}.ready-strip strong{color:var(--primary)}.ready-strip span,.ready-strip small{color:var(--muted)}.ready-strip small{display:block;margin-top:4px}.lobby-primary-action,.lobby-secondary-action{position:relative;overflow:hidden;border-width:1px;clip-path:polygon(14px 0,calc(100% - 11px) 0,100% 11px,100% calc(100% - 14px),calc(100% - 14px) 100%,11px 100%,0 calc(100% - 11px),0 14px);isolation:isolate;text-transform:none;white-space:nowrap}.lobby-primary-action:before,.lobby-secondary-action:before{position:absolute;inset:5px;z-index:-1;border:1px solid currentColor;clip-path:inherit;opacity:.46;content:""}.lobby-primary-action:after,.lobby-secondary-action:after{position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(255,255,255,.2),transparent 28%,transparent 72%,rgba(255,255,255,.09));opacity:.34;content:""}.ready-strip .lobby-primary-action{min-width:142px;min-height:52px;border-color:var(--primary);color:var(--primary);background:radial-gradient(circle at 21% 50%,rgba(0,242,255,.42),transparent 30%),linear-gradient(135deg,#00f2ff3d,#00f2ff12 55%,#2384ff29),#001822e6;box-shadow:inset 0 0 22px #00f2ff2e,inset 0 -14px 24px #0000002e,0 0 22px #00f2ff57}.ready-strip .lobby-primary-action:disabled{cursor:not-allowed;opacity:.48;filter:saturate(.65);transform:none}.topbar .lobby-secondary-action{min-height:40px;border-color:var(--secondary);color:#ffb7ff;background:radial-gradient(circle at 20% 50%,rgba(255,0,255,.32),transparent 30%),linear-gradient(135deg,#f0f3,#ff00ff0f 58%,#8036ff24),#210024e6;box-shadow:inset 0 0 20px #ff00ff29,inset 0 -12px 22px #00000029,0 0 20px #ff00ff47}.lobby-primary-action svg,.lobby-secondary-action svg{flex:0 0 auto;filter:drop-shadow(0 0 10px currentColor)}.countdown-view{min-height:520px;display:grid;place-content:center;text-align:center;border:1px solid var(--line-soft);clip-path:var(--cut);background:radial-gradient(circle at center,rgba(255,0,255,.15),transparent 40%),#00f2ff09}.countdown-view strong{margin-top:22px;color:var(--secondary);font-size:1.3rem;text-shadow:var(--shadow-magenta)}.race-header{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:12px}.winner-card,.timer-card{min-width:160px;padding:12px;border:1px solid rgba(255,242,0,.44);clip-path:var(--cut-sm);background:#fff20014}.winner-card span,.timer-card span{display:block;color:var(--muted);font-size:.76rem;font-weight:850}.winner-card strong,.timer-card strong{display:block;margin-top:4px;overflow-wrap:anywhere;color:var(--warning)}.timer-card strong{font-size:2rem;line-height:1}.timer-card--module{min-width:210px;border-color:#00f2ff75;background:linear-gradient(120deg,#00f2ff1a,#ff00ff14),#01050ec7;box-shadow:inset 0 0 18px #00f2ff14,0 0 20px #00f2ff29}.timer-card--module strong{color:var(--primary);font-size:2.15rem;text-shadow:0 0 12px rgba(0,242,255,.75),0 0 22px rgba(255,0,255,.35)}.timer-card--module .seg-bar{height:16px;margin-top:9px}.toast-stack{position:fixed;top:88px;right:18px;z-index:20;display:grid;gap:8px;width:min(360px,calc(100vw - 36px));pointer-events:none}.toast-stack p{margin:0;padding:10px 12px;border:1px solid var(--line-soft);border-left:3px solid var(--primary);clip-path:var(--cut-sm);background:linear-gradient(90deg,#00f2ff1f,#05060aeb),#05060ae0;color:var(--text);box-shadow:var(--shadow-cyan);font-size:.84rem;font-weight:820}.toast-stack p.card{border-left-color:var(--secondary);background:linear-gradient(90deg,#ff00ff29,#05060aeb),#05060ae0;box-shadow:var(--shadow-magenta)}.toast-stack p.race{border-left-color:var(--warning)}.race-lanes{display:grid;gap:18px;margin-bottom:28px}.race-lane{display:grid;grid-template-columns:32px minmax(86px,150px) minmax(0,1fr) 48px;align-items:center;gap:10px;min-height:34px;padding:5px 9px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#ffffff09}.lane-rank{color:var(--warning);font-weight:950}.race-lane strong{overflow-wrap:anywhere}.lane-track{position:relative;height:10px;border:1px solid var(--line-soft);background:#00f2ff14}.lane-track--segmented{height:18px;border:0;background:transparent}.lane-track--segmented .seg-bar{width:100%;height:18px;min-width:0}.lane-runner{position:absolute;top:50%;width:16px;height:16px;border:2px solid var(--primary);border-radius:50%;background:var(--secondary);box-shadow:var(--shadow-cyan),var(--shadow-magenta);transform:translate(-50%,-50%);transition:left .16s ease}.text-target{position:relative;min-height:154px;max-height:210px;overflow-y:auto;padding:16px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:linear-gradient(180deg,rgba(0,242,255,.06),transparent),#01040ac7;color:#e9fbffc2;font-size:1.08rem;line-height:1.62}.text-target.noise-burst:after{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,0,255,.16) 8px 9px),repeating-linear-gradient(0deg,transparent 0 13px,rgba(0,242,255,.12) 13px 14px);mix-blend-mode:screen;opacity:.42;animation:noise-scan .36s steps(2) infinite;content:""}.text-target span.correct{color:var(--success);text-shadow:0 0 8px rgba(53,255,154,.5)}.text-target span.incorrect{color:var(--danger);background:#ff2d5529}textarea{min-height:104px;margin-top:10px;padding:14px;resize:vertical;font-size:1.05rem;line-height:1.6}textarea:disabled{color:#e9fbff80;background:#05070cd6}select option{color:#061018}.ability-dock{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;margin-top:30px}.target-select,.card-hand{border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#ffffff09}.target-select{padding:10px}.target-select>span{display:block;margin-bottom:8px;color:var(--primary);font-size:.78rem;font-weight:950;text-transform:uppercase}.target-select>span strong{display:block;margin-top:4px;color:var(--warning);font-size:.78rem}.target-select>div{display:grid;gap:8px}.target-select button{min-height:34px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#00f2ff0f;color:var(--text);font-weight:850}.target-select button.selected{border-color:var(--secondary);background:#ff00ff21;color:#ffc8ff;box-shadow:var(--shadow-magenta)}.card-hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:10px}.card-hand p{grid-column:1 / -1;margin:0;color:var(--muted);font-weight:800}.ability-card{position:relative;overflow:hidden;min-height:82px;display:grid;grid-template-columns:auto 1fr;align-content:start;gap:6px 9px;border:1px solid var(--line-soft);padding:10px;clip-path:var(--cut-sm);text-align:left;color:var(--text);background:linear-gradient(135deg,#00f2ff14,#ff00ff14),#ffffff0a}.ability-card:after{position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--primary),var(--secondary));content:""}.ability-card:hover{border-color:var(--primary);box-shadow:var(--shadow-cyan)}.ability-card svg{color:var(--warning)}.ability-card span{color:var(--primary);font-weight:950}.ability-card small{grid-column:1 / -1;color:var(--muted);line-height:1.32}.restart-button{margin-top:0}.new-race-panel{margin-top:32px;padding:16px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#ffffff09}.new-race-panel:empty{display:none}.finish-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px}.finish-actions .restart-button,.finish-actions .share-open-action{min-width:150px}.results-list{display:grid;gap:8px}.result-row{display:grid;grid-template-columns:42px minmax(0,1fr) 90px 76px 84px;gap:10px;align-items:center;min-height:38px;padding:8px 10px;border:1px solid var(--line-soft);background:#00f2ff0b}.result-row span{color:var(--muted);font-size:.82rem;font-weight:820}.result-row strong{overflow-wrap:anywhere;color:var(--text)}.side-leaderboard{margin-top:28px}.side-leaderboard .leaderboard-dock{width:100%;min-width:0;transform:none}.side-leaderboard .leaderboard-dock--sprite{padding:24px 18px 22px}.share-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,rgba(0,242,255,.16),transparent 34%),#02040ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.share-modal{position:relative;width:min(460px,100%);display:grid;gap:16px;padding:24px;border:1px solid rgba(0,242,255,.92);border-radius:18px;background:linear-gradient(135deg,rgba(0,242,255,.12),transparent 45%),linear-gradient(315deg,rgba(255,0,255,.12),transparent 48%),#040914f0;box-shadow:0 0 0 1px #00f2fff2,0 0 22px #00f2ff6b,0 0 0 4px #040711f5,0 0 0 7px #ff00ffc2,0 0 34px #ff00ff57}.share-modal h2{margin:0;color:var(--primary);font-size:2.6rem;text-shadow:0 0 18px rgba(0,242,255,.62)}.share-modal-close{position:absolute;top:14px;right:14px;width:36px;min-height:36px;display:grid;place-items:center;border:1px solid rgba(255,0,255,.56);border-radius:10px;background:#ff00ff14;color:#ffc8ff;box-shadow:inset 0 0 10px #ff00ff1a}.share-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.share-score-grid span{min-height:68px;display:grid;place-items:center;gap:3px;border:1px solid rgba(0,242,255,.52);border-radius:12px;background:#00f2ff0e;color:var(--muted);font-size:.76rem;font-weight:850}.share-score-grid strong{color:var(--text);font-size:1.2rem}.share-copy{margin:0;padding:14px;border:1px solid rgba(0,242,255,.42);border-radius:12px;background:#0000003d;color:#cce7ee;font-size:.9rem;line-height:1.55;white-space:pre-line}.share-twitter-action{min-height:48px;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.leaderboard-title{display:inline-flex;align-items:center;gap:10px;min-width:0}.leaderboard-heading h2{color:var(--primary);font-size:1.45rem;text-shadow:0 0 10px rgba(0,242,255,.62),0 0 18px rgba(0,242,255,.26)}.leaderboard-heading svg{flex:0 0 auto;color:var(--primary);filter:drop-shadow(0 0 10px rgba(0,242,255,.56))}.leaderboard-controls{display:grid;gap:10px}.leaderboard-controls .segmented-control button{min-height:40px;padding:0 10px;clip-path:none;border-radius:11px;border:1px solid rgba(0,150,205,.32);background:#040c189e;color:var(--muted);font-size:.82rem;font-weight:800;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.leaderboard-controls .segmented-control button.selected{border-color:var(--primary);color:var(--primary);background:#00f2ff1a;box-shadow:0 0 14px #00f2ff66,inset 0 0 10px #00f2ff1f}.leaderboard-dock--sprite .segmented-control{gap:10px}.lobby-filter-panel{grid-template-columns:minmax(180px,.78fr) minmax(260px,1.1fr) minmax(120px,.5fr);gap:14px;padding:16px;border-color:#00f2ff3d;background:linear-gradient(120deg,#00f2ff13,#ff00ff0a),#040c189e}.lobby-filter-panel .lobby-filter-group{align-content:start}.lobby-filter-panel .segmented-control{gap:10px}.lobby-filter-panel .segmented-control button,.lobby-filter-panel .toggle-chip{min-height:40px;border-radius:8px;clip-path:none;border:1px solid rgba(0,150,205,.32);background:#040c189e;color:var(--muted);font-size:.86rem;font-weight:900;text-transform:none;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.lobby-filter-panel .segmented-control button:hover,.lobby-filter-panel .toggle-chip:hover{border-color:#00f2ff85;color:var(--text);transform:translateY(-1px)}.lobby-filter-panel .segmented-control button.selected,.lobby-filter-panel .toggle-chip.selected{border-color:var(--primary);color:var(--primary);background:radial-gradient(circle at 22% 50%,rgba(0,242,255,.28),transparent 32%),#00f2ff1a;box-shadow:0 0 14px #00f2ff66,inset 0 0 10px #00f2ff1f}:where(.brand-panel,.entry-panel,.monitor-screen,.topbar,.players-panel,.play-panel,.name-console,.invite-terminal,.timer-module,.player-preview-panel,.progress-panel,.ability-showcase,.ability-frame,.ability-mini-card,.utility-strip,.countdown-view,.new-race-panel,.result-row,.admin-login,.admin-nav,.admin-panel,.admin-grid,.admin-text-row,.admin-code,.admin-note,.gallery-header,.gallery-card,.level-badge):not(.leaderboard-dock){border:1px solid rgba(0,242,255,.92);border-radius:18px;clip-path:none;position:relative;box-shadow:0 0 0 1px #00f2fff2,0 0 16px #00f2ffe6,0 0 34px #00f2ff75,0 0 0 4px #040711f5,0 0 0 7px #ff00ffe0,0 0 26px #ff00ffc2,0 0 48px #ff00ff57,inset 0 0 18px #00f2ff24,inset 0 0 34px #ff00ff14}.topic-card,.result-row,.admin-nav,.admin-panel,.admin-grid,.admin-text-row,.admin-code,.admin-note,.gallery-header,.gallery-card,.level-badge{border-radius:14px}.text-target{border-radius:16px}.settings-grid,.topic-card,.random-topic-panel,.ready-strip{border:1px solid rgba(0,242,255,.56);border-radius:14px;clip-path:none;box-shadow:0 0 14px #00f2ff2e,inset 0 0 14px #00f2ff12}.settings-grid:before,.settings-grid:after,.topic-card:before,.topic-card:after,.random-topic-panel:before,.random-topic-panel:after,.ready-strip:before,.ready-strip:after{display:none}.timer-card,.winner-card,.race-lane,.text-target,textarea,.target-select,.card-hand,.ability-card{border:1px solid rgba(0,242,255,.56);border-radius:14px;clip-path:none;box-shadow:0 0 14px #00f2ff2e,inset 0 0 14px #00f2ff12}.timer-card:before,.timer-card:after,.winner-card:before,.winner-card:after,.race-lane:before,.race-lane:after,.text-target:before,.text-target:after,.target-select:before,.target-select:after,.card-hand:before,.card-hand:after,.ability-card:before,.ability-card:after{display:none}:where(input,textarea,select,.name-input-shell,.invite-cell,.code-button,.invite-join,.invite-join-icon,.primary-action,.secondary-action,.segmented-control button,.toggle-chip,.target-select button,.admin-nav button,.icon-action,.neon-btn,.neon-switch,.neon-toggle-group,.neon-toggle-group button):not(.leaderboard-dock *){border:1px solid rgba(0,242,255,.78);box-shadow:0 0 12px #00f2ff57,inset 0 0 14px #00f2ff1a}:where(input,textarea,select,.name-input-shell,.invite-cell,.code-button,.invite-join,.invite-join-icon,.primary-action,.secondary-action,.segmented-control button,.toggle-chip,.target-select button,.admin-nav button,.icon-action,.neon-btn,.neon-switch,.neon-toggle-group,.neon-toggle-group button):not(.leaderboard-dock *):focus,:where(input,textarea,select,.name-input-shell,.invite-cell,.code-button,.invite-join,.invite-join-icon,.primary-action,.secondary-action,.segmented-control button,.toggle-chip,.target-select button,.admin-nav button,.icon-action,.neon-btn,.neon-switch,.neon-toggle-group,.neon-toggle-group button):not(.leaderboard-dock *):focus-within,:where(.segmented-control button.selected,.toggle-chip.selected,.admin-nav button.selected):not(.leaderboard-dock *){border-color:#ff00ffd1;box-shadow:0 0 14px #ff00ff5c,inset 0 0 14px #ff00ff1f}.topbar:after,.players-panel:after,.play-panel:after{display:none}:where(.brand-panel,.entry-panel,.monitor-screen,.topbar,.players-panel,.play-panel,.name-console,.invite-terminal,.timer-module,.player-preview-panel,.progress-panel,.ability-showcase,.ability-frame,.utility-strip,.countdown-view,.new-race-panel,.result-row,.admin-login,.admin-nav,.admin-panel,.admin-grid,.admin-text-row,.admin-code,.gallery-header,.gallery-card,.level-badge):not(.leaderboard-dock):before{position:absolute;top:-1px;left:30px;z-index:2;width:76px;height:8px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,transparent 0 8px,rgba(0,242,255,.98) 8px calc(100% - 8px),transparent calc(100% - 8px)),linear-gradient(90deg,#00f2ff26,#ffffffb3,#00f2ff26);box-shadow:0 0 10px #00f2fff2,0 0 22px #00f2ffad,0 0 38px #00f2ff5c;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,9px 100%);content:"";pointer-events:none}.countdown-view{border:0;box-shadow:none;clip-path:none}.countdown-view:before,.countdown-view:after{display:none}.leaderboard-list{display:grid;gap:0}.side-leaderboard .leaderboard-dock .leaderboard-list{max-height:312px;overflow-y:auto;padding-right:2px}.leaderboard-empty{margin:0;padding:12px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);color:var(--muted);background:#00f2ff0b;font-size:.86rem;font-weight:800}.leaderboard-row{display:grid;grid-template-columns:30px minmax(0,1fr) 50px 36px 54px;gap:6px;align-items:center;min-height:34px;padding:3px 6px;border:0;border-bottom:1px solid rgba(0,112,168,.2);clip-path:none;background:linear-gradient(90deg,rgba(0,242,255,.035),transparent 58%),#0000000a}.leaderboard-rank{color:#9fb3c4;font-weight:900;font-size:.82rem;text-align:center}.leaderboard-rank--badge{position:relative;display:grid;place-items:center;width:30px;height:30px}.leaderboard-rank--badge .ui-icon{width:30px;height:30px}.rank-badge-num{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:2px;font-size:.74rem;font-weight:950;color:#1a1206;text-shadow:0 1px 1px rgba(255,255,255,.35)}.leaderboard-row strong{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:.82rem;font-weight:850}.leaderboard-row.is-first strong{color:var(--success);text-shadow:0 0 9px rgba(53,255,154,.4)}.leaderboard-row b{color:var(--primary);font-size:.82rem;font-weight:850;text-align:right;text-shadow:none;white-space:nowrap}.leaderboard-row em{color:var(--text);font-size:.8rem;font-style:normal;font-weight:800;text-align:right;white-space:nowrap}.leaderboard-row small{color:#b9c9d6;font-size:.74rem;font-weight:760;text-align:right;white-space:nowrap}.leaderboard-more-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(0,162,255,.32);clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);color:#b9d6eb;background:linear-gradient(90deg,#007cff14,#ff00ff0e),#020916bd;font-size:.76rem;font-weight:820}.leaderboard-more-action svg{color:var(--primary);filter:drop-shadow(0 0 8px rgba(0,242,255,.52))}.admin-shell{min-height:100vh;padding:18px 0}.admin-login{width:min(460px,100%);margin:12vh auto 0}.admin-topbar strong{overflow-wrap:anywhere;color:var(--text)}.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:34px;margin-top:34px}.admin-nav{display:grid;gap:22px}.admin-nav button{min-height:42px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#00f2ff0f;color:var(--text);font-weight:900;text-align:left}.admin-nav button.selected{border-color:var(--primary);color:var(--primary);background:#00f2ff21;box-shadow:var(--shadow-cyan)}.admin-panel{display:grid;gap:26px}.admin-actions,.row-actions{display:flex;align-items:center;gap:8px}.admin-actions{flex-wrap:wrap}.admin-brand{display:flex;align-items:center;gap:12px}.admin-brand strong{display:block;color:var(--text);overflow-wrap:anywhere}.admin-grid,.admin-text-row{display:grid;gap:18px;align-items:start;padding:10px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#ffffff09}.topic-admin-grid{grid-template-columns:130px minmax(120px,.7fr) minmax(180px,1fr) 86px auto}.card-admin-grid{grid-template-columns:120px minmax(110px,.55fr) minmax(180px,1fr) 118px 86px auto}.leaderboard-admin-grid{grid-template-columns:minmax(120px,.8fr) 96px 82px 76px 76px 82px minmax(150px,1fr) auto}.admin-text-row{grid-template-columns:160px minmax(140px,.45fr) minmax(260px,1fr) auto}.admin-text-row textarea{min-height:84px;margin-top:0}.new-row{border-color:#35ff9a5c;background:#35ff9a0e}.icon-action{width:50px;min-width:50px;padding:0}.danger-action{border-color:#ff2d5580;color:#ffb2c3}.switch-label{width:44px;height:50px;display:grid;place-items:center;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#00f2ff0f}.switch-label input{width:18px;height:18px;accent-color:var(--primary)}.admin-note{margin:0;color:var(--muted);font-weight:800}.admin-code{display:block;overflow-wrap:anywhere;padding:12px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:#00f2ff0f;color:var(--warning)}@keyframes glitch-slice-a{0%{clip-path:polygon(0 8%,100% 8%,100% 18%,0 18%);transform:translate(-2px,1px)}25%{clip-path:polygon(0 42%,100% 42%,100% 52%,0 52%);transform:translate(2px,-1px)}50%{clip-path:polygon(0 78%,100% 78%,100% 90%,0 90%);transform:translate(-2px,2px)}75%{clip-path:polygon(0 18%,100% 18%,100% 28%,0 28%);transform:translate(2px,-2px)}to{clip-path:polygon(0 58%,100% 58%,100% 68%,0 68%);transform:translate(-1px,1px)}}@keyframes glitch-slice-b{0%{clip-path:polygon(0 24%,100% 24%,100% 34%,0 34%);transform:translate(2px,-1px)}25%{clip-path:polygon(0 64%,100% 64%,100% 74%,0 74%);transform:translate(-2px,1px)}50%{clip-path:polygon(0 6%,100% 6%,100% 16%,0 16%);transform:translate(2px,2px)}75%{clip-path:polygon(0 46%,100% 46%,100% 56%,0 56%);transform:translate(-2px,-2px)}to{clip-path:polygon(0 76%,100% 76%,100% 86%,0 86%);transform:translate(1px,1px)}}@keyframes noise-scan{0%{transform:translate(0)}50%{transform:translate(3px,-2px)}to{transform:translate(-2px,2px)}}@keyframes logo-neon-pulse{0%{opacity:.62;transform:scale(.96)}to{opacity:1;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media(max-width:900px){.entry-shell,.layout{grid-template-columns:1fr}.home-shell{width:min(100% - 20px,760px);gap:28px;padding:18px 0 28px}.monitor-screen{min-height:430px}.name-console{margin-top:0}.timer-module,.utility-strip{width:100%}.brand-panel{min-height:auto;padding:36px 24px}.brand-panel .app-logo{width:min(320px,78vw);height:min(320px,78vw)}h1{font-size:4rem}h2{font-size:2.2rem}.players-panel{order:2}.game-progress-panel .progress-panel-head,.game-progress-panel .progress-row{grid-template-columns:minmax(150px,1.1fr) minmax(120px,1.1fr) 52px 92px;gap:10px}.play-panel{min-height:auto}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid,.ability-dock,.entry-actions-grid,.name-console,.admin-layout,.topic-admin-grid,.card-admin-grid,.leaderboard-admin-grid,.admin-text-row{grid-template-columns:1fr}.target-select>div{grid-template-columns:repeat(2,minmax(0,1fr))}.ability-frame{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.shell{width:min(100% - 20px,1180px)}.topbar,.ready-strip,.race-header{align-items:stretch;flex-direction:column}.join-row,.entry-actions-grid,.name-console,.progress-row,.game-progress-panel .progress-row,.topic-grid,.settings-grid,.card-hand,.target-select>div,.leaderboard-row,.result-row,.race-lane{grid-template-columns:1fr}.leaderboard-row b{text-align:left}.leaderboard-row small{grid-column:auto}.room-meta{flex-wrap:wrap}.monitor-screen{min-height:350px;padding:18px 12px}.monitor-screen .app-logo{width:min(220px,72vw);height:min(220px,72vw)}.keyboard-plate{width:94%;gap:3px;padding:9px}.leaderboard-dock,.invite-terminal,.name-console,.progress-panel,.ability-showcase,.timer-module,.utility-strip{padding:14px}.name-field{font-size:1.05rem}.name-input-shell{height:54px}.name-console .primary-action,.name-console .secondary-action{min-height:58px;font-size:1rem}.progress-panel-head{display:none}.game-progress-panel .pp-spark,.game-progress-panel .pp-progress,.game-progress-panel .pp-player{width:100%}.progress-row .pp-wpm,.progress-row .pp-acc{text-align:left}.ability-frame{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:2.75rem}h2{font-size:1.85rem}.text-target{font-size:1.08rem}}.components-gallery{min-height:100vh;width:100%;max-width:1400px;margin:0 auto;padding:32px clamp(16px,4vw,48px) 64px;display:flex;flex-direction:column;gap:32px}.gallery-header{display:flex;align-items:center;gap:24px;padding:24px;border:1px solid var(--line);clip-path:var(--cut);background:linear-gradient(135deg,rgba(0,242,255,.08),transparent 55%),var(--panel);box-shadow:var(--shadow-cyan)}.gallery-header h1{margin:4px 0 6px;font-size:clamp(1.4rem,3vw,2.1rem);letter-spacing:.04em}.gallery-subtitle{margin:0;color:var(--muted);font-size:.92rem}.gallery-subtitle code{color:var(--primary);background:#00f2ff1a;padding:1px 6px;border-radius:4px}.gallery-grid{column-width:360px;column-gap:38px}.gallery-card{display:flex;flex-direction:column;gap:16px;padding:20px;margin-bottom:38px;border:1px solid var(--line-soft);clip-path:var(--cut-sm);background:var(--panel);break-inside:avoid}.gallery-card--wide{width:100%}.gallery-card-head h2{margin:0;font-size:1.05rem;color:var(--primary);letter-spacing:.05em;text-transform:uppercase}.gallery-card-head p{margin:4px 0 0;font-size:.82rem;color:var(--muted)}.gallery-card-body{display:flex;flex-direction:column;gap:12px}.gallery-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.neon-btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.neon-btn{position:relative;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border:1px solid var(--primary);overflow:hidden;isolation:isolate;clip-path:polygon(14px 0,calc(100% - 11px) 0,100% 11px,100% calc(100% - 14px),calc(100% - 14px) 100%,11px 100%,0 calc(100% - 11px),0 14px);color:var(--primary);font-weight:900;font-size:1rem;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:transform .15s ease,filter .15s ease}.neon-btn:before{position:absolute;inset:5px;z-index:-1;border:1px solid currentColor;clip-path:inherit;opacity:.46;content:""}.neon-btn:after{position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(255,255,255,.2),transparent 28%,transparent 72%,rgba(255,255,255,.09));opacity:.34;content:""}.neon-btn svg{flex:0 0 auto;filter:drop-shadow(0 0 10px currentColor)}.neon-btn:hover{transform:translateY(-1px);filter:brightness(1.12)}.neon-btn--primary{border-color:var(--primary);color:var(--primary);background:radial-gradient(circle at 21% 50%,rgba(0,242,255,.42),transparent 30%),linear-gradient(135deg,#00f2ff3d,#00f2ff12 55%,#2384ff29),#001822e6;box-shadow:inset 0 0 22px #00f2ff2e,inset 0 -14px 24px #0000002e,0 0 22px #00f2ff57}.neon-btn--secondary{border-color:var(--secondary);color:#ff5dff;background:radial-gradient(circle at 20% 50%,rgba(255,0,255,.32),transparent 30%),linear-gradient(135deg,#ff00ff38,#ff00ff12 58%,#8036ff24),#210024e6;box-shadow:inset 0 0 22px #ff00ff2e,inset 0 -14px 24px #0000002e,0 0 22px #ff00ff52}.neon-switch{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#080c16eb;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.neon-switch-label{font-weight:900;letter-spacing:.12em;color:var(--muted);transition:color .2s ease,text-shadow .2s ease}.neon-switch-rail{position:relative;width:44px;height:18px;flex:0 0 auto;border-radius:999px;background:#ffffff12;transition:background .2s ease}.neon-switch-knob{position:absolute;top:50%;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transform:translateY(-50%);transition:left .22s ease,background .2s ease,box-shadow .2s ease}.neon-switch.is-on{border-color:var(--primary);box-shadow:var(--shadow-cyan)}.neon-switch.is-on .neon-switch-rail{background:#00f2ff2e}.neon-switch.is-on .neon-switch-label--on{color:var(--primary);text-shadow:0 0 10px var(--primary)}.neon-switch.is-on .neon-switch-knob{left:2px;background:var(--primary);box-shadow:0 0 12px var(--primary)}.neon-switch.is-off .neon-switch-label--off{color:var(--text)}.neon-switch.is-off .neon-switch-knob{left:calc(100% - 16px)}.neon-toggle-group{display:inline-flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#080c16e6}.neon-toggle-group button{min-width:84px;height:40px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-weight:800;letter-spacing:.02em;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.neon-toggle-group button.selected{border-color:var(--primary);color:var(--primary);background:#00f2ff1f;box-shadow:var(--shadow-cyan),inset 0 0 12px #00f2ff1f}.level-badge{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid rgba(157,107,255,.5);clip-path:var(--cut-sm);background:linear-gradient(135deg,rgba(91,43,214,.2),transparent 60%),var(--panel-strong);box-shadow:0 0 20px #7b4dff40}.level-badge-hex{position:relative;width:54px;height:60px;flex:0 0 auto;display:grid;place-items:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,#9d6bff,#5b2bd6)}.level-badge-hex:after{position:absolute;inset:2px;clip-path:inherit;background:#0a0e1c;content:""}.level-badge-hex svg{position:relative;z-index:1;color:#c9a6ff;filter:drop-shadow(0 0 8px rgba(157,107,255,.85))}.level-badge-main{flex:1;display:flex;flex-direction:column;gap:8px}.level-badge-main strong{letter-spacing:.08em;color:var(--text)}.level-badge-bar{height:10px;border-radius:999px;background:#ffffff0f;overflow:hidden}.level-badge-bar>div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#9d6bff);box-shadow:var(--shadow-cyan)}.level-badge-xp{font-size:.78rem;color:var(--muted)}@media(max-width:640px){.gallery-header{flex-direction:column;text-align:center}.gallery-grid{grid-template-columns:1fr}}:where(.primary-action,.secondary-action,.lobby-primary-action,.lobby-secondary-action,.invite-join,.invite-join-icon,.code-button,.restart-button,.icon-action,.danger-action,.neon-btn,.segmented-control button,.toggle-chip,.target-select button,.admin-nav button,.admin-actions button,.row-actions button,.neon-toggle-group button):not(.leaderboard-dock *){border:1px solid rgba(0,242,255,.68);border-radius:12px;clip-path:none;background:linear-gradient(90deg,#00f2ff14,#ff00ff09),#020711c2;color:var(--text);box-shadow:0 0 12px #00f2ff3d,inset 0 0 12px #00f2ff14;text-transform:none}.name-console .primary-action,.name-console .secondary-action,.invite-join{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.98rem;font-weight:900;letter-spacing:0}.name-console .primary-action,.name-console .secondary-action{border:1px solid rgba(0,242,255,.68);border-radius:12px;clip-path:none;background:linear-gradient(90deg,#00f2ff14,#ff00ff09),#020711c2;color:var(--text);box-shadow:0 0 12px #00f2ff3d,inset 0 0 12px #00f2ff14}.name-console .secondary-action{border-color:#f0f9;color:#ffc8ff;box-shadow:0 0 12px #ff00ff3d,inset 0 0 12px #ff00ff14}:where(.secondary-action,.solo-action,.lobby-secondary-action,.invite-join,.invite-join-icon,.danger-action,.neon-btn--secondary):not(.leaderboard-dock *){border-color:#f0f9;color:#ffc8ff;box-shadow:0 0 12px #ff00ff3d,inset 0 0 12px #ff00ff14}:where(.primary-action,.secondary-action,.lobby-primary-action,.lobby-secondary-action,.invite-join,.invite-join-icon,.neon-btn):not(.leaderboard-dock *):before,:where(.primary-action,.secondary-action,.lobby-primary-action,.lobby-secondary-action,.invite-join,.invite-join-icon,.neon-btn):not(.leaderboard-dock *):after{display:none}
