: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-border: rgba(44, 36, 30, .15);--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);--rope-color: #5a4232;--rope-twist-color: #a88a6a}[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-border: rgba(240, 232, 224, .18);--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);--rope-color: #b09478;--rope-twist-color: #6f5a46}:root{--grain-h-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.32' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.07 0 0 0 0 0.03 0 0 0 1.05 -0.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--grain-h-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.5' numOctaves='3' seed='9' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.92 0 0 0 0 0.8 0 0 0 0.8 -0.47'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--grain-v-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='1200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.32 0.006' numOctaves='3' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.07 0 0 0 0 0.03 0 0 0 1.05 -0.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--grain-v-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='1200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5 0.006' numOctaves='3' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.92 0 0 0 0 0.8 0 0 0 0.8 -0.47'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--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}.game-container,.game-container *{touch-action:manipulation}@media(max-width:900px){:root{--mobile-gutter: 12px;--mobile-content-width: calc(100vw - var(--mobile-gutter) * 2);--board-frame-total: 15px;--mobile-board-max-height: calc(100vh - 240px) ;--mobile-board-max-width: calc(var(--mobile-content-width) - var(--board-frame-total) * 2);--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) * .07);--info-panel-width: var(--mobile-content-width);--font-size-sm: calc(var(--board-width) * .018);--font-size-base: calc(var(--board-width) * .022);--font-size-lg: calc(var(--board-width) * .028)}.review-mode .status-bar,.review-mode .bear-off-zone{display:none!important}.game-container{height:auto!important;min-height:100vh;overflow-y:auto!important;overflow-x:hidden!important;padding:8px!important;gap:6px!important}.game-header-minimal{width:calc(100vw - 16px)!important;padding:6px 2px!important;margin-bottom:4px!important;max-width:none!important;flex-wrap:wrap!important;row-gap:8px!important}.game-header-minimal .header-center{order:3;width:100%;justify-content:center;flex-wrap:wrap;row-gap:8px}.game-area{flex-direction:column!important;align-items:center;gap:8px}.bear-off-zone{width:var(--mobile-content-width)!important;margin-inline:auto!important;height:auto!important;flex-direction:row!important;border-radius:8px!important;order:2;padding:4px!important;box-sizing:border-box;background:var(--frame-bg)!important;border:1px solid rgba(0,0,0,.5)!important;box-shadow:0 2px 8px #0000001a,inset 0 1px 2px #ffffff80,inset 0 -1px 1px #0000000f!important;margin-top:4px}.board-container,.bear-off-zone,.eval-bar-container,.game-sidebar{width:var(--mobile-content-width)!important;box-sizing:border-box!important;margin-inline:auto!important}.board-container{order:1}.eval-bar-container{order:3}.game-sidebar{order:4}.bear-off-section{flex:1;flex-direction:row!important;padding:5px 4px!important;align-items:center!important;justify-content:center!important;gap:0px;min-height:auto!important;margin:2px!important;background:var(--field-bg)!important;border-radius:4px!important;box-shadow:inset 0 1px 3px #0000004d!important;border:1px solid var(--band-line)!important}.bear-off-section h4{display:none!important}.bear-off-slots{flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-evenly;gap:0!important;width:100%}.bear-off-slot{width:8px!important;height:8px!important;min-height:auto!important;flex:0 0 auto!important;margin:0!important;border-radius:50%!important}.bear-off-divider{width:3px!important;height:auto!important;min-height:18px;align-self:stretch;margin:2px 0!important;background:linear-gradient(180deg,transparent 5%,rgba(93,74,58,.3) 20%,rgba(93,74,58,.4) 50%,rgba(93,74,58,.3) 80%,transparent 95%)!important;border-radius:2px;flex-shrink:0}.game-sidebar{width:var(--info-panel-width)!important;margin-inline:auto!important;height:auto!important;min-height:0!important;max-height:none;padding:10px!important;overflow-y:visible!important}.game-sidebar .sidebar-section:first-child{display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.eval-bar-container{display:block!important;width:var(--mobile-content-width)!important;margin-inline:auto!important;box-sizing:border-box;height:18px!important;min-width:unset!important;border-radius:6px!important;border-width:2px!important;margin-top:2px}.eval-bar-black{height:100%!important;width:var(--eval-pct, 50%)!important;inset:0 0 0 auto!important;transition:width .4s ease!important;background:linear-gradient(90deg,#4a3a2e,#3d3028 50%,#2e251e)!important}.eval-bar-white{background:linear-gradient(90deg,#fffcf8,#f5ede4 50%,#e8ddd0)!important}.eval-value{font-size:11px!important}.eval-value>span{transform:translate(-50%,-50%)!important}.eval-value--over-dark{clip-path:inset(0 0 0 calc(100% - var(--eval-pct, 50%)))!important}.eval-value--over-light{clip-path:inset(0 var(--eval-pct, 50%) 0 0)!important}.eval-bar-container.eval-bar--white .eval-value>span,.eval-bar-container.eval-bar--black .eval-value>span{top:50%!important;bottom:auto!important;writing-mode:horizontal-tb!important;transform:translateY(-50%)!important}.eval-bar-container.eval-bar--white .eval-value>span{left:6px!important}.eval-bar-container.eval-bar--black .eval-value>span{left:auto!important;right:6px!important}.player-score{padding:6px 10px!important}.diff-select-btn{width:36px!important;height:36px!important;min-width:36px;min-height:36px}.game-over-box{padding:28px 24px!important;max-width:90vw}.status-bar{font-size:14px!important;padding:8px 16px!important;min-height:36px!important;max-height:44px!important}.teaching-panel{max-width:calc(100vw - 16px)!important;width:calc(100vw - 16px)!important}}@media(max-width:700px){header.game-header-minimal .back-btn{width:44px;height:44px;padding:0}header.game-header-minimal .back-label,.header-brand-name{display:none}.header-brand-divider{display:none}header.game-header-minimal .header-left{gap:12px}.player-scores:not(.player-scores--stacked){flex-direction:row!important;gap:8px!important}.player-score{flex:1}.nerd-stats-table{font-size:12px!important}.nerd-stats-table th,.nerd-stats-table td{padding:3px 4px!important}}@media(max-width:480px){:root{--mobile-gutter: 10px;--mobile-content-width: calc(100vw - var(--mobile-gutter) * 2);--board-frame-total: 9px;--mobile-board-max-width: calc(var(--mobile-content-width) - var(--board-frame-total) * 2);--mobile-board-max-height: calc(100vh - 140px) ;--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));--point-height: calc((var(--board-height) - 2px) / 2);--point-pad: 4px;--checker-size: min( max(calc(var(--board-width) / 18), 28px), calc((var(--point-height) - var(--point-pad) - var(--checker-edge-gap) * 5 - 2px) / 4) );--bear-off-width: 0px;--font-size-sm: max(calc(var(--board-width) * .022), 11px);--font-size-base: max(calc(var(--board-width) * .026), 13px);--font-size-lg: max(calc(var(--board-width) * .032), 15px);--font-size-xl: max(calc(var(--board-width) * .038), 17px)}html,body{overflow-x:hidden!important;max-width:100vw!important}.game-container{padding:4px!important;gap:4px!important;overflow-x:hidden!important;max-width:100vw!important}.game-header-minimal{width:calc(100vw - 8px)!important;min-height:0!important;padding:4px 2px!important;margin-bottom:2px!important;overflow:visible!important;gap:8px!important}.game-header-minimal .header-center{gap:8px!important}header.game-header-minimal .header-left{gap:10px;flex-shrink:1}header.game-header-minimal .header-brand{gap:8px}header.game-header-minimal .header-brand-mark{width:26px;height:26px}header.game-header-minimal .mode-indicator{font-size:15px}.mode-human-vs-ai .header-center{display:none!important}header.mode-ai-vs-ai .header-center{order:3;width:100%;justify-content:center;padding-bottom:4px}.puzzle-screen header .header-center{padding-bottom:4px}.header-center .puzzle-picker+.puzzle-picker{margin-left:0}.header-center .puzzle-picker-group button{height:36px}header.game-header-minimal select.btn{padding-right:32px!important}header.game-header-minimal .header-right{gap:0}header.game-header-minimal .header-icon-btn svg{width:22px;height:22px}.status-bar{font-size:13px!important;padding:6px 12px!important;min-height:32px!important;max-height:38px!important;border-radius:8px!important}.status-bar .player-indicator{width:16px!important;height:16px!important;margin-right:8px!important;border-radius:4px!important}.spinner{width:14px!important;height:14px!important;margin-right:6px!important}.board-container{border-radius:10px!important;padding:8px!important}.board{border-radius:6px!important}.point.top{padding-top:var(--point-pad, 4px)!important}.point.bottom{padding-bottom:var(--point-pad, 4px)!important}.dice-container{gap:6px!important;padding:4px!important}.die{width:calc(var(--checker-size) * .8)!important;height:calc(var(--checker-size) * .8)!important;border-radius:6px!important;padding:3px!important}.game-sidebar{width:calc(100vw - 8px)!important;padding:8px!important;border-radius:10px!important;border-width:1.5px!important;max-height:none!important}.game-sidebar .sidebar-divider{margin:2px 0!important}.sidebar-section{gap:4px!important}.sidebar-section-title{font-size:11px!important}.difficulty-selector{gap:6px!important}.diff-select-btn{width:40px!important;height:40px!important;min-width:40px;min-height:40px;border-radius:8px!important}.current-difficulty .diff-name{font-size:13px!important}.current-difficulty .diff-tagline{font-size:11px!important}.player-scores:not(.player-scores--stacked){flex-direction:row!important;gap:6px!important}.player-score{flex:1;padding:6px 8px!important;border-radius:8px!important;gap:6px!important}.player-color{width:20px!important;height:20px!important;font-size:12px!important}.player-label{font-size:12px!important}.borne-off{font-size:12px!important;padding:2px 6px!important}.sidebar-status{font-size:12px!important;padding:6px 8px!important;min-height:28px!important;border-radius:8px!important}.nerd-mode-toggle{font-size:12px!important;padding:6px 10px!important}.game-over-box{padding:24px 20px!important;border-radius:14px!important;max-width:92vw}.game-over-title{font-size:20px!important}.game-over-message{font-size:15px!important;margin-bottom:16px!important}.game-over-box .btn{font-size:14px!important;padding:10px 24px!important}.btn{padding:8px 16px!important;font-size:13px!important;border-radius:8px!important;min-height:40px;gap:6px!important}.btn svg{width:18px!important;height:18px!important}.resume-modal,.auth-modal{width:95%!important;padding:24px 20px!important}.settings-drawer{width:100vw!important;right:-100vw}.settings-drawer.open{right:0}footer{font-size:10px!important;padding:8px!important}.teaching-panel{max-width:calc(100vw - 8px)!important;width:calc(100vw - 8px)!important;padding:12px!important;border-radius:10px!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:minmax(0,1fr) minmax(0,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:#d69154b3!important;box-shadow:0 0 25px #b06a32e6,0 0 50px #e8b27899;animation:pulse-hint .8s infinite}@keyframes pulse-hint{0%,to{box-shadow:0 0 20px #b06a32b3,0 0 40px #e8b27880;background:#d6915499!important}50%{box-shadow:0 0 35px #b06a32,0 0 70px #e8b278cc;background:#d69154d9!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;right:-12%;width:46%;height:46%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.2' fill='%23f6eee0' stroke='%23a9652e' stroke-width='1.4'/%3E%3Crect x='7.2' y='11' width='9.6' height='7' rx='1.4' fill='%23b8743d'/%3E%3Cpath d='M9.2 11V8.9a2.8 2.8 0 0 1 5.6 0V11' fill='none' stroke='%23b8743d' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='14.3' r='1' fill='%23f6eee0'/%3E%3C/svg%3E") center / contain no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));pointer-events:none}.point.top .checker.pinned:after{top:-12%}.point.bottom .checker.pinned:after{bottom:-12%}.checker.just-moved{outline:3px solid rgb(214,145,84);outline-offset:-1px;box-shadow:0 0 12px #d69154cc,0 0 24px #b06a3280;animation:just-moved-fade 5s ease-out forwards}@keyframes just-moved-fade{0%{outline-color:#d69154;box-shadow:0 0 12px #d69154cc,0 0 24px #b06a3280}70%{outline-color:#d69154;box-shadow:0 0 12px #d6915499,0 0 20px #b06a3266}to{outline-color:#d6915400;box-shadow:0 0 #d6915400}}.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:#d69154;box-shadow:0 0 16px #d69154e6,0 0 32px #b06a3299}80%{outline-color:#d69154;box-shadow:0 0 16px #d69154e6,0 0 32px #b06a3299}to{outline-color:transparent;box-shadow:none}}.checker.all-lit{outline:3px solid rgb(214,145,84);outline-offset:-1px;box-shadow:0 0 16px #d69154e6,0 0 32px #b06a3299;animation:all-lit-fade 1s ease-out forwards}@keyframes all-lit-fade{0%{outline-color:#d69154;box-shadow:0 0 16px #d69154e6,0 0 32px #b06a3299}70%{outline-color:#d69154;box-shadow:0 0 16px #d69154e6,0 0 32px #b06a3299}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;height:var(--eval-pct, 50%);background:linear-gradient(180deg,#2e251e,#3d3028 50%,#4a3a2e);transition:height .4s ease}.eval-value{position:absolute;inset:0;pointer-events:none;font-size:14px;font-weight:800;line-height:1;white-space:nowrap;letter-spacing:.02em;transition:clip-path .4s ease}.eval-value>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg)}.eval-value--over-dark{color:#f5ede4;clip-path:inset(0 0 calc(100% - var(--eval-pct, 50%)) 0)}.eval-value--over-light{color:#3d3028;clip-path:inset(var(--eval-pct, 50%) 0 0 0)}.eval-bar--white .eval-value>span,.eval-bar--black .eval-value>span{writing-mode:vertical-rl;transform:translate(-50%) rotate(180deg)}.eval-bar--white .eval-value>span{top:auto;bottom:8px}.eval-bar--black .eval-value>span{top:8px}.eval-bar-container.eval-bar--toggle{cursor:pointer;-webkit-tap-highlight-color:transparent}.eval-bar-container.eval-bar--toggle:hover{filter:brightness(1.04)}.eval-bar-container.eval-bar--toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.eval-mode-toggle{display:inline-flex;flex-shrink:0;border:1px solid var(--color-border, rgba(120, 90, 60, .3));border-radius:999px;overflow:hidden;background:var(--color-surface);vertical-align:middle}.eval-mode-toggle>button{min-width:34px;min-height:26px;padding:2px 9px;border:0;background:transparent;color:var(--color-text-muted);font:inherit;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:none;cursor:pointer}.eval-mode-toggle>button.active{background:var(--color-accent);color:var(--color-text-inverse, #fff)}.eval-mode-toggle>button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(pointer:coarse){.eval-mode-toggle>button{min-width:44px;min-height:44px;font-size:12px}}@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:#140e0ab8;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .3s ease;padding:20px}.rules-modal{background:linear-gradient(180deg,#f5ede4,#e8ddd0);border:2px solid #5D4A3A;border-radius:16px;width:100%;max-width:980px;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 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;gap:12px;padding:14px 16px 14px 22px;border-bottom:1px solid rgba(93,74,58,.18);background:linear-gradient(135deg,#b873331a,#b873330a);flex-shrink:0}.rules-modal-header h2{font-size:20px;font-weight:700;line-height:1.2;color:#5d4a3a;margin:0}.rules-modal-header h2 svg{color:#b87333;flex-shrink:0}.rules-close-btn{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;background:none;border:none;color:#5d4a3a;font-size:20px;line-height:1;cursor:pointer;border-radius:10px;transition:background .2s ease,color .2s ease}.rules-close-btn:hover{background:#5d4a3a1a;color:#3d3028}.rules-modal-header h2,.rules-tab,.rules-hint,.toggle-label,.setup-title,.mode-indicator,.back-btn,.diff-select-btn{display:inline-flex;align-items:center;gap:6px}.rules-tab svg,.rules-hint svg,.toggle-label svg,.setup-title svg,.btn svg{flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.rules-tabs{display:flex;gap:6px;padding:10px 16px;background:#5d4a3a12;border-bottom:1px solid rgba(93,74,58,.12);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.rules-tab{padding:8px 14px;background:transparent;border:1px solid transparent;border-radius:9px;color:#5d4a3a;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease;line-height:1.2}.rules-tab:hover{background:#ffffff8c;color:#3d3028}.rules-tab.active{background:linear-gradient(180deg,#c9824a,#a06028);color:#fff;box-shadow:0 2px 8px #a060284d,inset 0 1px #fff3}.rules-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 24px}.rules-category-header{margin-bottom:16px}.rules-category-header h3{font-size:19px;font-weight:700;color:#3d3028;margin:0 0 4px}.rules-category-desc{color:#6b5646;font-size:14.5px;line-height:1.5;margin:0}.rules-cards{display:flex;flex-direction:column;gap:16px}.rule-card{display:grid;grid-template-columns:minmax(0,340px) 1fr;align-items:center;gap:28px;padding:16px 22px;background:#ffffff8c;border-radius:14px;border:1px solid rgba(93,74,58,.15);box-shadow:0 2px 8px #0000000d}.rule-card-visual{min-width:0}.rule-card-text h4{font-size:17px;font-weight:700;color:#a8622c;margin:0 0 8px}.rule-card-text p{font-size:15px;color:#3d3028;line-height:1.6;margin:0}.rules-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid rgba(93,74,58,.15);background:#ffffff4d;flex-shrink:0}.rules-modal-footer .btn{font-size:14px;padding:9px 18px;min-height:40px}.rules-modal-footer .rules-back-btn{background:#ffffffa6;color:#5d4a3a;border:1px solid rgba(93,74,58,.25);box-shadow:none}.rules-modal-footer .rules-back-btn:hover{border-color:#b87333}.rules-modal-footer .rules-back-btn:disabled{visibility:hidden}.rules-progress{color:#7a6553;font-size:13px;font-variant-numeric:tabular-nums}@media(max-width:700px){.rule-card{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 14px 16px}.rules-content{padding:16px 14px 20px}}@media(max-width:600px){.rules-modal-backdrop{padding:8px}.rules-modal{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.rules-modal-header{padding:8px 6px 8px 16px}.rules-modal-header h2{font-size:17px}.rules-title-alt{display:none}.rules-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px 8px}.rules-tab{flex-direction:column;gap:3px;padding:7px 2px 6px;font-size:11.5px;white-space:normal;text-align:center;line-height:1.15}.rules-category-header{margin-bottom:12px}.rules-category-header h3{font-size:17px}.rules-category-desc{font-size:14px}.rules-cards{gap:12px}.rule-card-text h4{font-size:16px;margin-bottom:6px}.rule-card-text p{font-size:14.5px;line-height:1.55}.rules-modal-footer{padding:8px 10px}.rules-modal-footer .btn{padding:8px 14px!important;font-size:14px!important}}.mini-board-container{container-type:inline-size;width:100%;max-width:var(--mini-max, 340px);margin:0 auto}.mini-board-wrapper{--W: 100cqw;--pad: calc(var(--W) * .024);--ck: calc(var(--W) * .057);--field-h: calc(var(--W) * .54);--grain-h-size: 400px 80px, 100% 100%;--grain-v-size: 64px 320px, 100% 100%;display:flex;align-items:stretch;gap:calc(var(--W) * .02)}.mini-board-wrapper.ann-top{padding-top:22px}.mini-board-wrapper.ann-bottom{padding-bottom:22px}.mini-board-error{padding:20px;color:var(--color-message);text-align:center}.mini-board-frame{flex:1;min-width:0;position:relative;padding:var(--pad);background:var(--frame-bg);background-size:var(--grain-h-size);border-radius:6px;box-shadow:0 6px 16px #3220144d,inset 0 1px #ffebcd26,inset 0 -1px 2px #0000004d}.mini-board-frame:before{content:"";position:absolute;inset:calc(var(--pad) * .3);border-radius:4px;border:1px solid var(--band-line);background:var(--band-bg);background-size:4px 4px;pointer-events:none}.mini-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr) calc(var(--W) * .05) repeat(6,1fr);grid-template-rows:1fr 1fr;height:var(--field-h);background:var(--field-bg);background-size:var(--grain-h-size);outline:1px solid var(--band-line);border-radius:2px;box-shadow:inset 0 2px 5px #00000040}.movement-arrows-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible}.movement-arrows-overlay path.route-casing,.movement-arrows-overlay path.route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.movement-arrows-overlay path.route-casing{stroke-width:3.6}.movement-arrows-overlay path.route-line{stroke-width:2}.mini-point{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;min-width:0}.mini-point:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--point-dark);background-size:var(--grain-v-size)}.mini-point.top{justify-content:flex-start;padding-top:1px}.mini-point.bottom{justify-content:flex-end;padding-bottom:1px}.mini-point.top:before{clip-path:polygon(0 0,100% 0,50% 88%)}.mini-point.bottom:before{clip-path:polygon(50% 12%,0 100%,100% 100%)}.mini-point.top.light:before{background:var(--point-light);background-size:var(--grain-v-size)}.mini-point.bottom.light:before{background:var(--point-light-up);background-size:var(--grain-v-size)}.mini-point.hl-from:before{background:#965a2d6b!important}.mini-point.hl-to:before{background:#d69154b8!important}.mini-point.hl-step:before{background:#d691545c!important}.mini-point.hl-alt:before{background:#46968c99!important}.mini-x-mark{position:absolute;left:50%;width:calc(var(--ck) * 1.05);height:calc(var(--ck) * 1.05);transform:translate(-50%);z-index:20;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23f6eee0' stroke='%23a9652e' stroke-width='1.6'/%3E%3Cpath d='M8 8l8 8M16 8l-8 8' stroke='%232a1d16' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));pointer-events:none}.mini-point.top .mini-x-mark{bottom:6%}.mini-point.bottom .mini-x-mark{top:6%}.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(--ck);height:var(--ck);border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative;flex-shrink:0}.mini-checker-stack.overlap .mini-checker{margin-bottom:calc(var(--ck) * -.45)}.mini-point.top .mini-checker-stack.overlap .mini-checker:last-child,.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.white{background:var(--checker-light);border:1px solid var(--checker-light-edge);box-shadow:0 1px 2px #00000059;color:#3a2a1e}.mini-checker.black{background:var(--checker-dark);border:1px solid var(--checker-dark-edge);box-shadow:0 1px 2px #00000073;color:#fff0dceb}.mini-checker .checker-count{font-size:calc(var(--ck) * .5);font-weight:700;line-height:1}.mini-checker.pinned:after{content:"";position:absolute;right:-30%;width:72%;height:72%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.2' fill='%23f6eee0' stroke='%23a9652e' stroke-width='1.4'/%3E%3Crect x='7.2' y='11' width='9.6' height='7' rx='1.4' fill='%23b8743d'/%3E%3Cpath d='M9.2 11V8.9a2.8 2.8 0 0 1 5.6 0V11' fill='none' stroke='%23b8743d' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='14.3' r='1' fill='%23f6eee0'/%3E%3C/svg%3E") center / contain no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));pointer-events:none}.mini-point.top .mini-checker.pinned:after{top:-18%}.mini-point.bottom .mini-checker.pinned:after{bottom:-18%}.mini-board-center{grid-row:1 / 3;grid-column:7;background:var(--bar-bg);background-size:var(--grain-h-size);box-shadow:inset 1px 0 0 var(--band-line),inset -1px 0 0 var(--band-line),inset 2px 0 3px #00000059,inset -2px 0 3px #00000059;display:flex;justify-content:center;align-items:center;z-index:10}.mini-dice{display:flex;flex-direction:column;gap:calc(var(--W) * .01);align-items:center}.mini-die{width:calc(var(--W) * .04);height:calc(var(--W) * .04);min-width:11px;min-height:11px;background:linear-gradient(145deg,#fffcf8,#f5ede4,#e8ddd0);border-radius:2px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:1px;box-shadow:0 1px 2px #00000080}.mini-die .dot{width:72%;height:72%;background:#1a1410;border-radius:50%;justify-self:center;align-self:center}.doubles-indicator{font-size:9px;line-height:1;color:#e0a46c;font-weight:700}.mini-bear-off{width:calc(var(--W) * .085);flex-shrink:0;display:flex;flex-direction:column;gap:calc(var(--W) * .012);padding:calc(var(--W) * .012);background:var(--frame-bg);background-size:var(--grain-h-size);border-radius:5px;box-shadow:0 6px 16px #3220144d}.mini-bear-off-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--field-bg);background-size:var(--grain-h-size);border:1px solid var(--band-line);border-radius:3px;box-shadow:inset 0 1px 3px #0000004d}.mini-bear-off-section.target{background:linear-gradient(#d6915499,#d6915499),var(--field-bg);background-size:var(--grain-h-size)}.mini-bear-off-count{font-size:max(11px,calc(var(--W) * .036));font-weight:700;line-height:1;color:#2a1d16}.mini-tray-dot{width:calc(var(--W) * .034);height:calc(var(--W) * .034);border-radius:50%}.mini-tray-dot.white{background:#f6eee0;border:1px solid #a68e6a}.mini-tray-dot.black{background:#221a16;border:1px solid #b0703d}.mini-annotation{position:absolute;left:50%;transform:translate(-50%);z-index:30;background:#221a16;color:#f6eee0;border:1px solid #c0814c;border-radius:4px;padding:2px 5px;font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap;box-shadow:0 1px 3px #0000004d;pointer-events:none}.mini-annotation.top{bottom:calc(100% + var(--pad) + 3px)}.mini-annotation.bottom{top:calc(100% + var(--pad) + 3px)}.mini-annotation.edge-left{left:0;transform:none}.mini-annotation.edge-right{left:auto;right:0;transform:none}.elkhal-landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px;background:var(--color-background);font-size:18px;--landing-col: 720px;--landing-line: rgba(34, 26, 22, .24);--landing-hover: rgba(34, 26, 22, .05)}[data-theme=dark] .elkhal-landing{--landing-line: rgba(240, 232, 224, .24);--landing-hover: rgba(240, 232, 224, .07)}.elkhal-header{width:100%;max-width:var(--landing-col);display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:32px}.theme-toggle{width:44px;height:44px;border:none;border-radius:10px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s}.theme-toggle:hover{background:var(--landing-hover);color:var(--color-text)}.theme-toggle:focus-visible,.elkhal-header .header-login-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.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{--preview-scale: 1.5;--rope-height: 60px;display:flex;justify-content:center;margin-bottom:44px}.board-scale{zoom:var(--preview-scale)}.board-illustration{position:relative;padding-top:var(--rope-height);transform-origin:50% 6px;rotate:var(--sway, 0deg);will-change:rotate}.board-rope{position:absolute;top:0;left:0;width:288px;height:64px;overflow:visible;pointer-events:none}.rope-strand{fill:none;stroke:var(--rope-color);stroke-width:2.2;stroke-linecap:round}.rope-twist{fill:none;stroke:var(--rope-twist-color);stroke-width:1.2;stroke-dasharray:1.6 2.4;stroke-linecap:round}.rope-nail{fill:#8c8279;stroke:#3a2415;stroke-width:1.2}.clothespin{display:block;height:auto;overflow:visible}.board-peg{position:absolute;top:-32px;width:11px;translate:-50% 0;z-index:20}.board-cat{position:absolute;left:86px;bottom:calc(100% - 8.4px);width:54px;height:auto;overflow:visible;z-index:20}.sleeping-cat .cat-body{transform-box:fill-box;transform-origin:50% 100%;animation:cat-breathe 3.6s steps(1,end) infinite}.sleeping-cat .cat-tail{transform-box:view-box;transform-origin:53px 27px;animation:cat-tail 9s steps(1,end) infinite}@keyframes cat-breathe{0%{transform:scaleY(1)}25%{transform:scaleY(1.025)}50%{transform:scaleY(1.045)}75%{transform:scaleY(1.025)}}@keyframes cat-tail{0%{transform:rotate(0)}62%{transform:rotate(4deg)}66%{transform:rotate(8deg)}70%{transform:rotate(5deg)}74%{transform:rotate(1deg)}78%{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.sleeping-cat .cat-body,.sleeping-cat .cat-tail,.falling-checker{animation:none!important}.falling-checker{display:none}}:root{--logo-ink: #1d1714}[data-theme=dark]{--logo-ink: #f6eee0}:root{--frame-bg: var(--grain-h-light), linear-gradient(180deg, #27201c 0%, #1d1714 60%, #15100d 100%);--band-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Crect width='6' height='6' fill='%23efe5d2'/%3E%3Crect width='3' height='3' fill='%23211915'/%3E%3Crect x='3' y='3' width='3' height='3' fill='%23211915'/%3E%3C/svg%3E") 0 0 / 6px 6px repeat, #211915;--band-line: #c0814c;--field-bg: var(--grain-h-dark), linear-gradient(180deg, #ddd0b6 0%, #d2c3a6 100%);--stringing: rgba(184, 115, 51, .85);--bar-bg: var(--grain-h-light), linear-gradient(90deg, #15100d 0%, #241c18 50%, #15100d 100%);--point-light: var(--grain-v-dark), linear-gradient(180deg, #faf5ea, #efe5d2);--point-light-up: var(--grain-v-dark), linear-gradient(0deg, #faf5ea, #efe5d2);--point-dark: var(--grain-v-light), linear-gradient(180deg, #2a211c, #1c1613);--star-bg: linear-gradient(135deg, #d8995f, #a9652e);--checker-light: radial-gradient(circle, #fbf6ec 0 34%, #e2d5bd 35% 38%, #f6eee0 39% 66%, #c0814c 67% 70%, #f1e7d4 71% 100%);--checker-light-edge: #b9a684;--checker-dark: radial-gradient(circle, #251d19 0 34%, #3a2f29 35% 38%, #201915 39% 66%, #b0703d 67% 70%, #19130f 71% 100%);--checker-dark-edge: #0e0a08}.board-frame{position:relative;background:var(--frame-bg);padding:12px;border-radius:10px;box-shadow:0 20px 50px #32201459,0 6px 16px #0000002e,inset 0 1px #ffebcd2e,inset 0 -2px 3px #0000004d}.board-frame:before{content:"";position:absolute;inset:5px;border-radius:6px;border:1px solid var(--band-line);background:var(--band-bg);pointer-events:none}.board-inner{position:relative;z-index:1;display:flex;gap:0;background:var(--field-bg);border-radius:3px;overflow:hidden;outline:1px solid var(--band-line);box-shadow:inset 0 2px 6px #00000047}.board-half{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1fr;width:120px;height:180px;padding:4px 3px;column-gap:1px;row-gap:14px;filter:drop-shadow(0 0 .5px var(--stringing))}.board-bar{position:relative;z-index:1;width:24px;display:grid;place-items:center;background:var(--bar-bg);box-shadow:inset 1px 0 0 var(--band-line),inset -1px 0 0 var(--band-line),inset 3px 0 4px #0000004d,inset -3px 0 4px #0000004d}.bar-star{position:relative;width:12px;height:12px}.bar-star:before,.bar-star:after{content:"";position:absolute;inset:0;background:var(--star-bg);outline:.6px solid rgba(60,40,25,.7)}.bar-star:after{rotate:45deg}.board-point{background-size:120px 600px,100% 100%}.board-point.top{clip-path:polygon(0 0,100% 0,50% 100%)}.board-point.bottom{clip-path:polygon(50% 0,0 100%,100% 100%)}.board-point.bone{background-image:var(--point-light)}.board-point.bottom.bone{background-image:var(--point-light-up)}.board-point.ebony{background-image:var(--point-dark)}.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 2px 3px #00000059}.falling-checker.light{background:var(--checker-light);border:1px solid var(--checker-light-edge)}.falling-checker.dark{background:var(--checker-dark);border:1px solid var(--checker-dark-edge)}.falling-checker.slot-1{left:245px;animation:phi-slot-1 3s steps(12,end) infinite;animation-delay:.5s}.falling-checker.slot-2{left:225px;animation:phi-slot-2 2.62s steps(12,end) infinite;animation-delay:.4s}.falling-checker.slot-3{left:205px;animation:phi-slot-3 2.38s steps(12,end) infinite;animation-delay:.3s}.falling-checker.slot-4{left:185px;animation:phi-slot-4 2.24s steps(12,end) infinite;animation-delay:.2s}.falling-checker.slot-5{left:165px;animation:phi-slot-5 2.15s steps(12,end) infinite;animation-delay:.1s}.falling-checker.slot-6{left:145px;animation:phi-slot-6 2.09s steps(12,end) infinite;animation-delay:0s}.falling-checker.slot-7{left:101px;animation:phi-slot-6 2.09s steps(12,end) infinite;animation-delay:0s}.falling-checker.slot-8{left:81px;animation:phi-slot-5 2.15s steps(12,end) infinite;animation-delay:.1s}.falling-checker.slot-9{left:61px;animation:phi-slot-4 2.24s steps(12,end) infinite;animation-delay:.2s}.falling-checker.slot-10{left:41px;animation:phi-slot-3 2.38s steps(12,end) infinite;animation-delay:.3s}.falling-checker.slot-11{left:21px;animation:phi-slot-2 2.62s steps(12,end) infinite;animation-delay:.4s}.falling-checker.slot-12{left:1px;animation:phi-slot-1 3s steps(12,end) infinite;animation-delay:.5s}@keyframes phi-slot-1{0%{transform:translateY(0);opacity:.7}33%{transform:translateY(25px);opacity:.75}67%{transform:translateY(125px);opacity:1}to{transform:translateY(225px);opacity:.7}}@keyframes phi-slot-2{0%{transform:translateY(0);opacity:.7}24%{transform:translateY(25px);opacity:.75}62%{transform:translateY(125px);opacity:1}to{transform:translateY(225px);opacity:.7}}@keyframes phi-slot-3{0%{transform:translateY(0);opacity:.7}16%{transform:translateY(25px);opacity:.75}58%{transform:translateY(125px);opacity:1}to{transform:translateY(225px);opacity:.7}}@keyframes phi-slot-4{0%{transform:translateY(0);opacity:.7}11%{transform:translateY(25px);opacity:.75}55%{transform:translateY(125px);opacity:1}to{transform:translateY(225px);opacity:.7}}@keyframes phi-slot-5{0%{transform:translateY(0);opacity:.7}7%{transform:translateY(25px);opacity:.75}54%{transform:translateY(125px);opacity:1}to{transform:translateY(225px);opacity:.7}}@keyframes phi-slot-6{0%{transform:translateY(0);opacity:.7}4%{transform:translateY(25px);opacity:.75}52%{transform:translateY(125px);opacity:1}to{transform:translateY(225px);opacity:.7}}.elkhal-content{display:flex;flex-direction:column;align-items:center;gap:48px;width:100%;max-width:var(--landing-col)}.elkhal-play-section{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.section-title,.secondary-title{font-size:18px;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;text-align:center}.difficulty-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}.difficulty-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:22px 18px;background:var(--color-surface);border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;cursor:pointer;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.difficulty-card:hover{transform:translateY(-2px);border-color:#b8733359;box-shadow:0 8px 24px #00000014,0 2px 4px #0000000a}.difficulty-card.selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent),0 2px 8px #0000000a}.difficulty-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.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.4;text-wrap:balance}.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:var(--landing-col);margin:0 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-muted);text-transform:uppercase;letter-spacing:.05em}.study-options{display:flex;gap:16px}.study-option{flex:1;display:flex;flex-direction:column;align-items:center;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}.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:var(--landing-col);margin:0 auto}.secondary-title{margin-bottom:0}.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)}.hang-slot{position:relative;flex:1;display:flex;padding-top:40px}.hang-slot:before{content:"";position:absolute;top:36px;left:-8px;right:-8px;height:2px;border-radius:1px;background:repeating-linear-gradient(90deg,var(--rope-color) 0 2.6px,var(--rope-twist-color) 2.6px 3.4px);pointer-events:none}.hang-slot>.secondary-card{position:relative;overflow:visible;transform-origin:50% -3px;will-change:rotate;rotate:calc(var(--tilt, 0deg) + var(--sway, 0deg))}.card-peg{position:absolute;top:-38px;left:50%;width:13px;translate:-50% 0;z-index:2}.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.4;text-wrap:balance}@media(max-width:600px){.secondary-cards{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.secondary-card{padding:14px 10px}.secondary-desc{white-space:normal}.secondary-icon{width:40px!important;height:40px!important}.secondary-icon svg{width:36px!important;height:36px!important}.secondary-name{font-size:14px!important}.secondary-desc{font-size:11px!important}}@media(max-width:500px){.elkhal-landing{padding:16px 12px!important;font-size:16px!important}.elkhal-header{margin-bottom:20px!important}.logo-arabic{font-size:clamp(60px,18vw,100px)!important}.logo-english{font-size:clamp(36px,12vw,60px)!important;margin-top:-24px!important}.elkhal-tagline{font-size:14px!important}.elkhal-hero{margin-bottom:16px!important}.elkhal-board-preview{--preview-scale: 1.1;margin-bottom:32px!important}.elkhal-content{gap:36px!important}.section-title{font-size:16px!important}.difficulty-cards{grid-template-columns:1fr;gap:10px!important}.difficulty-card{flex-direction:row;padding:14px!important;gap:12px;text-align:left}.difficulty-card .diff-level{width:32px!important;height:32px!important;font-size:16px!important;flex-shrink:0}.difficulty-card .diff-name{font-size:15px!important}.difficulty-card .diff-desc{text-align:left;font-size:11px!important}.elkhal-btn-primary{max-width:none!important;padding:16px 32px!important;font-size:16px!important}.elkhal-study-section{margin:0 auto!important}.study-card-wide{padding:16px!important}.study-icon{font-size:48px!important}.study-icon svg{width:48px!important;height:48px!important}.study-name{font-size:16px!important}.study-options{padding:0 8px!important;gap:12px!important}.study-option{width:auto!important;flex:1;padding:12px 8px!important}.study-option .option-icon{width:40px!important;height:40px!important}.study-option .option-icon svg{width:40px!important;height:40px!important}.study-option .option-name{font-size:14px!important}.secondary-title{font-size:16px!important}.secondary-cards{grid-template-columns:1fr 1fr!important;gap:8px!important}.secondary-card{padding:12px 10px!important;border-radius:12px!important;gap:6px!important}.secondary-icon{width:36px!important;height:36px!important}.secondary-icon svg{width:32px!important;height:32px!important}.secondary-name{font-size:13px!important}.secondary-desc{font-size:10px!important}.ai-battle-row{flex-direction:column;gap:16px}.elkhal-secondary-actions{flex-direction:column;gap:8px}.link-divider{display:none}.elkhal-footer{padding-top:24px!important;font-size:11px!important}}.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}.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{--hdr-line: rgba(34, 26, 22, .14);--hdr-edge: rgba(34, 26, 22, .24);--hdr-edge-strong: rgba(34, 26, 22, .42);--hdr-hover: rgba(34, 26, 22, .05);--hdr-press: rgba(34, 26, 22, .09);display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:calc(var(--board-width) + var(--bear-off-width) * 2 + var(--info-panel-width) + 80px);min-height:60px;padding:8px 0;background:transparent;border:none;border-bottom:1px solid var(--hdr-line);border-radius:0;margin-bottom:12px;box-shadow:none;color:var(--color-text);flex-shrink:0}[data-theme=dark] .game-header-minimal{--hdr-line: rgba(240, 232, 224, .14);--hdr-edge: rgba(240, 232, 224, .24);--hdr-edge-strong: rgba(240, 232, 224, .45);--hdr-hover: rgba(240, 232, 224, .07);--hdr-press: rgba(240, 232, 224, .12)}.header-left{display:flex;align-items:center;gap:16px;min-width:0}.game-header-minimal .back-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;position:relative;height:40px;min-width:40px;padding:0 16px 0 12px;background:transparent;border:1px solid var(--hdr-edge);border-radius:10px;color:var(--color-text);font-family:inherit;font-size:15px;font-weight:500;line-height:1;cursor:pointer;transition:background-color .15s,border-color .15s}.game-header-minimal .back-btn:hover{background:var(--hdr-hover);border-color:var(--hdr-edge-strong)}.game-header-minimal .back-btn:active{background:var(--hdr-press)}.game-header-minimal .back-btn svg{flex-shrink:0}.game-header-minimal .back-btn:after,.game-header-minimal button.btn:after{content:"";position:absolute;inset:-2px}.header-brand{display:inline-flex;align-items:center;gap:10px;min-width:0}.header-brand-mark{flex-shrink:0;display:block}.header-brand-name{font-family:Alegreya,Georgia,serif;font-weight:700;font-size:22px;line-height:1;letter-spacing:.03em;color:var(--color-text);padding-bottom:2px}.header-brand-divider{flex-shrink:0;width:1px;height:22px;margin:0 4px;background:var(--hdr-edge)}.game-header-minimal .mode-indicator{display:block;min-width:0;font-size:16px;font-weight:500;line-height:1.2;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-center{display:flex;align-items:center;gap:8px}.header-right{display:flex;align-items:center;gap:2px;flex-shrink:0}.game-header-minimal .btn{position:relative;height:40px;min-height:40px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:600;gap:8px;white-space:nowrap}.game-header-minimal .btn svg{width:18px;height:18px}.game-header-minimal .btn-primary{box-shadow:0 1px 2px #78461940,inset 0 1px #ffffff2e}.game-header-minimal .btn-primary:hover{transform:none;box-shadow:0 2px 6px #7846194d,inset 0 1px #ffffff38}.game-header-minimal .btn-secondary{background-color:transparent;color:var(--color-text);border:1px solid var(--hdr-edge);box-shadow:none}.game-header-minimal .btn-secondary:hover{background-color:var(--hdr-hover);border-color:var(--hdr-edge-strong);box-shadow:none}.game-header-minimal .btn-secondary:active{background-color:var(--hdr-press)}.game-header-minimal .btn-secondary.is-on{border-color:var(--color-accent);background-color:var(--color-accent-glow);color:var(--color-text)}.game-header-minimal .btn-secondary.is-on svg{color:var(--color-accent)}.game-header-minimal select.btn{padding-right:32px;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='none' stroke='%238a7a6c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.game-header-minimal .btn:focus-visible,.game-header-minimal .back-btn:focus-visible,.game-header-minimal .header-icon-btn:focus-visible,.puzzle-picker-group button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:10px;color:var(--color-text-muted);cursor:pointer;transition:background-color .15s,color .15s}.header-icon-btn:hover{background:var(--hdr-hover);color:var(--color-text)}.header-icon-btn:active{background:var(--hdr-press)}.header-icon-btn svg{width:24px;height:24px}.game-header-minimal .header-center .puzzle-picker{display:flex;align-items:center;gap:10px}.puzzle-picker+.puzzle-picker{margin-left:12px}.puzzle-picker-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.puzzle-picker-group{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--hdr-edge);border-radius:10px;background:transparent}.puzzle-picker-group button{min-width:40px;height:32px;padding:0 12px;border:none;border-radius:7px;background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,color .15s}.puzzle-picker-group button:hover{background:var(--hdr-hover);color:var(--color-text)}.puzzle-picker-group button.is-on{background:var(--color-text);color:var(--color-background);font-weight:600}.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:-100%;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,visibility .3s;overflow-y:auto;box-shadow:-8px 0 32px #0000004d;visibility:hidden}.settings-drawer.open{right:0;visibility:visible}.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);min-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)}.diff-dot{display:block;width:.72em;height:.72em;border-radius:50%;border:1.5px solid rgba(0,0,0,.18);box-shadow:inset 0 1px 1px #ffffff73}.diff-dot.level-0{background:#5f9e63}.diff-dot.level-1{background:#d9a441}.diff-dot.level-2{background:#c05f4a}.diff-dot.level-3{background:#7a5ea8}.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}.checker-dot{display:inline-block;width:.85em;height:.85em;border-radius:50%;border:1.5px solid var(--color-accent);vertical-align:-.08em;flex-shrink:0;box-shadow:0 1px 2px #0000001f}.checker-dot.white{background:#fbf7f1}.checker-dot.black{background:#2e251e}.player-color.white{background:#fbf7f1}.player-color.black{background:#2e251e}.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}.sidebar-mobile-toggle{display:none}@media(max-width:700px){.sidebar-mobile-toggle{display:block;width:100%;padding:8px 12px;background:#b8733314;border:1.5px solid var(--color-accent);border-radius:8px;color:var(--color-accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;margin:4px 0;letter-spacing:.02em}.sidebar-mobile-toggle:active{background:#b8733326;transform:scale(.98)}.game-sidebar .sidebar-expandable{display:none}.game-sidebar.mobile-expanded .sidebar-expandable{display:block}}.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-forgot-link{align-self:flex-end;background:none;border:none;padding:0;font-size:13px;color:var(--color-text-muted);text-decoration:underline;cursor:pointer}.auth-forgot-link:hover{color:var(--color-text)}.auth-recovery-sent{margin:0;font-size:13px;line-height:1.45;color:var(--color-text-muted);text-align:center}.account-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-background)}.account-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:32px;text-align:center}.account-title{margin:0 0 16px;font-size:22px;font-weight:700;color:var(--color-text)}.account-text{margin:0 0 18px;font-size:15px;line-height:1.55;color:var(--color-text)}.account-muted{font-size:13px;color:var(--color-text-muted)}.account-error{margin:0 0 18px;font-size:14px;line-height:1.5;color:#c83232}.account-form{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.account-input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text)}.account-button{display:inline-block;background:var(--color-accent);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}.account-button:hover{filter:brightness(1.08)}.account-button:disabled{opacity:.6;cursor:default}.auth-notice{background:#b48c281a;border:1px solid rgba(180,140,40,.35);color:var(--color-text);padding:16px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.5;text-align:center}.auth-notice p{margin:0 0 14px}.auth-notice-button{background:var(--color-accent);color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.auth-notice-button:hover{filter:brightness(1.08)}.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-notice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 14px;font-size:12px;line-height:1.4;color:var(--color-text-muted)}.user-menu-resend{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--color-accent);cursor:pointer;text-decoration:underline}.user-menu-resend:disabled{opacity:.6;cursor:default;text-decoration:none}.user-menu-resend-msg{color:var(--color-text)}.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}.elkhal-header .header-login-btn,.elkhal-header .user-menu-trigger{height:44px;padding:0 16px;background:transparent;color:var(--color-text);border:1px solid var(--landing-line);border-radius:10px;box-shadow:none;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s}.elkhal-header .user-menu-trigger{padding:0 14px 0 6px}.elkhal-header .header-login-btn svg{color:var(--color-text-muted)}.elkhal-header .header-login-btn:hover,.elkhal-header .user-menu-trigger:hover{background:var(--landing-hover);border-color:var(--color-text-muted);transform:none;box-shadow:none}.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}.analysis-result-actions{display:flex;gap:8px;margin-top:12px}.analysis-result-actions .btn{flex:1}@media(max-width:900px){.analysis-panel.showing-result .analysis-build,.analysis-panel.showing-result .sidebar-divider{display:none}}.board-container{background:var(--frame-bg);border-color:#00000080}.board-container:before{inset:5px;border-radius:10px;border:1px solid var(--band-line);background:var(--band-bg);box-shadow:none;z-index:0}.board{z-index:1;background:var(--field-bg);outline:1px solid var(--band-line);border-color:#00000040}.point.top:before{background:var(--point-dark);background-size:240px 1200px,100% 100%}.point.top.light:before{background:var(--point-light);background-size:240px 1200px,100% 100%}.point.bottom:before{background:var(--point-dark);background-size:240px 1200px,100% 100%}.point.bottom.light:before{background:var(--point-light-up);background-size:240px 1200px,100% 100%}.board-center{background:var(--bar-bg);box-shadow:inset 1px 0 0 var(--band-line),inset -1px 0 0 var(--band-line),inset 3px 0 5px #00000059,inset -3px 0 5px #00000059}.checker.white{background:var(--checker-light);border:1px solid var(--checker-light-edge);box-shadow:0 2px 4px #00000059,0 1px 1px #0003;color:#3a2a1e}.checker.black{background:var(--checker-dark);border:1px solid var(--checker-dark-edge);box-shadow:0 2px 4px #00000073,0 1px 1px #0000004d;color:#fff0dce6}.bear-off-slot.filled.white{background:linear-gradient(180deg,#faf5ea,#e9dcc3);border-color:var(--checker-light-edge)}.bear-off-slot.filled.black{background:linear-gradient(180deg,#2e2420,#19130f);border-color:#0e0a08}@media(max-width:480px){.board-container:before{inset:3px;border-radius:8px;background-size:4px 4px}}.bear-off-zone{background:var(--frame-bg);border-color:#00000080}.bear-off-section{background:var(--field-bg);border:1px solid var(--band-line);box-shadow:inset 0 1px 4px #0000004d}.bear-off-section h4{color:#281e18b3}.bear-off-section.valid-target{background:linear-gradient(#d6915459,#d6915459),var(--field-bg);box-shadow:inset 0 0 10px #b06a3299}.bear-off-divider{background:linear-gradient(90deg,transparent,var(--band-line),transparent)}.bear-off-slot{background:#281e181f;border-color:#281e182e}@keyframes board-pulse{50%{opacity:.6}}.point.selected:before{filter:brightness(1.12);box-shadow:none}.point.valid-move:before{filter:none;background:#d691548c!important;box-shadow:none;animation:board-pulse 1.4s ease-in-out infinite}.point.hint-point:before{filter:none;background:#d691549e!important;box-shadow:none;animation:board-pulse 1s ease-in-out infinite}.point.ai-move-src:before{filter:none;background:#965a2d61!important;box-shadow:none;animation:none}.point.ai-move-dst:before{filter:none;background:#d69154ad!important;box-shadow:none;animation:board-pulse .9s ease-in-out infinite}.point.preview-point:before{filter:none;background:#46968c99!important;box-shadow:none;animation:board-pulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.point.valid-move:before,.point.hint-point:before,.point.ai-move-dst:before,.point.preview-point:before{animation:none}}.point.source-highlight:before{filter:none;background:#965a2d61!important;box-shadow:none}.point.highlighted:before{filter:none;background:#d69154ad!important;box-shadow:none}.bear-off-section.valid-target{position:relative;cursor:pointer;background:linear-gradient(#d6915480,#d6915480),var(--field-bg)!important;box-shadow:inset 0 0 0 2px #c0814c,0 0 0 2px #d6915459!important;animation:board-pulse 1.2s ease-in-out infinite}.bear-off-section.valid-target:after{content:"Bear off here";position:absolute;inset:0;display:grid;place-items:center;font:700 12px/1 Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#3a2414;background:#f0d6b88c;border-radius:inherit;pointer-events:none}@media(prefers-reduced-motion:reduce){.bear-off-section.valid-target{animation:none}}@media(orientation:landscape)and (max-height:500px){.game-container.play-screen{--ls-vh: 100vh;--ls-inset-l: max(6px, env(safe-area-inset-left, 0px));--ls-inset-r: max(6px, env(safe-area-inset-right, 0px));--ls-inset-t: max(4px, env(safe-area-inset-top, 0px));--ls-inset-b: max(4px, env(safe-area-inset-bottom, 0px));--ls-gap: 6px;--ls-header-h: 50px;--ls-side-min: 190px;--ls-frame: 9px;--ls-board-max-height: calc(var(--ls-vh) - var(--ls-inset-t) - var(--ls-inset-b) - var(--ls-header-h) - var(--ls-gap) - var(--ls-frame) * 2);--ls-board-max-width: calc(100vw - var(--ls-inset-l) - var(--ls-inset-r) - var(--ls-gap) - var(--ls-side-min) - var(--ls-frame) * 2);--board-width: min(calc(var(--ls-board-max-height) * var(--board-aspect-ratio)), var(--ls-board-max-width));--board-height: calc(var(--board-width) / var(--board-aspect-ratio));--point-height: calc((var(--board-height) - 2px) / 2);--point-pad: 4px;--checker-size: min( calc(var(--board-width) / 18), calc((var(--point-height) - var(--point-pad) - var(--checker-edge-gap) * 5 - 2px) / 4) );--bear-off-width: 0px;--info-panel-width: 100%;--font-size-sm: 11px;--font-size-base: 13px;--font-size-lg: 14px;--font-size-xl: 16px;display:grid!important;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:var(--ls-header-h) auto auto auto minmax(0,1fr);align-items:stretch!important;justify-items:stretch;gap:var(--ls-gap)!important;width:100vw;height:var(--ls-vh)!important;min-height:0!important;max-width:none!important;overflow:hidden!important;padding:var(--ls-inset-t) var(--ls-inset-r) var(--ls-inset-b) var(--ls-inset-l)!important}@supports (height: 100dvh){.game-container.play-screen{--ls-vh: 100dvh}}.play-screen .game-area{display:contents!important}.play-screen>footer{display:none!important}.play-screen .game-header-minimal{grid-column:1 / -1;grid-row:1;width:auto!important;max-width:none!important;height:var(--ls-header-h);min-height:0!important;margin:0!important;padding:0 2px!important;border-bottom-width:1px!important;border-radius:0!important;flex-wrap:nowrap!important;gap:8px!important;overflow:hidden!important}.play-screen .header-left{gap:4px!important;min-width:0;flex-shrink:1}.play-screen .back-btn{font-size:0!important;gap:0!important;padding:0!important;width:44px;height:44px;justify-content:center;flex-shrink:0}.play-screen .back-btn svg{width:20px!important;height:20px!important}.play-screen .mode-indicator{font-size:15px!important;gap:6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.play-screen .mode-indicator svg{width:26px!important;height:26px!important}.play-screen .game-header-minimal .header-center{display:flex!important;order:0!important;width:auto!important;flex-wrap:nowrap!important;justify-content:center;gap:6px!important;flex-shrink:0}.play-screen .header-center .btn{min-height:44px!important;height:44px;padding:0 12px!important;font-size:12px!important;gap:6px!important;white-space:nowrap;border-radius:8px!important}.play-screen .header-center .btn svg{width:18px!important;height:18px!important}.play-screen .header-right{gap:0!important;flex-shrink:0}.play-screen .header-icon-btn{width:44px;height:44px;padding:0!important;display:flex;align-items:center;justify-content:center}.play-screen .header-icon-btn svg{width:24px!important;height:24px!important}.play-screen .board-container{grid-column:1;grid-row:2 / -1;align-self:start;width:auto!important;margin:0!important;padding:8px!important;border-radius:10px!important;order:0!important}.play-screen .board-container:before{inset:3px;border-radius:8px}.play-screen .board{border-radius:6px!important}.play-screen .point.top{padding-top:var(--point-pad)!important}.play-screen .point.bottom{padding-bottom:var(--point-pad)!important}.play-screen .status-bar,.play-screen .eval-bar-container,.play-screen .bear-off-zone,.play-screen .game-sidebar,.play-screen .teaching-panel-compact{grid-column:2;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;order:0!important;box-sizing:border-box!important}.play-screen .status-bar{grid-row:2;height:auto!important;min-height:36px!important;max-height:none!important;padding:6px 10px!important;font-size:13px!important;border-radius:8px!important;white-space:normal!important;line-height:1.25}.play-screen .status-bar .player-indicator{width:16px!important;height:16px!important;margin-right:8px!important;border-radius:4px!important;flex-shrink:0}.play-screen .eval-bar-container{grid-row:3;display:block!important;height:18px!important;border-radius:6px!important;border-width:2px!important}.play-screen .eval-bar-black{height:100%!important;width:var(--eval-pct, 50%)!important;inset:0 0 0 auto!important;transition:width .4s ease!important;background:linear-gradient(90deg,#4a3a2e,#3d3028 50%,#2e251e)!important}.play-screen .eval-bar-white{background:linear-gradient(90deg,#fffcf8,#f5ede4 50%,#e8ddd0)!important}.play-screen .eval-value{font-size:11px!important}.play-screen .eval-value>span{transform:translate(-50%,-50%)!important}.play-screen .eval-value--over-dark{clip-path:inset(0 0 0 calc(100% - var(--eval-pct, 50%)))!important}.play-screen .eval-value--over-light{clip-path:inset(0 var(--eval-pct, 50%) 0 0)!important}.play-screen .eval-bar--white .eval-value>span,.play-screen .eval-bar--black .eval-value>span{top:50%!important;bottom:auto!important;writing-mode:horizontal-tb!important;transform:translateY(-50%)!important}.play-screen .eval-bar--white .eval-value>span{left:6px!important}.play-screen .eval-bar--black .eval-value>span{left:auto!important;right:6px!important}.play-screen .bear-off-zone{grid-row:4;height:auto!important;flex-direction:row!important;padding:3px!important;border-radius:8px!important}.play-screen .bear-off-section{flex:1 1 0;min-width:0;flex-direction:row!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:4px!important;margin:2px!important;border-radius:5px!important}.play-screen .bear-off-section h4{display:none!important}.play-screen .bear-off-slots{flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-evenly;gap:0!important;width:100%}.play-screen .bear-off-slot{width:auto!important;height:auto!important;aspect-ratio:1;box-sizing:border-box;min-width:3px;max-width:7px;min-height:0!important;flex:1 1 0!important;margin:0!important;border-radius:50%!important}.play-screen .bear-off-divider{width:2px!important;height:auto!important;align-self:stretch;margin:4px 1px!important;flex-shrink:0}.play-screen .game-sidebar{grid-row:5;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;padding:8px!important;gap:6px!important;border-width:1.5px!important;border-radius:10px!important}.play-screen .game-sidebar .sidebar-section:first-child{display:block}.play-screen .sidebar-section{gap:4px!important}.play-screen .sidebar-section-title{font-size:11px!important}.play-screen .player-scores{flex-direction:column!important;gap:4px!important}.play-screen .player-score{padding:4px 8px!important;gap:6px!important;border-radius:8px!important}.play-screen .player-color{width:18px!important;height:18px!important;flex-shrink:0}.play-screen .player-label{font-size:12px!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-screen .borne-off{font-size:12px!important;padding:1px 6px!important}.play-screen .sidebar-mobile-toggle{display:none!important}.play-screen .game-sidebar .sidebar-expandable{display:block!important}.play-screen .game-sidebar .sidebar-status{display:none!important}.play-screen .game-sidebar .sidebar-divider{margin:4px 0!important}.play-screen .difficulty-selector{gap:4px!important;justify-content:center}.play-screen .diff-select-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:8px!important}.play-screen .ai-selector-row{flex-direction:column!important;gap:4px!important}.play-screen .ai-selector-col{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:4px 6px}.play-screen .ai-label{font-size:12px;padding:3px 10px 3px 4px;gap:6px}.play-screen .ai-label .player-circle{width:16px;height:16px}.play-screen .current-difficulty .diff-name{font-size:13px!important}.play-screen .current-difficulty .diff-tagline{font-size:11px!important}.play-screen .nerd-mode-toggle{min-height:44px;font-size:12px!important;padding:6px 10px!important}.play-screen .nerd-stats-table{font-size:11px!important}.play-screen:has(.teaching-panel-compact) .game-sidebar{display:none!important}.play-screen .teaching-panel-compact{grid-row:5;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;border-width:1.5px;border-radius:10px}.play-screen .tp-header-row{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px}.play-screen .tp-roll-btn,.play-screen .tp-try-best-btn{width:100%;min-height:44px;padding:8px 10px;font-size:.85rem;white-space:normal}.play-screen .tp-alternatives-row{flex-direction:column;align-items:stretch;padding:8px 10px}.play-screen .tp-alt-chips{width:100%}}@media(orientation:landscape)and (max-height:500px)and (max-width:800px){.play-screen .mode-indicator,.play-screen .header-brand-name,.play-screen .header-brand-divider{display:none!important}}.logo-lockup{display:grid;justify-items:center;gap:.08em;font-size:clamp(76px,15vw,112px);line-height:1;color:var(--color-text)}.logo-lockup-mark{width:1em;height:1em;margin-bottom:.1em}.logo-lockup-ar{font-family:Lalezar,Amiri,serif;font-size:.62em;line-height:1.05}.logo-lockup-lat{font-family:Alegreya,Georgia,serif;font-weight:700;font-size:.3em;letter-spacing:.08em}@media(orientation:landscape)and (max-height:500px){.game-container.board-screen{--ls-vh: 100vh;--ls-inset-l: max(6px, env(safe-area-inset-left, 0px));--ls-inset-r: max(6px, env(safe-area-inset-right, 0px));--ls-inset-t: max(4px, env(safe-area-inset-top, 0px));--ls-inset-b: max(4px, env(safe-area-inset-bottom, 0px));--ls-gap: 6px;--ls-header-h: 50px;--ls-side-min: 190px;--ls-frame: 9px;--ls-board-max-height: calc(var(--ls-vh) - var(--ls-inset-t) - var(--ls-inset-b) - var(--ls-header-h) - var(--ls-gap) - var(--ls-frame) * 2);--ls-board-max-width: calc(100vw - var(--ls-inset-l) - var(--ls-inset-r) - var(--ls-gap) - var(--ls-side-min) - var(--ls-frame) * 2);--board-width: min(calc(var(--ls-board-max-height) * var(--board-aspect-ratio)), var(--ls-board-max-width));--board-height: calc(var(--board-width) / var(--board-aspect-ratio));--point-height: calc((var(--board-height) - 2px) / 2);--point-pad: 4px;--checker-size: min( calc(var(--board-width) / 18), calc((var(--point-height) - var(--point-pad) - var(--checker-edge-gap) * 5 - 2px) / 4) );--bear-off-width: 0px;--info-panel-width: 100%;--font-size-sm: 11px;--font-size-base: 13px;--font-size-lg: 14px;--font-size-xl: 16px;display:grid!important;grid-template-columns:max-content minmax(0,1fr);align-items:stretch!important;justify-items:stretch;gap:var(--ls-gap)!important;width:100vw;height:var(--ls-vh)!important;min-height:0!important;max-width:none!important;overflow:hidden!important;padding:var(--ls-inset-t) var(--ls-inset-r) var(--ls-inset-b) var(--ls-inset-l)!important}@supports (height: 100dvh){.game-container.board-screen{--ls-vh: 100dvh}}.game-container.board-screen.review-mode{grid-template-rows:var(--ls-header-h) auto minmax(0,1fr)}.game-container.board-screen.puzzle-screen,.game-container.board-screen.analysis-screen{grid-template-rows:var(--ls-header-h) auto auto minmax(0,1fr)}.board-screen .game-area{display:contents!important}.board-screen>footer{display:none!important}.board-screen .game-header-minimal{grid-column:1 / -1;grid-row:1;width:auto!important;max-width:none!important;height:var(--ls-header-h);min-height:0!important;margin:0!important;padding:0 2px!important;border-bottom-width:1px!important;border-radius:0!important;flex-wrap:nowrap!important;gap:8px!important;overflow:hidden!important}.board-screen .header-left{gap:4px!important;min-width:0;flex-shrink:1}.board-screen .back-btn{font-size:0!important;gap:0!important;padding:0!important;width:44px;height:44px;justify-content:center;flex-shrink:0}.board-screen .back-btn svg{width:20px!important;height:20px!important}.board-screen .mode-indicator{font-size:15px!important;gap:6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.board-screen .mode-indicator svg{width:26px!important;height:26px!important}.board-screen .game-header-minimal .header-center{display:flex!important;order:0!important;width:auto!important;flex-wrap:nowrap!important;justify-content:center;gap:6px!important;flex-shrink:0}.board-screen .header-center .btn{min-height:44px!important;height:44px;padding:0 12px!important;font-size:12px!important;gap:6px!important;white-space:nowrap;border-radius:8px!important}.board-screen .header-right{gap:0!important;min-width:0!important;flex-shrink:0}.board-screen .header-icon-btn{width:44px;height:44px;padding:0!important;display:flex;align-items:center;justify-content:center}.board-screen .header-icon-btn svg{width:24px!important;height:24px!important}.board-screen .header-center .puzzle-picker{gap:0!important}.board-screen .puzzle-picker-label{display:none!important}.board-screen .puzzle-picker-group{padding:0!important;gap:0!important;border-radius:9px!important}.board-screen .puzzle-picker-group button{min-width:44px!important;height:44px;padding:0 8px!important;font-size:12px!important;border-radius:8px!important}.board-screen .board-container{grid-column:1;grid-row:2 / -1;align-self:start;width:auto!important;margin:0!important;padding:8px!important;border-radius:10px!important;order:0!important}.board-screen .board-container:before{inset:3px;border-radius:8px}.board-screen .board{border-radius:6px!important}.board-screen .point.top{padding-top:var(--point-pad)!important}.board-screen .point.bottom{padding-bottom:var(--point-pad)!important}.board-screen .status-bar,.board-screen .eval-bar-container,.board-screen .bear-off-zone,.board-screen .game-sidebar{grid-column:2;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;order:0!important;box-sizing:border-box!important}.board-screen .status-bar{grid-row:2;height:auto!important;min-height:36px!important;max-height:none!important;padding:6px 10px!important;font-size:13px!important;border-radius:8px!important;white-space:normal!important;line-height:1.25}.board-screen .status-bar .player-indicator{width:16px!important;height:16px!important;margin-right:8px!important;border-radius:4px!important;flex-shrink:0}.board-screen.review-mode .status-bar,.board-screen.review-mode .bear-off-zone{display:none!important}.board-screen .eval-bar-container{display:block!important;height:18px!important;border-radius:6px!important;border-width:2px!important}.board-screen.review-mode .eval-bar-container{grid-row:2}.board-screen.analysis-screen .eval-bar-container{grid-row:3}.board-screen .eval-bar-black{height:100%!important;width:var(--eval-pct, 50%)!important;inset:0 0 0 auto!important;transition:width .4s ease!important;background:linear-gradient(90deg,#4a3a2e,#3d3028 50%,#2e251e)!important}.board-screen .eval-bar-white{background:linear-gradient(90deg,#fffcf8,#f5ede4 50%,#e8ddd0)!important}.board-screen .eval-value{font-size:11px!important}.board-screen .eval-value>span{transform:translate(-50%,-50%)!important}.board-screen .eval-value--over-dark{clip-path:inset(0 0 0 calc(100% - var(--eval-pct, 50%)))!important}.board-screen .eval-value--over-light{clip-path:inset(0 var(--eval-pct, 50%) 0 0)!important}.board-screen .eval-bar--white .eval-value>span,.board-screen .eval-bar--black .eval-value>span{top:50%!important;bottom:auto!important;writing-mode:horizontal-tb!important;transform:translateY(-50%)!important}.board-screen .eval-bar--white .eval-value>span{left:6px!important}.board-screen .eval-bar--black .eval-value>span{left:auto!important;right:6px!important}.board-screen .bear-off-zone{grid-row:3;height:auto!important;flex-direction:row!important;padding:3px!important;border-radius:8px!important}.board-screen .bear-off-section{flex:1 1 0;min-width:0;flex-direction:row!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:4px!important;margin:2px!important;border-radius:5px!important}.board-screen .bear-off-section h4{display:none!important}.board-screen .bear-off-slots{flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-evenly;gap:0!important;width:100%}.board-screen .bear-off-slot{width:auto!important;height:auto!important;aspect-ratio:1;box-sizing:border-box;min-width:3px;max-width:7px;min-height:0!important;flex:1 1 0!important;margin:0!important;border-radius:50%!important}.board-screen .bear-off-divider{width:2px!important;height:auto!important;align-self:stretch;margin:4px 1px!important;flex-shrink:0}.board-screen .game-sidebar{grid-row:-2;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;padding:8px!important;gap:6px!important;border-width:1.5px!important;border-radius:10px!important}.board-screen .game-sidebar .sidebar-section:first-child{display:flex;flex-direction:column}.board-screen .sidebar-section{gap:4px!important}.board-screen .sidebar-section-title{font-size:11px!important}.board-screen .game-sidebar .sidebar-divider{margin:2px 0!important}.board-screen .player-scores{flex-direction:column!important;gap:4px!important}.board-screen .player-score{padding:4px 8px!important;gap:6px!important;border-radius:8px!important}.board-screen .player-color{width:18px!important;height:18px!important;flex-shrink:0}.board-screen .player-label{font-size:12px!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-screen .borne-off{font-size:12px!important;padding:1px 6px!important}.board-screen.review-mode .game-sidebar>.review-bottom-panel,.board-screen.review-mode .game-sidebar>.sidebar-bottom,.board-screen .puzzle-sidebar .puzzle-actions,.board-screen .analysis-panel.showing-build .analysis-run,.board-screen .analysis-panel.showing-result .analysis-result-actions{position:sticky!important;bottom:-8px;z-index:2;margin:0 -8px -8px!important;padding:6px 8px 8px!important;background:#ebe1d5;border-top:1px solid rgba(93,74,58,.15)}.board-screen.review-mode .review-verdict{display:block;margin:0}.board-screen.review-mode .review-ribbon{display:flex;padding:4px 0 2px}.board-screen.review-mode .review-full-card,.board-screen.review-mode .review-turn-list{display:none!important}.board-screen.review-mode .rv-line{padding:8px 10px 8px 14px;flex-wrap:wrap;row-gap:2px}.board-screen.review-mode .rv-best{min-height:44px;padding:6px 10px 6px 14px;align-items:center;flex-wrap:wrap}.board-screen.review-mode .rv-best-hint{display:none}.board-screen.review-mode .review-chip{width:44px;height:44px}.board-screen.review-mode .game-sidebar>.review-bottom-panel{margin-top:auto!important;padding:2px 2px 6px!important}.board-screen.review-mode .game-sidebar{gap:4px!important}.board-screen.review-mode .game-sidebar .sidebar-divider{display:none}.board-screen.review-mode .player-scores{gap:2px!important}.board-screen.review-mode .player-score{padding:2px 8px!important}.board-screen.review-mode .game-sidebar .review-controls{position:static!important;width:auto;margin:0;padding:2px 0 0;justify-content:space-between;gap:0;border-top:none;background:transparent;box-shadow:none}.board-screen.review-mode .review-controls button{width:44px;height:44px;flex-shrink:0}.board-screen.review-mode .review-controls button svg{width:24px;height:24px}.board-screen.review-mode .review-step-label{font-size:13px;min-width:0;white-space:nowrap}.board-screen.review-mode .review-controls-spacer{display:none}.board-screen.review-mode .game-sidebar{container-type:inline-size}@container (max-width: 209px){.board-screen.review-mode .game-sidebar .review-controls{flex-wrap:wrap}.board-screen.review-mode .review-step-label{order:-1;flex-basis:100%;line-height:1.2}.board-screen.review-mode .player-scores{flex-direction:row!important;gap:4px!important}.board-screen.review-mode .player-score{flex:1 1 0;justify-content:space-between}.board-screen.review-mode .player-label{display:none}}.board-screen.review-mode .review-action-btn{min-height:44px;padding:8px 10px;font-size:14px}.board-screen.review-mode .equity-graph{height:64px}.board-screen.review-mode .accuracy-ring{width:56px;height:56px}.board-screen.review-mode .accuracy-number{font-size:1.1rem}.board-screen.review-mode .class-counter-row{font-size:.75rem;padding:.25rem .5rem}.board-screen .puzzle-dice{display:none!important}.board-screen .puzzle-turn-banner{gap:8px!important;padding:6px 10px!important;border-width:2px!important;border-radius:8px!important;flex-shrink:0}.board-screen .puzzle-turn-disc{width:18px!important;height:18px!important;border-width:2px!important;flex-shrink:0}.board-screen .puzzle-turn-text{font-size:13px!important;white-space:nowrap}.board-screen .puzzle-card{padding:6px 10px!important;border-radius:8px!important;flex-shrink:0}.board-screen .puzzle-number{font-size:18px!important}.board-screen .puzzle-streak{padding:2px 8px!important;flex-direction:row!important;gap:4px}.board-screen .puzzle-streak svg{width:18px;height:18px}.board-screen .puzzle-timer{margin-top:4px!important;padding:4px 8px!important;flex-wrap:wrap;gap:4px 8px}.board-screen .puzzle-timer>div{gap:4px!important}.board-screen .puzzle-timer svg{width:18px;height:18px}.board-screen .puzzle-timer span{font-size:15px!important}.board-screen .puzzle-result{order:-1;padding:8px!important;flex-shrink:0}.board-screen .puzzle-result>div:first-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;margin-bottom:6px!important}.board-screen .puzzle-result>div:first-child>*{margin:0!important}.board-screen .puzzle-result>div:first-child svg{width:20px;height:20px}.board-screen .puzzle-result [style*="cursor: pointer"]{min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:6px 8px!important}.board-screen .puzzle-result [style*="cursor: pointer"]>div{flex-wrap:wrap;gap:2px 6px}.board-screen .puzzle-sidebar .puzzle-actions{flex-direction:row!important;flex-wrap:wrap;gap:6px!important;flex-shrink:0}.board-screen .puzzle-actions-row{display:contents!important}.board-screen .puzzle-actions .btn{flex:1 1 auto!important;width:auto!important;min-height:44px;padding:6px 10px!important;font-size:13px!important;white-space:nowrap}.board-screen .puzzle-actions .btn svg{width:18px;height:18px}.board-screen .analysis-panel.showing-result .analysis-build,.board-screen .analysis-panel.showing-result .sidebar-divider{display:none!important}.board-screen .analysis-panel{container-type:inline-size}.board-screen .analysis-panel .difficulty-selector{gap:6px!important;justify-content:center;flex-wrap:wrap}.board-screen .analysis-panel .difficulty-selector>button{min-width:44px!important;min-height:44px!important}.board-screen .analysis-panel .difficulty-selector>.btn{flex:1 1 0;padding:6px 8px!important;font-size:12px!important}.board-screen .analysis-panel .player-score{min-height:44px}.board-screen .analysis-off-row{padding-left:30px!important;margin-bottom:0!important}.board-screen .analysis-off-row input{width:64px!important;height:44px}.board-screen .analysis-die-row{flex-direction:column;align-items:stretch!important;gap:2px!important}.board-screen .analysis-die-label{width:auto!important}.board-screen .analysis-die-buttons{display:grid!important;grid-template-columns:repeat(3,1fr);gap:4px!important}@container (min-width: 290px){.board-screen .analysis-die-buttons{grid-template-columns:repeat(6,1fr)}}.board-screen .analysis-die-buttons button{width:auto!important;height:44px!important}.board-screen .analysis-run .btn,.board-screen .analysis-result-actions .btn{min-height:44px}.board-screen .analysis-run .sidebar-status{padding:0!important;min-height:0!important;border:none!important;background:none!important}.board-screen .analysis-run .player-score{min-height:44px;flex-wrap:wrap}.board-screen .analysis-run .player-label{white-space:normal;overflow:visible;flex-basis:60px}.board-screen .analysis-result-actions{margin-top:6px!important}.board-screen .analysis-result-actions .btn{flex:1 1 0;min-width:0;padding:4px 6px!important;font-size:12px!important;line-height:1.15}}@media(orientation:landscape)and (max-height:500px)and (max-width:800px){.board-screen .mode-indicator,.board-screen .header-brand-name,.board-screen .header-brand-divider{display:none!important}}.settings-drawer{height:100vh;height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}@media(orientation:landscape)and (max-height:500px){.settings-drawer{overscroll-behavior:contain;padding:max(10px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) 16px}.settings-drawer .drawer-header{margin-bottom:8px;padding-bottom:4px}.settings-drawer .drawer-title{font-size:17px}.settings-drawer .drawer-close{width:44px;height:44px;margin-right:-10px;font-size:20px}.settings-drawer .drawer-section{margin-bottom:10px}.settings-drawer .drawer-section-title{font-size:11px;margin-bottom:6px}.settings-drawer .drawer-divider{margin:6px 0}.settings-drawer .difficulty-btn{min-height:44px}.settings-drawer .toggle-row{min-height:44px;padding:0}.settings-drawer .toggle-switch:before{content:"";position:absolute;inset:-8px -4px}.settings-drawer .btn{min-height:44px}}[data-theme=dark] .game-sidebar{--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-border: rgba(44, 36, 30, .15);--color-text-muted: #6B5F54;--color-text-inverse: #FAF6F1;--color-turn-text: #B87333;--color-message: #C75450;color-scheme:light}.status-bar .status-retry{flex-shrink:0;margin-left:10px;padding:4px 12px;min-height:0;font-size:.85em}.status-bar .status-line{min-width:0;overflow:hidden;text-overflow:ellipsis}.status-bar .status-undo{display:none}@media(max-width:700px),(orientation:landscape)and (max-height:500px){.play-screen .status-bar .status-undo{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;margin-left:10px;min-width:44px;min-height:44px!important;padding:0 14px!important;font-size:14px!important;border-radius:8px!important}.play-screen .status-bar.has-undo{max-height:none!important;padding-top:4px!important;padding-bottom:4px!important}}@media(orientation:landscape)and (max-height:500px){.play-screen .header-center .header-undo{display:none!important}}.settings-drawer .drawer-undo{width:100%;min-height:44px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px}.die{padding:0!important;background:none!important;border:none!important;border-radius:18%!important;box-shadow:none!important;display:block!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45)) drop-shadow(0 .5px .5px rgba(0,0,0,.3))}.die svg{display:block;width:100%;height:100%}.die-face{fill:url(#die-face-fill)}.die-edge{fill:none;stroke:#3c2d1e61;stroke-width:1.6}.die-pip{fill:#1d1714}.die.used{opacity:.4;transform:scale(.82)}.analysis-moves-title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.analysis-moves-unit{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;text-transform:none;letter-spacing:0}.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;font-variant-numeric:tabular-nums}.tp-reason{flex-basis:100%;font-size:.8rem;color:var(--color-text-muted)}.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){.teaching-panel-compact{margin-top:8px;border-radius:10px}.tp-header-row{flex-direction:column;gap:10px;align-items:flex-start;padding:12px 14px}.tp-roll-btn{width:100%;padding:12px 20px;font-size:1rem}.tp-alternatives-row{flex-direction:column;align-items:flex-start;padding:10px 14px}.tp-alt-chips{width:100%}.tp-try-best-btn{width:100%;padding:12px 16px}}@media(max-width:480px){.teaching-panel-compact{margin-top:4px;border-width:1.5px}.tp-header-row{padding:10px 12px;gap:8px}.tp-label{font-size:.7rem}.tp-move-text{font-size:.9rem}.tp-rating{font-size:.95rem}.tp-roll-btn{padding:10px 16px;font-size:.9rem;border-radius:8px;min-height:44px}.tp-alternatives-row{padding:8px 12px;gap:8px}.tp-alt-chip{padding:8px 10px;font-size:.78rem;border-radius:8px}.tp-alt-chip .alt-rank{font-size:.8rem}.tp-try-best-btn{padding:10px 14px;font-size:.8rem;border-radius:8px;min-height:44px}}.tp-eval-toggle{margin-left:auto}.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}.scenario-header .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}.scenario-header .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] .scenario-header .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;flex-direction:column;align-items:center;gap:.15rem;font-size:.82rem;line-height:1.35}.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-result-strip.draw{background:linear-gradient(to bottom,#cbd5e1,#94a3b8)}.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-result-text.draw{color:#94a3b8}.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-draw{background:#94a3b829;color:#94a3b8}.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}}@media(max-width:480px){.history-header{padding:.85rem 1rem;gap:.75rem}.history-title{font-size:1.1rem}.history-back-btn{font-size:1rem;padding:.3rem .4rem}.history-stats-banner{gap:.5rem;padding:.6rem .75rem}.stat-card{padding:.6rem .4rem;border-radius:8px}.stat-value{font-size:1.2rem}.stat-label{font-size:.65rem}.stat-breakdown{font-size:.75rem}.history-filter-bar{padding:.6rem .75rem}.filter-tab{font-size:.78rem;padding:.35rem .7rem}.history-game-list{padding:0 .75rem;gap:.4rem}.game-card-body{padding:.7rem .8rem}.game-result-text{font-size:.9rem}.game-opponent{font-size:.8rem}.game-date,.game-duration{font-size:.72rem}.game-replay-btn{width:44px;font-size:1rem}.history-pagination{padding:1rem .75rem;gap:.75rem}.pagination-btn{padding:.4rem .7rem;font-size:.8rem}}.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-spacer{height:0}.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)}@media(max-width:900px){.review-bottom-panel{margin-top:8px}.review-controls{position:fixed;left:0;right:0;bottom:0;z-index:60;width:auto;margin:0;gap:.3rem;border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 -4px 16px #00000024;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom,0px))}.review-controls-spacer{height:calc(60px + env(safe-area-inset-bottom,0px))}.review-turn-list{max-height:120px}}@media(max-width:480px){.accuracy-ring{width:60px;height:60px}.accuracy-number{font-size:1.2rem}.accuracy-label{font-size:.65rem}.class-counter-row{font-size:.78rem;padding:.3rem .5rem}.class-badge-icon{width:14px;font-size:.75rem}.class-count{font-size:.85rem}.review-controls button{width:44px;height:44px}.review-step-label{font-size:.85rem;min-width:48px}.review-turn-list{max-height:100px}.review-turn{padding:.3rem .4rem;font-size:.68rem}.review-action-btn{padding:.6rem .8rem;font-size:1rem;border-radius:10px}.review-move-header{font-size:.8rem}.review-dice{font-size:.9rem}.review-move-text{font-size:.8rem}.equity-graph{height:70px}.review-players-row{font-size:.72rem}}.review-verdict,.review-ribbon{display:none}.review-verdict{position:relative;margin:8px .4rem 0;background:var(--color-surface);border-radius:10px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.review-verdict:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rv-c)}.rv-line{display:flex;align-items:baseline;gap:7px;padding:10px 12px 10px 16px}.rv-glyph{color:var(--rv-c);font-size:15px;line-height:1}.rv-label{color:var(--rv-c);font-weight:700;font-size:15px}.rv-detail{color:var(--color-text-muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-loss{margin-left:auto;padding-left:8px;color:var(--rv-c);font-weight:700;font-size:12.5px;white-space:nowrap}.rv-best{display:flex;gap:8px;align-items:baseline;width:100%;padding:9px 12px 10px 16px;border:none;border-top:1px solid rgba(0,0,0,.05);border-radius:0;background:transparent;font-family:inherit;font-size:12.5px;color:var(--color-text-muted);text-align:left;cursor:pointer}.rv-best-hint{margin-left:auto;padding-left:8px;font-size:11px;color:var(--color-accent);white-space:nowrap}.rv-best.previewing{background:var(--color-accent-glow)}.rv-best.previewing b{color:var(--color-accent)}.rv-best b{color:var(--color-text);font-weight:600}.review-ribbon{gap:5px;overflow-x:auto;padding:8px .4rem 4px;scrollbar-width:none}.review-ribbon::-webkit-scrollbar{display:none}.review-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:9px;background:var(--color-surface);border:1px solid rgba(0,0,0,.07);font-size:9.5px;line-height:1.2;color:var(--color-text-muted);cursor:pointer}.review-chip b{font-size:12px;line-height:1}.review-chip.current{outline:2px solid var(--color-accent);outline-offset:0}@media(max-width:900px){.review-verdict{display:block}.review-ribbon{display:flex}.review-full-card,.review-turn-list{display:none!important}}@media(max-width:600px){[data-theme=dark] .review-controls{background:#ece3d6;border-top-color:#2c241e2e}}.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){.recent-games-panel{padding:14px 16px;gap:10px;border-radius:12px}.rg-header-icon{font-size:48px}.rg-stats-strip{flex-wrap:wrap;gap:4px;padding:8px 12px}.rg-stat-divider{display:none}.rg-stat{min-width:60px}.rg-stat-value{font-size:1rem}.rg-game-row{padding:10px;min-height:44px;gap:6px}.rg-opponent{font-size:13px}.rg-badge{font-size:.55rem;padding:2px 4px}.rg-date,.rg-duration{display:none}}.rg-result-strip.draw{background:linear-gradient(to bottom,#cbd5e1,#94a3b8)}.rg-result.draw{color:#94a3b8}.rg-badge-draw{background:#94a3b829;color:#94a3b8}
