:root{--color-bg-primary: #1a1a1a;--color-bg-secondary: #2a2a2a;--color-bg-tertiary: #3a3a3a;--color-text-primary: #ffffff;--color-text-secondary: #cccccc;--color-text-muted: #888888;--color-board-bg: #4a5d3a;--color-board-cell: #2d4a2d;--color-board-border: #1a3d1a;--color-board-valid: #4a5d6a;--color-board-highlight: #6a7d5a;--color-piece-black: #000000;--color-piece-white: #ffffff;--color-piece-border: #333333;--color-grade-c: #888888;--color-grade-b: #00ff7f;--color-grade-a: #ffd700;--color-grade-s: #ff69b4;--color-primary: #00ff7f;--color-primary-hover: #00cc65;--color-secondary: #4a90e2;--color-danger: #ff6b6b;--color-warning: #ffa726;--color-success: #66bb6a;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--border-radius: .5rem;--border-radius-sm: .25rem;--border-radius-lg: .75rem;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .2);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden}#app{width:100%;min-height:100vh;height:100dvh;display:flex;flex-direction:column}#game-container{flex:1;position:relative;width:100%;height:100%;overflow:hidden}.super-reversi-app{width:100%;height:100%;position:relative;background:linear-gradient(135deg,var(--color-bg-primary) 0%,#0f2a0f 100%)}@keyframes gradeFloatUp{0%{opacity:1;transform:translateY(0) scale(1)}50%{opacity:.9;transform:translateY(-50px) scale(1.1)}to{opacity:0;transform:translateY(-100px) scale(.8)}}.floating-grade-text{position:absolute;pointer-events:none;font-weight:700;font-family:Arial,sans-serif;text-align:center;text-shadow:0 0 10px currentColor,2px 2px 4px rgba(0,0,0,.8);animation:gradeFloatUp 2s ease-out forwards;z-index:2000!important}.floating-grade-text.grade-c{color:#d3d3d3;font-size:24px}.floating-grade-text.grade-b{color:#90ee90;font-size:28px}.floating-grade-text.grade-a{color:#87ceeb;font-size:32px}.floating-grade-text.grade-s{color:#9932cc;font-size:36px}.floating-grade-text.grade-ss{color:#ff8c00;font-size:42px}.floating-grade-text.grade-sss{color:gold;font-size:48px;text-shadow:0 0 20px currentColor,0 0 30px #ffa500,2px 2px 4px rgba(0,0,0,.8)}.ui-container{width:100%;height:100%;position:relative;z-index:10}.effects-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15;background:#0000001a;border:2px solid rgba(255,255,0,.3)}.screen-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-lg)}.menu-screen{text-align:center;max-width:min(90vw,25rem);width:100%}.ai-selection-screen{width:100%;max-width:min(95vw,50rem);height:100%;overflow-y:auto;overflow-x:hidden;padding:1rem 1rem 2rem;-webkit-overflow-scrolling:touch;box-sizing:border-box;text-align:center}.menu-screen h1{font-size:3rem;margin-bottom:var(--spacing-xl);color:var(--color-primary);text-shadow:0 0 20px rgba(0,255,127,.3);white-space:normal;overflow-wrap:anywhere;max-width:100%}.menu-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);flex-wrap:wrap}.game-screen{width:100%;height:100%;display:grid;grid-template-areas:"hud hud" "board controls" "board controls";grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.game-hud{grid-area:hud;display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-secondary);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow-md)}.game-board{grid-area:board;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:2px;background:var(--color-board-bg);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow-lg);max-width:100%;aspect-ratio:1 / 1;width:min(90vw,90vh,31rem);justify-self:center;align-self:center}.game-controls{grid-area:controls;display:flex;flex-direction:column;gap:var(--spacing-sm);flex-wrap:wrap;min-width:7.5em}.settings-screen{max-width:600px;width:100%}.settings-screen h2{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-primary)}.settings-sections{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.settings-section{background:var(--color-bg-secondary);border-radius:var(--border-radius);padding:var(--spacing-lg)}.settings-section h3{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.setting-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.setting-item:last-child{margin-bottom:0}.setting-item label{font-weight:500;color:var(--color-text-primary)}.pause-screen{text-align:center;max-width:min(90vw,25rem);width:100%}.pause-screen h2{font-size:2.5rem;margin-bottom:var(--spacing-xl);color:var(--color-warning)}.pause-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);flex-wrap:wrap}.board-cell{background:var(--color-board-cell);border:1px solid var(--color-board-border);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);position:relative;overflow:hidden}.board-cell:hover{background:var(--color-board-highlight);transform:scale(1.02)}.board-cell.valid-move{background:var(--color-board-valid);box-shadow:inset 0 0 10px #00ff7f4d}.board-cell.valid-move:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--color-primary);border-radius:50%;opacity:.6}.board-cell.last-move{box-shadow:0 0 15px var(--color-primary)}.piece{width:85%;height:85%;border-radius:50%;border:2px solid var(--color-piece-border);transition:all var(--transition-normal);position:relative;box-shadow:var(--shadow-sm)}.piece[data-color="1"]{background:var(--color-piece-black);border-color:#444}.piece[data-color="2"]{background:var(--color-piece-white);border-color:#ccc}.piece.placing{animation:piece-place .4s ease-out}.piece.flipping{animation:piece-flip .6s ease-in-out}@keyframes piece-place{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg);opacity:.8}to{transform:scale(1) rotate(360deg);opacity:1}}@keyframes piece-flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg) scale(1.1)}to{transform:rotateY(180deg)}}.hud-scores{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.player-score{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);border-radius:var(--border-radius);background:var(--color-bg-tertiary);transition:all var(--transition-normal);flex-wrap:wrap;min-width:7.5em}.player-score.active{background:var(--color-primary);color:var(--color-bg-primary);transform:scale(1.05);box-shadow:var(--shadow-md)}.player-name{font-size:.9rem;font-weight:600;margin-bottom:var(--spacing-xs)}.player-score .score{font-size:2rem;font-weight:700}.hud-info{display:flex;gap:var(--spacing-lg);font-size:.9rem;color:var(--color-text-secondary)}.menu-btn,.control-btn,.dialog-btn,.back-btn{background:var(--color-primary);color:var(--color-bg-primary);border:none;border-radius:var(--border-radius);padding:.75em 1.5em;line-height:1.2em;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;white-space:normal;overflow-wrap:anywhere;max-width:100%}.menu-btn:hover,.control-btn:hover,.dialog-btn:hover,.back-btn:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.menu-btn:active,.control-btn:active,.dialog-btn:active,.back-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.menu-btn.primary,.dialog-btn.primary{background:var(--color-primary)}.dialog-btn.secondary{background:var(--color-secondary)}.dialog-btn.danger{background:var(--color-danger)}.dialog-btn.success{background:var(--color-success)}.control-btn{font-size:.9rem;min-width:80px;padding:.5em 1em}select{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-text-muted);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);font-size:.9rem;min-width:9.375em}select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #00ff7f33}.dialog-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;animation:fade-in .3s ease-out;pointer-events:auto}.dialog{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:90%;pointer-events:auto;animation:modal-fade-in .3s ease-out;transform-origin:center center}.dialog.modal{background:var(--color-bg-primary)}.dialog-content{padding:2rem;max-width:100%;white-space:normal;overflow-wrap:anywhere}.dialog-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-primary);text-align:center}.dialog-message{margin-bottom:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);line-height:1.6}.dialog-buttons{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.modal-success .dialog-title{color:#4caf50}.modal-success .dialog-title:before{content:"✓ ";font-weight:700}.modal-error .dialog-title{color:#f44336}.modal-error .dialog-title:before{content:"✕ ";font-weight:700}.modal-warning .dialog-title{color:#ff9800}.modal-warning .dialog-title:before{content:"⚠ ";font-weight:700}.modal-info .dialog-title{color:#2196f3}.modal-info .dialog-title:before{content:"ℹ ";font-weight:700}.modal-confirm .dialog-title{color:var(--color-primary)}.modal-confirm .dialog-title:before{content:"? ";font-weight:700}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes dialog-appear{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-btn:focus{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:var(--shadow-md)}.score-popup{position:fixed;top:20%;left:50%;transform:translate(-50%);background:var(--color-bg-secondary);border-radius:var(--border-radius);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-lg);z-index:500;animation:score-popup 2s ease-out forwards;pointer-events:none}.score-grade{font-size:3rem;font-weight:900;margin-bottom:var(--spacing-sm);text-shadow:0 2px 4px rgba(0,0,0,.3)}.score-grade.grade-C{color:var(--color-grade-c)}.score-grade.grade-B{color:var(--color-grade-b)}.score-grade.grade-A{color:var(--color-grade-a)}.score-grade.grade-S{color:var(--color-grade-s)}.score-points{font-size:1.2rem;color:var(--color-text-secondary)}@keyframes score-popup{0%{opacity:0;transform:translate(-50%) scale(.5)}20%{opacity:1;transform:translate(-50%) scale(1.1)}80%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.9) translateY(-20px)}}@media (max-width: 768px){body{font-size:clamp(1rem,1.5vw + 1rem,1.25rem)}.game-screen{grid-template-areas:"hud" "board" "controls";grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:var(--spacing-sm);padding:var(--spacing-sm)}.game-board{width:calc(100vw - 1rem);height:calc(100vw - 1rem);max-height:calc(100vh - 10rem);padding:.25rem;gap:1px}.game-controls{flex-direction:row;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.game-info{text-align:center;font-size:.95rem}.board-cell.valid-move:after{width:24px;height:24px}.game-hud{flex-direction:column;align-items:center;gap:var(--spacing-md)}.hud-info{flex-wrap:wrap;justify-content:center;text-align:center}.hud-scores{gap:var(--spacing-md);flex-wrap:wrap}.player-score{flex-wrap:wrap;min-width:5em;padding:var(--spacing-sm)}.menu-screen h1{font-size:2rem}.dialog-content{padding:1.5rem}.ai-selection-screen{padding:.75rem .75rem 3rem}.ai-options-grid{grid-template-columns:1fr;gap:.75rem}.ai-info-box{margin-bottom:2rem;padding:1rem}.ai-level-tabs{gap:.25rem}.ai-level-tab{padding:.5rem .75rem;font-size:.85rem}.ai-level-tab .level-name{display:none}}@media (max-width: 480px){.ai-selection-screen{padding:.5rem .5rem 4rem}.ai-level-tabs{gap:.125rem}.ai-level-tab{padding:.375rem .5rem;font-size:.8rem;min-width:44px}.ai-info-box{padding:.75rem;margin-bottom:2.5rem}.ai-custom-settings{padding:.75rem}}@media (max-width: 320px){.ai-selection-screen{padding:.25rem .25rem 5rem}.ai-level-tab{padding:.25rem .375rem;font-size:.75rem}.menu-title{font-size:1.25rem}}.ai-thinking-animation{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:500}.thinking-dots{display:inline-flex;gap:4px;align-items:center}.thinking-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:thinking-pulse 1.4s infinite ease-in-out}.thinking-dot:nth-child(1){animation-delay:-.32s}.thinking-dot:nth-child(2){animation-delay:-.16s}.thinking-dot:nth-child(3){animation-delay:0s}@keyframes thinking-pulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.ai-status{padding:.5rem 1rem;border-radius:var(--border-radius);background:#00ff7f1a;border:1px solid rgba(0,255,127,.3);margin:.5rem 0;text-align:center;min-height:2rem;display:flex;align-items:center;justify-content:center}.ai-info-display{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--color-text-secondary)}.ai-info-display .ai-info{display:flex;justify-content:space-around;gap:1rem;flex-wrap:wrap}.ai-info-display .ai-info>div{padding:.25rem .5rem;background:#00ff7f0d;border-radius:var(--border-radius-sm);font-size:.85rem}.ai-status *{transition:all var(--transition-normal)}.ai-level-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;justify-content:center;flex-wrap:wrap}.ai-level-tab{padding:.75rem 1.25rem;background:var(--color-bg-tertiary);border:2px solid transparent;border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-normal);font-weight:500;font-size:.95rem;position:relative;overflow:hidden}.ai-level-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.ai-level-tab:hover:before{left:100%}.ai-level-tab:hover{background:var(--color-bg-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.ai-level-tab.active{border-color:var(--color-primary);color:var(--color-primary);background:#00ff7f1a;box-shadow:0 0 20px #00ff7f33}.ai-level-tab .level-icon{margin-right:.5rem;font-size:1.1rem}.ai-selection-container{margin:1.5rem 0}.ai-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.ai-option-card{padding:1rem;background:var(--color-bg-tertiary);border:2px solid var(--color-bg-tertiary);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-normal);text-align:center;position:relative;overflow:hidden}.ai-option-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(0,255,127,.1) 50%,transparent 70%);opacity:0;transition:opacity var(--transition-normal)}.ai-option-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.ai-option-card:hover:before{opacity:1}.ai-option-card.selected{border-color:var(--color-primary);background:#00ff7f1a;box-shadow:0 0 20px #00ff7f4d}.ai-option-card .ai-name{font-weight:600;font-size:1.1rem;margin-bottom:.5rem;color:var(--color-text-primary)}.ai-option-card .ai-stars{color:var(--color-warning);font-size:1.2rem;margin-bottom:.5rem;letter-spacing:2px}.ai-option-card .ai-short-desc{font-size:.85rem;color:var(--color-text-secondary);line-height:1.3}.ai-info-box{background:var(--color-bg-secondary);border:1px solid var(--color-bg-tertiary);border-radius:var(--border-radius-lg);padding:1.5rem;margin:1.5rem 0;box-shadow:var(--shadow-md);position:relative}.ai-info-box:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0}.ai-strength{color:var(--color-primary);font-size:1.2rem;font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.ai-strength .strength-stars{color:var(--color-warning);letter-spacing:1px}.ai-description{color:var(--color-text-primary);font-size:1rem;margin-bottom:1rem;line-height:1.5}.ai-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;font-size:.9rem;color:var(--color-text-secondary)}.ai-detail-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-bg-tertiary);border-radius:var(--border-radius-sm)}.ai-detail-icon{font-size:1.1rem}.ai-features{margin-top:1rem}.ai-features-title{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.5rem;font-weight:500}.ai-features-list{display:flex;flex-wrap:wrap;gap:.5rem}.ai-feature-tag{background:var(--color-bg-tertiary);color:var(--color-text-secondary);padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:.8rem;border:1px solid transparent;transition:all var(--transition-fast)}.ai-feature-tag:hover{border-color:var(--color-primary);color:var(--color-primary)}.advanced-options{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-secondary);border-radius:var(--border-radius);margin:1.5rem 0;overflow:hidden;transition:all var(--transition-normal)}.advanced-options[open]{box-shadow:var(--shadow-md)}.advanced-options summary{cursor:pointer;padding:1rem;color:var(--color-text-secondary);font-weight:500;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-bg-tertiary);transition:all var(--transition-fast);user-select:none;display:flex;align-items:center;gap:.5rem}.advanced-options summary:hover{color:var(--color-primary);background:var(--color-bg-tertiary)}.advanced-options summary::marker{content:none}.advanced-options summary:before{content:"⚙️";margin-right:.5rem}.advanced-options summary:after{content:"▼";margin-left:auto;transition:transform var(--transition-fast);font-size:.8rem}.advanced-options[open] summary:after{transform:rotate(180deg)}.custom-settings{padding:1.5rem;background:var(--color-bg-primary)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.setting-group{background:var(--color-bg-secondary);border-radius:var(--border-radius);padding:1rem}.setting-group h4{color:var(--color-primary);margin-bottom:1rem;font-size:1rem;display:flex;align-items:center;gap:.5rem}.setting-row{margin-bottom:1rem}.setting-row:last-child{margin-bottom:0}.setting-label{display:block;color:var(--color-text-secondary);font-size:.9rem;margin-bottom:.5rem;font-weight:500}.setting-range{width:100%;margin-bottom:.5rem}.setting-value{color:var(--color-primary);font-weight:600;font-size:.9rem}.setting-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.setting-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.setting-select{width:100%;padding:.5rem;background:var(--color-bg-tertiary);border:1px solid var(--color-bg-tertiary);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:pointer}.setting-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #00ff7f33}.btn-reset-ai{background:var(--color-secondary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all var(--transition-fast);margin-top:1rem}.btn-reset-ai:hover{background:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-selection{background:var(--color-bg-secondary);border-radius:var(--border-radius);padding:1rem;margin:1rem 0;border:1px solid var(--color-bg-tertiary)}.quick-selection h4{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.9rem;text-align:center}.quick-buttons{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.quick-btn{padding:.5rem 1rem;background:var(--color-bg-tertiary);border:1px solid transparent;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.85rem}.quick-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (max-width: 480px){body{font-size:clamp(1rem,2vw + 1rem,1.5rem)}.game-screen{padding:.25rem}.game-board{width:calc(100vw - .5rem);height:calc(100vw - .5rem);max-height:calc(100vh - 8rem);padding:2px}.game-info{font-size:.9rem}.player-score{flex-wrap:wrap;min-width:3.75em}.menu-buttons,.pause-buttons{gap:var(--spacing-sm)}.menu-btn{padding:.5em 1em}.ai-level-tabs{font-size:.9rem;gap:.25rem}.level-tab{padding:.6rem 1rem;flex:1 1 45%;font-size:.85rem}.ai-options-grid{grid-template-columns:1fr;gap:.75rem}.ai-option{padding:.75rem}.ai-info-box{padding:1rem}.ai-details{grid-template-columns:1fr;gap:.5rem}.settings-grid{grid-template-columns:1fr;gap:1rem}.advanced-options summary{padding:.75rem;font-size:.9rem}.custom-settings{padding:1rem}}@media (max-width: 320px){.level-tab{flex:1 1 100%;padding:.5rem .75rem;font-size:.8rem}.ai-option .ai-name{font-size:1rem}.ai-option .ai-stars,.ai-strength{font-size:1.1rem}.ai-details{font-size:.85rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.board-cell:focus,.menu-btn:focus,.control-btn:focus,.dialog-btn:focus,select:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast: high){:root{--color-bg-primary: #000000;--color-bg-secondary: #1a1a1a;--color-text-primary: #ffffff;--color-primary: #00ff00}}.loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-text-muted);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body,html{margin:0;padding:0;height:100%;overflow:hidden}#app{width:100%;min-height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}#game-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.is-hidden{display:none!important}.menu-button--spaced{margin-top:1.25rem}.super-reversi-app{width:100%;height:100%;max-width:75rem;max-height:56.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;font-family:Segoe UI,Arial,sans-serif;box-sizing:border-box;--shake-intensity: 0px}.game-header{width:100%;max-width:50rem;display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:#2a2a2ae6;border-radius:.75rem;margin-bottom:1.25rem;box-shadow:0 .25rem .75rem #0000004d;position:relative}.header-back-btn{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:40px;height:40px;background:#666666e6;border:none;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10}.header-back-btn:hover{background:#777777e6;transform:translateY(-50%) scale(1.1)}.game-header h1{color:#00ff7f;margin:0;font-size:1.75rem;text-shadow:0 0 .625rem rgba(0,255,127,.5)}.shared-health-bar-container{width:100%;max-width:50rem;padding:1rem 1.25rem;background:#2a2a2ae6;border-radius:.75rem;margin-bottom:1rem;box-shadow:0 .25rem .75rem #0000004d;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative}.player-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:5rem}.player-section.left{align-items:flex-start}.player-section.right{align-items:flex-end}.player-info{display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:700}.player-section.right .player-info{flex-direction:row-reverse}.player-name{font-size:.875rem;text-shadow:0 0 .5rem rgba(255,255,255,.3)}.player-icon{font-size:1.125rem;filter:drop-shadow(0 0 .5rem rgba(255,255,255,.3))}.piece-count{font-size:1.125rem;font-weight:700;color:#fff;text-shadow:0 0 .5rem rgba(255,255,255,.5);padding:.25rem .5rem;background:#0000004d;border-radius:.375rem;min-width:2rem;text-align:center}.shared-health-bar{position:relative;flex:1;height:32px;background:#0009;border-radius:16px;border:2px solid rgba(255,255,255,.3);overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.health-fill-black{position:absolute;top:0;left:0;height:100%;width:50%;background:linear-gradient(90deg,#f44,#c00);box-shadow:0 0 .5rem #f449;transition:width .5s ease,box-shadow .3s ease;border-radius:14px 0 0 14px}.health-fill-white{position:absolute;top:0;right:0;height:100%;width:50%;background:linear-gradient(270deg,#48f,#04c);box-shadow:0 0 .5rem #48f9;transition:width .5s ease,box-shadow .3s ease;border-radius:0 14px 14px 0}.vs-divider{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.125rem;z-index:10;transition:left .5s ease;background:#2a2a2ae6;padding:.25rem .5rem;border-radius:.375rem;border:1px solid rgba(255,255,255,.2)}.vs-text{color:gold;font-size:.75rem;font-weight:700;text-shadow:0 0 .5rem rgba(255,215,0,.5);line-height:1}.turn-indicator{font-size:.625rem;color:#ccc;text-align:center;line-height:1}.turn-indicator span{color:gold;font-weight:700}.damage-numbers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.damage-number{position:absolute;font-weight:700;font-size:1.25rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8);animation:damageFloat 1s ease-out forwards;pointer-events:none}.damage-number.positive{color:#00ff7f}.damage-number.negative{color:#f44}@keyframes damageFloat{0%{opacity:1;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-20px) scale(1.2)}to{opacity:0;transform:translateY(-40px) scale(.8)}}.health-bar.critical{animation:criticalFlash .5s ease-in-out infinite alternate}@keyframes criticalFlash{0%{box-shadow:0 0 .75rem #ff44444d,inset 0 2px 4px #0000004d}to{box-shadow:0 0 1.5rem #f44c,inset 0 2px 4px #0000004d}}.health-bar.shake{animation:healthShake .3s ease-in-out}@keyframes healthShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.health-fill-black.critical,.health-fill-white.critical{animation:criticalPulse 1s ease-in-out infinite alternate}@keyframes criticalPulse{0%{opacity:.8}to{opacity:1}}.health-fill-black.dominant{box-shadow:0 0 1rem #f44c}.health-fill-white.dominant{box-shadow:0 0 1rem #48fc}.shared-health-bar.shake{animation:healthShake .3s ease-in-out}.shared-health-bar.balanced{box-shadow:0 0 .5rem #ffd70099;animation:balancedBreathing 2s ease-in-out infinite alternate}.shared-health-bar.dramatic-shift{animation:dramaticShift .5s ease-in-out}.health-fill-black.pulsing,.health-fill-white.pulsing{animation:dominantPulse 1s ease-in-out infinite alternate}@keyframes balancedBreathing{0%{box-shadow:0 0 .5rem #ffd70099}to{box-shadow:0 0 1rem #ffd700cc}}@keyframes dramaticShift{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes dominantPulse{0%{opacity:.9}to{opacity:1}}@media (max-width: 768px){.shared-health-bar-container{width:100%;max-width:100%;margin:0 0 .5rem;padding:0 .5rem;z-index:100}}@media (max-width: 480px){.shared-health-bar-container{width:100%;max-width:100%;margin:0 0 .25rem;padding:0 .25rem;z-index:100}}@media (min-width: 1200px){.shared-health-bar{height:36px}.player-name{font-size:1rem}.piece-count{font-size:1.25rem}.vs-text{font-size:.875rem}.turn-indicator{font-size:.75rem}}.header-right{display:flex;align-items:center;gap:1rem}.language-select{display:block;margin:0 auto;padding:.5rem 1rem;font-size:1rem;text-align:center;border-radius:.5rem;border:1px solid #666;background:#333;color:#fff}.screen-container{width:100%;max-width:min(90vw,56.25rem);height:auto;flex:1;background:#1a1a1af2;border-radius:.75rem;padding:1rem;box-shadow:0 .5rem 1.5rem #0006;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.menu-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.75rem,2.5vw,1.25rem);padding:clamp(1.5rem,5vw,2.5rem) clamp(1rem,5vw,2.5rem);animation:fadeIn .5s ease;height:100%;width:100%;max-width:600px;margin:0 auto;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.menu-title{font-size:clamp(1.75rem,3vw + 1rem,2.5rem);color:#00ff7f;margin-bottom:clamp(.75rem,2.5vw,1.5rem);text-align:center;text-shadow:0 0 1.25rem rgba(0,255,127,.5)}.menu-button{display:block;width:min(100%,18rem);margin:clamp(.5rem,2vw,1rem) auto;padding:clamp(.75rem,1.5vw + .5rem,1.125rem) clamp(1rem,4vw + .5rem,1.875rem);font-size:clamp(1rem,2.5vw + .75rem,1.25rem);font-weight:700;background:linear-gradient(135deg,#00ff7f,#00cc65);color:#1a1a1a;border:none;border-radius:.625rem;cursor:pointer;transition:all .3s ease;box-shadow:0 .25rem .75rem #00ff7f4d}.menu-button:hover{transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #00ff7f80}.menu-button:active{transform:translateY(0)}.difficulty-selector{display:flex;gap:.625rem;margin:1.25rem 0}.difficulty-button{padding:.625rem 1.25rem;background:#444;color:#fff;border:.125rem solid transparent;border-radius:.375rem;cursor:pointer;transition:all .3s}.difficulty-button.active{background:#00ff7f;color:#1a1a1a;border-color:#00ff7f}.game-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:.125rem;background:#1a3d1a;padding:.625rem;border-radius:.75rem;margin:.625rem auto;box-shadow:inset 0 0 1.25rem #00000080;flex-shrink:0}@media (max-height: 43.75rem){.game-board{width:min(21.875rem,60vh);height:min(21.875rem,60vh)}}.board-cell{background:#2d4a2d;border:.0625rem solid #1a3d1a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.board-cell:hover{background:#3a5a3a}.board-cell.valid-move{background:#4a6a4a;box-shadow:inset 0 0 .625rem #00ff7f4d}.board-cell.valid-move:after{content:"•";color:#00ff7f80;font-size:1.5rem;position:absolute}.board-cell.last-move{box-shadow:inset 0 0 .9375rem #ffd70080}.mobility-indicator{position:absolute;top:.125rem;right:.125rem;background:#000000e6;color:#fff;font-size:.55rem;font-weight:700;padding:.125rem .2rem;border-radius:.25rem;min-width:1.2rem;text-align:center;z-index:10;border:.125rem solid;font-family:Courier New,monospace}.mobility-indicator.mobility-positive{border-color:#00ff7f;background:#000000d9;color:#00ff7f;box-shadow:0 0 .3rem #00ff7f80}.mobility-indicator.mobility-negative{border-color:#f44;background:#000000d9;color:#f44;box-shadow:0 0 .3rem #ff444480}.mobility-indicator.mobility-neutral{border-color:#fa0;background:#000000d9;color:#fa0;box-shadow:0 0 .3rem #ffaa0080}.piece{width:85%;height:85%;border-radius:50%;transition:all .3s ease;box-shadow:0 .125rem .5rem #0006}.piece-black{background:radial-gradient(circle at 30% 30%,#444,#000);border:.125rem solid #222}.piece-white{background:radial-gradient(circle at 30% 30%,#fff,#ddd);border:.125rem solid #ccc}@keyframes flipPiece{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(90deg) scale(.8)}to{transform:rotateY(180deg) scale(1)}}.piece.flipping{animation:flipPiece .5s ease-in-out}@keyframes placePiece{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(1) rotate(360deg);opacity:1}}.piece.placing{animation:placePiece .4s ease-out}.game-screen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:100%;overflow:hidden;gap:.625rem}.game-controls{width:100%;display:flex;justify-content:flex-start;margin-bottom:1.25rem}.back-button{padding:.75rem 1.5rem;background:#666;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;transition:background .3s,transform .3s;white-space:nowrap}.back-button:hover{background:#777;transform:translate(-.3125rem)}.game-info{text-align:center;color:#ccc;font-size:.875rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.3125rem;flex-shrink:0}.game-info-compact{text-align:center;color:#ccc;font-size:.75rem;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}#ai-status{height:1.25rem;font-size:.875rem}.ai-additional-info{font-size:.75rem;margin-top:.25rem}.ai-additional-info--muted{color:#888}.ai-additional-info--warning{color:#f39c12}.ai-additional-info--performance{color:#e67e22}.ai-info-title{color:var(--color-primary);font-weight:500;margin-bottom:.25rem}.ai-error-title{color:#e74c3c;font-weight:500;margin-bottom:.25rem}.ai-error-suggestion{font-size:.75rem;color:#888}.error-screen{padding:1.25rem;color:red}.game-over-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#2a2a2afa;padding:2.5rem;border-radius:1.25rem;text-align:center;box-shadow:0 .625rem 2.5rem #00000080;z-index:1000;animation:modalAppear .3s ease}.player-label{font-weight:700}.player-label--black{color:#000}.player-label--white{color:#fff}.game-over-winner{font-size:2.25rem;margin:1.25rem 0}.game-over-winner--black{color:#000}.game-over-winner--white{color:#fff}.game-over-winner--tie{color:gold}.game-over-summary{margin-top:1.25rem;font-size:1.125rem}@keyframes modalAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.game-over-title{font-size:2rem;color:#00ff7f;margin-bottom:1.25rem}.final-scores{font-size:1.5rem;color:#fff;margin:1.25rem 0}.modal-buttons{display:flex;gap:1.25rem;justify-content:center;margin-top:1.875rem}.ai-thinking{display:inline-block;color:gold;font-style:italic;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.settings-screen{color:#fff;flex:1;overflow-y:auto;width:100%;max-width:600px;margin:0 auto;padding:clamp(1rem,3vw,1.5rem) clamp(1rem,5vw,2rem) calc(env(safe-area-inset-bottom,0px) + 1.5rem);box-sizing:border-box;-webkit-overflow-scrolling:touch}.settings-screen::-webkit-scrollbar{width:.5rem}.settings-screen::-webkit-scrollbar-track{background:#ffffff1a;border-radius:.25rem}.settings-screen::-webkit-scrollbar-thumb{background:#00ff7f80;border-radius:.25rem}.settings-screen::-webkit-scrollbar-thumb:hover{background:#00ff7fb3}.settings-title{color:#00ff7f;margin-bottom:clamp(1rem,3vw,1.5rem);font-size:clamp(1.35rem,3vw + .9rem,2rem);text-align:center}.settings-group{margin:clamp(1rem,2.5vw,1.75rem) 0;text-align:center;width:100%}.settings-group h3{color:#00ff7f;margin-bottom:clamp(.75rem,2vw,1rem);font-size:clamp(1.05rem,2vw + .7rem,1.35rem)}.settings-group label{display:flex;align-items:center;justify-content:flex-start;gap:clamp(.5rem,2vw,.75rem);margin:.5rem auto;font-size:clamp(.95rem,2vw + .6rem,1.15rem);max-width:min(100%,26rem);text-align:left;line-height:1.4;cursor:pointer}.settings-group label span{flex:1;min-width:0}.settings-screen input[type=checkbox]{width:1.25rem;height:1.25rem;margin:0;flex-shrink:0;cursor:pointer}.settings-screen .language-select{width:min(100%,18rem)}@media (max-width: 480px){.settings-screen{padding:clamp(.75rem,4vw,1.25rem) clamp(.75rem,4vw,1.5rem) calc(env(safe-area-inset-bottom,0px) + 1.25rem)}.settings-group label{gap:clamp(.5rem,3vw,.875rem)}}.help-screen{color:#ccc;line-height:1.6;flex:1;overflow-y:auto;padding:0 1rem calc(env(safe-area-inset-bottom,0px) + 1.5rem);width:100%;max-width:600px;margin:0 auto;box-sizing:border-box;-webkit-overflow-scrolling:touch}.help-screen h2{color:#00ff7f;margin-bottom:.9375rem;font-size:clamp(1.35rem,2.5vw + 1rem,1.6rem)}.help-screen h3{color:gold;margin-top:.9375rem;margin-bottom:.5rem;font-size:clamp(1.05rem,2vw + .75rem,1.25rem)}.help-screen ul{display:block;text-align:left;margin:0 0 .625rem;padding-left:clamp(1rem,4vw,1.5rem)}.help-screen li{margin:.3125rem 0;font-size:clamp(.95rem,2vw + .75rem,1.125rem)}.help-screen p{margin:.5rem 0;font-size:clamp(.95rem,2vw + .75rem,1.125rem)}.help-screen::-webkit-scrollbar{width:.5rem}.help-screen::-webkit-scrollbar-track{background:#ffffff1a;border-radius:.25rem}.help-screen::-webkit-scrollbar-thumb{background:#00ff7f80;border-radius:.25rem}.help-screen::-webkit-scrollbar-thumb:hover{background:#00ff7fb3}.battle-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;font-family:Orbitron,Arial,sans-serif}.combo-display{position:absolute;top:80px;left:50%;transform:translate(-50%);padding:20px 40px;border-radius:25px;display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);box-shadow:0 0 60px #ff6b6be6,0 10px 40px #000000b3;transition:all .3s ease}.combo-display.hidden{display:none}.combo-display.combo-animation{animation:combo-bounce .6s ease}.combo-count{font-size:72px;font-weight:700;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.8),0 0 30px currentColor}.combo-text{font-size:32px;color:#fff;font-weight:700;text-shadow:0 4px 20px rgba(0,0,0,.8),0 0 30px currentColor}.combo-multiplier{font-size:28px;color:#ffeb3b;font-weight:700;background:#0000004d;padding:8px 16px;border-radius:20px;text-shadow:0 4px 20px rgba(0,0,0,.8),0 0 30px currentColor}.special-move-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10000}.special-move-display.hidden{display:none}.special-move-display.special-move-animation{animation:special-move-intro 1.2s ease}.special-move-title{font-size:64px;font-weight:700;color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.6),0 4px 8px rgba(0,0,0,.8);margin-bottom:10px;letter-spacing:2px;animation:special-title-glow 2s ease-in-out infinite alternate}.special-move-subtitle{font-size:28px;color:#fff;text-shadow:0 0 15px rgba(255,255,255,.8),0 4px 8px rgba(0,0,0,.8);letter-spacing:1px;opacity:.9}@keyframes combo-bounce{0%{transform:translate(-50%) scale(.8);opacity:0}50%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes special-move-intro{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes special-title-glow{0%{text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.6),0 4px 8px rgba(0,0,0,.8)}to{text-shadow:0 0 30px rgba(255,215,0,1),0 0 60px rgba(255,215,0,.8),0 4px 8px rgba(0,0,0,.8)}}@media (max-width: 768px){.super-reversi-app{padding:0!important;overflow-y:auto;overflow-x:hidden}.screen-container{max-width:100%!important;padding:.5rem!important;margin-top:.5rem!important;border-radius:.65rem!important;overflow-y:auto}.game-board{width:calc(100vw - 1rem)!important;height:calc(100vw - 1rem)!important;max-height:calc(100vh - 14rem)!important;padding:2px!important;margin:.5rem auto 0!important}.menu-screen{justify-content:flex-start;padding:clamp(1.25rem,6vw,2rem) clamp(.75rem,6vw,1.5rem)!important;gap:clamp(.75rem,3vw,1rem)!important}.help-screen{max-height:calc(100vh - 9rem)}@supports (height: 100dvh){.help-screen{max-height:calc(100dvh - 9rem)}}.header-back-btn{width:35px!important;height:35px!important;font-size:18px!important}}@media (max-width: 480px){.screen-container{padding:.25rem!important;margin-top:.25rem!important}.game-board{width:calc(100vw - .5rem)!important;height:calc(100vw - .5rem)!important;max-height:calc(100vh - 12rem)!important;margin:.5rem auto 0!important}.menu-screen{padding:clamp(1rem,6vw,1.5rem) clamp(.75rem,6vw,1.25rem)!important}.help-screen{max-height:calc(100vh - 8rem)}@supports (height: 100dvh){.help-screen{max-height:calc(100dvh - 8rem)}}.header-back-btn{width:30px!important;height:30px!important;font-size:16px!important}}@keyframes shake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(calc(var(--shake-intensity) * -1),calc(var(--shake-intensity) / -2)) rotate(-1deg)}20%{transform:translate(var(--shake-intensity),calc(var(--shake-intensity) * -1)) rotate(1deg)}30%{transform:translate(calc(var(--shake-intensity) * -1),calc(var(--shake-intensity) / 2)) rotate(0)}40%{transform:translate(var(--shake-intensity),var(--shake-intensity)) rotate(1deg)}50%{transform:translate(calc(var(--shake-intensity) / -2),calc(var(--shake-intensity) * -1)) rotate(-1deg)}60%{transform:translate(calc(var(--shake-intensity) / 2),var(--shake-intensity)) rotate(0)}70%{transform:translate(calc(var(--shake-intensity) / -2),calc(var(--shake-intensity) / 2)) rotate(-1deg)}80%{transform:translate(calc(var(--shake-intensity) / 2),calc(var(--shake-intensity) / -2)) rotate(1deg)}90%{transform:translate(calc(var(--shake-intensity) / -4),calc(var(--shake-intensity) / 4)) rotate(0)}}@keyframes gradePopup{0%{opacity:0;transform:translate(-50%) translateY(0) scale(.5)}50%{opacity:1;transform:translate(-50%) translateY(-1.25rem) scale(1.2)}to{opacity:0;transform:translate(-50%) translateY(-2.5rem) scale(1)}}@keyframes rainbow{0%{color:red}16%{color:#ff8000}32%{color:#ff0}48%{color:#0f0}64%{color:#0080ff}80%{color:#8000ff}to{color:#ff0080}}@keyframes glow{0%,to{text-shadow:0 0 1.5625rem #9932cc,0 0 3.125rem #8b00ff}50%{text-shadow:0 0 2.5rem #9932cc,0 0 5rem #8b00ff,0 0 7.5rem #ff00ff}}
