:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#eef1f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{width:min(1200px,100vw - 32px);margin:0 auto;padding:32px 0}.hero{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.hero h1{letter-spacing:-.06em;margin:4px 0 8px;font-size:clamp(2rem,5vw,4rem);line-height:.95}.hero p{color:#5c6678;max-width:680px;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#68758c;margin:0;font-size:.75rem;font-weight:800}.game-layout{--board-size:clamp(320px, calc(100vw - 32px - 304px), 680px);grid-template-columns:var(--board-size) minmax(280px, 1fr);align-items:start;gap:24px;display:grid}.board-wrap{width:var(--board-size);inline-size:var(--board-size);flex:none;justify-self:start;position:relative}.board{aspect-ratio:1;width:var(--board-size);height:var(--board-size);inline-size:var(--board-size);block-size:var(--board-size);min-width:var(--board-size);min-height:var(--board-size);max-width:var(--board-size);max-height:var(--board-size);background:#273349;border-radius:22px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden;box-shadow:0 22px 70px #202d4538,0 0 0 8px #f8fafc}.square{width:calc(var(--board-size) / 8);height:calc(var(--board-size) / 8);min-width:calc(var(--board-size) / 8);min-height:calc(var(--board-size) / 8);max-width:calc(var(--board-size) / 8);max-height:calc(var(--board-size) / 8);cursor:pointer;border:0;place-items:center;padding:0;transition:filter .12s,background .12s;display:grid;position:relative}.square:hover{filter:brightness(1.08)}.board-disabled .square{cursor:not-allowed}.light{background:#f0d9b5}.dark{background:#b58863}.piece{text-align:center;width:100%;font-size:calc(var(--board-size) / 11.5);z-index:2;text-shadow:0 2px 4px #00000038;-webkit-user-select:none;user-select:none;line-height:1;display:block}.white-piece{color:#f9fafb;-webkit-text-stroke:1px #20222847}.black-piece{color:#1b2130;text-shadow:0 1px 2px #ffffff2e}.selected:before,.last-move:before,.check:before{content:"";z-index:1;position:absolute;inset:0}.selected:before{background:#2d72ff5c;box-shadow:inset 0 0 0 4px #2d72ffbf}.last-move:before{background:#ffe65c57}.check:before{background:radial-gradient(circle,#f43f5ecc,#f43f5e40 52%,#0000 72%)}.target-dot{aspect-ratio:1;z-index:3;background:#1923375c;border-radius:999px;width:24%;position:absolute}.capture-dot{background:0 0;border:6px solid #19233752;width:78%}.coord{opacity:.7;z-index:4;pointer-events:none;font-size:clamp(.55rem,1.4vw,.8rem);font-weight:800;position:absolute}.file-label{bottom:4px;right:7px}.rank-label{top:4px;left:7px}.sidebar{gap:16px;min-width:0;display:grid}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #8492a63d;border-radius:20px;padding:20px;box-shadow:0 14px 36px #232d4214}.panel h2{margin:2px 0 8px;font-size:1.2rem}.status-panel{justify-content:space-between;align-items:center;gap:16px;display:flex}.status-detail,.muted{color:#637083;margin:6px 0 0}.feedback{color:#9a3412;margin:10px 0 0;font-weight:700}.reset-button,.promotion-options button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:999px;padding:10px 16px;font-weight:800;box-shadow:0 8px 20px #1720332e}.reset-button:hover,.promotion-options button:hover{background:#2d72ff}.move-history{max-height:360px;overflow:auto}.move-list{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.move-row{background:#f4f6f9;border-radius:12px;grid-template-columns:44px 1fr 1fr;align-items:center;gap:8px;padding:9px 10px;display:grid}.move-number{color:#798599;font-weight:800}.move-san{text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-weight:800;overflow:hidden}.black-move{color:#364153}.help-panel ul{color:#5c6678;margin:10px 0 0;padding-left:20px}.help-panel li+li{margin-top:8px}.promotion-popover{inset-inline:max(12px,8%);z-index:10;text-align:center;background:#fffffff0;border:1px solid #8492a65c;border-radius:20px;padding:20px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 26px 70px #141c2c47}.promotion-popover p{margin-top:0;font-weight:800}.promotion-options{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.promotion-options span{vertical-align:middle;font-size:1.45rem}@media (width<=900px){.game-layout{--board-size:min(680px, calc(100vw - 32px));grid-template-columns:1fr}.board-wrap{justify-self:center}.hero{display:block}.status-panel{align-items:flex-start}}@media (width<=520px){.app-shell{width:min(100vw - 18px,1200px);padding:18px 0}.game-layout{--board-size:calc(100vw - 18px)}.board{border-radius:14px;box-shadow:0 14px 34px #202d4533,0 0 0 4px #f8fafc}.panel{border-radius:16px;padding:16px}.status-panel{flex-direction:column}.reset-button{width:100%}}
