/* Schach — scoped to #sdb-game-root. spieldb.de pastel tokens. */
#sdb-game-root{
  --cream:#FDFBF7;--paper:#fff;--rose:#E5989B;--mustard:#FFB347;--deep:#4A4E69;--ink:#22223B;--line:rgba(74,78,105,.12);
  --sq-lt:#F0D9B5;--sq-dk:#B58863;--sq-sel:rgba(246,246,105,.82);--sq-last:rgba(246,246,105,.48);
  --sq-legal:rgba(0,0,0,.22);--sq-check:rgba(229,57,53,.55);
  font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--ink);max-width:560px;margin:0 auto;
}
#sdb-game-root *{box-sizing:border-box;}
.sch-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin-bottom:.75rem;}
.sch-status{font-weight:700;font-size:1rem;min-height:1.4rem;flex:1 1 auto;}
.sch-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.sch-select{font:inherit;font-weight:600;padding:.5rem .85rem;border:2px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer;}
.sch-btn{font:inherit;font-weight:700;padding:.55rem 1.15rem;border:0;border-radius:999px;background:var(--deep);color:#fff;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.sch-btn:hover{transform:translateY(-2px) scale(1.03);}
.sch-btn:focus-visible,.sch-select:focus-visible{outline:3px solid var(--mustard);outline-offset:2px;}
/* Board */
.sch-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;border:4px solid var(--deep);border-radius:.85rem;overflow:hidden;box-shadow:0 8px 32px rgba(34,34,59,.2);}
.sch-sq{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;border:0;padding:0;}
.sch-sq.lt{background:var(--sq-lt);}
.sch-sq.dk{background:var(--sq-dk);}
.sch-sq.sel{background:var(--sq-sel)!important;}
.sch-sq.last{background:var(--sq-last)!important;}
.sch-sq.check{background:var(--sq-check)!important;}
/* Legal move dot */
.sch-sq.legal::before{content:'';position:absolute;border-radius:50%;background:var(--sq-legal);width:30%;height:30%;pointer-events:none;z-index:1;}
/* Legal capture ring */
.sch-sq.legal.cap::before{width:100%;height:100%;border-radius:0;background:transparent;box-shadow:inset 0 0 0 5px var(--sq-legal);}
/* Pieces — Unicode chess glyphs */
.sch-pc{font-size:min(calc(100vw/11),46px);line-height:1;user-select:none;pointer-events:none;position:relative;z-index:2;}
.sch-pc.w{color:#fff;text-shadow:0 0 2px #22223B,0 0 4px #22223B,0 1px 0 rgba(0,0,0,.85);}
.sch-pc.b{color:#1a1224;text-shadow:0 0 2px rgba(255,255,255,.25),0 1px 1px rgba(255,255,255,.15);}
/* Coordinate labels */
.sch-lbl{position:absolute;font-size:min(calc(100vw/55),11px);font-weight:700;opacity:.6;pointer-events:none;line-height:1;}
.sch-lbl.rank{top:3px;left:4px;}
.sch-lbl.file{bottom:2px;right:3px;}
.sch-sq.lt .sch-lbl{color:var(--sq-dk);}
.sch-sq.dk .sch-lbl{color:var(--sq-lt);}
@media(prefers-reduced-motion:reduce){.sch-pc{transition:none!important;}}
