.sdk{--line:oklch(30% .05 330);padding:var(--s4) var(--s3);box-shadow:0 0 0 1px var(--bone-edge),0 10px 30px oklch(20% .04 330/.12);background:#fff;border-radius:14px}@media (width>=700px){.sdk{padding:var(--s5)}}.sdk-top{gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.sdk-meta{gap:var(--s4);color:var(--ink-2);font-weight:700;display:flex}.sdk-main{gap:var(--s5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.sdk-main>*{min-width:0}.sdk-board-wrap{position:relative;overflow-x:auto}.sdk-loading{aspect-ratio:1;border:2px solid var(--line);color:var(--ink-2);background:#fff;border-radius:8px;place-items:center}.sdk-board,.sdk-loading{max-width:560px;display:grid}.sdk-board{grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),auto);-webkit-user-select:none;user-select:none;margin-inline:auto}.v-samurai .sdk-board{min-width:520px;max-width:760px}.cell{all:unset;box-sizing:border-box;aspect-ratio:1;cursor:pointer;color:var(--blue);font-variant-numeric:tabular-nums;background:#fff;border:1px solid oklch(82% .015 330);place-items:center;font-size:clamp(1rem,4.6vw,1.6rem);display:grid;position:relative}.v-samurai .cell{font-size:clamp(.85rem,2.2vw,1.15rem)}.cell.bt{border-top:2px solid var(--line)}.cell.br{border-right:2px solid var(--line)}.cell.bb{border-bottom:2px solid var(--line)}.cell.bl{border-left:2px solid var(--line)}.cell.given{color:var(--ink);font-weight:700}.cell.peer{background:oklch(95.5% .012 330)}.cell.same{background:oklch(90% .05 80)}.cell.hint{background:oklch(92% .06 150)}.cell.sel{background:oklch(86% .1 80)}.cell.bad .val{color:var(--red);text-underline-offset:4px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.cell:focus-visible{outline:3px solid var(--plum-600);outline-offset:-3px;z-index:2}.notes{color:var(--ink-2);grid-template-columns:repeat(3,1fr);font-size:clamp(.5rem,1.9vw,.7rem);line-height:1;display:grid;position:absolute;inset:2px}.notes i{place-items:center;font-style:normal;display:grid}.v-samurai .notes{font-size:.5rem}.k:after{content:"";pointer-events:none;border:0 dashed oklch(45% .07 330);position:absolute;inset:-1px}.kt:after{border-top-width:1.5px;top:3px}.kr:after{border-right-width:1.5px;right:3px}.kb:after{border-bottom-width:1.5px;bottom:3px}.kl:after{border-left-width:1.5px;left:3px}.cage-sum{color:var(--ink);background:inherit;z-index:1;padding-right:1px;font-size:clamp(.55rem,1.9vw,.72rem);font-weight:700;line-height:1.1;position:absolute;top:1px;left:3px}.sdk-won{background:var(--plum-900);color:var(--bone);padding:var(--s5);gap:var(--s3);text-align:center;border-radius:12px;flex-direction:column;align-items:center;min-width:240px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px oklch(10% .03 330/.5)}.sdk-won strong{font-family:var(--font-display);font-size:1.6rem;font-weight:400}.pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;display:grid}.pad-d{min-height:52px;font-size:1.35rem;font-family:var(--font-display);flex-direction:column;gap:0;padding:0;font-weight:400}.pad-d small{font-family:var(--font-body);color:var(--ink-2);font-size:.65rem;font-weight:700}.acts{gap:var(--s3) var(--s2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.acts,.chk{margin-top:var(--s4)}.chk{gap:var(--s2);align-items:center;min-height:44px;font-weight:400;display:flex}.chk input{width:20px;height:20px;accent-color:var(--plum-700)}.hint-box{background:oklch(95% .04 150)}.cage-help,.hint-box{padding:var(--s3) var(--s4);margin-top:var(--s3);border-radius:10px}.cage-help{background:var(--bone-2)}.cage-help p{margin:0 0 var(--s2)}.combo-list{flex-wrap:wrap;gap:6px;display:flex}.combo-list span{border:1px solid var(--bone-edge);letter-spacing:.08em;background:#fff;border-radius:6px;padding:2px 8px;font-weight:700}.combo-list span.out{opacity:.35;text-decoration:line-through}@media (width>=900px){.sdk-main{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.v-samurai .sdk-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.pad{grid-template-columns:repeat(3,minmax(0,1fr))}.pad-d{min-height:64px}}
