.cb-wrap{aspect-ratio:1;border:2px solid #1e90ff;border-radius:8px;width:100%;max-width:360px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 4px #1565c0}.cb{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid}.cb-sq{cursor:default;min-width:0;font:inherit;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}button.cb-sq{cursor:pointer;-webkit-tap-highlight-color:transparent}button.cb-sq:disabled{cursor:default}.cb-sq.light{background:#e8f3ff}.cb-sq.dark{background:#1e90ff}.cb-sq.hi{box-shadow:inset 0 0 0 3px #14347873}.cb-sq.from{background:#f6dc8f}.cb-sq.dark.from{background:#d9b75a}.cb-sq.to{background:#b3d9ff}.cb-sq.dark.to{background:#0b6fd6}.cb-interactive button.cb-sq:not(:disabled):hover{filter:brightness(1.06)}.cb-sq.is-selected{box-shadow:inset 0 0 0 4px #143478}.cb-sq.is-correct{background:#58cc02!important}.cb-sq.is-wrong{background:#ff6b6b!important}.cb-pcw{z-index:1;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cb-slide{animation:.42s cubic-bezier(.22,1,.36,1) cb-slide}@keyframes cb-slide{0%{transform:translate(calc(var(--cb-dx) * 100%), calc(var(--cb-dy) * 100%))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.cb-slide{animation:none}}.cb-pc{font-size:clamp(20px,7.4vw,34px);line-height:1}.cb-w{color:#fff;text-shadow:0 0 1px #334155,0 1px 2px #00000059;-webkit-text-stroke:1px #475569}.cb-b{color:#1a1a2e;text-shadow:0 1px 1px #ffffff40}.cb-dot{background:#14347866;border-radius:50%;width:26%;height:26%}.cb-ring{border:3px solid #14347880;border-radius:50%;position:absolute;inset:8%}.cb-coord{pointer-events:none;z-index:2;font-size:clamp(8px,2.3vw,11px);font-weight:800;line-height:1;position:absolute}.cb-rank{top:3px;left:3px}.cb-file{bottom:2px;right:3px}.cb-sq.light .cb-coord{color:#1e90ff}.cb-sq.dark .cb-coord{color:#e8f3ff}.cb-tag{z-index:3;pointer-events:none;color:#1a1a2e;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:1px 4px;font-size:clamp(8px,2.3vw,11px);font-weight:800;line-height:1.3;position:absolute;top:2px;right:2px;box-shadow:0 1px #94a3b8}.cb-arrows{pointer-events:none;z-index:4;color:#ff8c00d1;width:100%;height:100%;position:absolute;inset:0}.cb-teach .te-body{gap:14px}.cb-caption{text-align:center;flex-direction:column;align-items:center;gap:8px;min-height:96px;animation:.25s cb-fade;display:flex}.cb-move{color:#1a1a2e;letter-spacing:.02em;background:#fff;border:1.5px solid #dbe7f5;border-radius:10px;padding:4px 12px;font-size:15px;font-weight:800;display:inline-block;box-shadow:0 3px #d5e3f4}.cb-move.cb-your-turn{color:#1e90ff;border-color:#9dc8f7;box-shadow:0 3px #9dc8f7}.cb-note{color:#334155;margin:0;font-size:15px;line-height:1.5}@keyframes cb-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cb-caption{animation:none}}.ex-board{width:100%;max-width:340px;margin:4px auto 16px}.cb-puzzle{flex-direction:column;gap:12px;display:flex}.cb-puzzle-bar{background:#fff;border:1.5px solid #dbe7f5;border-radius:12px;align-items:center;gap:10px;min-height:40px;padding:8px 12px;display:flex;box-shadow:0 3px #d5e3f4}.cb-turn{border:2px solid #475569;border-radius:50%;flex:none;width:16px;height:16px}.cb-turn-w{background:#fff}.cb-turn-b{background:#1a1a2e}.cb-puzzle-msg{color:#334155;flex:1;font-size:14px;font-weight:600;line-height:1.4}.cb-puzzle-msg b{color:#1a1a2e;font-weight:800}.cb-reset{font:inherit;color:#64748b;cursor:pointer;background:0 0;border:none;flex:none;padding:4px 6px;font-size:13px;font-weight:700}.cb-reset:hover{color:#1a1a2e}.cb-challenge{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;max-width:380px;margin:0 auto;padding:48px 16px 20px;display:flex}.cb-challenge-title{text-align:center;color:#0f172a;margin:0;font-size:22px}.cb-challenge-ask{text-align:center;color:#475569;justify-content:center;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;line-height:1.45;display:flex}.cb-challenge-count{color:#1e90ff;background:#e8f2ff;border-radius:8px;flex:none;padding:2px 8px;font-size:12px;font-weight:800}.cb-challenge-result{border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:15px;font-weight:800;animation:.25s cb-fade;display:flex}.cb-challenge-result.is-correct{color:#1a8f63;background:#e7f8f0;border:1.5px solid #a7e3c9;box-shadow:0 3px #a7e3c9}.cb-challenge-result.is-wrong{color:#d93636;background:#fff0f0;border:1.5px solid #ffc4c4;box-shadow:0 3px #ffc4c4}.cb-challenge-btn{font:inherit;color:#fff;cursor:pointer;background:#1e90ff;border:none;border-radius:10px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:800;transition:transform .1s,box-shadow .1s;display:inline-flex;box-shadow:0 3px #0b7fde}.cb-challenge-btn:active{transform:translateY(3px);box-shadow:0 0 #0b7fde}.lc{flex-direction:column;gap:8px;width:100%;max-width:380px;margin:0 auto;display:flex}.lc-lemo{text-align:left;align-items:center;gap:10px;min-height:96px;display:flex}.lc-face{flex:none;width:96px;height:96px;animation:.26s ease-out lc-pop;overflow:hidden}.lc-face img{object-fit:cover;mix-blend-mode:multiply;width:100%;height:100%;display:block}.lc-face-thinking{animation:1.1s ease-in-out infinite lc-bob}.lc-face-lost{animation:.42s ease-in-out 2 lc-shake}.lc-face-won{animation:.52s ease-out 2 lc-hop}.lc-bubble{min-width:0;font-family:var(--sans-title,inherit);color:#1a1a2e;text-transform:uppercase;letter-spacing:.02em;background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:10px 14px;font-size:15px;font-weight:700;line-height:1.25;animation:.22s ease-out lc-pop;position:relative;box-shadow:0 3px #e2e8f0}.lc-bubble:before{content:"";background:#fff;border-bottom:2px solid #e2e8f0;border-left:2px solid #e2e8f0;width:14px;height:14px;margin-top:-7px;position:absolute;top:50%;left:-9px;transform:rotate(45deg)}.lc-dots{gap:2px;display:inline-flex}.lc-dots span{animation:1s infinite lc-dot}.lc-dots span:nth-child(2){animation-delay:.15s}.lc-dots span:nth-child(3){animation-delay:.3s}.lc-tray{flex-wrap:wrap;align-items:center;min-height:24px;padding:0 2px;display:flex}.lc .lc-tray-pc{margin-right:-4px;font-size:20px}.lc-status{justify-content:space-between;align-items:center;gap:10px;min-height:36px;padding:0 4px;display:flex}.lc-status-text{color:#64748b;text-align:left;font-size:14px;font-weight:700}.lc-status-text.is-win{color:#16a34a;font-size:16px;font-weight:800}.lc-status-text.is-loss{color:#ea580c;font-size:16px;font-weight:800}.lc-status-text.is-draw{color:#1e90ff;font-size:16px;font-weight:800}.lc-resign{font:inherit;color:#94a3b8;cursor:pointer;background:0 0;border:none;flex:none;padding:4px 6px;font-size:13px;font-weight:700}.lc-resign:hover{color:#ea580c}.lc-foot{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.lc-foot .sc-finish-w{min-width:150px}.lc-rematch-w{--b3-edge:#cbd5e1}.lc-rematch-w .sc-finish{color:#1a1a2e;background:#fff;border:2px solid #e2e8f0}.lc-rematch-w:hover:not(:disabled) .sc-finish{background:#f8fafc}@keyframes lc-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes lc-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes lc-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)rotate(-4deg)}75%{transform:translate(5px)rotate(4deg)}}@keyframes lc-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}@keyframes lc-dot{0%,60%,to{opacity:.25}30%{opacity:1}}@media (prefers-reduced-motion:reduce){.lc-face,.lc-bubble{animation:none!important}}.lc .cb-wrap{max-width:min(360px,max(240px,100dvh - 400px))}.lc-levels{flex-direction:column;gap:10px;width:100%;max-width:420px;display:flex}.lc-level{font:inherit;text-align:left;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;display:flex;box-shadow:0 3px #e2e8f0}.lc-level:hover{background:#f8fafc}.lc-level.is-on{border-color:#1e90ff;box-shadow:0 3px #1e90ff}.lc-level-name{color:#1a1a2e;font-size:16px;font-weight:800}.lc-level-blurb{color:#64748b;font-size:13px;font-weight:600}.lc-level-row{color:#64748b;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.lc-level-row b{color:#1a1a2e}.lc-level-change{font:inherit;color:#1e90ff;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-weight:700}
