:root{color-scheme:light;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;line-height:1.45;font-weight:400;--page-bg: #f5f1e8;--page-bg-deep: #ece3d4;--surface: rgba(255, 252, 247, .96);--surface-muted: #f7f1e7;--surface-raised: #fffdfa;--border: #dccfbe;--border-strong: #cdb89f;--text: #22303a;--text-soft: #66747d;--accent: #5d7888;--accent-strong: #47616f;--honey-tone: #c4835d;--honey-tone-deep: #9a6548;--honey-soft: #f8ece2;--sky-tone: #64869a;--sky-tone-deep: #486676;--sky-soft: #e7eef3;--board-frame: #d6c4ab;--board-light: #f7efe2;--board-light-deep: #efdfc5;--board-dark: #b28d71;--board-dark-deep: #a07d63;--board-shadow: 0 18px 42px rgba(34, 48, 58, .12);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);background:radial-gradient(circle at top,rgba(255,255,255,.82),transparent 28rem),linear-gradient(180deg,var(--page-bg) 0%,var(--page-bg-deep) 100%);color:var(--text)}*{box-sizing:border-box}html{min-height:100%;max-width:100%;overflow-x:clip}body{margin:0;min-width:320px;max-width:100%;min-height:100dvh;overflow-x:clip;color:var(--text);background:radial-gradient(circle at top,rgba(255,255,255,.82),transparent 28rem),linear-gradient(180deg,var(--page-bg) 0%,var(--page-bg-deep) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid rgba(93,120,136,.28);outline-offset:3px}#app{min-height:100dvh}.page-shell{width:min(1120px,calc(100% - 16px));max-width:100%;margin:0 auto;padding:max(8px,var(--safe-top)) max(8px,var(--safe-right)) max(8px,var(--safe-bottom)) max(8px,var(--safe-left))}.game-panel{display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;min-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom));padding:16px;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:0 18px 40px #22303a14;overflow-x:clip}.toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.game-title{margin:0;font-size:clamp(1.55rem,2.9vw,2.25rem);line-height:.96;letter-spacing:-.05em;color:var(--text);white-space:nowrap}.player-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.player-pill,.restart-button,.ghost-button{border-radius:999px}.player-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--border);background:var(--surface-muted)}.player-pill-copy{display:flex;flex-direction:column;gap:1px;line-height:1.1}.player-pill-copy strong{font-size:.95rem}.player-pill-copy small{color:var(--text-soft);font-size:.78rem}.player-pill-piece,.status-badge-piece{display:inline-grid;place-items:center;width:28px;aspect-ratio:1 / 1;border-radius:999px;background:#ffffffc7;box-shadow:inset 0 1px #ffffffe0}.player-pill-piece:after,.status-badge-piece:after{content:"";width:14px;aspect-ratio:1 / 1;border-radius:999px}.player-pill.is-honey .player-pill-piece:after,.status-badge.is-honey .status-badge-piece:after,.piece-button.is-honey{background:radial-gradient(circle at 32% 30%,#f5d5c2 0%,var(--honey-tone) 48%,var(--honey-tone-deep) 100%)}.player-pill.is-sky .player-pill-piece:after,.status-badge.is-sky .status-badge-piece:after,.piece-button.is-sky{background:radial-gradient(circle at 32% 30%,#d9e9f4 0%,var(--sky-tone) 48%,var(--sky-tone-deep) 100%)}.toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.restart-button,.ghost-button,.piece-button,.move-target{transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease,transform .14s ease}.restart-button,.ghost-button{padding:11px 16px;border:1px solid transparent;font-weight:700;cursor:pointer}.restart-button{background:var(--accent);color:#f9fbfd;box-shadow:0 10px 24px #5d78882e}.restart-button:hover{background:var(--accent-strong)}.ghost-button{border-color:var(--border);background:var(--surface-muted);color:var(--accent-strong)}.ghost-button:hover{border-color:var(--border-strong)}.play-layout{display:flex;flex:1;flex-direction:column;gap:12px;min-height:0}.board-column{display:flex;justify-content:center;align-items:center;min-width:0;min-height:0}.info-column{display:flex;flex-direction:column;gap:10px}.status-badge{display:inline-flex;align-self:center;align-items:center;justify-content:center;gap:10px;width:min(100%,18rem);max-width:100%;min-height:52px;padding:10px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);color:var(--accent-strong);box-shadow:inset 0 1px #ffffffdb}.status-badge strong{flex:1;text-align:center}.status-badge.is-honey{border-color:#c4835d47;background:var(--honey-soft);color:var(--honey-tone-deep)}.status-badge.is-sky{border-color:#64869a3d;background:var(--sky-soft);color:var(--sky-tone-deep)}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.stat-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:1px solid var(--border);border-radius:16px;background:var(--surface-muted)}.stat-card.is-honey{border-color:#c4835d47;background:var(--honey-soft)}.stat-card.is-sky{border-color:#64869a3d;background:var(--sky-soft)}.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft)}.stat-card strong{font-size:clamp(1.04rem,2.4vw,1.28rem);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text)}.message{display:flex;align-items:center;justify-content:center;margin:0;min-height:2.9em;text-align:center;color:var(--accent-strong);font-size:clamp(.98rem,2vw,1.08rem);font-weight:700}.hint-text{margin:0;text-align:center;color:var(--text-soft);font-size:.94rem}.board-stage{width:min(100%,calc(100dvh - 304px),700px);max-width:100%;flex:0 1 auto}.board{display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));width:100%;aspect-ratio:1 / 1;padding:clamp(10px,1.6vw,14px);border-radius:30px;background:linear-gradient(180deg,var(--board-frame) 0%,#cbb392 100%);box-shadow:var(--board-shadow);gap:0}.board-cell{position:relative;display:grid;place-items:center;aspect-ratio:1 / 1}.board-cell.is-light{background:linear-gradient(180deg,var(--board-light) 0%,var(--board-light-deep) 100%)}.board-cell.is-dark{background:linear-gradient(180deg,var(--board-dark) 0%,var(--board-dark-deep) 100%)}.board-cell.is-last-move:after,.board-cell.is-selected:after,.board-cell.is-forced:after{content:"";position:absolute;inset:6%;border-radius:16px;pointer-events:none}.board-cell.is-last-move:after{box-shadow:inset 0 0 0 2px #ffffff57}.board-cell.is-selected:after{box-shadow:inset 0 0 0 3px #ffffff80}.board-cell.is-forced:after{box-shadow:inset 0 0 0 3px #ffffffb3,0 0 0 2px #47616f2e}.piece-button,.move-target{position:absolute;inset:10%;border:0;border-radius:999px}.piece-button{display:grid;place-items:center;box-shadow:inset 0 1px #ffffff5c,0 9px 16px #3a2f262e}.piece-button[data-selectable=true]{cursor:pointer}.piece-button[data-selectable=true]:hover,.piece-button[data-selected=true]{box-shadow:inset 0 1px #fff6,0 0 0 4px #ffffff47,0 12px 20px #3a2f2638}.piece-button.is-king{border-radius:28%}.piece-button:disabled{cursor:default;opacity:1}.piece-badge{display:inline-grid;place-items:center;width:28%;min-width:18px;aspect-ratio:1 / 1;border-radius:999px;background:#ffffffe0;color:#2e3940e0;font-size:clamp(.58rem,1vw,.74rem);font-weight:800;letter-spacing:.04em;box-shadow:0 2px 5px #2e39401f}.move-target{display:grid;place-items:center;cursor:pointer;background:#fffcf714}.move-target-marker{display:inline-grid;place-items:center;width:42%;aspect-ratio:1 / 1;border-radius:999px;background:#fffcf7f5;box-shadow:inset 0 0 0 2px #47616f2e,0 8px 16px #3a2f261f}.move-target[data-capture-count="0"] .move-target-marker{width:28%;background:#fffcf7d1}.move-target:hover .move-target-marker,.move-target:focus-visible .move-target-marker{box-shadow:inset 0 0 0 3px #47616f3d,0 10px 18px #3a2f2624}@media(orientation:landscape)and (min-width:960px){.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"board info";align-items:center;gap:16px}.board-column{grid-area:board}.info-column{grid-area:info;gap:12px}.status-badge{align-self:flex-start}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message,.hint-text{text-align:left}.message{justify-content:flex-start}.board-stage{width:min(100%,calc(100dvh - 186px),660px)}}@media(max-width:960px){.game-panel{border-radius:24px;padding:14px}.toolbar{grid-template-columns:1fr;justify-items:center}.toolbar-actions{justify-content:center}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.board-stage{width:min(100%,calc(100dvh - 404px),660px)}}@media(max-width:720px){.page-shell{width:min(100%,calc(100% - 12px));padding:max(6px,var(--safe-top)) max(6px,var(--safe-right)) max(6px,var(--safe-bottom)) max(6px,var(--safe-left))}.game-panel{min-height:calc(100dvh - 12px - var(--safe-top) - var(--safe-bottom));padding:12px}.play-layout{gap:10px}.board-stage{width:min(100%,calc(100dvh - 448px),560px)}}@media(max-width:520px){.game-title{font-size:1.45rem;white-space:normal;text-align:center}.player-strip,.toolbar-actions{width:100%}.toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.restart-button,.ghost-button{width:100%;padding-inline:10px}.player-pill{flex:1 1 0;justify-content:center;padding:7px 12px}.player-pill-copy strong{font-size:.9rem}.player-pill-copy small{font-size:.74rem}.player-pill-piece,.status-badge-piece{width:24px}.player-pill-piece:after,.status-badge-piece:after{width:12px}.status-badge{min-height:46px;padding:8px 12px}.stats-grid{gap:6px}.stat-card{padding:8px 6px}.stat-label{font-size:.66rem}.message{font-size:.94rem}.hint-text{display:none}.board{border-radius:24px;padding:8px}.board-stage{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.restart-button,.ghost-button,.piece-button,.move-target{transition-duration:0ms}*,*:before,*:after{animation-duration:0ms}}
