:root,[data-theme=light]{--color-background: #FAF6F1;--color-surface: #FFFFFF;--color-surface-hover: #F5F0E8;--color-board: #8B7355;--color-board-gradient: linear-gradient(145deg, #9A8268 0%, #7A6348 100%);--color-point-light: #E8DFD0;--color-point-dark: #6B5344;--color-bear-off-zone: #E8E0D5;--color-frame-outer: #5D4A3A;--color-frame-inner: rgba(139, 115, 85, .3);--color-accent: #B87333;--color-accent-hover: #A06028;--color-accent-glow: rgba(184, 115, 51, .2);--color-secondary: #5D7052;--color-checker-black: #2C241E;--color-checker-black-shine: #3D332A;--color-checker-white: #F5EFE6;--color-checker-white-shine: #FFFCF8;--color-selection: rgba(184, 115, 51, .4);--color-valid-move: rgba(93, 112, 82, .5);--color-bear-off-highlight: rgba(93, 112, 82, .6);--color-text: #2C241E;--color-text-muted: #6B5F54;--color-text-inverse: #FAF6F1;--color-turn-text: #B87333;--color-message: #C75450;--shadow-soft: 0 2px 8px rgba(44, 36, 30, .08);--shadow-medium: 0 4px 16px rgba(44, 36, 30, .12);--shadow-strong: 0 8px 32px rgba(44, 36, 30, .16)}[data-theme=dark]{--color-background: #2C2520;--color-surface: #3A332D;--color-surface-hover: #453D36;--color-board: #4A4038;--color-board-gradient: linear-gradient(145deg, #584A3E 0%, #3E342C 100%);--color-point-light: #C4B59A;--color-point-dark: #5D4A3A;--color-bear-off-zone: #352E28;--color-frame-outer: #1E1A16;--color-frame-inner: rgba(184, 115, 51, .3);--color-accent: #D4915A;--color-accent-hover: #E5A66A;--color-accent-glow: rgba(212, 145, 90, .25);--color-secondary: #7A9668;--color-checker-black: #1A1410;--color-checker-black-shine: #2A231D;--color-checker-white: #E8DDD0;--color-checker-white-shine: #FFF8F0;--color-selection: rgba(212, 145, 90, .4);--color-valid-move: rgba(122, 150, 104, .5);--color-bear-off-highlight: rgba(122, 150, 104, .6);--color-text: #F0E8E0;--color-text-muted: #A09080;--color-text-inverse: #2C2520;--color-turn-text: #D4915A;--color-message: #E07C4F;--shadow-soft: 0 2px 8px rgba(0, 0, 0, .2);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .3);--shadow-strong: 0 8px 32px rgba(0, 0, 0, .4)}:root{--checker-edge-gap: 1px;--board-aspect-ratio: 1.692;--game-container-width: 90vw;--game-container-height: 90vh;--info-panel-width: calc(var(--game-container-width) * .22);--bear-off-width: calc(var(--game-container-width) * .06);--board-width-from-container: calc(var(--game-container-width) * .58);--board-height-option: calc(var(--game-container-height) - 100px);--board-width-from-height: calc(var(--board-height-option) * var(--board-aspect-ratio));--board-width: min(var(--board-width-from-container), var(--board-width-from-height));--board-height: calc(var(--board-width) / var(--board-aspect-ratio));--checker-size: calc(var(--board-width) / 18);--font-size-sm: calc(var(--board-width) * .014);--font-size-base: calc(var(--board-width) * .017);--font-size-lg: calc(var(--board-width) * .021);--font-size-xl: calc(var(--board-width) * .027);--font-size-2xl: calc(var(--board-width) * .036)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-background);color:var(--color-text);min-height:100vh}.game-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:16px 12px 12px;width:100vw;height:100vh;gap:8px;overflow:hidden}@media(max-width:900px){:root{--mobile-board-max-height: calc(100vh - 280px) ;--mobile-board-max-width: calc(100vw - 24px) ;--board-width-from-mobile-height: calc(var(--mobile-board-max-height) * var(--board-aspect-ratio));--board-width: min(var(--board-width-from-mobile-height), var(--mobile-board-max-width));--board-height: calc(var(--board-width) / var(--board-aspect-ratio));--bear-off-width: calc(var(--board-width) * .08);--info-panel-width: calc(100vw - 24px) ;--font-size-sm: calc(var(--board-width) * .018);--font-size-base: calc(var(--board-width) * .022);--font-size-lg: calc(var(--board-width) * .028)}.game-container{height:auto!important;min-height:100vh;overflow-y:auto!important;overflow-x:hidden!important;padding:8px!important;gap:6px!important}.game-header{width:calc(100vw - 16px)!important;padding:10px 14px!important}.game-area{flex-direction:column!important;align-items:center;gap:8px}.bear-off-zone{display:none!important}.game-sidebar{width:var(--info-panel-width)!important;height:auto!important;max-height:150px;padding:10px!important}.eval-bar-container{display:none!important}.player-score{padding:6px 10px!important}.diff-select-btn{width:32px!important;height:32px!important}}.game-header{display:flex;justify-content:space-between;align-items:center;width:var(--game-container-width);padding:calc(var(--board-width) * .016) calc(var(--board-width) * .028);min-height:calc(var(--board-width) * .07);background:var(--color-surface);border-radius:14px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 12px #0000000f,0 2px 4px #00000008;flex-shrink:0}.game-title{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:600;color:var(--color-accent);letter-spacing:.02em}.controls-panel{display:flex;gap:12px;align-items:center}.btn{padding:10px 22px;border:none;border-radius:10px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(180deg,#c9824a,#a06028);color:#fff;box-shadow:0 4px 12px #a060284d,inset 0 1px #fff3}.btn-primary:hover{background:linear-gradient(180deg,#d4915a,#b87333);transform:translateY(-2px);box-shadow:0 6px 16px #a0602866,inset 0 1px #ffffff40}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 6px #00000014}.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-accent);box-shadow:0 4px 12px #0000001f}select.btn{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23f8f8f2' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}select.btn option{background:var(--color-surface);color:var(--color-text);padding:8px}.status-bar{padding:12px 28px;text-align:center;font-size:var(--font-size-lg);font-weight:500;border-radius:12px;background:var(--color-surface);height:calc(var(--board-width) * .055);min-height:40px;max-height:52px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0000000f,0 2px 4px #00000008;border:1px solid rgba(0,0,0,.05)}.status-bar .player-indicator{display:inline-block;width:22px;height:22px;border-radius:6px;margin-right:12px;vertical-align:middle;border:2px solid var(--color-accent);box-shadow:0 2px 4px #00000026}.status-bar .player-indicator.black{background:linear-gradient(145deg,#4a3a2e,#2e251e)}.status-bar .player-indicator.white{background:linear-gradient(145deg,#fffcf8,#e8ddd0)}.game-area{display:flex;gap:20px;align-items:flex-start;flex-shrink:0}.bear-off-zone{width:var(--bear-off-width);height:calc(var(--board-height) + 28px);display:flex;flex-direction:column;background:linear-gradient(180deg,#e8dfd0,#d4c8b8,#c4b8a8);border-radius:12px;border:1px solid rgba(0,0,0,.15);overflow:visible;box-shadow:0 8px 24px #00000026,inset 0 1px 2px #ffffff80,inset 0 -1px 2px #0000001a}.bear-off-section{flex:1;display:flex;flex-direction:column;padding:8px;cursor:pointer;transition:background .2s ease;margin:4px;background:#fff6;border-radius:8px;box-shadow:inset 0 2px 4px #00000014;border:1px solid rgba(0,0,0,.05)}.bear-off-section.white{justify-content:flex-start}.bear-off-section.black{justify-content:flex-end}.bear-off-section.valid-target{background:#50fa7b4d;box-shadow:inset 0 0 12px #50fa7b66}.bear-off-section h4{font-size:10px;text-align:center;color:#00000080;margin:4px 0;text-transform:uppercase;letter-spacing:1px;font-weight:600}.bear-off-divider{height:2px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.15),transparent);margin:0 8px}.bear-off-slots{display:flex;flex-direction:column;flex:1;gap:3px}.bear-off-slot{flex:1;min-height:8px;margin:0 6px;border-radius:4px;background:#0000000f;border:1px solid rgba(0,0,0,.08);transition:background .2s ease}.bear-off-slot.filled.black{background:linear-gradient(180deg,#5d4a3a,#3d3028);border-color:#0003;box-shadow:inset 0 1px #ffffff26}.bear-off-slot.filled.white{background:linear-gradient(180deg,#fffcf8,#f5ede4);border-color:#0000001a;box-shadow:inset 0 1px #fffc}.board-container{background:linear-gradient(145deg,#6b5344,#4a3a2e,#3d3028);border-radius:16px;padding:14px;position:relative;box-shadow:0 20px 60px #0006,0 8px 24px #0000004d,inset 2px 2px 4px #ffffff26,inset -2px -2px 4px #0000004d;border:1px solid rgba(0,0,0,.2)}.board-container:before{content:"";position:absolute;inset:12px;border-radius:14px;box-shadow:inset 0 2px 8px #0006;pointer-events:none;z-index:2}.board{display:grid;grid-template-columns:repeat(6,1fr) calc(var(--board-width) * .057) repeat(6,1fr);grid-template-rows:1fr 1fr;gap:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),linear-gradient(180deg,#9c8570,#8b7355,#7a6348,#8b7355,#7a6348,#6b5344);border-radius:10px;padding:0;width:var(--board-width);height:var(--board-height);position:relative;overflow:hidden;box-shadow:inset 0 4px 12px #00000059,inset 0 1px 2px #0003,inset 0 -1px 1px #ffffff0d;border:1px solid rgba(0,0,0,.15)}.point{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer;transition:filter .15s ease;z-index:1}.point:before{content:"";position:absolute;inset:0;z-index:-1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.point.top{justify-content:flex-start;padding-top:10px}.point.top:before{clip-path:polygon(0 0,100% 0,50% 88%);background:linear-gradient(180deg,#8b7355,#7a6348,#6b5344)}.point.top.light:before{background:linear-gradient(180deg,#f5ede4,#e8dfd0,#d4c8b8)}.point.bottom{justify-content:flex-end;padding-bottom:10px}.point.bottom:before{clip-path:polygon(50% 12%,0 100%,100% 100%);background:linear-gradient(0deg,#8b7355,#7a6348,#6b5344)}.point.bottom.light:before{background:linear-gradient(0deg,#f5ede4,#e8dfd0,#d4c8b8)}.point.selected{z-index:5}.point.selected:before{filter:brightness(1.4);box-shadow:0 0 15px var(--color-selection)}.point.valid-move:before{filter:brightness(1.5) saturate(1.2);background:#50fa7b99!important;animation:pulse-valid .8s infinite}@keyframes pulse-valid{0%,to{filter:brightness(1.4);background:#50fa7b80!important}50%{filter:brightness(1.8);background:#50fa7bcc!important}}@keyframes pulse-triangle{0%,to{filter:brightness(1.2)}50%{filter:brightness(1.5)}}.point.hint-point:before{filter:brightness(1.6) saturate(1.3);background:#ffc832b3!important;box-shadow:0 0 25px #ffa500e6,0 0 50px #ffd70099;animation:pulse-hint .8s infinite}@keyframes pulse-hint{0%,to{box-shadow:0 0 20px #ffa500b3,0 0 40px #ffd70080;background:#ffc83299!important}50%{box-shadow:0 0 35px orange,0 0 70px #ffd700cc;background:#ffc832d9!important}}.point.ai-move-src:before{filter:brightness(1.5);background:#ff6496b3!important;box-shadow:0 0 30px #ff5582,0 0 60px #ff3264b3;animation:pulse-ai-src .5s infinite}@keyframes pulse-ai-src{0%,to{background:#ff649699!important}50%{background:#ff6496e6!important}}.point.ai-move-dst:before{filter:brightness(1.5);background:#50c8ffb3!important;box-shadow:0 0 30px #32b4ff,0 0 60px #0096ffb3;animation:pulse-ai-dst .5s infinite}@keyframes pulse-ai-dst{0%,to{background:#50c8ff99!important}50%{background:#50c8ffe6!important}}.point.preview-point:before{filter:brightness(1.6) saturate(1.4);background:#11998ecc!important;box-shadow:0 0 30px #38ef7d,0 0 60px #11998eb3;animation:pulse-preview .7s infinite}@keyframes pulse-preview{0%,to{background:#11998e99!important;box-shadow:0 0 25px #38ef7dcc,0 0 50px #11998e80}50%{background:#11998ee6!important;box-shadow:0 0 40px #38ef7d,0 0 80px #11998ecc}}.point.source-highlight:before{filter:brightness(1.3);background:#ff649680!important;box-shadow:0 0 20px #ff558299,0 0 40px #ff326466}.point.highlighted:before{filter:brightness(1.5) saturate(1.3);background:#11998eb3!important;box-shadow:0 0 25px #38ef7de6,0 0 50px #11998e99}.board-center{grid-row:1 / 3;grid-column:7;background:linear-gradient(90deg,#3d3028,#4a3a2e 40%,#5d4a3a,#4a3a2e 60%,#3d3028);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;z-index:10;position:relative;box-shadow:inset 2px 0 4px #0000004d,inset -2px 0 4px #0000004d}.checker-stack{display:flex;flex-direction:column;align-items:center;position:relative;z-index:10}.checker-stack.bottom{flex-direction:column-reverse}.point.top .checker-stack{margin-top:var(--checker-edge-gap)}.point.bottom .checker-stack{margin-bottom:var(--checker-edge-gap)}.checker{width:var(--checker-size);height:var(--checker-size);border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:calc(var(--checker-size) * .33);position:relative;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}.point.top .checker-stack.overlap .checker{margin-bottom:calc(var(--checker-size) * -.5)}.point.top .checker-stack.overlap .checker:last-child{margin-bottom:0}.point.bottom .checker-stack.overlap .checker{margin-bottom:calc(var(--checker-size) * -.5)}.point.bottom .checker-stack.overlap .checker:first-child{margin-bottom:0}.point.top .checker-stack.no-overlap .checker{margin-bottom:var(--checker-edge-gap)}.point.top .checker-stack.no-overlap .checker:last-child{margin-bottom:0}.point.bottom .checker-stack.no-overlap .checker{margin-bottom:var(--checker-edge-gap)}.point.bottom .checker-stack.no-overlap .checker:first-child{margin-bottom:0}.checker.black{background:radial-gradient(circle at 35% 30%,#6b5a4e,#4a3a2e 50%,#2e251e 80%,#1a1410);border:2px solid rgba(200,180,160,.35);box-shadow:0 4px 8px #00000080,0 2px 4px #0000004d,0 0 0 1px #c8b4a026,inset 0 4px 8px #fff3,inset 0 -3px 6px #0006;color:#fffc}.checker.white{background:radial-gradient(circle at 35% 30%,#fffcf8,#f5ede4 40%,#e8ddd0,#c4b8a8);border:2px solid rgba(120,100,80,.25);box-shadow:0 6px 14px #0006,0 3px 6px #00000040,0 0 0 1px #7864501a,inset 0 4px 8px #ffffffe6,inset 0 -5px 10px #0000002e;color:#3d3028}.checker.selected{transform:scale(1.15);box-shadow:0 0 15px var(--color-accent),0 0 30px var(--color-accent);z-index:20}.checker.pinned:after{content:"🔒";position:absolute;font-size:14px;top:-5px;right:-5px}.checker.just-moved{outline:3px solid rgb(255,200,50);outline-offset:-1px;box-shadow:0 0 12px #ffc832cc,0 0 24px #ffa50080;animation:just-moved-fade 5s ease-out forwards}@keyframes just-moved-fade{0%{outline-color:#ffc832;box-shadow:0 0 12px #ffc832cc,0 0 24px #ffa50080}70%{outline-color:#ffc832;box-shadow:0 0 12px #ffc83299,0 0 20px #ffa50066}to{outline-color:#ffc83200;box-shadow:0 0 #ffc83200}}.checker.initial-glow{outline:3px solid transparent;outline-offset:-1px;box-shadow:none;animation:initial-glow-blink .24s ease-out forwards}@keyframes initial-glow-blink{0%{outline-color:transparent;box-shadow:none}20%{outline-color:#ffc832;box-shadow:0 0 16px #ffc832e6,0 0 32px #ffa50099}80%{outline-color:#ffc832;box-shadow:0 0 16px #ffc832e6,0 0 32px #ffa50099}to{outline-color:transparent;box-shadow:none}}.checker.all-lit{outline:3px solid rgb(255,200,50);outline-offset:-1px;box-shadow:0 0 16px #ffc832e6,0 0 32px #ffa50099;animation:all-lit-fade 1s ease-out forwards}@keyframes all-lit-fade{0%{outline-color:#ffc832;box-shadow:0 0 16px #ffc832e6,0 0 32px #ffa50099}70%{outline-color:#ffc832;box-shadow:0 0 16px #ffc832e6,0 0 32px #ffa50099}to{outline-color:transparent;box-shadow:none}}.dice-container{display:flex;flex-direction:column;gap:12px;padding:8px;min-height:calc(var(--checker-size) * 2.3)}.die{width:calc(var(--checker-size) * .9);height:calc(var(--checker-size) * .9);background:linear-gradient(145deg,#fffcf8,#f5ede4,#e8ddd0);border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:6px;box-shadow:0 4px 10px #00000040,0 2px 4px #00000026,inset 0 2px 3px #fffc,inset 0 -2px 3px #0000001a;border:1px solid rgba(0,0,0,.08)}.die .dot{width:calc(var(--checker-size) * .14);height:calc(var(--checker-size) * .14);background:#1a1410;border-radius:50%;justify-self:center;align-self:center;box-shadow:inset 0 1px 2px #0006}.die.used{opacity:.35;transform:scale(.85)}.info-panel{width:var(--info-panel-width);padding:16px;background:#44475a66;border-radius:12px;border:1px solid var(--color-frame-inner)}.info-panel h3{font-size:var(--font-size-lg);text-transform:uppercase;letter-spacing:1px;color:var(--color-accent);margin-bottom:16px}.info-panel p{margin-bottom:8px;font-size:var(--font-size-base)}.move-hint{padding:12px;background:#50fa7b1a;border-left:3px solid rgb(80,250,123);border-radius:4px;margin-bottom:16px;font-size:var(--font-size-sm)}.player-box{padding:10px 12px;border-radius:8px;border:2px solid var(--color-accent);margin-bottom:12px;font-size:var(--font-size-base);display:flex;align-items:center;gap:8px}.player-box.black{background:var(--color-checker-black);color:var(--color-text)}.player-box.white{background:var(--color-checker-white);color:#222}.btn-gold{background:linear-gradient(135deg,gold,orange);color:#1a1a2e;border:none;font-weight:600}.nerd-stats{margin-top:8px;padding:8px;background:#0003;border-radius:6px;font-size:13px}.nerd-stats h4{margin:0 0 8px;font-size:14px;color:var(--color-accent)}.nerd-stats p{margin:4px 0}.eval-bar-container{width:calc(var(--bear-off-width) * .35);min-width:26px;height:calc(var(--board-height) + 28px);border-radius:12px;position:relative;overflow:hidden;border:3px solid var(--color-accent);box-shadow:0 4px 12px #0003,inset 0 1px 2px #0000001a}.eval-bar-white{position:absolute;inset:0;background:linear-gradient(180deg,#fffcf8,#f5ede4 50%,#e8ddd0)}.eval-bar-black{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,#2e251e,#3d3028 50%,#4a3a2e);transition:height .4s ease}.eval-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);font-size:14px;font-weight:800;color:var(--color-accent);white-space:nowrap;letter-spacing:.02em;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 8px rgba(255,255,255,.9)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes pulse-banner{0%,to{box-shadow:0 4px 12px #0003,0 0 15px #b8733340}50%{box-shadow:0 4px 12px #0003,0 0 25px #b8733373}}.spinner{width:20px;height:20px;border:2px solid var(--color-frame-inner);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:8px}.game-over-overlay{position:absolute;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.game-over-box{background:linear-gradient(145deg,var(--color-surface),var(--color-background));border:2px solid var(--color-accent);border-radius:20px;padding:40px 60px;text-align:center;box-shadow:0 0 60px #00000080,0 0 30px var(--color-accent-glow, rgba(189, 147, 249, .3));animation:pop-in .4s ease}@keyframes pop-in{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.game-over-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-accent);margin-bottom:12px}.game-over-message{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:24px}.game-over-box .btn{font-size:var(--font-size-base);padding:12px 32px}footer{margin-top:auto;padding:16px;opacity:.5;font-size:12px}.rules-modal-backdrop{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .3s ease;padding:20px}.rules-modal{background:linear-gradient(180deg,#f5ede4,#e8ddd0);border:3px solid #5D4A3A;border-radius:18px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 0 60px #0006,0 0 20px #b8733326,inset 0 1px 2px #ffffff80;animation:pop-in .4s ease}.rules-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid rgba(93,74,58,.2);background:linear-gradient(135deg,#b873331a,#b873330d)}.rules-modal-header h2{font-size:var(--font-size-xl);color:#5d4a3a;margin:0}.rules-close-btn{background:none;border:none;color:#5d4a3a;font-size:24px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.rules-close-btn:hover{background:#5d4a3a1a;color:#3d3028}.rules-tabs{display:flex;gap:4px;padding:12px 16px;background:#5d4a3a14;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;align-items:stretch;flex-shrink:0}.rules-tab{padding:10px 16px;background:transparent;border:1px solid transparent;border-radius:8px;color:#5d4a3a;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease;line-height:1.2}.rules-tab:hover{background:#ffffff80;color:#3d3028}.rules-tab.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.rules-content{flex:1;overflow-y:auto;padding:24px}.rules-category-header{margin-bottom:24px}.rules-category-header h3{font-size:var(--font-size-lg);color:#3d3028;margin:0 0 8px}.rules-category-desc{color:#5d4a3a;font-size:var(--font-size-base);margin:0}.rules-cards{display:flex;flex-direction:column;gap:24px}.rule-card{display:flex;gap:24px;padding:20px;background:#ffffff80;border-radius:14px;border:1.5px solid rgba(93,74,58,.15);box-shadow:0 2px 8px #0000000d}.rule-card-visual{flex-shrink:0}.rule-card-text{flex:1;display:flex;flex-direction:column;justify-content:center}.rule-card-text h4{font-size:var(--font-size-lg);color:var(--color-accent);margin:0 0 12px}.rule-card-text p{font-size:var(--font-size-base);color:#3d3028;line-height:1.6;margin:0}.rules-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:2px solid rgba(93,74,58,.15);background:#ffffff4d}.rules-hint{color:#5d4a3a;font-size:var(--font-size-sm)}@media(max-width:800px){.rule-card{flex-direction:column;align-items:center}.rule-card-text{text-align:center}}.mini-board-container{--mini-width: 350px;--mini-height: calc(var(--mini-width) / 1.692);--mini-checker-size: calc(var(--mini-width) / 20);width:var(--mini-width)}.mini-board-wrapper{display:flex;gap:8px;align-items:center}.mini-board{display:grid;grid-template-columns:repeat(6,1fr) calc(var(--mini-width) * .05) repeat(6,1fr);grid-template-rows:1fr 1fr;gap:0;background:var(--color-board-gradient, var(--color-board));border-radius:8px;width:calc(var(--mini-width) - 40px);height:var(--mini-height);position:relative;overflow:visible;border:1px solid var(--color-frame-inner);box-shadow:0 2px 10px #0000004d;margin:25px 0}.mini-board-error{padding:20px;color:var(--color-message);text-align:center}.movement-arrows-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none}.mini-point{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.mini-point:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--color-point-dark)}.mini-point.light:before{background:var(--color-point-light)}.mini-point.top{justify-content:flex-start;padding-top:4px}.mini-point.top:before{clip-path:polygon(0 0,100% 0,50% 90%)}.mini-point.bottom{justify-content:flex-end;padding-bottom:4px}.mini-point.bottom:before{clip-path:polygon(50% 10%,0 100%,100% 100%)}.mini-point.circle-highlight.source:before,.mini-point.arrow-source.source:before,.mini-point.arrow-dest.source:before{background:#ff649699!important;filter:brightness(1.4);box-shadow:inset 0 0 10px #ff3264cc}.mini-point.circle-highlight.dest:before,.mini-point.arrow-source.dest:before,.mini-point.arrow-dest.dest:before{background:#50fa7b99!important;filter:brightness(1.4);box-shadow:inset 0 0 10px #32c864cc}.mini-point.circle-highlight.valid:before,.mini-point.arrow-source.valid:before,.mini-point.arrow-dest.valid:before{background:#50fa7b99!important;filter:brightness(1.3)}.mini-point.circle-highlight.invalid:before,.mini-point.arrow-source.invalid:before,.mini-point.arrow-dest.invalid:before,.mini-point.x-mark:before{background:#ff555580!important}.mini-point.circle-highlight.warning:before,.mini-point.arrow-source.warning:before,.mini-point.arrow-dest.warning:before{background:#ffc83299!important;filter:brightness(1.3)}.mini-point.circle-highlight.info:before,.mini-point.arrow-source.info:before,.mini-point.arrow-dest.info:before{background:#50c8ff80!important}.x-mark-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:calc(var(--mini-checker-size) * 1.5);color:#ff5555e6;font-weight:700;z-index:20;text-shadow:0 0 8px rgba(255,0,0,.5)}.mini-checker-stack{display:flex;flex-direction:column;align-items:center;position:relative;z-index:10}.mini-checker-stack.bottom{flex-direction:column-reverse}.mini-checker{width:var(--mini-checker-size);height:var(--mini-checker-size);border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative;flex-shrink:0;font-size:calc(var(--mini-checker-size) * .5)}.mini-checker-stack.overlap .mini-checker{margin-bottom:calc(var(--mini-checker-size) * -.5)}.mini-point.top .mini-checker-stack.overlap .mini-checker:last-child{margin-bottom:0}.mini-point.bottom .mini-checker-stack.overlap .mini-checker:first-child{margin-bottom:0}.mini-checker-stack.no-overlap .mini-checker{margin-bottom:1px}.mini-checker-stack.no-overlap .mini-checker:last-child{margin-bottom:0}.mini-checker.black{background:radial-gradient(circle at 30% 30%,var(--color-checker-black-shine),var(--color-checker-black));border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 4px #0006;color:var(--color-text)}.mini-checker.white{background:radial-gradient(circle at 30% 30%,var(--color-checker-white-shine),var(--color-checker-white));border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 4px #0000004d;color:#222}.mini-checker.pinned .pin-icon{position:absolute;font-size:8px;top:-3px;right:-3px}.mini-checker .checker-count{font-size:calc(var(--mini-checker-size) * .45);font-weight:700}.mini-board-center{grid-row:1 / 3;grid-column:7;background:var(--color-background);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10}.mini-dice{display:flex;flex-direction:column;gap:4px;align-items:center}.mini-die{width:calc(var(--mini-checker-size) * .85);height:calc(var(--mini-checker-size) * .85);background:linear-gradient(145deg,#fff,#e8e8e8);border-radius:3px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:2px;box-shadow:0 1px 4px #0000004d}.mini-die .dot{width:calc(var(--mini-checker-size) * .12);height:calc(var(--mini-checker-size) * .12);background:var(--color-background);border-radius:50%;justify-self:center;align-self:center}.doubles-indicator{font-size:10px;color:var(--color-accent);font-weight:700}.mini-bear-off{width:30px;height:var(--mini-height);display:flex;flex-direction:column;background:var(--color-bear-off-zone);border-radius:6px;border:1px solid var(--color-accent);overflow:hidden;flex-shrink:0}.mini-bear-off-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px}.mini-bear-off-label{font-size:10px}.mini-bear-off-count{font-size:14px;font-weight:700;color:var(--color-text)}.mini-bear-off-divider{height:1px;background:var(--color-accent);margin:0 4px}.mini-annotation{position:absolute;background:#000000d9;color:var(--color-text);padding:3px 6px;border-radius:4px;font-size:9px;white-space:nowrap;z-index:30;border:1px solid var(--color-accent);pointer-events:none}.mini-annotation.top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:4px}.mini-annotation.bottom{top:100%;left:50%;transform:translate(-50%);margin-top:4px}.elkhal-landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px;background:var(--color-background);font-size:18px}.elkhal-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.theme-toggle{width:44px;height:44px;border:2px solid var(--color-accent);border-radius:12px;background:#3d3028;box-shadow:0 2px 8px #00000026,inset 0 1px 2px #ffffff1a;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-toggle:hover{background:#4a3a2e;transform:scale(1.05);box-shadow:0 4px 12px #0003,inset 0 1px 2px #ffffff1a}.elkhal-hero{text-align:center;margin-bottom:24px}.elkhal-logo{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:12px}.logo-arabic{font-family:Amiri,Noto Naskh Arabic,Georgia,serif;font-size:clamp(80px,16vw,130px);font-weight:700;color:var(--color-accent);line-height:.85;direction:rtl;text-shadow:0 3px 6px rgba(0,0,0,.15)}.logo-english{font-family:Playfair Display,Georgia,serif;font-size:clamp(48px,10vw,80px);font-weight:600;color:var(--color-text);letter-spacing:.02em;margin-top:-36px}.elkhal-tagline{font-size:clamp(16px,2.5vw,20px);color:var(--color-text-muted);font-weight:400;font-style:italic;letter-spacing:.05em}.elkhal-board-preview{display:flex;justify-content:center;margin-bottom:32px;perspective:1000px}.board-illustration{transform:rotateX(5deg) scale(1.5);transition:transform .3s ease}.board-illustration:hover{transform:rotateX(0) scale(1.55)}.board-frame{background:linear-gradient(145deg,#6b5344,#4a3a2e);padding:12px;border-radius:12px;box-shadow:0 20px 60px #4a3a2e66,0 8px 24px #0003,inset 0 1px #ffffff1a}.board-inner{display:flex;gap:0;background:linear-gradient(180deg,#8b7355,#7a6348);border-radius:6px;overflow:hidden;box-shadow:inset 0 2px 8px #0000004d}.board-half{display:flex;width:120px;height:180px;padding:8px 4px;gap:2px}.board-bar{width:24px;background:linear-gradient(180deg,#5d4a3a,#4a3a2e);box-shadow:inset 2px 0 4px #0003,inset -2px 0 4px #0003}.board-point{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:4px;clip-path:polygon(50% 100%,0% 0%,100% 0%);gap:2px}.board-point.light{background:linear-gradient(180deg,#e8dfd0,#d4c8b8)}.board-point.dark{background:linear-gradient(180deg,#8b7355,#6b5344)}.point-checker{width:14px;height:14px;border-radius:50%;box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #ffffff4d}.point-checker.light-checker{background:radial-gradient(circle at 30% 30%,#fffcf8,#e8ddd0);border:1px solid rgba(0,0,0,.1)}.point-checker.dark-checker{background:radial-gradient(circle at 30% 30%,#3d332a,#1a1410);border:1px solid rgba(255,255,255,.05)}.rain-board{position:relative;overflow:hidden}.falling-checker{width:18px;height:18px;border-radius:50%;position:absolute;z-index:10;top:-25px;box-shadow:0 3px 6px #0006,inset 0 2px 3px #ffffff4d}.falling-checker:before{content:"";position:absolute;left:50%;bottom:100%;transform:translate(-50%);width:8px;height:35px;border-radius:4px 4px 0 0;opacity:.6;filter:blur(2px);pointer-events:none}.falling-checker.light{background:radial-gradient(circle at 30% 30%,#fffcf8,#e8ddd0);border:1px solid rgba(0,0,0,.1)}.falling-checker.light:before{background:linear-gradient(to top,#f5efe6cc,#f5efe666 40%,#f5efe600)}.falling-checker.dark{background:radial-gradient(circle at 30% 30%,#3d332a,#1a1410);border:1px solid rgba(255,255,255,.05)}.falling-checker.dark:before{background:linear-gradient(to top,#3d332ab3,#3d332a4d 40%,#3d332a00)}.falling-checker.slot-1{left:245px;animation:phi-slot-1 3s linear infinite;animation-delay:.5s}.falling-checker.slot-2{left:225px;animation:phi-slot-2 2.62s linear infinite;animation-delay:.4s}.falling-checker.slot-3{left:205px;animation:phi-slot-3 2.38s linear infinite;animation-delay:.3s}.falling-checker.slot-4{left:185px;animation:phi-slot-4 2.24s linear infinite;animation-delay:.2s}.falling-checker.slot-5{left:165px;animation:phi-slot-5 2.15s linear infinite;animation-delay:.1s}.falling-checker.slot-6{left:145px;animation:phi-slot-6 2.09s linear infinite;animation-delay:0s}.falling-checker.slot-7{left:101px;animation:phi-slot-6 2.09s linear infinite;animation-delay:0s}.falling-checker.slot-8{left:81px;animation:phi-slot-5 2.15s linear infinite;animation-delay:.1s}.falling-checker.slot-9{left:61px;animation:phi-slot-4 2.24s linear infinite;animation-delay:.2s}.falling-checker.slot-10{left:41px;animation:phi-slot-3 2.38s linear infinite;animation-delay:.3s}.falling-checker.slot-11{left:21px;animation:phi-slot-2 2.62s linear infinite;animation-delay:.4s}.falling-checker.slot-12{left:1px;animation:phi-slot-1 3s linear infinite;animation-delay:.5s}@keyframes phi-slot-1{0%{top:-25px;opacity:.7}33%{top:0;opacity:.75}67%{top:100px;opacity:1}to{top:200px;opacity:.7}}@keyframes phi-slot-2{0%{top:-25px;opacity:.7}24%{top:0;opacity:.75}62%{top:100px;opacity:1}to{top:200px;opacity:.7}}@keyframes phi-slot-3{0%{top:-25px;opacity:.7}16%{top:0;opacity:.75}58%{top:100px;opacity:1}to{top:200px;opacity:.7}}@keyframes phi-slot-4{0%{top:-25px;opacity:.7}11%{top:0;opacity:.75}55%{top:100px;opacity:1}to{top:200px;opacity:.7}}@keyframes phi-slot-5{0%{top:-25px;opacity:.7}7%{top:0;opacity:.75}54%{top:100px;opacity:1}to{top:200px;opacity:.7}}@keyframes phi-slot-6{0%{top:-25px;opacity:.7}4%{top:0;opacity:.75}52%{top:100px;opacity:1}to{top:200px;opacity:.7}}.elkhal-content{display:flex;flex-direction:column;align-items:center;gap:28px;width:100%;max-width:700px}.elkhal-play-section{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.section-title{font-size:20px;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em}.difficulty-cards{display:flex;gap:16px;width:100%}.difficulty-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:var(--color-surface);border:2px solid rgba(0,0,0,.05);border-radius:16px;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;cursor:pointer;transition:all .25s ease}.difficulty-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f,0 4px 8px #0000000f;border-color:#b8733333}.difficulty-card.selected{border-color:var(--color-accent);background:linear-gradient(180deg,var(--color-surface) 0%,rgba(184,115,51,.05) 100%);box-shadow:0 8px 24px #b8733333,0 4px 8px #0000000f,inset 0 0 0 1px #b873331a}.difficulty-card .diff-level{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-text-inverse, #fff);border-radius:50%;font-size:18px;font-weight:700}.difficulty-card .diff-name{font-size:16px;font-weight:600;color:var(--color-text)}.difficulty-card .diff-desc{font-size:12px;color:var(--color-text-muted);text-align:center;line-height:1.3}.elkhal-btn-primary{width:100%;max-width:300px;padding:18px 36px;background:linear-gradient(180deg,#c9824a,#a06028);color:#fff;border:none;border-radius:50px;font-size:18px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 24px #a0602859,0 4px 8px #0000001a,inset 0 1px #fff3}.elkhal-btn-primary:hover{background:linear-gradient(180deg,#d4915a,#b87333);transform:translateY(-3px);box-shadow:0 12px 40px #a0602866,0 6px 12px #00000026,inset 0 1px #ffffff40}.elkhal-btn-primary:active{transform:translateY(0)}.elkhal-btn-secondary{padding:12px 24px;background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-accent);border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.elkhal-btn-secondary:hover{background:var(--color-accent);color:var(--color-text-inverse, #fff)}.elkhal-study-section{width:100%;max-width:720px;margin:16px auto}.study-card-wide{background:var(--color-surface);border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:20px 24px;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005}.study-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:16px}.study-icon{font-size:64px;color:var(--color-accent);animation:lightbulb-glow 2.5s ease-in-out infinite;filter:drop-shadow(0 0 8px var(--color-accent))}@keyframes lightbulb-glow{0%,to{filter:drop-shadow(0 0 10px var(--color-accent)) drop-shadow(0 0 16px rgba(212,145,90,.6));transform:scale(1)}50%{filter:drop-shadow(0 0 24px var(--color-accent)) drop-shadow(0 0 40px rgba(212,145,90,.8)) drop-shadow(0 0 60px rgba(212,145,90,.5));transform:scale(1.08)}}.study-title-group{display:flex;flex-direction:column;align-items:center}.study-name{font-size:18px;font-weight:600;color:var(--color-text)}.study-desc{font-size:13px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.study-options{display:flex;gap:16px;justify-content:space-evenly;padding:0 24px}.study-option{width:130px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:var(--color-surface-hover);border:1px solid rgba(0,0,0,.08);border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000a,0 4px 12px #00000014}.study-option:hover{border-color:var(--color-accent);transform:translateY(-3px);box-shadow:0 4px 8px #0000000f,0 8px 24px #0000001f;background:var(--color-surface-hover)}.study-option .option-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--color-accent);transition:transform .2s ease}.study-option:hover .option-icon{transform:scale(1.15)}.study-option .option-name{font-size:15px;font-weight:600;color:var(--color-text)}.study-option .option-desc{font-size:12px;color:var(--color-text-muted)}.elkhal-secondary-section{width:100%;max-width:720px;margin:8px auto 0}.secondary-title{font-size:22px;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;text-align:center;margin-bottom:16px}.secondary-cards{display:flex;gap:12px;width:100%}.secondary-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:20px 16px;background:var(--color-surface);border:1px solid rgba(0,0,0,.06);border-radius:14px;cursor:pointer;transition:all .2s ease;text-align:center;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005}.secondary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014,0 2px 4px #0000000a;border-color:var(--color-accent);box-shadow:0 8px 24px #00000014,0 2px 4px #0000000a,0 0 0 2px #b8733333}.secondary-card:active{transform:translateY(0)}.secondary-icon{font-size:28px;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--color-accent);background:transparent}.secondary-info{display:flex;flex-direction:column;gap:4px;align-items:center}.secondary-name{font-size:16px;font-weight:600;color:var(--color-text)}.secondary-desc{font-size:12px;color:var(--color-text-muted);line-height:1.3}@media(max-width:600px){.secondary-cards{flex-direction:column}.secondary-card{padding:14px}.secondary-desc{white-space:normal}}.elkhal-ai-battle{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-soft);width:100%;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-battle-row{display:flex;align-items:center;gap:24px}.ai-player{display:flex;flex-direction:column;align-items:center;gap:8px}.ai-player-label{font-size:14px;font-weight:600;color:var(--color-text)}.ai-level-select{display:flex;gap:6px}.level-btn{width:36px;height:36px;border:2px solid transparent;border-radius:8px;background:var(--color-surface-hover, rgba(0, 0, 0, .05));color:var(--color-text);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.level-btn:hover{border-color:var(--color-accent)}.level-btn.active{background:var(--color-accent);color:var(--color-text-inverse, #fff);border-color:var(--color-accent)}.vs-text{font-size:16px;font-weight:600;color:var(--color-text-muted)}.elkhal-footer{margin-top:auto;padding-top:40px;display:flex;align-items:center;gap:12px;color:var(--color-text-muted);font-size:13px}.footer-divider{opacity:.5}@media(max-width:500px){.difficulty-cards{flex-direction:column}.difficulty-card{flex-direction:row;padding:16px;gap:16px;text-align:left}.difficulty-card .diff-desc{text-align:left}.ai-battle-row{flex-direction:column;gap:16px}.elkhal-secondary-actions{flex-direction:column;gap:8px}.link-divider{display:none}}.landing-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:var(--color-background)}.landing-title{font-size:clamp(48px,8vw,80px);font-weight:800;color:var(--color-accent);margin-bottom:12px;letter-spacing:2px}.landing-subtitle{font-size:clamp(18px,3vw,28px);color:var(--color-text-muted);font-weight:400}.landing-footer{color:var(--color-text-muted);font-size:13px;margin-top:auto}.game-header-minimal{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:calc(var(--board-width) + var(--bear-off-width) * 2 + var(--info-panel-width) + 80px);padding:14px 20px;background:linear-gradient(180deg,#f5ede4,#e8ddd0);border-radius:14px;border:2px solid #5D4A3A;margin-bottom:12px;box-shadow:0 4px 12px #0000001a,inset 0 1px 2px #ffffff80}.header-left{display:flex;align-items:center;gap:16px}.back-btn{background:transparent;border:none;color:var(--color-accent, #5D4A3A);font-size:1.2rem;font-weight:600;cursor:pointer;padding:8px 14px;border-radius:8px;transition:all .2s;display:flex;align-items:center;gap:.5rem}.back-btn:hover{background:#5d4a3a1a;color:var(--color-accent)}.mode-indicator{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;color:var(--color-accent)}.mode-indicator svg{vertical-align:middle;flex-shrink:0}.header-center{display:flex;align-items:center;gap:12px}.header-right{display:flex;align-items:center;gap:10px}.header-icon-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:10px;border-radius:8px;transition:all .2s}.header-icon-btn:hover{background:#5d4a3a1a}.settings-drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.settings-drawer-overlay.open{opacity:1;visibility:visible}.settings-drawer{position:fixed;top:0;right:-350px;width:320px;height:100vh;background:var(--color-surface);border-left:1px solid var(--color-frame-inner);padding:24px;z-index:1000;transition:right .3s ease;overflow-y:auto;box-shadow:-8px 0 32px #0000004d}.settings-drawer.open{right:0}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-title{font-size:20px;font-weight:600;color:var(--color-text)}.drawer-close{background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer}.drawer-section{margin-bottom:24px}.drawer-section-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:12px}.drawer-divider{height:1px;background:#ffffff1a;margin:16px 0}.difficulty-buttons{display:flex;gap:8px}.difficulty-btn{flex:1;padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:var(--color-text);cursor:pointer;transition:all .2s;font-size:14px}.difficulty-btn:hover{background:#ffffff1a}.difficulty-btn.active{border-color:var(--color-accent);background:#a855f733}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.toggle-label{font-size:15px;color:var(--color-text)}.toggle-switch{width:50px;height:28px;background:#0003;border-radius:14px;position:relative;cursor:pointer;transition:background .2s;border:1px solid rgba(0,0,0,.1)}.toggle-switch.active{background:var(--color-accent);border-color:var(--color-accent-hover)}.toggle-switch:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:3px;left:3px;transition:left .2s}.toggle-switch.active:after{left:25px}.game-sidebar{width:var(--info-panel-width);height:calc(var(--board-height) + 20px);padding:calc(var(--board-width) * .012);background:linear-gradient(180deg,#f5ede4,#e8ddd0);border-radius:16px;border:2px solid #5D4A3A;box-shadow:0 4px 16px #0000001f,0 2px 4px #0000000f,inset 0 1px 2px #ffffff80;display:flex;flex-direction:column;gap:calc(var(--board-width) * .008);overflow-y:auto;overflow-x:hidden}.sidebar-section{display:flex;flex-direction:column;gap:calc(var(--board-width) * .006)}.sidebar-section-title{font-size:calc(var(--board-width) * .012);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);font-weight:600}.sidebar-section-title.opponent-title{font-size:var(--font-size-base);font-family:Playfair Display,Georgia,serif;text-transform:lowercase}.sidebar-section-title.stats-title{font-size:var(--font-size-base)}.sidebar-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);margin:calc(var(--board-width) * .004) 0}.difficulty-selector{display:flex;gap:calc(var(--board-width) * .006);justify-content:center}.diff-select-btn{width:calc(var(--board-width) * .038);height:calc(var(--board-width) * .038);border:2px solid transparent;border-radius:10px;background:#ffffff14;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.diff-select-btn:hover{background:#ffffff26}.diff-select-btn.active{border-color:var(--color-accent);background:#a855f740;box-shadow:0 0 16px var(--color-accent-glow);transform:scale(1.05)}.diff-select-icon{font-size:var(--font-size-lg)}.current-difficulty{text-align:center}.current-difficulty .diff-name{display:block;font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.current-difficulty .diff-tagline{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.ai-level-label{text-align:center;font-size:var(--font-size-base);color:var(--color-text-muted)}.ai-vs-ai-compact{padding:4px 0}.ai-selector-row{display:flex;gap:12px;justify-content:center}.ai-selector-col{display:flex;flex-direction:column;align-items:center;gap:4px}.ai-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;padding:calc(var(--board-width) * .005) calc(var(--board-width) * .01);border-radius:20px;border:2px solid var(--color-accent);background:#ffffff80}.player-circle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-accent);font-size:14px;line-height:1;box-shadow:0 1px 3px #00000026}.player-circle.white{background:#ffffffe6}.player-circle.black{background:#1e1e1ee6}.difficulty-selector.compact{gap:4px}.difficulty-selector.compact .diff-select-btn{width:calc(var(--board-width) * .035);height:calc(var(--board-width) * .035);border-radius:8px}.difficulty-selector.compact .diff-select-icon{font-size:var(--font-size-base)}.player-scores{display:flex;flex-direction:column;gap:calc(var(--board-width) * .005)}.player-score{display:flex;align-items:center;gap:calc(var(--board-width) * .008);padding:calc(var(--board-width) * .007) calc(var(--board-width) * .01);background:#00000008;border-radius:10px;border:2px solid transparent;transition:all .2s}.player-score.active{border-color:var(--color-accent);background:#b8733314;box-shadow:0 0 0 2px #b873331a}.player-color{font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;width:calc(var(--board-width) * .026);height:calc(var(--board-width) * .026);border-radius:50%;border:2px solid var(--color-accent);box-shadow:0 0 0 1px #b8733326}.player-label{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.borne-off{font-size:var(--font-size-base);font-weight:700;color:var(--color-accent);background:#b873331a;padding:calc(var(--board-width) * .003) calc(var(--board-width) * .008);border-radius:6px}.sidebar-dice{display:flex;gap:calc(var(--board-width) * .01);justify-content:center}.sidebar-die{width:calc(var(--board-width) * .04);height:calc(var(--board-width) * .04);background:linear-gradient(145deg,#fffcf8,#f5ede4,#e8ddd0);border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:calc(var(--board-width) * .006);box-shadow:0 4px 10px #0003,0 2px 4px #0000001f,inset 0 2px 3px #ffffffe6,inset 0 -2px 3px #00000014;border:1px solid rgba(0,0,0,.08)}.sidebar-die .dot{width:calc(var(--board-width) * .008);height:calc(var(--board-width) * .008);background:transparent;border-radius:50%;justify-self:center;align-self:center}.sidebar-die .dot.visible{background:#1a1410;box-shadow:inset 0 1px 2px #0006}.sidebar-die.used{opacity:.35;transform:scale(.85)}.no-dice{color:var(--color-text-muted);font-size:var(--font-size-sm)}.sidebar-status{text-align:center;padding:calc(var(--board-width) * .01);background:#fff9;border-radius:10px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);border:2px solid var(--color-accent);min-height:calc(var(--board-width) * .04);display:flex;align-items:center;justify-content:center}.sidebar-status.game-over{background:#a855f733;color:var(--color-accent);font-weight:600}.sidebar-status.white-turn{background:#fffffff2;color:#1a1a2e;font-weight:600}.sidebar-status.black-turn{background:#1e1e32f2;color:#fff;font-weight:600}.nerd-stats-table{width:100%;border-collapse:collapse;font-size:calc(var(--font-size-sm) * .9)}.nerd-stats-table th{padding:calc(var(--board-width) * .004);font-weight:600;text-align:center;color:var(--color-text-muted);font-size:calc(var(--board-width) * .011);text-transform:uppercase}.nerd-stats-table th:first-child{text-align:left}.nerd-stats-table td{padding:calc(var(--board-width) * .005) calc(var(--board-width) * .004);border-bottom:1px solid rgba(0,0,0,.08)}.nerd-stats-table td:first-child{color:var(--color-text-muted);text-align:left}.nerd-stats-table .stat-you,.nerd-stats-table .stat-ai{text-align:center;font-weight:600}.nerd-stats-table .stat-you{color:var(--color-accent)}.nerd-stats-table .stat-ai{color:var(--color-text)}.nerd-stats-table .stat-you.playful{font-style:italic;font-size:var(--font-size-sm)}.nerd-stats-table td{vertical-align:middle}.nerd-stats-table .stat-label-multiline{line-height:1.2;font-size:var(--font-size-sm)}.nerd-stats-table tr:last-child td{border-bottom:none}.sidebar-bottom{margin-top:auto}.nerd-mode-toggle{width:100%;font-size:var(--font-size-sm)!important;padding:calc(var(--board-width) * .008) calc(var(--board-width) * .012)!important;border:2px solid var(--color-accent)!important}.auth-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.auth-modal{background:var(--color-surface);border-radius:16px;padding:32px;width:90%;max-width:400px;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:4px;border-radius:6px;transition:color .2s,background .2s}.auth-modal-close:hover{color:var(--color-text);background:var(--color-surface-hover)}.auth-modal-header{text-align:center;margin-bottom:24px}.auth-modal-header h2{font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:600;color:var(--color-accent);margin-bottom:8px}.auth-modal-subtitle{color:var(--color-text-muted);font-size:14px}.auth-error{background:#c832321a;border:1px solid rgba(200,50,50,.3);color:#c83232;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-input-group{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:14px;color:var(--color-text-muted);pointer-events:none}.auth-input-group input{width:100%;padding:14px 14px 14px 48px;border:2px solid rgba(0,0,0,.1);border-radius:10px;font-size:15px;background:var(--color-background);color:var(--color-text);transition:border-color .2s,box-shadow .2s}.auth-input-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.auth-input-group input::placeholder{color:var(--color-text-muted)}.auth-input-group input:disabled{opacity:.6;cursor:not-allowed}.auth-submit-btn{padding:14px 24px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;background:linear-gradient(180deg,#c9824a,#a06028);color:#fff;box-shadow:0 4px 12px #a060284d;transition:all .2s ease}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(180deg,#d4915a,#b87333);transform:translateY(-2px);box-shadow:0 6px 16px #a0602866}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#0000001a}.auth-divider span{color:var(--color-text-muted);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;border:2px solid rgba(0,0,0,.1);border-radius:10px;font-size:15px;font-weight:500;background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .2s ease}.auth-google-btn:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface-hover)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:20px;color:var(--color-text-muted);font-size:14px}.auth-switch button{background:none;border:none;color:var(--color-accent);font-weight:600;cursor:pointer;padding:0;margin-left:4px}.auth-switch button:hover{text-decoration:underline}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--color-surface);border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;transition:all .2s ease}.user-menu-trigger:hover{background:var(--color-surface-hover);border-color:var(--color-accent)}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--color-accent-glow);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.user-name{font-weight:500;color:var(--color-text);font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-surface);border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 8px 24px #00000026;overflow:hidden;animation:dropdownSlide .2s ease;z-index:100}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:14px 16px;background:var(--color-surface-hover)}.user-menu-email{font-size:13px;color:var(--color-text-muted)}.user-menu-divider{height:1px;background:#00000014}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;font-size:14px;color:var(--color-text);cursor:pointer;transition:background .2s}.user-menu-item:hover{background:var(--color-surface-hover)}.user-menu-item svg{color:var(--color-text-muted)}.header-login-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(180deg,#c9824a,#a06028);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #a060284d}.header-login-btn:hover{background:linear-gradient(180deg,#d4915a,#b87333);transform:translateY(-1px);box-shadow:0 6px 16px #a0602866}.resume-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.resume-modal{background:var(--color-surface);border-radius:20px;padding:32px;max-width:400px;width:90%;box-shadow:0 24px 80px #0006;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.resume-modal-header{text-align:center;margin-bottom:20px}.resume-modal-header h2{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:600;color:var(--color-accent)}.resume-modal-body{margin-bottom:24px}.resume-modal-body>p{text-align:center;color:var(--color-text-muted);margin-bottom:16px}.resume-game-info{background:var(--color-surface-hover);border-radius:12px;padding:16px;border:1px solid rgba(0,0,0,.05)}.resume-game-info .info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05)}.resume-game-info .info-row:last-child{border-bottom:none}.resume-game-info .label{color:var(--color-text-muted);font-size:14px}.resume-game-info .value{font-weight:600;color:var(--color-text)}.resume-modal-actions{display:flex;flex-direction:column;gap:12px}.resume-modal-actions .btn-continue{padding:14px 24px;background:linear-gradient(180deg,#c9824a,#a06028);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #a060284d}.resume-modal-actions .btn-continue:hover{background:linear-gradient(180deg,#d4915a,#b87333);transform:translateY(-2px);box-shadow:0 6px 16px #a0602866}.resume-modal-actions .btn-new{padding:14px 24px;background:var(--color-surface);color:var(--color-text);border:1px solid rgba(0,0,0,.1);border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.resume-modal-actions .btn-new:hover{background:var(--color-surface-hover);border-color:var(--color-accent)}.resume-modal-header{display:flex;align-items:center;justify-content:center;gap:12px}.resume-modal-actions button{display:flex;align-items:center;justify-content:center;gap:8px}.teaching-panel-compact{width:100%;max-width:calc(var(--board-width) + var(--bear-off-width) * 2 + 60px);background:linear-gradient(180deg,#f5ede4,#e8ddd0);border-radius:14px;border:2px solid #5D4A3A;margin-top:12px;overflow:hidden;box-shadow:0 4px 16px #0000001f,inset 0 1px 2px #ffffff80;animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tp-header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(135deg,#b8733326,#b8733314);border-bottom:1px solid rgba(93,74,58,.15)}.tp-your-move{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tp-label{font-size:.75rem;font-weight:600;color:#5d4a3a99;letter-spacing:.5px;text-transform:uppercase}.tp-move-text{font-size:1rem;font-weight:600;color:#3d3028;font-family:SF Mono,Monaco,monospace}.tp-rating{display:flex;align-items:center;gap:4px;font-size:1.1rem;font-weight:700}.tp-loss{font-size:.8em;opacity:.8;margin-left:2px}.tp-roll-btn{background:linear-gradient(135deg,var(--color-accent) 0%,#8B5A2B 100%);border:none;border-radius:10px;padding:10px 20px;color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s;box-shadow:0 3px 12px #b873334d;white-space:nowrap}.tp-roll-btn:hover{transform:scale(1.03);box-shadow:0 5px 18px #b8733380}.tp-alternatives-row{display:flex;align-items:center;gap:12px;padding:12px 18px;flex-wrap:wrap}.tp-alt-chips{display:flex;gap:8px;flex:1;flex-wrap:wrap}.tp-alt-chip{display:flex;align-items:center;gap:6px;padding:10px 14px;background:linear-gradient(180deg,#ffffffd9,#f5ede4e6);border:1.5px solid rgba(93,74,58,.25);border-radius:10px;color:#3d3028;font-size:.85rem;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000000f}.tp-alt-chip:hover{background:linear-gradient(180deg,#fffcf8,#f5ede4);border-color:var(--color-accent);box-shadow:0 3px 10px #b8733326;transform:translateY(-1px)}.tp-alt-chip.active{background:linear-gradient(180deg,#b873331f,#b873332e);border-color:var(--color-accent);box-shadow:0 0 0 2px #b8733326,0 2px 8px #b873331f}.tp-alt-chip.best{border-color:#1a6b47;border-width:2px;background:linear-gradient(180deg,#1a6b470f,#1a6b471f)}.tp-alt-chip .alt-rank{font-weight:700;color:#5d4a3a;font-size:.9rem}.tp-alt-chip .alt-move{font-family:SF Mono,Monaco,monospace;color:#3d3028}.tp-alt-chip .alt-rating{font-weight:600;font-size:.8rem}.tp-alt-chip.best .alt-rating{color:#1a6b47;font-weight:700}.tp-try-best-btn{background:linear-gradient(135deg,var(--color-accent) 0%,#8B5A2B 100%);border:none;border-radius:10px;padding:10px 16px;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px #b8733340}.tp-try-best-btn:hover:not(.disabled){transform:scale(1.02);box-shadow:0 4px 12px #b8733366}.tp-try-best-btn.disabled{background:#5d4a3a4d;color:#5d4a3a80;cursor:not-allowed}@media(max-width:700px){.tp-header-row{flex-direction:column;gap:10px;align-items:flex-start}.tp-roll-btn{width:100%}.tp-alternatives-row{flex-direction:column;align-items:flex-start}.tp-alt-chips,.tp-try-best-btn{width:100%}}.setup-sidebar{display:flex;flex-direction:column;gap:20px;padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:12px;color:#fff;min-width:280px}.setup-title{margin:0;font-size:1.5rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.setup-section{display:flex;flex-direction:column;gap:10px}.setup-section h3{margin:0;font-size:.9rem;color:#8b9dc3;text-transform:uppercase;letter-spacing:.5px}.piece-selector{display:flex;gap:10px}.piece-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:2px solid transparent;border-radius:8px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s}.piece-btn:hover{background:#ffffff1a}.piece-btn.selected{border-color:#667eea;background:#667eea33}.piece-preview{width:30px;height:30px;border-radius:50%;border:2px solid #444}.black-piece{background:radial-gradient(circle at 30% 30%,#555,#111)}.white-piece{background:radial-gradient(circle at 30% 30%,#fff,#ccc)}.remove-icon{display:flex;align-items:center;justify-content:center;background:#dc35454d;color:#dc3545;font-size:1.2rem;font-weight:700}.piece-btn.remove.selected{border-color:#dc3545;background:#dc354533}.hint{margin:0;font-size:.75rem;color:#6c757d;text-align:center;font-style:italic}.borne-off-row{display:flex;gap:15px}.borne-off-row label{flex:1;display:flex;align-items:center;gap:8px}.borne-label{font-size:.85rem}.black-text{color:#aaa}.white-text{color:#fff}.borne-off-row input{width:50px;padding:6px 8px;border:1px solid #444;border-radius:6px;background:#0000004d;color:#fff;text-align:center}.player-toggle{display:flex;gap:8px}.toggle-btn{flex:1;padding:10px;border:2px solid transparent;border-radius:8px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s;font-size:.9rem}.toggle-btn:hover{background:#ffffff1a}.toggle-btn.selected{border-color:#667eea;background:#667eea33}.actions{flex-direction:row;gap:8px}.action-btn{flex:1;padding:10px;border:none;border-radius:8px;background:#ffffff14;color:#fff;cursor:pointer;transition:all .2s;font-size:.85rem}.action-btn:hover{background:#ffffff26}.action-btn.clear:hover{background:#dc35454d}.action-btn.reset:hover{background:#28a7454d}.start-game-btn{padding:16px 24px;border:none;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #667eea4d}.start-game-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.start-game-btn:disabled{opacity:.6;cursor:not-allowed}.scenario-builder-page{min-height:100vh;background:var(--bg-primary, #f5f5f5);color:var(--text-primary, #1a1a2e)}.scenario-header{display:flex;align-items:center;gap:20px;padding:16px 24px;background:var(--bg-secondary, #fff);border-bottom:1px solid var(--border-color, #e0e0e0);box-shadow:0 2px 10px #0000000d}.back-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--bg-tertiary, #f0f0f0);color:var(--text-primary, #333);cursor:pointer;font-size:.9rem;transition:all .2s}.back-btn:hover{background:var(--bg-hover, #e0e0e0)}.scenario-header h1{margin:0;font-size:1.5rem;flex:1}.status-text{font-size:.9rem;color:var(--text-secondary, #666);padding:6px 12px;background:var(--bg-tertiary, #f0f0f0);border-radius:6px}.scenario-content{display:flex;gap:24px;padding:24px;max-width:1400px;margin:0 auto;justify-content:center;align-items:flex-start}.scenario-board.board-container{flex:0 0 auto}.scenario-board .point{overflow:hidden}.scenario-board .checker-stack{max-height:100%}.point.scenario-clickable{cursor:pointer}.point.scenario-clickable:hover{background:#667eea4d!important}.point-index-label{position:absolute;font-size:.65rem;color:#ffffffe6;font-weight:700;z-index:100;background:#00000080;padding:1px 4px;border-radius:3px}.point.top .point-index-label{top:4px}.point.bottom .point-index-label{bottom:4px}.scenario-bar-label{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:1px}[data-theme=dark] .scenario-builder-page{background:#1a1a2e;color:#e0e0e0}[data-theme=dark] .scenario-header{background:#16213e;border-color:#2a2a4e}[data-theme=dark] .back-btn{background:#2a2a4e;color:#e0e0e0}[data-theme=dark] .status-text{background:#2a2a4e;color:#aaa}.history-page{min-height:100vh;background:var(--color-background);color:var(--color-text);padding-bottom:2rem;font-family:Inter,system-ui,sans-serif}.history-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:transparent;border-bottom:1px solid var(--color-accent-glow);position:sticky;top:0;z-index:10}.history-back-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--color-accent);cursor:pointer;font-size:1.2rem;font-weight:600;padding:.4rem .6rem;border-radius:6px;transition:background .15s}.history-back-btn:hover{background:var(--color-accent-glow)}.history-title{font-size:1.35rem;font-weight:700;color:var(--color-accent);margin:0;letter-spacing:-.02em}.history-stats-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;padding:1rem 1.5rem;max-width:900px;margin:0 auto}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.85rem .5rem;background:var(--color-surface);border-radius:10px;border:1px solid rgba(184,115,51,.08);transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.stat-card.stat-primary .stat-value{color:var(--color-accent)}.stat-value{font-size:1.5rem;font-weight:800;line-height:1.1;letter-spacing:-.03em}.stat-label{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat-breakdown{display:flex;gap:.65rem;font-size:.82rem}.breakdown-item{color:var(--color-text-muted)}.breakdown-count{font-weight:700;color:var(--color-text);margin-right:2px}.history-filter-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;max-width:900px;margin:0 auto}.filter-tabs{display:flex;gap:.25rem;background:var(--color-surface);border-radius:8px;padding:3px}.filter-tab{padding:.4rem .9rem;border:none;background:none;color:var(--color-text-muted);font-size:.85rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s}.filter-tab:hover{color:var(--color-text)}.filter-tab.active{background:var(--color-accent);color:var(--color-text-inverse)}.filter-count{font-size:.82rem;color:var(--color-text-muted)}.history-game-list{display:flex;flex-direction:column;gap:.5rem;padding:0 1.5rem;max-width:900px;margin:0 auto}.game-card{display:flex;align-items:stretch;background:var(--color-surface);border-radius:10px;overflow:hidden;transition:transform .12s,box-shadow .12s;border:1px solid rgba(184,115,51,.06)}.game-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000012}.game-result-strip{width:4px;flex-shrink:0}.game-result-strip.win{background:linear-gradient(to bottom,#4ade80,#22c55e)}.game-result-strip.loss{background:linear-gradient(to bottom,#f87171,#ef4444)}.game-card-body{flex:1;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.35rem;min-width:0}.game-card-top{display:flex;align-items:center;gap:.6rem}.game-result-text{font-weight:800;font-size:1rem;letter-spacing:-.02em}.game-result-text.win{color:#22c55e}.game-result-text.loss{color:#ef4444}.game-win-badge{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.badge-normal{background:#b873331f;color:var(--color-accent)}.badge-gammon{background:#fbbf2426;color:#d97706}.badge-pin{background:#a855f71f;color:#a855f7}.badge-points{opacity:.7;font-weight:600}.game-card-middle{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.game-opponent{font-size:.88rem;color:var(--color-text)}.game-opponent strong{color:var(--color-accent)}.game-color{font-size:.78rem;color:var(--color-text-muted)}.game-card-bottom{display:flex;align-items:center;gap:.75rem}.game-date{font-size:.78rem;color:var(--color-text-muted)}.game-duration{font-size:.78rem;color:var(--color-text-muted);opacity:.8}.game-duration:before{content:"⏱ ";font-size:.7rem}.game-replay-btn{display:flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;background:none;border:none;border-left:1px solid rgba(184,115,51,.08);color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;transition:background .15s,color .15s}.game-replay-btn:hover{background:var(--color-accent-glow);color:var(--color-accent)}.history-loading,.history-empty,.history-error{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;color:var(--color-text-muted);font-size:.95rem}.loading-spinner{width:28px;height:28px;border:3px solid var(--color-accent-glow);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{font-size:2.5rem;opacity:.5}.empty-text{text-align:center;max-width:300px}.history-error button{padding:.4rem 1rem;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:6px;cursor:pointer;font-weight:600}.history-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem 1.5rem;max-width:900px;margin:0 auto}.pagination-btn{display:flex;align-items:center;gap:.3rem;padding:.45rem .85rem;background:var(--color-surface);border:1px solid rgba(184,115,51,.12);border-radius:6px;color:var(--color-accent);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.pagination-btn:hover:not(:disabled){background:var(--color-accent-glow)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-info{font-size:.82rem;color:var(--color-text-muted);font-weight:500}@media(max-width:600px){.history-stats-banner{grid-template-columns:repeat(2,1fr);padding:.75rem 1rem}.stat-card.stat-secondary{grid-column:span 2}.history-filter-bar{flex-direction:column;gap:.5rem;align-items:flex-start}.history-game-list{padding:0 1rem}.game-card-middle{flex-direction:column;align-items:flex-start;gap:.15rem}}.equity-graph{width:100%;height:100px;border-radius:6px;cursor:pointer;border:1px solid rgba(184,115,51,.08);overflow:hidden}.review-players-row{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600}.review-player-tag{display:flex;align-items:center;gap:.2rem}.review-vs{color:var(--color-text-muted);font-size:.65rem;font-weight:400;font-style:italic}.review-diff-badge{margin-left:auto;font-size:.65rem;color:var(--color-text-muted);font-weight:500}.review-accuracy-section{display:flex;flex-direction:column;align-items:center;gap:.85rem}.accuracy-big{display:flex;flex-direction:column;align-items:center;min-width:52px;gap:.25rem}.accuracy-ring{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.accuracy-ring-svg{position:absolute;inset:0;width:100%;height:100%}.accuracy-number{font-size:1.6rem;font-weight:800;color:var(--color-accent);line-height:1;z-index:1}.accuracy-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:700}.classification-bar{display:flex;width:100%;height:10px;border-radius:5px;overflow:hidden;background:#0000000a;gap:1px}.classification-bar-segment{height:100%;min-width:4px;transition:width .4s ease;opacity:.85}.classification-bar-segment:first-child{border-radius:5px 0 0 5px}.classification-bar-segment:last-child{border-radius:0 5px 5px 0}.class-counters{display:flex;flex-direction:column;gap:.3rem;width:100%}.class-counter-row{display:flex;align-items:center;gap:.5rem;font-size:.88rem;padding:.4rem .65rem;border-radius:8px;position:relative;overflow:hidden;background:var(--color-surface);border:1px solid rgba(0,0,0,.04);border-left:3px solid transparent;transition:all .15s ease}.class-counter-row.has-count{border-left-color:var(--cls-color)}.class-counter-row.has-count:hover{border-color:var(--cls-color);border-left-color:var(--cls-color);box-shadow:0 1px 4px #0000000f}.class-fill-bar{position:absolute;left:0;top:0;height:100%;opacity:.07;border-radius:8px;transition:width .4s ease;pointer-events:none;z-index:0}.class-badge-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;z-index:1}.class-badge-icon{width:18px;text-align:center;font-weight:800;font-size:.85rem;flex-shrink:0;z-index:1}.class-label{flex:1;color:var(--color-text-muted);font-weight:500;z-index:1}.class-count{font-weight:700;min-width:20px;text-align:right;font-size:.95rem;z-index:1}.review-action-btn{width:100%;padding:.65rem 1rem;background:linear-gradient(180deg,#c9824a,#a06028);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:1.2rem;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px 8px #a0602840}.review-action-btn:hover:not(:disabled){background:linear-gradient(180deg,#d4915a,#b87333);transform:translateY(-1px);box-shadow:0 4px 12px #a0602859}.review-action-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.review-error{font-size:.72rem;color:#ef4444;margin-top:.3rem;display:block}.loading-spinner.small{width:14px;height:14px;border-width:2px}.review-bottom-panel{margin-top:auto;border-top:1px solid rgba(184,115,51,.1);display:flex;flex-direction:column}.review-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 0;border-top:1px solid rgba(184,115,51,.1);width:80%;margin:0 auto}.review-controls button{width:48px;height:48px;border:none;background:transparent;color:var(--color-accent);border-radius:8px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.review-controls button:hover:not(:disabled){background:var(--color-accent-glow);transform:scale(1.1)}.review-controls button:disabled{opacity:.2;cursor:not-allowed}.review-step-label{font-size:1rem;font-weight:700;color:var(--color-accent);min-width:56px;text-align:center}.review-turn-list{flex:1;overflow-y:auto;max-height:160px;padding:.15rem 0}.review-turn{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;cursor:pointer;transition:background .08s;font-size:.72rem;border-left:3px solid transparent}.review-turn:hover{background:var(--color-surface-hover, rgba(184, 115, 51, .04))}.review-turn.active{background:var(--color-accent-glow);border-left-color:var(--color-accent);font-weight:600}.rt-num{width:20px;text-align:center;font-weight:700;color:var(--color-text-muted);flex-shrink:0}.rt-badge{width:16px;text-align:center;font-weight:800;font-size:.68rem;flex-shrink:0}.rt-player{flex-shrink:0;font-size:.65rem}.rt-dice{font-weight:700;color:var(--color-accent);flex-shrink:0;min-width:20px;font-size:.72rem}.rt-moves{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt-loss{font-size:.65rem;font-weight:700;flex-shrink:0;opacity:.8}.review-current-turn{padding:.5rem .6rem}.review-move-header{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;font-size:.9rem}.review-dice{font-weight:700;color:var(--color-accent);font-size:1rem}.review-move-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.review-move-text{font-weight:600;font-size:.9rem}.review-rating{font-weight:700;font-size:.9rem}.review-win-drop{font-size:.78rem;font-weight:500;opacity:.75}.review-alternatives{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem}.review-alt-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.review-alt-chips{display:flex;flex-direction:column;gap:.15rem}.review-original-btn{margin-top:.25rem;padding:.3rem .6rem;background:#64646426;color:var(--color-text-muted);border:1px solid rgba(100,100,100,.2);border-radius:6px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .1s;width:fit-content}.review-original-btn:hover{background:#64646440;color:var(--color-text)}.recent-games-panel{display:flex;flex-direction:column;gap:12px;background:var(--color-surface);border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:20px 24px;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;width:100%}.rg-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.rg-header-icon{font-size:64px;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.rg-header-text{display:flex;flex-direction:column;align-items:center}.rg-header-desc{font-size:13px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.rg-stats-strip{display:flex;align-items:center;justify-content:center;gap:0;padding:10px 16px;background:#00000008;border-radius:10px;border:1px solid rgba(184,115,51,.08)}.rg-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0}.rg-stat-value{font-size:1.15rem;font-weight:800;color:var(--color-text);line-height:1.1;letter-spacing:-.02em}.rg-stat-value.rg-accent{color:var(--color-accent)}.rg-stat-label{font-size:.62rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.rg-stat-divider{width:1px;height:28px;background:#b873331f;flex-shrink:0}.rg-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.rg-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.rg-main-header{justify-content:center}.rg-title-link{background:none;border:none;color:var(--color-text);font-size:18px;font-weight:600;cursor:pointer;padding:2px 0;display:flex;align-items:center;gap:6px;transition:opacity .15s}.rg-title-link:hover{opacity:.8}.rg-title-arrow{font-size:.85rem;opacity:.5;transition:transform .15s,opacity .15s}.rg-title-link:hover .rg-title-arrow{transform:translate(3px);opacity:1}.rg-view-all{background:none;border:none;color:var(--color-accent);font-size:.78rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.rg-view-all:hover{background:var(--color-accent-glow)}.rg-game-list{display:flex;flex-direction:column;gap:4px}.rg-game-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-surface);border-radius:8px;border:1px solid rgba(0,0,0,.04);cursor:pointer;transition:all .12s ease;overflow:hidden;position:relative}.rg-game-row:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.rg-result-strip{width:3px;height:100%;position:absolute;left:0;top:0;border-radius:8px 0 0 8px}.rg-result-strip.win{background:linear-gradient(to bottom,#4ade80,#22c55e)}.rg-result-strip.loss{background:linear-gradient(to bottom,#f87171,#ef4444)}.rg-player-color{font-size:.7rem;flex-shrink:0;margin-left:2px}.rg-result{font-size:15px;font-weight:800;width:16px;text-align:center;flex-shrink:0}.rg-result.win{color:#22c55e}.rg-result.loss{color:#ef4444}.rg-opponent{font-size:15px;font-weight:600;color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rg-opponent strong{color:var(--color-accent);font-weight:700}.rg-badge{font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.rg-badge-normal{background:#b873331a;color:var(--color-accent)}.rg-badge-gammon{background:#fbbf2426;color:#d97706}.rg-badge-pin{background:#a855f71f;color:#a855f7}.rg-duration{font-size:.72rem;color:var(--color-text-muted);flex-shrink:0;min-width:32px;text-align:right}.rg-date{font-size:.68rem;color:var(--color-text-muted);opacity:.75;flex-shrink:0;min-width:48px;text-align:right}.rg-review-arrow{font-size:.65rem;color:var(--color-text-muted);flex-shrink:0;opacity:.5;transition:color .15s,opacity .15s}.rg-game-row:hover .rg-review-arrow{color:var(--color-accent);opacity:1}.rg-loading{display:flex;justify-content:center;padding:16px}.rg-empty{text-align:center;font-size:.82rem;color:var(--color-text-muted);padding:16px;font-style:italic}@media(max-width:500px){.rg-stats-strip{flex-wrap:wrap;gap:4px}.rg-stat-divider{display:none}.rg-stat{min-width:60px}.rg-date,.rg-duration{display:none}}
