.cp{display:grid;justify-items:center;gap:10px;width:100%}.cp-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;color:var(--bk-ink-soft);font-size:.9rem}.cp-board{grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,560px,calc(100svh - 280px));min-width:min(100%,320px);overflow:hidden;border-radius:10px;box-shadow:var(--bk-shadow);touch-action:manipulation;user-select:none;-webkit-user-select:none}.cp-board,.cp-sq{display:grid;aspect-ratio:1}.cp-sq{position:relative;place-items:center;min-width:0;padding:0;border:0;cursor:pointer}.cp-sq.is-light{background:#eef2e6}.cp-sq.is-dark{background:#7b9c7e}.cp-sq.is-last.is-light{background:#f3e7a8}.cp-sq.is-last.is-dark{background:#c9b95c}.cp-sq.is-selected{box-shadow:inset 0 0 0 4px #1d5fa8}.cp-sq.is-hint{box-shadow:inset 0 0 0 4px #d9822b}.cp-sq img{width:88%;height:88%;pointer-events:none}.cp-sq.is-target:after{content:"";position:absolute;width:28%;height:28%;border-radius:50%;background:rgb(7 18 38/.28)}.cp-sq.is-capture:after{content:"";position:absolute;inset:4%;border:4px solid rgb(7 18 38/.3);border-radius:50%}.cp-sq:focus-visible{outline:3px solid var(--bk-sun);outline-offset:-3px;z-index:1}.cp-file,.cp-rank{position:absolute;font:700 .62rem/1 var(--font-inter),sans-serif;color:rgb(7 18 38/.55);pointer-events:none}.cp-rank{top:3px;left:4px}.cp-file{right:4px;bottom:3px}.cp-msg{max-width:46ch;min-height:2.8em;margin:0;text-align:center;line-height:1.4}.cp-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px}.cp-actions button{min-height:44px;padding:0 18px;border:1px solid var(--bk-line);border-radius:999px;background:#fff;color:var(--bk-ink);font:650 .9rem/1 var(--font-inter),sans-serif;cursor:pointer}.cp-actions button.is-primary{border-color:var(--bk-sea);background:var(--bk-sea);color:#fff}.cp-actions button:disabled{opacity:.5;cursor:default}.cp-id,.cp-note{margin:0;color:var(--bk-ink-soft);font-size:.8rem;text-align:center}.cp-loading{min-height:320px;display:grid;place-items:center}body:has(.cp) .pet-character,body:has(.cp) .pet-recall{visibility:hidden;pointer-events:none}body:has(.cp) .pet-character *{animation-play-state:paused}