@charset "UTF-8";.auth-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{background:var(--color-bg-card, #0a0a14);border:1px solid var(--color-primary, #00f3ff);padding:clamp(1.25rem,5vw,2rem);max-width:400px;width:100%;max-height:calc(var(--viewport-height) - 2rem);overflow-y:auto;position:relative;box-shadow:0 0 30px #00f3ff33}.auth-modal .close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.auth-modal .close-btn:hover{color:#fff}.auth-modal h2{margin:0 0 1.5rem;color:var(--color-primary, #00f3ff);font-family:var(--font-mono, monospace)}.auth-modal .auth-content form{margin-top:1rem}.auth-modal .auth-content .form-group{margin-bottom:1rem}.auth-modal .auth-content .form-group label{display:block;margin-bottom:.5rem;color:#888;font-size:.85rem;font-family:var(--font-mono, monospace)}.auth-modal .auth-content .form-group input{width:100%;padding:.75rem;background:#0000004d;border:1px solid #444;color:#fff;font-size:1rem;box-sizing:border-box}.auth-modal .auth-content .form-group input:focus{outline:none;border-color:var(--color-primary, #00f3ff)}.auth-modal .auth-content .form-group .hint{display:block;margin-top:.25rem;color:#666;font-size:.75rem}.auth-modal .auth-content .switch-mode{margin-top:1.5rem;text-align:center;color:#888;font-size:.9rem}.auth-modal .auth-content .switch-mode button{background:none;border:none;color:var(--color-primary, #00f3ff);cursor:pointer;text-decoration:underline}.auth-modal .auth-content .switch-mode button:hover{color:#fff}.auth-modal .error-message{background:#ff64641a;border:1px solid #f66;padding:.75rem;margin-bottom:1rem;color:#f99}.auth-modal .actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.auth-modal .primary-btn{flex:1 1 8rem;min-height:var(--tap-target);padding:.75rem 1.5rem;background:transparent;border:2px solid var(--color-primary, #00f3ff);color:var(--color-primary, #00f3ff);font-family:var(--font-mono, monospace);cursor:pointer;transition:all .2s}.auth-modal .primary-btn:hover:not(:disabled){background:#00f3ff1a;box-shadow:0 0 15px #00f3ff4d}.auth-modal .primary-btn:disabled{opacity:.5;cursor:not-allowed}.main-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;height:var(--nav-height);padding:0 clamp(.75rem,3vw,2rem);padding-left:max(clamp(.75rem,3vw,2rem),var(--safe-left));padding-right:max(clamp(.75rem,3vw,2rem),var(--safe-right));background:var(--bg-panel);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.main-nav .nav-brand{flex-shrink:0}.main-nav .nav-brand h1{font-size:clamp(1.1rem,4vw,1.6rem);margin:0;background:linear-gradient(135deg,var(--primary-cyan),var(--primary-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;letter-spacing:-1px;white-space:nowrap}.main-nav .nav-panel{display:contents}.main-nav .nav-links{display:flex;gap:.5rem}.main-nav .nav-links a{color:var(--text-secondary);text-decoration:none;padding:.6rem 1.2rem;border-radius:4px;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:all .2s;border:1px solid transparent;white-space:nowrap}.main-nav .nav-links a:hover{color:var(--text-primary);background:#ffffff0d}.main-nav .nav-links a.active{color:var(--primary-cyan);border-color:var(--primary-cyan);background:#00f3ff1a;box-shadow:0 0 10px #00f3ff33}.main-nav .nav-user{display:flex;align-items:center;gap:.75rem}.main-nav .nav-user .user-loading{color:var(--text-secondary);font-size:.85rem}.main-nav .nav-user .user-info{display:flex;align-items:center;gap:.75rem}.main-nav .nav-user .user-info .user-name{color:var(--primary-purple);font-size:.85rem;font-weight:500}.main-nav .nav-user .login-btn,.main-nav .nav-user .logout-btn{padding:.5rem 1rem;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s;font-family:inherit}.main-nav .nav-user .login-btn{background:transparent;border:1px solid var(--primary-cyan);color:var(--primary-cyan)}.main-nav .nav-user .login-btn:hover{background:#00f3ff1a;box-shadow:0 0 10px #00f3ff33}.main-nav .nav-user .logout-btn{background:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary)}.main-nav .nav-user .logout-btn:hover{border-color:var(--primary-purple);color:var(--primary-purple)}.main-nav .nav-toggle{display:none}@media(max-width:56.1875rem){.main-nav .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:var(--tap-target);height:var(--tap-target);padding:0;flex-shrink:0;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.main-nav .nav-toggle .nav-toggle-bar{display:block;width:18px;height:2px;margin:0 auto;background:var(--primary-cyan);transition:transform .2s,opacity .2s}.main-nav.menu-open .nav-toggle{border-color:var(--primary-cyan)}.main-nav.menu-open .nav-toggle .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.main-nav.menu-open .nav-toggle .nav-toggle-bar:nth-child(2){opacity:0}.main-nav.menu-open .nav-toggle .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-nav .nav-panel{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:.75rem;padding:1rem;padding-bottom:max(1rem,var(--safe-bottom));background:var(--bg-panel);border-bottom:1px solid var(--border-color);box-shadow:0 12px 24px #00000080;max-height:calc(var(--viewport-height) - var(--nav-height));overflow-y:auto}.main-nav.menu-open .nav-panel{display:flex}.main-nav .nav-links{flex-direction:column;gap:.25rem}.main-nav .nav-links a{display:flex;align-items:center;min-height:var(--tap-target);font-size:.95rem}.main-nav .nav-user{padding-top:.75rem;border-top:1px solid var(--border-color)}.main-nav .nav-user .user-info{width:100%;justify-content:space-between}.main-nav .nav-user .login-btn,.main-nav .nav-user .logout-btn{min-height:var(--tap-target)}.main-nav .nav-user .login-btn{width:100%}}.nav-scrim{position:fixed;inset:var(--nav-height) 0 0 0;z-index:99;padding:0;border:none;background:#0006;cursor:default}@media(min-width:56.25rem){.nav-scrim{display:none}}.game-lobby{flex:1;display:flex;align-items:center;justify-content:center;min-height:var(--app-height);background:radial-gradient(circle at 20% 20%,rgba(0,243,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(188,19,254,.05) 0%,transparent 50%),linear-gradient(180deg,#0a0a0f,#141419);padding:clamp(1rem,4vw,2rem);padding-bottom:max(clamp(1rem,4vw,2rem),var(--safe-bottom))}.game-lobby:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,243,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,243,255,.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}.lobby-container{background:var(--bg-panel);border:1px solid var(--border-color);padding:clamp(1.25rem,5vw,3rem);max-width:450px;width:100%;position:relative}.lobby-container:before,.lobby-container:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--primary-cyan)}.lobby-container:before{top:-2px;left:-2px;border-right:none;border-bottom:none}.lobby-container:after{bottom:-2px;right:-2px;border-left:none;border-top:none}.lobby-header{text-align:center;margin-bottom:2rem}.lobby-title{font-size:clamp(2rem,10vw,3rem);font-weight:800;margin:0;background:linear-gradient(135deg,var(--primary-cyan) 0%,var(--primary-purple) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 40px rgba(0,243,255,.3);letter-spacing:-2px}.lobby-subtitle{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);letter-spacing:clamp(1px,1vw,4px);margin:.5rem 0 0}.connection-status{display:flex;align-items:center;gap:.5rem}.status-indicator{width:8px;height:8px;border-radius:50%}.status-indicator.disconnected{background:#ef4444;box-shadow:0 0 10px #ef4444}.status-indicator.connecting{background:#f59e0b;box-shadow:0 0 10px #f59e0b;animation:pulse 1s infinite}.status-indicator.connected{background:var(--primary-green);box-shadow:0 0 10px var(--primary-green)}.status-text{font-family:var(--font-mono);font-size:.7rem;letter-spacing:1px;color:var(--text-secondary)}.error-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.5);margin-bottom:1.5rem;font-size:.85rem;color:#ef4444}.error-banner .error-icon{font-size:1.2rem}.lobby-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:2px;color:var(--text-secondary)}.form-input{background:#0006;border:1px solid var(--border-color);padding:.8rem 1rem;font-size:1rem;color:var(--text-primary);font-family:inherit;transition:all .2s}.form-input:focus{outline:none;border-color:var(--primary-cyan);box-shadow:0 0 15px #00f3ff33}.form-input::placeholder{color:var(--text-secondary)}.form-input:disabled{opacity:.5;cursor:not-allowed}.player-identity{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--text-primary);margin-top:-.5rem}.inline-link{background:none;border:none;padding:0;font:inherit;color:var(--primary-cyan);text-decoration:underline;cursor:pointer}.inline-link:hover{text-shadow:0 0 10px rgba(0,243,255,.5)}.player-identity.guest{color:var(--text-secondary)}.player-identity-name{color:var(--primary-cyan)}.form-select{background:#0006;border:1px solid var(--border-color);padding:.8rem 1rem;font-size:1rem;color:var(--text-primary);font-family:inherit;cursor:pointer;transition:all .2s;width:100%}.form-select:focus{outline:none;border-color:var(--primary-cyan);box-shadow:0 0 15px #00f3ff33}.form-select:disabled{opacity:.5;cursor:not-allowed}.form-select option{background:#1a1a24;color:var(--text-primary)}.loading-hint{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-top:.25rem}.player-count-selector{display:flex;gap:.5rem}.count-btn{flex:1;padding:.8rem;background:#0006;border:1px solid var(--border-color);color:var(--text-secondary);font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .2s}.count-btn:hover:not(:disabled){background:#ffffff0d;color:var(--text-primary)}.count-btn.active{background:#00f3ff1a;border-color:var(--primary-cyan);color:var(--primary-cyan);box-shadow:0 0 15px #00f3ff33}.count-btn:disabled{opacity:.5;cursor:not-allowed}.queue-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;font-family:var(--font-mono);font-size:.9rem;font-weight:600;letter-spacing:2px;cursor:pointer;transition:all .3s;border:none}.queue-btn.primary{background:linear-gradient(135deg,var(--primary-cyan) 0%,var(--primary-purple) 100%);color:#000;padding:1.25rem 2rem;font-size:1.05rem;letter-spacing:3px;box-shadow:0 0 25px #00f3ff40}.queue-btn.primary:hover:not(:disabled){box-shadow:0 0 30px #00f3ff80;transform:translateY(-2px)}.queue-btn.muted{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.6rem 1rem;font-size:.75rem;letter-spacing:1.5px;opacity:.75;margin-top:-.75rem}.queue-btn.muted:hover:not(:disabled){opacity:1;background:#ffffff0d;color:var(--text-primary)}.queue-btn.muted .btn-icon{font-size:.9rem}.queue-btn.secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.queue-btn.secondary:hover{background:#ffffff0d;color:var(--text-primary)}.queue-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.queue-btn .btn-icon{font-size:1.2rem}.queue-status{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.queue-animation{position:relative;width:60px;height:60px}.pulse-ring{position:absolute;inset:0;border:2px solid var(--primary-cyan);border-radius:50%;animation:pulse-expand 2s infinite}.pulse-ring.delay-1{animation-delay:.4s}.pulse-ring.delay-2{animation-delay:.8s}@keyframes pulse-expand{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.queue-text{font-family:var(--font-mono);font-size:.8rem;letter-spacing:2px;color:var(--primary-cyan);animation:fade-pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.lobby-footer{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.footer-version{font-family:var(--font-mono);font-size:.7rem;letter-spacing:1px;color:var(--text-secondary)}@media(orientation:landscape)and (max-height:33.75rem){.game-lobby{align-items:flex-start;padding:1rem;overflow-y:auto}.lobby-header{margin-bottom:1rem}.lobby-title{font-size:1.75rem}.lobby-form{gap:.75rem}}@media(hover:none)and (pointer:coarse){.count-btn,.queue-btn,.form-input,.form-select{min-height:var(--tap-target)}}.game-hud{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;background:var(--bg-panel);border:1px solid var(--border-color);min-width:280px;max-height:100%;overflow-y:auto}.game-hud::-webkit-scrollbar{width:4px}.game-hud::-webkit-scrollbar-track{background:transparent}.game-hud::-webkit-scrollbar-thumb{background:var(--border-color)}.turn-indicator{text-align:center;padding:1rem;border:1px solid var(--border-color);transition:all .3s}.turn-indicator.my-turn{background:#00f3ff1a;border-color:var(--primary-cyan);box-shadow:0 0 20px #00f3ff33}.turn-indicator.my-turn .turn-badge{color:var(--primary-cyan);animation:pulse-glow 1.5s infinite}.turn-indicator.waiting{background:#0000004d}.turn-indicator.waiting .turn-badge{color:var(--text-secondary)}.turn-badge{font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:3px;margin-bottom:.25rem}.turn-player{font-size:1.1rem;font-weight:600;color:var(--text-primary)}@keyframes pulse-glow{0%,to{opacity:.8;text-shadow:0 0 10px var(--primary-cyan)}50%{opacity:1;text-shadow:0 0 20px var(--primary-cyan)}}.actions-panel{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#0000004d;border:1px solid var(--border-color)}.actions-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:3px;color:var(--text-secondary)}.actions-bar{display:flex;gap:.5rem}.action-pip{flex:1;height:12px;transition:all .3s}.action-pip.active{background:linear-gradient(135deg,var(--primary-cyan) 0%,var(--primary-purple) 100%);box-shadow:0 0 10px #00f3ff80}.action-pip.spent{background:#ffffff1a}.blocks-panel{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#0000004d;border:1px solid var(--border-color)}.blocks-panel.placing{border-color:var(--primary-purple);box-shadow:0 0 20px #bc13fe33}.blocks-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:3px;color:var(--text-secondary)}.blocks-row{display:flex;flex-wrap:wrap;gap:.4rem;min-height:18px;align-items:center}.block-chip{width:18px;height:18px;background:#3b3b4f;border:1px solid #5b5b7f;box-shadow:0 0 8px #bc13fe4d}.blocks-empty{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary)}.place-block-btn{font-family:var(--font-mono);font-size:.7rem;letter-spacing:2px;padding:.5rem;color:var(--primary-cyan);background:transparent;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.place-block-btn:hover:not(:disabled){border-color:var(--primary-cyan);background:#00f3ff14}.place-block-btn:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.5}.blocks-hint{margin:0;font-size:.7rem;color:var(--text-secondary)}.actions-count{font-family:var(--font-mono);font-size:.8rem;color:var(--primary-cyan);text-align:center}.turn-number{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#0000004d;border:1px solid var(--border-color)}.turn-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:2px;color:var(--text-secondary)}.turn-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--primary-purple)}.scoreboard{display:flex;flex-direction:column;gap:.5rem}.scoreboard-header{font-family:var(--font-mono);font-size:.65rem;letter-spacing:3px;color:var(--text-secondary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.player-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#0003;border:1px solid transparent;transition:all .2s}.player-row.me{background:#00f3ff0d}.player-row.current{border-color:var(--primary-cyan);box-shadow:0 0 10px #00f3ff1a}.player-row.eliminated{opacity:.4}.player-row.eliminated .player-name{text-decoration:line-through}.player-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.player-name{flex:1;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-badge{font-size:.65rem;color:var(--primary-cyan);margin-left:.25rem}.left-badge{font-size:.6rem;letter-spacing:1px;color:#ef4444;margin-left:.35rem}.player-score{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;color:var(--primary-cyan);min-width:1.5rem;text-align:center}.score-pips{display:flex;gap:3px}.score-pip{width:8px;height:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.score-pip.filled{background:var(--primary-green);border-color:var(--primary-green);box-shadow:0 0 6px var(--primary-green)}.game-info{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.info-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.info-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:2px;color:var(--text-secondary)}.info-value{font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--primary-purple)}@media(max-width:56.1875rem){.game-hud{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.75rem;padding:.75rem;min-width:0;width:100%}.game-hud>*{flex:1 1 12rem;min-width:0}.scoreboard{flex:2 1 18rem}.game-info{flex:1 1 100%;padding-top:.75rem}}@media(max-width:39.9375rem){.game-hud{gap:.5rem;padding:.5rem}.turn-indicator,.scoreboard{flex:1 1 100%}.actions-panel{flex:2 1 8rem}.turn-number{flex:1 1 6rem}.blocks-panel{flex:1 1 100%;padding:.5rem .75rem}.turn-indicator{padding:.5rem}.turn-player{font-size:.95rem}.actions-panel,.turn-number{padding:.5rem .75rem}.turn-value{font-size:1.15rem}.scoreboard-header{padding-bottom:.25rem}.player-row{padding:.4rem .5rem;gap:.5rem}.player-score{font-size:1rem}.score-pip{width:6px;height:6px}.game-info{gap:.5rem;padding-top:.5rem}}@media(orientation:landscape)and (max-height:33.75rem){.game-hud{flex-direction:column;flex-wrap:nowrap;min-width:9.5rem;gap:.5rem;padding:.5rem}.game-hud>*{flex:0 0 auto}.turn-badge{letter-spacing:1px}.turn-player{font-size:.85rem}.score-pips{display:none}}.leave-game{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.leave-question{margin:0;font-size:.8rem;color:var(--text-secondary)}.leave-choices{display:flex;gap:.5rem}.leave-choices .leave-btn{flex:1}.leave-btn{min-height:var(--tap-target);padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);font-size:.7rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.leave-btn.confirm{border-color:#ef444499;color:#ef4444}.leave-btn.cancel{border-color:var(--primary-cyan);color:var(--primary-cyan)}@media(hover:hover)and (pointer:fine){.leave-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.leave-btn.confirm:hover{background:#ef44441f;color:#ef4444;border-color:#ef4444}.leave-btn.cancel:hover{background:#00f3ff1a;color:var(--primary-cyan);border-color:var(--primary-cyan)}}@media(max-width:56.1875rem){.leave-game{flex:1 1 100%;padding-top:.75rem}}.game-board{flex:1;display:flex;gap:clamp(.75rem,2vw,2rem);padding:clamp(.75rem,2vw,2rem);padding-left:max(clamp(.75rem,2vw,2rem),var(--safe-left));padding-right:max(clamp(.75rem,2vw,2rem),var(--safe-right));padding-bottom:max(clamp(.75rem,2vw,2rem),var(--safe-bottom));height:var(--app-height);min-height:0;overflow:hidden;background:radial-gradient(circle at 30% 30%,rgba(0,243,255,.03) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(188,19,254,.03) 0%,transparent 50%),linear-gradient(180deg,#0a0a0f,#0f0f16)}.game-board:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(0,243,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,243,255,.02) 1px,transparent 1px);background-size:30px 30px;pointer-events:none;z-index:0}.game-board.loading{align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--text-secondary)}.game-board.loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-cyan);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.board-area{flex:1 1 auto;min-width:0;min-height:0;position:relative;z-index:1}.board-canvas-container{position:absolute;inset:0;display:flex;overflow:auto}.board-canvas-container canvas{margin:auto;display:block;border:2px solid var(--border-color);box-shadow:0 0 40px #00f3ff1a,inset 0 0 60px #00000080;cursor:pointer;touch-action:manipulation}.hud-area{flex:0 0 auto;min-height:0;z-index:1}.error-toast{position:absolute;top:.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;max-width:calc(100% - 1rem);padding:.75rem 1.25rem;background:#ef444433;border:1px solid #ef4444;color:#ef4444;font-size:.85rem;z-index:10;animation:slide-down .3s ease-out}.error-toast .error-icon{font-size:1.2rem}@keyframes slide-down{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.waiting-overlay{position:absolute;bottom:clamp(.5rem,2vw,2rem);left:50%;transform:translate(-50%);max-width:calc(100% - 1rem);text-align:center;padding:.6rem 1.2rem;background:#000c;border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem;letter-spacing:1px;animation:fade-pulse 2s infinite}@keyframes fade-pulse{0%,to{opacity:.5}50%{opacity:1}}@media(max-width:56.1875rem){.game-board{flex-direction:column}.hud-area{width:100%;max-height:45%}}@media(orientation:landscape)and (max-height:33.75rem){.game-board{flex-direction:row;padding:.5rem;gap:.5rem}.hud-area{width:auto;max-width:40vw;max-height:none;overflow-y:auto}}.game-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:overlay-appear .5s ease-out}@keyframes overlay-appear{0%{opacity:0}to{opacity:1}}.overlay-backdrop{position:absolute;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.overlay-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,4vw,2rem);padding:clamp(1.25rem,6vw,3rem);max-width:500px;width:100%;max-height:calc(var(--viewport-height) - 2rem);overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border-color);animation:content-appear .5s ease-out .2s both}.overlay-content:before,.overlay-content:after{content:"";position:absolute;width:30px;height:30px;border:2px solid}.overlay-content:before{top:-2px;left:-2px;border-color:var(--primary-cyan);border-right:none;border-bottom:none}.overlay-content:after{bottom:-2px;right:-2px;border-color:var(--primary-purple);border-left:none;border-top:none}@keyframes content-appear{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.result-banner{text-align:center}.result-banner.victory .result-icon{animation:bounce 1s infinite}.result-banner.victory .result-title{background:linear-gradient(135deg,gold,#fa0,gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(255,215,0,.5)}.result-banner.defeat .result-title{background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.result-icon{font-size:clamp(2.5rem,12vw,4rem);margin-bottom:1rem}.result-title{font-size:clamp(1.5rem,8vw,2.5rem);font-weight:800;margin:0;letter-spacing:-1px}.result-subtitle{font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary);margin:.5rem 0 0;letter-spacing:1px}.final-scores{width:100%}.scores-header{font-family:var(--font-mono);font-size:.7rem;letter-spacing:3px;color:var(--text-secondary);margin:0 0 1rem;text-align:center}.scores-list{display:flex;flex-direction:column;gap:.5rem}.score-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#0000004d;border:1px solid transparent;transition:all .2s}.score-row.me{background:#00f3ff0d}.score-row.winner{border-color:gold;box-shadow:0 0 15px #ffd70033}.rank{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--text-secondary);min-width:2rem}.player-color{width:14px;height:14px;border-radius:50%}.player-color.color-0{background:#ef4444;box-shadow:0 0 8px #ef444480}.player-color.color-1{background:#3b82f6;box-shadow:0 0 8px #3b82f680}.player-color.color-2{background:#22c55e;box-shadow:0 0 8px #22c55e80}.player-color.color-3{background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.player-name{flex:1;font-size:.95rem;color:var(--text-primary)}.me-tag{font-size:.7rem;color:var(--primary-cyan);margin-left:.25rem}.player-score{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--primary-cyan)}.winner-badge{font-size:1.2rem;margin-left:.5rem}.overlay-actions{display:flex;flex-wrap:wrap;gap:1rem;width:100%}.overlay-actions .action-btn{flex:1 1 10rem;min-height:var(--tap-target);padding:1rem 1.5rem;font-family:var(--font-mono);font-size:.9rem;font-weight:600;letter-spacing:2px;cursor:pointer;border:none;transition:all .3s}.overlay-actions .action-btn.primary{background:linear-gradient(135deg,var(--primary-cyan) 0%,var(--primary-purple) 100%);color:#000}.overlay-actions .action-btn.primary:hover{box-shadow:0 0 30px #00f3ff80;transform:translateY(-2px)}.overlay-actions .action-btn.secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.overlay-actions .action-btn.secondary:hover{background:#ffffff0d;color:var(--text-primary)}.connection-banner{position:fixed;top:calc(var(--nav-height) + .5rem);left:50%;transform:translate(-50%);max-width:calc(100vw - 1.5rem);z-index:200;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.6rem 1.2rem;border:1px solid rgba(255,200,60,.6);border-radius:4px;background:#141418f2;color:#ffc83c;font-size:.8rem;letter-spacing:.08em}.connection-banner.failed{border-color:#ff5050b3;color:#ff6b6b}.connection-banner .banner-spinner{width:.8rem;height:.8rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:connection-banner-spin .8s linear infinite}.connection-banner .banner-btn{min-height:2rem;padding:.3rem .7rem;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer}.connection-banner .banner-btn:hover{background:#ffffff14}.connection-banner .banner-btn.ghost{border-color:#ffffff4d;color:#ffffffb3}@keyframes connection-banner-spin{to{transform:rotate(360deg)}}.game-page{flex:1;display:flex;min-height:var(--app-height);overflow:hidden}.toolbar{padding:1rem;background:var(--bg-panel);border-right:1px solid var(--border-color);color:var(--text-primary);width:220px;height:100%;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar h3{margin-top:0;margin-bottom:1rem;font-size:.9rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase}.toolbar .canon-selector{margin-bottom:1.5rem}.toolbar .canon-selector label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.4rem;text-transform:uppercase}.toolbar .canon-selector .custom-select{width:100%;background:#0000004d;border:1px solid var(--border-color);color:#fff;border-radius:4px;font-size:.9rem;cursor:pointer;position:relative}.toolbar .canon-selector .custom-select.open{border-color:var(--primary-cyan);background:#00000080;border-bottom-left-radius:0;border-bottom-right-radius:0}.toolbar .canon-selector .custom-select .selected-value{padding:.6rem;display:flex;justify-content:space-between;align-items:center}.toolbar .canon-selector .custom-select .selected-value:after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(255,255,255,.5)}.toolbar .canon-selector .custom-select .options-list{position:absolute;top:100%;left:-1px;width:calc(100% + 2px);background:#1e1e24;border:1px solid var(--primary-cyan);border-top:none;z-index:1000;border-bottom-left-radius:4px;border-bottom-right-radius:4px;overflow:hidden;box-shadow:0 4px 12px #00000080}.toolbar .canon-selector .custom-select .option{padding:.6rem;cursor:pointer;transition:all .2s;border-bottom:1px solid rgba(255,255,255,.05)}.toolbar .canon-selector .custom-select .option:last-child{border-bottom:none}.toolbar .canon-selector .custom-select .option:hover{background:#00f3ff1a;color:var(--primary-cyan);padding-left:.8rem}.toolbar .canon-selector .custom-select .option.selected{background:#00f3ff26;color:var(--primary-cyan);font-weight:500}.toolbar .tool-list{display:flex;flex-direction:column;gap:.8rem}.toolbar .tool-group{display:flex;flex-direction:column;gap:.5rem}.toolbar .tool-group.disabled{opacity:.5;pointer-events:none}.toolbar .block-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.toolbar .block-picker .block-btn{aspect-ratio:1;background:#ffffff0d;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.toolbar .block-picker .block-btn:hover{background:#ffffff1a;border-color:#fff}.toolbar .block-picker .block-btn.active{border-color:var(--primary-cyan);background:#00f3ff1a;box-shadow:0 0 8px #00f3ff33}.toolbar .block-picker .block-btn .block-preview{width:60%;height:60%}.toolbar .block-picker .block-btn .block-preview.basic{background:#2196f3;box-shadow:0 0 5px #2196f380}.toolbar .zone-palette{display:flex;flex-direction:column;gap:.6rem}.toolbar .zone-btn{display:flex;align-items:center;gap:1rem;background:#ffffff05;border:1px solid var(--border-color);color:var(--text-secondary);padding:.8rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.toolbar .zone-btn .color-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.2)}.toolbar .zone-btn:hover{background:#ffffff0f;color:#fff}.toolbar .zone-btn.active{background:#ffffff14;color:#fff;border-width:1px;box-shadow:inset 0 0 15px #0003}.toolbar .tool-btn{background:#ffffff05;border:1px solid var(--border-color);color:var(--text-secondary);padding:.8rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;font-weight:500;text-align:left;width:100%}.toolbar .tool-btn:hover:not(:disabled){background:#ffffff14;color:#fff;border-color:#ffffff4d}.toolbar .tool-btn.active{background:#00f3ff1a;color:var(--primary-cyan);border-color:var(--primary-cyan);box-shadow:0 0 15px #00f3ff33;font-weight:700}.toolbar .tool-btn.danger{margin-top:auto;border-color:#ff525280;color:#ff5252}.toolbar .tool-btn.danger:hover:not(:disabled){background:#ff52521a;border-color:#ff5252;color:#ff5252}.toolbar .tool-btn.danger.active{background:#ff525226;border-color:#ff5252;color:#ff5252;box-shadow:0 0 15px #f443}.toolbar .tool-btn:disabled{opacity:.3;cursor:not-allowed;border-color:transparent;background:transparent}@media(max-width:56.1875rem){.toolbar{width:auto;height:auto}}@media(hover:none)and (pointer:coarse){.toolbar .tool-btn,.toolbar .zone-btn,.toolbar .custom-select .selected-value,.toolbar .custom-select .option{min-height:var(--tap-target);display:flex;align-items:center}}.toolbar .canon-note{margin:0 0 .5rem;font-size:.75rem;line-height:1.4;color:var(--text-secondary)}.publish-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.publish-modal{background:var(--color-bg-card, #0a0a14);border:1px solid var(--color-primary, #00f3ff);padding:clamp(1.25rem,5vw,2rem);max-width:500px;width:100%;max-height:calc(var(--viewport-height) - 2rem);overflow-y:auto;position:relative;box-shadow:0 0 30px #00f3ff33}.publish-modal .close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.publish-modal .close-btn:hover{color:#fff}.publish-modal h2{margin:0 0 1.5rem;color:var(--color-primary, #00f3ff);font-family:var(--font-mono, monospace)}.publish-modal .user-info{color:#aaa;margin-bottom:1.5rem}.publish-modal .user-info strong{color:var(--color-secondary, #ff00ff)}.publish-modal .auth-notice{color:#f99;background:#ff64641a;border:1px solid rgba(255,100,100,.3);padding:.75rem;margin-bottom:1.5rem}.publish-modal .map-preview{background:#0000004d;border:1px solid #333;padding:1rem;margin-bottom:1.5rem}.publish-modal .map-preview h3{margin:0 0 .5rem;color:#fff}.publish-modal .map-preview .map-details{display:flex;gap:1rem;font-size:.85rem;color:#888;font-family:var(--font-mono, monospace)}.publish-modal .map-preview .description{margin-top:.75rem;font-size:.9rem;color:#aaa}.publish-modal .error-message{background:#ff64641a;border:1px solid #f66;padding:.75rem;margin-bottom:1rem;color:#f99}.publish-modal .actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.publish-modal .primary-btn{flex:1 1 8rem;min-height:var(--tap-target);padding:.75rem 1.5rem;background:transparent;border:2px solid var(--color-primary, #00f3ff);color:var(--color-primary, #00f3ff);font-family:var(--font-mono, monospace);cursor:pointer;transition:all .2s}.publish-modal .primary-btn:hover:not(:disabled){background:#00f3ff1a;box-shadow:0 0 15px #00f3ff4d}.publish-modal .primary-btn:disabled{opacity:.5;cursor:not-allowed}.publish-modal .secondary-btn{padding:.75rem 1.5rem;background:transparent;border:1px solid #555;color:#888;font-family:var(--font-mono, monospace);cursor:pointer}.publish-modal .secondary-btn:hover{border-color:#888;color:#bbb}.publish-modal .auth-content form{margin-top:1rem}.publish-modal .auth-content .form-group{margin-bottom:1rem}.publish-modal .auth-content .form-group label{display:block;margin-bottom:.5rem;color:#888;font-size:.85rem;font-family:var(--font-mono, monospace)}.publish-modal .auth-content .form-group input{width:100%;padding:.75rem;background:#0000004d;border:1px solid #444;color:#fff;font-size:1rem}.publish-modal .auth-content .form-group input:focus{outline:none;border-color:var(--color-primary, #00f3ff)}.publish-modal .auth-content .switch-mode{margin-top:1rem;text-align:center;color:#888;font-size:.9rem}.publish-modal .auth-content .switch-mode button{background:none;border:none;color:var(--color-primary, #00f3ff);cursor:pointer;text-decoration:underline}.publish-modal .auth-content .switch-mode button:hover{color:#fff}.publish-modal .success-content{text-align:center}.publish-modal .success-content h2{color:#4caf50}.publish-modal .success-content p{color:#aaa;margin:1rem 0}.publish-modal .success-content .slug-info{margin-top:1rem}.publish-modal .success-content .slug-info code{background:#0000004d;padding:.25rem .5rem;color:var(--color-secondary, #ff00ff);font-family:var(--font-mono, monospace)}.publish-modal .success-content .primary-btn{margin-top:1.5rem}.publish-modal .terms-consent{display:flex;gap:.6rem;align-items:flex-start;margin:1.25rem 0 .5rem;font-size:.85rem;line-height:1.45;color:#bbb;cursor:pointer}.publish-modal .terms-consent input{margin-top:.2rem;flex-shrink:0;cursor:pointer}.properties-panel{padding:1rem;background:var(--bg-panel);border-left:1px solid var(--border-color);color:var(--text-primary);width:280px;height:100%;display:flex;flex-direction:column;overflow-y:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.properties-panel h3{margin-top:0;margin-bottom:1.5rem;font-size:1.1rem;border-bottom:1px solid var(--border-color);padding-bottom:.8rem;letter-spacing:1px;color:var(--primary-purple);text-transform:uppercase;text-shadow:0 0 5px rgba(188,19,254,.2)}.properties-panel .panel-content{flex:1;overflow-y:auto;padding-right:.5rem}.properties-panel .panel-content::-webkit-scrollbar{width:6px}.properties-panel .panel-content::-webkit-scrollbar-track{background:#0000001a}.properties-panel .panel-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.properties-panel .section{margin-bottom:2rem}.properties-panel .section .section-header{font-size:.8rem;color:var(--primary-cyan);margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;cursor:default}.properties-panel .section .section-content{display:flex;flex-direction:column;gap:1rem}.properties-panel .prop-group{display:flex;flex-direction:column;gap:.4rem}.properties-panel .prop-group label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.properties-panel .prop-group input{width:100%;background:#0000004d;border:1px solid var(--border-color);color:#fff;padding:.6rem;border-radius:4px;font-size:.9rem}.properties-panel .prop-group input:focus{border-color:var(--primary-cyan);outline:none}.properties-panel .info-box{background:#2196f31a;border-left:3px solid #2196f3;padding:.8rem;font-size:.85rem;color:#e3f2fd;margin-top:.5rem}.properties-panel .validation-status{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--border-color);flex-shrink:0}.properties-panel .validation-status h4{margin:0 0 .5rem;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.properties-panel .validation-status .status-valid{color:var(--primary-green);display:flex;align-items:center;gap:.5rem;font-weight:500}.properties-panel .validation-status .status-invalid{display:flex;flex-direction:column;gap:.5rem}.properties-panel .validation-status .status-invalid .error-item{color:#ff5252;font-size:.85rem;background:#ff52521a;padding:.5rem;border-radius:4px;border:1px solid rgba(255,82,82,.2)}.properties-panel .actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:.8rem;padding-bottom:2rem;flex-shrink:0}.properties-panel .actions .publish-note{margin:0;font-size:.75rem;line-height:1.4;color:var(--text-secondary)}.properties-panel .actions .action-btn{width:100%;padding:.8rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s;text-align:center;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;background:#00f3ff1a;color:var(--primary-cyan);border:1px solid var(--primary-cyan);box-shadow:0 0 10px #00f3ff1a}.properties-panel .actions .action-btn:hover{background:var(--primary-cyan);color:#000;box-shadow:0 0 15px #00f3ff66}.properties-panel .actions .action-btn.publish{background:#ff00ff1a;color:var(--color-secondary, #ff00ff);border:1px solid var(--color-secondary, #ff00ff);box-shadow:0 0 10px #ff00ff1a}.properties-panel .actions .action-btn.publish:hover{background:var(--color-secondary, #ff00ff);color:#fff;box-shadow:0 0 15px #f0f6}.properties-panel .actions .action-btn.import-label{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:none}.properties-panel .actions .action-btn.import-label:hover{background:#ffffff0d;color:#fff;border-color:#fff}@media(max-width:56.1875rem){.properties-panel{width:auto;border-left:1px solid var(--border-color)}}.editor-layout{display:flex;height:var(--app-height);width:100%;overflow:hidden;position:relative}.editor-layout .viewport{flex:1;min-width:0;min-height:0;position:relative;background:radial-gradient(circle at center,#1a1a24,#0a0a0f)}.editor-layout .editor-canvas-shell{position:absolute;inset:0;display:flex;overflow:auto}.editor-layout .editor-canvas-shell canvas{margin:auto;display:block;cursor:crosshair;background:#0a0a0f;touch-action:none}.editor-layout .editor-panel-bar,.editor-layout .editor-scrim{display:none}@media(max-width:56.1875rem){.editor-layout{flex-direction:column;--editor-bar: calc(var(--tap-target) + 1rem + var(--safe-bottom))}.editor-layout .toolbar,.editor-layout .properties-panel{position:absolute;top:0;bottom:var(--editor-bar);width:min(85vw,20rem);height:auto;z-index:30;overflow-y:auto;transition:transform .2s ease}.editor-layout .toolbar{left:0;transform:translate(-101%)}.editor-layout .properties-panel{right:0;transform:translate(101%)}.editor-layout.panel-tools .toolbar,.editor-layout.panel-props .properties-panel{transform:none;box-shadow:0 0 30px #0009}.editor-layout .editor-panel-bar{display:flex;flex:0 0 auto;gap:.5rem;padding:.5rem;padding-bottom:max(.5rem,var(--safe-bottom));background:var(--bg-panel);border-top:1px solid var(--border-color);z-index:40}.editor-layout .editor-panel-bar button{flex:1;min-height:var(--tap-target);background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-family:inherit;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.editor-layout .editor-panel-bar button.active{border-color:var(--primary-cyan);color:var(--primary-cyan);background:#00f3ff1a}.editor-layout.panel-open .editor-scrim{display:block;position:absolute;inset:0;z-index:20;padding:0;border:none;background:#00000080;cursor:default}}.mp-page{flex:1;padding:var(--page-pad);padding-left:max(var(--page-pad),var(--safe-left));padding-right:max(var(--page-pad),var(--safe-right));padding-bottom:max(var(--page-pad),var(--safe-bottom))}.mp-inner{max-width:var(--content-max);margin:0 auto}.mp-inner-narrow{max-width:62.5rem;margin:0 auto}.mp-title{margin:0 0 .5rem;font-size:clamp(1.75rem,7vw,3rem);line-height:1.1;background:linear-gradient(135deg,var(--primary-cyan),var(--primary-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.mp-subtitle{color:var(--text-secondary);font-family:var(--font-mono);font-size:clamp(.85rem,2.5vw,1.1rem);margin:0 0 2rem}.mp-hero{text-align:center;margin-bottom:clamp(2rem,8vw,4rem)}.mp-hero .mp-title{margin-bottom:1rem}.mp-hero .mp-subtitle{margin-bottom:0}.mp-cta{display:inline-block;margin-top:2rem;padding:1rem 2rem;min-height:var(--tap-target);border:1px solid var(--primary-cyan);color:var(--primary-cyan);text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:1px;background:#00f3ff1a;transition:all .3s}.mp-error{background:#ff64641a;border:1px solid #f66;padding:1rem;margin-bottom:2rem;color:#f99}.mp-loading{color:var(--text-secondary);font-family:var(--font-mono)}.mp-section{margin-bottom:3rem}.mp-section:last-child{margin-bottom:0}.mp-section-head{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.mp-section-title{color:var(--primary-cyan);font-size:1rem;letter-spacing:2px;margin:0 0 1.5rem}.mp-section-title.is-secondary{color:var(--primary-purple);margin-bottom:0}.mp-link{color:var(--primary-cyan);font-size:.9rem}.mp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:clamp(1rem,3vw,2rem)}.mp-empty{grid-column:1/-1;color:#666;text-align:center}.mp-card{display:block;height:100%;background:var(--bg-panel);border:1px solid var(--border-color);padding:clamp(1rem,3vw,1.5rem);color:inherit;text-decoration:none;transition:border-color .3s,box-shadow .3s,transform .3s}.mp-card.is-clipped{clip-path:polygon(0 0,100% 0,100% 85%,90% 100%,0 100%)}@media(hover:hover)and (pointer:fine){.mp-card:hover{border-color:var(--primary-cyan);box-shadow:var(--glow-subtle);transform:translateY(-5px)}.mp-cta:hover{background:var(--primary-cyan);color:#000}}.mp-card-thumb{width:100%;aspect-ratio:16/9;background:#050510;border:1px solid #333;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#555;font-family:var(--font-mono);font-size:.9rem}.mp-card .mp-badge.is-state{align-self:flex-start;margin-bottom:.25rem}.mp-card-name{margin:0 0 .5rem;color:var(--primary-cyan);font-size:clamp(1rem,2.5vw,1.2rem)}.mp-card-author{margin:0;font-size:.8rem;color:var(--text-secondary);font-family:var(--font-mono)}.mp-card-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #333;font-size:.85rem;color:#888}.mp-card-stats strong{color:#fff;font-weight:500}.mp-card.is-compact .mp-card-thumb{aspect-ratio:4/3;margin-bottom:.75rem}.mp-card.is-compact .mp-card-name{font-size:1rem;margin-bottom:.5rem}.mp-card.is-compact .mp-card-author{font-size:.75rem;color:#666}.mp-shelves{display:flex;gap:.5rem;margin-bottom:1rem}.mp-shelves button{padding:.5rem 1.25rem;min-height:var(--tap-target);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer}.mp-shelves button.active{border-color:var(--primary-cyan);color:var(--primary-cyan)}.mp-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.mp-filters input,.mp-filters select{padding:.6rem 1rem;min-height:var(--tap-target);background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);font-family:inherit;outline:none}.mp-filters input{flex:1 1 12rem;min-width:0;max-width:18.75rem}.mp-filters select{flex:0 1 auto}.mp-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem}.mp-pagination button{min-height:var(--tap-target);padding:.5rem 1rem;background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);font-family:inherit;cursor:pointer}.mp-pagination button:disabled{opacity:.5;cursor:not-allowed}.mp-pagination .mp-page-info{padding:.5rem 1rem;color:#888}.mp-back{display:inline-block;margin-bottom:2rem;font-family:var(--font-mono);font-size:.9rem;color:var(--primary-cyan);text-decoration:none}.mp-details-grid{display:grid;grid-template-columns:2fr 1fr;gap:clamp(1.5rem,4vw,3rem)}@media(max-width:56.1875rem){.mp-details-grid{grid-template-columns:1fr}}.mp-detail-header{margin-bottom:2rem}.mp-detail-header h1{margin:0 0 .5rem;font-size:clamp(1.75rem,6vw,2.5rem);line-height:1.15;color:#fff}.mp-badges{display:flex;flex-wrap:wrap;gap:.5rem;font-family:var(--font-mono)}.mp-badge{border:1px solid #666;color:#888;padding:.2rem .5rem;font-size:.8rem}.mp-badge.is-version{border-color:var(--primary-cyan);color:var(--primary-cyan)}.mp-badge.is-canon{border-color:var(--primary-purple);color:var(--primary-purple)}.mp-badge.is-official{border-color:gold;color:gold}.mp-badge.is-state.is-found{border-color:var(--primary-cyan);color:var(--primary-cyan)}.mp-badge.is-state.is-official{border-color:gold;color:gold}.mp-badge.is-state.is-refused{border-color:#ffb300;color:#ffb300}.mp-badge.is-state.is-removed{border-color:#f66;color:#f66}.mp-preview{background:#00000080;border:1px solid var(--border-color);box-shadow:0 0 30px #00f3ff0d;margin-bottom:2rem;padding:1rem;display:flex;align-items:center;justify-content:center;min-height:clamp(12rem,45vw,22rem);overflow:auto}.mp-preview .mp-preview-note{text-align:center;color:var(--text-secondary);font-family:var(--font-mono)}.mp-description{border-top:1px solid var(--border-color);padding-top:2rem}.mp-description h3{color:var(--primary-cyan);margin-top:0}.mp-description p{line-height:1.6;font-size:clamp(.95rem,2.5vw,1.1rem);color:#ccc}.mp-tags{margin-top:1.5rem}.mp-tags h4{color:#888;font-size:.9rem}.mp-tags .mp-tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.mp-tags .mp-tag{background:#00f3ff1a;border:1px solid rgba(0,243,255,.3);padding:.25rem .5rem;font-size:.8rem}.mp-side-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:clamp(1.5rem,5vw,3rem)}.mp-btn{width:100%;min-height:var(--tap-target);padding:1rem;font-family:var(--font-mono);font-size:1.1rem;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s}.mp-btn:disabled{opacity:.7;cursor:wait}.mp-btn.is-play{display:block;font-size:1.2rem;padding:1.2rem;background:var(--primary-cyan);color:#000;border:none;font-weight:700;clip-path:polygon(0 0,100% 0,100% 85%,95% 100%,0 100%);box-shadow:0 0 20px #00f3ff33}.mp-btn.is-download{background:transparent;border:1px solid var(--primary-cyan);color:var(--primary-cyan)}.mp-btn.is-favorite{background:transparent;border:1px solid var(--primary-purple);color:var(--primary-purple)}.mp-btn.is-favorite.is-on{background:#00f3ff1a;border-color:var(--primary-cyan);color:var(--primary-cyan)}@media(hover:hover)and (pointer:fine){.mp-btn.is-play:hover{transform:translateY(-2px);box-shadow:0 0 30px #00f3ff66}}.mp-meta-card{background:var(--bg-panel);padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--border-color)}.mp-meta-card h4{margin-top:0;color:var(--text-secondary);font-size:.9rem}.mp-meta-card .mp-author{font-family:var(--font-mono);font-size:1.2rem;color:#fff;margin-bottom:2rem;overflow-wrap:anywhere}.mp-meta-card .mp-metrics{display:grid;gap:1rem}.mp-meta-card .mp-metric{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;border-bottom:1px solid #333;padding-bottom:.5rem;font-size:.9rem}.mp-meta-card .mp-metric strong{color:#fff;font-family:var(--font-mono);font-weight:500}.mp-meta-card .mp-footnote{margin-top:2rem;font-size:.8rem;color:#666}.map-card-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#050510;color:#444}.map-card-preview .map-card-preview-note{font-size:.8rem}.wiki-container{display:flex;flex:1;min-height:var(--app-height);background:var(--bg-dark)}.wiki-sidebar{width:280px;min-width:280px;background:var(--bg-panel);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:sticky;top:var(--nav-height);height:var(--app-height);overflow-y:auto}.wiki-sidebar .sidebar-header{padding:1.5rem 1.5rem .5rem;display:flex;align-items:center;gap:.75rem}.wiki-sidebar .sidebar-header .sidebar-icon{font-size:1.5rem;color:var(--primary-cyan);text-shadow:0 0 10px var(--primary-cyan)}.wiki-sidebar .sidebar-header h2{margin:0;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,var(--primary-cyan),var(--primary-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:2px}.wiki-sidebar .sidebar-subtitle{padding:0 1.5rem 1.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);letter-spacing:1px}.wiki-sidebar .sidebar-nav{flex:1;padding:0 1rem;display:flex;flex-direction:column;gap:.25rem}.wiki-sidebar .sidebar-nav .nav-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--text-secondary)}.wiki-sidebar .sidebar-nav .nav-item .nav-icon{font-size:1rem;width:20px;text-align:center;transition:color .2s}.wiki-sidebar .sidebar-nav .nav-item .nav-label{flex:1;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.wiki-sidebar .sidebar-nav .nav-item .nav-arrow{opacity:0;transition:all .2s;transform:translate(-5px);color:var(--primary-cyan)}.wiki-sidebar .sidebar-nav .nav-item:hover{background:#ffffff08;color:var(--text-primary);border-color:var(--border-color)}.wiki-sidebar .sidebar-nav .nav-item:hover .nav-arrow{opacity:.5;transform:translate(0)}.wiki-sidebar .sidebar-nav .nav-item.active{background:#00f3ff14;border-color:var(--primary-cyan);color:var(--primary-cyan);box-shadow:0 0 15px #00f3ff1a}.wiki-sidebar .sidebar-nav .nav-item.active .nav-icon{color:var(--primary-cyan);text-shadow:0 0 10px var(--primary-cyan)}.wiki-sidebar .sidebar-nav .nav-item.active .nav-arrow{opacity:1;transform:translate(0)}.wiki-sidebar .sidebar-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.wiki-sidebar .sidebar-footer .version-tag{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);background:#ffffff0d;padding:.3rem .6rem;border-radius:2px;display:inline-block;width:fit-content}.wiki-sidebar .sidebar-footer .status-indicator{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.65rem;color:var(--primary-green);letter-spacing:1px}.wiki-sidebar .sidebar-footer .status-indicator .status-dot{width:6px;height:6px;background:var(--primary-green);border-radius:50%;box-shadow:0 0 8px var(--primary-green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.wiki-content{flex:1;min-width:0;padding:clamp(1rem,4vw,2rem) clamp(1rem,5vw,3rem);padding-bottom:max(clamp(1rem,4vw,2rem),var(--safe-bottom));overflow-y:auto;max-width:900px}.wiki-content .content-wrapper{max-width:800px}.wiki-content{max-width:min(900px,100%)}.wiki-article{color:var(--text-primary)}.wiki-article .article-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.wiki-article .article-header .article-tag{display:inline-block;font-family:var(--font-mono);font-size:.7rem;color:var(--primary-purple);background:#bc13fe1a;border:1px solid rgba(188,19,254,.3);padding:.3rem .75rem;margin-bottom:1rem;letter-spacing:2px}.wiki-article .article-header h1{font-size:2.5rem;margin:0 0 .5rem;background:linear-gradient(135deg,var(--primary-cyan) 0%,var(--primary-purple) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.wiki-article .article-header .article-subtitle{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);letter-spacing:1px;margin:0}.wiki-article .article-section{margin-bottom:3rem}.wiki-article .article-section h2{font-size:1.3rem;color:var(--primary-cyan);margin:0 0 1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;display:flex;align-items:center;gap:.75rem}.wiki-article .article-section h2:before{content:"//";color:var(--text-secondary);font-family:var(--font-mono)}.wiki-article .article-section h3{font-size:1.1rem;color:var(--text-primary);margin:0 0 1rem}.wiki-article .article-section h4{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:1.5rem 0 .75rem}.definition-block{background:#00f3ff0d;border-left:3px solid var(--primary-cyan);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.definition-block p{margin:0;line-height:1.7;color:var(--text-primary)}.definition-block strong{color:var(--primary-cyan)}.note-block{background:#bc13fe0d;border:1px solid rgba(188,19,254,.2);padding:1rem 1.25rem;margin:1.5rem 0;position:relative}.note-block .note-label{font-family:var(--font-mono);font-size:.65rem;color:var(--primary-purple);letter-spacing:2px;margin-bottom:.5rem;display:block}.note-block p{margin:0;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.note-block strong{color:var(--text-primary)}.warning-block{background:#ef444414;border:1px solid rgba(239,68,68,.3);padding:1rem 1.25rem;margin:1.5rem 0}.warning-block .warning-label{font-family:var(--font-mono);font-size:.65rem;color:#ef4444;letter-spacing:2px;margin-bottom:.5rem;display:block}.warning-block p{margin:0;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.warning-block strong{color:#ef4444}.spec-block{background:var(--bg-panel);border:1px solid var(--border-color);padding:1.25rem 1.5rem;margin:1rem 0}.spec-block.highlight{border-color:var(--primary-cyan);background:#00f3ff08}.spec-block p{margin:0 0 1rem;line-height:1.6}.spec-block p:last-child{margin-bottom:0}.spec-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.spec-table th,.spec-table td{padding:.75rem 1rem;text-align:left;border:1px solid var(--border-color)}.spec-table th{background:var(--bg-panel);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:1px}.spec-table td{background:#ffffff03;color:var(--text-primary)}.spec-table td code{background:#00f3ff1a;color:var(--primary-cyan);padding:.15rem .4rem;font-family:var(--font-mono);font-size:.85em}.spec-table .forbidden{color:#ef4444}.spec-table .allowed{color:var(--primary-green)}.spec-list{list-style:none;padding:0;margin:0}.spec-list li{padding:.5rem 0 .5rem 1.5rem;position:relative;line-height:1.6}.spec-list li:before{content:"›";position:absolute;left:0;color:var(--primary-cyan);font-weight:700}.spec-list li ul{margin-top:.5rem;padding-left:1rem}.spec-list li ul li:before{content:"·";color:var(--text-secondary)}.spec-list li code{background:#00f3ff1a;color:var(--primary-cyan);padding:.1rem .35rem;font-family:var(--font-mono);font-size:.85em}.spec-list.constraint-list li{padding-left:2rem}.spec-list.constraint-list li:before{content:none}.spec-list.constraint-list li .constraint-icon{position:absolute;left:0;color:#ef4444;font-weight:700}.canon-card{background:var(--bg-panel);border:1px solid var(--border-color);padding:1.5rem;margin:1.5rem 0;position:relative}.canon-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--primary-cyan),var(--primary-purple))}.canon-card .canon-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.canon-card .canon-header .canon-id{font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary);letter-spacing:1px}.canon-card .canon-header .canon-status{font-family:var(--font-mono);font-size:.6rem;padding:.2rem .5rem;border-radius:2px;letter-spacing:1px}.canon-card .canon-header .canon-status.status-stable{background:#0aff0a1a;color:var(--primary-green);border:1px solid rgba(10,255,10,.3)}.canon-card h3{margin:0 0 1rem;font-size:1.2rem;color:var(--text-primary)}.canon-card .canon-meta{display:flex;gap:2rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:1.5rem}.canon-card .canon-meta strong{color:var(--primary-cyan)}.diagram-block{margin:1.5rem 0}.diagram-block h4{margin-bottom:1rem}.board-diagram{background:#050510;border:1px solid var(--border-color);padding:1rem;font-family:var(--font-mono);font-size:.7rem;line-height:1.2;color:var(--text-secondary);overflow-x:auto;white-space:pre}.code-block{margin:1.5rem 0;background:#050510;border:1px solid var(--border-color);overflow:hidden}.code-block .code-header{background:var(--bg-panel);padding:.5rem 1rem;border-bottom:1px solid var(--border-color)}.code-block .code-header .code-lang{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.code-block pre{margin:0;padding:1rem;font-family:var(--font-mono);font-size:.8rem;line-height:1.6;color:var(--text-primary);overflow-x:auto}.cell-card{display:flex;gap:1.5rem;background:var(--bg-panel);border:1px solid var(--border-color);padding:1.5rem;margin:1.5rem 0}.cell-card .cell-visual{flex-shrink:0}.cell-card .cell-visual .cell-preview-canvas{display:block;border:1px solid var(--border-color)}.cell-card .cell-info{flex:1;min-width:0}.cell-card .cell-info .cell-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.cell-card .cell-info .cell-header .cell-id{font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary);letter-spacing:1px}.cell-card .cell-info .cell-header h3{margin:0;font-size:1.1rem}.cell-card .cell-info .cell-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.cell-card .cell-info .cell-meta .meta-tag{font-family:var(--font-mono);font-size:.6rem;padding:.2rem .5rem;border-radius:2px;letter-spacing:1px}.cell-card .cell-info .cell-meta .meta-tag.spawn{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.cell-card .cell-info .cell-meta .meta-tag.goal{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.cell-card .cell-info .cell-meta .meta-tag.zone{background:#00f3ff1a;color:var(--primary-cyan);border:1px solid rgba(0,243,255,.3)}.cell-card .cell-info .cell-meta .meta-tag.normal{background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border-color)}.cell-card .cell-info .cell-meta .meta-tag.no-block{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.cell-card .cell-info .cell-meta .meta-tag.score{background:#bc13fe1a;color:var(--primary-purple);border:1px solid rgba(188,19,254,.3)}.cell-card .cell-info .cell-meta .meta-tag.locked{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.cell-card .cell-info .cell-description p{margin:0 0 1rem;line-height:1.6;color:var(--text-secondary)}.cell-card .cell-info .cell-spec-table{width:100%;font-size:.85rem}.cell-card .cell-info .cell-spec-table td{padding:.5rem 0;border:none;border-bottom:1px solid var(--border-color);background:transparent}.cell-card .cell-info .cell-spec-table td:first-child{color:var(--text-secondary);width:140px}.cell-card .cell-info .cell-spec-table tr:last-child td{border-bottom:none}.block-card{display:flex;gap:2rem;background:var(--bg-panel);border:1px solid var(--border-color);padding:2rem;margin:1.5rem 0}.block-card.featured{border-color:var(--primary-purple);box-shadow:0 0 20px #bc13fe1a}.block-card .block-visual{flex-shrink:0}.block-card .block-visual .block-preview-canvas{display:block;border:1px solid var(--border-color)}.block-card .block-info{flex:1;min-width:0}.block-card .block-info .block-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.block-card .block-info .block-header .block-id{font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary);letter-spacing:1px}.block-card .block-info .block-header .block-status{font-family:var(--font-mono);font-size:.6rem;padding:.2rem .5rem;border-radius:2px;letter-spacing:1px}.block-card .block-info .block-header .block-status.status-stable{background:#0aff0a1a;color:var(--primary-green);border:1px solid rgba(10,255,10,.3)}.block-card .block-info h3{margin:0 0 1rem;font-size:1.3rem;color:var(--primary-purple)}.block-card .block-info .block-meta{display:flex;gap:2rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:1.5rem}.block-card .block-info .block-meta code{background:#bc13fe1a;color:var(--primary-purple);padding:.1rem .35rem;font-family:var(--font-mono)}.block-card .block-info .block-section{margin-bottom:1.5rem}.block-card .block-info .block-section h4{margin:0 0 .75rem}.block-card .block-info .block-section .effect-description{background:#bc13fe0d;border-left:3px solid var(--primary-purple);padding:1rem}.block-card .block-info .block-section .effect-description p{margin:0;line-height:1.6}.turn-diagram{display:flex;align-items:stretch;gap:1rem;margin:1.5rem 0}.turn-diagram .turn-phase{flex:1;background:var(--bg-panel);border:1px solid var(--border-color)}.turn-diagram .turn-phase .phase-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.turn-diagram .turn-phase .phase-header .phase-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:.9rem;border-radius:2px}.turn-diagram .turn-phase .phase-header .phase-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.turn-diagram .turn-phase .phase-header.first-turn .phase-number{background:#f59e0b33;color:#f59e0b}.turn-diagram .turn-phase .phase-header.first-turn .phase-label{color:#f59e0b}.turn-diagram .turn-phase .phase-header.normal-turn .phase-number{background:#00f3ff33;color:var(--primary-cyan)}.turn-diagram .turn-phase .phase-header.normal-turn .phase-label{color:var(--primary-cyan)}.turn-diagram .turn-phase .phase-content{padding:1rem}.turn-diagram .turn-phase .phase-content .action-count{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.turn-diagram .turn-phase .phase-content p{margin:0;font-size:.85rem;color:var(--text-secondary)}.turn-diagram .turn-connector{display:flex;align-items:center;font-size:1.5rem;color:var(--text-secondary)}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.action-grid .action-card{background:var(--bg-panel);border:1px solid var(--border-color);padding:1.25rem}.action-grid .action-card .action-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.action-grid .action-card .action-header .action-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#00f3ff1a;border:1px solid rgba(0,243,255,.3);color:var(--primary-cyan);font-size:1rem}.action-grid .action-card .action-header h4{margin:0;font-size:.95rem;text-transform:none;letter-spacing:0}.action-grid .action-card .action-cost{font-family:var(--font-mono);font-size:.7rem;color:var(--primary-green);margin-bottom:.75rem;letter-spacing:1px}.action-grid .action-card p{margin:0 0 .75rem;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.action-grid .action-card .action-rules{list-style:none;padding:0;margin:0;font-size:.8rem}.action-grid .action-card .action-rules li{padding:.25rem 0 .25rem 1rem;position:relative;color:var(--text-secondary)}.action-grid .action-card .action-rules li:before{content:"·";position:absolute;left:0;color:var(--text-secondary)}.adjacency-diagram{margin:1rem 0}.adjacency-diagram pre{background:#050510;border:1px solid var(--border-color);padding:1rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.rule-card{background:var(--bg-panel);border:1px solid var(--border-color);padding:1.25rem;margin:1rem 0}.rule-card h4{margin:0 0 .75rem;color:var(--primary-cyan)}.rule-card p{margin:0;line-height:1.6;color:var(--text-secondary)}.scoring-block{display:flex;align-items:center;gap:2rem;background:var(--bg-panel);border:1px solid var(--border-color);padding:1.5rem 2rem;margin:1.5rem 0}.scoring-block .score-item{text-align:center}.scoring-block .score-item .score-value{display:block;font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--primary-green)}.scoring-block .score-item .score-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:.5rem}.scoring-block .score-item p{margin:0;font-size:.8rem;color:var(--text-secondary)}.scoring-block .score-item.exit .score-value{color:var(--primary-purple)}.scoring-block .score-arrow{font-size:1.5rem;color:var(--text-secondary)}.victory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.victory-grid .victory-card{background:var(--bg-panel);border:1px solid var(--border-color);padding:1.25rem;text-align:center}.victory-grid .victory-card .victory-header{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.victory-grid .victory-card .victory-condition{font-family:var(--font-mono);font-size:1.3rem;font-weight:700;margin-bottom:.75rem}.victory-grid .victory-card p{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.victory-grid .victory-card.primary{border-color:var(--primary-green)}.victory-grid .victory-card.primary .victory-header,.victory-grid .victory-card.primary .victory-condition{color:var(--primary-green)}.victory-grid .victory-card.secondary{border-color:var(--primary-cyan)}.victory-grid .victory-card.secondary .victory-header,.victory-grid .victory-card.secondary .victory-condition{color:var(--primary-cyan)}.victory-grid .victory-card.tertiary{border-color:var(--primary-purple)}.victory-grid .victory-card.tertiary .victory-header,.victory-grid .victory-card.tertiary .victory-condition{color:var(--primary-purple)}.restriction-summary{background:var(--bg-panel);border:1px solid rgba(239,68,68,.3);padding:1.5rem;margin:1.5rem 0}.restriction-summary h4{color:#ef4444;margin:0 0 1rem}.restriction-summary .restriction-grid{display:flex;gap:1.5rem;flex-wrap:wrap}.restriction-summary .restriction-grid .restriction-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.restriction-summary .restriction-grid .restriction-item span{font-size:.75rem;color:var(--text-secondary)}.restriction-summary .restriction-grid .restriction-item.forbidden{opacity:.8}.push-examples{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:1rem 0}.push-example .push-diagram pre,.adjacency-example .push-diagram pre{background:#050510;border:1px solid var(--border-color);padding:1rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);margin:0}.push-example .push-label,.adjacency-example .push-label{margin:.5rem 0 0;font-size:.8rem;color:var(--text-secondary);text-align:center}.invalid-examples{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0}.invalid-examples .invalid-example{background:var(--bg-panel);border:1px solid var(--border-color);padding:1rem}.invalid-examples .invalid-example h5{margin:0 0 .75rem;font-size:.85rem;color:#ef4444}.invalid-examples .invalid-example pre{background:#050510;border:1px solid var(--border-color);padding:.75rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);margin:0}.future-notice{background:#ffffff05;border:1px dashed var(--border-color);padding:1rem 1.25rem;margin-bottom:1.5rem}.future-notice p{margin:0;font-size:.9rem;color:var(--text-secondary)}.future-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.future-grid .future-card{background:var(--bg-panel);border:1px dashed var(--border-color);padding:1rem;text-align:center;opacity:.7}.future-grid .future-card h5{margin:0 0 .5rem;font-size:.95rem;color:var(--text-secondary)}.future-grid .future-card code{display:block;font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.future-grid .future-card p{margin:0 0 .75rem;font-size:.75rem;color:var(--text-secondary);line-height:1.4}.future-grid .future-card .future-tag{font-family:var(--font-mono);font-size:.6rem;background:#ffffff0d;color:var(--text-secondary);padding:.2rem .5rem;letter-spacing:1px}.mechanic-diagram{background:var(--bg-panel);border:1px solid var(--border-color);padding:1.5rem;margin:1.5rem 0}.mechanic-diagram h4{margin:0 0 .75rem;color:var(--primary-purple)}.mechanic-diagram>p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.6}@media(max-width:1200px){.action-grid,.victory-grid{grid-template-columns:1fr}.future-grid{grid-template-columns:repeat(2,1fr)}.push-examples,.invalid-examples{grid-template-columns:1fr}}@media(max-width:900px){.wiki-container{flex-direction:column}.wiki-sidebar{width:100%;min-width:100%;position:relative;top:0;height:auto;border-right:none;border-bottom:1px solid var(--border-color)}.wiki-sidebar .sidebar-nav{flex-direction:row;flex-wrap:wrap;padding:.5rem 1rem 1rem}.wiki-sidebar .sidebar-nav .nav-item{flex:1;min-width:140px;justify-content:center}.wiki-sidebar .sidebar-nav .nav-item .nav-arrow,.wiki-sidebar .sidebar-footer{display:none}.wiki-content{padding:1.5rem}.cell-card,.block-card{flex-direction:column}.cell-card .cell-visual,.cell-card .block-visual,.block-card .cell-visual,.block-card .block-visual{display:flex;justify-content:center}.turn-diagram{flex-direction:column}.turn-diagram .turn-connector{justify-content:center;transform:rotate(90deg)}.scoring-block{flex-direction:column;text-align:center}.scoring-block .score-arrow{transform:rotate(90deg)}}.markdown-content{color:var(--text-primary);line-height:1.6}.markdown-content h1{font-size:clamp(1.6rem,6vw,2.5rem);margin:0 0 1.5rem;background:linear-gradient(135deg,var(--primary-cyan) 0%,var(--primary-purple) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.markdown-content h2{font-size:clamp(1.25rem,4vw,1.8rem);color:var(--primary-cyan);margin:3rem 0 1.5rem;font-weight:600;letter-spacing:1px;display:flex;align-items:center;gap:.75rem}.markdown-content h2:before{content:"//";color:var(--text-secondary);font-family:var(--font-mono);font-size:.8em}.markdown-content h3{font-size:clamp(1.05rem,3vw,1.3rem);color:var(--text-primary);margin:2rem 0 1rem;font-weight:600}.markdown-content h4{font-size:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:1.5rem 0 .5rem}.markdown-content p{margin-bottom:1rem}.markdown-content ul,.markdown-content ol{margin-bottom:1.5rem;padding-left:1.5rem}.markdown-content ul li,.markdown-content ol li{margin-bottom:.5rem;position:relative}.markdown-content ul li::marker,.markdown-content ol li::marker{color:var(--primary-cyan)}.markdown-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--primary-purple);background:#bc13fe0d;color:var(--text-secondary);font-style:italic}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-content code{font-family:var(--font-mono);background:#00f3ff1a;color:var(--primary-cyan);padding:.2em .4em;border-radius:3px;font-size:.85em}.markdown-content pre{background:#050510;border:1px solid var(--border-color);padding:1rem;border-radius:4px;overflow-x:auto;margin:1.5rem 0}.markdown-content pre code{background:transparent;color:var(--text-secondary);padding:0;border-radius:0}.markdown-content .markdown-component{margin:2rem 0;display:flex;justify-content:center;background:var(--bg-panel);border:1px solid var(--border-color);padding:1.5rem}@media(max-width:39.9375rem){.wiki-sidebar .sidebar-nav .nav-item{min-height:var(--tap-target)}.markdown-content .markdown-component{padding:.75rem;overflow-x:auto}}.spec-table{min-width:24rem}.moderation-page .mp-filters{align-items:center}.moderation-page .mp-filters input[type=checkbox]{flex:none;width:1rem;height:1rem;min-height:0;padding:0;accent-color:var(--primary-cyan)}.moderation-page .mp-filters button{padding:.5rem 1.25rem;min-height:var(--tap-target);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer}.moderation-toggle{display:flex;align-items:center;gap:.5rem;white-space:nowrap;color:var(--text-secondary);font-family:var(--font-mono);font-size:.9rem}.moderation-list{display:flex;flex-direction:column;gap:1rem}.moderation-row{display:grid;grid-template-columns:8rem 1fr auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--border-color);background:#0000004d}.moderation-row.is-refused{opacity:.6}@media(max-width:56.1875rem){.moderation-row{grid-template-columns:1fr}}.moderation-thumb{width:8rem;height:8rem}@media(max-width:56.1875rem){.moderation-thumb{width:100%;height:10rem}}.moderation-facts{min-width:0}.moderation-facts h2{margin:0 0 .5rem;font-size:1.1rem}.moderation-facts h2 a{color:#fff;text-decoration:none}.moderation-meta,.moderation-desc{margin:.5rem 0 0;color:var(--text-secondary);font-size:.85rem}.moderation-actions{display:flex;flex-direction:column;gap:.5rem}.moderation-actions button,.moderation-actions a{padding:.5rem 1rem;border:1px solid #666;background:transparent;color:#ccc;font-family:var(--font-mono);font-size:.85rem;cursor:pointer;text-align:center;text-decoration:none}.moderation-actions button:disabled,.moderation-actions a:disabled{opacity:.4;cursor:not-allowed}.moderation-actions .admit:not(:disabled){border-color:var(--primary-cyan);color:var(--primary-cyan)}.moderation-actions .refuse:not(:disabled){border-color:#ffb300;color:#ffb300}.moderation-actions .remove:not(:disabled){border-color:#f66;color:#f66}@media(max-width:56.1875rem){.moderation-actions{flex-direction:row;flex-wrap:wrap}}.player-page{flex:1;padding:var(--page-pad);padding-left:max(var(--page-pad),var(--safe-left));padding-right:max(var(--page-pad),var(--safe-right));padding-bottom:max(var(--page-pad),var(--safe-bottom))}.player-page .player-inner{max-width:1000px;margin:0 auto}.player-page h1{font-size:clamp(1.5rem,6vw,2rem);margin:0 0 .5rem;letter-spacing:.05em}.player-page .player-subtitle{color:var(--text-secondary);font-family:var(--font-mono);margin:0 0 2rem}.player-page .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:1rem;margin-bottom:2.5rem}.player-page .stat-tile{border:1px solid var(--border-color);background:#0000004d;padding:1rem 1.25rem}.player-page .stat-tile .stat-value{font-size:clamp(1.5rem,5vw,2rem);color:var(--primary-cyan)}.player-page .stat-tile .stat-label{font-size:.75rem;letter-spacing:.1em;color:var(--text-secondary)}.player-page table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.9rem}.player-page th{text-align:left;font-size:.7rem;letter-spacing:.1em;color:var(--text-secondary);padding:.5rem .75rem;border-bottom:1px solid var(--border-color)}.player-page td{padding:.6rem .75rem;border-bottom:1px solid rgba(255,255,255,.06)}.player-page .result-win{color:var(--primary-cyan)}.player-page .result-loss{color:var(--text-secondary)}.player-page .empty-note,.player-page .error-note{color:var(--text-secondary);font-family:var(--font-mono)}.player-page .rank-me{background:#00f3ff14}.player-page .history-table{min-width:40rem}@media(max-width:39.9375rem){.player-page table{font-size:.8rem}.player-page th,.player-page td{padding:.45rem .5rem;white-space:nowrap}}:root{--bg-dark: #0a0a0f;--bg-panel: #141419;--border-color: #2a2a35;--primary-cyan: #00f3ff;--primary-purple: #bc13fe;--primary-green: #0aff0a;--text-primary: #e0e0e0;--text-secondary: #8888aa;--neon-glow: 0 0 10px rgba(0, 243, 255, .3);--glass-grad: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .01) 100%);--color-primary: var(--primary-cyan);--color-primary-glow: rgba(0, 243, 255, .5);--color-secondary: var(--primary-purple);--color-bg: var(--bg-dark);--color-bg-card: var(--bg-panel);--color-bg-card-hover: #1a1a24;--color-text: var(--text-primary);--color-text-dim: var(--text-secondary);--color-text-accent: var(--primary-cyan);--font-mono: "JetBrains Mono", "Fira Code", monospace;--glow-strong: 0 0 10px var(--primary-cyan), 0 0 20px rgba(0, 243, 255, .5);--glow-subtle: 0 0 5px rgba(0, 243, 255, .5);--card-border-radius: 2px;--nav-height: 3.5rem;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--page-pad: clamp(1rem, 4vw, 2rem);--content-max: 75rem;--tap-target: 2.75rem;--viewport-height: 100vh;--app-height: calc(var(--viewport-height) - var(--nav-height))}@supports (height: 100dvh){:root{--viewport-height: 100dvh}}@media(min-width:56.25rem){:root{--nav-height: 4rem}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Roboto,sans-serif;background:var(--bg-dark);color:var(--text-primary);overflow-x:clip}img,video,canvas,svg{max-width:100%}p,h1,h2,h3,h4,li,td,th{overflow-wrap:break-word}.app-container{min-height:var(--viewport-height);display:flex;flex-direction:column;width:100%}.scroll-x{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(hover:none)and (pointer:coarse){button,a.button,select,[role=button]{min-height:var(--tap-target)}input,select,textarea{font-size:max(1rem,16px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
