@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--page-bg: #121316;--panel-bg: rgba(21, 24, 29, .78);--panel-strong: rgba(18, 20, 24, .92);--panel-border: rgba(244, 206, 140, .16);--text-main: #f6edd9;--text-soft: rgba(246, 237, 217, .72);--text-muted: rgba(246, 237, 217, .48);--gold: #e7bc6e;--gold-strong: #f1d59b;--board-dark: #5f3c29;--board-light: #d9b88d;--board-outline: rgba(241, 213, 155, .18);--accent-red: #b64e4e;--shadow-lg: 0 28px 64px rgba(0, 0, 0, .34);--shadow-sm: 0 10px 26px rgba(0, 0, 0, .24)}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--text-main);background:radial-gradient(circle at top left,rgba(188,114,58,.2),transparent 36%),radial-gradient(circle at right center,rgba(84,122,148,.16),transparent 30%),linear-gradient(180deg,#181b20 0%,#101114 100%)}button,input{font:inherit}#root{min-height:100vh}.app-shell{width:min(1380px,calc(100vw - 32px));margin:0 auto;padding:32px 0 48px}.hero{margin-bottom:28px;padding:28px 30px;border:1px solid var(--panel-border);border-radius:28px;background:linear-gradient(135deg,rgba(255,247,224,.04),transparent 60%),var(--panel-bg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero h1,.promotion-card h2,.status-panel h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.95;letter-spacing:.02em}.hero-copy,.panel-copy,.quote-copy,.quote-author{color:var(--text-soft)}.hero-copy{width:min(760px,100%);margin:16px 0 0;font-size:1rem;line-height:1.7}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,400px);gap:24px;align-items:start}.board-column{display:grid;gap:24px}.quote-panel,.panel,.board-frame,.promotion-card{border:1px solid var(--panel-border);border-radius:28px;background:var(--panel-bg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.quote-panel{position:relative;overflow:hidden;padding:22px 24px}.quote-panel:after{content:"";position:absolute;inset:auto -16% -30% auto;width:220px;height:220px;background:radial-gradient(circle,rgba(231,188,110,.14),transparent 66%)}.quote-copy{position:relative;z-index:1;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.8rem;line-height:1.15}.quote-author{position:relative;z-index:1;margin:10px 0 0;font-size:.95rem}.board-shell{display:flex;justify-content:center}.board-frame{width:100%;padding:clamp(16px,3vw,28px);background:radial-gradient(circle at top,rgba(241,213,155,.12),transparent 46%),var(--panel-strong)}.board-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,780px);margin:0 auto;aspect-ratio:1;overflow:hidden;border-radius:20px;border:1px solid var(--board-outline)}.board-square{position:relative;display:grid;place-items:center;padding:0;border:0;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.board-square:hover{transform:translateY(-1px);filter:brightness(1.04)}.board-square:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.square-light{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 60%),var(--board-light)}.square-dark{background:linear-gradient(135deg,rgba(0,0,0,.14),transparent 65%),var(--board-dark)}.piece-glyph{position:relative;z-index:2;font-size:clamp(2.3rem,5vw,4rem);line-height:1;text-shadow:0 6px 18px rgba(0,0,0,.22)}.is-selected{box-shadow:inset 0 0 0 3px #ffffff42}.is-last-move{box-shadow:inset 0 0 0 999px #e7bc6e29}.is-target:after{content:"";position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:2px solid rgba(231,188,110,.92);border-radius:999px}.move-dot{width:14px;height:14px;border-radius:999px;background:rgba(255,248,227,.7)}.is-checked-king{box-shadow:inset 0 0 0 999px #b64e4e6b}.square-rank,.square-file{position:absolute;font-size:.76rem;font-weight:700;color:#0000006b}.square-rank{top:6px;left:7px}.square-file{right:7px;bottom:6px}.sidebar{display:grid;gap:18px}.panel{padding:22px}.status-panel h2{margin-bottom:8px;font-size:2.4rem}.panel-copy{margin:0;font-size:.95rem;line-height:1.65}.control-grid{display:grid;gap:10px}.control-button,.promotion-option{border:1px solid rgba(241,213,155,.16);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));color:var(--text-main);cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.control-button{padding:14px 16px;text-align:left}.control-button:hover,.promotion-option:hover{transform:translateY(-1px);border-color:#f1d59b57;background:linear-gradient(180deg,rgba(231,188,110,.12),rgba(255,255,255,.03))}.capture-group+.capture-group{margin-top:16px}.capture-label{display:inline-block;margin-bottom:10px;color:var(--text-muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.capture-empty{margin:0;color:var(--text-muted)}.capture-strip{display:flex;flex-wrap:wrap;gap:8px}.capture-glyph{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.03);font-size:1.7rem}.move-table{display:grid;grid-template-columns:56px 1fr 1fr;gap:8px 10px;max-height:300px;overflow:auto}.move-table-head{position:sticky;top:0;padding-bottom:6px;color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--panel-bg)}.move-cell{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03)}.turn-cell{color:var(--text-muted)}.promotion-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:rgba(9,10,12,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.promotion-card{width:min(560px,100%);padding:26px}.promotion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.promotion-option{display:grid;gap:8px;justify-items:center;padding:20px 12px 16px}.promotion-symbol{font-size:2.8rem}.promotion-label{text-transform:capitalize}@media (max-width: 1080px){.layout{grid-template-columns:1fr}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.history-panel{grid-column:1 / -1}}@media (max-width: 720px){.app-shell{width:min(100vw - 20px,100%);padding-top:20px}.hero,.panel,.quote-panel,.board-frame,.promotion-card{border-radius:22px}.sidebar{grid-template-columns:1fr}.promotion-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
