:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:500;background:radial-gradient(circle at top left,rgba(255,250,240,.64),transparent 28%),radial-gradient(circle at bottom right,rgba(132,88,52,.16),transparent 26%),linear-gradient(145deg,#f8f1e6,#ece0ce 44%,#dcc6aa);color:#241d18;--page-max: 1420px;--panel: rgba(255, 249, 241, .78);--panel-border: rgba(69, 49, 31, .12);--accent: #27554d;--accent-strong: #17362f;--warm: #a46a36;--warm-strong: #77451f;--shadow: 0 26px 70px rgba(66, 43, 25, .14);--shadow-soft: 0 14px 28px rgba(66, 43, 25, .14);--selected: #27554d;--target: rgba(208, 162, 84, .92);--last-move: rgba(229, 196, 123, .3);--board-frame-bg: linear-gradient(135deg, rgba(255, 239, 210, .08), rgba(0, 0, 0, .08)), url(/Chess/assets/walnut-frame-Cny5OPm4.png) center/cover no-repeat;--board-frame-highlight: rgba(255, 231, 196, .24);--board-frame-shadow: rgba(44, 25, 12, .34);--board-frame-border: rgba(255, 225, 184, .12);--board-grid-shadow: rgba(66, 43, 25, .18);--board-grid-border: rgba(67, 43, 25, .18);--board-surface-bg: url(/Chess/assets/walnut-board-B8PygGFI.png) center/cover no-repeat;--board-preview-bg: var(--board-surface-bg);--board-light-bg: transparent;--board-dark-bg: transparent}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:inherit;background:linear-gradient(120deg,rgba(255,255,255,.42),transparent 24%),linear-gradient(35deg,rgba(148,116,84,.1),transparent 32%),linear-gradient(145deg,#ffffff3d,#dcc6aa2e)}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}#root{min-height:100vh}.app-shell{width:min(100%,var(--page-max));margin:0 auto;padding:1.75rem 1.25rem 3rem}.hero{margin-bottom:.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:#4131238a;margin:0 0 .55rem}.hero h1{margin:0;max-width:16ch;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-size:clamp(2rem,4.8vw,4rem);line-height:.95;letter-spacing:-.03em}.layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.78fr);gap:1.65rem}.card{border:1px solid var(--panel-border);border-radius:1.65rem;background:linear-gradient(145deg,#ffffffbd,#f9f2e7c2),var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.board-panel{position:relative;padding:1.35rem;overflow:hidden}.board-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at top right,rgba(255,255,255,.3),transparent 24%),radial-gradient(circle at bottom left,rgba(136,96,61,.08),transparent 20%);pointer-events:none}.section-heading,.board-actions,.save-form,.save-item,.save-actions,.mode-switch,.editor-controls{display:flex;gap:.75rem}.section-heading,.save-item{justify-content:space-between;align-items:flex-start}.section-heading h2,.section-heading h3,.history-panel h3,.promotion-card h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;letter-spacing:-.02em}.section-heading.compact{margin-top:1rem}.section-heading p,.save-item p,.hint{margin:.3rem 0 0;color:#2d231cad}.board-chip{display:inline-flex;align-items:center;padding:.36rem .72rem;border-radius:999px;background:#ffffff8f;border:1px solid rgba(82,61,45,.08);color:#2d231cb8;font-size:.78rem;box-shadow:inset 0 1px #ffffff7a}.status-badge{display:inline-flex;align-items:center;padding:.34rem .68rem;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.02em}.status-badge.local{background:#5443331a;color:#49382bb8}.status-badge.pending{background:#d0a25429;color:#8b591e}.status-badge.waiting{background:#d6b25d2e;color:#805b15}.status-badge.live{background:#27554d24;color:var(--accent-strong)}.board-stage{min-width:0}.board-stack{display:grid;gap:.85rem;min-width:0}.board-stack .captured-tray,.board-stack .board-frame{margin-top:0}.board-core{display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:.7rem;align-items:stretch}.turn-marker-column{display:grid;grid-template-rows:var(--board-frame-padding) repeat(8,minmax(0,1fr)) var(--board-frame-padding);justify-items:center;align-items:center}.turn-marker-slot{display:flex;justify-content:center;align-items:center;min-height:0}.turn-marker-slot.top{grid-row:2}.turn-marker-slot.bottom{grid-row:9}.turn-marker{display:inline-block;width:1.05rem;height:1.05rem;border-radius:999px;border:1px solid rgba(58,128,102,.2);background:radial-gradient(circle at 35% 35%,#effff7fc,#90f0bef7 42%,#327258fa);box-shadow:inset 0 1px #ffffff6b,0 0 0 .24rem #6ac49a29,0 0 1.15rem #6ac49a66;animation:turn-pill-pulse 1.9s ease-in-out infinite}.captured-tray{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:min(100%,760px);margin:0 auto;padding:.48rem .72rem;border-radius:1rem;border:1px solid rgba(82,61,45,.08);background:linear-gradient(145deg,#ffffffad,#f5ebdd99),#fff8f09e;box-shadow:inset 0 1px #ffffff94}.captured-piece-list{display:flex;align-items:center;justify-content:flex-start;gap:.16rem;flex:1 1 auto;flex-wrap:wrap;min-width:0}.captured-score{display:inline-flex;align-items:center;flex:0 0 auto;padding:.18rem .48rem;border-radius:999px;background:#27554d1f;color:var(--accent-strong);font-size:.78rem;font-weight:800}.captured-empty{color:#48382a8a;font-size:.84rem}.captured-piece-item{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:.6rem}.piece-render.captured-piece{width:100%;height:100%}.captured-piece-item.capture-pop{animation:captured-pop .56s cubic-bezier(.2,.9,.18,1)}@keyframes captured-pop{0%{transform:scale(.7);opacity:0;filter:brightness(1.25)}45%{transform:scale(1.18);opacity:1}to{transform:scale(1);opacity:1;filter:brightness(1)}}@keyframes turn-pill-pulse{0%,to{box-shadow:inset 0 1px #ffffff6b,0 0 0 .24rem #6ac49a29,0 0 1.15rem #6ac49a66}50%{box-shadow:inset 0 1px #ffffff73,0 0 0 .32rem #6ac49a38,0 0 1.45rem #6ac49a75}}.board-frame{--board-frame-padding: 1.1rem;position:relative;padding:var(--board-frame-padding);margin-top:1.2rem;border-radius:1.45rem;background:var(--board-frame-bg);box-shadow:inset 0 1px 0 var(--board-frame-highlight),inset 0 -12px 24px var(--board-frame-shadow),var(--shadow-soft)}.board-frame:before{content:"";position:absolute;inset:.45rem;border-radius:1rem;border:1px solid var(--board-frame-border);pointer-events:none}.board-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:min(100%,760px);margin:0 auto;aspect-ratio:1;border-radius:.85rem;overflow:hidden;background:var(--board-surface-bg);background-size:cover;background-position:center;box-shadow:0 20px 34px var(--board-grid-shadow),inset 0 0 0 1px var(--board-grid-border)}.board-square{position:relative;border:none;padding:0;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:1 / 1;transition:background .16s ease,box-shadow .16s ease}.board-square.light{background:var(--board-light-bg)}.board-square.dark{background:var(--board-dark-bg)}.board-style-walnut{--board-frame-bg: linear-gradient(135deg, rgba(255, 239, 210, .08), rgba(0, 0, 0, .08)), url(/Chess/assets/walnut-frame-Cny5OPm4.png) center/cover no-repeat;--board-frame-highlight: rgba(255, 231, 196, .24);--board-frame-shadow: rgba(44, 25, 12, .34);--board-frame-border: rgba(255, 225, 184, .12);--board-grid-shadow: rgba(66, 43, 25, .18);--board-grid-border: rgba(67, 43, 25, .18);--board-surface-bg: url(/Chess/assets/walnut-board-B8PygGFI.png) center/cover no-repeat;--board-preview-bg: var(--board-surface-bg);--board-light-bg: transparent;--board-dark-bg: transparent}.board-style-rosewood{--board-frame-bg: linear-gradient(135deg, rgba(255, 226, 213, .06), rgba(0, 0, 0, .14)), url(/Chess/assets/rosewood-frame-hZkl3gbu.png) center/cover no-repeat;--board-frame-highlight: rgba(255, 215, 198, .18);--board-frame-shadow: rgba(37, 14, 13, .4);--board-frame-border: rgba(255, 198, 176, .12);--board-grid-shadow: rgba(65, 25, 24, .18);--board-grid-border: rgba(74, 27, 25, .2);--board-surface-bg: url(/Chess/assets/rosewood-board-MRUmh5KF.png) center/cover no-repeat;--board-preview-bg: var(--board-surface-bg);--board-light-bg: transparent;--board-dark-bg: transparent}.board-style-ebony{--board-frame-bg: linear-gradient(135deg, rgba(255, 255, 255, .03), rgba(0, 0, 0, .18)), url(/Chess/assets/ebony-frame-r2PER9FE.png) center/cover no-repeat;--board-frame-highlight: rgba(240, 229, 212, .12);--board-frame-shadow: rgba(7, 6, 5, .44);--board-frame-border: rgba(236, 222, 196, .08);--board-grid-shadow: rgba(28, 21, 16, .18);--board-grid-border: rgba(55, 43, 34, .18);--board-surface-bg: url(/Chess/assets/ebony-board-Cp89jQBp.png) center/cover no-repeat;--board-preview-bg: var(--board-surface-bg);--board-light-bg: transparent;--board-dark-bg: transparent}.board-style-marble-mint{--board-frame-bg: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(0, 0, 0, .1)), url(/Chess/assets/marble-mint-frame-DNFgAXFx.png) center/cover no-repeat;--board-frame-highlight: rgba(255, 255, 255, .2);--board-frame-shadow: rgba(81, 72, 58, .26);--board-frame-border: rgba(255, 255, 255, .16);--board-grid-shadow: rgba(110, 109, 96, .18);--board-grid-border: rgba(159, 168, 160, .16);--board-surface-bg: url(/Chess/assets/marble-mint-board-DsAC1FLB.png) center/cover no-repeat;--board-preview-bg: var(--board-surface-bg);--board-light-bg: transparent;--board-dark-bg: transparent}.board-style-marble-rose{--board-frame-bg: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(0, 0, 0, .12)), url(/Chess/assets/marble-rose-frame-CmO1g_ga.png) center/cover no-repeat;--board-frame-highlight: rgba(255, 255, 255, .18);--board-frame-shadow: rgba(95, 71, 63, .28);--board-frame-border: rgba(255, 243, 240, .14);--board-grid-shadow: rgba(116, 95, 92, .18);--board-grid-border: rgba(177, 147, 150, .18);--board-surface-bg: url(/Chess/assets/marble-rose-board-BpeB_xTF.png) center/cover no-repeat;--board-preview-bg: var(--board-surface-bg);--board-light-bg: transparent;--board-dark-bg: transparent}.board-style-walnut-classic{--board-frame-bg: linear-gradient(135deg, #3f2616 0%, #6c4529 18%, #9a6a43 46%, #70492b 72%, #342012 100%);--board-frame-highlight: rgba(255, 231, 196, .24);--board-frame-shadow: rgba(44, 25, 12, .34);--board-frame-border: rgba(255, 225, 184, .12);--board-grid-shadow: rgba(66, 43, 25, .18);--board-grid-border: rgba(67, 43, 25, .18);--board-surface-bg: transparent;--board-light-bg: linear-gradient(22deg, rgba(255, 255, 255, .05) 0 12%, transparent 12% 28%, rgba(146, 105, 67, .04) 28% 34%, transparent 34% 48%, rgba(255, 255, 255, .04) 48% 62%, transparent 62%), linear-gradient(112deg, rgba(139, 99, 60, .06) 0 10%, transparent 10% 24%, rgba(255, 255, 255, .05) 24% 38%, transparent 38% 100%), linear-gradient(145deg, #f0d9b5 0%, #e4c394 52%, #edd0a7 100%);--board-dark-bg: linear-gradient(28deg, rgba(255, 220, 176, .05) 0 10%, transparent 10% 28%, rgba(66, 41, 21, .1) 28% 42%, transparent 42% 100%), linear-gradient(118deg, rgba(46, 27, 15, .16) 0 12%, transparent 12% 26%, rgba(150, 102, 64, .06) 26% 38%, transparent 38% 100%), linear-gradient(145deg, #a77751 0%, #845536 52%, #71472b 100%);--board-preview-bg: conic-gradient(from 90deg at 50% 50%, #f0d9b5 0 25%, #a77751 0 50%, #a77751 0 75%, #f0d9b5 0 100%)}.board-style-rosewood-classic{--board-frame-bg: linear-gradient(135deg, #2e140f 0%, #5f2723 22%, #8b4039 48%, #5b221d 74%, #25100d 100%);--board-frame-highlight: rgba(255, 215, 198, .18);--board-frame-shadow: rgba(37, 14, 13, .4);--board-frame-border: rgba(255, 198, 176, .12);--board-grid-shadow: rgba(65, 25, 24, .18);--board-grid-border: rgba(74, 27, 25, .2);--board-surface-bg: transparent;--board-light-bg: linear-gradient(26deg, rgba(255, 247, 232, .08) 0 10%, transparent 10% 26%, rgba(170, 112, 90, .04) 26% 40%, transparent 40% 100%), linear-gradient(118deg, rgba(178, 126, 101, .08) 0 10%, transparent 10% 25%, rgba(255, 255, 255, .05) 25% 38%, transparent 38% 100%), linear-gradient(145deg, #f1d8c1 0%, #ddb38f 52%, #ebc8ad 100%);--board-dark-bg: linear-gradient(28deg, rgba(255, 219, 205, .05) 0 8%, transparent 8% 24%, rgba(88, 34, 31, .14) 24% 38%, transparent 38% 100%), linear-gradient(118deg, rgba(60, 18, 18, .18) 0 12%, transparent 12% 28%, rgba(191, 109, 89, .07) 28% 40%, transparent 40% 100%), linear-gradient(145deg, #9a5246 0%, #75362f 52%, #5d2722 100%);--board-preview-bg: conic-gradient(from 90deg at 50% 50%, #f1d8c1 0 25%, #9a5246 0 50%, #9a5246 0 75%, #f1d8c1 0 100%)}.board-style-slate-classic{--board-frame-bg: linear-gradient(135deg, #171c1f 0%, #2d353b 24%, #46535c 50%, #2a3238 76%, #14181b 100%);--board-frame-highlight: rgba(216, 226, 230, .18);--board-frame-shadow: rgba(11, 14, 16, .42);--board-frame-border: rgba(214, 223, 228, .12);--board-grid-shadow: rgba(25, 29, 33, .2);--board-grid-border: rgba(53, 58, 64, .2);--board-surface-bg: transparent;--board-light-bg: linear-gradient(24deg, rgba(255, 255, 255, .06) 0 12%, transparent 12% 28%, rgba(150, 155, 162, .04) 28% 40%, transparent 40% 100%), linear-gradient(112deg, rgba(205, 210, 216, .08) 0 10%, transparent 10% 26%, rgba(255, 255, 255, .05) 26% 40%, transparent 40% 100%), linear-gradient(145deg, #f4f2ed 0%, #dfdbd4 50%, #efede7 100%);--board-dark-bg: linear-gradient(28deg, rgba(229, 237, 240, .04) 0 10%, transparent 10% 24%, rgba(18, 26, 29, .18) 24% 40%, transparent 40% 100%), linear-gradient(118deg, rgba(18, 24, 28, .24) 0 12%, transparent 12% 30%, rgba(102, 118, 124, .08) 30% 42%, transparent 42% 100%), linear-gradient(145deg, #67767d 0%, #4a575d 52%, #39444a 100%);--board-preview-bg: conic-gradient(from 90deg at 50% 50%, #f4f2ed 0 25%, #67767d 0 50%, #67767d 0 75%, #f4f2ed 0 100%)}.board-square:hover{box-shadow:inset 0 0 0 1px #ffffff24}.board-square.selected{box-shadow:inset 0 0 0 4px #145a63eb,inset 0 0 0 999px #145a6314}.board-square.target:after{content:"";position:absolute;width:22%;height:22%;border-radius:999px;background:var(--target);box-shadow:0 0 0 5px #ffffff1f}.board-square.last-move:before{content:"";position:absolute;inset:0;background:var(--last-move)}.piece-render{position:relative;z-index:2;display:inline-grid;place-items:center;width:74%;height:74%;transition:transform .16s ease,filter .16s ease}.board-square:hover .piece-render{transform:translateY(-1px)}.piece-icon{width:100%;height:100%}.piece-image{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.piece-render.style-outline{width:72%;height:72%}.piece-render.style-ornate{width:78%;height:78%}.board-square .piece-render.style-wood,.board-square .piece-render.style-neo-wood{width:86%;height:82%}.piece-render.white{color:#fff8ec;filter:drop-shadow(1px 0 0 rgba(109,74,43,.7)) drop-shadow(-1px 0 0 rgba(109,74,43,.7)) drop-shadow(0 1px 0 rgba(109,74,43,.7)) drop-shadow(0 -1px 0 rgba(109,74,43,.7)) drop-shadow(0 10px 12px rgba(76,48,28,.14))}.piece-render.black{color:#2e1b10;filter:drop-shadow(0 8px 12px rgba(41,24,14,.18))}.piece-render.style-wood.white,.piece-render.style-wood.black,.piece-render.style-neo-wood.white,.piece-render.style-neo-wood.black{filter:drop-shadow(0 10px 12px rgba(38,24,16,.2))}.drag-piece-preview{position:fixed;top:-1000px;left:-1000px;display:grid;place-items:center;pointer-events:none}.drag-piece-preview .piece-render{width:100%;height:100%;transform:none;transition:none}.square-rank,.square-file{position:absolute;z-index:2;font-size:.66rem;font-weight:800;color:#5d432f85;letter-spacing:.08em}.board-square.dark .square-rank,.board-square.dark .square-file{color:#fff7e875}.square-rank{top:.35rem;left:.4rem}.square-file{right:.4rem;bottom:.35rem;text-transform:uppercase}.board-actions{flex-wrap:wrap;margin-top:1.15rem}.side-panel{display:grid;gap:1.5rem}.side-panel .card{padding:1.3rem}.primary-button,.ghost-button,.text-button,.palette-button{border-radius:1rem;border:1px solid transparent;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.primary-button:hover,.ghost-button:hover,.text-button:hover,.palette-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled,.text-button:disabled,.palette-button:disabled{transform:none;opacity:.5;box-shadow:none}.primary-button{padding:.78rem 1.15rem;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;box-shadow:0 14px 20px #183b402e}.ghost-button{padding:.75rem 1rem;border-color:#27554d29;background:#ffffff85;color:var(--accent-strong);box-shadow:inset 0 1px #ffffff8c}.text-button{padding:.4rem .65rem;background:transparent;color:var(--warm-strong)}.mode-switch{margin-top:1rem;flex-wrap:wrap}.online-panel{display:grid;gap:.85rem;margin-top:1rem}.host-seat-panel{display:grid;gap:.55rem}.seat-toggle{display:inline-flex;gap:.4rem;padding:.35rem;border-radius:1rem;background:#ffffff94;box-shadow:inset 0 1px #ffffff94}.join-room-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.join-room-row input,.save-form input{width:100%;min-width:0;padding:.85rem 1rem;border-radius:1rem;border:1px solid rgba(82,61,45,.12);background:#fffc}.online-room-card{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.9rem 1rem;border-radius:1rem;border:1px solid rgba(82,61,45,.08);background:linear-gradient(145deg,#ffffffa8,#f5ebdd8f),#fff8f099}.online-room-card p{margin:.18rem 0 0;color:#2d231cad}.customize-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.customize-panel{margin-top:1rem;padding-top:.25rem}.customize-tabs{display:inline-flex;gap:.4rem;padding:.35rem;border-radius:1rem;background:#ffffff94;box-shadow:inset 0 1px #ffffff94}.customize-tab{padding:.52rem .9rem;border-radius:.8rem;border:1px solid transparent;background:transparent;color:#2d231cb8;font-weight:700}.customize-tab.active{background:#27554d1f;border-color:#27554d2e;color:var(--accent-strong)}.customize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.9rem}.customize-option{display:grid;justify-items:center;gap:.55rem;width:100%;padding:.75rem .65rem;border:1px solid rgba(82,61,45,.1);border-radius:1rem;background:#ffffff8a;text-align:center;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.customize-option:hover{transform:translateY(-1px);box-shadow:0 10px 18px #422b1914}.customize-option.active{border-color:#27554d59;background:linear-gradient(135deg,#27554d1f,#ffffff9e);box-shadow:0 12px 20px #27554d14}.customize-option-label{font-size:.84rem;font-weight:700;line-height:1.2}.board-style-panel,.piece-style-panel{margin-top:1.15rem}.board-style-grid,.piece-style-grid{display:grid;gap:.75rem;margin-top:.9rem}.board-style-button,.piece-style-button{display:flex;align-items:center;gap:.9rem;width:100%;padding:.8rem .95rem;border:1px solid rgba(82,61,45,.1);border-radius:1rem;background:#ffffff8a;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.board-style-button:hover,.piece-style-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #422b1914}.board-style-button.active,.piece-style-button.active{border-color:#27554d59;background:linear-gradient(135deg,#27554d1f,#ffffff9e);box-shadow:0 12px 20px #27554d14}.board-style-preview{display:inline-grid;place-items:center;min-width:6rem;padding:.35rem;border-radius:.9rem;background:var(--board-frame-bg);box-shadow:inset 0 1px 0 var(--board-frame-highlight),inset 0 -8px 16px var(--board-frame-shadow)}.board-style-preview.compact{min-width:0;width:100%;max-width:5.5rem;padding:.28rem;border-radius:.8rem}.board-style-preview-frame{display:block;width:100%;aspect-ratio:1;border-radius:.6rem;overflow:hidden;background:var(--board-preview-bg);background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px var(--board-grid-border)}.piece-style-preview{display:inline-flex;align-items:center;gap:.15rem;min-width:5.8rem}.piece-style-preview .piece-render{width:1.55rem;height:1.55rem}.piece-style-preview.compact{min-width:0;justify-content:center;gap:.08rem}.piece-style-preview.compact .piece-render{width:1.35rem;height:1.35rem}.piece-style-copy{display:grid;gap:.12rem}.piece-style-copy strong{font-size:.94rem}.piece-style-copy span{color:#2d231cad;font-size:.82rem}.editor-palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-top:1rem}.palette-button{display:flex;align-items:center;gap:.65rem;justify-content:flex-start;padding:.8rem .95rem;background:#ffffff8a;border-color:#523d2d14;text-align:left}.palette-button.active{border-color:#285a6057;background:linear-gradient(135deg,#285a601f,#ffffff9e);box-shadow:0 10px 20px #183b4014}.palette-symbol,.promotion-piece{display:inline-grid;place-items:center;width:2.3rem;height:2.3rem}.palette-piece,.promotion-piece{width:100%;height:100%}.erase-symbol{display:inline-grid;place-items:center;width:100%;height:100%;font-size:1.75rem;color:var(--warm-strong);font-weight:600}.editor-controls{flex-wrap:wrap;margin-top:1rem}.hint.ok{color:var(--accent)}.hint.warning{color:var(--warm)}.history-panel{margin-top:1rem}.history-list{margin:.8rem 0 0;padding-left:1.25rem;columns:2}.save-form{align-items:center;margin-top:1rem}.save-list{display:grid;gap:.75rem;margin-top:1rem}.save-item{padding:.85rem .9rem;border-radius:1rem;background:linear-gradient(135deg,#ffffff94,#f6ecde85)}.save-actions{align-items:center}.promotion-modal{position:absolute;inset:0;display:grid;place-items:center;background:#141a1f6b;border-radius:1.65rem;padding:1rem}.promotion-card{width:min(100%,420px);padding:1.3rem;border-radius:1.2rem;background:linear-gradient(145deg,#fffffffa,#f6ede0f5);box-shadow:var(--shadow)}.promotion-options{display:grid;gap:.6rem;margin:1rem 0}@media(max-width:1040px){.layout{grid-template-columns:1fr}.board-core{grid-template-columns:1.35rem minmax(0,1fr);gap:.55rem}.online-room-card{flex-direction:column;align-items:stretch}}@media(max-width:640px){.app-shell{padding:1rem .8rem 2rem}.board-panel,.side-panel .card{padding:1rem}.section-heading,.customize-summary,.captured-tray,.save-form,.save-item,.save-actions,.seat-toggle{flex-direction:column}.join-room-row{grid-template-columns:1fr}.captured-piece-list{justify-content:flex-start}.captured-tray{align-items:flex-start}.customize-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-style-button,.piece-style-button{align-items:flex-start}.board-square.selected{box-shadow:inset 0 0 0 3px #0f4c5ce0}.piece-render{width:78%;height:78%}.history-list{columns:1}}
