*{box-sizing:border-box;margin:0;padding:0}:root{--primary:gold;--primary-dark:orange;--secondary:#00d9ff;--accent:#ff006e;--success:#0f8;--danger:#f36;--warning:#ffb800;--bg-primary:#0a0e27;--bg-secondary:#141b2d;--bg-tertiary:#1e2742;--bg-elevated:#1e2742cc;--text-primary:#fff;--text-secondary:#b8c5d6;--text-tertiary:#7a8ba3;--border-color:#ffffff1a;--border-active:#ffd70066;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #ffd7004d;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0e27;background-attachment:fixed;background-image:radial-gradient(circle at 10% 20%,#ff7d0059 0,#ff7d001a 30%,#0000 60%),radial-gradient(circle at 90% 30%,#00e1ff59 0,#00e1ff1a 30%,#0000 60%),radial-gradient(circle at 50% 80%,#ff00ff4d 0,#ff00ff1a 30%,#0000 60%),radial-gradient(circle at 30% 60%,#ffff004d 0,#ffff001a 30%,#0000 60%),radial-gradient(circle at 70% 50%,#00ff0040 0,#00ff0014 30%,#0000 60%),radial-gradient(circle at 20% 70%,#2828ff40 0,#2828ff14 30%,#0000 60%),radial-gradient(circle at 80% 80%,#f003 0,#ff00000d 30%,#0000 60%),linear-gradient(135deg,#0a0e27,#1a1a3e 25%,#2a1a4e 50%,#1a2a4e 75%,#0a0e27);background-size:100% 100%;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;min-height:100dvh}code{font-family:Fira Code,Courier New,monospace}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.settings-container{align-items:center;background:var(--bg-primary,#1e2742);display:flex;justify-content:center;min-height:100dvh;overflow:hidden;padding:var(--spacing-xl);position:relative}.game-menu-overlay .settings-container{background:#0000;min-height:auto;padding:0}.settings-container:before{background:radial-gradient(circle at 15% 25%,#ff7d0033 0,#ff7d0014 30%,#0000 60%),radial-gradient(circle at 85% 35%,#00e1ff33 0,#00e1ff14 30%,#0000 60%),radial-gradient(circle at 50% 75%,#ff00ff2e 0,#ff00ff0f 30%,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.game-menu-overlay .settings-container:before{display:none}.settings-content{animation:fadeIn .4s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e274299;border:1px solid var(--border-color,#ffd7004d);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-lg,0 8px 32px #0000004d);max-width:700px;padding:var(--spacing-xl,32px);position:relative;width:100%;z-index:1}.settings-header{align-items:center;border-bottom:1px solid var(--border-color,#ffd70033);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl,32px);padding-bottom:var(--spacing-md,16px)}.settings-header h1{color:var(--text-primary,gold);font-size:2rem;margin:0;text-shadow:0 0 10px #ffd70080}.tabs-container{border-bottom:1px solid var(--border-color,#ffd70033);display:flex;gap:.5rem;margin-bottom:var(--spacing-xl,32px)}.tab-button{background:#0000;border:none;border-bottom:2px solid #0000;bottom:-1px;color:var(--text-secondary,#aaa);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.tab-button.active,.tab-button:hover{background:#ffd7000d;color:var(--text-primary,gold)}.tab-button.active{border-bottom-color:var(--border-active,#ffd700cc)}.settings-close{align-items:center;background:#0000;border:1px solid var(--border-color,#ffd7004d);border-radius:50%;color:var(--text-primary,gold);cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;line-height:1;transition:all .2s ease;width:40px}.settings-close:hover{background:#ffd7001a;border-color:var(--border-active,#ffd70099);transform:scale(1.1)}.settings-section{margin-bottom:var(--spacing-xl,32px)}.settings-section h2{color:var(--text-primary,gold);font-size:1.5rem;margin:0 0 var(--spacing-md,16px) 0}.settings-hint{color:var(--text-secondary,#ffffffb3);font-size:.9rem;font-style:italic;margin-bottom:var(--spacing-lg,24px)}.keyboard-config{display:flex;flex-direction:column;gap:var(--spacing-md,16px)}.key-config-row{align-items:center;display:flex;gap:var(--spacing-lg,24px);padding:var(--spacing-sm,8px) 0}.key-label{font-weight:500;min-width:150px}.key-button,.key-label{color:var(--text-primary,gold);flex:1 1}.key-button{background:#0000004d;border:2px solid var(--border-color,#ffd7004d);border-radius:var(--radius-md,8px);cursor:pointer;font-size:1rem;font-weight:600;min-width:200px;padding:var(--spacing-md,16px) var(--spacing-lg,24px);position:relative;text-align:center;transition:all .2s ease}.key-button:hover{background:#ffd7001a;border-color:var(--border-active,#ffd70099);box-shadow:0 4px 12px #ffd70033;transform:translateY(-2px)}.key-button.editing{animation:pulse 1s ease-in-out infinite;background:#ffd70033;border-color:var(--border-active,#ffd700cc);box-shadow:0 0 20px #ffd70066}.key-button.unassigned{font-style:italic;opacity:.6}.editing-indicator{display:block;font-size:.75rem;font-style:italic;font-weight:400;margin-top:4px;opacity:.8}.settings-actions{align-items:center;border-top:1px solid var(--border-color,#ffd70033);display:flex;justify-content:space-between;margin-top:var(--spacing-xl,32px);padding-top:var(--spacing-lg,24px)}.settings-button-group{display:flex;gap:var(--spacing-md,16px)}.settings-button{border:2px solid var(--border-color,#ffd7004d);border-radius:var(--radius-md,8px);cursor:pointer;font-size:1rem;font-weight:600;padding:var(--spacing-md,16px) var(--spacing-xl,32px);transition:all .2s ease}.settings-button,.settings-button.secondary{background:#0000004d;color:var(--text-primary,gold)}.settings-button.secondary:hover{background:#ffd7001a;border-color:var(--border-active,#ffd70099);transform:translateY(-2px)}.settings-button.primary{background:linear-gradient(135deg,#ffd70033,#ff7d0033);border-color:var(--border-active,#ffd70099)}.settings-button.primary:hover{background:linear-gradient(135deg,#ffd7004d,#ff7d004d);border-color:var(--border-active,#ffd700cc);box-shadow:0 4px 12px #ffd7004d;transform:translateY(-2px)}.settings-button:active{transform:translateY(0)}@media (max-width:768px){.settings-content{max-width:100%;padding:var(--spacing-lg,24px)}.key-config-row{align-items:stretch;flex-direction:column;gap:var(--spacing-sm,8px)}.key-button,.key-label{min-width:auto}.settings-actions{flex-direction:column;gap:var(--spacing-md,16px)}.settings-button-group{width:100%}.settings-button{flex:1 1}}.vibration-config,.vibration-config-row{display:flex;flex-direction:column;gap:var(--spacing-md,16px)}.vibration-label{color:var(--text-primary,gold);font-size:1rem;font-weight:500}.vibration-slider-container{display:flex;flex-direction:column;gap:var(--spacing-sm,8px)}.vibration-slider{-webkit-appearance:none;appearance:none;background:#0000004d;border-radius:4px;height:8px;outline:none;width:100%}.vibration-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary,gold);border:2px solid #ffd7004d;border-radius:50%;box-shadow:0 0 10px #ffd70080;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.vibration-slider::-webkit-slider-thumb:hover{box-shadow:0 0 15px #ffd700b3;transform:scale(1.2)}.vibration-slider::-moz-range-thumb{background:var(--primary,gold);border:2px solid #ffd7004d;border-radius:50%;box-shadow:0 0 10px #ffd70080;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.vibration-slider::-moz-range-thumb:hover{box-shadow:0 0 15px #ffd700b3;transform:scale(1.2)}.vibration-slider-labels{color:var(--text-secondary,#ffffffb3);display:flex;font-size:.75rem;justify-content:space-between;padding:0 var(--spacing-xs,4px)}.block-renderer-config{display:flex;flex-direction:column;gap:var(--spacing-md,16px)}.block-renderer-options{display:flex;flex-wrap:wrap;gap:var(--spacing-lg,24px)}.block-renderer-option{align-items:center;background:#0000004d;border:2px solid var(--border-color,#ffd7004d);border-radius:var(--radius-md,8px);color:var(--text-primary,gold);cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:var(--spacing-sm,8px);justify-content:center;min-width:150px;padding:var(--spacing-md,16px) var(--spacing-lg,24px);transition:all .2s ease}.block-renderer-option:hover{background:#ffd7001a;border-color:var(--border-active,#ffd70099);box-shadow:0 4px 12px #ffd70033;transform:translateY(-2px)}.block-renderer-option input[type=radio]{accent-color:var(--primary,gold);cursor:pointer;height:20px;width:20px}.block-renderer-option input[type=radio]:checked+span{color:var(--text-primary,gold);font-weight:600}.block-renderer-option:has(input[type=radio]:checked){background:#ffd70026;border-color:var(--border-active,#ffd700cc);box-shadow:0 0 15px #ffd7004d}@media (max-width:768px){.block-renderer-options{flex-direction:column}.block-renderer-option{min-width:auto}}.touch-controls{-webkit-touch-callout:none;bottom:0;display:block;left:0;pointer-events:none;position:fixed;right:0;top:0;user-select:none;-webkit-user-select:none;z-index:1500}.touch-controls-container{height:100%;position:relative;width:100%}.touch-zone{bottom:0;height:60%;pointer-events:auto;position:absolute;touch-action:none;width:50%}.touch-zone-left{left:0}.touch-zone-right{right:0}.touch-zone:active{background:#ffffff0d}.touch-controls *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.result-screen-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:4000}.result-screen{background:linear-gradient(135deg,#141923fa,#0f141efa);border:2px solid #ffffff1a;border-radius:8px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;max-height:90dvh;max-width:900px;overflow:hidden;width:100%}.result-screen-header{background:#0003;border-bottom:2px solid #ffffff1a;padding:24px 32px}.result-screen-title{color:#fffffff2;font-size:32px;font-weight:700;letter-spacing:2px;margin:0;text-align:center;text-shadow:0 2px 8px #00000080;text-transform:uppercase}.result-screen-winner{margin-top:12px;text-align:center}.result-screen-winner-team{animation:pulse 2s ease-in-out infinite;font-size:24px;font-weight:700;text-shadow:0 2px 8px #00000080}.result-screen-tabs{background:#0000;border-bottom:2px solid #fff3;display:flex;gap:0;margin:0 32px;padding:0}.result-screen-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#ffffffb3;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;margin-bottom:-2px;padding:16px 32px;position:relative;text-transform:uppercase;transition:all .2s ease}.result-screen-tab:hover:not(:disabled){background:#ffffff0d;color:#ffffffe6}.result-screen-tab.active{background:#ffd7001a;border-bottom-color:gold;color:gold}.result-screen-tab:disabled{cursor:not-allowed;opacity:.4}.result-screen-content{flex:1 1;overflow-y:auto;padding:24px 32px}.result-screen-table-container{overflow-x:auto}.result-screen-table{border-collapse:collapse;font-size:16px;width:100%}.result-screen-table thead{background:#0000004d;position:-webkit-sticky;position:sticky;top:0;z-index:10}.result-screen-table th{border-bottom:2px solid #ffffff26;color:#fffc;font-size:14px;font-weight:600;letter-spacing:.5px;padding:14px 18px;text-align:left;text-transform:uppercase}.result-screen-table th.sortable{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.result-screen-table th.sortable:hover{background:#ffffff1a}.result-screen-table th.sortable.active{background:#ffd7001a;color:#ffd700e6}.sort-indicator{font-size:10px;margin-left:4px}.result-screen-table th.result-col-stat{text-align:right}.result-screen-table td{border-bottom:1px solid #ffffff14;color:#fffffff2;font-size:16px;padding:12px 18px}.result-screen-player-row{transition:background-color .2s ease}.result-screen-player-row:hover{background:#ffffff0d}.result-screen-player-row.local-player{background:#ffd70026;font-weight:600}.result-screen-player-row.local-player:hover{background:#ffd70033}.result-screen-player-row.my-team{border-left:3px solid}.result-col-player{min-width:200px}.result-col-stat{font-family:Courier New,Monaco,monospace;font-weight:600;text-align:right;width:100px}.result-screen-player-name{align-items:center;display:flex;font-weight:500;gap:8px}.result-screen-you-badge{background:#ffd70040;border:1px solid #ffd70066;border-radius:2px;color:gold;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.result-screen-team-total{background:#0003;border-top:2px solid #ffffff1a;font-weight:600}.result-screen-team-total td{padding-bottom:16px;padding-top:16px}.result-screen-placeholder{color:#ffffff80;padding:60px 40px;text-align:center}.result-screen-placeholder p{font-size:16px;line-height:1.6;margin:12px 0}.result-screen-footer{background:#0003;border-top:2px solid #ffffff1a;display:flex;gap:16px;justify-content:center;padding:24px 32px}.result-screen-button{border:2px solid;border-radius:4px;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;min-width:150px;padding:12px 32px;text-transform:uppercase;transition:all .2s ease}.result-screen-button.restart{background:#00960033;border-color:#00c80099;color:#96ff96e6}.result-screen-button.restart:hover{background:#0096004d;border-color:#00c800cc;box-shadow:0 4px 12px #00c8004d;color:#c8ffc8;transform:translateY(-2px)}.result-screen-button.quit{background:#96000033;border-color:#c8000099;color:#ff9696e6}.result-screen-button.quit:hover{background:#9600004d;border-color:#c80000cc;box-shadow:0 4px 12px #c800004d;color:#ffc8c8;transform:translateY(-2px)}@media (max-width:768px){.result-screen{border-radius:0;max-height:100dvh;max-width:100%}.result-screen-header{padding:16px 20px}.result-screen-title{font-size:24px}.result-screen-tabs{flex-wrap:wrap;padding:12px 20px 0}.result-screen-tab{font-size:12px;padding:8px 16px}.result-screen-content{padding:16px 20px}.result-screen-table{font-size:12px}.result-screen-table td,.result-screen-table th{padding:8px 12px}.result-col-player{min-width:120px}.result-col-stat{width:70px}.result-screen-footer{flex-direction:column;padding:16px 20px}.result-screen-button{width:100%}}.result-screen-highscore-content{width:100%}.result-screen-highscore-new-entry{background:#ffd70033;border:2px solid gold;border-radius:8px;color:gold;font-weight:600;margin-bottom:24px;padding:16px;text-align:center}.result-screen-highscore-new-entry h3{font-size:20px;margin:0}.result-screen-highscore-list{width:100%}.result-screen-highscore-list .no-scores{color:#ffffffb3;padding:24px;text-align:center}.result-screen-table .new-high-score{background:#ffd70026;font-weight:600}.result-screen-table .new-high-score td{color:gold}.game-screen{align-items:center;background:var(--bg-primary);box-sizing:border-box;display:flex;flex-direction:column;height:100dvh;justify-content:flex-start;overflow:hidden;padding:2%;position:relative;touch-action:none;width:100vw}.canvas-background{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.single-player-stage{display:flex;flex:1 1 auto;flex-direction:column;height:100%;max-width:1200px;min-height:0;width:100%;z-index:1}.single-player-score-section{align-items:stretch;display:flex;height:10%;justify-content:center;margin-top:5%;max-height:260px;width:100%}.single-player-game-section{align-items:flex-start;height:75%}.canvas-container,.single-player-game-section{display:flex;justify-content:center;min-height:0;width:100%}.canvas-container{align-items:center;flex:1 1 auto;height:100%;max-height:100%}.canvas-container canvas{display:block;height:100%!important;max-width:100%;object-fit:contain;width:auto!important}.score-pane{align-items:center;display:flex;flex-direction:row;height:100%;margin:0 auto;max-width:720px;padding:0 var(--spacing-sm);width:100%}.score-pane-card{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#02061780;border:1px solid #0f172acc;border-radius:24px;box-shadow:0 25px 60px #00000080;flex-grow:1;overflow:hidden;position:relative}.score-pane-accent{background:linear-gradient(90deg,#06b6d4,#a855f7,#ec4899);height:4px;left:0;opacity:.75;position:absolute;right:0;top:0}.score-pane-grid{border-top:1px solid #ffffff08;display:grid;flex:1 1;grid-template-columns:repeat(3,minmax(0,1fr))}.score-pane-section{align-items:center;border-left:1px solid #0f172a80;display:flex;flex-direction:column;gap:6px;justify-content:center;overflow:hidden;padding:16px;position:relative}.score-pane-section:first-child{border-left:none}.score-pane-hover-veil{inset:0;opacity:0;position:absolute;transition:opacity var(--transition-slow)}.score-pane-section:hover .score-pane-hover-veil{opacity:1}.score-pane-score-veil{background:#06b6d414}.score-pane-level-veil{background:#a855f714}.score-pane-lines-veil{background:#ec489914}.score-pane-label{align-items:center;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.2em;opacity:.75;text-transform:uppercase}.score-pane-score-label{color:#06b6d4cc}.score-pane-level-label{color:#a855f7cc}.score-pane-lines-label{color:#ec4899cc}.score-pane-icon{height:14px;width:14px}.score-pane-value{font-feature-settings:"tnum";color:#fff;font-family:Courier New,monospace;font-size:clamp(1.5rem,1.2rem + 1vw,2.4rem);font-weight:900;letter-spacing:.02em;text-shadow:0 0 15px #ffffff26}.score-pane-score-value{text-shadow:0 0 20px #06b6d480}.score-pane-level-value{text-shadow:0 0 20px #a855f773}.score-pane-lines-value{text-shadow:0 0 20px #ec489973}.game-menu-overlay{z-index:1000}@media (max-width:900px){.single-player-stage{max-width:100%;padding:0 var(--spacing-sm)}.single-player-score-section{flex:0 0 auto;height:auto;min-height:160px}}@media (max-width:600px){.single-player-score-section{min-height:120px}.score-pane{padding:0 var(--spacing-xs)}.score-pane-section{padding:16px 12px}.score-pane-label{font-size:10px;letter-spacing:.15em}.score-pane-value{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem)}}.home-container{align-items:center;display:flex;justify-content:center;min-height:100dvh;overflow:hidden;padding:var(--spacing-xl);position:relative}.home-container:before{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle at 15% 25%,#ff7d0066 0,#ff7d0026 30%,#0000 60%),radial-gradient(circle at 85% 35%,#00e1ff66 0,#00e1ff26 30%,#0000 60%),radial-gradient(circle at 50% 75%,#ff00ff59 0,#ff00ff1f 30%,#0000 60%),radial-gradient(circle at 30% 60%,#ffff0059 0,#ffff001f 30%,#0000 60%),radial-gradient(circle at 70% 50%,#00ff004d 0,#00ff001a 30%,#0000 60%),radial-gradient(circle at 20% 70%,#2828ff4d 0,#2828ff1a 30%,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.home-content{align-items:center;animation:fadeIn .6s ease-out;display:flex;flex-direction:column;gap:var(--spacing-2xl);max-width:600px;position:relative;width:100%;z-index:1}.logo-container{animation:slideDown .8s ease-out;margin-bottom:var(--spacing-md)}.main-logo{filter:drop-shadow(0 0 30px rgba(255,215,0,.4));height:auto;max-width:100%;transition:filter var(--transition-base)}.main-logo:hover{filter:drop-shadow(0 0 40px rgba(255,215,0,.6))}.menu-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e27424d;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);width:100%}.menu-item{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all var(--transition-base)}.menu-item:before{background:var(--primary);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform var(--transition-base);width:4px}.menu-item:hover{background:#ffd7000d;border-color:var(--border-active);transform:translateX(8px)}.menu-item:hover:before{transform:scaleY(1)}.menu-item:active{transform:translateX(4px)}.menu-item svg{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));height:auto;opacity:.8;transition:all var(--transition-base);width:100%}.menu-item:hover svg{filter:drop-shadow(0 0 15px rgba(255,215,0,.5)) drop-shadow(0 2px 4px rgba(0,0,0,.3));opacity:1;transform:scale(1.02)}@media (max-width:768px){.home-container{padding:var(--spacing-lg)}.home-content{gap:var(--spacing-xl)}.menu-container{padding:var(--spacing-md)}.menu-item{padding:var(--spacing-sm) var(--spacing-md)}}.multiplayer-setup-wrapper{align-items:center;display:flex;justify-content:center;min-height:100dvh;overflow:hidden;padding:var(--spacing-xl);position:relative;width:100%}.multiplayer-setup-wrapper .back-button{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:var(--spacing-sm);left:var(--spacing-xl);padding:var(--spacing-sm) var(--spacing-md);position:absolute;top:var(--spacing-xl);transition:all var(--transition-base);z-index:10}.multiplayer-setup-wrapper .back-button:hover{background:#ffd7001a;border-color:var(--primary);box-shadow:var(--shadow-glow),var(--shadow-md);color:var(--primary);transform:translateX(-4px)}.multiplayer-setup-wrapper .back-button:active{transform:translateX(-2px)}.multiplayer-setup-wrapper .back-button svg{flex-shrink:0;height:20px;width:20px}.multiplayer-setup-wrapper:before{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle at 15% 25%,#ff7d0066 0,#ff7d0026 30%,#0000 60%),radial-gradient(circle at 85% 35%,#00e1ff66 0,#00e1ff26 30%,#0000 60%),radial-gradient(circle at 50% 75%,#ff00ff59 0,#ff00ff1f 30%,#0000 60%),radial-gradient(circle at 30% 60%,#ffff0059 0,#ffff001f 30%,#0000 60%),radial-gradient(circle at 70% 50%,#00ff004d 0,#00ff001a 30%,#0000 60%),radial-gradient(circle at 20% 70%,#2828ff4d 0,#2828ff1a 30%,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.multiplayer-setup-content{align-items:stretch;animation:fadeIn .6s ease-out;display:flex;flex-direction:column;max-width:600px;position:relative;width:100%;z-index:1}.multiplayer-setup-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e27424d;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:100%;padding:var(--spacing-lg);width:100%}.input-group{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all var(--transition-base)}.input-group:before{background:var(--primary);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform var(--transition-base);width:4px}.input-group:focus-within{background:#ffd7000d;border-color:var(--border-active);transform:translateX(8px)}.input-group:focus-within:before{transform:scaleY(1)}.input-group label{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;font-weight:600;gap:var(--spacing-xs);letter-spacing:.5px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.label-required{color:var(--danger);font-weight:700}.label-optional{color:var(--text-secondary);font-size:12px;font-weight:400}.input-group input[type=text]{background:#0000;border:none;border-bottom:1px solid var(--border-color);border-radius:0;color:var(--text-primary);font-family:inherit;font-size:16px;padding:var(--spacing-sm) 0;transition:all var(--transition-base);width:100%}.input-group input[type=text]::placeholder{color:var(--text-tertiary)}.input-group input[type=text]:focus{border-bottom-color:var(--primary);box-shadow:0 2px 0 #ffd7004d;outline:none}.input-group input[type=text]:disabled{cursor:not-allowed;opacity:.5}.input-hint{color:var(--text-tertiary);font-size:12px;font-style:italic;margin:var(--spacing-xs) 0 0 0}.peer-id-group{animation:slideDown .3s ease-out}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:200px;opacity:1;transform:translateY(0)}}.mode-selection-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mode-group-label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0;padding:0 var(--spacing-lg);text-transform:uppercase}.mode-selection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mode-selection.horizontal{flex-direction:row;flex-wrap:nowrap}.mode-option{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all var(--transition-base)}.mode-option:before{background:var(--primary);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform var(--transition-base);width:4px}.mode-option:hover{background:#ffd7000d;border-color:var(--border-active);transform:translateX(8px)}.mode-option:hover:before{transform:scaleY(1)}.mode-option.active{background:#ffd7001a;border-color:var(--border-active)}.mode-option.active:before{transform:scaleY(1)}.mode-option input[type=radio]{height:0;opacity:0;position:absolute;width:0}.mode-option-content{align-items:center;display:flex;gap:var(--spacing-md);width:100%}.mode-icon-wrapper{align-items:center;background:#ffd7001a;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;flex-shrink:0;height:48px;justify-content:center;transition:all var(--transition-base);width:48px}.mode-icon-wrapper svg{height:24px;width:24px}.mode-option:hover .mode-icon-wrapper{background:#ffd70026;color:var(--primary)}.mode-option.active .mode-icon-wrapper{background:#ffd70033;box-shadow:0 0 20px #ffd7004d;color:var(--primary)}.mode-text{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.mode-title{color:var(--text-primary);font-size:16px;font-weight:600;transition:color var(--transition-base)}.mode-option.active .mode-title{color:var(--primary)}.mode-description{color:var(--text-secondary);font-size:13px}.mode-option.active .mode-description{color:var(--text-secondary);opacity:.9}.action-buttons{margin-top:var(--spacing-sm)}.primary-button{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:var(--spacing-sm);justify-content:center;overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all var(--transition-base);width:100%}.primary-button:before{background:var(--primary);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform var(--transition-base);width:4px}.primary-button:hover:not(:disabled){background:#ffd7000d;border-color:var(--border-active);color:var(--primary);transform:translateX(8px)}.primary-button:hover:not(:disabled):before{transform:scaleY(1)}.primary-button:active:not(:disabled){transform:translateX(4px)}.primary-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.primary-button:disabled:before{display:none}.secondary-button{align-items:center;background:#ffd7000d;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all var(--transition-base);width:100%}.secondary-button:hover{background:#ffd7001a;border-color:var(--border-active);color:var(--text-primary);transform:translateX(4px)}.secondary-button:active{transform:translateX(2px)}.secondary-button svg{flex-shrink:0;height:16px;width:16px}.button-spinner{animation:spin .8s linear infinite;border:2px solid var(--primary);border-radius:50%;border-top:2px solid #0000;height:16px;width:16px}.error-message{align-items:center;animation:shake .5s ease;background:#ff33661a;border:1px solid #ff33664d;border-radius:var(--radius-md);color:var(--danger);display:flex;font-size:14px;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-icon{color:var(--danger);flex-shrink:0;height:20px;width:20px}.loading-indicator{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--primary);height:40px;width:40px}.loading-indicator p{color:var(--text-secondary);font-size:14px;letter-spacing:1px;margin:0;text-transform:uppercase}.status-banner{background:#1a73e826;border-radius:var(--radius-md);color:#7cc4ff;font-weight:600;margin-top:var(--spacing-md)}.host-id-display,.status-banner{padding:var(--spacing-sm) var(--spacing-md)}.host-id-display{background:#0000004d;border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;margin-top:var(--spacing-xs);word-break:break-all}.checkbox-group{align-items:center;display:flex;gap:var(--spacing-lg);margin:var(--spacing-md) 0}.checkbox-label{align-items:center;color:var(--text-secondary);display:flex;gap:var(--spacing-sm)}.progress-bar{background:#ffffff1f;border-radius:999px;height:10px;margin:var(--spacing-md) 0;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#00c6ff,#0072ff);height:100%;transition:width .25s ease}@media (max-width:768px){.multiplayer-setup-wrapper{padding:var(--spacing-lg)}.multiplayer-setup-content{gap:var(--spacing-xl)}.multiplayer-setup-container{padding:var(--spacing-md)}}.public-games-list{background:#000c;border-radius:8px;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:800px;padding:20px;width:100%}.public-games-list .header{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.public-games-list h2{font-family:Courier New,Courier,monospace;margin:0}.back-btn,.refresh-btn{background:#333;border:1px solid #555;color:#fff;cursor:pointer;font-family:inherit;padding:8px 16px;transition:background .2s}.back-btn:hover,.refresh-btn:hover{background:#444}.server-grid{grid-gap:15px;display:grid;flex:1 1;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));overflow-y:auto}.server-card{align-items:center;background:#ffffff1a;border:1px solid #444;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:all .2s}.server-card:hover{background:#ffffff26;border-color:#666;transform:translateY(-2px)}.server-info h3{color:#4da6ff;font-size:1.1em;margin:0 0 8px}.server-details{color:#ccc;display:flex;font-size:.9em;gap:15px}.server-action button{background:#28a745;border:none;border-radius:3px;color:#fff;cursor:pointer;padding:6px 12px}.server-action button:hover{background:#218838}.error,.loading,.no-servers{color:#888;font-style:italic;padding:40px;text-align:center}.error{color:#ff4d4d;font-style:normal}.footer{border-top:1px solid #444;margin-top:20px;padding-top:10px}.multiplayer-game{background:var(--bg-primary);height:100dvh;overflow:hidden;padding:2%;position:relative}.multiplayer-game,.other-players-section{box-sizing:border-box;display:flex;flex-direction:column;width:100%}.other-players-section{flex-grow:0;flex-shrink:0;height:20%;max-height:300px}.game-container{align-items:flex-start;box-sizing:border-box;height:75%;margin-bottom:auto;margin-top:0;position:relative;z-index:1}.game-container,.local-game{display:flex;justify-content:center;width:100%}.local-game{align-items:center;height:100%}.local-game canvas{display:block;height:100%!important;max-width:100%;object-fit:contain;width:auto!important}.game-menu-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.game-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e2742d9;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow),var(--shadow-lg);display:flex;flex-direction:column;min-width:300px;padding:var(--spacing-2xl)}.game-menu h2{color:var(--primary);font-size:24px;font-weight:700;letter-spacing:2px;margin:0 0 var(--spacing-xl) 0;text-align:center;text-shadow:0 0 20px #ffd70080;text-transform:uppercase}.menu-button{background:#0000;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;margin-bottom:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;transition:all var(--transition-base);width:100%}.menu-button:last-child{margin-bottom:0}.menu-button:hover{background:#ffd7001a;border-color:var(--primary);box-shadow:var(--shadow-glow);color:var(--primary);transform:translateY(-2px)}.menu-button:active{transform:translateY(0)}.waiting-dialog-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.waiting-dialog{animation:slideUp .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e2742e6;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:85vh;max-width:95%;overflow-y:auto;padding:var(--spacing-lg);width:500px}.waiting-dialog-content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:0}.waiting-dialog-title{color:var(--primary,gold);font-size:20px;font-weight:700;letter-spacing:1px;margin:0;text-align:center;text-shadow:0 0 20px #ffd70066}.host-controls{gap:var(--spacing-md);margin-top:var(--spacing-sm)}.host-controls>.start-game-button{margin-bottom:var(--spacing-lg)}.host-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.invite-section{gap:var(--spacing-xs)}.invite-label{font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.share-buttons-group{flex-direction:row;gap:var(--spacing-sm)}.copy-link-button,.share-whatsapp-button,.start-game-button{border:2px solid;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:var(--spacing-md);text-align:center;transition:all var(--transition-base)}.share-whatsapp-button{background:#25d36626;border-color:#25d36680;color:#25d366}.share-whatsapp-button:hover{background:#25d36640;border-color:#25d366;box-shadow:0 0 20px #25d3664d;transform:translateY(-2px)}.copy-link-button{background:#ffd7001a;border-color:#ffd70080;color:var(--primary,gold)}.copy-link-button:hover{background:#ffd70033;border-color:var(--primary,gold);box-shadow:0 0 20px #ffd7004d;transform:translateY(-2px)}.start-game-button{background:#00ff0026;border-color:#00ff0080;color:#0f0}.start-game-button:hover{background:#00ff0040;border-color:#0f0;box-shadow:0 0 20px #0f06;transform:translateY(-2px)}.start-game-button:active{transform:translateY(0)}.copy-message{animation:fadeIn .3s ease-out;background:#0f03;border:1px solid #0f06;border-radius:var(--radius-sm);color:#0f0;font-size:12px;padding:var(--spacing-xs)}.client-info,.host-info{background:#ffffff0d;border-radius:var(--radius-sm);padding:var(--spacing-sm);text-align:center}.client-info p,.host-info p{color:var(--text-secondary,#aaa);font-size:13px;margin:0}.client-waiting{gap:var(--spacing-md);margin-top:var(--spacing-md)}.client-waiting,.waiting-message{align-items:center;display:flex;flex-direction:column}.waiting-message{background:#ffd7001a;border:2px solid #ffd7004d;border-radius:var(--radius-md);box-sizing:border-box;gap:var(--spacing-sm);padding:var(--spacing-lg);width:100%}.waiting-spinner{animation:pulse 2s ease-in-out infinite;font-size:32px}.waiting-message p{color:var(--primary,gold);font-size:14px;font-weight:500;margin:0;text-align:center}.countdown-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:2000}.countdown-number{animation:countdownPulse .2s ease-out;color:var(--primary);font-family:Courier New,Monaco,monospace;font-size:200px;font-weight:900;letter-spacing:20px;line-height:1;text-shadow:0 0 40px gold,0 0 80px #ffd700cc,0 0 120px #ffd70099,0 4px 20px #000c;-webkit-user-select:none;user-select:none}@keyframes countdownPulse{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.copy-message-overlay{animation:fadeInOut 2s ease-in-out;position:fixed;right:20px;top:20px;z-index:1001}.copy-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid #ffd7004d;border-radius:8px;box-shadow:0 4px 20px #00000080;color:gold;font-weight:600;padding:12px 24px}.frag-messages-container,.game-messages-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeInOut{0%,to{opacity:0;transform:translateY(-10px)}15%,85%{opacity:1;transform:translateY(0)}}.team-selector{background:#0000;border:none;flex-shrink:0;margin:0;padding:0}.team-selector-title{color:var(--primary,gold);font-size:16px;font-weight:600;margin:0 0 var(--spacing-sm,12px) 0;text-align:center}.team-selector-grid{grid-gap:var(--spacing-xs,8px);display:grid;gap:var(--spacing-xs,8px);grid-template-columns:1fr;margin-bottom:var(--spacing-sm,12px)}.team-option{align-items:center;background:#0000004d;border:2px solid #fff3;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;min-height:50px;padding:var(--spacing-xs,8px);position:relative;text-align:left;transition:all .2s ease}.team-option:hover:not(.disabled):not(.selected){background:#ffffff1a;border-color:#ffd70066;transform:translateY(-2px)}.team-option.selected{border-width:3px;box-shadow:0 0 20px #ffd7004d}.team-option.disabled{cursor:not-allowed;opacity:.5}.team-color-indicator{border:2px solid #ffffff4d;border-radius:50%;box-shadow:0 2px 4px #0000004d;flex-shrink:0;height:20px;margin-right:var(--spacing-xs,8px);width:20px}.team-info{flex:1 1;min-width:0}.team-name{color:var(--text-primary,#fff);font-size:13px;font-weight:600;margin-bottom:2px}.team-players{color:var(--text-secondary,#aaa);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-selected-badge{align-items:center;background:#ffd700e6;border-radius:50%;box-shadow:0 2px 4px #0000004d;color:#000;display:flex;font-size:14px;font-weight:700;height:20px;justify-content:center;position:absolute;right:6px;top:6px;width:20px}.team-selector-note{background:#ffd7001a;border:1px solid #ffd7004d;border-radius:var(--radius-sm,4px);color:var(--text-secondary,#aaa);font-size:11px;margin:var(--spacing-sm,12px) 0 0 0;padding:var(--spacing-xs,8px);text-align:center}.lobby-wrapper{align-items:center;display:flex;justify-content:center;min-height:100dvh;padding:var(--spacing-lg);position:relative;z-index:1}.lobby-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e27424d;border-radius:var(--radius-lg);box-shadow:var(--shadow-glow),var(--shadow-lg);max-width:800px;padding:var(--spacing-2xl);width:100%}.lobby-loading{padding:var(--spacing-2xl);text-align:center}.lobby-header{border-bottom:2px solid #ffd70033;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);text-align:center}.lobby-title{color:var(--primary,gold);font-size:32px;margin:0 0 var(--spacing-md) 0}.lobby-player-count{align-items:center;color:var(--text-secondary,#aaa);display:flex;font-size:18px;gap:var(--spacing-sm);justify-content:center}.lobby-section{margin-bottom:var(--spacing-xl)}.lobby-section:last-child{margin-bottom:0}.lobby-section-title{border-bottom:1px solid #ffd70033;color:var(--primary,gold);font-size:20px;margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm)}.game-options{gap:var(--spacing-lg)}.game-option-group,.game-options{display:flex;flex-direction:column}.game-option-group{gap:var(--spacing-sm)}.game-option-label{color:var(--text-primary,#fff);font-size:16px;font-weight:600}.game-option-radio-group{display:flex;gap:var(--spacing-md)}.game-option-radio{align-items:center;background:#0000004d;border:2px solid #fff3;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.game-option-radio:hover:not(.disabled){background:#ffd7001a;border-color:#ffd70080}.game-option-radio.active{background:#ffd70033;border-color:var(--primary,gold)}.game-option-radio.disabled{cursor:not-allowed;opacity:.5}.game-option-radio input[type=radio]{cursor:pointer}.game-option-radio.disabled input[type=radio]{cursor:not-allowed}.game-option-input{background:#00000080;border:2px solid #fff3;border-radius:var(--radius-md);color:var(--text-primary,#fff);font-size:16px;max-width:200px;padding:var(--spacing-sm) var(--spacing-md)}.game-option-input:focus{border-color:var(--primary,gold);outline:none}.game-option-input:disabled{cursor:not-allowed;opacity:.5}.game-option-hint{color:var(--text-secondary,#aaa);font-size:14px;font-style:italic;margin:0}.players-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.player-item{align-items:center;background:#0000004d;border:2px solid #ffffff1a;border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all .2s}.player-item:hover{background:#ffd7000d;border-color:#ffd7004d}.player-item.local-player{background:#ffd7001a;border-color:var(--primary,gold)}.player-team-indicator{border-radius:50%;flex-shrink:0;height:24px;width:24px}.player-info{flex:1 1}.player-name{color:var(--text-primary,#fff);font-size:16px;font-weight:600;margin-bottom:var(--spacing-xs)}.player-host,.player-you{color:var(--primary,gold);font-weight:400}.player-host,.player-team{font-size:14px}.player-team{font-weight:500}.no-players{color:var(--text-secondary,#aaa);font-style:italic;padding:var(--spacing-lg);text-align:center}.host-controls{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg)}.start-game-button{background:#ffd70033;border:2px solid var(--primary,gold);border-radius:var(--radius-md);color:var(--primary,gold);cursor:pointer;font-size:18px;font-weight:600;min-width:200px;padding:var(--spacing-md) var(--spacing-xl);transition:all .2s}.start-game-button:hover:not(:disabled){background:#ffd7004d;transform:scale(1.05)}.start-game-button:disabled{cursor:not-allowed;opacity:.5}.host-actions{width:100%}.invite-section{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-sm)}.invite-label{color:var(--text-secondary,#aaa);font-size:16px}.share-buttons-group{display:flex;gap:var(--spacing-md)}.copy-link-button,.share-whatsapp-button{background:#ffd7001a;border:2px solid #ffd7004d;border-radius:var(--radius-md);color:var(--primary,gold);cursor:pointer;font-size:14px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.copy-link-button:hover,.share-whatsapp-button:hover{background:#ffd70033;border-color:var(--primary,gold)}.copy-message{color:var(--primary,gold);font-size:14px;margin-top:var(--spacing-sm);padding:var(--spacing-sm);text-align:center}@media (max-width:768px){.lobby-content{padding:var(--spacing-lg)}.lobby-title{font-size:24px}.game-option-radio-group{flex-direction:column}}.multiplayer-page-container{background:var(--bg-primary,#0a0e1a);color:var(--text-primary,#fff);display:flex;flex-direction:column;min-height:100dvh;position:relative;width:100%}.multiplayer-page-container:before{background:radial-gradient(circle at 15% 25%,#ff7d004d 0,#ff7d001a 30%,#0000 60%),radial-gradient(circle at 85% 35%,#00e1ff4d 0,#00e1ff1a 30%,#0000 60%),radial-gradient(circle at 50% 75%,#ff00ff40 0,#ff00ff14 30%,#0000 60%),radial-gradient(circle at 30% 60%,#ffff0040 0,#ffff0014 30%,#0000 60%),radial-gradient(circle at 70% 50%,#0f03 0,#00ff000f 30%,#0000 60%),radial-gradient(circle at 20% 70%,#2828ff33 0,#2828ff0f 30%,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.multiplayer-page-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100dvh;position:relative;text-align:center;z-index:1}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffd70033;border-radius:50%;border-top:4px solid var(--primary,gold);height:48px;margin:0 auto var(--spacing-md);width:48px}@keyframes spin{to{transform:rotate(1turn)}}.multiplayer-page-loading p{color:var(--text-primary,#fff);font-size:16px}.results-page-wrapper{align-items:center;display:flex;justify-content:center;min-height:100dvh;padding:var(--spacing-lg);position:relative;z-index:1}.lobby-overlay,.results-overlay{background:var(--bg-primary,#0a0e1a);bottom:0;left:0;overflow-y:auto;position:absolute;right:0;top:0;z-index:100}.single-player-settings-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);color:var(--text-primary,#fff);display:flex;justify-content:center;min-height:100dvh;padding:var(--spacing-lg)}.single-player-settings-content{animation:slideUp .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e27424d;border:1px solid var(--border-color,#ffffff1a);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-lg,0 8px 32px #0000004d);max-width:600px;padding:var(--spacing-2xl,48px);width:100%}.single-player-settings-title{color:var(--primary,gold);font-size:28px;margin-bottom:var(--spacing-xl,32px);text-align:center}.section-title{color:var(--text-primary,#fff);font-size:20px;margin-bottom:var(--spacing-md,16px)}.game-type-selection{margin-bottom:var(--spacing-xl,32px)}.game-type-options{display:flex;flex-direction:column;gap:var(--spacing-md,16px)}.game-type-option{align-items:flex-start;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;padding:var(--spacing-md,16px);transition:all .2s ease}.game-type-option:hover{background:#ffffff1a;border-color:var(--primary,gold)}.game-type-option input[type=radio]{cursor:pointer;height:20px;margin-right:var(--spacing-md,16px);margin-top:4px;width:20px}.game-type-option input[type=radio]:checked{accent-color:var(--primary,gold)}.game-type-info{flex:1 1}.game-type-info h3{color:var(--text-primary,#fff);font-size:18px;margin:0 0 var(--spacing-xs,8px) 0}.game-type-info p{color:#ffffffb3;font-size:14px;margin:0}.single-player-settings-actions{display:flex;gap:var(--spacing-md,16px);justify-content:flex-end;margin-top:var(--spacing-xl,32px)}.button-primary,.button-secondary{border:none;border-radius:var(--radius-md,8px);cursor:pointer;font-size:16px;font-weight:600;padding:var(--spacing-md,16px) var(--spacing-lg,24px);transition:all .2s ease}.button-primary{background:var(--primary,gold);color:#000}.button-primary:hover{background:#ffed4e;box-shadow:0 4px 12px #ffd70066;transform:translateY(-2px)}.button-secondary{background:#ffffff1a;border:1px solid #fff3;color:var(--text-primary,#fff)}.button-secondary:hover{background:#fff3}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.single-player-settings-content{padding:var(--spacing-lg,24px)}.single-player-settings-title{font-size:24px}.single-player-settings-actions{flex-direction:column}.button-primary,.button-secondary{width:100%}}.App{display:flex;flex-direction:column;min-height:100dvh}
/*# sourceMappingURL=main.efb8ecf0.css.map*/