.cj-chess-layout{display:grid;gap:2rem;align-items:start}.cj-chess-board-wrap{width:100%;max-width:720px}.cj-chess-board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;aspect-ratio:1/1;border:2px solid hsl(var(--border));background:hsl(var(--background));user-select:none;touch-action:manipulation}.cj-chess-square{position:relative;display:flex;align-items:center;justify-content:center;border:0;padding:0;aspect-ratio:1/1;font:inherit;cursor:pointer}.cj-chess-square.light{background:#e8dfcf}.cj-chess-square.dark{background:#786452}.dark .cj-chess-square.light{background:#cdbfa9}.dark .cj-chess-square.dark{background:#5a493c}.cj-chess-square.selected{box-shadow:inset 0 0 0 5px hsl(var(--primary))}.cj-chess-square.legal:after{content:"";position:absolute;width:24%;aspect-ratio:1;border-radius:999px;background:rgba(255,34,34,.7);pointer-events:none}.cj-chess-square.capture:after{width:78%;background:transparent;border:4px solid rgba(255,34,34,.78)}.cj-chess-piece{position:relative;z-index:2;font-family:"DejaVu Sans","Segoe UI Symbol","Noto Sans Symbols 2",serif;font-size:clamp(2rem,7.2vw,4.9rem);line-height:1;transform:translateY(-1%)}.cj-chess-piece.white{color:#fff;text-shadow:0 1px 0 #111,1px 0 0 #111,0 -1px 0 #111,-1px 0 0 #111,0 2px 3px rgba(0,0,0,.45)}.cj-chess-piece.black{color:#141414;text-shadow:0 1px 1px rgba(255,255,255,.35)}.cj-chess-coord{position:absolute;z-index:3;font-family:monospace;font-size:9px;font-weight:700;opacity:.65;pointer-events:none}.cj-chess-rank{left:3px;top:2px}.cj-chess-file{right:3px;bottom:2px}.cj-chess-panel{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.cj-chess-big{margin-top:.25rem;font-size:2rem;font-weight:900;letter-spacing:-.04em}.cj-chess-panel-row{display:flex;align-items:center;justify-content:space-between;border-top:2px solid hsl(var(--border));border-bottom:2px solid hsl(var(--border));padding:.9rem 0}.cj-chess-status{min-height:3.75rem;padding:1rem;border:2px solid hsl(var(--border));background:hsl(var(--muted));font-weight:800;line-height:1.45}.cj-chess-status.is-check{border-color:hsl(var(--primary));color:hsl(var(--primary))}.cj-chess-last{font-family:monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground))}.cj-chess-new{border:2px solid hsl(var(--border));background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:.85rem 1.2rem;font-family:monospace;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:4px 4px 0 hsl(var(--border))}.cj-chess-new:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 hsl(var(--border))}.cj-chess-help{font-size:.85rem;line-height:1.55;color:hsl(var(--muted-foreground))}.cj-chess-rules{font-family:monospace;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.cj-chess-thinking .cj-chess-board{opacity:.82}.cj-chess-thinking .cj-chess-square{cursor:wait}@media(min-width:960px){.cj-chess-layout{grid-template-columns:minmax(0,720px) minmax(280px,1fr)}.cj-chess-panel{position:sticky;top:6rem}}@media(max-width:520px){.cj-chess-section{padding-top:3rem;padding-bottom:3rem}.cj-chess-layout{gap:1.25rem}.cj-chess-board{border-width:1px}.cj-chess-square.selected{box-shadow:inset 0 0 0 3px hsl(var(--primary))}.cj-chess-square.capture:after{border-width:3px}.cj-chess-panel{padding:1.1rem}}

/* When [cumjoci_chess] is inserted manually inside the editable guide body,
   let the interactive section break out of the narrow article column and keep
   the same full-width presentation as the automatic placement. */
.cj-editor-blocks > .cj-chess-section,
.cj-editor-blocks .cj-chess-section {
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* v57.17: keep below-the-fold mini-games out of initial mobile render work. */
.cj-chess-section{content-visibility:auto;contain-intrinsic-size:900px;}
