.ag-game-kurodoko{--kd-ink:#f4efe4;--kd-wall:#141820;--kd-edge:#8d93a8;--kd-err:#ff7a90;--kd-ok:#6ee7a8}:root[data-theme=light] .ag-game-kurodoko{--kd-ink:#1b1e28;--kd-wall:#1c2030;--kd-edge:#5c6478;--kd-err:#c3002f;--kd-ok:#0e7a45}.ag-game-kurodoko .kd-pips{flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 10px;display:flex}.ag-game-kurodoko .kd-pip{border:1px solid var(--hairline);background:var(--panel-soft);min-width:36px;height:36px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;padding:0 8px;font-weight:800}.ag-game-kurodoko .kd-pip:disabled{opacity:.4;cursor:default}.ag-game-kurodoko .kd-pip.is-on{border-color:var(--cat,var(--accent));background:color-mix(in srgb,var(--cat,var(--accent)) 22%,var(--panel))}.ag-game-kurodoko .kd-pip.is-s1{box-shadow:inset 0 -3px 0 var(--muted)}.ag-game-kurodoko .kd-pip.is-s2{box-shadow:inset 0 -3px 0 var(--kd-ink)}.ag-game-kurodoko .kd-pip.is-s3{box-shadow:inset 0 -3px 0 var(--kd-ok)}.ag-game-kurodoko .kd-grid{grid-template-columns:repeat(var(--n),minmax(0,1fr));width:min(100%,calc(var(--n) * 64px),440px);touch-action:manipulation;user-select:none;gap:3px;margin-inline:auto;display:grid}.ag-game-kurodoko .kd-cell{aspect-ratio:1;border:1px solid var(--hairline);background:var(--panel-soft);min-width:0;color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;place-items:center;margin:0;padding:0;font-weight:800;display:grid;position:relative}.ag-game-kurodoko .kd-cell:hover:not(:disabled){border-color:var(--cat,var(--accent))}.ag-game-kurodoko .kd-cell:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;z-index:2}.ag-game-kurodoko .kd-cell.is-clue{background:var(--panel);cursor:default}.ag-game-kurodoko .kd-cell.is-black{background:var(--kd-wall);border-color:var(--kd-edge)}.ag-game-kurodoko .kd-cell.is-white{background:color-mix(in srgb,var(--panel) 70%,var(--bg))}.ag-game-kurodoko .kd-cell.is-error{background:color-mix(in srgb,var(--kd-err) 55%,var(--kd-wall));border-color:var(--kd-err)}.ag-game-kurodoko .kd-cell.is-wrong:not(.is-error){outline:2px solid var(--kd-err);outline-offset:-3px}.ag-game-kurodoko .kd-num{font-variant-numeric:tabular-nums;font-size:clamp(.85rem,3vw,1.15rem);line-height:1}.ag-game-kurodoko .kd-block{background:var(--kd-ink);border-radius:4px;width:42%;height:42%}.ag-game-kurodoko .kd-dot{background:var(--muted);border-radius:50%;width:18%;height:18%}.ag-game-kurodoko .kd-cell.is-hint{animation:1s 2 kd-hint}.ag-game-kurodoko .kd-grid.is-won .kd-cell.is-black .kd-block{animation:.45s both kd-win}.ag-game-kurodoko .kd-legend{text-align:center}.ag-game-kurodoko .kd-banner{border:1px solid color-mix(in srgb,var(--cat,var(--accent)) 45%,var(--hairline));background:color-mix(in srgb,var(--cat,var(--accent)) 8%,var(--panel));text-align:center;border-radius:14px;margin-top:12px;padding:14px 16px}.ag-game-kurodoko .kd-banner[hidden]{display:none}.ag-game-kurodoko .kd-banner-title{font-family:var(--display);margin:0 0 4px;font-size:1.25rem}.ag-game-kurodoko .kd-stars{letter-spacing:.2em;color:var(--kd-ink);margin:0;font-size:1.3rem}.ag-game-kurodoko .kd-banner-note{color:var(--muted);margin:6px 0 10px;font-size:.92rem}.ag-game-kurodoko .kd-banner-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ag-game-kurodoko .kd-tour{border:1px solid color-mix(in srgb,var(--cat,var(--accent)) 45%,var(--hairline));background:color-mix(in srgb,var(--cat,var(--accent)) 7%,var(--panel));border-radius:14px;margin:0 0 12px;padding:12px 14px}.ag-game-kurodoko .kd-tour[hidden]{display:none}.ag-game-kurodoko .kd-tour-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.ag-game-kurodoko .kd-tour-title{margin:0;font-size:1rem}.ag-game-kurodoko .kd-tour-count{color:var(--muted);font-size:.8rem;font-weight:700}.ag-game-kurodoko .kd-tour-grid{grid-template-columns:repeat(var(--n),44px);gap:3px;width:max-content;max-width:100%;margin:10px 0;display:grid}.ag-game-kurodoko .kd-mini{border:1px solid var(--hairline);background:var(--panel);width:44px;height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;place-items:center;padding:0;font-weight:800;display:grid}.ag-game-kurodoko .kd-mini.is-black{background:var(--kd-wall);border-color:var(--kd-edge)}.ag-game-kurodoko .kd-mini.is-clue{cursor:default}.ag-game-kurodoko .kd-ask,.ag-game-kurodoko .kd-say{margin:6px 0}.ag-game-kurodoko .kd-say.is-right{color:var(--kd-ok)}.ag-game-kurodoko .kd-say.is-wrong{color:var(--kd-err)}.ag-game-kurodoko .kd-tour-actions{flex-wrap:wrap;gap:8px;display:flex}@keyframes kd-hint{50%{box-shadow:0 0 0 4px var(--focus)}}@keyframes kd-win{50%{transform:scale(1.15)}}@media (width<=520px){.ag-game-kurodoko .kd-grid{gap:2px;width:100%}.ag-game-kurodoko .kd-cell{border-radius:5px}.ag-game-kurodoko .kd-tour-grid{grid-template-columns:repeat(var(--n),40px)}.ag-game-kurodoko .kd-mini{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.ag-game-kurodoko .kd-cell.is-hint,.ag-game-kurodoko .kd-grid.is-won .kd-cell.is-black .kd-block{animation:none}}@media (forced-colors:active){.ag-game-kurodoko .kd-cell{border-color:canvastext}.ag-game-kurodoko .kd-cell.is-wrong,.ag-game-kurodoko .kd-cell.is-error{outline:2px solid highlight}}
