@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=IBM+Plex+Sans:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0e17;--bg-secondary:#15223a;--bg-card:#1a2740;--bg-card-hover:#212f4d;--text-primary:#f0e6d8;--text-secondary:#a09888;--text-muted:#6a6070;--accent-amber:#ff6b1a;--accent-gold:#f5c518;--accent-magenta:#d4389c;--accent-cyan:#00b4d8;--accent-green:#4ade80;--border-color:#2a3a55;--border-glow:#ff6b1a40;--pixel-size:4px}html{scroll-behavior:smooth;font-size:16px}body{color:var(--text-primary);background-color:#0a0e17;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px),radial-gradient(circle at 14% 18%,#4ade8021 0%,#0000 24%),radial-gradient(circle at 82% 20%,#f9731629 0%,#0000 26%),linear-gradient(#0a0e1714 0%,#0a0e1780 100%);background-position:0 0;background-repeat:repeat;background-size:26px 26px,26px 26px,auto,auto,auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;min-height:100vh;font-family:IBM Plex Sans,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6;position:relative}body:before{content:"";pointer-events:none;z-index:999;background:radial-gradient(100% 80%,#0000 50%,#080c1466 100%);position:fixed;inset:0}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}.pixel-container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.pixel-header{text-align:center;padding:80px 20px 32px;position:relative}.header-top{margin-bottom:36px;position:relative}.pixel-logo{flex-direction:column;align-items:center;gap:8px;display:inline-flex;position:relative}.logo-pixel{color:var(--accent-amber);text-shadow:3px 3px 0 var(--bg-primary), 6px 6px 0 #ff6b1a40, 0 0 30px #ff6b1a26;letter-spacing:4px;font-family:"Press Start 2P",monospace;font-size:2rem;position:relative}.logo-pixel:before{content:"";border:3px solid var(--accent-amber);opacity:.25;position:absolute;inset:-8px -16px;transform:skew(-4deg)}.logo-pixel:after{content:"";border:1px solid #ff6b1a1a;position:absolute;inset:-4px -8px;transform:skew(2deg)}.logo-sub{color:var(--accent-gold);letter-spacing:8px;text-shadow:2px 2px #f5c51833;font-family:"Press Start 2P",monospace;font-size:.65rem}.header-desc{color:var(--text-secondary);letter-spacing:2px;margin-top:20px;font-size:.95rem}.header-desc:before,.header-desc:after{content:" ◆ ";color:var(--accent-amber);opacity:.4}.header-desc{text-align:center;margin-top:20px}.lang-dropdown-wrap{position:absolute;top:0;right:0}.lang-dropdown{background:var(--bg-card);min-width:120px;color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;appearance:none;letter-spacing:.5px;text-align:left;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 8 8'%3E%3Cpath fill='%23a09888' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:10px;outline:none;padding:10px 36px 10px 14px;font-family:"Press Start 2P",monospace;font-size:.75rem;line-height:1.8;transition:border-color .2s}.lang-dropdown:hover,.lang-dropdown:focus{border-color:var(--accent-gold);color:var(--text-primary)}.lang-dropdown option{color:var(--text-primary);background:#15223a}.category-nav{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.category-btn{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.85rem;transition:all .15s steps(3,end);display:inline-flex;position:relative}.category-btn:hover{border-color:var(--accent-amber);color:var(--text-primary);background:var(--bg-card-hover);box-shadow:0 0 20px #ff6b1a1a}.category-btn.active{border-color:var(--accent-amber);color:var(--text-primary);background:#ff6b1a14;box-shadow:0 0 20px #ff6b1a1f,inset 0 0 15px #ff6b1a0a}.pixel-arrow{font-size:.6rem;animation:1s steps(2,end) infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.game-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;padding:20px 0;display:grid}.game-card{background:var(--bg-card);border:2px solid var(--border-color);cursor:pointer;flex-direction:column;min-height:200px;padding:0;transition:all .15s steps(3,end);display:flex;position:relative;overflow:hidden}.game-card:before{content:"";background:var(--card-accent,var(--accent-amber));opacity:.8;height:3px;position:absolute;top:0;left:0;right:0}.game-card:hover:not(.disabled){border-color:var(--card-accent,var(--accent-amber));box-shadow:6px 6px 0 #0000004d, 0 0 25px color-mix(in srgb, var(--card-accent,var(--accent-amber)) 15%, transparent);background:var(--bg-card-hover);transform:translate(-3px,-3px)}.game-card.disabled{cursor:not-allowed}.game-card.disabled .card-icon{opacity:.5;filter:grayscale(.5)}.game-card.disabled .card-title{opacity:.7}.game-card.disabled:after{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#0000,#0000 8px,#00000008 8px 16px);position:absolute;inset:0}.game-card.disabled:hover{border-color:var(--text-muted)}.pixel-corners{pointer-events:none;z-index:1;position:absolute;inset:0}.pixel-corner{border:2px solid var(--border-color);width:10px;height:10px;position:absolute}.pixel-corner.tl{border-bottom:none;border-right:none;top:-1px;left:-1px}.pixel-corner.tr{border-bottom:none;border-left:none;top:-1px;right:-1px}.pixel-corner.bl{border-top:none;border-right:none;bottom:-1px;left:-1px}.pixel-corner.br{border-top:none;border-left:none;bottom:-1px;right:-1px}.card-icon-wrapper{justify-content:center;align-items:center;padding:20px 20px 0;display:flex}.card-icon{image-rendering:pixelated;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--card-accent,var(--accent-amber)) 25%, transparent));font-size:2.8rem}.card-icon-seal{color:#ffe7b0;letter-spacing:-.08em;text-shadow:2px 2px #5e0c0ab8,0 0 6px #ffdb8c2e;width:78px;height:78px;image-rendering:pixelated;background:radial-gradient(circle,#c61f18 0 62%,#a81511 63% 100%);border:6px solid #f3c55a;border-radius:50%;justify-content:center;align-items:center;font-family:"Press Start 2P",Microsoft YaHei,PingFang SC,sans-serif;font-size:1.8rem;font-weight:700;line-height:1.6;display:inline-flex;box-shadow:inset 0 0 0 2px #ffefd324,0 0 0 2px #7b151061,0 0 18px #f3c55a38}.card-body{flex-direction:column;flex:1;padding:16px 20px 20px;display:flex}.card-title{color:var(--card-accent,var(--accent-amber));letter-spacing:1px;margin-bottom:10px;font-family:"Press Start 2P",monospace;font-size:.75rem;line-height:1.6}.card-desc{color:var(--text-secondary);flex:1;margin-bottom:14px;font-size:.85rem;line-height:1.6}.card-footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.card-tags{flex-wrap:wrap;gap:6px;display:flex}.pixel-tag{color:var(--text-secondary);letter-spacing:.3px;border:1px solid var(--border-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#ffffff0a;padding:3px 8px;font-family:Courier New,Consolas,Source Code Pro,monospace;font-size:.75rem}.card-status{color:var(--text-muted);white-space:nowrap;font-family:Courier New,monospace;font-size:.7rem}.card-status[data-status=active]{color:var(--accent-green)}.card-status[data-status=beta]{color:var(--accent-cyan)}.card-status[data-status=coming-soon]{color:#b08860;font-weight:600}.card-play-btn{text-align:center;color:var(--bg-primary);background:var(--card-accent,var(--accent-amber));letter-spacing:3px;padding:10px;font-family:"Press Start 2P",monospace;font-size:.6rem;transition:all .15s steps(3,end);display:block}.game-card:hover .card-play-btn{background:var(--text-primary);color:var(--bg-primary)}.game-card.disabled .card-play-btn{display:none}.empty-state{text-align:center;grid-column:1/-1;padding:80px 20px}.empty-pixel-art{color:var(--text-muted);letter-spacing:8px;margin-bottom:16px;font-family:Courier New,monospace;font-size:3rem}.empty-text{color:var(--text-secondary);margin-bottom:8px;font-size:1.1rem}.empty-hint{color:var(--text-muted);font-size:.85rem}.pixel-footer{text-align:center;margin-top:20px;padding:40px 20px}.footer-divider{justify-content:center;gap:12px;margin-bottom:20px;display:flex}.divider-pixel{color:var(--accent-amber);opacity:.35;font-size:.6rem;animation:2s ease-in-out infinite pulse-divider}.divider-pixel:nth-child(2){animation-delay:.3s}.divider-pixel:nth-child(3){animation-delay:.6s}.divider-pixel:nth-child(4){animation-delay:.9s}.divider-pixel:nth-child(5){animation-delay:1.2s}@keyframes pulse-divider{0%,to{opacity:.3}50%{opacity:.8}}.footer-text{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem}.pixel-heart{color:var(--accent-magenta);animation:1.5s ease-in-out infinite heartbeat;display:inline-block}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.footer-copy{color:var(--text-muted);letter-spacing:2px;font-family:Courier New,monospace;font-size:.7rem}@media (width<=768px){.logo-pixel{letter-spacing:2px;font-size:1.4rem}.logo-sub{letter-spacing:4px;font-size:.5rem}.game-grid{grid-template-columns:1fr;gap:16px}.header-desc{font-size:.8rem}.header-desc:before,.header-desc:after{display:none}.category-btn{padding:8px 14px;font-size:.75rem}.card-title{font-size:.65rem}}@media (width<=480px){.pixel-header{padding:32px 16px 24px}.logo-pixel{font-size:1.1rem}.category-nav{gap:6px}.category-btn{padding:6px 12px;font-size:.7rem}.category-icon{display:none}.card-icon{font-size:2.2rem}}.snake-page{flex-direction:column;align-items:center;min-height:100vh;padding:16px 20px;display:flex}.snake-top-row{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:820px;margin-bottom:8px;padding:4px 0;display:flex}.snake-back-btn{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:14px 18px;font-family:"Press Start 2P",monospace;font-size:.75rem;transition:all .15s steps(3,end)}.snake-back-btn:hover{border-color:var(--accent-amber);color:var(--text-primary);box-shadow:0 0 20px #ff6b1a1a}.snake-scores{align-items:center;gap:16px;display:flex}.snake-score{color:var(--accent-gold);background:var(--bg-card);border:1px solid var(--border-color);padding:8px 14px;font-family:"Press Start 2P",monospace;font-size:.8rem}.snake-highscore{color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border-color);padding:8px 14px;font-family:"Press Start 2P",monospace;font-size:.7rem}.snake-title{color:var(--accent-green);text-shadow:0 0 20px #4ade804d;text-align:center;width:100%;margin-bottom:12px;font-family:"Press Start 2P",monospace;font-size:1.05rem}.snake-zoom-bar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.snake-zoom-btn{background:var(--bg-card);border:2px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:1.2rem;transition:all .15s steps(3,end);display:flex}.snake-zoom-btn:hover:not(:disabled){border-color:var(--accent-amber);color:var(--text-primary)}.snake-zoom-btn:disabled{opacity:.3;cursor:not-allowed}.snake-zoom-label{color:var(--text-muted);text-align:center;min-width:48px;font-family:"Press Start 2P",monospace;font-size:.7rem}.snake-zoom-reset{background:var(--bg-card);border:2px solid var(--border-color);width:40px;height:40px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:1rem;transition:all .15s steps(3,end);display:flex}.snake-zoom-reset:hover{border-color:var(--accent-amber);color:var(--text-primary)}.snake-canvas-wrap{border:3px solid var(--border-color);max-width:100%;position:relative;overflow:hidden;box-shadow:0 0 40px #4ade8014,inset 0 0 20px #0000004d}.snake-canvas{image-rendering:pixelated;max-width:100%;height:auto;display:block}.snake-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e17e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.snake-overlay-body{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.snake-overlay-icon{filter:drop-shadow(0 0 10px #4ade804d);font-size:3rem}.snake-overlay-body p{color:var(--text-secondary);font-family:"Press Start 2P",monospace;font-size:.72rem;line-height:2}.snake-hint{color:var(--text-muted)!important;font-size:.55rem!important}.snake-gameover-title{color:var(--accent-magenta);text-shadow:0 0 20px #d4389c66;font-family:"Press Start 2P",monospace;font-size:1.3rem}.snake-final-score{color:var(--accent-gold)!important}.snake-new-record{animation:1s steps(2,end) infinite blink;color:var(--accent-amber)!important}.snake-restart-btn{background:var(--accent-green);color:var(--bg-primary);cursor:pointer;border:none;margin-top:8px;padding:14px 28px;font-family:"Press Start 2P",monospace;font-size:.75rem;transition:all .15s steps(3,end)}.snake-restart-btn:hover{background:var(--text-primary);transform:scale(1.05)}.snake-dpad{touch-action:manipulation;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;margin-top:16px;margin-bottom:4px;display:flex}.snake-dpad-row{align-items:center;gap:8px;display:flex}.snake-dpad-btn{border:2px solid var(--border-color);background:var(--bg-card);width:60px;height:60px;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:8px;justify-content:center;align-items:center;font-size:1.3rem;transition:all .1s;display:flex}.snake-dpad-btn:active{background:var(--accent-amber);border-color:var(--accent-amber);color:var(--bg-primary);transform:scale(.92)}.snake-dpad-blank{cursor:default;pointer-events:none;opacity:.3;background:0 0;border-color:#0000}@media (hover:hover){.snake-dpad-btn:hover:not(.snake-dpad-blank){border-color:var(--accent-green);color:var(--accent-green)}}@media (width<=640px){.snake-top-row{flex-wrap:wrap;justify-content:center}.snake-title{font-size:.8rem}.snake-score{padding:6px 10px;font-size:.7rem}.snake-highscore{padding:6px 10px;font-size:.6rem}.snake-dpad-btn{width:52px;height:52px;font-size:1.1rem}}.tetris-page{flex-direction:column;align-items:center;min-height:100vh;padding:12px 16px;display:flex}.tetris-top-row{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:700px;margin-bottom:8px;padding:4px 0;display:flex}.tetris-back-btn{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:14px 18px;font-family:"Press Start 2P",monospace;font-size:.75rem;transition:all .15s steps(3,end)}.tetris-back-btn:hover{border-color:var(--accent-amber);color:var(--text-primary);box-shadow:0 0 20px #ff6b1a1a}.tetris-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tetris-stat{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);white-space:nowrap;padding:8px 12px;font-family:"Press Start 2P",monospace;font-size:.65rem}.tetris-stat b{color:var(--accent-gold)}.tetris-title{color:var(--accent-gold);text-shadow:0 0 20px #f5c5184d;text-align:center;width:100%;margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:1rem}.tetris-zoom-bar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.tetris-zoom-btn{background:var(--bg-card);border:2px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:1.2rem;transition:all .15s steps(3,end);display:flex}.tetris-zoom-btn:hover:not(:disabled){border-color:var(--accent-amber);color:var(--text-primary)}.tetris-zoom-btn:disabled{opacity:.3;cursor:not-allowed}.tetris-zoom-label{color:var(--text-muted);text-align:center;min-width:48px;font-family:"Press Start 2P",monospace;font-size:.7rem}.tetris-zoom-reset{background:var(--bg-card);border:2px solid var(--border-color);width:40px;height:40px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:1rem;transition:all .15s steps(3,end);display:flex}.tetris-zoom-reset:hover{border-color:var(--accent-amber);color:var(--text-primary)}.tetris-play-area{justify-content:center;width:100%;display:flex}.tetris-canvas-wrap{border:3px solid var(--border-color);max-width:min(100%,700px);position:relative;box-shadow:0 0 40px #f5c5180f,inset 0 0 20px #0000004d}.tetris-canvas{image-rendering:pixelated;max-width:100%;height:auto;display:block}.tetris-next-overlay{border:2px solid var(--border-color);background:#0a0e17e0;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex;position:absolute;top:8px;right:8px}.tetris-next-label{color:var(--text-muted);font-family:"Press Start 2P",monospace;font-size:.6rem}.tetris-next-canvas{image-rendering:pixelated;display:block}.tetris-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e17e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tetris-overlay-abs{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10;background:#0a0e17e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tetris-overlay-body{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.tetris-overlay-icon{filter:drop-shadow(0 0 10px #f5c5184d);font-size:3rem}.tetris-overlay-body p{color:var(--text-secondary);font-family:"Press Start 2P",monospace;font-size:.72rem;line-height:2}.tetris-hint{max-width:320px;color:var(--text-muted)!important;font-size:.55rem!important;line-height:1.6!important}.tetris-gameover-title{color:var(--accent-magenta);text-shadow:0 0 20px #d4389c66;font-family:"Press Start 2P",monospace;font-size:1.3rem}.tetris-final-score{color:var(--accent-gold)!important}.tetris-new-record{animation:1s steps(2,end) infinite blink;color:var(--accent-amber)!important}.tetris-restart-btn,.tetris-start-btn{background:var(--accent-green);color:var(--bg-primary);cursor:pointer;border:none;margin-top:4px;padding:14px 28px;font-family:"Press Start 2P",monospace;font-size:.75rem;transition:all .15s steps(3,end)}.tetris-restart-btn:hover,.tetris-start-btn:hover{background:var(--text-primary);transform:scale(1.05)}.tetris-dpad{touch-action:manipulation;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:8px;margin-top:16px;display:flex}.tetris-dpad-row{align-items:center;gap:8px;display:flex}.tetris-dpad-btn{border:2px solid var(--border-color);background:var(--bg-card);width:64px;height:56px;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:8px;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:1.2rem;transition:all .1s;display:flex}.tetris-dpad-wide{width:80px}.tetris-dpad-drop{width:100%;min-width:90px;color:var(--accent-green);border-color:var(--accent-green);font-size:.65rem}.tetris-dpad-btn:active{background:var(--accent-gold);border-color:var(--accent-gold);color:var(--bg-primary);transform:scale(.92)}.tetris-dpad-drop:active{background:var(--accent-green);color:var(--bg-primary)}@media (hover:hover){.tetris-dpad-btn:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.tetris-dpad-drop:hover{border-color:var(--accent-green);color:var(--accent-green)}}@media (width<=640px){.tetris-top-row{flex-wrap:wrap;justify-content:center;gap:8px}.tetris-title{font-size:.75rem}.tetris-stat{padding:6px 10px;font-size:.55rem}.tetris-dpad-btn{width:56px;height:50px;font-size:1rem}.tetris-dpad-wide{width:68px}.tetris-dpad-drop{min-width:76px;font-size:.55rem}}.chess-page{min-height:100vh;padding:16px 20px 28px}.chess-top-bar{align-items:center;gap:24px;width:100%;margin-bottom:16px;padding:4px 0;display:flex}.chess-back-btn,.chess-action-btn,.chess-option-btn,.chess-preset-btn{border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:"Press Start 2P",monospace;transition:all .15s steps(3,end)}.chess-back-btn{white-space:nowrap;padding:14px 18px;font-size:.78rem}.chess-back-btn:hover,.chess-action-btn:hover,.chess-option-btn:hover,.chess-preset-btn:hover,.chess-option-btn.active,.chess-preset-btn.active{border-color:var(--accent-amber);color:var(--text-primary);box-shadow:0 0 20px #ff6b1a1f}.chess-title{text-align:center;color:var(--accent-gold);text-shadow:0 0 18px #f5c5184d;width:100%;margin-bottom:14px;font-family:"Press Start 2P",monospace;font-size:1.22rem}.chess-status-chip{color:var(--accent-green);white-space:nowrap;background:#4ade8014;border:2px solid #4ade8059;padding:14px 18px;font-family:"Press Start 2P",monospace;font-size:.75rem}.chess-main-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.chess-board-panel,.chess-side-panel{border:2px solid var(--border-color);background:#131d2fd1;box-shadow:inset 0 0 20px #00000040}.chess-board-panel{padding:20px}.chess-status-bar{min-height:28px;color:var(--text-secondary);margin-bottom:16px;font-size:1.1rem;line-height:1.6}.chess-canvas-wrap{background:#0000002e;border:3px solid #6b4f2d;width:fit-content;max-width:100%;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 30px #ff6b1a14,inset 0 0 30px #0000004d}.chess-canvas{max-width:100%;height:auto;display:block}.chess-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e17d6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chess-overlay-body{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.chess-overlay-icon{color:var(--accent-gold);filter:drop-shadow(0 0 12px #f5c51852);font-size:3rem}.chess-overlay-title{color:var(--accent-amber);font-family:"Press Start 2P",monospace;font-size:1.18rem}.chess-overlay-body p{color:var(--text-secondary);font-size:1rem;line-height:1.8}.chess-controls-hint{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.chess-controls-hint span{color:var(--text-muted);border:2px solid var(--border-color);background:var(--bg-card);padding:14px 16px;font-family:"Press Start 2P",monospace;font-size:.72rem}.chess-side-panel{flex-direction:column;gap:20px;padding:20px;display:flex}.chess-panel-block{background:#ffffff05;border:2px solid #2a3a55cc;padding:18px}.chess-panel-title{color:var(--accent-cyan);margin-bottom:14px;font-family:"Press Start 2P",monospace;font-size:.8rem}.chess-button-group,.chess-options-grid,.chess-preset-list{flex-direction:column;gap:12px;display:flex}.chess-action-btn,.chess-option-btn,.chess-preset-btn{text-align:center;padding:16px 18px;font-size:.78rem}.chess-action-btn.primary{color:var(--text-primary);background:#ff6b1a1f}@media (width<=980px){.chess-main-layout{grid-template-columns:1fr}}@media (width<=640px){.chess-top-bar{flex-wrap:wrap;justify-content:center}.chess-title{font-size:.92rem}.chess-status-chip,.chess-controls-hint span,.chess-action-btn,.chess-option-btn,.chess-preset-btn{font-size:.65rem}}.chess-plus-page{min-height:100vh;padding:16px 16px 36px}.chess-plus-title{text-align:center;color:#fff2d9;width:100%;margin-bottom:12px;font-family:"Press Start 2P",monospace;font-size:1.3rem;line-height:1.4}.chess-plus-hero{background:linear-gradient(#4b2e16f0,#281b12f0),radial-gradient(circle at top,#ffcc801f,#0000 52%);border:2px solid #6a4a23;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;margin-bottom:16px;padding:16px;display:grid;box-shadow:0 16px 38px #00000047,inset 0 0 0 1px #ffdcaa14}.chess-plus-back-btn,.chess-plus-primary-btn,.chess-plus-secondary-btn,.chess-plus-select{color:#f6e7c8;background:#1d130ce0;border:2px solid #7f5a2c;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s}.chess-plus-back-btn,.chess-plus-primary-btn,.chess-plus-secondary-btn{cursor:pointer}.chess-plus-back-btn:hover,.chess-plus-primary-btn:hover,.chess-plus-secondary-btn:hover,.chess-plus-select:focus{border-color:#f0b45f;transform:translateY(-1px);box-shadow:0 0 18px #f0b45f3d}.chess-plus-back-btn{white-space:nowrap;padding:12px 16px;font-family:"Press Start 2P",monospace;font-size:1rem;line-height:1.4}.chess-plus-hero-copy{flex-direction:column;gap:8px;display:flex}.chess-plus-kicker{letter-spacing:2px;color:#f0b45f;font-family:"Press Start 2P",monospace;font-size:.72rem}.chess-plus-word{letter-spacing:1px;color:#f0b45f;text-shadow:0 0 12px #f0b45f47;margin-left:10px;font-size:1.08em;font-style:italic;display:inline-block}.chess-plus-hero-copy p:last-child{color:#ffefd5d1;max-width:760px;font-size:.98rem}.chess-plus-hero-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.chess-plus-hero-badges span{color:#f6dfb2;background:#110b089e;border:1px solid #f0b45f59;padding:8px 10px;font-family:"Press Start 2P",monospace;font-size:.78rem;line-height:1.5}.chess-plus-shell{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:20px;display:grid}.chess-plus-board-card,.chess-plus-panel{color:#28190f;background:linear-gradient(#f6ecd4f5,#decbadf0);border:2px solid #6a4a23;box-shadow:0 14px 34px #0000002e,inset 0 0 0 1px #ffffff2e}.chess-plus-board-card{padding:16px}.chess-plus-board-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.chess-plus-board-info{flex-direction:column;flex:1;gap:8px;display:flex}.chess-plus-board-label{color:#7f5a2c;margin-bottom:4px;font-family:"Press Start 2P",monospace;font-size:.8rem}.chess-plus-board-score{color:#3a2618;font-size:1.15rem;line-height:1.5}.chess-plus-board-meta{flex-wrap:wrap;gap:8px;display:flex}.chess-plus-badge{color:#6e4b23;background:#fff8edb8;border:1px solid #613f1e40;padding:6px 10px;font-family:"Press Start 2P",monospace;font-size:.72rem}.chess-plus-board-actions{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.chess-plus-board-action-btn{cursor:pointer;white-space:nowrap;border:2px solid #7f5a2c;border-radius:4px;min-width:90px;padding:8px 12px;font-family:"Press Start 2P",monospace;font-size:1.1rem;line-height:1.4;transition:all .15s}.chess-plus-board-action-btn.primary{color:#fff1d7;background:linear-gradient(#9b2c18,#6e1f13)}.chess-plus-board-action-btn{color:#f6e7c8;background:#1d130ce0}.chess-plus-board-action-btn:hover{border-color:#f0b45f;transform:translateY(-1px);box-shadow:0 0 12px #f0b45f33}.chess-plus-canvas-stage{justify-content:center;display:flex}.chess-plus-canvas-frame{background:linear-gradient(#58371cf5,#3a2414f5);border:3px solid #7f5a2c;width:fit-content;max-width:100%;padding:12px;position:relative;box-shadow:inset 0 0 0 2px #ffdcaa1f,0 10px 24px #0000003d}.chess-plus-canvas{max-width:100%;height:auto;display:block}.chess-plus-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#19100ab8;justify-content:center;align-items:center;display:flex;position:absolute;inset:12px}.chess-plus-overlay-panel{color:#fff1d3;text-align:center;background:linear-gradient(#3e2513f5,#22150dfa);border:2px solid #f0b45f;min-width:200px;padding:18px}.chess-plus-overlay-mark{color:#862d18;background:#f2d2a2;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:12px;font-size:1.6rem;font-weight:700;display:inline-flex}.chess-plus-overlay-panel h3{margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:.9rem;line-height:1.5}.chess-plus-overlay-panel p{color:#fff1d3d6;margin-bottom:14px;font-size:.9rem}.chess-plus-footer-hints{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chess-plus-footer-hints span{color:#5d3d1f;background:#fff8edc2;border:1px solid #613f1e3d;padding:8px 10px;font-size:.88rem}.chess-plus-sidebar{flex-direction:column;gap:14px;display:flex}.chess-plus-panel{padding:14px}.chess-plus-panel-title-lg{color:#8c5b24;margin-bottom:10px;font-family:"Press Start 2P",monospace;font-size:.85rem}.chess-plus-form-grid,.chess-plus-panel-actions,.chess-plus-stats-grid{gap:10px;display:grid}.chess-plus-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.chess-plus-field{flex-direction:column;gap:6px;display:flex}.chess-plus-field-label{color:#6f4a22;font-size:1rem;font-weight:600}.chess-plus-panel-actions.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.chess-plus-primary-btn,.chess-plus-secondary-btn,.chess-plus-select{border-radius:4px;min-height:44px;padding:10px 12px;font-family:"Press Start 2P",monospace;font-size:1rem;line-height:1.5}.chess-plus-primary-btn{color:#fff1d7;background:linear-gradient(#9b2c18,#6e1f13)}.chess-plus-secondary-btn{background:linear-gradient(#2a1a10,#1c110b)}.chess-plus-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 8 8'%3E%3Cpath fill='%23f6e7c8' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:10px;outline:none;width:100%;padding-right:28px}.chess-plus-select option{color:#f6e7c8;background:#2a1a10}.chess-plus-select:disabled{opacity:.55;cursor:not-allowed}.chess-plus-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chess-plus-stats-grid article{background:#fffaf0ad;border:1px solid #613f1e33;min-height:70px;padding:10px}.chess-plus-stat-label{color:#7a5125;margin-bottom:6px;font-size:.95rem;font-weight:600;display:block}.chess-plus-stat-value{color:#2f1f13;font-size:1rem;line-height:1.5;display:block}.chess-plus-moves-table{background:#fffaf0bd;border:1px solid #613f1e33}.chess-plus-moves-head,.chess-plus-moves-row{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.chess-plus-moves-head{color:#7b5124;background:#613f1e14;border-bottom:1px solid #613f1e33;padding:8px 10px;font-family:"Press Start 2P",monospace;font-size:.7rem}.chess-plus-moves-body{flex-direction:column;display:flex}.chess-plus-moves-row{color:#312014;border-bottom:1px dashed #613f1e29;padding:10px;font-size:1rem}.chess-plus-moves-row:last-child{border-bottom:0}.chess-plus-moves-round{color:#7b5124;font-family:"Press Start 2P",monospace;font-size:.7rem}.chess-plus-moves-cell{font-size:.92rem}.chess-plus-empty-state{color:#6c4821;background:#fffaf0bd;border:1px dashed #613f1e3d;padding:14px;font-size:1rem}.chess-plus-view-all-btn{color:#6e4b23;cursor:pointer;background:#fff8ed99;border:1px dashed #613f1e59;width:100%;margin-top:8px;padding:10px;font-family:"Press Start 2P",monospace;font-size:.7rem;transition:all .15s}.chess-plus-view-all-btn:hover{color:#8c5b24;background:#f0b45f14;border-color:#f0b45f}.chess-plus-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e17b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.chess-plus-modal{background:linear-gradient(#f6ecd4fa,#decbadf5);border:2px solid #6a4a23;flex-direction:column;width:min(100%,460px);max-height:80vh;display:flex;box-shadow:0 20px 48px #00000059}.chess-plus-modal-header{border-bottom:2px solid #613f1e33;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.chess-plus-modal-title{color:#8c5b24;font-family:"Press Start 2P",monospace;font-size:.85rem}.chess-plus-modal-close{color:#f6e7c8;cursor:pointer;background:#1d130ce0;border:1px solid #7f5a2c;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex}.chess-plus-modal-close:hover{color:#f0b45f;border-color:#f0b45f}.chess-plus-modal-body{flex:1;padding:12px 16px;overflow:hidden}.chess-plus-modal-moves-body{max-height:50vh;overflow-y:auto}.chess-plus-modal-moves-body .chess-plus-moves-row:last-child{border-bottom:0}@media (width<=1024px){.chess-plus-shell{grid-template-columns:1fr}}@media (width<=820px){.chess-plus-hero{grid-template-columns:1fr}.chess-plus-hero-badges{justify-content:flex-start}}@media (width<=640px){.chess-plus-page{padding-inline:10px}.chess-plus-hero-copy h1{font-size:1.1rem}.chess-plus-board-header{flex-direction:column;gap:10px}.chess-plus-board-actions{flex-direction:row;width:100%}.chess-plus-board-action-btn{flex:1;min-width:0;padding:8px;font-size:.9rem}.chess-plus-form-grid,.chess-plus-panel-actions.two-col,.chess-plus-stats-grid,.chess-plus-moves-head,.chess-plus-moves-row{grid-template-columns:1fr}.chess-plus-form-grid{gap:10px}.chess-plus-modal{width:100%;max-height:70vh}.chess-plus-panel-title-lg{font-size:.68rem}.chess-plus-field-label,.chess-plus-stat-label,.chess-plus-footer-hints span{font-size:.85rem}.chess-plus-select,.chess-plus-primary-btn,.chess-plus-secondary-btn{min-height:42px;font-size:.62rem}.chess-plus-hero-badges span{font-size:.55rem}.chess-plus-board-score{font-size:1rem}}.board{width:min(var(--gomoku-board-size), calc(100vw - 56px));height:min(var(--gomoku-board-size), calc(100vw - 56px));background-position:50%;background-size:cover;border:3px solid #6b4f2d;flex-direction:column;max-width:100%;max-height:100%;margin:10px auto;display:flex;position:relative;box-shadow:0 0 30px #ff6b1a14,inset 0 0 20px #0000002e}.board-row{flex:1;display:flex}.cell{cursor:pointer;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.cell:before,.cell:after{content:"";background:#1a120aeb;position:absolute}.cell:before{width:1px;height:100%;left:50%}.cell:after{width:100%;height:1px;top:50%}.cell.top:before{top:50%}.cell.bottom:before{bottom:50%}.cell.left:after{left:50%}.cell.right:after{right:50%}.piece{z-index:10;border-radius:50%;justify-content:center;align-items:center;width:70%;height:70%;font-family:"Press Start 2P",monospace;font-size:11px;display:flex;position:relative}.piece.black{color:#f7f4ed;background:linear-gradient(160deg,#3b3b3b 0%,#111 55%,#000 100%);box-shadow:inset 2px 2px 4px #ffffff1f,inset -2px -2px 5px #0006}.piece.white{color:#171717;background:linear-gradient(160deg,#fffdf8 0%,#efe6d8 62%,#d8cbb7 100%);box-shadow:inset 2px 2px 4px #ffffff80,inset -2px -2px 5px #796b5240}.last{z-index:100;border:1px solid #d4389c;width:80%;height:80%;position:absolute;box-shadow:0 0 10px #d4389c59}@media (width<=640px){.piece{font-size:8px}}.control{flex-direction:column;gap:14px;display:flex}.buttons{grid-template-columns:1fr;gap:10px;display:grid}.button{margin:0}.setting{flex-direction:column;justify-content:center;align-items:stretch;margin:0;display:flex}.setting-row{flex-direction:column;gap:12px;display:flex}.setting-item{margin:0}.setting-checkbox{color:var(--text-secondary);align-items:center;gap:10px;font-size:.92rem;display:flex}.setting-checkbox input{accent-color:var(--accent-amber)}.status{background:#ffffff05;border:2px solid #2a3a55cc;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;margin:0;padding:14px;display:flex}.status-item{color:var(--text-secondary);margin:0;line-height:1.6}.gomoku-page{min-height:100vh;padding:16px 20px 28px}.gomoku-top-bar{align-items:center;gap:24px;width:100%;margin-bottom:14px;padding:4px 0;display:flex}.gomoku-back-btn,.gomoku-action-btn{border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:"Press Start 2P",monospace;transition:all .15s steps(3,end)}.gomoku-back-btn{white-space:nowrap;padding:14px 18px;font-size:.78rem}.gomoku-back-btn:hover,.gomoku-action-btn:hover:not(:disabled){border-color:var(--accent-amber);color:var(--text-primary);box-shadow:0 0 20px #ff6b1a1f}.gomoku-action-btn{text-align:center;width:100%;padding:16px 18px;font-size:.78rem}.gomoku-action-btn:disabled{opacity:.5;cursor:not-allowed}.gomoku-title{text-align:center;color:var(--accent-gold);text-shadow:0 0 18px #f5c5184d;width:100%;margin-bottom:14px;font-family:"Press Start 2P",monospace;font-size:1.22rem}.gomoku-status-chip{color:var(--accent-green);white-space:nowrap;background:#4ade8014;border:2px solid #4ade8059;padding:14px 18px;font-family:"Press Start 2P",monospace;font-size:.75rem}.gomoku-main-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.gomoku-board-panel,.gomoku-side-panel{border:2px solid var(--border-color);background:#131d2fd1;box-shadow:inset 0 0 20px #00000040}.gomoku-board-panel{padding:20px}.gomoku-status-bar{min-height:28px;color:var(--text-secondary);text-align:center;margin-bottom:16px;font-size:1.1rem;line-height:1.6}.gomoku-controls-hint{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.gomoku-controls-hint span{color:var(--text-muted);border:2px solid var(--border-color);background:var(--bg-card);padding:14px 16px;font-family:"Press Start 2P",monospace;font-size:.72rem}.gomoku-side-panel{flex-direction:column;gap:20px;padding:20px;display:flex}.gomoku-panel-block{background:#ffffff05;border:2px solid #2a3a55cc;padding:18px}.gomoku-panel-title{color:var(--accent-cyan);margin-bottom:14px;font-family:"Press Start 2P",monospace;font-size:.8rem}.gomoku-zoom-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gomoku-zoom-btn,.gomoku-zoom-reset{border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:"Press Start 2P",monospace;transition:all .15s steps(3,end)}.gomoku-zoom-btn{width:46px;height:46px;font-size:1.2rem;line-height:1}.gomoku-zoom-reset{padding:14px 16px;font-size:.72rem}.gomoku-zoom-btn:hover:not(:disabled),.gomoku-zoom-reset:hover:not(:disabled){border-color:var(--accent-amber);color:var(--text-primary);box-shadow:0 0 20px #ff6b1a1f}.gomoku-zoom-btn:disabled,.gomoku-zoom-reset:disabled{opacity:.5;cursor:not-allowed}.gomoku-zoom-value{text-align:center;min-width:74px;color:var(--accent-gold);font-family:"Press Start 2P",monospace;font-size:.72rem}@media (width<=980px){.gomoku-main-layout{grid-template-columns:1fr}}@media (width<=640px){.gomoku-top-bar{flex-wrap:wrap;justify-content:center}.gomoku-title{font-size:.92rem}.gomoku-status-chip,.gomoku-controls-hint span,.gomoku-action-btn{font-size:.65rem}}.intl-chess-page{--border-width:calc(var(--diameter-tile) / 60);--diameter-board:min(56vw, 62vh);--diameter-tile:calc(var(--diameter-board) / 8);--coordinate-band:calc(var(--diameter-tile) * .36);--coordinate-size:calc(var(--coordinate-band) * .42);--transition-ease:cubic-bezier(.25, 1, .5, 1);--color-danger:#ff8a4c;--color-success:#f5c518;--color-white:#f4efe6;--color-black:#1b1f2a;--color-shadow:#476287;--color-shadow-lighter:#7b94b5;--color-background:var(--color-black);padding-top:16px;padding-bottom:40px}.intl-chess-top-bar{align-items:center;gap:24px;margin-bottom:16px;padding:4px 0;display:flex}.intl-chess-back-btn,.intl-chess-status-chip,.intl-chess-toggle span,.intl-chess-panel-title,.intl-chess-title{font-family:"Press Start 2P",monospace}.intl-chess-back-btn{border:2px solid var(--border-color);color:var(--text-primary);cursor:pointer;letter-spacing:1px;background:#15223aeb;padding:14px 18px;font-size:.78rem}.intl-chess-back-btn:hover{border-color:var(--accent-amber);box-shadow:0 0 16px #ff6b1a2e}.intl-chess-title{letter-spacing:2px;color:var(--accent-gold);text-align:center;width:100%;margin-bottom:16px;font-size:1rem;line-height:1.5}.intl-chess-status-chip{color:var(--accent-gold);white-space:nowrap;background:#f5c51814;border:2px solid #f5c51859;padding:14px 18px;font-size:.72rem}.intl-chess-main-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.intl-chess-board-panel,.intl-chess-side-panel{min-width:0}.intl-chess-stage-card,.intl-chess-panel-block{border:2px solid var(--border-color);background:linear-gradient(#1a2740f5,#101828f5);box-shadow:0 18px 40px #00000042}.intl-chess-status-bar{color:var(--text-secondary);background:#0c121fbf;border:2px solid #47628773;margin-bottom:14px;padding:12px 16px;font-size:1rem}.intl-chess-stage-card{padding:28px;position:relative;overflow:auto}.intl-chess-view{height:calc(var(--diameter-board) + (var(--coordinate-band) * 2));width:calc(var(--diameter-board) + (var(--coordinate-band) * 2));background:radial-gradient(circle at center, #ffffff0a, transparent 70%), var(--color-background);margin:0 auto;transition:background-color .25s ease-in-out;position:relative}.intl-chess-board{background:var(--color-shadow-lighter);box-shadow:0 0 0 calc(var(--border-width) * 3) var(--color-shadow-lighter), 0 0 0 var(--coordinate-band) var(--color-shadow);height:var(--diameter-board);left:var(--coordinate-band);top:var(--coordinate-band);width:var(--diameter-board);position:absolute;overflow:hidden}.intl-chess-hints{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.intl-chess-hints span{color:var(--text-secondary);background:#0a0e178c;border:1px solid #4762876b;padding:10px 14px;font-size:.85rem}.intl-chess-overlay{z-index:130;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0e17d6;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.intl-chess-overlay-panel{text-align:center;background:linear-gradient(#1b2843fa,#0b111efa);border:2px solid #f5c51857;flex-direction:column;align-items:center;gap:12px;width:min(100%,420px);padding:22px 20px;display:flex;box-shadow:0 18px 36px #00000052}.intl-chess-overlay-mark,.intl-chess-overlay-title,.intl-chess-action-btn{font-family:"Press Start 2P",monospace}.intl-chess-overlay-mark{color:var(--accent-gold);text-shadow:0 0 12px #f5c51833;font-size:2.8rem;line-height:1}.intl-chess-overlay-title{color:var(--accent-amber);margin:0;font-size:.92rem;line-height:1.5}.intl-chess-overlay-panel p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.8}.intl-chess-action-btn{border:2px solid var(--border-color);color:var(--text-primary);cursor:pointer;letter-spacing:1px;background:#15223aeb;padding:14px 18px;font-size:.72rem}.intl-chess-action-btn:hover{border-color:var(--accent-amber);box-shadow:0 0 16px #ff6b1a2e}.intl-chess-action-btn:focus{outline:none;box-shadow:0 0 0 2px #f5c51842}.intl-chess-side-panel{gap:20px;display:grid}.intl-chess-panel-block{padding:20px}.intl-chess-panel-title{color:var(--accent-amber);margin-bottom:16px;font-size:.75rem;line-height:1.5}.intl-chess-control-row{flex-wrap:wrap;gap:12px;display:flex}.intl-chess-control-row-wrap{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.intl-chess-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.intl-chess-toggle{cursor:pointer;display:block}.intl-chess-toggle input{opacity:0;pointer-events:none;position:absolute}.intl-chess-toggle span{border:2px solid var(--border-color);min-height:56px;color:var(--text-secondary);text-align:center;background:#0a0e17b3;justify-content:center;align-items:center;padding:12px 14px;font-size:.78rem;line-height:1.5;display:flex}.intl-chess-toggle input:checked+span{color:var(--text-primary);border-color:var(--accent-gold);background:#f5c5181a;box-shadow:inset 0 0 0 1px #f5c5182e}.intl-chess-toggle input:focus+span,.intl-chess-page button:focus{outline:none;box-shadow:0 0 0 2px #f5c51842}.intl-chess-page .board-coordinates{color:#fff;font-size:var(--coordinate-size);letter-spacing:.08em;pointer-events:none;text-transform:lowercase;-webkit-user-select:none;user-select:none;z-index:5;font-weight:700;position:absolute;left:0}.intl-chess-page .board-coordinates span{justify-content:center;align-items:center;display:flex}.intl-chess-page .board-coordinates-top,.intl-chess-page .board-coordinates-bottom{height:var(--coordinate-band);left:var(--coordinate-band);width:var(--diameter-board);grid-template-columns:repeat(8,1fr);display:grid}.intl-chess-page .board-coordinates-top{top:0}.intl-chess-page .board-coordinates-bottom{bottom:0}.intl-chess-page .board-coordinates-left,.intl-chess-page .board-coordinates-right{height:var(--diameter-board);top:var(--coordinate-band);width:var(--coordinate-band);grid-template-rows:repeat(8,1fr);display:grid}.intl-chess-page .board-coordinates-left{left:0}.intl-chess-page .board-coordinates-right{left:calc(var(--coordinate-band) + var(--diameter-board))}.intl-chess-page .board{flex-direction:column-reverse;width:100%;height:100%;margin:0;display:flex;position:absolute;inset:0}.intl-chess-page .board .row{flex:1 0 0;width:100%;min-height:0;display:flex}.intl-chess-page .perspective-black .board .row{flex-direction:row-reverse}.intl-chess-page .perspective-black .board{flex-direction:column}.intl-chess-page .board .row .tile{box-shadow:inset 0 0 0 var(--border-width) var(--color-shadow-lighter);min-width:0;height:auto;transition:background-color .35s var(--transition-ease);background-color:currentColor;border:none;flex-direction:column;flex:1 0 0;justify-content:space-between;width:auto;padding:0;display:flex;position:relative}.intl-chess-page .perspective-black .board .row:nth-child(2n) .tile:nth-child(odd),.intl-chess-page .perspective-black .board .row:nth-child(odd) .tile:nth-child(2n),.intl-chess-page .perspective-white .board .row:nth-child(2n) .tile:nth-child(2n),.intl-chess-page .perspective-white .board .row:nth-child(odd) .tile:nth-child(odd){color:#7086b7}.intl-chess-page .perspective-black .board .row:nth-child(2n) .tile:nth-child(2n),.intl-chess-page .perspective-black .board .row:nth-child(odd) .tile:nth-child(odd),.intl-chess-page .perspective-white .board .row:nth-child(2n) .tile:nth-child(odd),.intl-chess-page .perspective-white .board .row:nth-child(odd) .tile:nth-child(2n){color:#d6cccc}.intl-chess-page .board .row .tile .move,.intl-chess-page .board .row .tile .moves,.intl-chess-page .board .row .tile .captures{box-sizing:border-box;height:var(--diameter-tile);padding:calc(var(--diameter-tile) * .025);width:var(--diameter-tile);z-index:9;flex-wrap:wrap;justify-content:center;display:flex;position:absolute;top:0;left:0}.intl-chess-page .board .row .tile .move,.intl-chess-page .board .row .tile .moves{align-content:center;align-items:center}.intl-chess-page .board .row .tile .captures{justify-content:space-between;align-items:flex-start}.intl-chess-page .board .row .tile:not(.occupied) .captures{justify-content:center;align-items:center}.intl-chess-page .board .row .tile>div>svg{--stroke:transparent;box-sizing:border-box;height:var(--di);line-height:var(--di);width:var(--di)}.intl-chess-page .board .row .tile .move svg{--di:calc(var(--diameter-tile) / 4);--fill:var(--color-shadow)}.intl-chess-page .board .row .tile .moves svg,.intl-chess-page .board .row .tile .captures svg{--di:calc(var(--diameter-tile) / 4);--fill:#c9c9c9;--stroke:#343a44e0;opacity:.78;filter:drop-shadow(0 0 2px #0a0e1773)}.intl-chess-page .board .row .tile.occupied .captures svg{position:absolute}.intl-chess-page .board .row .tile.occupied .captures svg:first-child{top:0;left:0}.intl-chess-page .board .row .tile.occupied .captures svg:nth-child(2){top:0;right:0}.intl-chess-page .board .row .tile.occupied .captures svg:nth-child(3){bottom:calc(var(--di) * .1);left:0}.intl-chess-page .board .row .tile.occupied .captures svg:nth-child(4){bottom:calc(var(--di) * .1);right:0}.intl-chess-page .board .row .tile.occupied .captures svg:nth-child(5){top:calc(50% - var(--di) * .55);left:0}.intl-chess-page .board .row .tile.occupied .captures svg:nth-child(6){top:calc(50% - var(--di) * .55);right:0}.intl-chess-page .board .row .tile.occupied .captures svg:nth-child(7){top:0;left:calc(50% - var(--di) * .5)}.intl-chess-page .board .row .tile.occupied .captures svg:nth-child(8){bottom:calc(var(--di) * .1);left:calc(50% - var(--di) * .5)}.intl-chess-page .touching .board .row .tile .moves,.intl-chess-page .touching .board .row .tile .captures,.intl-chess-page .turn-black .board .row .tile .moves .white,.intl-chess-page .turn-black .board .row .tile .captures .white,.intl-chess-page .turn-white .board .row .tile .moves .black,.intl-chess-page .turn-white .board .row .tile .captures .black,.intl-chess-page .board .row .tile[class*=highlight-] .moves,.intl-chess-page .board .row .tile[class*=highlight-] .captures{display:none}.intl-chess-page svg{--fill:var(--color-black);--stroke:var(--color-shadow);fill:var(--fill)}.intl-chess-page svg text{fill:var(--fill);stroke:var(--stroke);stroke-width:6px;paint-order:stroke fill;letter-spacing:0;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",Arial Unicode MS,serif;font-size:120px;font-weight:700}.intl-chess-page svg.white{--fill:var(--color-white);--stroke:#000}.intl-chess-page svg.black{--fill:var(--color-black);--stroke:#e7efff80}.intl-chess-page .pieces{height:var(--diameter-board);pointer-events:none;width:var(--diameter-board);z-index:99;display:block;position:absolute;top:0;left:0}.intl-chess-page .pieces .piece.white{--pos-row:-1}.intl-chess-page .pieces .piece.black{--pos-row:8}.intl-chess-page .pieces .piece{--pos-col:3.5;--scale:0;--transition-delay:0s;--transition-duration:.2s;box-shadow:none;height:var(--diameter-tile);transform:translate(calc(var(--pos-col) * 100%), calc(var(--pos-row) * -100%)) translateZ(0);transform-origin:50%;transition:all var(--transition-duration) var(--transition-ease) var(--transition-delay);width:var(--diameter-tile);background:0 0;border-radius:0;display:block;position:absolute;bottom:0;left:0}.intl-chess-page .pieces .piece.white,.intl-chess-page .pieces .piece.black{box-shadow:none;background:0 0}.intl-chess-page .perspective-black .pieces .piece{transform:translate(calc((7 - var(--pos-col)) * 100%), calc((7 - var(--pos-row)) * -100%)) translateZ(0)}.intl-chess-page .pieces .piece svg{opacity:1;transform:translate(-50%, -50%) translateZ(0) scale(var(--scale));transform-origin:50%;transition:transform var(--transition-duration) var(--transition-ease), fill var(--transition-duration) var(--transition-ease), opacity var(--transition-duration) var(--transition-ease);display:block;position:absolute;top:50%;left:50%}.intl-chess-page .turn-white .pieces .piece:not(.highlight-capture) svg.black,.intl-chess-page .turn-black .pieces .piece:not(.highlight-capture) svg.white,.intl-chess-page .turn-black .pieces .piece:not(.can-move):not(.can-capture) svg.black,.intl-chess-page .turn-white .pieces .piece:not(.can-move):not(.can-capture) svg.white{--stroke:transparent;opacity:.8}@keyframes intl-chess-wobble{0%,50%,to{transform:translate(-50%,-50%)translateZ(0)scale(1)rotate(0)}25%{transform:translate(-50%,-50%)translateZ(0)scale(1.1)rotate(-2deg)}75%{transform:translate(-50%,-50%)translateZ(0)scale(1.1)rotate(2deg)}}.intl-chess-page .pieces .piece.highlight-active svg{--stroke:var(--color-success);animation:.5s linear infinite intl-chess-wobble}.intl-chess-page .pieces .piece.highlight-capture svg{--stroke:var(--color-danger)}.intl-chess-page .piece svg{--svg-di:calc(var(--diameter-tile) * .666);height:var(--svg-di);font-weight:700;line-height:var(--svg-di);stroke-linejoin:round;text-align:center;width:var(--svg-di);display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=1100px){.intl-chess-main-layout{grid-template-columns:1fr}.intl-chess-side-panel{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.intl-chess-page{--diameter-board:min(72vw, 72vw)}}@media (width<=720px){.intl-chess-page{--diameter-board:min(72vw, 72vw);padding-top:12px}.intl-chess-top-bar{flex-direction:row;justify-content:center}.intl-chess-title{font-size:.85rem}.intl-chess-stage-card,.intl-chess-overlay{padding:16px}.intl-chess-overlay-title{font-size:.78rem}.intl-chess-action-btn{width:100%;font-size:.65rem}.intl-chess-control-row-wrap,.intl-chess-action-grid{grid-template-columns:1fr}.intl-chess-control-row{flex-direction:column}.intl-chess-status-chip{padding:10px 14px;font-size:.6rem}}.intl-chess-dropdown-group{flex-direction:column;gap:14px;display:flex}.intl-chess-dropdown-field{flex-direction:column;gap:6px;display:flex}.intl-chess-dropdown-field span{color:var(--accent-amber);font-family:"Press Start 2P",monospace;font-size:.65rem}.intl-chess-select{border:2px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background:#0a0e17b3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0e6d8' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E") right 10px center/10px no-repeat;outline:none;padding:12px 30px 12px 14px;font-family:"Press Start 2P",monospace;font-size:.7rem;transition:border-color .2s}.intl-chess-select:hover,.intl-chess-select:focus{border-color:var(--accent-gold)}.intl-chess-select option{color:var(--text-primary);background:#15223a}.pixel-jumper-page{flex-direction:column;align-items:center;min-height:100vh;padding:16px 20px 24px;display:flex}.pixel-jumper-top-bar{align-items:center;gap:16px;width:100%;max-width:1100px;margin-bottom:14px;padding:4px 0;display:flex}.pixel-jumper-back-btn{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:14px 18px;font-family:"Press Start 2P",monospace;font-size:.75rem;transition:all .15s steps(3,end)}.pixel-jumper-back-btn:hover{border-color:var(--accent-amber);color:var(--text-primary);box-shadow:0 0 20px #ff6b1a1f}.pixel-jumper-title-wrap{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.pixel-jumper-title{color:#38bdf8;text-shadow:0 0 20px #38bdf859;text-align:center;font-family:"Press Start 2P",monospace;font-size:1rem}.pixel-jumper-stage-name{color:var(--text-muted);font-family:"Press Start 2P",monospace;font-size:.6rem}.pixel-jumper-stats{flex-direction:column;align-items:flex-end;gap:4px;min-width:220px;display:flex}.pixel-jumper-mission-panel{background:var(--bg-card);border:2px solid var(--border-color);flex-direction:column;gap:10px;width:min(100%,1100px);margin-bottom:14px;padding:14px 18px;display:flex}.pixel-jumper-mission-title{color:#38bdf8;font-family:"Press Start 2P",monospace;font-size:.7rem}.pixel-jumper-mission-empty,.pixel-jumper-status{color:var(--text-secondary);font-family:"Press Start 2P",monospace;font-size:.6rem;line-height:1.8}.pixel-jumper-status{color:var(--accent-amber)}.pixel-jumper-task-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pixel-jumper-task-item{color:var(--text-secondary);background:#0f172a73;border:2px solid #94a3b833;justify-content:space-between;gap:12px;padding:10px 12px;font-family:"Press Start 2P",monospace;font-size:.55rem;line-height:1.8;display:flex}.pixel-jumper-task-item.completed{color:#86efac;border-color:#4ade8073}.pixel-jumper-stat,.pixel-jumper-best{font-family:"Press Start 2P",monospace;font-size:.62rem}.pixel-jumper-stat{color:var(--accent-gold)}.pixel-jumper-best{color:var(--text-muted)}.pixel-jumper-frame{border:3px solid var(--border-color);background:#050b13;width:min(100%,1100px);position:relative;overflow:hidden;box-shadow:0 0 48px #38bdf814,inset 0 0 24px #00000059}.pixel-jumper-canvas{width:100%;height:auto;image-rendering:pixelated;aspect-ratio:16/9;display:block}.pixel-jumper-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#070a12db;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pixel-jumper-overlay-body{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:520px;padding:24px;display:flex}.pixel-jumper-overlay-icon{filter:drop-shadow(0 0 14px #38bdf840);font-size:3rem}.pixel-jumper-overlay-title{color:#38bdf8;font-family:"Press Start 2P",monospace;font-size:1rem}.pixel-jumper-overlay-title.failed{color:var(--accent-magenta);text-shadow:0 0 18px #d4389c59}.pixel-jumper-overlay-title.clear{color:var(--accent-green);text-shadow:0 0 18px #4ade8059}.pixel-jumper-overlay-title.complete{color:var(--accent-gold);text-shadow:0 0 18px #f5c51859}.pixel-jumper-overlay-body p{color:var(--text-secondary);font-family:"Press Start 2P",monospace;font-size:.65rem;line-height:1.9}.pixel-jumper-hint{color:var(--text-muted)!important;font-size:.5rem!important}.pixel-jumper-action-btn{background:var(--accent-green);color:var(--bg-primary);cursor:pointer;border:none;margin-top:8px;padding:14px 24px;font-family:"Press Start 2P",monospace;font-size:.68rem;transition:all .15s steps(3,end)}.pixel-jumper-action-btn:hover{background:var(--text-primary);transform:scale(1.05)}.pixel-jumper-record{animation:1s steps(2,end) infinite blink;color:var(--accent-amber)!important}.pixel-jumper-controls-hint{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.pixel-jumper-controls-hint span{color:var(--text-muted);border:2px solid var(--border-color);background:var(--bg-card);padding:10px 14px;font-family:"Press Start 2P",monospace;font-size:.62rem}@media (width<=900px){.pixel-jumper-top-bar{flex-wrap:wrap;justify-content:center}.pixel-jumper-title-wrap{order:-1;width:100%}.pixel-jumper-stats{align-items:center;min-width:auto}.pixel-jumper-task-item{flex-direction:column;align-items:flex-start}}@media (width<=640px){.pixel-jumper-page{padding-inline:12px}.pixel-jumper-title,.pixel-jumper-overlay-title{font-size:.8rem}.pixel-jumper-overlay-body p,.pixel-jumper-stat,.pixel-jumper-best,.pixel-jumper-controls-hint span{font-size:.52rem}}
