@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}canvas,img,video,svg{max-width:100%}:root{--bg-base:#0a0a0b;--bg-elevated:#111113;--bg-card:#161618;--bg-hover:#1c1c1f;--border:#242426;--border-subtle:#1a1a1c;--border-focus:#3a3a3e;--text-primary:#ededed;--text-secondary:#888;--text-muted:#4a4a4e;--text-label:#555558;--accent:#7a8b7d;--accent-dim:#7a8b7d1f;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--sidebar-w:260px;--topbar-h:56px;--radius-sm:2px;--radius:4px;--ease:.15s ease-out}.light-mode{--bg-base:#f5f5f7;--bg-elevated:#fff;--bg-card:#fff;--bg-hover:#f0f2f5;--border:#e5e7eb;--border-subtle:#f3f4f6;--border-focus:#d1d5db;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--text-label:#6b7280;--accent:#4d7c0f;--accent-dim:#4d7c0f14}html,body,#root{width:100%;height:100%;position:fixed;overflow:hidden}body{font-family:var(--font);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-label);font-size:10px;font-weight:600}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 20;vertical-align:middle;font-size:18px;line-height:1}.app-layout{background:0 0;width:100%;height:100%;display:flex;position:fixed;inset:0;overflow:hidden}.main-wrapper{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-base);border-right:1px solid var(--border-subtle);scrollbar-width:thin;scrollbar-color:var(--border-focus) transparent;flex-direction:column;flex-shrink:0;height:100%;min-height:0;padding:32px 24px;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--border-focus);border-radius:10px}.brand{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-bottom:40px;display:flex}.brand-logo-container{justify-content:center;align-items:center;width:100%;max-width:180px;height:60px;display:flex}.brand-logo{object-fit:contain;filter:drop-shadow(0 4px 12px #0003);width:100%;height:100%;transition:transform .3s}.brand:hover .brand-logo{transform:scale(1.05)}.brand-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:1px;font-size:9px;font-weight:600}.nav-section{margin-bottom:32px}.nav-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-label);margin-bottom:12px;padding-left:4px;font-size:9px;font-weight:700}.nav-menu{flex-direction:column;gap:2px;display:flex}.nav-item{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;align-items:center;gap:10px;padding:7px 8px;font-size:13px;font-weight:400;transition:all .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.nav-item:before{content:"";background:var(--accent);opacity:0;border-radius:2px;width:2px;height:60%;transition:transform .25s;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav-item:hover{color:var(--text-primary);background:#ffffff08;transform:translate(4px)}.nav-item.active{color:var(--text-primary);background:var(--accent-dim);box-shadow:inset 0 0 10px #7a8b7d0d}.nav-item.active:before{opacity:1;transform:translateY(-50%)scaleY(1)}.nav-item .nav-icon{opacity:.6;flex-shrink:0;transition:opacity .25s,transform .25s}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{opacity:1}.nav-item:hover .nav-icon{transform:scale(1.1)}.sidebar-footer{border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:24px}.sidebar-user{align-items:center;gap:10px;margin-bottom:16px;display:flex}.sidebar-avatar{background:var(--accent-dim);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.sidebar-user-name{color:var(--text-primary);letter-spacing:-.01em;font-size:12px;font-weight:500}.sidebar-user-role{letter-spacing:.12em;text-transform:uppercase;color:var(--text-label);font-size:9px;font-weight:600}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border-subtle);background:var(--bg-base);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 32px;display:flex}.topbar-left{align-items:center;gap:32px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;font-size:13px;font-weight:500}.topbar-tabs{gap:0;display:flex}.topbar-tab{letter-spacing:.1em;text-transform:uppercase;color:var(--text-label);cursor:pointer;transition:color var(--ease), border-color var(--ease);border-bottom:1px solid #0000;margin-right:24px;padding:4px 0;font-size:10px;font-weight:700}.topbar-tab:hover{color:var(--text-secondary)}.topbar-tab.active{color:var(--text-primary);border-color:var(--accent)}.topbar-right{align-items:center;gap:16px;display:flex}.topbar-search{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;width:320px;height:38px;padding:0 16px;transition:all .2s;display:flex}.theme-toggle{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;margin:0 8px;padding:0;transition:all .2s;display:flex;background:var(--bg-hover)!important;color:var(--text-primary)!important;border:1px solid var(--border)!important}.theme-toggle:hover{transform:rotate(15deg);background:var(--border)!important}.theme-toggle .material-symbols-outlined{font-size:20px}.topbar-search input{font-family:var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);background:0 0;border:none;outline:none;width:180px;font-size:10px;font-weight:700}.topbar-search input::placeholder{color:var(--text-label)}.topbar-btn{cursor:pointer;color:var(--text-secondary);transition:color var(--ease);background:0 0;border:none;align-items:center;padding:0;display:flex}.topbar-btn:hover{color:var(--text-primary)}.content-area{flex:1;padding:48px 40px;animation:.4s cubic-bezier(.2,.8,.2,1) contentFadeIn;overflow:hidden auto}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content-area.game-content{flex-direction:column;min-height:0;padding:24px 32px;display:flex;overflow:hidden}.content-area::-webkit-scrollbar{width:4px}.content-area::-webkit-scrollbar-track{background:0 0}.content-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.hub-header{margin-bottom:40px}.hub-title{letter-spacing:-.02em;color:var(--text-primary);text-transform:uppercase;margin-bottom:4px;font-size:22px;font-weight:300}.hub-subtitle{letter-spacing:.02em;color:var(--text-muted);font-size:11px;font-weight:400}.game-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:32px 28px;display:grid}.game-card{cursor:pointer;flex-direction:column;display:flex}.game-card-thumb{aspect-ratio:4/5;background:var(--bg-card);border:1px solid var(--border);margin-bottom:14px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;box-shadow:0 4px 12px #0003}.game-card-thumb:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:50%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%;transform:skew(-20deg)}.game-card:hover .game-card-thumb{border-color:var(--border-focus);transform:translateY(-6px)scale(1.02);box-shadow:0 16px 32px #00000080,0 0 15px #ffffff0d}.game-card:hover .game-card-thumb:after{left:200%}.game-card-icon{filter:grayscale();transition:filter var(--ease), transform .3s ease;justify-content:center;align-items:center;font-size:2.8rem;display:flex;position:absolute;inset:0}.game-card:hover .game-card-icon{filter:grayscale(0);transform:translateY(-3px)}.game-card-image{object-fit:cover;filter:brightness(.7)saturate(.6);width:100%;height:100%;transition:filter .4s,transform .4s;position:absolute;inset:0}.game-card:hover .game-card-image{filter:brightness(.9)saturate();transform:scale(1.05)}.game-card-overlay{opacity:0;transition:opacity var(--ease);background:#0a0a0b8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-card:hover .game-card-overlay{opacity:1}.game-card-overlay-icon{color:var(--text-primary);font-variation-settings:"FILL" 0, "wght" 200, "GRAD" 0, "opsz" 40;font-size:36px}.game-card-badge{border:1px solid var(--border);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);background:#0a0a0bd9;padding:3px 8px;font-size:8px;font-weight:700;position:absolute;top:12px;right:12px}.game-card-genre{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:9px;font-weight:700}.game-card-title{letter-spacing:-.01em;text-transform:uppercase;color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:500;line-height:1.2}.game-card-desc{color:var(--text-muted);letter-spacing:.01em;font-size:10px;font-weight:400;line-height:1.6}.game-card-add .game-card-thumb{border-style:dashed;border-color:var(--border);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.game-card-add:hover .game-card-thumb{border-color:var(--border-focus)}.game-card-add-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-label);font-size:9px;font-weight:700}.console-wrapper{border:1px solid var(--border);background:var(--bg-card);flex-direction:column;flex:1;min-height:0;display:flex}.console-wrapper.fullscreen{z-index:9999;border:none;border-radius:0;flex-direction:column;width:100vw;height:100vh;display:flex;position:fixed;inset:0}.console-fullscreen-btn{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius);width:32px;height:32px;transition:color var(--ease), background var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 4px;display:flex}.console-fullscreen-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.console-fullscreen-btn .material-symbols-outlined{font-size:18px}.console-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:12px;height:40px;padding:0 16px;display:flex}.console-dots{align-items:center;gap:6px;display:flex}.dot{cursor:pointer;border-radius:50%;width:10px;height:10px}.dot.close{background:#ff5f57}.dot.min{background:#ffbd2e}.dot.max{background:#28c840}.console-title{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.04em;text-align:center;flex:1;font-size:11px}.console-viewport{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden auto}.console-viewport>*{flex:1 1 0;width:100%;max-width:100%;min-height:100%;overflow-x:hidden}.console-wrapper.fullscreen .console-viewport{flex:1 1 0;height:calc(100vh - 40px);min-height:0;overflow:hidden auto}.console-wrapper.fullscreen .console-viewport>*{flex:1 1 0;width:100%;max-width:100%;height:100%;min-height:calc(100vh - 40px);overflow-x:hidden}.console-wrapper.fullscreen .console-viewport canvas{object-fit:contain;max-width:100%;max-height:calc(100vh - 40px);display:block;width:100%!important;height:100%!important}.console-wrapper.fullscreen .console-viewport>*,.console-wrapper.fullscreen .console-viewport>*>*{box-sizing:border-box}.console-wrapper.fullscreen .console-viewport>div{flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden}.console-viewport::-webkit-scrollbar{width:6px}.console-viewport::-webkit-scrollbar-track{background:0 0}.console-viewport::-webkit-scrollbar-thumb{background:var(--border-focus);border-radius:3px}.discover-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:48px 0;display:flex}.hub-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:flex-end;padding:32px 40px;display:flex}.footer-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-label);margin-bottom:12px;font-size:9px;font-weight:700}.footer-stats{gap:40px;display:flex}.footer-stat p{color:var(--text-secondary);text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:500}.footer-stat span{color:var(--text-primary);letter-spacing:-.03em;font-size:18px;font-weight:300}.footer-status{text-align:right}.footer-status-badge{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s cubic-bezier(.4,0,.6,1) infinite subtlePulse}@keyframes subtlePulse{0%{transform:scale(.95);box-shadow:0 0 #7a8b7db3}70%{transform:scale(1);box-shadow:0 0 0 6px #7a8b7d00}to{transform:scale(.95);box-shadow:0 0 #7a8b7d00}}.footer-status p{color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:500}.game-controls-hint{width:min(100%,960px);color:var(--text-muted);text-align:center;margin-top:12px;font-size:.85rem}.game-touch-controls{--touch-accent:var(--accent);--touch-accent-soft:color-mix(in srgb, var(--touch-accent) 45%, transparent);--touch-bg:var(--bg-card);--touch-text:var(--text-primary);justify-content:center;align-items:center;gap:12px;width:min(100%,960px);margin-top:10px;display:none}.game-touch-row{align-items:center;gap:12px;display:flex}.game-touch-btn{border:1px solid var(--touch-accent-soft);background:color-mix(in srgb, var(--touch-bg) 88%, black);min-width:64px;height:52px;color:var(--touch-text);letter-spacing:.04em;box-shadow:0 0 0 1px color-mix(in srgb, var(--touch-accent) 18%, transparent);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:10px;font-size:.95rem;font-weight:700}.game-touch-btn.compact{min-width:56px;font-size:1.1rem}.game-touch-btn:active{transform:scale(.96)}.creator-view{justify-content:center;align-items:center;padding:64px 24px;display:flex}.creator-container{text-align:center;width:100%;max-width:600px}.creator-header{margin-bottom:40px}.creator-avatar-wrapper{width:140px;height:140px;margin:0 auto 24px;position:relative}.creator-avatar{aspect-ratio:1;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:0 8px 32px #0006}.status-badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:100px;padding:4px 12px;font-size:10px;font-weight:700;position:absolute;bottom:0;right:-20px}.creator-name{letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:700}.creator-role{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:14px;font-weight:500}.creator-bio{margin-bottom:48px}.creator-bio p{color:var(--text-secondary);font-size:16px;line-height:1.6}.social-grid{grid-template-columns:1fr;gap:12px;margin-bottom:64px;display:grid}.social-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);transition:all var(--ease);border-radius:12px;align-items:center;gap:16px;padding:16px 24px;text-decoration:none;display:flex}.social-card:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-2px)}.social-icon{color:var(--text-secondary);font-size:24px}.social-info{text-align:left;flex-direction:column;flex:1;display:flex}.social-name{font-size:15px;font-weight:600}.social-action{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.external-icon{color:var(--text-muted);font-size:18px}.creator-footer{border-top:1px solid var(--border-subtle);padding-top:40px}.tech-stack{justify-content:center;gap:24px;margin-bottom:24px;display:flex}.tech-stack span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600}.copyright{color:var(--text-muted);font-size:12px}@media (width>=640px){.social-grid{grid-template-columns:repeat(3,1fr)}.social-card{text-align:center;flex-direction:column;padding:24px;position:relative}.social-info{text-align:center;margin:12px 0}.external-icon{position:absolute;top:12px;right:12px}}.menu-toggle{display:none!important}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.sidebar-overlay.show{opacity:1;pointer-events:auto}@media (width<=1024px){.topbar-search{width:200px}.content-area{padding:32px 24px}}@media (width<=768px){.menu-toggle{margin-right:8px;display:flex!important}.sidebar{z-index:1000;background:var(--bg-elevated);width:min(260px,85vw);transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 50px #00000080}.sidebar.open{transform:translate(0)}.topbar{gap:4px;padding:0 12px}.topbar-left{flex:1;gap:0;min-width:0}.page-title{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 180px);font-size:13px;overflow:hidden}.topbar-tabs,.topbar-search{display:none}.topbar-right{flex-shrink:0;gap:4px}.content-area{padding:20px 14px}.content-area.game-content{padding:10px}.game-touch-controls{display:flex}.hub-header{margin-bottom:24px}.hub-title{font-size:18px}.game-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px 12px}.game-card-title{font-size:11px}.game-card-desc{display:none}.hub-footer{flex-direction:column;align-items:flex-start;gap:20px;padding:20px 14px}.footer-stats{flex-direction:row;gap:24px}.footer-status{text-align:left;width:100%}.footer-status-badge{justify-content:flex-start}.modal-content{border-radius:16px;max-width:calc(100vw - 32px);padding:24px 20px}.creator-view{justify-content:flex-start;align-items:flex-start;padding:48px 16px}.creator-container{text-align:left}.creator-avatar-wrapper{margin-left:0}.creator-name{font-size:26px}.status-badge{bottom:10px;left:auto;right:-10px}.social-grid{grid-template-columns:1fr}.social-card{flex-direction:row;padding:14px 18px}.social-info{text-align:left;margin:0}.external-icon{position:static}.tech-stack{flex-wrap:wrap;justify-content:flex-start;gap:12px}}@media (width<=480px){:root{--topbar-h:50px}.game-grid{grid-template-columns:repeat(2,1fr);gap:12px 10px}.game-card-thumb{margin-bottom:8px}.content-area{padding:16px 12px}.content-area.game-content{padding:8px}.game-controls-hint{font-size:.78rem}.hub-footer{padding:16px 12px}.console-header{padding:0 10px}.console-title{font-size:9px}.modal-content{border-radius:12px;max-width:calc(100vw - 16px);padding:20px 16px}.modal-title{font-size:1.3rem}.creator-name{font-size:22px}.creator-avatar-wrapper{width:100px;height:100px}.status-badge{padding:3px 8px;font-size:8px;bottom:5px;right:-5px}.creator-bio p{font-size:14px}}.modal-overlay{-webkit-backdrop-filter:blur(12px)saturate(180%);z-index:9999;background:#0006;justify-content:center;align-items:center;animation:.3s modalOverlayIn;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:blur(20px);background:#161618cc;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:24px;width:100%;max-width:420px;padding:36px;animation:.4s cubic-bezier(.34,1.56,.64,1) modalContentIn;display:flex;box-shadow:0 32px 64px #0006,0 0 0 1px #ffffff05}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.modal-close:hover{color:var(--text-primary);background:#ffffff14;transform:rotate(90deg)}.auth-input-group{flex-direction:column;gap:8px;display:flex}.auth-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-label);font-size:11px;font-weight:700}.auth-input{width:100%;color:var(--text-primary);border:1px solid var(--border);font-family:var(--font);background:#00000040;border-radius:12px;outline:none;padding:14px 16px;font-size:.95rem;transition:all .2s cubic-bezier(.2,.8,.2,1)}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim);background:#0006}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentIn{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.search-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 0;display:flex}.search-empty-icon{opacity:.2;font-size:48px}.search-empty text{font-size:.9rem;font-weight:500}.leaderboard-container{flex-direction:column;max-width:1000px;min-height:100%;margin:0 auto;padding:30px;display:flex}.leaderboard-header{margin-bottom:30px}.leaderboard-header h2{color:var(--text-primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:5px;font-family:Space Mono,monospace;font-size:2.5rem}.leaderboard-header p{color:var(--text-muted);font-size:1.1rem}.leaderboard-tabs{flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.lb-tab{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:center;border-radius:8px;flex:1;min-width:120px;padding:12px 20px;font-family:Inter,sans-serif;font-weight:600;transition:all .2s}.lb-tab:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateY(-2px)}.lb-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px var(--accent-glow)}.leaderboard-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden;box-shadow:0 8px 30px #0006}.lb-loading,.lb-empty{text-align:center;color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:60px 20px;font-family:Space Mono,monospace;font-size:1.2rem;display:flex}.lb-table{border-collapse:collapse;width:100%}.lb-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:1px;background:#0003;padding:16px 24px;font-size:.85rem;font-weight:500}.lb-table td{color:var(--text-primary);border-bottom:1px solid var(--border);padding:16px 24px;transition:background .2s}.lb-table tr:hover td{background:var(--bg-hover)}.lb-table tr:last-child td{border-bottom:none}.right-align{text-align:right!important}.lb-rank{width:80px;color:var(--text-secondary);font-size:1.1rem;font-weight:700}.lb-ident{font-family:Space Mono,monospace;font-weight:500}.lb-score{color:var(--primary-color);text-shadow:0 0 10px var(--accent-glow);font-family:Space Mono,monospace;font-size:1.2rem;font-weight:700}.top-rank-1 td{background:#fbbf240d}.top-rank-1 .lb-rank{color:#fbbf24;text-shadow:0 0 10px #fbbf2480}.top-rank-1 .lb-ident{color:#fbbf24}.top-rank-2 td{background:#9ca3af0d}.top-rank-2 .lb-rank,.top-rank-2 .lb-ident{color:#d1d5db}.top-rank-3 td{background:#b453090d}.top-rank-3 .lb-rank,.top-rank-3 .lb-ident{color:#d97706}@media (width<=640px){.leaderboard-container{padding:15px}.lb-table th,.lb-table td{padding:12px 15px}}.lb-player-info{align-items:center;gap:10px;display:flex}.lb-avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:28px;height:28px}.lb-you-badge{background:var(--primary-color);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.lb-you td{border-left:3px solid var(--primary-color);background:#6366f10f!important}.profile-setup-overlay{z-index:10001;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.3s psFadeIn;display:flex;position:fixed;inset:0}@keyframes psFadeIn{0%{opacity:0}to{opacity:1}}.profile-setup-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:480px;max-height:90vh;padding:36px;animation:.4s cubic-bezier(.2,.8,.2,1) psSlideUp;overflow-y:auto;box-shadow:0 24px 80px #00000080,0 0 0 1px #ffffff0a}@keyframes psSlideUp{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ps-header{text-align:center;margin-bottom:28px}.ps-icon{background:linear-gradient(135deg, var(--primary-color), var(--accent));border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.ps-icon .material-symbols-outlined{color:#fff;font-size:28px}.ps-header h2{color:var(--text-primary);margin:0 0 6px;font-size:1.3rem;font-weight:700}.ps-header p{color:var(--text-muted);margin:0;font-size:.85rem}.ps-error{color:#f55;background:#ff32321a;border:1px solid #ff32324d;border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:.85rem}.ps-form{flex-direction:column;gap:20px;margin-bottom:28px;display:flex}.ps-avatar-section{align-items:center;gap:16px;display:flex}.ps-avatar-preview{background:var(--bg-elevated);border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.ps-avatar-preview img{object-fit:cover;width:100%;height:100%}.ps-avatar-preview .material-symbols-outlined{color:var(--text-muted);font-size:36px}.ps-avatar-input{flex-direction:column;flex:1;gap:4px;display:flex}.ps-avatar-input label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-label);font-size:.75rem;font-weight:600}.ps-avatar-input input{font-size:.85rem}.ps-field{flex-direction:column;gap:6px;display:flex}.ps-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-label);font-size:.75rem;font-weight:600}.ps-field .required{color:var(--accent)}.ps-form input,.ps-form textarea,.ps-form select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-sans);border-radius:10px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.ps-form input:focus,.ps-form textarea:focus,.ps-form select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f126}.ps-form textarea{resize:vertical;min-height:60px}.ps-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.ps-hint{color:var(--text-muted);font-size:.75rem}.ps-actions{flex-direction:column;gap:10px;display:flex}.ps-btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-size:.95rem;font-weight:600;transition:background .2s,transform .1s}.ps-btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.ps-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ps-btn-ghost{width:100%;color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:12px;padding:12px;font-size:.85rem;font-weight:500;transition:color .2s,border-color .2s}.ps-btn-ghost:hover{color:var(--text-primary);border-color:var(--border)}@media (width<=480px){.profile-setup-modal{padding:24px}.ps-avatar-section{text-align:center;flex-direction:column}}.profile-page{flex-direction:column;gap:24px;max-width:800px;height:100%;margin:0 auto;padding:clamp(20px,4vw,48px);display:flex;overflow-y:auto}.pp-card{border:1px solid var(--border);background:var(--bg-card);border-radius:20px;position:relative;overflow:hidden}.pp-card-bg{z-index:0;background:linear-gradient(135deg,#6366f126,#8b5cf614,#0000 70%);position:absolute;inset:0}.pp-card-content{z-index:1;align-items:center;gap:20px;padding:28px;display:flex;position:relative}.pp-avatar{background:var(--bg-elevated);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;overflow:hidden}.pp-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.pp-avatar-icon{color:var(--text-muted);font-size:48px}.pp-avatar-ring{border:2px solid var(--primary-color);opacity:.5;pointer-events:none;border-radius:50%;position:absolute;inset:-3px}.pp-info{flex:1;min-width:0}.pp-info h2{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:1.5rem;font-weight:700;overflow:hidden}.pp-bio{color:var(--text-secondary);margin:0 0 10px;font-size:.9rem;line-height:1.4}.pp-meta{flex-wrap:wrap;gap:16px;display:flex}.pp-meta span{color:var(--text-muted);align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.pp-meta .material-symbols-outlined{font-size:16px}.pp-edit-btn{border:1px solid var(--border-subtle);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);background:#ffffff0d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.pp-edit-btn:hover{color:var(--text-primary);background:#ffffff1a}.pp-edit-btn .material-symbols-outlined{font-size:20px}.pp-save-msg{color:#10b981;text-align:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:10px;padding:10px 16px;font-size:.85rem;font-weight:500;animation:.3s psFadeIn}.pp-edit-section{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;animation:.3s psSlideUp}.pp-edit-section h3{color:var(--text-primary);margin:0 0 20px;font-size:.95rem;font-weight:600}.pp-edit-form{flex-direction:column;gap:16px;display:flex}.pp-edit-field{flex-direction:column;gap:6px;display:flex}.pp-edit-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-label);font-size:.75rem;font-weight:600}.pp-edit-form input,.pp-edit-form textarea,.pp-edit-form select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-sans);border-radius:10px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.pp-edit-form input:focus,.pp-edit-form textarea:focus,.pp-edit-form select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f126}.pp-edit-form textarea{resize:vertical}.pp-edit-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.pp-save-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:12px;font-weight:600;transition:background .2s}.pp-save-btn:hover:not(:disabled){background:var(--primary-hover)}.pp-save-btn:disabled{opacity:.6;cursor:not-allowed}.pp-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.pp-stat-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:20px;transition:border-color .2s,transform .2s;display:flex}.pp-stat-card:hover{border-color:var(--primary-color);transform:translateY(-2px)}.stat-icon{color:var(--accent);opacity:.8;font-size:24px}.stat-value{color:var(--text-primary);letter-spacing:-.02em;font-size:1.6rem;font-weight:300}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem;font-weight:600}.pp-section{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px}.pp-section h3{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 16px;font-size:.95rem;font-weight:600;display:flex}.pp-section h3 .material-symbols-outlined{color:var(--accent);font-size:20px}.pp-scores-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.pp-score-item{background:#ffffff08;border:1px solid #ffffff0a;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;transition:background .2s;display:flex}.pp-score-item:hover{background:#ffffff0f}.pp-score-game{color:var(--text-secondary);font-size:.85rem;font-weight:500}.pp-score-value{color:var(--accent);letter-spacing:-.02em;font-size:1.1rem;font-weight:300}.pp-activity-list{flex-direction:column;gap:8px;display:flex}.pp-activity-item{background:#ffffff05;border:1px solid #ffffff08;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;transition:background .2s;display:flex}.pp-activity-item:hover{background:#ffffff0d}.pp-activity-game{align-items:center;gap:12px;display:flex}.pp-activity-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.pp-activity-score{color:var(--accent);background:#6366f11a;border-radius:6px;padding:2px 8px;font-size:.8rem}.pp-activity-meta{color:var(--text-muted);align-items:center;gap:12px;font-size:.8rem;display:flex}.pp-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;display:flex}.pp-empty .material-symbols-outlined{opacity:.4;font-size:48px}.pp-empty h3{color:var(--text-primary);margin:0;font-size:1.2rem}.pp-empty p{margin:0;font-size:.9rem}.pp-empty-small{text-align:center;color:var(--text-muted);padding:20px;font-size:.85rem}.pp-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.pp-spinner{border:3px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite ppSpin}@keyframes ppSpin{to{transform:rotate(360deg)}}@media (width<=600px){.pp-card-content{text-align:center;flex-direction:column;padding:24px 20px}.pp-info h2{white-space:normal}.pp-meta{justify-content:center}.pp-edit-btn{position:absolute;top:16px;right:16px}.pp-stats-grid{grid-template-columns:repeat(2,1fr)}.pp-scores-grid{grid-template-columns:1fr}.pp-activity-item{flex-direction:column;align-items:flex-start;gap:6px}}.launch-transition-overlay{z-index:10000;pointer-events:auto;display:flex;position:fixed;inset:0;overflow:hidden}.wipe-panel{background-color:var(--bg-base);transform-origin:50%;flex:1;height:100%;transform:scaleY(0)}.launch-transition-overlay.animating .wipe-panel:first-child{animation:.4s cubic-bezier(.8,0,.2,1) forwards wipeIn}.launch-transition-overlay.animating .wipe-panel:nth-child(2){animation:.4s cubic-bezier(.8,0,.2,1) 50ms forwards wipeIn}.launch-transition-overlay.animating .wipe-panel:nth-child(3){animation:.4s cubic-bezier(.8,0,.2,1) .1s forwards wipeIn}.launch-transition-overlay.animating .wipe-panel:nth-child(4){animation:.4s cubic-bezier(.8,0,.2,1) .15s forwards wipeIn}.launch-transition-overlay.animating .wipe-panel:nth-child(5){animation:.4s cubic-bezier(.8,0,.2,1) .2s forwards wipeIn}@keyframes wipeIn{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.launch-transition-overlay.closing .wipe-panel{transform-origin:50%;transform:scaleY(1)}.launch-transition-overlay.closing .wipe-panel:first-child{animation:.4s cubic-bezier(.8,0,.2,1) forwards wipeOut}.launch-transition-overlay.closing .wipe-panel:nth-child(2){animation:.4s cubic-bezier(.8,0,.2,1) 50ms forwards wipeOut}.launch-transition-overlay.closing .wipe-panel:nth-child(3){animation:.4s cubic-bezier(.8,0,.2,1) .1s forwards wipeOut}.launch-transition-overlay.closing .wipe-panel:nth-child(4){animation:.4s cubic-bezier(.8,0,.2,1) .15s forwards wipeOut}.launch-transition-overlay.closing .wipe-panel:nth-child(5){animation:.4s cubic-bezier(.8,0,.2,1) .2s forwards wipeOut}@keyframes wipeOut{0%{transform:scaleY(1)}to{transform:scaleY(0)}}.launch-transition-overlay.closing-game .wipe-panel{transform-origin:50%;transform:scaleY(0)}.launch-transition-overlay.closing-game .wipe-panel:nth-child(5){animation:.4s cubic-bezier(.8,0,.2,1) forwards wipeIn}.launch-transition-overlay.closing-game .wipe-panel:nth-child(4){animation:.4s cubic-bezier(.8,0,.2,1) 50ms forwards wipeIn}.launch-transition-overlay.closing-game .wipe-panel:nth-child(3){animation:.4s cubic-bezier(.8,0,.2,1) .1s forwards wipeIn}.launch-transition-overlay.closing-game .wipe-panel:nth-child(2){animation:.4s cubic-bezier(.8,0,.2,1) .15s forwards wipeIn}.launch-transition-overlay.closing-game .wipe-panel:first-child{animation:.4s cubic-bezier(.8,0,.2,1) .2s forwards wipeIn}.launch-transition-overlay.opening-hub .wipe-panel{transform-origin:50%;transform:scaleY(1)}.launch-transition-overlay.opening-hub .wipe-panel:nth-child(5){animation:.4s cubic-bezier(.8,0,.2,1) forwards wipeOut}.launch-transition-overlay.opening-hub .wipe-panel:nth-child(4){animation:.4s cubic-bezier(.8,0,.2,1) 50ms forwards wipeOut}.launch-transition-overlay.opening-hub .wipe-panel:nth-child(3){animation:.4s cubic-bezier(.8,0,.2,1) .1s forwards wipeOut}.launch-transition-overlay.opening-hub .wipe-panel:nth-child(2){animation:.4s cubic-bezier(.8,0,.2,1) .15s forwards wipeOut}.launch-transition-overlay.opening-hub .wipe-panel:first-child{animation:.4s cubic-bezier(.8,0,.2,1) .2s forwards wipeOut}.bottle-spin-container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:auto;min-height:100%;padding:clamp(16px,3vw,40px) 20px;display:flex;overflow-y:auto}.game-header{text-align:center;margin-bottom:30px}.game-header .game-title{background:linear-gradient(135deg,#10b981,#34d399);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:2.5rem}.game-header .game-desc{color:var(--text-muted);font-size:1.1rem}.game-controls{text-align:center;min-height:60px;margin-bottom:40px}.pulse-btn{background:linear-gradient(135deg,#10b981,#059669);transition:transform .15s,box-shadow .15s;animation:2s infinite pulse-glow;box-shadow:0 4px 15px #10b98166}.pulse-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98199}.pulse-btn:active{transform:translateY(0)scale(.97)}.mic-status{color:#34d399;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10b9811a;border:1px solid #10b98133;border-radius:20px;align-items:center;gap:10px;padding:12px 24px;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;width:10px;height:10px;position:relative}.status-dot.green{background:#10b981;box-shadow:0 0 10px #10b981}.status-dot.green:after{content:"";border:2px solid #10b981;border-radius:50%;animation:1.5s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:-4px}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.error-msg{color:#ef4444;background:#ef44441a;border-radius:8px;margin-top:15px;padding:10px;font-size:.9rem}.play-area{-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.surface{aspect-ratio:1;perspective:1000px;cursor:grab;touch-action:none;background:radial-gradient(circle,#ffffff0d 0%,#0000 70%);border-radius:50%;flex-shrink:1;justify-content:center;align-items:center;width:100%;min-width:min(250px,100%);max-width:min(60vh,620px,100%);height:auto;display:flex;position:relative}.surface:active{cursor:grabbing}.speed-ring{pointer-events:none;z-index:2;border:3px solid #10b981;border-radius:50%;width:300px;height:300px;transition:box-shadow .2s,opacity .2s,border-color .3s,transform .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bottle{transform-origin:50% 60%;will-change:transform;filter:drop-shadow(0 15px 15px #00000080);z-index:10;flex-direction:column;align-items:center;width:60px;height:240px;transition:filter .3s;display:flex;position:absolute;top:50%;left:50%}.bottle-neck{background:linear-gradient(90deg,#0d9488 0%,#14b8a6 20%,#2dd4bf 50%,#14b8a6 80%,#0d9488 100%);border-radius:4px 4px 0 0;width:24px;height:80px;position:relative;box-shadow:inset 0 0 10px #0000004d}.bottle-cap{background:linear-gradient(90deg,#d4d4d8 0%,#f4f4f5 50%,#d4d4d8 100%);border-radius:3px;height:12px;position:absolute;top:-8px;left:-2px;right:-2px;box-shadow:0 2px 4px #0006}.bottle-highlight{background:linear-gradient(#fffc,#ffffff1a);border-radius:2px;width:4px;position:absolute;top:0;bottom:0;left:4px}.bottle-body{background:linear-gradient(90deg,#0f766e 0%,#0d9488 20%,#14b8a6 50%,#0d9488 80%,#0f766e 100%);border-radius:24px 24px 12px 12px;flex:1;justify-content:center;align-items:center;width:60px;display:flex;position:relative;box-shadow:inset 0 -10px 20px #00000080}.bottle-highlight-body{filter:blur(1px);background:linear-gradient(#fff6,#ffffff0d);border-radius:4px;width:8px;position:absolute;top:10px;bottom:10px;left:8px}.bottle-label{z-index:2;background:linear-gradient(90deg,#1e1e1e 0%,#2d2d2d 50%,#1e1e1e 100%);border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;justify-content:center;align-items:center;width:100%;height:60px;display:flex;box-shadow:0 4px 6px #0000004d}.label-text{color:#10b981;letter-spacing:2px;text-shadow:0 0 5px #10b98180;font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:800;transform:rotate(-90deg)}.shadow{z-index:1;pointer-events:none;background:radial-gradient(circle,#10b98126 0%,#0000 70%);border-radius:50%;width:280px;height:280px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rpm-gauge{flex-direction:column;align-items:center;gap:2px;margin-top:28px;display:flex}.rpm-value{color:#10b981;text-shadow:0 0 20px #10b98199;font-variant-numeric:tabular-nums;font-family:Space Grotesk,monospace;font-size:2.8rem;font-weight:900;line-height:1;transition:color .3s}.rpm-label{letter-spacing:4px;color:#6b7280;text-transform:uppercase;font-size:.7rem}.manual-hint{color:var(--text-muted);opacity:.5;letter-spacing:.02em;margin-top:20px;font-size:.85rem}@media (width<=480px){.surface{width:min(250px,100%);height:auto}.speed-ring{width:230px;height:230px}.shadow{width:220px;height:220px}.game-header .game-title,.rpm-value{font-size:2rem}}.snake-container{background:radial-gradient(circle,#1e1b4b66 0%,#0000 70%);flex-direction:column;align-items:center;width:100%;min-height:100%;padding:clamp(20px,5vw,40px) 20px;display:flex;overflow:hidden auto}.screen-shake{animation:.5s ease-out shake}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-6px,3px)}20%{transform:translate(5px,-5px)}30%{transform:translate(-3px,2px)}40%{transform:translate(3px,-3px)}50%{transform:translate(-2px,3px)}60%{transform:translate(3px,1px)}70%{transform:translate(-1px,-1px)}80%{transform:translate(1px,1px)}}.snake-header{text-align:center;width:100%;margin-bottom:20px}.neon-title{letter-spacing:3px;color:#fff;text-transform:uppercase;text-shadow:0 0 5px #fff,0 0 10px #fff,0 0 20px #0ff,0 0 40px #0ff;margin-bottom:10px;font-family:Space Grotesk,sans-serif;font-size:2rem;animation:4s infinite alternate flicker,6s ease-in-out infinite floatTitle}@keyframes floatTitle{0%,to{transform:translateY(0)}50%{text-shadow:0 0 10px #fff,0 0 25px #0ff,0 0 50px #0ff;transform:translateY(-8px)}}@keyframes flicker{0%,19%,21%,23%,25%,54%,56%,to{text-shadow:0 0 5px #fff,0 0 10px #fff,0 0 20px #0ff,0 0 40px #0ff,0 0 80px #0ff}20%,24%,55%{text-shadow:none}}.score-board{justify-content:center;gap:30px;display:flex}.score-box{background:#0f172a99;border:1px solid #00ffff4d;border-radius:8px;flex-direction:column;align-items:center;min-width:120px;padding:10px 20px;transition:transform .2s;display:flex;box-shadow:0 0 15px #00ffff1a}.score-box:hover{transform:scale(1.03)}.score-box.highlight{border-color:#00ffff80;box-shadow:0 0 15px #00ffff26}.score-box .label{color:var(--text-muted);letter-spacing:2px;margin-bottom:5px;font-size:.75rem}.score-box .value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;transition:transform .15s}.score-pop{animation:.3s scorePop}@keyframes scorePop{0%{transform:scale(1)}50%{color:#facc15;transform:scale(1.4)}to{transform:scale(1)}}.score-box.highlight .value,.score-box:not(.highlight) .value{color:#0ff;text-shadow:0 0 10px #0ffc}.speed-hud{align-items:center;gap:10px;width:100%;margin-bottom:15px;display:flex}.speed-label{letter-spacing:2px;color:#6b7280;min-width:50px;font-size:.7rem}.speed-track{background:#ffffff1a;border-radius:2px;flex:1;height:4px;overflow:hidden}.speed-fill{background:linear-gradient(90deg,#0ff,#fff);border-radius:2px;height:100%;transition:width .3s;box-shadow:0 0 8px #ffffff80}.speed-val{color:#0ff;text-align:right;min-width:36px;font-family:Space Grotesk,monospace;font-size:.75rem}.grid-container{aspect-ratio:1;background-color:#0a0a14cc;border:1px solid #0ff3;border-radius:8px;flex-shrink:0;width:95%;max-width:min(100vh - 220px,760px,100%);margin:0 auto;transition:filter .3s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 0 30px #00000080,inset 0 0 30px #00ffff0d}.eat-flash{box-shadow:0 0 40px #00ffffb3,inset 0 0 60px #fff3!important}.game-over-blur{filter:blur(2px)grayscale(.5)}.retro-grid-bg{pointer-events:none;z-index:1;opacity:.3;background-image:linear-gradient(#00ffff0d 1px,#0000 1px),linear-gradient(90deg,#00ffff0d 1px,#0000 1px);background-position:50%;background-size:30px 30px;position:absolute;inset:0}.snake-active-area{z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.snake-part{transition:all .15s linear;position:absolute}.snake-body{background-color:#0ff;border-radius:2px;transform:scale(.9);box-shadow:0 0 10px #0ff,inset 0 0 5px #fffc}.snake-head{z-index:10;background-color:#fff;border-radius:4px;transform:scale(.95);box-shadow:0 0 15px #0ff,0 0 25px #0ff}.snake-food{background-color:#facc15;border-radius:50%;transition:all .2s;animation:.8s infinite alternate pulse-food;position:absolute;transform:scale(.8);box-shadow:0 0 10px #facc15,0 0 20px #facc15}@keyframes pulse-food{0%{transform:scale(.7);box-shadow:0 0 5px #facc15}to{transform:scale(.9);box-shadow:0 0 20px #facc15,0 0 30px #facc15}}.snake-particle{z-index:20;pointer-events:none;border-radius:50%;width:6px;height:6px;animation:.6s ease-out forwards particleBurst;position:absolute}@keyframes particleBurst{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(0)}}.game-over-overlay{z-index:20;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a14e6;border:2px solid #0ff;border-radius:12px;width:80%;padding:40px;animation:.4s cubic-bezier(.175,.885,.32,1.275) overlayIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #00ffff4d}@keyframes overlayIn{0%{opacity:0;transform:translate(-50%,-45%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.game-over-text{color:#0ff;letter-spacing:2px;text-shadow:0 0 10px #0ffc;margin-bottom:10px;font-family:Space Grotesk,sans-serif;font-size:2rem}.game-over-text.blink{animation:1s step-end infinite blink}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.final-score{color:#0ff;letter-spacing:1px;margin-bottom:15px;font-size:1.2rem}.new-record{color:#facc15;margin-bottom:15px;font-size:1.1rem;animation:.6s infinite alternate recordPulse}@keyframes recordPulse{0%{text-shadow:0 0 5px #facc1580;transform:scale(1)}to{text-shadow:0 0 20px #facc15cc;transform:scale(1.05)}}.neon-btn{text-transform:uppercase;letter-spacing:2px;transition:all .2s;color:#0ff!important;background:0 0!important;border:2px solid #0ff!important;box-shadow:0 0 10px #00ffff4d,inset 0 0 10px #00ffff4d!important}.neon-btn:hover{text-shadow:0 0 5px #fff;transform:scale(1.05);background:#00ffff1a!important;box-shadow:0 0 20px #0ff9,inset 0 0 20px #0ff9!important}.neon-btn:active{transform:scale(.97)}.instructions{color:var(--text-muted);text-align:center;width:100%;margin-top:15px;font-size:.85rem;line-height:1.4}.instructions span{color:#0ff;background:#00ffff1a;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.85rem}@media (width<=480px){.neon-title{font-size:1.8rem}.score-board{gap:10px}.grid-container{width:100%}.score-box{min-width:90px;padding:8px 12px}.score-box .value{font-size:1.2rem}.game-over-text{font-size:1.5rem}}.memory-container{background:radial-gradient(circle at top,#3b82f61a 0%,#0000 60%);flex-direction:column;align-items:center;width:100%;min-height:100%;padding:clamp(20px,5vw,40px) 20px;display:flex;overflow:hidden auto}.memory-header{justify-content:center;align-items:center;width:100%;max-width:min(90vh,860px,100%);margin-bottom:30px;display:flex}.memory-stats{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.stat-box{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181b99;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:12px;padding:12px 24px;transition:transform .2s,box-shadow .2s;display:flex}.stat-box:hover{transform:translateY(-2px);box-shadow:0 4px 15px #3b82f626}.combo-box{animation:.5s comboGlow;background:#facc1514!important;border-color:#facc1566!important}@keyframes comboGlow{0%{transform:scale(.9)}50%{transform:scale(1.08)}to{transform:scale(1)}}.combo-value{text-shadow:0 0 10px #facc1580;color:#facc15!important}.stat-label{color:#a1a1aa;letter-spacing:.05em;font-size:.75rem;font-weight:600}.stat-value{color:#f4f4f5;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.memory-grid{perspective:1000px;flex-shrink:1;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;max-width:min(90vh,860px,100%);max-height:80vh;display:grid}.memory-card{aspect-ratio:3/4;cursor:pointer;background-color:#0000;border-radius:12px;transition:transform .15s;position:relative}.memory-card:hover:not(.flipped):not(.matched){transform:scale(1.04)}.memory-card:active:not(.flipped):not(.matched){transform:scale(.97)}.card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.175,.885,.32,1.275);position:relative}.memory-card.flipped .card-inner{transform:rotateY(180deg)}.memory-card.matched .card-inner{opacity:.7;animation:3s ease-in-out infinite alternate matchedBreathe;transform:rotateY(180deg)scale(.95)}@keyframes matchedBreathe{0%{opacity:.7;transform:rotateY(180deg)scale(.95)}to{opacity:.9;transform:rotateY(180deg)scale(.98);box-shadow:0 0 15px #3b82f633}}.memory-card.sparkle{animation:.6s sparkleAnim}@keyframes sparkleAnim{0%{box-shadow:0 0 #3b82f600}30%{box-shadow:0 0 30px 10px #3b82f680,0 0 60px 20px #a855f74d}to{box-shadow:0 0 #3b82f600}}.card-front,.card-back{backface-visibility:hidden;border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;display:flex;position:absolute}.card-front{background:linear-gradient(135deg,#ffffff0d,#ffffff03);border:1px solid #ffffff1a;overflow:hidden;box-shadow:0 4px 15px #0000004d}.card-front:hover{background:linear-gradient(135deg,#ffffff14,#ffffff05);border-color:#fff3}.card-question{color:#ffffff26;pointer-events:none;font-size:1.8rem;font-weight:700}.glass-reflection{background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);height:100%;position:absolute;top:0;left:0;right:0;transform:skew(-20deg)translate(-20%)}.card-back{color:#fff;background:linear-gradient(135deg,#1e3a8a,#3b82f6);border:1px solid #3b82f666;transform:rotateY(180deg);box-shadow:0 0 20px #3b82f64d,inset 0 0 10px #0003}.memory-win-overlay{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#09090beb;border:1px solid #3b82f64d;border-radius:16px;padding:40px;animation:.5s cubic-bezier(.175,.885,.32,1.275) popIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 40px #00000080,inset 0 0 20px #3b82f61a}.memory-win-overlay h2{color:#f4f4f5;margin-bottom:10px;font-size:2rem}.memory-win-overlay p{color:#a1a1aa;margin-bottom:16px}.combo-bonus{font-size:1.1rem;font-weight:700;animation:.6s infinite alternate comboGlow;color:#facc15!important}.win-stars{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.star{font-size:2.2rem;transition:transform .3s}.star.earned{color:#facc15;text-shadow:0 0 15px #facc1599;animation:.5s starBounce}.star.empty{color:#3f3f46}.star.earned:first-child{animation-delay:0s}.star.earned:nth-child(2){animation-delay:.15s}.star.earned:nth-child(3){animation-delay:.3s}@keyframes starBounce{0%{transform:scale(0)rotate(-20deg)}60%{transform:scale(1.3)rotate(5deg)}to{transform:scale(1)rotate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (width<=600px){.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.card-front,.card-back{font-size:2rem}.stat-box{gap:8px;padding:8px 16px}.stat-value{font-size:1rem}}.rhythm-container{background:radial-gradient(circle,#a855f726 0%,#0000 70%);flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:auto;min-height:100%;padding:clamp(16px,3vw,40px) 20px;transition:background .5s;display:flex}.rhythm-container.on-fire{background:radial-gradient(circle,#ef444433 0%,#a855f726 50%,#0000 80%)}.rhythm-header{width:100%;max-width:min(90vh,860px,100%)}.rhythm-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181bcc;border:1px solid #a855f74d;border-radius:16px;justify-content:space-between;padding:16px 32px;display:flex;box-shadow:0 10px 30px #00000080}.r-stat{flex-direction:column;align-items:center;display:flex}.r-stat .label{color:#a1a1aa;letter-spacing:.1em;margin-bottom:4px;font-size:.7rem}.r-stat .value{font-variant-numeric:tabular-nums;font-family:monospace;font-size:1.5rem;font-weight:700;transition:color .3s,transform .15s}.rhythm-play-area{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.beat-visualizer{align-items:flex-end;gap:3px;height:65px;margin-bottom:30px;display:flex}.beat-bar{border-radius:2px 2px 0 0;width:8px;min-height:4px;transition:height 80ms ease-out}.target-ring{pointer-events:none;border:2px dashed #a855f780;border-radius:50%;width:160px;height:160px;animation:10s linear infinite spin;position:absolute}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.expanding-ring{pointer-events:none;border:3px solid #a855f799;border-radius:50%;width:80px;height:80px;animation:.8s ease-out forwards ringExpand;position:absolute}@keyframes ringExpand{0%{opacity:.8;border-color:#a855f7cc;transform:scale(1)}to{opacity:0;border-color:#a855f700;transform:scale(3.5)}}.rhythm-orb{cursor:pointer;z-index:10;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 30% 30%,#d8b4fe,#a855f7,#6b21a8);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:transform .1s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 0 30px #a855f799,inset 0 0 10px #ffffff80}.rhythm-orb:hover{filter:brightness(1.2)}.rhythm-orb:active{transform:scale(.9)!important}.fire-orb{animation:.3s infinite alternate fireFlicker;background:radial-gradient(circle at 30% 30%,#fde68a,#f97316,#dc2626)!important;box-shadow:0 0 40px #ef4444b3,0 0 80px #f9731666,inset 0 0 10px #ffffff80!important}@keyframes fireFlicker{0%{box-shadow:0 0 40px #ef4444b3,0 0 80px #f9731666}to{box-shadow:0 0 50px #ef4444e6,0 0 100px #f9731699}}.fire-emoji{font-size:1.5rem;animation:.4s infinite alternate fireWiggle}@keyframes fireWiggle{0%{transform:rotate(-5deg)scale(1)}to{transform:rotate(5deg)scale(1.1)}}.orb-text{color:#fff;letter-spacing:.1em;text-shadow:0 2px 4px #00000080;font-size:.9rem;font-weight:700}.feedback-text{text-transform:uppercase;letter-spacing:.1em;pointer-events:none;text-shadow:0 4px 10px #00000080;font-size:2rem;font-weight:800;animation:.6s forwards floatUp;position:absolute;top:65%}.feedback-text.perfect{color:#facc15;text-shadow:0 0 20px #facc15cc}.feedback-text.good{color:#4ade80;text-shadow:0 0 20px #4ade80cc}.feedback-text.miss{color:#ef4444;text-shadow:0 0 20px #ef4444cc}.feedback-text.get.ready\!{color:#a855f7}.feedback-text.time.up\!{color:#ef4444}@keyframes floatUp{0%{opacity:1;transform:translateY(0)scale(.8)}50%{opacity:1;transform:translateY(-20px)scale(1.1)}to{opacity:0;transform:translateY(-40px)scale(1)}}.rhythm-instructions{color:#a1a1aa;text-align:center;opacity:.7;font-size:.9rem;line-height:1.6}@media (width<=480px){.rhythm-stats{gap:10px;padding:12px 16px}.r-stat .value{font-size:1.2rem}.target-ring{width:140px;height:140px}.beat-visualizer{height:40px}.beat-bar{width:5px}}.terminal-container{color:#00ff41;background-color:#050505;flex-direction:column;width:100%;height:auto;min-height:100%;padding:clamp(12px,2.4vw,20px);font-family:Courier New,Courier,monospace;display:flex;position:relative;overflow:hidden auto}.crt-overlay{pointer-events:none;z-index:100;background:radial-gradient(circle,#00ff410d 0%,#00000080 100%);position:absolute;inset:0;box-shadow:inset 0 0 50px #000c}.scanlines{pointer-events:none;z-index:101;background:linear-gradient(#fff0,#fff0 50%,#0000001a 50%,#0000001a) 0 0/100% 4px;animation:10s linear infinite scanlines-scroll;position:absolute;inset:0}@keyframes scanlines-scroll{0%{background-position:0 0}to{background-position:0 100%}}.matrix-rain{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.matrix-column{color:#00ff41;opacity:.3;flex-direction:column;font-size:14px;line-height:1.2;animation:linear infinite matrixFall;display:flex;position:absolute;top:-200px}@keyframes matrixFall{0%{transform:translateY(-100%)}to{transform:translateY(calc(100vh + 200px))}}.matrix-column span{display:block}.terminal-screen{z-index:10;flex-direction:column;flex:1;display:flex;position:relative}.start-screen,.gameover-screen{text-align:center;justify-content:center;align-items:center}.terminal-title{letter-spacing:2px;text-shadow:0 0 10px #00ff4180;margin-bottom:10px;font-size:3rem;font-weight:700}.terminal-subtitle{opacity:.8;margin-bottom:30px;font-size:1.2rem}.boot-sequence{text-align:left;color:#a3ffb8;margin-bottom:40px;font-size:1.1rem}.boot-sequence p{opacity:0;margin:5px 0;animation:.1s forwards show-line}.boot-sequence p:first-child{animation-delay:.5s}.boot-sequence p:nth-child(2){animation-delay:1.2s}.boot-sequence p:nth-child(3){animation-delay:2s}@keyframes show-line{to{opacity:1}}.instructions{color:#8cbaa0;max-width:min(90vh,860px,100%);margin-bottom:40px;line-height:1.5}.hack-btn{color:#00ff41;cursor:pointer;background:0 0;border:2px solid #00ff41;padding:15px 30px;font-family:inherit;font-size:1.5rem;transition:all .2s;box-shadow:0 0 15px #00ff4133,inset 0 0 15px #00ff411a}.hack-btn:hover{color:#050505;background:#00ff41;transform:scale(1.05);box-shadow:0 0 25px #00ff4180}.hack-btn:active{transform:scale(.97)}.playing-screen{justify-content:space-between}.terminal-header{border-bottom:1px solid #00ff41;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:20px;padding-bottom:10px;display:flex}.stat{font-size:1rem;font-weight:700}.play-area{background:#00ff4105;border:1px dashed #00ff414d;flex:1;min-height:250px;margin-bottom:20px;position:relative;overflow:hidden}.falling-word{text-shadow:0 0 5px;font-size:1.4rem;font-weight:700;transition:color .3s;position:absolute;transform:translate(-50%)}.typed-chars{color:#fff;text-shadow:0 0 8px #fffc;background:#00ff4133;border-radius:2px}.shatter-container{z-index:50;pointer-events:none;position:absolute;transform:translate(-50%)}.shatter-char{color:#00ff41;font-size:1.4rem;font-weight:700;animation:.5s ease-out forwards shatterFly;display:inline-block}@keyframes shatterFly{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--shatter-x), var(--shatter-y)) rotate(var(--shatter-r));opacity:0}}.input-line{background:#00ff410d;border-left:4px solid #00ff41;align-items:center;padding:10px;font-size:1.5rem;transition:background .1s;display:flex}.prompt{margin-right:15px;font-weight:700}.terminal-input{color:#fff;font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none;flex:1}.cursor{animation:1s infinite blink}.success-flash{background:#00ff414d!important}.damage-flash{animation:.2s bg-flash}@keyframes bg-flash{0%,to{background-color:#050505}50%{background-color:#3b0000}}.glitch{color:#ff003c;text-shadow:0 0 10px #ff003ccc;position:relative}.glitch:before,.glitch:after{content:attr(data-text);opacity:.8;width:100%;height:100%;position:absolute;top:0;left:0}.glitch:before{text-shadow:-2px 0 #00ff41;clip:rect(24px, 550px, 90px, 0);animation:3s linear infinite alternate-reverse glitch-anim-2;left:2px}.glitch:after{text-shadow:-2px 0 #0ff;clip:rect(85px, 550px, 140px, 0);animation:2.5s linear infinite alternate-reverse glitch-anim;left:-2px}@keyframes glitch-anim{0%{clip:rect(10px, 9999px, 83px, 0)}20%{clip:rect(32px, 9999px, 12px, 0)}40%{clip:rect(61px, 9999px, 86px, 0)}60%{clip:rect(5px, 9999px, 95px, 0)}80%{clip:rect(67px, 9999px, 42px, 0)}to{clip:rect(85px, 9999px, 20px, 0)}}@keyframes glitch-anim-2{0%{clip:rect(65px, 9999px, 100px, 0)}20%{clip:rect(3px, 9999px, 4px, 0)}40%{clip:rect(20px, 9999px, 2px, 0)}60%{clip:rect(15px, 9999px, 45px, 0)}80%{clip:rect(89px, 9999px, 82px, 0)}to{clip:rect(45px, 9999px, 62px, 0)}}.final-stats{margin:4px 0;font-size:1rem}@media (width<=768px){.terminal-title{font-size:1.8rem}.stat{font-size:.75rem}.input-line,.falling-word{font-size:1rem}.matrix-column{font-size:10px}.instructions{margin-bottom:24px;font-size:.9rem}}.sweeper-container{background:linear-gradient(135deg,#0f172a,#1e1b4b);flex-direction:column;justify-content:center;align-items:center;width:100%;height:auto;min-height:100%;font-family:Inter,sans-serif;display:flex;position:relative;overflow-y:auto}.sweeper-container.screen-shake{animation:.5s ease-out shake}.sweeper-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:90%;max-width:min(90vh,860px);margin-bottom:20px;padding:15px 20px;display:flex;box-shadow:0 10px 30px #00000080}.sweeper-stat{flex-direction:column;display:flex}.stat-label{text-transform:uppercase;letter-spacing:1.5px;color:#94a3b8;margin-bottom:4px;font-size:.65rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:800;line-height:1}.text-teal{color:#2dd4bf;text-shadow:0 0 10px #2dd4bf66}.text-rose{color:#f43f5e;text-shadow:0 0 10px #f43f5e66}.text-slate{color:#e2e8f0}.reset-btn{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.4rem;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex}.reset-btn:hover{background:#ffffff1a;transform:scale(1.15);box-shadow:0 0 20px #2dd4bf33}.chain-counter{color:#facc15;letter-spacing:1px;background:#facc151a;border:1px solid #facc154d;border-radius:20px;margin-bottom:12px;padding:4px 16px;font-size:.75rem;font-weight:700;animation:.5s chainPop}@keyframes chainPop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.sweeper-grid{background:#0006;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex;box-shadow:inset 0 0 20px #000c}.grid-row{gap:4px;display:flex}.grid-cell{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;font-weight:700;transition:all .15s;display:flex}.grid-cell.hidden{background:linear-gradient(135deg,#ffffff1a,#ffffff05);border:1px solid #00000080;border-color:#fff3 #00000080 #00000080 #ffffff1a;box-shadow:0 2px 5px #0000004d}.grid-cell.hidden:hover{background:linear-gradient(135deg,#ffffff26,#ffffff0d);transform:scale(1.05)}.grid-cell.hidden:active{transform:scale(.92)}.grid-cell.revealed{background:#00000080;border:1px solid #ffffff05;animation:.25s ease-out backwards cellReveal;box-shadow:inset 0 2px 5px #00000080}@keyframes cellReveal{0%{opacity:0;background:#2dd4bf33;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.mine-explosion{background:#ef4444!important;animation:.5s ease-out forwards explode!important;box-shadow:0 0 20px #ef4444!important}@keyframes explode{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.sweeper-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0f172ad9;flex-direction:column;justify-content:center;align-items:center;animation:.3s forwards fadeIn;display:flex;position:absolute;inset:0}.sweeper-overlay h2{color:#fff;text-align:center;letter-spacing:2px;text-shadow:0 0 20px #ffffff4d;margin-bottom:16px;font-size:2rem}.overlay-time{color:#94a3b8;margin-bottom:24px;font-size:1rem}.play-again-btn{color:#2dd4bf;letter-spacing:1px;cursor:pointer;background:0 0;border:2px solid #2dd4bf;border-radius:6px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .2s}.play-again-btn:hover{color:#0f172a;background:#2dd4bf;transform:scale(1.05);box-shadow:0 0 15px #2dd4bf66}.play-again-btn:active{transform:scale(.97)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=500px){.sweeper-header{width:100%;padding:12px}.grid-cell{width:28px;height:28px;font-size:.9rem}}.neon-pong-container{--touch-accent:#f0f;--touch-bg:#f0f3;--touch-text:#ffe7ff;background-color:#030005;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:clamp(12px,2vw,20px);font-family:Courier New,Courier,monospace;display:flex;position:relative;overflow:hidden auto}.neon-pong-header{color:#fff;background:#140014cc;border:1px solid #303;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:10px;width:min(100%,960px);margin-bottom:20px;padding:10px 14px;font-size:clamp(.9rem,2.1vw,1.75rem);font-weight:700;display:flex;box-shadow:0 0 15px #f0f3}.neon-pong-container .high-score-display{color:#0ff}.pong-mode-switch{flex-wrap:wrap;justify-content:center;gap:10px;width:min(100%,960px);margin-bottom:12px;display:flex}.pong-mode-btn{color:#f4d2ff;cursor:pointer;background:#1f0724e6;border:1px solid #3a154a;border-radius:8px;padding:8px 14px;font-family:inherit;font-weight:700;transition:transform .15s,box-shadow .2s,border-color .2s}.pong-mode-btn:hover{border-color:#f0f;transform:translateY(-1px);box-shadow:0 0 14px #ff00ff40}.pong-mode-btn.active{color:#fff;background:#f0f3;border-color:#f0f;box-shadow:0 0 12px #ff00ff59}.canvas-wrapper-pong{aspect-ratio:4/3;border:1px solid #303;border-radius:12px;width:min(100%,960px);position:relative;overflow:hidden;box-shadow:0 0 20px #ff00ff2e}.neon-pong-canvas{touch-action:none;width:100%;height:100%;display:block}.neon-pong-container .game-over-overlay{text-align:center;color:#fff;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080210f2;border-radius:12px;width:min(88%,420px);padding:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.neon-pong-container .game-over-overlay h2{margin-bottom:12px;font-size:clamp(1.35rem,6vw,2rem)}.neon-pong-container .game-over-overlay p{font-size:clamp(.95rem,3vw,1.15rem)}.pong-controls-hint{width:min(100%,960px);margin-top:12px}.pong-mobile-controls{width:min(100%,960px);margin-top:10px}.pong-ctrl-btn{touch-action:none;-webkit-user-select:none;user-select:none}@media (width<=768px){.neon-pong-header{text-align:center;justify-content:center}.neon-pong-container .high-score-display{text-align:center;align-self:stretch}}.air-hockey-container{color:#eef2ff;background:radial-gradient(circle at 15% 10%,#ff2fd91f,#0000 38%),radial-gradient(circle at 85% 90%,#22f3ff1f,#0000 40%),#040611;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:clamp(14px,2.8vw,28px);font-family:Orbitron,Segoe UI,sans-serif;display:flex}.air-hockey-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:min(100%,980px);margin-bottom:10px;display:flex}.score-block,.mode-block{letter-spacing:1px;background:#0a101ed1;border:1px solid #ffffff24;border-radius:12px;padding:10px 14px;font-weight:700}.score-block.pink{color:#ff6ae8;text-shadow:0 0 9px #ff6ae873}.score-block.cyan{color:#56eeff;text-shadow:0 0 9px #56eeff73}.mode-block{color:#f2f8ff}.air-hockey-switch{flex-wrap:wrap;justify-content:center;gap:10px;width:min(100%,980px);margin-bottom:12px;display:flex}.air-hockey-canvas-wrap{aspect-ratio:5/3;border:1px solid #ffffff24;border-radius:14px;width:min(100%,980px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,0 14px 50px #00000073}.air-hockey-canvas{width:100%;height:100%;display:block}.air-hockey-controls{color:#c4cee6;text-align:center;margin-top:12px;font-size:.92rem}.air-hockey-touch-joysticks{justify-content:space-between;align-items:center;gap:24px;width:min(100%,980px);margin-top:12px;display:none}.touch-stick-wrap{color:#d6e6ff;letter-spacing:.8px;flex-direction:column;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.touch-stick-base{touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#ffffff1f,#ffffff08);border:1px solid #fff3;border-radius:999px;width:112px;height:112px;position:relative}.touch-stick-thumb{border-radius:999px;width:46px;height:46px;margin-top:-23px;margin-left:-23px;transition:transform 50ms linear;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 1px #fff3}.touch-stick-thumb.pink{background:radial-gradient(circle at 30% 30%,#ffc6f7,#ff2fd9);box-shadow:0 0 18px #ff2fd975}.touch-stick-thumb.cyan{background:radial-gradient(circle at 30% 30%,#c9feff,#22f3ff);box-shadow:0 0 18px #22f3ff75}.air-hockey-intro{text-align:center;background:#080d1ceb;border:1px solid #ffffff24;border-radius:16px;width:min(100%,660px);padding:clamp(18px,4vw,30px);box-shadow:inset 0 0 0 1px #ffffff0a,0 18px 50px #00000073}.air-hockey-intro h1{color:#fff;letter-spacing:2px;text-shadow:0 0 16px #56eeff5c;margin:0 0 12px}.air-hockey-intro p{color:#bcc8e3;margin-bottom:16px;line-height:1.55}.air-hockey-intro-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.air-hockey-help{text-align:left;color:#d9e5ff;background:#ffffff0a;border:1px solid #ffffff1c;border-radius:10px;padding:10px 12px;font-size:.92rem;line-height:1.6}.air-hockey-btn{cursor:pointer;border:none;border-radius:10px;padding:10px 14px;font-family:inherit;font-weight:700;transition:transform .14s,box-shadow .2s,opacity .2s}.air-hockey-btn:hover{transform:translateY(-1px)}.air-hockey-btn.primary{color:#120814;background:linear-gradient(90deg,#ff5eea,#ffa7f3);box-shadow:0 0 20px #ff5eea59}.air-hockey-btn.secondary{color:#00131a;background:linear-gradient(90deg,#41deff,#9af4ff);box-shadow:0 0 20px #41deff52}.air-hockey-btn.mini{color:#eaf2ff;background:#ffffff12;border:1px solid #ffffff29}.air-hockey-btn.mini.active{color:#dcfdff;background:#41deff33;border-color:#41deffbf}.air-hockey-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;background:#040814c2;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.air-hockey-overlay h2{color:#fff;text-shadow:0 0 16px #ffffff59;margin:0;font-size:clamp(1.35rem,4vw,2.2rem)}.air-hockey-overlay p{color:#ccd8f3;margin:0}.air-hockey-overlay-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}@media (width<=760px){.air-hockey-intro-grid{grid-template-columns:1fr}.air-hockey-header{justify-content:center}.score-block,.mode-block{text-align:center}.air-hockey-touch-joysticks{display:flex}}.sort-viz-container{color:#fff;box-sizing:border-box;background-color:#0c0a15;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:auto;min-height:100%;padding:30px;font-family:Space Grotesk,sans-serif;display:flex;overflow-y:auto}.sort-header{border-bottom:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:16px;padding-bottom:16px;display:flex}.sort-header-left{align-items:center;gap:12px;display:flex}.sort-title{letter-spacing:2px;color:#8b5cf6;text-shadow:0 0 15px #8b5cf680;margin:0;font-size:1.5rem}.algo-badge{letter-spacing:2px;color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf666;border-radius:20px;padding:3px 10px;font-size:.65rem;font-weight:700}.sort-controls{flex-wrap:wrap;gap:10px;display:flex}.sort-btn{color:#e2e8f0;letter-spacing:1px;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:8px 16px;font-family:inherit;font-size:.75rem;transition:all .2s}.sort-btn:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.sort-btn:active:not(:disabled){transform:translateY(0)scale(.97)}.sort-btn:disabled{opacity:.3;cursor:not-allowed}.generate-btn{color:#3b82f6;border-color:#3b82f6}.algo-btn{color:#f43f5e;border-color:#f43f5e}.algo-btn-alt{color:#a855f7;border-color:#a855f7}.algo-btn:hover:not(:disabled){background:#f43f5e1a;box-shadow:0 0 15px #f43f5e4d}.algo-btn-alt:hover:not(:disabled){background:#a855f71a;box-shadow:0 0 15px #a855f74d}.generate-btn:hover:not(:disabled){background:#3b82f61a;box-shadow:0 0 15px #3b82f64d}.sort-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;width:100%;margin-bottom:16px;display:flex}.speed-control{align-items:center;gap:10px;display:flex}.speed-label{letter-spacing:2px;color:#6b7280;font-size:.65rem}.speed-slider{appearance:none;background:#ffffff1a;border-radius:2px;outline:none;width:120px;height:4px}.speed-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#8b5cf6;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #8b5cf680}.speed-val{color:#8b5cf6;font-variant-numeric:tabular-nums;text-align:right;min-width:32px;font-size:.75rem}.sort-stats{gap:16px;display:flex}.sort-stat{align-items:center;gap:6px;font-size:.75rem;display:flex}.sort-stat span{color:#6b7280;letter-spacing:1px}.sort-stat strong{color:#e2e8f0;font-variant-numeric:tabular-nums;font-size:1rem}.array-container{background:#0006;border-radius:8px;flex:1;justify-content:center;align-items:flex-end;gap:3px;width:100%;padding:20px;display:flex;box-shadow:inset 0 0 20px #00000080}.array-bar{border-top-left-radius:3px;border-top-right-radius:3px;flex:1;max-width:18px;transition:height 80ms,background-color 80ms}@media (width<=768px){.sort-header{flex-direction:column;gap:12px}.sort-controls{flex-wrap:wrap;justify-content:center}.array-container{gap:2px;padding:10px}.array-bar{max-width:8px}.sort-meta{flex-direction:column;gap:10px}}.hex-container{color:#fff;-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#1e1b4b 0%,#050510 100%);flex-direction:column;justify-content:center;align-items:center;width:100%;height:auto;min-height:100%;font-family:Space Grotesk,sans-serif;display:flex;overflow-y:auto}.hex-header{justify-content:space-between;align-items:center;width:100%;max-width:min(90vh,860px,100%);margin-bottom:12px;padding:0 20px;display:flex}.hex-header-right{align-items:center;gap:12px;display:flex}.hex-title{color:#a5b4fc;letter-spacing:3px;margin:0;font-size:1.5rem}.move-badge{letter-spacing:1.5px;color:#a5b4fc;font-variant-numeric:tabular-nums;background:#8b5cf61a;border:1px solid #8b5cf64d;border-radius:20px;padding:4px 12px;font-size:.7rem;font-weight:700}.hex-reset{color:#8b5cf6;cursor:pointer;letter-spacing:1px;background:0 0;border:1px solid #8b5cf6;border-radius:4px;padding:8px 16px;font-family:inherit;transition:all .2s}.hex-reset:hover{background:#8b5cf633;transform:translateY(-1px);box-shadow:0 0 10px #8b5cf680}.hex-reset:active{transform:translateY(0)scale(.97)}.level-selector{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;gap:2px;margin-bottom:16px;display:flex;overflow:hidden}.level-btn{color:#6b7280;letter-spacing:2px;cursor:pointer;background:0 0;border:none;padding:6px 18px;font-family:inherit;font-size:.65rem;font-weight:600;transition:all .2s}.level-btn.active{color:#a5b4fc;text-shadow:0 0 8px #8b5cf680;background:#8b5cf626}.level-btn:hover:not(.active){color:#9ca3af}.hex-gameboard{aspect-ratio:1;background:#0006;border:1px solid #ffffff0d;border-radius:12px;flex-shrink:1;width:100%;max-width:min(80vh,760px,100%);max-height:80vh;padding:10px;transition:border-color .5s,box-shadow .5s;position:relative;box-shadow:inset 0 0 30px #000c,0 10px 30px #00000080}.hex-gameboard.completed{border-color:#0000;animation:2s linear infinite rainbowBorder;box-shadow:inset 0 0 30px #000c,0 0 30px #8b5cf64d}@keyframes rainbowBorder{0%{border-color:#ef4444;box-shadow:inset 0 0 30px #000c,0 0 20px #ef444466}25%{border-color:#eab308;box-shadow:inset 0 0 30px #000c,0 0 20px #eab30866}50%{border-color:#10b981;box-shadow:inset 0 0 30px #000c,0 0 20px #10b98166}75%{border-color:#3b82f6;box-shadow:inset 0 0 30px #000c,0 0 20px #3b82f666}to{border-color:#ef4444;box-shadow:inset 0 0 30px #000c,0 0 20px #ef444466}}.hex-svg{pointer-events:none;z-index:10;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;top:10px;left:10px}.svg-path{filter:drop-shadow(0 0 5px);transition:d .1s}.hex-grid{z-index:20;flex-direction:column;width:100%;height:100%;display:flex;position:relative}.hex-row{flex:1;display:flex}.hex-cell{cursor:pointer;border:1px dashed #ffffff0d;flex:1;justify-content:center;align-items:center;transition:background .15s;display:flex}.hex-cell:hover{background:#ffffff0a}.hex-dot{pointer-events:none;border-radius:50%;width:40%;height:40%;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s}.hex-cell:hover .hex-dot{transform:scale(1.3);box-shadow:0 0 12px}.hex-path-dot{pointer-events:none;border-radius:50%;width:20%;height:20%;animation:.15s pathDotAppear}@keyframes pathDotAppear{0%{transform:scale(0)}to{transform:scale(1)}}.hex-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;background:#0a0514e0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;animation:.4s fadeIn;display:flex;position:absolute;inset:0}.hex-overlay h3{color:#10b981;letter-spacing:4px;text-shadow:0 0 20px #10b98199;margin:0;font-size:2rem}.completion-stats{color:#94a3b8;margin-top:8px;margin-bottom:16px;font-size:.9rem}.mt-4{margin-top:16px}@media (width<=680px){.hex-header{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:16px;padding:0}.hex-title{text-align:center;width:100%}}.chess-container{color:#fff;scrollbar-width:thin;scrollbar-color:#a78bfa #050508;background-color:#050508;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:clamp(24px,5vw,60px) 20px;font-family:Inter,sans-serif;display:flex;overflow:hidden auto}.chess-container::-webkit-scrollbar{width:6px}.chess-container::-webkit-scrollbar-track{background:#050508}.chess-container::-webkit-scrollbar-thumb{background:#a78bfa4d;border-radius:10px}.chess-header{text-align:center;width:100%;max-width:min(90vh,860px,100%);margin-bottom:20px}.chess-title{letter-spacing:2px;color:#a78bfa;text-transform:uppercase;margin-bottom:5px;font-size:2rem}.chess-status{color:#e4e4e7;min-height:24px;font-size:1rem}.chess-clocks{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:14px;display:flex}.chess-clock{color:#d4d4d8;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:140px;padding:10px 14px;display:flex}.chess-clock span{text-transform:uppercase;letter-spacing:1.6px;color:#a1a1aa;font-size:.75rem}.chess-clock strong{letter-spacing:1px;font-size:1.15rem}.chess-clock.active{color:#fff;border-color:#a78bfae6;box-shadow:0 0 0 1px #a78bfa40,0 0 24px #a78bfa1f}.chess-toolbar{flex-direction:column;gap:14px;width:100%;max-width:min(90vh,860px,100%);margin-bottom:16px;display:flex}.chess-mode-toggle{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chess-btn{color:#a1a1aa;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:8px 16px;font-family:inherit;font-size:.9rem;transition:all .2s}.chess-btn.active{color:#a78bfa;background:#a78bfa33;border-color:#a78bfa}.chess-btn:hover:not(.active){color:#fff;background:#ffffff1a}.chess-btn:disabled{opacity:.45;cursor:not-allowed}.chess-actions{flex-wrap:wrap;justify-content:center;align-items:end;gap:12px;display:flex}.move-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.time-control{color:#d4d4d8;flex-direction:column;gap:6px;font-size:.85rem;display:flex}.time-control span{text-transform:uppercase;letter-spacing:1.4px;color:#a1a1aa}.time-control select{color:#fff;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;min-width:160px;padding:9px 12px;font-family:inherit}.ai-level-control select{min-width:220px}.time-control select:disabled{opacity:.55}.chess-mode-note{text-align:center;color:#a1a1aa;width:100%;max-width:min(90vh,860px,100%);margin-bottom:14px;font-size:.9rem}.chess-board-wrapper{aspect-ratio:1;background:#27272a;border:2px solid #3f3f46;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:min(85vh,800px,100%);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #0009}.chess-board-grid{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid}.chess-square{cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;transition:background-color .2s;display:flex;position:relative}.chess-square.light{background-color:#e4e4e7}.chess-square.dark{background-color:#71717a}.chess-square.selected{background-color:#a78bfa}.chess-square.valid-move:after{content:"";pointer-events:none;background-color:#0000004d;border-radius:50%;width:25%;height:25%;position:absolute}.chess-square.valid-move.has-piece:after{box-sizing:border-box;background-color:#0000;border:4px solid #0000004d;border-radius:50%;width:100%;height:100%}.chess-square.hint-from:before,.chess-square.hint-to:before{content:"";pointer-events:none;z-index:2;border-radius:12%;position:absolute;inset:10%}.chess-square.hint-from:before{border:3px dashed #22c55ef2}.chess-square.hint-to:before{border:3px solid #facc15f2;box-shadow:inset 0 0 0 2px #0000002e}.chess-piece{object-fit:contain;pointer-events:none;z-index:10;-webkit-user-select:none;user-select:none;width:80%;height:80%}.chess-game-over{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;color:#fff;background:#000c;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chess-game-over h3{color:#a78bfa;margin-bottom:20px;font-size:2.5rem}.reset-btn{color:#050508;cursor:pointer;background:#a78bfa;border:none;border-radius:6px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:transform .1s}.reset-btn:active{transform:scale(.95)}@media (width<=600px){.chess-board-wrapper{max-width:95vw;max-height:95vw}.chess-title{font-size:1.45rem}}.online-room-controls{background:#0003;border-radius:8px;flex-direction:column;align-items:center;gap:15px;margin:10px 0;padding:15px;display:flex}.room-setup{flex-direction:column;align-items:center;gap:10px;display:flex}.join-room{gap:10px;display:flex}.pin-input{border:2px solid var(--primary-color);color:#000;text-align:center;background:#fff;border-radius:4px;width:140px;padding:8px;font-family:inherit;font-size:1.1rem}.room-info{text-align:center}.room-info strong{color:var(--primary-color);letter-spacing:2px;font-size:1.5rem}.chess-board-grid.flipped,.chess-board-grid.flipped .chess-piece{transform:rotate(180deg)}@media (width<=720px){.chess-actions{flex-direction:column;align-items:center}.time-control{width:100%;max-width:320px}.time-control select{width:100%}}.game-over-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.reset-btn.secondary{color:#e4e4e7;background:#ffffff1a;border:1px solid #ffffff26}.reset-btn.secondary:hover{background:#ffffff2e}.replay-container{flex-direction:column;align-items:center;gap:10px;margin:18px 0 12px;display:flex}.replay-label{color:#a78bfa;letter-spacing:1.5px;text-transform:uppercase;min-height:22px;font-size:.85rem;font-weight:600;transition:opacity .3s}.replay-board{border:2px solid #a78bfa66;border-radius:8px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:220px;height:220px;display:grid;overflow:hidden;box-shadow:0 0 20px #a78bfa26,0 4px 16px #0006}.replay-square{justify-content:center;align-items:center;transition:background-color .35s;display:flex}.replay-square.light{background-color:#e4e4e7}.replay-square.dark{background-color:#71717a}.replay-square.replay-highlight-from{box-shadow:inset 0 0 8px #facc154d;background-color:#facc158c!important}.replay-square.replay-highlight-to{box-shadow:inset 0 0 8px #22c55e4d;background-color:#22c55e8c!important}.replay-piece{object-fit:contain;pointer-events:none;width:80%;height:80%;transition:transform .3s}.replay-move-badge{color:#c4b5fd;letter-spacing:1px;background:#a78bfa33;border:1px solid #a78bfa4d;border-radius:20px;padding:4px 14px;font-size:.85rem;font-weight:700}.report-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out reportFadeIn;display:flex;position:fixed;inset:0}@keyframes reportFadeIn{0%{opacity:0}to{opacity:1}}.report-modal{background:linear-gradient(145deg,#1a1a2e 0%,#16162a 50%,#0f0f1e 100%);border:1px solid #a78bfa40;border-radius:20px;width:100%;max-width:680px;max-height:85vh;padding:32px 28px;animation:.35s ease-out reportSlideUp;position:relative;overflow-y:auto;box-shadow:0 0 40px #a78bfa1a,0 20px 60px #0009,inset 0 1px #ffffff0d}@keyframes reportSlideUp{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.report-modal::-webkit-scrollbar{width:6px}.report-modal::-webkit-scrollbar-track{background:0 0}.report-modal::-webkit-scrollbar-thumb{background:#a78bfa4d;border-radius:3px}.report-close{color:#a1a1aa;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.report-close:hover{color:#ff6b6b;background:#ff505026;border-color:#ff50504d}.report-title{text-align:center;color:#a78bfa;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-size:1.6rem}.report-result{text-align:center;color:#e4e4e7;background:#a78bfa14;border:1px solid #a78bfa26;border-radius:10px;margin-bottom:18px;padding:8px 16px;font-size:1.05rem}.report-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.report-player-card{text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;padding:18px 16px;transition:transform .2s,box-shadow .2s}.report-player-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.white-card{border-color:#e4e4e726}.white-card:hover{border-color:#e4e4e74d}.black-card{border-color:#a78bfa26}.black-card:hover{border-color:#a78bfa4d}.report-player-icon{margin-bottom:4px;font-size:2.2rem}.report-player-card h3{color:#e4e4e7;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px;font-size:1.1rem}.report-stats{flex-direction:column;gap:6px;display:flex}.stat-row{background:#ffffff05;border-radius:6px;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.stat-row span{color:#a1a1aa;font-size:.82rem}.stat-row strong{color:#e4e4e7;font-size:.9rem}.report-captures-label{color:#71717a;text-transform:uppercase;letter-spacing:1.2px;margin-top:12px;font-size:.75rem}.report-captures-list{color:#c4b5fd;margin-top:4px;font-size:.85rem;font-weight:500}.report-movelog{background:#00000040;border:1px solid #ffffff0f;border-radius:12px;margin-bottom:16px;padding:14px 16px}.report-movelog h4{color:#a1a1aa;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:10px;font-size:.8rem}.movelog-list{flex-wrap:wrap;gap:4px 8px;max-height:120px;padding-right:4px;display:flex;overflow-y:auto}.movelog-list::-webkit-scrollbar{width:4px}.movelog-list::-webkit-scrollbar-thumb{background:#a78bfa33;border-radius:2px}.movelog-entry{border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem}.movelog-entry.white-move{color:#e4e4e7;background:#ffffff0a}.movelog-entry.black-move{color:#c4b5fd;background:#a78bfa14}.report-total{text-align:center;color:#71717a;letter-spacing:.5px;margin-bottom:16px;font-size:.8rem}.report-play-again{color:#fff;cursor:pointer;letter-spacing:1px;background:linear-gradient(135deg,#a78bfa 0%,#7c3aed 100%);border:none;border-radius:10px;margin:0 auto;padding:12px 40px;font-size:1rem;font-weight:700;transition:all .2s;display:block;box-shadow:0 4px 16px #a78bfa4d}.report-play-again:hover{transform:translateY(-2px);box-shadow:0 6px 24px #a78bfa73}.report-play-again:active{transform:scale(.97)}@media (width<=500px){.report-grid{grid-template-columns:1fr}.report-modal{border-radius:14px;padding:22px 16px}.replay-board{width:180px;height:180px}}.lobby-container{background:var(--bg-base);height:100vh;color:var(--text-primary);justify-content:center;align-items:center;font-family:Space Mono,monospace;display:flex}.lobby-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:600px;padding:40px;box-shadow:0 10px 30px #00000080}.lobby-card h1{color:var(--accent);text-shadow:0 0 15px var(--accent-glow);margin-bottom:8px;font-size:2.5rem}.subtitle{color:var(--text-muted);margin-bottom:30px}.error-banner{color:#ff3e3e;background:#ff3e3e1a;border:1px solid #ff3e3e;border-radius:6px;margin-bottom:20px;padding:12px}.mode-section{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;padding:24px}.mode-section h3{color:#fff;margin-bottom:12px}.mode-section p{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem}.local-controls{justify-content:center;align-items:center;gap:12px;display:flex}.local-controls input{border:1px solid var(--border);color:#fff;text-align:center;background:#0000004d;border-radius:6px;width:60px;padding:10px;font-family:inherit;font-size:1.1rem}.divider{color:var(--text-muted);margin:20px 0;font-weight:700;position:relative}.divider:before,.divider:after{content:"";background:var(--border);width:40%;height:1px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.join-controls{gap:12px;margin-top:16px;display:flex}.join-controls input{border:1px solid var(--border);color:var(--accent);letter-spacing:2px;text-align:center;background:#0000004d;border-radius:6px;flex:1;padding:12px;font-family:inherit;font-size:1.1rem;font-weight:700}.action-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:12px 24px;font-family:inherit;font-weight:700;transition:all .2s}.action-btn:hover:not(:disabled){background:#fff3}.action-btn:disabled{opacity:.5;cursor:not-allowed}.host-btn{background:var(--accent);color:#000;width:100%}.host-btn:hover:not(:disabled){background:var(--accent);box-shadow:0 0 15px var(--accent-glow)}.highlight-code{color:var(--accent);letter-spacing:4px;border:1px dashed var(--accent);background:#00000080;border-radius:8px;margin-top:10px;padding:8px 16px;font-size:2rem;display:inline-block}.player-list{text-align:left;background:#0003;border-radius:8px;margin:30px 0;padding:20px}.player-list ul{margin:10px 0 0;padding:0;list-style:none}.player-list li{background:#ffffff08;border-radius:4px;align-items:center;margin-bottom:8px;padding:12px 16px;font-weight:700;display:flex}.lobby-actions{flex-direction:column;gap:12px;display:flex}.action-btn.success{color:#000;background:#0f0}.action-btn.danger{color:#ff3e3e;background:0 0;border-color:#ff3e3e4d}.action-btn.danger:hover{background:#ff3e3e1a}.waiting-msg{color:var(--text-muted);padding:12px;font-style:italic}@media (width<=768px){.lobby-container{align-items:flex-start;height:auto;min-height:100%;padding:16px 12px}.lobby-card{border-radius:14px;max-width:100%;padding:24px 18px}.lobby-card h1{margin-bottom:4px;font-size:1.6rem}.subtitle{margin-bottom:20px;font-size:.82rem}.mode-section{padding:16px}.mode-section h3{font-size:.95rem}.mode-section p{margin-bottom:14px;font-size:.82rem}.local-controls{flex-wrap:wrap;gap:8px}.local-controls input{width:50px;padding:10px;font-size:1rem}.action-btn{min-height:44px;padding:12px 18px;font-size:.85rem}.join-controls{flex-direction:column;gap:8px}.join-controls input{padding:12px;font-size:1rem}.highlight-code{letter-spacing:3px;padding:6px 12px;font-size:1.4rem}.player-list{margin:20px 0;padding:14px}.player-list li{padding:10px 12px;font-size:.85rem}}@media (width<=480px){.lobby-card{padding:18px 14px}.lobby-card h1{font-size:1.3rem}.mode-section{padding:12px}.action-btn{width:100%;padding:12px 14px;font-size:.8rem}.local-controls{justify-content:center}}.ludo-shell{color:#f1f5f9;background:radial-gradient(at 50% 0,#1a1147 0%,#0c0a2a 50%,#050318 100%);flex-direction:column;gap:16px;min-height:100%;padding:16px;font-family:Fredoka,Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden auto}.ludo-shell.playing{gap:0;min-height:100%;padding:12px;overflow-y:auto}.ludo-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 30%,#e74c3c0f 0%,#0000 50%),radial-gradient(circle at 80% 70%,#3498db0f 0%,#0000 50%);position:absolute;inset:0}.ludo-layout{z-index:1;grid-template-columns:280px 1fr;align-items:start;gap:16px;width:100%;max-width:1200px;height:100%;max-height:100%;margin:0 auto;display:grid;position:relative;overflow:hidden}.ludo-panel{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex-direction:column;gap:12px;height:100%;max-height:100%;display:flex;overflow:hidden auto}.ludo-panel::-webkit-scrollbar{width:3px}.ludo-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.dice-section{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172acc;border:1px solid #ffffff14;border-radius:14px;padding:16px}.turn-label{text-transform:uppercase;letter-spacing:.05em;text-align:center;text-shadow:0 2px 8px #0006;margin-bottom:12px;font-size:.95rem;font-weight:700}.turn-subtext{color:#cbd5e1;text-align:center;margin-top:-6px;margin-bottom:10px;font-size:.78rem;line-height:1.35}.dice-row{align-items:center;gap:14px;display:flex}.dice-container{perspective:600px;cursor:default;flex-shrink:0;width:72px;height:72px}.dice-container.clickable{cursor:pointer}.dice-container.clickable:hover .dice-cube{transform:rotateX(10deg)rotateY(10deg)}.dice-cube{width:100%;height:100%;transition:transform .3s}.dice-container.rolling .dice-cube{animation:.65s cubic-bezier(.36,.07,.19,.97) diceShake}@keyframes diceShake{0%{transform:rotateX(0)rotateY(0)scale(1)}20%{transform:rotateX(200deg)rotateY(100deg)scale(1.2)}50%{transform:rotateX(500deg)rotateY(250deg)scale(1.1)}to{transform:rotateX(720deg)rotateY(360deg)scale(1)}}.ludo-dice-face{background:linear-gradient(145deg,#fff,#e8e8e8);border:2px solid #0000001a;border-radius:14px;width:100%;height:100%;position:relative;box-shadow:0 6px 18px #0000004d,inset 0 2px 4px #fff,inset 0 -3px 6px #0000001a}.ludo-dice-pip{background:radial-gradient(circle at 35% 35%,#475569,#1e293b);border-radius:50%;width:13px;height:13px;position:absolute;box-shadow:inset 0 2px 3px #00000080,0 1px 1px #fff9}.ludo-dice-pip.center{top:50%;left:50%;transform:translate(-50%,-50%)}.ludo-dice-pip.top-left{top:16%;left:16%}.ludo-dice-pip.top-right{top:16%;right:16%}.ludo-dice-pip.bottom-left{bottom:16%;left:16%}.ludo-dice-pip.bottom-right{bottom:16%;right:16%}.ludo-dice-pip.mid-left{top:50%;left:16%;transform:translateY(-50%)}.ludo-dice-pip.mid-right{top:50%;right:16%;transform:translateY(-50%)}.dice-actions{flex-direction:column;flex:1;gap:8px;display:flex}.six-badge{color:#fff;text-align:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:700;animation:.4s cubic-bezier(.34,1.56,.64,1) sixPop;box-shadow:0 3px 10px #f59e0b66}@keyframes sixPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.move-hint{color:#fbbf24;text-align:center;font-size:.78rem;font-weight:600;animation:2s infinite hintPulse}@keyframes hintPulse{0%,to{opacity:1}50%{opacity:.4}}.quick-move-panel{background:#0f172ab8;border:1px solid #ffffff12;border-radius:12px;padding:10px}.quick-move-title{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:8px;font-size:.72rem;font-weight:700}.quick-move-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.quick-move-token{text-align:left;cursor:pointer;color:#fff;border:none;border-radius:10px;padding:8px 10px;transition:transform .15s,filter .15s}.quick-move-token:hover{filter:brightness(1.08);transform:translateY(-1px)}.quick-move-token.color-red{background:linear-gradient(135deg,#ef4444,#b91c1c)}.quick-move-token.color-green{background:linear-gradient(135deg,#22c55e,#15803d)}.quick-move-token.color-yellow{color:#111827;background:linear-gradient(135deg,#fbbf24,#d97706)}.quick-move-token.color-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.quick-token-num{font-size:.78rem;font-weight:700;display:block}.quick-token-pos{opacity:.9;margin-top:2px;font-size:.68rem;display:block}.quick-move-placeholder{color:#cbd5e1;background:#ffffff0a;border-radius:8px;padding:8px;font-size:.75rem}.player-list{flex-direction:column;gap:6px;display:flex}.ludo-player-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ab3;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:all .3s;display:flex;position:relative;overflow:hidden}.ludo-player-card:before{content:"";background:var(--player-color,#fff);opacity:.3;width:3px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.ludo-player-card.active{border-color:var(--player-color);background:#1e293be6;box-shadow:0 0 16px #0000004d,inset 0 0 20px #ffffff08}.ludo-player-card.active.local-turn{animation:2s cubic-bezier(.4,0,.6,1) infinite mePulse}@keyframes mePulse{0%,to{border-color:var(--player-color);box-shadow:0 0 16px #0000004d,inset 0 0 20px #ffffff08}50%{box-shadow:0 0 24px var(--player-color), inset 0 0 10px var(--player-color);border-color:var(--player-color)}}.ludo-player-card.active:before{opacity:1;width:4px;box-shadow:0 0 6px var(--player-color)}.player-avatar{color:#fff;text-transform:uppercase;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:grid;box-shadow:0 3px 10px #0006,inset 0 2px 4px #ffffff4d}.player-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.token-progress{gap:4px;display:flex}.progress-dot{background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;width:8px;height:8px;transition:all .3s}.progress-dot.active{background:#ffffff59;border-color:#fff6}.progress-dot.home{border-color:#0000;transform:scale(1.1);box-shadow:0 0 6px}.turn-indicator{color:var(--player-color);font-size:.7rem;animation:1s infinite alternate pulseArrow}@keyframes pulseArrow{0%{opacity:.5}to{opacity:1}}.ludo-log-panel{background:#0f172ab3;border:1px solid #ffffff0f;border-radius:12px;max-height:160px;padding:12px;overflow-y:auto}.log-heading{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:.75rem;font-weight:600}.log-entries{flex-direction:column;gap:4px;display:flex}.log-entry{color:#64748b;border-bottom:1px solid #ffffff08;padding:3px 0;font-size:.75rem;line-height:1.4}.log-entry.latest{color:#cbd5e1;font-weight:600}.ludo-log-panel::-webkit-scrollbar{width:3px}.ludo-log-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.ludo-board-wrapper{justify-content:center;align-items:center;height:100%;max-height:100%;display:flex;overflow:hidden}.ludo-board{aspect-ratio:1;background:#f0ebe3;border:4px solid #1e293b;border-radius:14px;grid-template-rows:repeat(15,1fr);grid-template-columns:repeat(15,1fr);width:min(480px,48vw,56vh);max-height:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 2px #ffffff14,0 20px 50px #000000b3,inset 0 0 30px #0003}.ludo-cell{border:.5px solid #0000000f;place-items:center;font-size:.5rem;display:grid;position:relative}.ludo-cell.empty{background:#f0ebe3}.ludo-cell.track{background:#fefefe;border:.5px solid #0000001f}.ludo-cell.track.safe{background:linear-gradient(135deg,#f0f0f0,#e8e8e8)}.ludo-cell.track.safe .cell-star{color:#94a3b8;opacity:.6;font-size:clamp(.5rem,1.5vw,1rem)}.ludo-cell.track.color-red{background:linear-gradient(135deg,#fee2e2,#fecaca)}.ludo-cell.track.color-green{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.ludo-cell.track.color-yellow{background:linear-gradient(135deg,#fef9c3,#fde68a)}.ludo-cell.track.color-blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.ludo-cell.home-lane{border:.5px solid #00000014}.ludo-cell.home-lane.color-red{background:linear-gradient(135deg,#fca5a5,#f87171)}.ludo-cell.home-lane.color-green{background:linear-gradient(135deg,#6ee7b7,#34d399)}.ludo-cell.home-lane.color-yellow{background:linear-gradient(135deg,#fde047,#facc15)}.ludo-cell.home-lane.color-blue{background:linear-gradient(135deg,#93c5fd,#60a5fa)}.ludo-cell.center{background:radial-gradient(circle,#fff 30%,#e2e8f0 100%);border:1px solid #00000026}.center-home{filter:drop-shadow(0 2px 4px #00000026);font-size:clamp(.7rem,1.8vw,1.4rem)}.ludo-cell[class*=yard-red]{background:linear-gradient(135deg,#dc2626,#b91c1c)}.ludo-cell[class*=yard-green]{background:linear-gradient(135deg,#16a34a,#15803d)}.ludo-cell[class*=yard-yellow]{background:linear-gradient(135deg,#ca8a04,#a16207)}.ludo-cell[class*=yard-blue]{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.ludo-cell[class*=yard-slot]{border-radius:50%;margin:15%;box-shadow:inset 0 2px 6px #0003;background:#ffffff26!important;border:2px solid #ffffff80!important}.ludo-token{z-index:10;cursor:default;pointer-events:none;--stack-x:0%;--stack-y:0%;border-radius:50%;place-self:center;place-items:center;width:70%;max-width:32px;height:70%;max-height:32px;transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:grid;position:relative}.ludo-token:before{content:"";border-radius:50%;position:absolute;inset:-8px}.ludo-token.color-red{background:radial-gradient(circle at 35% 35%,#ff6b6b,#e74c3c,#c0392b);border:1.5px solid #fffc;box-shadow:0 4px 10px #0009,inset 0 2px 4px #fff6}.ludo-token.color-green{background:radial-gradient(circle at 35% 35%,#69db7c,#2ecc71,#27ae60);border:1.5px solid #fffc;box-shadow:0 4px 10px #0009,inset 0 2px 4px #fff6}.ludo-token.color-yellow{background:radial-gradient(circle at 35% 35%,#fff176,#f1c40f,#f39c12);border:1.5px solid #fffc;box-shadow:0 4px 10px #0009,inset 0 2px 4px #ffffff80}.ludo-token.color-blue{background:radial-gradient(circle at 35% 35%,#74b9ff,#3498db,#2980b9);border:1.5px solid #fffc;box-shadow:0 4px 10px #0009,inset 0 2px 4px #fff6}.token-num{color:#fff;text-shadow:0 1px 2px #0009;z-index:2;font-size:clamp(.5rem,1vw,.75rem);font-weight:800}.ludo-token.stacked{box-shadow:0 3px 8px #00000059,0 0 0 2px #ffffff8c,inset 0 2px 4px #ffffff40}.token-stack-badge{color:#fff;text-transform:uppercase;z-index:3;pointer-events:none;background:#0f172aeb;border:1px solid #ffffffd9;border-radius:50%;place-items:center;width:44%;min-width:10px;height:44%;min-height:10px;font-size:clamp(.35rem,.55vw,.52rem);font-weight:800;line-height:1;display:grid;position:absolute;top:-18%;right:-18%;box-shadow:0 1px 4px #00000073}.ludo-token.selectable{cursor:pointer;pointer-events:all;animation:1s infinite tokenBounce}.ludo-token.selectable:hover{transform:translate(var(--stack-x), var(--stack-y)) scale(1.12);box-shadow:0 0 0 2px #ffffffbf;z-index:35!important}.ludo-token.selectable:focus-visible{outline-offset:2px;outline:2px solid #fff}.token-ring{border:2px solid #fffc;border-radius:50%;animation:1.2s infinite ringPulse;position:absolute;inset:-5px}@keyframes tokenBounce{0%,to{transform:translate(var(--stack-x), var(--stack-y)) scale(1)}50%{transform:translate(var(--stack-x), calc(var(--stack-y) - 15%)) scale(1.06)}}@keyframes ringPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.ludo-token.finished{opacity:.5;transform:translate(var(--stack-x), var(--stack-y)) scale(.7)}.capture-burst{z-index:30;pointer-events:none;font-size:2rem;animation:.8s ease-out forwards burstAnim;position:absolute}@keyframes burstAnim{0%{opacity:1;transform:scale(.3)}50%{opacity:.8;transform:scale(2)}to{opacity:0;transform:scale(3)}}.ludo-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border:none;border-radius:10px;padding:10px 16px;font-family:inherit;font-size:.82rem;font-weight:700;transition:all .2s}.ludo-btn.primary{background:linear-gradient(135deg, var(--btn-color,#3498db), color-mix(in srgb, var(--btn-color,#3498db) 70%, #000));color:#fff;width:100%;box-shadow:0 3px 12px #0000004d,inset 0 1px 2px #fff3}.ludo-btn.primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.ludo-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.ludo-btn.ghost{color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff1a;flex:1;padding:8px 10px;font-size:.75rem}.ludo-btn.ghost:hover{color:#fff;background:#ffffff1f}.ludo-btn.ghost.danger{color:#fca5a5;border-color:#ef444433}.ludo-btn.ghost.danger:hover{color:#f87171;background:#ef44441f}.control-actions{gap:8px;display:flex}.ludo-rules-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172acc;border:1px solid #ffffff14;border-radius:18px;max-width:700px;margin:0 auto;padding:24px}.ludo-rules-card h4{color:#fff;text-align:center;margin:0 0 16px;font-size:1.1rem}.rules-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.rule-item{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.rule-icon{flex-shrink:0;font-size:1.2rem}.rule-item p{color:#cbd5e1;margin:0;font-size:.85rem;line-height:1.4}.ludo-winner-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#000000b3;place-items:center;animation:.5s fadeIn;display:grid;position:fixed;inset:0}.winner-card{text-align:center;background:linear-gradient(145deg,#1e293b,#0f172a);border:2px solid #ffffff26;border-radius:24px;padding:36px 44px;animation:.6s cubic-bezier(.34,1.56,.64,1) winnerPop;box-shadow:0 24px 60px #00000080}.winner-crown{margin-bottom:8px;font-size:3.5rem;animation:1s infinite alternate crownBounce}@keyframes crownBounce{0%{transform:translateY(0)scale(1)}to{transform:translateY(-8px)scale(1.1)}}.winner-card h2{margin:0 0 8px;font-size:1.8rem;font-weight:800}.winner-card p{color:#94a3b8;margin:0 0 20px}@keyframes winnerPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.ludo-confetti{pointer-events:none;z-index:99;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;animation:linear forwards confettiFall;position:absolute;top:-20px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@media (width<=900px){.ludo-layout{grid-template-columns:240px 1fr;gap:12px}.ludo-board{width:min(440px,48vw,55vh)}.dice-container{width:64px;height:64px}.ludo-dice-pip{width:11px;height:11px}.player-avatar{width:28px;height:28px;font-size:.8rem}.ludo-player-card{gap:8px;padding:8px 10px}.player-name{font-size:.8rem}}@media (width<=768px){.ludo-shell{gap:8px;padding:8px}.ludo-shell.playing{gap:0;padding:0}.ludo-layout{grid-template-columns:1fr;gap:0;max-width:100%}.ludo-board-wrapper{order:-1;padding:6px}.ludo-board{border-width:3px;border-radius:10px;width:min(98vw,52vh);margin:0 auto}.ludo-token{max-width:22px;max-height:22px}.token-num{font-size:.45rem}.cell-star{font-size:.4rem!important}.center-home{font-size:.7rem!important}.ludo-panel{gap:6px;padding:6px 8px}.dice-section{border-radius:10px;padding:10px 12px}.turn-label{margin-bottom:8px;font-size:.8rem}.turn-subtext{margin-bottom:8px;font-size:.7rem}.dice-row{gap:10px}.dice-container{width:56px;height:56px}.ludo-dice-pip{width:9px;height:9px}.ludo-dice-face{border-radius:10px}.roll-btn,.ludo-btn.primary{min-height:44px;padding:10px 14px;font-size:.78rem}.six-badge{padding:4px 10px;font-size:.7rem}.move-hint{font-size:.72rem}.quick-move-panel{border-radius:10px;padding:8px}.quick-move-list{grid-template-columns:1fr;gap:6px}.quick-move-token{padding:10px}.player-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px;display:grid}.ludo-player-card{border-radius:8px;gap:6px;padding:6px 8px}.player-avatar{width:24px;height:24px;font-size:.7rem}.player-name{font-size:.72rem}.progress-dot{width:6px;height:6px}.turn-indicator{font-size:.6rem}.ludo-log-panel{border-radius:8px;max-height:80px;padding:8px}.log-heading{margin-bottom:4px;font-size:.65rem}.log-entry{padding:2px 0;font-size:.65rem}.control-actions{gap:6px}.control-actions .ludo-btn{min-height:40px;padding:8px;font-size:.7rem}.ludo-rules-card{border-radius:14px;padding:16px}.ludo-rules-card h4{margin-bottom:12px;font-size:1rem}.rules-grid{grid-template-columns:1fr;gap:8px}.rule-item{gap:8px;padding:10px}.rule-icon{font-size:1rem}.rule-item p{font-size:.78rem}.winner-card{border-radius:18px;padding:28px 32px}.winner-crown{font-size:2.8rem}.winner-card h2{font-size:1.4rem}}@media (width<=480px){.ludo-board{width:min(98vw,48vh)}.ludo-token{border-width:1px;max-width:20px;max-height:20px}.token-num{font-size:.35rem}.token-ring{border-width:1.5px;inset:-3px}.player-list{grid-template-columns:repeat(2,1fr);gap:3px}.ludo-player-card{border-radius:6px;gap:5px;padding:5px 6px}.player-avatar{width:22px;height:22px;font-size:.65rem}.player-name{font-size:.68rem}.player-info{gap:2px}.dice-container{width:48px;height:48px}.ludo-dice-pip{width:8px;height:8px}.ludo-dice-face{border-width:1.5px;border-radius:8px}.turn-label{margin-bottom:6px;font-size:.75rem}.ludo-log-panel{max-height:60px;padding:6px}.winner-card{padding:24px}.winner-crown{font-size:2.4rem}.winner-card h2{font-size:1.2rem}.winner-card p{font-size:.85rem}}@media (height<=500px) and (orientation:landscape){.ludo-layout{grid-template-columns:1fr 200px;gap:8px}.ludo-board-wrapper{order:0}.ludo-board{width:min(50vw,90vh)}.ludo-panel{gap:6px}.ludo-log-panel{display:none}.player-list{grid-template-columns:1fr;gap:3px}}.space-invaders-container{--touch-accent:#00e5ff;--touch-bg:#00e5ff2e;--touch-text:#e6faff;background-color:#05050f;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:clamp(12px,2vw,20px);font-family:Courier New,Courier,monospace;display:flex;position:relative;overflow:hidden auto}.space-invaders-header{color:#fff;background:#0a0a1acc;border:1px solid #1a1a3a;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:10px;width:min(100%,960px);margin-bottom:20px;padding:10px 14px;font-size:clamp(.85rem,2.1vw,1.5rem);display:flex;box-shadow:0 0 15px #0fc3}.space-invaders-container .high-score-display{color:#ffea00}.space-invaders-container .canvas-wrapper{aspect-ratio:4/3;border:1px solid #1a1a3a;border-radius:12px;width:min(100%,960px);position:relative;overflow:hidden;box-shadow:0 0 20px #00ffcc26}.space-invaders-canvas{touch-action:none;width:100%;height:100%;display:block}.space-invaders-container .game-over-overlay{text-align:center;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0a0a0ff2;border:1px solid #0fc;border-radius:12px;width:min(88%,420px);padding:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.space-invaders-container .game-over-overlay h2{margin:0 0 12px;font-size:clamp(1.35rem,7vw,2rem)}.space-invaders-container .game-over-overlay p{margin:10px 0;font-size:clamp(.9rem,3.8vw,1.1rem)}.space-invaders-container .game-over-overlay .pacman-btn{color:#000;cursor:pointer;background:#0fc;border:none;border-radius:6px;padding:12px 30px;font-size:1rem;font-weight:700;transition:all .3s;box-shadow:0 0 15px #0fc6}.space-invaders-container .game-over-overlay .pacman-btn:hover{transform:scale(1.05);box-shadow:0 0 25px #0fcc}.space-controls-hint{width:min(100%,960px);margin-top:12px}.space-mobile-controls{width:min(100%,960px);margin-top:10px}.space-ctrl-btn{touch-action:none;-webkit-user-select:none;user-select:none}.space-ctrl-btn.fire{min-width:88px}@media (width<=768px){.space-invaders-header{text-align:center;justify-content:center}.space-invaders-container .high-score-display{text-align:center;align-self:stretch}.space-invaders-container .game-over-overlay{width:min(90%,420px);padding:22px}}.pacman-container{--touch-accent:#facc15;--touch-bg:#111318;--touch-text:#f8fafc;background-color:var(--bg-base);flex-direction:column;align-items:center;gap:16px;width:100%;min-height:100%;padding:clamp(12px,2.4vw,20px);display:flex;position:relative;overflow-y:auto}.pacman-header{width:100%;max-width:760px;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:clamp(.9rem,2vw,1.2rem);font-weight:700;display:flex;box-shadow:0 4px 6px #0000004d}.header-stat{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.pacpac{align-items:center;display:inline-flex}.pacman-container .high-score-display{color:#ffea00;text-shadow:0 0 10px #ffea0080}.pacman-container .canvas-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:min(100%,760px);padding:clamp(8px,1.8vw,20px);position:relative;box-shadow:0 10px 30px #00000080}.pacman-canvas{width:min(100%,560px);height:auto;image-rendering:pixelated;background:#000;border-radius:8px;margin:0 auto;display:block;box-shadow:inset 0 0 20px #0032ff33}.game-over-screen{text-align:center;border:1px solid var(--border);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10;background:#0a0a19f2;border-radius:16px;width:min(84%,420px);max-width:100%;padding:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px red}.game-over-screen h2{color:red;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 10px red;margin-bottom:15px}.game-over-screen p{color:var(--text-primary);font-size:1.1rem}.red-text{color:red!important}.victory-text{color:#10b981!important;text-shadow:0 0 10px #10b98199!important}.pacman-btn{background:var(--primary-color);color:#fff;cursor:pointer;text-transform:uppercase;border:none;border-radius:8px;padding:12px 24px;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #6366f14d}.pacman-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.restart-btn{background:var(--accent);color:#fff;letter-spacing:.04em;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-weight:700}.controls-hint{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.controls-hint-text{color:var(--text-muted);text-align:center;font-size:.9rem}.mobile-controls{flex-direction:column;align-items:center;gap:10px;margin-top:8px;display:flex}.mobile-row{gap:14px;display:flex}@media (width>=768px){.mobile-controls{display:none}}@media (width<=767px){.controls-hint-text{font-size:.8rem}.game-over-screen p{font-size:.95rem}}.orb-chase-wrap{color:#e8f7ff;flex-direction:column;gap:14px;min-height:100%;padding:12px;display:flex;overflow:hidden auto}.orb-chase-header h2{letter-spacing:.04em;margin:0}.orb-chase-header p{color:#9ac6d8;margin:4px 0 0}.orb-chase-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.orb-chip{background:linear-gradient(#11273a,#0a1724);border:1px solid #1d3651;border-radius:10px;padding:10px}.orb-chip span{color:#87a8bc;font-size:.75rem;display:block}.orb-chip strong{font-size:1.2rem}.orb-arena{background:radial-gradient(circle at 20% 30%,#2c93ff4d,#0000 35%),radial-gradient(circle at 80% 60%,#00ffb738,#0000 32%),#050b13;border:1px solid #21405f;border-radius:14px;flex:1;min-height:320px;position:relative;overflow:hidden}.orb-target{cursor:pointer;background:radial-gradient(circle at 30% 30%,#d8f6ff,#42d6ff 55%,#0075b0);border:0;border-radius:999px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 18px #42d6ff}.orb-overlay{text-align:center;background:#040910cc;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.orb-start{color:#032033;cursor:pointer;background:#34d6ff;border:0;border-radius:8px;margin-top:6px;padding:10px 16px;font-weight:700}.orb-help{color:#7f99aa;margin:0}@media (width<=900px){.orb-chase-hud{grid-template-columns:repeat(2,minmax(0,1fr))}}.neon-tetris-container{background:var(--bg-base);justify-content:center;align-items:center;gap:40px;min-height:100%;padding:40px;font-family:Space Mono,monospace;display:flex;position:relative;overflow:hidden auto}.neon-tetris-container:before{content:"";background-image:linear-gradient(var(--border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);opacity:.15;z-index:0;background-size:50px 50px;animation:20s linear infinite gridMove;position:absolute;inset:-100px;transform:perspective(500px)rotateX(60deg)translateY(0)}@keyframes gridMove{0%{transform:perspective(500px)rotateX(60deg)translateY(0)}to{transform:perspective(500px)rotateX(60deg)translateY(50px)}}.tetris-sidebar{z-index:1;flex-direction:column;gap:20px;width:180px;display:flex}.next-piece-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 8px 32px #0000004d}.next-piece-grid{grid-template-rows:repeat(4,20px);grid-template-columns:repeat(4,20px);gap:2px;display:grid}.stat-box{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:12px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0003}.stat-box label{color:var(--text-label);text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;font-size:10px;display:block}.stat-box .value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:28px;font-weight:300}.stat-box.highlight{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--bg-card));box-shadow:0 0 25px color-mix(in srgb, var(--accent) 20%, transparent)}.reset-btn{border:1px solid var(--border);color:var(--text-primary);letter-spacing:1px;cursor:pointer;background:#ffffff08;border-radius:8px;margin-top:10px;padding:14px;font-family:inherit;font-weight:600;transition:all .25s}.reset-btn:hover{background:var(--accent);color:#000;border-color:var(--accent);box-shadow:0 4px 20px var(--accent-glow);transform:translateY(-2px)}.tetris-board-wrapper{z-index:1;position:relative}.tetris-board{border:4px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05050ad9;border-radius:4px;flex-direction:column;display:flex;position:relative;box-shadow:0 0 60px #0009}.tetris-row{display:flex}.tetris-cell{box-sizing:border-box;border:1px solid #ffffff08;width:32px;height:32px;transition:background-color .1s;position:relative}.tetris-cell.filled,.tetris-cell.active{background-image:linear-gradient(135deg,#fff3 0%,#0000 50%,#0003 100%);border:1px solid #fff3}.tetris-cell.active{z-index:2}.tetris-cell.ghost{border:1px dashed #ffffff26;animation:2s ease-in-out infinite ghostPulse;box-shadow:none!important;background-color:#0000!important}@keyframes ghostPulse{0%,to{opacity:.3}50%{opacity:.6}}.landing-pulse{opacity:0;pointer-events:none;background:#fff;animation:.3s ease-out landingFlash;position:absolute;inset:0}@keyframes landingFlash{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.game-over-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;text-align:center;background:#05050ae6;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.game-over-overlay h2{color:#ff3e3e;text-shadow:0 0 30px #ff3e3e99;letter-spacing:-1px;margin-bottom:24px;font-size:36px;font-style:italic;font-weight:800}.game-over-overlay p{color:var(--text-secondary);margin-bottom:32px;font-size:1.1rem}.game-over-overlay button{color:#fff;cursor:pointer;background:#ff3e3e;border:none;border-radius:8px;padding:16px 32px;font-family:inherit;font-weight:700;transition:all .2s;box-shadow:0 0 25px #ff3e3e66}.tetris-particle{pointer-events:none;z-index:3;width:4px;height:4px;animation:.6s cubic-bezier(0,0,.2,1) forwards particleOut;position:absolute}@keyframes particleOut{0%{opacity:1;transform:translate(0)scale(1.5)}to{transform:translate(var(--dx), var(--dy)) scale(0);opacity:0}}.tetris-controls-hint{text-align:center;color:var(--text-muted);letter-spacing:1px;font-size:12px;position:absolute;bottom:32px;left:0;right:0}.tetris-mobile-controls{z-index:4;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(92vw,440px);display:none;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.tetris-mobile-controls .game-touch-btn{width:100%}@media (width<=800px){.neon-tetris-container{flex-direction:column;gap:32px;padding:20px}.tetris-sidebar{flex-flow:wrap;justify-content:center;gap:12px;width:100%}.next-piece-box{display:none}.tetris-cell{width:24px;height:24px}.tetris-mobile-controls{display:grid}.tetris-controls-hint{font-size:11px;bottom:12px}}.prism-break-container{background:var(--bg-base);flex-direction:column;justify-content:center;align-items:center;min-height:100%;font-family:Space Mono,monospace;display:flex;position:relative;overflow:hidden auto}.prism-header{color:var(--text-primary);z-index:5;gap:40px;margin-bottom:24px;font-size:14px;animation:.5s cubic-bezier(.4,0,.2,1) slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.prism-canvas{border:4px solid var(--border);z-index:1;background:#000;border-radius:4px;max-width:100%;animation:.8s cubic-bezier(.19,1,.22,1) boardReveal;box-shadow:0 0 60px #0009}@keyframes boardReveal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.prism-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;text-align:center;background:#05050acc;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.prism-overlay h1{color:var(--accent);text-shadow:0 0 40px var(--accent-glow);letter-spacing:-2px;margin-bottom:48px;font-size:5rem;font-style:italic;font-weight:800}.tutorial-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;max-width:600px;padding:40px;box-shadow:0 20px 40px #0006}.tutorial-card p{color:var(--text-secondary);margin-bottom:32px;font-size:1.1rem;line-height:1.8}.tutorial-card ul{text-align:left;color:var(--text-primary);flex-direction:column;gap:12px;margin-bottom:40px;padding:0;list-style:none;display:flex}.start-btn{background:var(--accent);color:#000;letter-spacing:2px;cursor:pointer;border:none;border-radius:12px;width:100%;padding:20px;font-family:inherit;font-size:1.4rem;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1)}.start-btn:hover{box-shadow:0 10px 30px var(--accent-glow);transform:translateY(-4px)}.start-btn:active{transform:translateY(0)}.game-over-text{color:#ff3e3e;text-shadow:0 0 30px #ff3e3e66;margin-bottom:40px;font-size:4rem;font-weight:800}.prism-mobile-controls{gap:10px;width:min(92vw,520px);margin-top:14px;display:none}.prism-ctrl-btn{flex:1}.prism-ctrl-btn.launch{min-width:120px}@media (width<=900px){.prism-header{flex-wrap:wrap;justify-content:center;gap:12px;font-size:12px}.prism-mobile-controls{display:flex}}.neon-fusion-container{background:var(--bg-base);flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:40px;font-family:Space Mono,monospace;display:flex;overflow:hidden auto}.fusion-header{justify-content:space-between;align-items:center;width:480px;margin-bottom:24px;display:flex}.fusion-title{color:var(--text-primary);letter-spacing:-2px;font-size:2.2rem;font-weight:700}.fusion-title span{color:var(--accent);margin-left:2px}.fusion-stats{gap:12px;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:center;min-width:80px;padding:10px 20px;display:flex}.stat-card .label{color:var(--text-muted);font-size:10px}.stat-card .value{color:var(--text-primary);font-size:1.2rem;font-weight:600}.stat-card.best{border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.fusion-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:480px;height:480px;padding:12px;display:flex;position:relative;box-shadow:0 20px 40px #0006}.fusion-row{flex:1;gap:12px;display:flex}.fusion-cell{-webkit-user-select:none;user-select:none;background:#ffffff0d;border-radius:8px;flex:1;justify-content:center;align-items:center;font-weight:700;transition:all .15s ease-in-out;display:flex}.fusion-cell.filled{animation:.2s cubic-bezier(.175,.885,.32,1.275) popIn}.fusion-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;text-align:center;background:#0a0a14d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fusion-overlay h2{color:var(--text-primary);text-shadow:0 0 20px var(--accent-glow);margin-bottom:24px;font-size:2.2rem}.reset-btn{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:8px;padding:16px 32px;font-family:inherit;font-weight:700;transition:transform .2s}.reset-btn:hover{transform:scale(1.05)}.fusion-controls-hint{margin-top:32px}.fusion-mobile-controls{width:min(92vw,320px);margin-top:14px;display:none}.fusion-mobile-row{width:100%}@media (width<=540px){.fusion-header,.fusion-grid{width:320px}.fusion-grid{gap:8px;height:320px;padding:8px}.fusion-row{gap:8px}.fusion-cell{font-size:1.5rem!important}.fusion-mobile-controls{flex-direction:column;align-items:center;display:flex}.fusion-controls-hint{margin-top:12px}}.glitch-container{color:#fff;background:#050510;flex-direction:column;height:100%;font-family:Space Mono,monospace;display:flex;position:relative;overflow:hidden}.glitch-container:before{content:" ";z-index:100;pointer-events:none;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 2px,linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f) 0 0/3px 100%;display:block;position:absolute;inset:0}.glitch-header{z-index:10;background:#000c;border-bottom:1px solid #333;justify-content:space-between;padding:15px 30px;display:flex;box-shadow:0 5px 20px #00000080}.protocol-briefing{border:1px solid var(--border);text-align:left;background:#00000080;border-radius:8px;margin-top:30px;padding:20px}.protocol-briefing h4{color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}.protocol-briefing ul{color:var(--text-secondary);padding-left:20px;font-size:.85rem}.protocol-briefing li{margin-bottom:8px}.grid-container{background:#0014284d;border:1px solid #0ff3;border-radius:12px;grid-template-rows:repeat(8,65px);grid-template-columns:repeat(8,65px);gap:10px;padding:20px;transition:filter .3s;display:grid;box-shadow:0 0 50px #000c,inset 0 0 20px #00ffff0d}.grid-container.blackout{filter:brightness(0)blur(5px);pointer-events:none}.grid-cell{cursor:pointer;background:#0a0a1a;border:1px solid #ffffff1a;border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.grid-cell:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff05 3px);position:absolute;inset:0}.grid-cell:hover{border-color:#fff6;transform:translateY(-2px);box-shadow:0 5px 15px #0006}.grid-cell.warning{background:#ffff001a;border-color:#ff0;overflow:hidden;box-shadow:0 0 15px #ffff004d}.grid-cell.warning:before{content:"!";color:#ff0;font-size:1.5rem;font-weight:700;animation:.2s infinite jitter;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes jitter{0%{transform:translate(-50%,-50%)skew(0deg)}25%{transform:translate(-52%,-48%)skew(5deg)}50%{transform:translate(-48%,-52%)skew(-5deg)}75%{transform:translate(-51%,-49%)skew(2deg)}to{transform:translate(-50%,-50%)skew(0deg)}}.grid-cell.corrupted{background:#f0f6;border-color:#f0f;animation:2s infinite glitch-flicker;box-shadow:inset 0 0 20px #000c,0 0 10px #f0f6}@keyframes glitch-flicker{0%,to{opacity:1}50%{opacity:.8;filter:hue-rotate(90deg)}95%{opacity:1}96%{opacity:0}97%{opacity:1}}.grid-cell.fixed{background:#0ff6;border-color:#0ff;box-shadow:0 0 20px #0ff3}.decoding-text{color:var(--accent);height:1.5rem;margin-bottom:20px;font-family:Space Mono,monospace;font-size:1.2rem}.result-phase h1{letter-spacing:-2px;margin-bottom:20px;font-size:3.5rem}.admin-win{color:#0ff;text-shadow:0 0 30px #0ffc,0 0 60px #0ff6}.glitch-win{color:#f0f;text-shadow:0 0 30px #f0fc,0 0 60px #f0f6}.scan-reveal{pointer-events:none;font-size:1.2rem;animation:1s infinite scan-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes scan-pulse{0%{opacity:.5;transform:translate(-50%,-50%)scale(.8)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:.5;transform:translate(-50%,-50%)scale(.8)}}.ability-bar{justify-content:center;gap:20px;margin-top:25px;display:flex}.ability-btn{border:1px solid var(--accent);color:#fff;cursor:pointer;letter-spacing:1px;background:#0009;border-radius:4px;padding:12px 24px;font-family:inherit;font-weight:700;transition:all .2s}.ability-btn:hover:not(:disabled){background:var(--accent);color:#000;box-shadow:0 0 20px var(--accent)}.ability-btn:disabled{opacity:.3;cursor:not-allowed;border-color:#555}.ability-btn.blackout{color:#f0f;border-color:#f0f}.ability-btn.blackout:hover{color:#000;background:#f0f;box-shadow:0 0 20px #f0f}@media (width<=1024px){.grid-container{grid-template-rows:repeat(8,40px);grid-template-columns:repeat(8,40px);gap:5px;padding:10px}}.orbit-container{color:#fff;background:#000;flex-direction:column;justify-content:center;align-items:center;min-height:100%;font-family:Space Mono,monospace;display:flex;position:relative;overflow:hidden auto}.orbit-canvas{object-fit:contain;background:radial-gradient(circle,#0a0a1a 0%,#000 100%);border:1px solid #ffffff0d;border-radius:50%;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 0 100px #00ffff0d}.orbit-hud{z-index:10;position:absolute;top:20px;right:20px}.mobile-controls{pointer-events:none;z-index:100;justify-content:space-between;height:200px;padding:20px;display:flex;position:absolute;bottom:0;left:0;right:0}@media (width>=1024px){.mobile-controls{display:none}}.dpad,.actions{pointer-events:auto;gap:15px;display:flex}.joystick-base{pointer-events:auto;background:#ffffff0d;border:2px solid #0ff3;border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;display:flex;position:relative}.joystick-thumb{background:#00ffff4d;border:1px solid #0ff;border-radius:50%;width:60px;height:60px;box-shadow:0 0 20px #00ffff80}.ctrl-btn{color:#0ff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:1px solid #00ffff4d;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:all .1s;display:flex}.ctrl-btn:active{background:#0ff6;transform:scale(.9);box-shadow:0 0 20px #0ff9}.ctrl-btn span{font-size:32px}.ctrl-btn.thrust{color:#ff3e3e;background:#ff323233;border-color:#ff323266;width:100px;height:100px}.ctrl-btn.thrust:active{background:#ff323280;box-shadow:0 0 30px #ff3232b3}.tactical-briefing{text-align:left;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;border:1px solid #00ffff4d;border-radius:12px;max-width:500px;margin-top:30px;padding:20px}.tactical-briefing h4{color:#0ff;text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid #0ff3;margin-bottom:12px;padding-bottom:5px}.tactical-briefing ul{color:#fffc;padding-left:20px;font-size:.9rem}.tactical-briefing li{margin-bottom:10px}.orbit-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.orbit-overlay h1{color:#fff;text-shadow:0 0 30px #0ff;letter-spacing:-2px;margin-bottom:20px;font-size:4rem}.vector-container{color:#fff;perspective:1000px;background:radial-gradient(circle,#0a0a1a 0%,#000 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100%;font-family:Space Mono,monospace;display:flex;position:relative;overflow:hidden auto}.vector-hud{z-index:100;justify-content:space-between;width:100%;padding:0 40px;display:flex;position:absolute;top:20px}.turn-indicator{text-shadow:0 0 10px;text-transform:uppercase;letter-spacing:2px;background:#000c;border:1px solid;border-radius:8px;padding:10px 20px;font-size:1.2rem;font-weight:700}.vector-grid-wrapper{background:#00ffff05;border:1px solid #00ffff1a;border-radius:12px;padding:10px;position:relative;transform:rotateX(20deg);box-shadow:0 50px 100px #000c}.vector-grid{background:#ffffff0d;grid-template-rows:repeat(15,35px);grid-template-columns:repeat(20,35px);gap:1px;display:grid}.v-cell{background:#000;justify-content:center;align-items:center;transition:background .2s;display:flex;position:relative}.v-cell.wall{background:#0f0f1a;box-shadow:inset 0 0 5px #000c}.v-cell.track{background:#ffffff05}.v-cell.track:nth-child(2n){background:#ffffff08}.v-cell.start{background:#00ffff1a;border-bottom:2px solid #0ff}.v-cell.finish{background:repeating-linear-gradient(45deg,#222,#222 5px,#444 5px 10px)}.v-cell.target{cursor:pointer;z-index:50;background:#ffffff0d}.v-cell.target:before{content:"";border:1px dashed;border-radius:50%;animation:4s linear infinite rotate-target;position:absolute;inset:5px}@keyframes rotate-target{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ship-dot{z-index:10;border-radius:2px;width:12px;height:12px;transform:rotate(45deg);box-shadow:0 0 15px}.vector-path-layer{pointer-events:none;z-index:5;position:absolute;inset:10px}.vector-overlay .action-btn{margin-top:20px}.vector-mobile-pad{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#000000b3;border:1px solid #0ff3;border-radius:12px;padding:15px;position:absolute;bottom:20px;right:20px}@media (width>=1024px){.vector-mobile-pad{display:none}}.v-pad-grid{grid-template-rows:repeat(3,70px);grid-template-columns:repeat(3,70px);gap:8px;display:grid}.v-pad-btn{color:#0ff;cursor:pointer;background:#ffffff0d;border:1px solid #00ffff4d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex}.v-pad-btn:active{background:#00ffff4d;box-shadow:0 0 15px #00ffff80}.v-dir-label{font-size:20px;font-weight:700}.v-pad-btn small{opacity:.6;font-size:10px}.pilots-manual{text-align:left;background:#00000080;border:1px solid #444;border-radius:8px;max-width:500px;margin-top:30px;padding:20px}.pilots-manual h4{color:var(--accent);letter-spacing:2px;margin-bottom:10px}.pilots-manual ul{color:#ffffffb3;padding-left:20px;font-size:.85rem}.pilots-manual li{margin-bottom:5px}.vector-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vector-overlay h1{text-shadow:0 0 30px #fff;letter-spacing:-2px;margin-bottom:20px;font-size:3.5rem}.infection-container{background:var(--bg-base);color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100%;font-family:Space Mono,monospace;display:flex;overflow:hidden auto}.infection-header{box-sizing:border-box;background:#0009;border:1px solid #0ff3;border-bottom:none;border-radius:8px 8px 0 0;justify-content:space-between;width:1000px;padding:10px 20px;display:flex}.status-indicator{font-weight:700}.status-indicator.online{color:#0f0;text-shadow:0 0 10px #0f0}.status-indicator.offline{color:#ff3e3e;animation:1s infinite alternate pulse}.phaser-container{border:1px solid #0ff3;border-radius:0 0 8px 8px;width:1000px;height:700px;overflow:hidden;box-shadow:0 0 30px #00ffff0d}.infection-rules{color:#f0f;letter-spacing:1px;font-weight:700}.infection-touch-zone{z-index:1000;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}@media (width>=1024px){.infection-touch-zone{display:none}}.joystick-visual{pointer-events:none;width:100px;height:100px;position:absolute;transform:translate(-50%,-50%)}.joystick-base{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00ffff1a;border:2px solid #00ffff4d;border-radius:50%;width:100px;height:100px}.joystick-thumb{background:#0ff6;border:2px solid #0ff;border-radius:50%;width:50px;height:50px;position:absolute;top:25px;left:25px;box-shadow:0 0 20px #0ff9}.sal-wrapper{color:#fff;background:radial-gradient(circle at 30% 20%,#22c55e26 0%,#0000 50%),radial-gradient(circle at 70% 80%,#10b9811a 0%,#0000 50%),linear-gradient(160deg,#064e3b 0%,#022c22 40%,#0a0f0d 100%);flex-direction:column;gap:16px;min-height:100%;padding:16px;font-family:Fredoka,Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden auto}.sal-wrapper:before{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1' fill='%23ffffff' opacity='0.04'/%3E%3C/svg%3E");background-size:60px 60px;position:absolute;inset:0}.sal-wrapper.shake{animation:.4s ease-out boardShake}@keyframes boardShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.sal-game-layout{z-index:1;grid-template-columns:280px 1fr;align-items:start;gap:16px;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.sal-side-panel{flex-direction:column;gap:12px;display:flex}.sal-panel-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00140ab3;border:1px solid #ffffff14;border-radius:14px;padding:14px}.sal-panel-title{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;border-bottom:1px solid #ffffff14;margin:0 0 10px;padding-bottom:8px;font-size:.9rem;font-weight:600}.sal-dice-card{flex-direction:column;gap:12px;display:flex}.sal-turn-label{text-transform:uppercase;letter-spacing:.05em;text-align:center;text-shadow:0 2px 8px #0006;font-size:.9rem;font-weight:700}.sal-dice-row{align-items:center;gap:12px;display:flex}.sal-dice-box{perspective:600px;cursor:default;flex-shrink:0;width:72px;height:72px}.sal-dice-box.clickable{cursor:pointer}.sal-dice-box.clickable:hover .sal-dice-inner{transform:rotateX(8deg)rotateY(8deg)}.sal-dice-inner{width:100%;height:100%;transition:transform .3s}.sal-dice-box.rolling .sal-dice-inner{animation:.7s cubic-bezier(.36,.07,.19,.97) salDiceRoll}@keyframes salDiceRoll{0%{transform:rotateX(0)rotateY(0)scale(1)}20%{transform:rotateX(240deg)rotateY(120deg)scale(1.25)}50%{transform:rotateX(480deg)rotateY(240deg)scale(1.15)}to{transform:rotateX(720deg)rotateY(360deg)scale(1)}}.sal-dice-face{background:linear-gradient(145deg,#fff,#e8e8e8);border:2px solid #0000001a;border-radius:14px;width:100%;height:100%;position:relative;box-shadow:0 6px 18px #00000059,inset 0 2px 4px #fff,inset 0 -3px 6px #0000001a}.sal-pip{background:radial-gradient(circle at 35% 35%,#475569,#1e293b);border-radius:50%;width:13px;height:13px;position:absolute;box-shadow:inset 0 2px 3px #00000080,0 1px 1px #ffffff80}.sal-pip.center{top:50%;left:50%;transform:translate(-50%,-50%)}.sal-pip.top-left{top:16%;left:16%}.sal-pip.top-right{top:16%;right:16%}.sal-pip.bottom-left{bottom:16%;left:16%}.sal-pip.bottom-right{bottom:16%;right:16%}.sal-pip.mid-left{top:50%;left:16%;transform:translateY(-50%)}.sal-pip.mid-right{top:50%;right:16%;transform:translateY(-50%)}.sal-dice-actions{flex-direction:column;flex:1;gap:8px;display:flex}.sal-six-badge{color:#fff;text-align:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:700;animation:.4s cubic-bezier(.34,1.56,.64,1) salBadgePop;box-shadow:0 3px 10px #f59e0b66}@keyframes salBadgePop{0%{transform:scale(0)}to{transform:scale(1)}}.sal-players-list{flex-direction:column;gap:6px;display:flex}.sal-player-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:all .3s;display:flex;position:relative}.sal-player-card.active{border-color:var(--pcolor);box-shadow:0 0 12px #0003, 0 0 0 1px var(--pcolor);background:#ffffff1a}.sal-player-avatar{color:#fff;text-transform:uppercase;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.85rem;font-weight:700;display:grid;box-shadow:0 2px 8px #0006,inset 0 2px 4px #ffffff4d}.sal-player-details{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sal-player-name{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.sal-progress-bar{background:#ffffff1a;border-radius:3px;height:4px;overflow:hidden}.sal-progress-fill{border-radius:3px;height:100%;transition:width .5s;box-shadow:0 0 6px}.sal-pos-label{color:#64748b;font-size:.68rem;font-weight:500}.sal-active-indicator{font-size:.65rem;animation:.8s infinite alternate indicatorPulse}@keyframes indicatorPulse{0%{opacity:.4}to{opacity:1}}.sal-log-panel{max-height:150px;overflow-y:auto}.sal-log-title{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:.72rem;font-weight:600}.sal-log-entries{flex-direction:column;gap:4px;display:flex}.sal-log-entry{color:#64748b;border-bottom:1px solid #ffffff08;padding:2px 0;font-size:.72rem;line-height:1.4}.sal-log-entry.latest{color:#cbd5e1;font-weight:600}.sal-log-panel::-webkit-scrollbar{width:3px}.sal-log-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.sal-board-area{justify-content:center;align-items:flex-start;display:flex}.sal-board-frame{aspect-ratio:1;background:#f5f0e8;border:6px solid #57534e;border-image:repeating-linear-gradient(45deg,#78716c 0 8px,#57534e 8px 16px) 6;border-radius:12px;width:min(480px,48vw,68vh);position:relative;box-shadow:inset 0 0 0 2px #00000040,inset 0 0 15px #00000026,0 16px 40px #00000080}.sal-board{border-radius:6px;width:100%;height:100%;position:relative;overflow:hidden}.sal-grid{grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);width:100%;height:100%;display:grid}.sal-tile{background-image:repeating-linear-gradient(0deg,#0000 0 3px,#00000004 3px 4px);border:.5px solid #00000014;display:flex;position:relative;overflow:hidden}.sal-tile-num{color:#374151;text-shadow:0 .5px 1px #fff9;z-index:2;font-size:clamp(.5rem,1.2vw,.85rem);font-weight:700;line-height:1;position:absolute;top:2px;left:4px}.sal-tile.ladder-start{box-shadow:inset 0 0 8px #d977064d}.sal-tile.snake-start{box-shadow:inset 0 0 8px #dc26264d}.special-icon{opacity:.5;z-index:2;font-size:clamp(.3rem,.8vw,.6rem);position:absolute;bottom:1px;right:2px}.finish-flag{z-index:2;font-size:clamp(.7rem,1.5vw,1.2rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sal-svg-layer{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.sal-ladder{opacity:.85}.sal-snake{opacity:.9}.sal-token{z-index:10;border:2px solid #ffffff80;border-radius:50%;place-items:center;width:7%;height:7%;transition:all .5s cubic-bezier(.34,1.56,.64,1);display:grid;position:absolute;transform:translate(-50%,-60%);box-shadow:inset 0 3px 6px #fff6,inset 0 -4px 8px #0006,0 5px 10px #0006}.sal-token-label{color:#fff;text-shadow:0 1px 2px #000000b3;z-index:2;text-transform:uppercase;font-size:clamp(.4rem,.9vw,.65rem);font-weight:800}.sal-token-shine{filter:blur(.5px);background:#ffffffb3;border-radius:50%;width:25%;height:20%;position:absolute;top:15%;left:18%;transform:rotate(-30deg)}.sal-token.active{animation:1s infinite alternate tokenHover}@keyframes tokenHover{0%{transform:translate(-50%,-60%)scale(1)}to{filter:brightness(1.15);transform:translate(-50%,-75%)scale(1.15)}}.sal-action-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border:none;border-radius:10px;padding:10px 16px;font-family:inherit;font-size:.82rem;font-weight:700;transition:all .2s}.sal-action-btn.primary{background:linear-gradient(135deg, var(--btn-color,#10b981), color-mix(in srgb, var(--btn-color,#10b981) 65%, #000));color:#fff;width:100%;box-shadow:0 3px 12px #0000004d,inset 0 1px 2px #fff3}.sal-action-btn.primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.sal-action-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.sal-action-btn.ghost{color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff1a;flex:1;padding:8px 10px;font-size:.75rem}.sal-action-btn.ghost:hover{color:#fff;background:#ffffff1f}.sal-action-btn.ghost.danger{color:#fca5a5;border-color:#ef444433}.sal-action-btn.ghost.danger:hover{color:#f87171;background:#ef44441f}.sal-roll-button{width:100%}.sal-control-btns{gap:8px;display:flex}.sal-effect-toast{z-index:50;border-radius:999px;padding:10px 24px;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:700;animation:1.5s forwards toastSlide;position:fixed;top:20px;left:50%;transform:translate(-50%)}.snake-toast{color:#fff;background:linear-gradient(135deg,#dc2626,#991b1b);box-shadow:0 6px 20px #dc262666}.ladder-toast{color:#fff;background:linear-gradient(135deg,#d97706,#92400e);box-shadow:0 6px 20px #d9770666}@keyframes toastSlide{0%{opacity:0;transform:translate(-50%)translateY(-30px)}15%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-20px)}}.sal-winner-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#000000b3;place-items:center;animation:.5s salFadeIn;display:grid;position:fixed;inset:0}.sal-winner-card{text-align:center;background:linear-gradient(145deg,#1e293b,#0f172a);border:2px solid #ffffff26;border-radius:24px;padding:36px 44px;animation:.6s cubic-bezier(.34,1.56,.64,1) salWinPop;box-shadow:0 24px 60px #00000080}.sal-winner-crown{margin-bottom:8px;font-size:3.5rem;animation:1s infinite alternate salCrownBounce}@keyframes salCrownBounce{0%{transform:translateY(0)scale(1)}to{transform:translateY(-8px)scale(1.1)}}.sal-winner-card h2{margin:0 0 8px;font-size:1.8rem;font-weight:800}.sal-winner-card p{color:#94a3b8;margin:0 0 20px}@keyframes salWinPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes salFadeIn{0%{opacity:0}to{opacity:1}}.sal-confetti{pointer-events:none;z-index:99;position:fixed;inset:0;overflow:hidden}.sal-confetti-piece{border-radius:2px;animation:linear forwards salConfettiFall;position:absolute;top:-20px}@keyframes salConfettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.sal-rules-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00140acc;border:1px solid #ffffff14;border-radius:18px;max-width:700px;margin:0 auto;padding:24px}.sal-rules-card h4{color:#fff;text-align:center;margin:0 0 16px;font-size:1.1rem}.sal-rules-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.sal-rule{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.sal-rule-icon{flex-shrink:0;font-size:1.2rem}.sal-rule p{color:#cbd5e1;margin:0;font-size:.85rem;line-height:1.4}@media (width<=900px){.sal-game-layout{grid-template-columns:240px 1fr;gap:12px}.sal-board-frame{width:min(440px,48vw,65vh)}.sal-dice-box{width:64px;height:64px}.sal-pip{width:11px;height:11px}.sal-player-avatar{width:28px;height:28px;font-size:.8rem}.sal-player-card{gap:8px;padding:8px 10px}.sal-player-name{font-size:.8rem}}@media (width<=768px){.sal-wrapper{gap:8px;padding:8px}.sal-wrapper.playing{gap:0;padding:0}.sal-game-layout{grid-template-columns:1fr;gap:0;max-width:100%}.sal-board-area{order:-1;padding:6px}.sal-board-frame{border-width:4px;border-radius:10px;width:min(98vw,52vh);margin:0 auto}.sal-tile-num{font-size:clamp(.38rem,1vw,.65rem)}.special-icon{font-size:clamp(.25rem,.6vw,.45rem)}.finish-flag{font-size:clamp(.5rem,1.2vw,.9rem)}.sal-token{width:6%;height:6%}.sal-token-label{font-size:clamp(.32rem,.7vw,.5rem)}.sal-side-panel{gap:6px;padding:6px 8px}.sal-panel-card{border-radius:10px;padding:10px 12px}.sal-turn-label{font-size:.8rem}.sal-dice-row{gap:10px}.sal-dice-box{width:56px;height:56px}.sal-pip{width:9px;height:9px}.sal-dice-face{border-radius:10px}.sal-action-btn.primary{min-height:44px;padding:10px 14px;font-size:.78rem}.sal-six-badge{padding:4px 10px;font-size:.7rem}.sal-panel-title{margin-bottom:8px;padding-bottom:6px;font-size:.78rem}.sal-players-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px;display:grid}.sal-player-card{border-radius:8px;gap:6px;padding:6px 8px}.sal-player-avatar{width:24px;height:24px;font-size:.7rem}.sal-player-name{font-size:.72rem}.sal-progress-bar{height:3px}.sal-pos-label,.sal-active-indicator{font-size:.6rem}.sal-log-panel{max-height:70px;padding:8px}.sal-log-title{margin-bottom:4px;font-size:.65rem}.sal-log-entry{padding:2px 0;font-size:.65rem}.sal-control-btns{gap:6px}.sal-control-btns .sal-action-btn{min-height:40px;padding:8px;font-size:.7rem}.sal-effect-toast{padding:8px 18px;font-size:.85rem;top:12px}.sal-rules-card{border-radius:14px;padding:16px}.sal-rules-card h4{margin-bottom:12px;font-size:1rem}.sal-rules-grid{grid-template-columns:1fr;gap:8px}.sal-rule{gap:8px;padding:10px}.sal-rule-icon{font-size:1rem}.sal-rule p{font-size:.78rem}.sal-winner-card{border-radius:18px;padding:28px 32px}.sal-winner-crown{font-size:2.8rem}.sal-winner-card h2{font-size:1.4rem}}@media (width<=480px){.sal-board-frame{border-width:3px;width:min(98vw,48vh)}.sal-token{border-width:1.5px;width:5.5%;height:5.5%}.sal-token-label{font-size:clamp(.28rem,.6vw,.4rem)}.sal-players-list{grid-template-columns:repeat(2,1fr);gap:3px}.sal-player-card{border-radius:6px;gap:5px;padding:5px 6px}.sal-player-avatar{width:22px;height:22px;font-size:.65rem}.sal-player-name{font-size:.68rem}.sal-player-details{gap:2px}.sal-dice-box{width:48px;height:48px}.sal-pip{width:8px;height:8px}.sal-dice-face{border-width:1.5px;border-radius:8px}.sal-turn-label{font-size:.75rem}.sal-log-panel{max-height:55px;padding:6px}.sal-winner-card{padding:24px}.sal-winner-crown{font-size:2.4rem}.sal-winner-card h2{font-size:1.2rem}.sal-winner-card p{font-size:.85rem}}@media (height<=500px) and (orientation:landscape){.sal-game-layout{grid-template-columns:1fr 200px;gap:8px}.sal-board-area{order:0}.sal-board-frame{width:min(50vw,90vh)}.sal-side-panel{gap:6px}.sal-log-panel{display:none}.sal-players-list{grid-template-columns:1fr;gap:3px}}.retro-racer-container{color:#fff;background-color:#0b0c10;justify-content:center;align-items:center;width:100%;min-height:100%;font-family:"Press Start 2P",Courier New,Courier,monospace;display:flex;position:relative;overflow:hidden auto}.retro-racer-canvas{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.retro-racer-ui{pointer-events:none;box-sizing:border-box;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:20px;display:flex;position:absolute;top:0;left:0}.hud-top{letter-spacing:2px;justify-content:space-between;align-items:flex-start;font-size:1.5rem;font-weight:700;display:flex}.hud-score{text-shadow:0 0 10px #f0f,0 0 20px #f0f;background:#0009;border:2px solid #ff00ff80;border-radius:8px;padding:10px 20px;box-shadow:inset 0 0 15px #ff00ff4d}.hud-dash{background:#0009;border:2px solid #00ffff80;border-radius:12px;flex-direction:column;gap:15px;min-width:250px;padding:15px;display:flex;box-shadow:inset 0 0 20px #0ff3,0 0 10px #000c}.gauge-row{align-items:center;gap:10px;display:flex}.gauge-label{color:#fff;text-shadow:0 0 5px #fff;width:60px;font-size:.8rem}.gauge-bar-bg{background:#111;border:2px solid #333;border-radius:4px;flex:1;height:20px;position:relative;overflow:hidden}.gauge-fill{width:0%;height:100%;transition:width .1s linear,background-color .2s}.gauge-fill.speed{background:linear-gradient(90deg,#0ff,#08f);box-shadow:0 0 10px #0ff}.gauge-fill.speed.max{background:linear-gradient(90deg,#f80,red);animation:.2s infinite alternate pulse-red;box-shadow:0 0 10px red}.gauge-fill.nitro{background:linear-gradient(90deg,#f0f,#f08);box-shadow:0 0 10px #f0f}.gauge-fill.nitro.ready{background:linear-gradient(90deg,#fff,#f0f);animation:.5s infinite alternate pulse-pink;box-shadow:0 0 20px #f0f}@keyframes pulse-red{0%{opacity:.8}to{opacity:1}}@keyframes pulse-pink{0%{filter:brightness()}to{filter:brightness(1.5)}}.screen-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;z-index:10;background:#0b0c10d9;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.title-text{color:#fff;text-transform:uppercase;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 15px #00bcd4cc);text-align:center;background:linear-gradient(#cfd8dc 0%,#fff 40%,silver 50%,#4dd0e1 51%,#00bcd4 100%);-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:4rem;font-style:italic}.title-wrapper{margin-bottom:30px;position:relative}.title-wrapper:before{content:"OUTWAVE";color:#0000;-webkit-text-stroke:4px #e91e63;z-index:-1;filter:drop-shadow(0 0 10px #e91e63);font-size:4rem;font-style:italic;position:absolute;top:3px;left:3px}.retro-btn{color:#0ff;cursor:pointer;text-transform:uppercase;text-shadow:0 0 5px #0ff;background:0 0;border:2px solid #0ff;margin:10px;padding:15px 30px;font-family:inherit;font-size:1.2rem;transition:all .2s;box-shadow:0 0 10px #0ff3,inset 0 0 10px #00ffff1a}.retro-btn:hover{background:#0ff3;transform:scale(1.05);box-shadow:0 0 20px #00ffff80,inset 0 0 15px #00ffff4d}.instructions{color:#aaa;text-align:center;margin-top:30px;font-family:sans-serif;line-height:1.5}.key{color:#fff;background:#2a2a35;border-bottom:2px solid #111;border-radius:4px;margin:0 4px;padding:4px 8px;font-family:monospace;display:inline-block}.game-over-text{color:#ff003c;text-shadow:0 0 20px #ff003c,0 0 40px #ff003c;text-transform:uppercase;margin-bottom:10px;font-size:3rem}.final-stats{color:#fff;text-align:center;margin-bottom:30px;font-size:1.5rem}.final-stats .highlight{color:#0ff;text-shadow:0 0 10px #0ff;margin-top:10px;font-size:2rem;display:block}.mobile-controls{box-sizing:border-box;pointer-events:none;justify-content:space-between;width:100%;padding:0 20px;display:none;position:absolute;bottom:30px;left:0}@media (width<=768px){.mobile-controls{display:flex}}.d-pad,.action-buttons{pointer-events:auto;gap:15px;display:flex}.control-btn{color:#0ffc;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:2px solid #00ffff80;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;display:flex;box-shadow:inset 0 0 15px #0ff3}.control-btn:active{background:#00ffff4d;transform:scale(.95);box-shadow:inset 0 0 25px #0ff9}.control-btn.nitro-btn{color:#f0f;border-color:#f0f;box-shadow:inset 0 0 15px #f0f3}.control-btn.nitro-btn:active{background:#ff00ff4d;box-shadow:inset 0 0 25px #f0f9}@media (width<=480px){.hud-top{flex-wrap:wrap;gap:8px;font-size:.9rem}.hud-score{padding:6px 10px;font-size:.75rem}.hud-dash{gap:8px;min-width:0;padding:8px}.title-text,.title-wrapper:before{font-size:2.4rem}.game-over-text{font-size:2rem}.instructions{padding:0 12px;font-size:.75rem}.control-btn{width:48px;height:48px;font-size:18px}.d-pad,.action-buttons{gap:8px}}
