:root{color-scheme:dark;font-size:16px;--color-bg: #15191f;--color-surface: #1e232b;--color-card: #282e37;--color-cell-bg: #252b34;--color-accent: #d2bc87;--color-accent-muted: #ad9865;--color-text: #f0efeb;--color-text-muted: #a9b0ba;--color-error: #ee9a9f;--color-success: #95c4b1;--color-cell-border: rgba(28, 37, 48, .16);--color-region-border: rgba(28, 37, 48, .58);--color-ui-border: rgba(225, 232, 242, .12);--color-board-ink: #24303b;--color-overlay: rgba(8, 12, 18, .68);--shadow-panel: 0 18px 60px rgba(0, 0, 0, .24);--font-body: "Manrope", system-ui, sans-serif;--font-display: var(--font-body);--space-page: 16px;--board-cell-min: 36px;--board-max: min(calc(100vw - (var(--space-page) * 2)), calc(100svh - 190px) , 560px)}html.light{color-scheme:light;--color-bg: #f5f3ed;--color-surface: #fffefa;--color-card: #eae7df;--color-cell-bg: #efede6;--color-accent: #83662c;--color-accent-muted: #8a713f;--color-text: #29313b;--color-text-muted: #666d76;--color-error: #a53e4d;--color-success: #447b66;--color-ui-border: rgba(35, 44, 56, .14);--color-overlay: rgba(31, 35, 40, .34);--shadow-panel: 0 18px 60px rgba(39, 37, 29, .12)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;font-size:16px}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}button:active{transform:translateY(1px)}.app-shell{width:min(100%,608px);margin:0 auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;gap:12px;padding:max(16px,env(safe-area-inset-top)) var(--space-page) max(24px,env(safe-area-inset-bottom))}.topbar{width:min(100%,var(--board-max));display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;padding:0 2px}.game-brand{display:flex;align-items:center;gap:9px;min-width:0}.game-icon{width:25px;height:25px;color:var(--color-accent);flex-shrink:0}.game-icon svg{display:block;width:100%;height:100%}.brand-title{margin:0;font-size:25px;line-height:1.2;font-weight:700;letter-spacing:-1px}.topbar-session{display:contents}.seed-display{grid-row:2;grid-column:1;justify-self:start;min-height:44px;min-width:44px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--color-text-muted);font-size:12px;letter-spacing:.035em;cursor:pointer}.seed-display:after{content:" ↗";margin-left:4px;font-size:14px}.seed-display:hover{color:var(--color-text)}.timer-chip{grid-row:1 / 3;grid-column:2;display:inline-flex;align-items:center;gap:7px;color:var(--color-text-muted);font-size:14px;font-variant-numeric:tabular-nums}.timer-chip:before{content:"";width:13px;height:13px;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(currentColor,currentColor) 5px 2px / 1px 4px no-repeat,linear-gradient(currentColor,currentColor) 5px 5px / 4px 1px no-repeat;opacity:.7}.main{width:100%;min-height:0}.play-stage{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.board-stage{position:relative;display:grid;place-items:center;width:min(100%,var(--board-max))}.board-context{width:min(100%,var(--board-max));display:grid;gap:10px}.board-context:not(:has(>:not(.hidden))){display:none}.board-feedback{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--color-error) 10%,var(--color-surface));color:var(--color-error);font-size:14px;font-weight:600}.footer{width:min(100%,var(--board-max));padding-top:4px}.play-note{margin:2px 0 0;color:var(--color-text-muted);font-size:11px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;padding:.5rem 1rem;margin:0;overflow:visible;clip:auto;white-space:normal;background:var(--color-accent);color:var(--color-bg);border-radius:8px;font-weight:600;text-decoration:none;z-index:100}.hidden{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:720px){.app-shell{padding-top:clamp(24px,5svh,56px);gap:16px}:root{--board-max: min( calc(100svh - 230px) , 560px)}.brand-title{font-size:28px}.play-note{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.board{--board-size: 5;display:flex;flex-direction:column;aspect-ratio:1 / 1;width:100%;max-width:var(--board-max);min-width:min(100%,calc(var(--board-size) * var(--board-cell-min)));border-right:2px solid var(--color-region-border);border-bottom:2px solid var(--color-region-border);border-radius:8px;overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}.board-row{display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));flex:1 1 0;min-height:0}.board.is-scrollable{width:100%}.board-cell{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;padding:4px;border:none;border-top-style:solid;border-left-style:solid;border-bottom-style:none;border-right-style:none;background:none;color:var(--color-board-ink);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;text-decoration:none}.board-cell:focus,.board-cell:active{outline:none;border-bottom-style:none;border-right-style:none;text-decoration:none}@media(hover:hover)and (pointer:fine){.board-cell:hover{filter:brightness(1.06)}}.board:not(.is-pointer-input) .board-cell:focus-visible,.board-cell.is-focused{outline:3px solid #fff;outline-offset:-4px;box-shadow:inset 0 0 0 6px #172033;z-index:5}.board-cell.is-conflict:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:3px solid var(--color-error);border-radius:10px;animation:conflict-pulse 1s ease-in-out infinite}.board-cell.is-highlighted:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 70%)}.board-cell.is-hinted:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffd70047;pointer-events:none;z-index:1}.board-cell.is-hinted:after{content:"💡";position:absolute;top:2px;right:2px;font-size:.6em;line-height:1;z-index:4;pointer-events:none;opacity:.85}.board-cell.is-hinted-target{outline:4px solid var(--color-accent);outline-offset:-4px;animation:hint-pulse 1s ease-in-out infinite;z-index:3}.board-cell.is-hinted-target:after{content:"⭐"}.board-cell.is-hint-error{outline:4px solid #e63946;outline-offset:-4px;animation:hint-pulse-error 1s ease-in-out infinite;z-index:3}.board-cell.is-hint-error:after{content:"❌"}.board-cell.is-hint-warning{outline:4px solid #f4a261;outline-offset:-4px;animation:hint-pulse-warning 1s ease-in-out infinite;z-index:3}.board-cell.is-hint-warning:after{content:"⚠️"}.board-cell[data-state=x] .cell-mark,.board-cell[data-state=queen] .cell-mark{opacity:1;transform:scale(1)}.board-cell[data-state=empty] .cell-mark{opacity:0;transform:scale(.85)}.cell-mark{width:56%;height:56%;opacity:0;transform:scale(.85);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.cell-mark svg{width:100%;height:100%;display:block}.cell-mark-queen{color:var(--color-board-ink)}.cell-mark-queen svg{filter:none}.cell-mark-x{color:currentColor;opacity:1}.board-cell[data-state=queen] .cell-mark-x,.board-cell[data-state=x] .cell-mark-queen,.board-cell[data-state=empty] .cell-mark-queen,.board-cell[data-state=empty] .cell-mark-x{display:none}.board-cell[data-state=queen] .cell-mark-queen,.board-cell[data-state=x] .cell-mark-x{display:block}@keyframes conflict-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes hint-pulse{0%,to{outline-color:#ffd70080}50%{outline-color:gold}}@keyframes hint-pulse-error{0%,to{outline-color:#e6394680}50%{outline-color:#e63946}}@keyframes hint-pulse-warning{0%,to{outline-color:#f4a26180}50%{outline-color:#f4a261}}.hint-toast{margin-top:0;opacity:0;transform:translateY(12px);transition:opacity .2s ease-out,transform .2s ease-out}.hint-toast.is-visible{opacity:1;transform:translateY(0)}.hint-toast-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-left:4px solid var(--color-accent);border-radius:18px;background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:var(--shadow-panel)}.hint-toast-copy{display:flex;align-items:center;gap:12px}.hint-toast-icon{flex:0 0 auto}@media(max-width:640px){.hint-toast-card{flex-direction:column;align-items:stretch}}.control-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dock-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 8px;border:1px solid transparent;border-radius:10px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:13px;font-weight:600;transition:background .14s ease,transform .14s ease}.dock-btn svg{width:18px;height:18px;flex:0 0 auto}.dock-btn:hover{background:var(--color-card)}.dock-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.dock-btn:active{transform:scale(.97)}.dock-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.dock-btn-primary{color:var(--color-accent)}.seed-input{flex:1;min-height:48px;border-radius:10px;border:1px solid var(--color-ui-border);padding:.65rem .85rem;background:var(--color-cell-bg);color:var(--color-text)}.seed-input:focus{outline:2px solid var(--color-accent);outline-offset:1px}#modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:var(--color-overlay);opacity:0;pointer-events:auto;transition:opacity .18s ease}.modal-overlay.is-open{opacity:1}.modal-card{width:min(100%,540px);max-height:min(90dvh,760px);overflow:auto;padding:24px;border-radius:24px;border:1px solid var(--color-ui-border);background:var(--color-surface);box-shadow:var(--shadow-panel)}.modal-card.modal-wide{width:min(100%,760px)}.modal-title{margin:0;font-family:var(--font-display);font-size:1.4rem}.modal-copy{margin:10px 0 0;color:var(--color-text-muted);line-height:1.5}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.settings-list,.tutorial-step-list{display:grid;gap:14px;margin-top:18px}.settings-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:10px;background:#ffffff0a}.settings-copy{display:grid;gap:2px}.settings-copy strong{font-weight:600}.toggle{width:52px;height:44px;flex:0 0 52px;padding:0;border:none;background:transparent;position:relative;cursor:pointer}.toggle:before{content:"";position:absolute;top:7px;right:0;bottom:7px;left:0;border-radius:999px;background:var(--color-card);border:1px solid var(--color-ui-border)}.toggle:after{content:"";position:absolute;top:11px;left:4px;width:22px;height:22px;border-radius:50%;background:var(--color-text-muted);transition:transform .14s ease}.toggle.is-on:before{background:color-mix(in srgb,var(--color-accent) 24%,var(--color-card))}.toggle.is-on:after{transform:translate(22px);background:var(--color-accent)}.win-stats{display:grid;gap:10px;margin-top:20px}.win-stat{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;background:#ffffff0d}.tutorial-board{--tutorial-size: 4;display:grid;grid-template-columns:repeat(4,minmax(54px,1fr));gap:0;max-width:260px;margin:18px auto 0;border-radius:20px;overflow:hidden;border:1px solid rgba(201,168,76,.18)}.tutorial-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);font-size:1.4rem}.tutorial-cell.is-target{outline:3px solid var(--color-accent);outline-offset:-3px}.tutorial-cell.is-neighbor{box-shadow:inset 0 0 0 3px #e6394673}.settings-footer{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.settings-footer-danger{justify-content:flex-start}.modal-sheet-overlay{align-items:end;justify-items:stretch;padding:20px 20px calc(12px + env(safe-area-inset-bottom))}.modal-card.modal-sheet{width:min(100%,720px);max-height:min(82dvh,760px);margin-inline:auto;border-radius:28px 28px 18px 18px}.more-sheet{display:grid;gap:.9rem}.more-sheet-header{display:flex;justify-content:space-between;align-items:center;gap:.25rem}.more-sheet-title{font-family:var(--font-body);font-size:1.25rem;font-weight:700}.more-sheet-section{display:grid;gap:.75rem;padding-top:.1rem}.more-sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.more-sheet-heading-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.45rem}.more-sheet-heading{margin:0;font-size:1rem}.more-sheet-meta{color:var(--color-text-muted);font-size:.9rem}.more-difficulty-list{display:grid;gap:.65rem}.more-difficulty-btn,.more-size-btn,.more-sheet-action,.more-advanced-summary{min-height:48px;border-radius:10px}.more-difficulty-btn,.more-size-btn{border:1px solid var(--color-ui-border);background:var(--color-cell-bg);color:var(--color-text);font-weight:600;cursor:pointer}.more-difficulty-btn{display:grid;gap:.2rem;width:100%;padding:.85rem .95rem;text-align:left}.more-difficulty-label-row{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.more-difficulty-label{font-size:1rem}.more-difficulty-size{color:var(--color-text-muted);font-size:.92rem}.more-difficulty-badge{padding:.15rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 22%,transparent);color:var(--color-text);font-size:.72rem;font-weight:700;letter-spacing:.02em}.more-difficulty-btn.is-recommended{border-color:color-mix(in srgb,var(--color-accent) 34%,var(--color-ui-border))}.more-size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.75rem}.more-size-btn{padding:.85rem}.more-difficulty-btn.is-active,.more-size-btn.is-active,.more-difficulty-btn:hover,.more-difficulty-btn:focus-visible,.more-size-btn:hover,.more-size-btn:focus-visible,.more-advanced-summary:hover,.more-advanced-summary:focus-visible{border-color:color-mix(in srgb,var(--color-accent) 50%,var(--color-ui-border));background:color-mix(in srgb,var(--color-cell-bg) 78%,var(--color-accent) 22%);outline:none}.more-difficulty-btn:disabled,.more-size-btn:disabled{cursor:default;opacity:1}.more-advanced-sizes{border:1px solid var(--color-ui-border);border-radius:12px;background:#ffffff08;padding:.2rem}.more-advanced-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .95rem;cursor:pointer;list-style:none}.more-advanced-summary::-webkit-details-marker{display:none}.more-advanced-title{font-weight:700}.more-seed-row{display:flex;align-items:center;gap:.65rem}@media(min-width:720px){.modal-sheet-overlay{align-items:center}.modal-card.modal-sheet{border-radius:24px}.more-sheet-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.modal-overlay{padding-inline:14px}.modal-card{padding:20px;border-radius:22px}.settings-footer,.more-seed-row{flex-direction:column;align-items:stretch}.more-size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px)and (max-height:680px){.modal-card.more-sheet-card{max-height:calc(100dvh - 32px - env(safe-area-inset-bottom));padding:14px}.more-sheet{gap:.65rem}.more-sheet-section,.more-sheet-actions,.more-difficulty-list{gap:.4rem}.more-sheet .more-sheet-action{min-height:48px;padding:.5rem}.more-difficulty-btn{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem}.more-difficulty-label-row{flex:1}.more-difficulty-size{flex-shrink:0}}.sheet-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--color-card);color:var(--color-text-muted);cursor:pointer;font-size:26px;line-height:1}.more-sheet .more-difficulty-badge{display:none}.more-sheet-action:active,.more-size-btn:active,.more-difficulty-btn:active,.more-advanced-summary:active{transform:scale(.98)}.more-sheet-action:focus-visible,.more-size-btn:focus-visible,.more-difficulty-btn:focus-visible,.more-advanced-summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.settings-copy{font-size:14px}.settings-copy strong{font-size:16px;color:var(--color-text)}.settings-copy>span{color:var(--color-text-muted)}.button-muted{min-height:44px}.button-muted:focus-visible,.button-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}:root{--cb-stroke: rgba(0,0,0,.25);--cb-stroke-light: rgba(0,0,0,.15)}html.light{--cb-stroke: rgba(0,0,0,.15)}html.colorblind .board-cell[data-region="1"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='0' y1='12' x2='12' y2='0' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3C/svg%3E");background-size:12px 12px}html.colorblind .board-cell[data-region="2"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='0' y1='6' x2='12' y2='6' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3C/svg%3E");background-size:12px 12px}html.colorblind .board-cell[data-region="3"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='6' cy='6' r='2' fill='rgba(0,0,0,0.25)'/%3E%3C/svg%3E");background-size:12px 12px}html.colorblind .board-cell[data-region="4"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='6' y1='0' x2='6' y2='12' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3C/svg%3E");background-size:12px 12px}html.colorblind .board-cell[data-region="5"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='6' y1='0' x2='6' y2='12' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3Cline x1='0' y1='6' x2='12' y2='6' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3C/svg%3E");background-size:12px 12px}html.colorblind .board-cell[data-region="6"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='0' y1='0' x2='12' y2='12' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3Cline x1='12' y1='0' x2='0' y2='12' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3C/svg%3E");background-size:12px 12px}html.colorblind .board-cell[data-region="7"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6 Q6 2 12 6 Q18 10 24 6' fill='none' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3C/svg%3E");background-size:24px 12px}html.colorblind .board-cell[data-region="8"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Crect x='0' y='0' width='6' height='6' fill='rgba(0,0,0,0.25)'/%3E%3Crect x='6' y='6' width='6' height='6' fill='rgba(0,0,0,0.25)'/%3E%3C/svg%3E");background-size:12px 12px}html.light.colorblind .board-cell[data-region="1"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='0' y1='12' x2='12' y2='0' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3C/svg%3E")}html.light.colorblind .board-cell[data-region="2"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='0' y1='6' x2='12' y2='6' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3C/svg%3E")}html.light.colorblind .board-cell[data-region="3"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='6' cy='6' r='2' fill='rgba(0,0,0,0.15)'/%3E%3C/svg%3E")}html.light.colorblind .board-cell[data-region="4"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='6' y1='0' x2='6' y2='12' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3C/svg%3E")}html.light.colorblind .board-cell[data-region="5"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='6' y1='0' x2='6' y2='12' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3Cline x1='0' y1='6' x2='12' y2='6' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3C/svg%3E")}html.light.colorblind .board-cell[data-region="6"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cline x1='0' y1='0' x2='12' y2='12' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3Cline x1='12' y1='0' x2='0' y2='12' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3C/svg%3E")}html.light.colorblind .board-cell[data-region="7"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6 Q6 2 12 6 Q18 10 24 6' fill='none' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3C/svg%3E")}html.light.colorblind .board-cell[data-region="8"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Crect x='0' y='0' width='6' height='6' fill='rgba(0,0,0,0.15)'/%3E%3Crect x='6' y='6' width='6' height='6' fill='rgba(0,0,0,0.15)'/%3E%3C/svg%3E")}html.colorblind .board-cell[data-region="9"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='M7 2 12 7 7 12 2 7Z' fill='none' stroke='rgba(0,0,0,0.25)' stroke-width='1.5'/%3E%3C/svg%3E");background-size:14px 14px}html.light.colorblind .board-cell[data-region="9"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='M7 2 12 7 7 12 2 7Z' fill='none' stroke='rgba(0,0,0,0.15)' stroke-width='1.5'/%3E%3C/svg%3E")}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:12;border-radius:20px;background:#0a0a18b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;animation:fade-in .2s ease}html.light .pause-overlay{background:#f5f0e8c7}.pause-overlay-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-text);font-size:1.1rem;font-weight:600}.pause-overlay-content span{font-size:2.4rem}.board.board-frozen{pointer-events:none;filter:saturate(.5)}.board-skeleton{--skel-size: 7;display:grid;grid-template-columns:repeat(var(--skel-size),1fr);aspect-ratio:1 / 1;width:100%;max-width:var(--board-max);gap:1px;border-radius:16px;overflow:hidden}.skeleton-cell{background:linear-gradient(110deg,#ffffff0a,#ffffff14 40%,#ffffff0a 60%,#ffffff0a);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:2px}html.light .skeleton-cell{background:linear-gradient(110deg,#0000000a,#00000014 40%,#0000000a 60%,#0000000a);background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.board-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:11;border-radius:20px;background:#0a0a18d1;padding:20px}html.light .board-error{background:#f5f0e8e0}.error-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:320px}.error-icon{font-size:2.4rem}.error-message{color:var(--color-text-muted);margin:0}@keyframes crown-appear{0%{transform:scale(0) rotate(-15deg);opacity:0}60%{transform:scale(1.15) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.board-cell[data-state=queen] .cell-mark-queen{animation:crown-appear .3s ease-out}@keyframes x-appear{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.board-cell[data-state=x] .cell-mark-x{animation:x-appear .15s ease-out}.board-cell:active{transform:scale(.94);transition:transform .08s ease}.board-stage{border-radius:12px;overflow:hidden;box-shadow:0 4px 18px #00000014}.board-cell.region-complete{box-shadow:inset 0 0 0 1px #24303b1f}#conflict-summary.has-conflicts:before{content:"⚠";margin-right:.45rem}.win-title{display:flex;align-items:center;gap:.5rem}.win-crown{font-size:1.8rem;animation:crown-bounce .6s ease-out}@keyframes crown-bounce{0%{transform:scale(0)}50%{transform:scale(1.3)}70%{transform:scale(.9)}to{transform:scale(1)}}.new-best{color:var(--color-accent);animation:gold-pulse 1s ease-in-out infinite}@keyframes gold-pulse{0%,to{text-shadow:0 0 4px rgba(255,215,0,.3)}50%{text-shadow:0 0 12px rgba(255,215,0,.7)}}.best-badge{display:inline-block;margin-top:12px;padding:6px 16px;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent);font-weight:600;font-size:.9rem;text-align:center;animation:badge-pop .4s ease-out}@keyframes badge-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.win-actions{display:grid;grid-template-columns:1fr 1fr}.about-content{color:var(--color-text-muted);font-size:14px;line-height:1.65}.about-content h2{color:var(--color-text);font-size:18px;margin:24px 0 8px}.about-content h2:first-child{margin-top:0}.about-content ol,.about-content ul{padding-left:20px}.about-content li{margin-bottom:6px}.button{flex:1;min-height:44px;border:1px solid color-mix(in srgb,var(--color-accent) 60%,var(--color-ui-border));border-radius:10px;padding:.7rem 1rem;background:color-mix(in srgb,var(--color-cell-bg) 70%,var(--color-accent) 30%);color:var(--color-text);cursor:pointer;font-size:.95rem;font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.button:hover,.button:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 2px var(--color-accent);outline:none}.button:active{transform:scale(.97)}.button-secondary{flex:1;min-height:44px;border:1px solid var(--color-ui-border);border-radius:10px;padding:.7rem 1rem;background:var(--color-cell-bg);color:var(--color-text);cursor:pointer;font-size:.95rem;transition:background .15s ease,border-color .15s ease}.button-secondary:hover,.button-secondary:focus-visible{background:color-mix(in srgb,var(--color-cell-bg) 86%,white 14%);border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-ui-border));outline:none}.button-muted{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:.9rem;padding:.5rem}.button-muted:hover,.button-muted:focus-visible{color:var(--color-text);outline:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:520px){.win-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.board-cell[data-state=queen] .cell-mark-queen,.board-cell[data-state=x] .cell-mark-x,.win-crown,.new-best,.best-badge,.skeleton-cell{animation:none!important}.board-cell:active{transform:none}}
