.ai-selector{display:flex;flex-direction:column;gap:12px}.ai-selector__title{font-size:1rem;font-weight:600;color:#333;margin:0}.ai-selector__options{display:flex;flex-direction:column;gap:8px}.ai-selector__option{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px;background-color:#f5f5f5;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.ai-selector__option:hover:not(:disabled){background-color:#e8e8e8;border-color:#ccc}.ai-selector__option--selected{background-color:#e3f2fd;border-color:#2196f3}.ai-selector__option--selected:hover:not(:disabled){background-color:#bbdefb;border-color:#1976d2}.ai-selector__option:disabled{opacity:.5;cursor:not-allowed}.ai-selector__label{font-size:1rem;font-weight:600;color:#333}.ai-selector__description{font-size:.85rem;color:#666;margin-top:4px}.ai-selector__adjustment{padding:12px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:12px}.ai-selector__adjustment-content{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.ai-selector__adjustment-icon{font-size:1.2rem;flex-shrink:0}.ai-selector__adjustment-text{flex:1;font-size:.9rem;color:#856404}.ai-selector__adjustment-text strong{display:block;margin-bottom:4px;color:#664d03}.ai-selector__adjustment-text p{margin:4px 0}.ai-selector__adjustment-suggestion{margin-top:8px;font-weight:500}.ai-selector__adjustment-actions{display:flex;gap:8px;justify-content:flex-end}.ai-selector__adjustment-button{padding:6px 12px;font-size:.85rem;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s}.ai-selector__adjustment-button--accept{background-color:#28a745;color:#fff}.ai-selector__adjustment-button--accept:hover{background-color:#218838}.ai-selector__adjustment-button--dismiss{background-color:#6c757d;color:#fff}.ai-selector__adjustment-button--dismiss:hover{background-color:#5a6268}.ai-config{padding:12px;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-top:12px}.ai-config__title{font-size:.9rem;font-weight:600;color:#424242;margin:0 0 12px}.ai-config__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ai-config__row:last-child{margin-bottom:0}.ai-config__label{font-size:.85rem;color:#616161}.ai-config__select{padding:6px 10px;font-size:.85rem;border:1px solid #bdbdbd;border-radius:4px;background-color:#fff;cursor:pointer;min-width:120px}.ai-config__select:hover:not(:disabled){border-color:#9e9e9e}.ai-config__select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.ai-config__select:disabled{background-color:#eee;color:#9e9e9e;cursor:not-allowed}.game-mode-selector{display:flex;flex-direction:column;gap:16px;padding:16px;background-color:#f9f9f9;border-radius:12px}.game-mode-selector__title{font-size:1.1rem;font-weight:600;color:#333;margin:0}.game-mode-selector__modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.game-mode-selector__mode{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;min-height:80px;background-color:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center}.game-mode-selector__mode:hover:not(:disabled){border-color:#aaa;background-color:#f5f5f5}.game-mode-selector__mode--selected{border-color:#2196f3;background-color:#e3f2fd}.game-mode-selector__mode--selected:hover:not(:disabled){border-color:#1976d2;background-color:#bbdefb}.game-mode-selector__mode-label{font-size:1rem;font-weight:600;color:#333;white-space:nowrap}.game-mode-selector__mode-desc{font-size:.75rem;color:#666;margin-top:4px;line-height:1.3}.game-mode-selector__ai-options{display:flex;flex-direction:column;gap:16px;padding-top:8px;border-top:1px solid #e0e0e0}.game-mode-selector__color-select{display:flex;flex-direction:column;gap:8px}.game-mode-selector__color-select h4{font-size:.9rem;font-weight:600;color:#333;margin:0}.game-mode-selector__colors{display:flex;gap:8px}.game-mode-selector__color{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background-color:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s ease}.game-mode-selector__color:hover:not(:disabled){border-color:#aaa}.game-mode-selector__color--selected{border-color:#2196f3;background-color:#e3f2fd}.game-mode-selector__stone{width:16px;height:16px;border-radius:50%}.game-mode-selector__stone--black{background-color:#333}.game-mode-selector__stone--white{background-color:#fff;border:2px solid #333}.game-mode-selector__start{padding:14px 24px;background-color:#4caf50;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.game-mode-selector__start:hover:not(:disabled){background-color:#43a047}.game-mode-selector__start:disabled{background-color:#ccc;cursor:not-allowed}.game-mode-selector__ai-vs-ai{display:flex;align-items:flex-start;gap:12px}.game-mode-selector__ai-player{flex:1}.game-mode-selector__ai-player h4{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:#333;margin:0 0 8px}.game-mode-selector__ai-vs{display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#666;padding-top:40px}.game-mode-selector__config-toggle{display:flex;justify-content:flex-end}.game-mode-selector__config-button{padding:6px 12px;font-size:.85rem;background-color:transparent;border:1px solid #bdbdbd;border-radius:4px;color:#616161;cursor:pointer;transition:all .2s ease}.game-mode-selector__config-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#9e9e9e}@media (max-width: 480px){.game-mode-selector__modes{grid-template-columns:1fr}.game-mode-selector__mode{flex-direction:row;justify-content:flex-start;gap:12px;min-height:auto;padding:12px 16px;text-align:left}.game-mode-selector__mode-label{font-size:.95rem}.game-mode-selector__mode-desc{display:none}.game-mode-selector__ai-vs-ai{flex-direction:column}.game-mode-selector__ai-vs{padding:8px 0}.game-mode-selector__colors{flex-direction:column}}.thinking-indicator{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background-color:#fff3e0;border:1px solid #ffcc80;border-radius:8px}.thinking-indicator__header{display:flex;align-items:center;gap:12px}.thinking-indicator__spinner{width:20px;height:20px;border:3px solid #ffcc80;border-top-color:#ff9800;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.thinking-indicator__text{font-size:.9rem;color:#e65100;font-weight:500}.thinking-indicator__time{margin-left:8px;font-size:.85rem;color:#ff9800}.thinking-indicator__progress-container{width:100%;height:6px;background-color:#ffcc80;border-radius:3px;overflow:hidden}.thinking-indicator__progress-bar{height:100%;background:linear-gradient(90deg,#ff9800,#f57c00);border-radius:3px;transition:width .1s linear}.difficulty-indicator{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background-color:#fff;border:2px solid;border-radius:20px}.difficulty-indicator__icon{width:10px;height:10px;border-radius:50%}.difficulty-indicator__label{font-size:.85rem;font-weight:600;color:#333}.ai-stats{padding:16px;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px}.ai-stats--loading,.ai-stats--error,.ai-stats--empty{text-align:center;padding:12px;color:#757575;font-size:.9rem}.ai-stats--error{color:#d32f2f}.ai-stats--compact{padding:8px 12px}.ai-stats__title{font-size:.95rem;font-weight:600;color:#424242;margin:0 0 12px}.ai-stats__overview{display:flex;justify-content:space-around;margin-bottom:16px}.ai-stats__stat{display:flex;flex-direction:column;align-items:center}.ai-stats__stat-value{font-size:1.5rem;font-weight:700;color:#333}.ai-stats__stat--highlight .ai-stats__stat-value{color:#1976d2}.ai-stats__stat-label{font-size:.75rem;color:#757575;margin-top:2px}.ai-stats__record-bar{display:flex;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.ai-stats__record-segment{height:100%;transition:width .3s ease}.ai-stats__record-segment--win{background-color:#4caf50}.ai-stats__record-segment--draw{background-color:#9e9e9e}.ai-stats__record-segment--loss{background-color:#f44336}.ai-stats__legend{display:flex;justify-content:center;gap:16px;margin-bottom:16px}.ai-stats__legend-item{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#616161}.ai-stats__legend-color{width:12px;height:12px;border-radius:2px}.ai-stats__legend-color--win{background-color:#4caf50}.ai-stats__legend-color--draw{background-color:#9e9e9e}.ai-stats__legend-color--loss{background-color:#f44336}.ai-stats__by-difficulty{border-top:1px solid #e0e0e0;padding-top:12px}.ai-stats__by-difficulty h5{font-size:.85rem;font-weight:600;color:#616161;margin:0 0 8px}.ai-stats__difficulty-list{display:flex;flex-direction:column;gap:6px}.ai-stats__difficulty-item{display:flex;align-items:center;font-size:.85rem}.ai-stats__difficulty-label{width:40px;color:#424242;font-weight:500}.ai-stats__difficulty-games{flex:1;color:#757575}.ai-stats__difficulty-rate{width:40px;text-align:right;font-weight:600;color:#1976d2}.ai-stats--compact .ai-stats__summary{display:flex;align-items:center;gap:12px}.ai-stats--compact .ai-stats__win-rate{font-size:1.2rem;font-weight:700;color:#1976d2}.ai-stats--compact .ai-stats__record{font-size:.85rem;color:#616161}.ai-stats__move-patterns{border-top:1px solid #e0e0e0;padding-top:12px;margin-top:12px}.ai-stats__toggle-patterns{background:none;border:none;padding:4px 8px;font-size:.85rem;font-weight:600;color:#1976d2;cursor:pointer;display:flex;align-items:center;gap:4px;transition:color .2s}.ai-stats__toggle-patterns:hover{color:#1565c0}.ai-stats__patterns-content{margin-top:8px;padding-left:12px}.ai-stats__pattern-section{margin-bottom:12px}.ai-stats__pattern-section h6{font-size:.8rem;font-weight:600;color:#616161;margin:0 0 6px}.ai-stats__pattern-list{display:flex;flex-direction:column;gap:4px}.ai-stats__pattern-item{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#424242;padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.ai-stats__pattern-item span:first-child{font-weight:600;min-width:60px}.ai-stats__pattern-item span:last-child{color:#757575;margin-left:auto}.ai-insights{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.ai-insights__marker{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:transform .2s ease;pointer-events:auto;cursor:help}.ai-insights__marker--rank-1{box-shadow:0 0 12px #ffd700cc,0 2px 8px #0000004d;border:2px solid rgba(255,255,255,.8)}.ai-insights__marker--rank-2{box-shadow:0 0 8px #c0c0c099,0 2px 6px #0003;border:2px solid rgba(255,255,255,.6)}.ai-insights__marker--rank-3{box-shadow:0 0 6px #cd7f3280,0 2px 4px #0003;border:1px solid rgba(255,255,255,.4)}.ai-insights__marker--rank-4,.ai-insights__marker--rank-5{box-shadow:0 2px 4px #0003;border:1px solid rgba(255,255,255,.3)}.ai-insights__marker:hover{transform:translate(-50%,-50%) scale(1.2)!important;z-index:20}.ai-insights__rank{font-size:.7rem;line-height:1}.ai-insights__score{font-size:.55rem;line-height:1;opacity:.9}.ai-insights__info{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);display:flex;gap:12px;padding:4px 12px;background:#2a1f12d9;border-radius:12px;color:#fdf6e3;font-size:.75rem;white-space:nowrap}.ai-insights__info-item{display:flex;align-items:center;gap:4px}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.ai-insights__marker--rank-1{animation:pulse 2s ease-in-out infinite}@media (max-width: 600px){.ai-insights__marker{width:28px;height:28px}.ai-insights__rank{font-size:.6rem}.ai-insights__score{font-size:.5rem}.ai-insights__info{font-size:.65rem;padding:3px 8px}}.learning-visualization{background:#fffffff2;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0000001a;max-width:1000px;margin:0 auto}.learning-visualization__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e5e5}.learning-visualization__header h2{margin:0;font-size:1.5rem;color:#2a1f12}.learning-visualization__refresh{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.learning-visualization__refresh:hover{transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}.learning-visualization__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.learning-visualization__metric{background:#fff;border-radius:8px;padding:16px;border:1px solid #e5e5e5;text-align:center}.learning-visualization__metric-label{font-size:.75rem;color:#666;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.learning-visualization__metric-value{font-size:1.5rem;font-weight:700;color:#2a1f12}.learning-visualization__chart{margin-bottom:32px;background:#fff;border-radius:8px;padding:24px;border:1px solid #e5e5e5}.learning-visualization__chart h3{margin:0 0 16px;font-size:1.125rem;color:#2a1f12}.learning-visualization__chart-container{width:100%;height:200px;overflow:hidden}.learning-visualization__chart-svg{width:100%;height:100%}.learning-visualization__empty{padding:40px;text-align:center;color:#999;background:#fff;border-radius:8px;border:1px solid #e5e5e5}.learning-visualization__loading,.learning-visualization__error{padding:40px;text-align:center;color:#666}.learning-visualization__error{color:#e74c3c}.learning-visualization__retry{margin-top:16px;padding:8px 16px;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.learning-visualization__retry:hover{transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}@media (max-width: 768px){.learning-visualization{padding:16px}.learning-visualization__metrics{grid-template-columns:repeat(2,1fr);gap:12px}.learning-visualization__metric{padding:12px}.learning-visualization__metric-value{font-size:1.25rem}}.learning-manager{background:#fffffff2;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0000001a;max-width:600px;margin:0 auto}.learning-manager__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e5e5}.learning-manager__header h2{margin:0;font-size:1.5rem;color:#2a1f12}.learning-manager__close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.learning-manager__close:hover{background:#0000001a}.learning-manager__content{display:flex;flex-direction:column;gap:24px}.learning-manager__section{padding:16px;background:#2a1f120d;border-radius:12px}.learning-manager__section h3{margin:0 0 8px;font-size:1.1rem;color:#2a1f12}.learning-manager__description{margin:0 0 12px;font-size:.875rem;color:#666;line-height:1.5}.learning-manager__stats{display:flex;gap:24px;flex-wrap:wrap}.learning-manager__stat{display:flex;flex-direction:column;gap:4px}.learning-manager__stat-label{font-size:.75rem;color:#666}.learning-manager__stat-value{font-size:1.25rem;font-weight:600;color:#2a1f12}.learning-manager__progress{margin:12px 0}.learning-manager__progress-bar{width:100%;height:8px;background:#2a1f121a;border-radius:4px;overflow:hidden;margin-bottom:8px}.learning-manager__progress-fill{height:100%;background:linear-gradient(90deg,#4a90e2,#357abd);transition:width .3s ease}.learning-manager__progress-text{font-size:.875rem;color:#666}.learning-manager__progress-details{display:flex;gap:16px;font-size:.75rem;color:#666;margin-top:4px}.learning-manager__actions{display:flex;flex-direction:column;gap:8px}.learning-manager__button{padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.learning-manager__button--primary{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}.learning-manager__button--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}.learning-manager__button--primary:disabled{opacity:.5;cursor:not-allowed}.learning-manager__button--danger{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.learning-manager__button--danger:hover{transform:translateY(-1px);box-shadow:0 4px 8px #e74c3c4d}.learning-manager__warning{font-size:.75rem;color:#e67e22;font-style:italic}.learning-manager__success{padding:8px 12px;background:#2ecc711a;border:1px solid rgba(46,204,113,.3);border-radius:8px;color:#27ae60;font-size:.875rem;margin-bottom:12px}.learning-manager__error{padding:8px 12px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:8px;color:#c0392b;font-size:.875rem;margin-bottom:12px}.learning-manager__button--secondary{background:#2a1f121a;color:#2a1f12}.learning-manager__button--secondary:hover:not(:disabled){background:#2a1f1233}.learning-manager__button--secondary:disabled{opacity:.5;cursor:not-allowed}.learning-manager__performance-analysis{margin-top:16px;padding:16px;background:#fffc;border-radius:8px;border:1px solid #e5e5e5}.learning-manager__performance-analysis h4{margin:0 0 12px;font-size:1rem;color:#2a1f12}.learning-manager__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.learning-manager__metric{display:flex;flex-direction:column;gap:4px;padding:8px;background:#2a1f120d;border-radius:6px}.learning-manager__metric-label{font-size:.75rem;color:#666}.learning-manager__metric-value{font-size:1.1rem;font-weight:600;color:#2a1f12}.learning-manager__recommendations{margin-top:16px}.learning-manager__recommendations h5{margin:0 0 8px;font-size:.9rem;color:#2a1f12}.learning-manager__recommendation{padding:12px;border-radius:6px;margin-bottom:8px;border-left:4px solid}.learning-manager__recommendation--high{background:#e74c3c1a;border-color:#e74c3c}.learning-manager__recommendation--medium{background:#f1c40f1a;border-color:#f1c40f}.learning-manager__recommendation--low{background:#3498db1a;border-color:#3498db}.learning-manager__recommendation strong{display:block;margin-bottom:4px;font-size:.875rem;color:#2a1f12}.learning-manager__recommendation p{margin:0;font-size:.8rem;color:#666;line-height:1.4}@media (max-width: 600px){.learning-manager{padding:16px}.learning-manager__stats{flex-direction:column;gap:12px}.learning-manager__progress-details{flex-direction:column;gap:4px}.learning-manager__metrics{grid-template-columns:1fr}}.auth-form{background:#fff9e9;border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 40px #00000026}.auth-title{font-size:1.5rem;font-weight:600;color:#2a1f12;text-align:center;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#2a1f12;margin-bottom:8px}.form-group input{width:100%;padding:12px 16px;font-size:1rem;color:#2a1f12;background:#ffffffe6;border:1px solid rgba(42,31,18,.2);border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus{border-color:#8b5a2b;box-shadow:0 0 0 3px #8b5a2b26}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#2a1f1266}.form-hint{display:block;font-size:.75rem;color:#2a1f1299;margin-top:4px}.auth-error{background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:8px;padding:12px;margin-bottom:20px;color:#dc3545;font-size:.875rem;text-align:center}.auth-button{width:100%;padding:14px 24px;font-size:1rem;font-weight:600;color:#fdf6e3;background:#2a1f12;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2a1f124d}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:24px;text-align:center;font-size:.875rem;color:#2a1f12b3}.auth-switch-button{background:none;border:none;color:#8b5a2b;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:underline}.auth-switch-button:hover{color:#2a1f12}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.auth-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:transparent;border:none;color:#2a1f1280;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s,color .2s}.auth-modal-close:hover{background:#2a1f121a;color:#2a1f12}.user-menu{position:relative}.user-menu-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#2a1f121a;border:none;border-radius:8px;color:#2a1f12;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.user-menu-button:hover{background:#2a1f1226}.user-avatar{width:32px;height:32px;border-radius:50%;background:#2a1f12;color:#fdf6e3;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff9e9;border-radius:8px;box-shadow:0 4px 24px #00000026;min-width:180px;overflow:hidden;z-index:100}.user-menu-item{display:block;width:100%;padding:12px 16px;background:none;border:none;color:#2a1f12;font-size:.875rem;text-align:left;cursor:pointer;transition:background .2s}.user-menu-item:hover{background:#2a1f1214}.user-menu-item.danger{color:#dc3545}.user-menu-divider{height:1px;background:#2a1f121a;margin:4px 0}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.profile-modal{position:relative;background:#fff9e9;border-radius:16px;padding:32px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #00000026}.profile-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:transparent;border:none;color:#2a1f1280;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s,color .2s}.profile-modal-close:hover{background:#2a1f121a;color:#2a1f12}.profile-title{font-size:1.5rem;font-weight:600;color:#2a1f12;text-align:center;margin-bottom:24px}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid rgba(42,31,18,.1)}.profile-avatar{width:64px;height:64px;border-radius:50%;background:#2a1f12;color:#fdf6e3;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.5rem}.profile-info{flex:1}.profile-name{font-size:1.25rem;font-weight:600;color:#2a1f12;margin:0 0 4px}.profile-username{font-size:.875rem;color:#2a1f1299;margin:0}.profile-section{margin-bottom:24px}.profile-section-title{font-size:.875rem;font-weight:600;color:#2a1f12b3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{background:#fff9;border-radius:12px;padding:16px;text-align:center}.stat-card.win{background:#22c55e1a}.stat-card.lose{background:#ef44441a}.stat-card.draw{background:#3b82f61a}.stat-card.highlight{background:linear-gradient(135deg,#8b5a2b1a,#2a1f121a)}.stat-value{font-size:1.5rem;font-weight:700;color:#2a1f12;margin-bottom:4px}.stat-label{font-size:.75rem;color:#2a1f1299}.account-info{background:#fff9;border-radius:12px;padding:16px}.account-row{display:flex;justify-content:space-between;padding:8px 0}.account-row:not(:last-child){border-bottom:1px solid rgba(42,31,18,.1)}.account-label{font-size:.875rem;color:#2a1f1299}.account-value{font-size:.875rem;color:#2a1f12;font-weight:500}.profile-loading,.profile-error,.profile-empty{text-align:center;padding:32px;color:#2a1f1299;font-size:.875rem}.profile-error{color:#dc3545;background:#dc35451a;border-radius:8px}.game-history-list{display:flex;flex-direction:column;gap:8px}.game-history-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff9;border-radius:8px;transition:background .2s}.game-history-item:hover{background:#ffffffe6}.game-history-result{flex-shrink:0}.result-badge{display:inline-block;padding:4px 12px;border-radius:16px;font-size:.75rem;font-weight:600;background:#2a1f121a;color:#2a1f12b3}.result-badge.win{background:#22c55e26;color:#16a34a}.result-badge.lose{background:#ef444426;color:#dc2626}.result-badge.draw{background:#3b82f626;color:#2563eb}.game-history-details{flex:1;min-width:0}.game-history-opponent{font-size:.875rem;font-weight:600;color:#2a1f12;margin-bottom:2px}.game-history-meta{display:flex;gap:8px;font-size:.75rem;color:#2a1f1299}.game-history-date{flex-shrink:0;font-size:.75rem;color:#2a1f1280}.profile-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(42,31,18,.1)}.pagination-btn{padding:8px 16px;background:#2a1f121a;border:none;border-radius:6px;font-size:.875rem;color:#2a1f12;cursor:pointer;transition:background .2s}.pagination-btn:hover:not(:disabled){background:#2a1f1226}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.875rem;color:#2a1f1299}.profile-edit__title{font-size:1.25rem;font-weight:600;color:#2a1f12;margin:0 0 24px}.profile-edit__form{display:flex;flex-direction:column;gap:16px}.profile-edit__field{display:flex;flex-direction:column;gap:6px}.profile-edit__label{font-size:.875rem;font-weight:500;color:#2a1f12}.profile-edit__input{padding:10px 12px;border:1px solid rgba(42,31,18,.2);border-radius:8px;font-size:.9rem;background:#fffc;transition:border-color .2s,box-shadow .2s}.profile-edit__input:focus{outline:none;border-color:#8b5a2b;box-shadow:0 0 0 3px #8b5a2b1a}.profile-edit__hint{font-size:.75rem;color:#2a1f1280;margin:0}.profile-edit__error{padding:10px 12px;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:8px;color:#dc3545;font-size:.875rem}.profile-edit__success{padding:10px 12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#16a34a;font-size:.875rem}.profile-edit__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.profile-edit__button{padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.profile-edit__button:active:not(:disabled){transform:scale(.98)}.profile-edit__button--cancel{background:#2a1f121a;color:#2a1f12}.profile-edit__button--cancel:hover:not(:disabled){background:#2a1f1226}.profile-edit__button--save{background:#8b5a2b;color:#fff}.profile-edit__button--save:hover:not(:disabled){background:#7a4d24}.profile-edit__button--danger{background:#dc3545;color:#fff}.profile-edit__button--danger:hover:not(:disabled){background:#c82333}.profile-edit__button:disabled{opacity:.5;cursor:not-allowed}.profile-edit__danger-zone{margin-top:32px;padding-top:24px;border-top:1px solid rgba(220,53,69,.3)}.profile-edit__danger-title{font-size:.875rem;font-weight:600;color:#dc3545;margin:0 0 8px}.profile-edit__danger-text{font-size:.85rem;color:#2a1f1299;margin:0 0 16px}.delete-confirm{padding:16px 0}.delete-confirm__warning{font-size:.9rem;color:#dc3545;margin:0 0 20px;line-height:1.5}.delete-confirm__input-group{margin-bottom:16px}.delete-confirm__input-group label{display:block;font-size:.85rem;color:#2a1f12b3;margin-bottom:8px}.delete-confirm__input{width:100%;padding:10px 12px;border:1px solid rgba(220,53,69,.3);border-radius:8px;font-size:.9rem;background:#fffc}.delete-confirm__input:focus{outline:none;border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.delete-confirm__actions{display:flex;justify-content:flex-end;gap:8px}.leaderboard{background:#fffffff2;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0000001a;max-width:800px;margin:0 auto}.leaderboard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e5e5e5}.leaderboard__header h2{margin:0;font-size:1.5rem;color:#2a1f12}.leaderboard__close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.leaderboard__close:hover{background:#0000001a}.leaderboard__content{overflow-x:auto}.leaderboard__table{width:100%;min-width:600px}.leaderboard__table-header{display:grid;grid-template-columns:80px 1fr 120px 180px 100px;gap:12px;padding:12px;background:#2a1f120d;border-radius:8px;font-weight:600;font-size:.875rem;color:#666}.leaderboard__table-body{display:flex;flex-direction:column;gap:8px;margin-top:12px}.leaderboard__row{display:grid;grid-template-columns:80px 1fr 120px 180px 100px;gap:12px;padding:12px;background:#fff;border-radius:8px;border:1px solid #e5e5e5;transition:all .2s ease}.leaderboard__row:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.leaderboard__col-rank{display:flex;align-items:center;justify-content:center}.leaderboard__rank{font-weight:700;font-size:1.1rem;color:#2a1f12}.leaderboard__rank--top{color:#f39c12}.leaderboard__col-name{display:flex;align-items:center;font-weight:600;color:#2a1f12}.leaderboard__col-rating{display:flex;align-items:center;justify-content:center}.leaderboard__rating-value{font-weight:700;font-size:1.1rem;color:#4a90e2}.leaderboard__col-stats{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#666}.leaderboard__games-count{color:#999;font-size:.75rem}.leaderboard__col-rate{display:flex;align-items:center;justify-content:center;font-weight:600;color:#27ae60}.leaderboard__empty{padding:40px;text-align:center;color:#999}.leaderboard__loading,.leaderboard__error{padding:40px;text-align:center;color:#666}.leaderboard__error{color:#e74c3c}.leaderboard__retry{margin-top:16px;padding:8px 16px;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.leaderboard__retry:hover{transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}@media (max-width: 768px){.leaderboard{padding:16px}.leaderboard__table-header,.leaderboard__row{grid-template-columns:60px 1fr 100px 140px 80px;gap:8px;font-size:.75rem}}.online-room-manager{background:#fffffff2;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0000001a;max-width:500px;margin:0 auto}.online-room-manager__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e5e5e5}.online-room-manager__header h3{margin:0;font-size:1.5rem;color:#2a1f12}.online-room-manager__close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.online-room-manager__close:hover{background:#0000001a}.online-room-manager__content{display:flex;flex-direction:column;gap:20px}.online-room-manager__status{display:flex;align-items:center;gap:12px;padding:12px;background:#2a1f120d;border-radius:8px}.online-room-manager__status-connected{color:#27ae60;font-weight:600}.online-room-manager__status-connecting{color:#f39c12;font-weight:600}.online-room-manager__status-disconnected{color:#e74c3c;font-weight:600}.online-room-manager__error{color:#e74c3c;font-size:.875rem}.online-room-manager__section{padding:16px;background:#2a1f120d;border-radius:12px}.online-room-manager__section h4{margin:0 0 12px;font-size:1.1rem;color:#2a1f12}.online-room-manager__settings{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.online-room-manager__settings label{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#666}.online-room-manager__settings select{padding:6px 12px;border:1px solid #ddd;border-radius:6px;font-size:.875rem}.online-room-manager__button{padding:10px 20px;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.online-room-manager__button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}.online-room-manager__button:disabled{opacity:.5;cursor:not-allowed}.online-room-manager__room-info{margin-bottom:16px}.online-room-manager__room-info p{margin:8px 0;font-size:.875rem;color:#666}.online-room-manager__game-started{color:#27ae60;font-weight:600;font-size:1rem}.online-room-manager__chat{max-height:200px;overflow-y:auto;margin-bottom:12px;padding:8px;background:#fff;border-radius:6px;border:1px solid #ddd}.online-room-manager__chat-message{margin-bottom:8px;font-size:.875rem}.online-room-manager__chat-name{font-weight:600;color:#2a1f12;margin-right:8px}.online-room-manager__chat-text{color:#666}.online-room-manager__chat-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.875rem}.online-room-manager__rooms-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.online-room-manager__room-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border:1px solid #ddd;border-radius:8px}.online-room-manager__room-item-info{flex:1}.online-room-manager__room-item-name{margin:0 0 4px;font-weight:600;color:#2a1f12;font-size:.875rem}.online-room-manager__room-item-details{margin:0;font-size:.75rem;color:#666}.online-room-manager__button--small{padding:6px 16px;font-size:.75rem}.online-room-manager__button--primary{background:linear-gradient(135deg,#27ae60,#229954);font-weight:700}.online-room-manager__button--primary:hover:not(:disabled){box-shadow:0 4px 8px #27ae604d}.online-room-manager__matchmaking{padding:16px;background:#27ae601a;border-radius:8px;text-align:center}.online-room-manager__matchmaking-status{font-size:1.1rem;font-weight:600;color:#27ae60;margin:0 0 8px;animation:pulse 1.5s ease-in-out infinite}.online-room-manager__matchmaking-info{font-size:.875rem;color:#666;margin:0 0 16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.online-room-manager__room-actions{display:flex;gap:8px}.online-room-manager__button--spectate{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.online-room-manager__button--spectate:hover:not(:disabled){box-shadow:0 4px 8px #9b59b64d}.online-room-manager__room-status{margin-left:8px;padding:2px 8px;background:#27ae60;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.online-room-manager__room-spectators{margin-left:8px;color:#9b59b6;font-size:.75rem}.online-room-manager__spectator-mode{color:#9b59b6;font-weight:600}.online-room-manager__spectators-count{color:#666;font-size:.875rem}@media (max-width: 600px){.online-room-manager{padding:16px}}:root{color-scheme:light;font-family:Bricolage Grotesque,Avenir Next,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;background:radial-gradient(circle at top,#f7f0d6,#e0cfa0);color:#2a1f12}body{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:#2a1f12;color:#fdf6e3;padding:8px 16px;z-index:100;text-decoration:none;font-weight:600;border-radius:0 0 8px;transition:top .2s ease}.skip-link:focus{top:0}.app{min-height:100vh;padding:32px}.site-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.site-header__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:12px}.site-header__title{margin:6px 0 0;font-size:42px;letter-spacing:.06em}.site-header__meta{padding:6px 12px;border-radius:999px;background:#0000001a;font-weight:600}.site-header__actions{display:flex;align-items:center;gap:8px}.app__main{display:grid;gap:24px;grid-template-columns:320px 1fr;margin-top:24px}.app__board{display:grid;gap:16px}.app__board-wrapper{position:relative}.app__insights-toggle{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;padding:6px 12px;background:#2a1f121a;border:1px solid rgba(42,31,18,.2);border-radius:16px;font-size:.75rem;color:#2a1f12;cursor:pointer;transition:all .2s ease}.app__insights-toggle:hover{background:#2a1f1226}.app__online-status{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:16px;font-size:.75rem;color:#16a34a;font-weight:600}.app__online-indicator{font-size:.8rem}.app__board-controls{display:flex;gap:8px;justify-content:center;margin-top:8px}.app__hint-button{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,gold,#ffb300);border:none;border-radius:16px;font-size:.75rem;color:#2a1f12;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.app__hint-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.app__hint-button:disabled{opacity:.7;cursor:wait}.app__hint-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#ffd700e6,#ffb300e6);border:3px solid #fff;box-shadow:0 0 20px #ffd70099,0 4px 12px #0000004d;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15;animation:hint-pulse 1.5s ease-in-out infinite}.app__hint-marker:hover{transform:translate(-50%,-50%) scale(1.1)}.app__hint-label{font-size:.65rem;font-weight:700;color:#2a1f12;text-shadow:0 1px 1px rgba(255,255,255,.5)}@keyframes hint-pulse{0%,to{box-shadow:0 0 20px #ffd70099,0 4px 12px #0000004d}50%{box-shadow:0 0 30px #ffd700cc,0 4px 16px #0006}}.app__panel{background:#ffffffb3;padding:20px;border-radius:16px;box-shadow:0 10px 30px #0000001a;display:grid;gap:16px}.app__controls{display:flex;gap:12px;margin-top:16px}.button{border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600}.button--primary{background:#2a1f12;color:#fdf6e3}.button--ghost{background:#2a1f121a;color:#2a1f12}.game-controls__buttons{display:grid;gap:10px}.game-controls__label{display:block;margin-bottom:6px;font-weight:600}.game-controls__select{width:100%;margin-bottom:12px;padding:8px 10px;border-radius:8px;border:1px solid rgba(42,31,18,.2);background:#ffffffe6;font:inherit}.game-controls__buttons button{width:100%}.game-result{background:#fffc;border-radius:14px;padding:16px;display:flex;justify-content:space-between;align-items:center}.game-result__message{margin:0;font-weight:600}.site-footer{margin-top:32px;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:20}.modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.modal__content{position:relative;background:#fff9e9;padding:20px;border-radius:16px;width:min(90vw,420px);box-shadow:0 20px 40px #0003;z-index:1}.modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal__header h2{margin:0;font-size:18px}.modal__close{border:none;background:transparent;cursor:pointer;font-weight:600}.loading{display:inline-flex;align-items:center;gap:8px}.loading__spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(0,0,0,.2);border-top-color:#000000b3;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game-info h2,.move-history h2{margin:0 0 8px;font-size:18px}.game-info__players{display:grid;gap:8px}.player-indicator{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;background:#0000000d}.player-indicator.is-active{background:#0000001f;font-weight:600}.player-indicator__stone{width:16px;height:16px;border-radius:50%;display:inline-block}.player-indicator__stone--black{background:#2a1f12}.player-indicator__stone--white{background:#fef8e8;border:1px solid #2a1f12}.game-info__stats{margin:12px 0 0;display:grid;gap:6px}.game-info__stats div{display:flex;justify-content:space-between}.game-info__stats dt{font-weight:600}.move-history__list{margin:0;padding-left:18px;display:grid;gap:4px;max-height:200px;overflow-y:auto}.move-history__item{width:100%;border:none;background:transparent;text-align:left;padding:4px 0;cursor:pointer;color:inherit}.move-history__empty{margin:0;color:#0009}.game-board{--grid-points: 16;--board-squares: 15;--cell-size: clamp(20px, 3.2vw, 34px);--stone-size: calc(var(--cell-size) * .97);--stone-radius: calc(var(--stone-size) / 2);--line-color: rgba(42, 31, 18, .55);position:relative;display:grid;grid-template-columns:repeat(var(--grid-points),0);grid-auto-rows:0;column-gap:var(--cell-size);row-gap:var(--cell-size);width:100%;aspect-ratio:1 / 1;padding:0;border-radius:0;overflow:visible;box-shadow:inset 0 0 0 2px #0000002e,0 18px 40px #0000002e}.game-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;background-color:#c79a5a;background-image:linear-gradient(0deg,var(--line-color) 1px,transparent 1px),linear-gradient(90deg,var(--line-color) 1px,transparent 1px),linear-gradient(135deg,#ffffff2e,#00000014);background-size:var(--cell-size) var(--cell-size),var(--cell-size) var(--cell-size),100% 100%;background-position:0 0,0 0,0 0;box-shadow:inset 0 0 0 2px #00000024;pointer-events:none}.game-board__row{display:contents}.board-cell{width:var(--stone-size);height:var(--stone-size);place-self:start;border-radius:50%;border:none;padding:0;background:transparent;font-size:0;line-height:0;cursor:pointer;touch-action:manipulation;transform:translate(-50%,-50%);position:relative;z-index:1}.board-cell:focus-visible,.board-cell.is-focused{outline:2px solid rgba(42,31,18,.7);outline-offset:2px}.board-cell[aria-disabled=true]{cursor:default}.board-cell:before{content:"";width:100%;height:100%;border-radius:50%;display:block;margin:auto;opacity:0;transform:scale(.4);transition:opacity .16s ease,transform .16s ease}.board-cell--black:before{opacity:1;transform:scale(1);background:radial-gradient(circle at 30% 30%,#5a5a5a,#1a1a1a 70%);box-shadow:0 0 10px #0000004d}.board-cell--white:before{opacity:1;transform:scale(1);background:radial-gradient(circle at 30% 30%,#fff,#d9d9d9 70%);box-shadow:0 0 10px #0003}.board-cell--none:after{content:"";position:absolute;top:50%;left:50%;width:30%;height:30%;border-radius:50%;background:#2a1f1233;transform:translate(-50%,-50%);opacity:0;transition:opacity .12s ease}.board-cell--none:hover:after{opacity:1}@media (max-width: 900px){.app__main{grid-template-columns:1fr}}@media (max-width: 600px){.game-board{--cell-size: calc(100% / var(--board-squares))}.game-board__row{gap:0}.board-cell{width:calc(var(--cell-size) * .82);height:calc(var(--cell-size) * .82)}}.app__learning-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;margin-top:12px;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.app__learning-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #9b59b64d}.app__modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.app__modal-content{max-width:90vw;max-height:90vh;overflow-y:auto}.app__online-info{padding:12px;background:#4a90e21a;border-radius:8px;margin-bottom:12px}.app__online-info p{margin:4px 0;font-size:.875rem;color:#2a1f12}.app__online-turn{color:#27ae60;font-weight:600}.app__online-waiting{color:#f39c12;font-weight:600}.app__online-spectator{color:#9b59b6;font-weight:600}.app__online-spectators{color:#666;font-size:.875rem}@keyframes stone-pop{0%{transform:translate(-50%,-50%) scale(.2);opacity:.3}70%{transform:translate(-50%,-50%) scale(1.05);opacity:1}to{transform:translate(-50%,-50%) scale(1)}}@keyframes highlight-line{0%{box-shadow:0 0 #fffc}to{box-shadow:0 0 16px #fffc}}.board-cell.is-placed{animation:stone-pop .24s ease-out}.board-cell.is-winning{animation:highlight-line .8s ease-in-out infinite alternate}
