@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap);*,:after,:before{box-sizing:border-box}html{height:100%}body,html{-webkit-font-smoothing:antialiased;background-color:#0a0a0f;color:#ffffffe6;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;padding:0}#root,body{min-height:100%}.page{align-items:center;background:#0a0a0f;flex-direction:column;height:100vh;overflow:hidden;position:relative}.page,.top-bar{display:flex;width:100%}.top-bar{align-items:flex-start;flex-shrink:0;justify-content:space-between;padding:16px 20px;z-index:10}.glass-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px}.ai-controls{display:flex;flex-direction:column;gap:6px;padding:12px 16px}.ai-player-row,.ai-speed-control{align-items:center;display:flex;gap:8px}.ai-speed-control{border-top:1px solid #ffffff14;margin-top:2px;padding-top:6px}.board-area{flex:1 1;justify-content:flex-start;min-height:0;padding-top:4px;width:100%}.board,.board-area{align-items:center}.board,.board-area,.board-grid{display:flex;flex-direction:column}.board-grid{border-radius:16px;padding:20px 24px;transition:box-shadow .5s ease}.board-grid.turn-red{box-shadow:0 0 60px #ef444414,0 0 120px #ef444408}.board-grid.turn-blue{box-shadow:0 0 60px #3b82f614,0 0 120px #3b82f608}.cell,.row{display:flex;justify-content:center}.cell{align-items:center;cursor:pointer;height:38px;outline:none;position:relative;width:42px}.cell:focus-visible:after{border:2px solid #ffffffbf;border-radius:50%;content:"";inset:4px;pointer-events:none;position:absolute}.circle{border-radius:50%;height:78%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .15s ease,box-shadow .2s ease;width:78%;z-index:1}.circle.piece-red{background:radial-gradient(circle at 35% 35%,#f87171,#ef4444 40%,#b91c1c);box-shadow:0 0 6px #ef444466,inset 0 -2px 4px #0000004d}.circle.piece-blue{background:radial-gradient(circle at 35% 35%,#60a5fa,#3b82f6 40%,#1d4ed8);box-shadow:0 0 6px #3b82f666,inset 0 -2px 4px #0000004d}.circle.piece-empty{background:#ffffff08;box-shadow:none}.circle.piece-blue:hover,.circle.piece-red:hover{transform:translate(-50%,-50%) scale(1.15);z-index:2}.circle.piece-red:hover{box-shadow:0 0 14px #ef444499,inset 0 -2px 4px #0000004d}.circle.piece-blue:hover{box-shadow:0 0 14px #3b82f699,inset 0 -2px 4px #0000004d}.circle.piece-empty:hover{background:#ffffff1a;transform:translate(-50%,-50%) scale(1.05)}.circle.selected.piece-red{box-shadow:0 0 20px #ef4444b3,0 0 40px #ef44444d;z-index:3}.circle.selected.piece-blue{box-shadow:0 0 20px #3b82f6b3,0 0 40px #3b82f64d;z-index:3}.circle.legal-move{animation:pulse-legal 1.5s ease-in-out infinite;background:#4ade8080!important;box-shadow:0 0 10px #4ade8080!important;z-index:2}@keyframes pulse-legal{0%,to{box-shadow:0 0 8px #4ade8066}50%{box-shadow:0 0 16px #4ade80b3}}.turn-indicator{align-items:center;color:#fff9;display:flex;font-size:.8rem;font-weight:500;gap:8px;letter-spacing:.03em;margin-top:12px;padding:6px 14px}.turn-dot{border-radius:50%;height:8px;transition:background-color .3s ease,box-shadow .3s ease;width:8px}.turn-dot.red{background:#ef4444;box-shadow:0 0 8px #ef444499}.turn-dot.blue{background:#3b82f6;box-shadow:0 0 8px #3b82f699}.thinking-indicator{align-items:center;color:#ffffff8c;display:inline-flex;font-size:.7rem;gap:4px;letter-spacing:.06em;margin-left:10px;text-transform:uppercase}.thinking-dot{animation:thinking-bounce 1.2s ease-in-out infinite;background:#ffffff8c;border-radius:50%;height:4px;width:4px}.thinking-dot:nth-child(2){animation-delay:.15s}.thinking-dot:nth-child(3){animation-delay:.3s}.thinking-label{font-family:inherit;margin-left:4px}@keyframes thinking-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:.9;transform:translateY(-3px)}}.undo-chip{background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;color:#ffffffbf;cursor:pointer;font-family:inherit;font-size:.7rem;letter-spacing:.02em;margin-left:8px;padding:4px 10px;transition:background .15s,color .15s}.undo-chip:hover{background:#ffffff1f;color:#fffffff2}.move-history{border-top:1px solid #ffffff14;margin-top:8px;padding-top:6px}.move-history-label{color:#ffffff4d;font-size:.62rem;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.move-history-list{display:flex;flex-direction:column;gap:2px}.move-history-item{color:#ffffff8c;font-family:JetBrains Mono,Inter,monospace;font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-indicator.has-end-turn{padding-right:6px}.end-turn-chip{animation:pulse-end-turn 1.6s ease-in-out infinite;background:#4ade8024;border:1px solid #4ade8073;border-radius:999px;box-shadow:0 0 14px #4ade8040;color:#bef5c8;cursor:pointer;font-family:inherit;font-size:.75rem;letter-spacing:.02em;margin-left:10px;padding:4px 12px;transition:background .15s,box-shadow .15s,transform .1s}.end-turn-chip:hover{background:#4ade8047;box-shadow:0 0 22px #4ade8073}.end-turn-chip:active{transform:translateY(1px)}@keyframes pulse-end-turn{0%,to{box-shadow:0 0 12px #4ade8033}50%{box-shadow:0 0 22px #4ade8073}}.turn-red .circle.chain-visited{background:#0000!important;box-shadow:inset 0 0 0 1.5px #ef444473,0 0 6px #ef44442e!important}.turn-blue .circle.chain-visited{background:#0000!important;box-shadow:inset 0 0 0 1.5px #3b82f673,0 0 6px #3b82f62e!important}.circle.ghost-piece{animation:ghost-pulse 1.2s ease-in-out infinite;opacity:.55;pointer-events:none;z-index:4}.circle.ghost-piece.piece-red-ghost{background:radial-gradient(circle at 35% 35%,#f87171,#ef4444 40%,#b91c1c);box-shadow:0 0 10px #ef444480}.circle.ghost-piece.piece-blue-ghost{background:radial-gradient(circle at 35% 35%,#60a5fa,#3b82f6 40%,#1d4ed8);box-shadow:0 0 10px #3b82f680}@keyframes ghost-pulse{0%,to{opacity:.45;transform:translate(-50%,-50%) scale(.92)}50%{opacity:.65;transform:translate(-50%,-50%) scale(1)}}.board{position:relative}.arrow-overlay{pointer-events:none}.selection-info{background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;font-size:.75rem;font-weight:400;left:50%;padding:4px 12px;transform:translateX(-50%);z-index:5}.debug-toggle,.selection-info{bottom:16px;color:#fff6;position:fixed}.debug-toggle{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.7rem;padding:6px 10px;right:16px;transition:background .2s,color .2s;z-index:10}.debug-toggle:hover{background:#ffffff1a;color:#ffffffb3}.input-box{bottom:48px;padding:12px;position:fixed;right:16px;width:300px;z-index:10}.input-box textarea{background:#0006;border:1px solid #ffffff1a;border-radius:8px;color:#fffc;font-family:Inter,monospace;font-size:.75rem;height:60px;margin-bottom:8px;padding:8px;resize:none;width:100%}.input-box textarea::placeholder{color:#ffffff40}.buttons{display:flex;gap:6px}.buttons button{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;color:#fff9;cursor:pointer;flex:1 1;font-family:inherit;font-size:.72rem;padding:6px 10px;transition:background .2s,color .2s}.buttons button:hover{background:#ffffff1a;color:#ffffffe6}.buttons .reset-button{background:#ef444426;border-color:#ef444433;color:#ef4444cc}.buttons .reset-button:hover{background:#ef444440;color:#ef4444}.reset-btn{background:#ef44441a;border:1px solid #ef444426;border-radius:6px;color:#ef4444b3;cursor:pointer;font-family:inherit;font-size:.72rem;margin-top:4px;padding:5px 0;transition:background .2s}.reset-btn:hover{background:#ef444433}.new-game-btn{background:linear-gradient(135deg,#6366f173,#8b5cf673);border:1px solid #8b5cf666;border-radius:8px;box-shadow:0 2px 12px #8b5cf62e;color:#ffffffeb;cursor:pointer;font-family:inherit;font-size:.76rem;letter-spacing:.01em;margin-top:6px;padding:6px 12px;transition:filter .15s,box-shadow .15s,transform .1s}.new-game-btn:hover{box-shadow:0 4px 18px #8b5cf659;filter:brightness(1.15)}.new-game-btn:active{transform:translateY(1px)}.strategy-toggle{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fff6;cursor:pointer;font-family:inherit;font-size:.68rem;letter-spacing:.02em;margin-top:4px;padding:4px 10px;transition:all .2s}.strategy-toggle:hover{background:#ffffff1a;border-color:#fff3;color:#fffc}@media (max-height:900px),(max-width:1200px){.top-bar{flex-wrap:wrap;gap:8px;padding:10px 12px}.board-area{justify-content:flex-start;padding-top:8px}.cell{height:27px;width:30px}.board-grid{padding:12px 14px}.debug-toggle,.input-box{display:none}}@media (max-width:600px){.top-bar{align-items:stretch;flex-direction:column}.ai-controls,.top-bar{gap:4px;padding:8px 10px}.board-grid{padding:6px 8px}.turn-indicator{font-size:.7rem;margin-top:6px;padding:4px 10px}.setup-modal-content{padding:24px 20px;width:min(420px,92vw)}.setup-sides{flex-direction:column;gap:12px}.setup-title{font-size:1.45rem}.setup-subtitle{font-size:.86rem;margin-bottom:18px}.setup-speed{flex-wrap:wrap}.setup-speed-label,.setup-speed-value{width:auto}.setup-slider{min-width:100%}}@media (min-height:950px) and (min-width:900px){.cell{height:45px;width:50px}.board-grid{padding:24px 28px}}@media (min-height:1100px) and (min-width:1100px){.cell{height:52px;width:58px}.board-grid{padding:28px 32px}.circle.piece-red{box-shadow:0 0 8px #ef444480,inset 0 -3px 5px #0000004d}.circle.piece-blue{box-shadow:0 0 8px #3b82f680,inset 0 -3px 5px #0000004d}}@media (min-height:1400px) and (min-width:1400px){.cell{height:62px;width:68px}.board-grid{padding:32px 36px}}@media (max-height:850px){.cell{height:25px;width:28px}}@media (max-height:700px){.cell{height:20px;width:22px}.board-grid{padding:4px 6px}.top-bar{padding:6px 10px}}@media (max-height:600px){.cell{height:16px;width:18px}.turn-indicator{display:none}}.game-status{display:flex;flex-direction:column;gap:4px;min-width:180px;padding:10px 14px}.status-line{align-items:center;color:#ffffffbf;display:flex;font-family:inherit;font-size:.78rem;gap:8px}.status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-dot.red{background:#ef4444;box-shadow:0 0 6px #ef444499}.status-dot.blue{background:#3b82f6;box-shadow:0 0 6px #3b82f699}.status-text{color:#ffffffd9}.status-text-dim{color:#fff6}.status-speed{border-top:1px solid #ffffff14;font-size:.7rem;justify-content:space-between;margin-top:2px;padding-top:5px}.setup-modal{align-items:center;animation:fade-in .25s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#05050fb3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.setup-modal-content{background:#141623e0;border:1px solid #ffffff1f;border-radius:18px;box-shadow:0 24px 60px #00000080;padding:34px 38px;width:min(620px,94vw)}.setup-title{color:#fffffff2;font-family:inherit;font-size:1.85rem;font-weight:500;letter-spacing:.01em;margin:0 0 4px}.setup-subtitle{color:#ffffff73;font-family:inherit;font-size:.98rem;margin:0 0 28px}.setup-sides{display:flex;gap:18px;margin-bottom:22px}.setup-side{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;display:flex;flex:1 1;flex-direction:column;gap:10px;padding:18px}.setup-side-header{align-items:center;display:flex;font-family:inherit;gap:8px}.setup-dot{border-radius:50%;height:10px;width:10px}.setup-dot.red{background:#ef4444;box-shadow:0 0 8px #ef444499}.setup-dot.blue{background:#3b82f6;box-shadow:0 0 8px #3b82f699}.setup-side-label{color:#ffffffe6;font-size:1.05rem;font-weight:500}.setup-toggle-row{background:#0000004d;border-radius:8px;display:flex;gap:4px;padding:3px}.setup-pill{background:#0000;border:none;border-radius:6px;color:#ffffff80;cursor:pointer;flex:1 1;font-family:inherit;font-size:.9rem;padding:9px 10px;transition:background .15s,color .15s}.setup-pill:hover{color:#ffffffd9}.setup-pill.active{background:#ffffff1f;color:#fff}.setup-select{background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;color:#ffffffe6;cursor:pointer;font-family:inherit;font-size:.9rem;outline:none;padding:10px 12px;width:100%}.setup-select option{background:#1a1a2e}.setup-ai-select-wrap{display:flex;flex-direction:column;gap:6px}.setup-ai-rating{color:#ffffff73;font-size:.74rem;line-height:1.35;min-height:16px}.setup-speed{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;display:flex;gap:12px;margin-bottom:22px;padding:14px 16px}.setup-speed-label{color:#ffffffb3;flex-shrink:0;font-family:inherit;font-size:.9rem}.setup-slider{-webkit-appearance:none;appearance:none;background:#ffffff26;border-radius:2px;flex:1 1;height:4px;outline:none}.setup-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#ffffffd9;border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.setup-slider::-moz-range-thumb{background:#ffffffd9;border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.setup-speed-value{color:#ffffff8c;font-family:inherit;font-size:.86rem;text-align:right;width:58px}.setup-start-btn{background:linear-gradient(135deg,#6366f199,#8b5cf699);border:1px solid #8b5cf680;border-radius:10px;box-shadow:0 4px 20px #8b5cf640;color:#fff;cursor:pointer;font-family:inherit;font-size:1.08rem;font-weight:500;letter-spacing:.02em;padding:15px;transition:filter .15s,transform .1s,box-shadow .15s;width:100%}.setup-start-btn:hover{box-shadow:0 6px 24px #8b5cf673;filter:brightness(1.15)}.setup-start-btn:active{transform:translateY(1px)}@media (max-width:600px){.setup-modal-content{padding:24px 20px;width:min(420px,92vw)}.setup-sides{flex-direction:column;gap:12px}.setup-title{font-size:1.45rem}.setup-subtitle{font-size:.86rem;margin-bottom:18px}.setup-speed{flex-wrap:wrap}.setup-speed-label,.setup-speed-value{width:auto}.setup-slider{min-width:100%}}.title-section{display:flex;flex-direction:column;gap:2px}.main-title{align-items:center;color:#ffffffe6;display:flex;font-size:1.1rem;font-weight:600;gap:10px;letter-spacing:-.01em;margin:0}.subtitle{color:#ffffff59;font-size:.75rem;font-weight:400;margin:0}.author{color:#fff3;font-size:.68rem;font-weight:300;margin:2px 0 0}.rules-toggle-button{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;color:#fff6;cursor:pointer;display:flex;font-size:.8rem;height:24px;justify-content:center;line-height:1;padding:0;transition:background .2s,color .2s;width:24px}.rules-toggle-button:hover{background:#ffffff26;color:#fffc}.rules-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:100}.rules-modal-content{background:#14141ef2;border:1px solid #ffffff1a;border-radius:16px;color:#fffc;font-size:.88rem;line-height:1.6;max-width:440px;padding:24px;position:relative;width:90%}.rules-modal-content h2{color:#ffffffe6;font-size:1rem;font-weight:600;margin:0 0 12px}.rules-modal-content p{margin:0 0 8px}.rules-modal-content ul{margin:4px 0 0;padding-left:20px}.rules-modal-content li{margin-bottom:4px}.close-button{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;color:#ffffff80;cursor:pointer;display:flex;font-size:.9rem;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:12px;top:12px;transition:background .2s;width:28px}.close-button:hover{background:#ffffff26;color:#fffc}.strategy-page{background:#0a0a0f;color:#ffffffd9;min-height:100vh;overflow-x:hidden;overflow-y:auto;width:100vw}.strategy-content{margin:0 auto;max-width:760px;padding:40px 24px 80px}.back-link{align-items:center;background:none;border:none;color:#fff6;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8rem;gap:6px;margin-bottom:32px;padding:0;text-decoration:none;transition:all .2s}.back-link:hover{color:#fffc}.strategy-hero{margin-bottom:48px}.strategy-hero h1{font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:0 0 6px}.strategy-hero .subtitle{color:#ffffff59;font-size:.95rem;font-weight:300;margin:0}.strategy-section{margin-bottom:48px}.strategy-section h2{color:#ffffffe6;font-size:1.2rem;font-weight:600;letter-spacing:-.01em;margin:0 0 16px}.strategy-section h3{color:#ffffffd9;font-size:1rem;font-weight:500;margin:24px 0 10px}.strategy-section p{color:#fff9;font-size:.88rem;line-height:1.7;margin:0 0 12px}.strategy-section strong{color:#ffffffd9;font-weight:500}.strategy-section em{color:#ffffff80;font-style:italic}.strategy-section code{background:#ffffff0f;border-radius:4px;color:#ffffffb3;font-family:SF Mono,Fira Code,monospace;font-size:.82rem;padding:2px 6px}.strategy-section ul{margin:8px 0 12px;padding-left:20px}.strategy-section li{color:#fff9;font-size:.88rem;line-height:1.7;margin-bottom:4px}.strategy-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;margin-bottom:16px;padding:20px 24px}.strategy-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.strategy-card-header h3{font-size:1rem;font-weight:600;margin:0}.strategy-badge{border-radius:20px;font-size:.68rem;font-weight:500;letter-spacing:.03em;padding:3px 10px}.badge-weak{background:#ef44441f;border:1px solid #ef444426;color:#ef4444cc}.badge-medium{background:#facc151a;border:1px solid #facc1526;color:#facc15cc}.badge-strong{background:#4ade801a;border:1px solid #4ade8026;color:#4ade80cc}.badge-best{background:#3b82f61f;border:1px solid #3b82f626;color:#3b82f6cc}.strategy-card .complexity{color:#ffffff4d;font-size:.75rem;margin-top:8px}.data-table{border-collapse:collapse;font-size:.8rem;margin:16px 0;width:100%}.data-table th{border-bottom:1px solid #ffffff1a;color:#fff6;font-size:.72rem;font-weight:500;letter-spacing:.05em;padding:10px 12px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #ffffff0a;color:#ffffffa6;padding:10px 12px}.data-table tr:hover td{background:#ffffff05}.win-red{color:#ef4444;font-weight:500}.win-blue{color:#3b82f6;font-weight:500}.win-tie{color:#ffffff4d}.matrix-table,.matrix-table th{text-align:center}.matrix-table th{font-size:.68rem}.matrix-table td{font-feature-settings:"tnum";font-size:.78rem;font-variant-numeric:tabular-nums;text-align:center}.matrix-table td:first-child{text-align:left}.matrix-diagonal{color:#ffffff1a}.bar-chart{margin:20px 0}.bar-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.bar-label{color:#ffffff80;flex-shrink:0;font-size:.75rem;text-align:right;width:160px}.bar-track{background:#ffffff08;border-radius:4px;display:flex;flex:1 1;height:24px;overflow:hidden}.bar-fill-red{background:linear-gradient(90deg,#ef4444,#f87171)}.bar-fill-blue,.bar-fill-red{align-items:center;color:#fff;display:flex;font-size:.68rem;font-weight:500;height:100%;justify-content:center;min-width:28px;transition:width .6s ease}.bar-fill-blue{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.bar-fill-gray{align-items:center;background:#ffffff14;color:#fff6;display:flex;font-size:.68rem;font-weight:500;height:100%;justify-content:center;min-width:20px}.trace-box{background:#0000004d;border:1px solid #ffffff0f;border-radius:8px;color:#ffffff80;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.8;margin:12px 0;overflow-x:auto;padding:14px 18px}.trace-box .highlight{color:#ef4444;font-weight:500}.hex-grid-visual{display:inline-grid;font-size:.7rem;gap:2px;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,36px);margin:12px 0;text-align:center}.hex-cell{align-items:center;border-radius:6px;color:#ffffff80;display:flex;justify-content:center}.hex-cell.active{background:#ffffff0f;border:1px solid #ffffff1a;color:#fffc}.hex-cell.center{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6;font-weight:600}.hex-cell.disabled{color:#ffffff1a}.insight-box{background:#3b82f60d;border-left:3px solid #3b82f64d;border-radius:0 8px 8px 0;margin:16px 0;padding:14px 18px}.insight-box p{color:#ffffffa6;font-size:.85rem;margin:0}.section-divider{border:none;border-top:1px solid #ffffff0f;margin:48px 0}@media (max-width:600px){.strategy-content{padding:24px 16px 60px}.strategy-hero h1{font-size:1.5rem}.bar-label{font-size:.68rem;width:100px}.data-table{font-size:.72rem}.data-table td,.data-table th{padding:8px 6px}.strategy-card{padding:14px 16px}}
/*# sourceMappingURL=main.674e2c19.css.map*/