@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.cg-wrap{box-sizing:content-box;display:block;position:relative}cg-container{width:100%;height:100%;display:block;position:absolute;top:0}cg-board{-webkit-user-select:none;user-select:none;background-size:cover;width:100%;height:100%;line-height:0;position:absolute;top:0;left:0}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{pointer-events:none;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{z-index:2;will-change:transform;pointer-events:none;background-size:cover;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{pointer-events:none;z-index:2;opacity:.6;width:100%;height:100%;position:relative;top:0;left:0;overflow:hidden}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs,.cg-wrap .cg-shapes-below,.cg-wrap .cg-custom-below{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{opacity:.6;z-index:2;overflow:hidden}.cg-wrap .cg-shapes-below{z-index:1;overflow:hidden}.cg-wrap .cg-custom-below{z-index:1}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg,.cg-wrap .cg-custom-below svg{overflow:visible}.cg-wrap coords{pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px;display:flex;position:absolute}.cg-wrap coords.ranks{flex-flow:column-reverse;width:12px;height:100%;top:-20px;left:4px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{align-items:flex-end;left:-15px}.cg-wrap coords.files{text-transform:uppercase;text-align:center;flex-flow:row;width:100%;height:16px;bottom:-4px;left:24px}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{text-transform:uppercase;text-align:right;flex-flow:column-reverse;width:12.5%;height:100%;bottom:0;left:0}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}cg-board{background-color:#f0d9b5;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgb3BhY2l0eT0iMC4yIi8+CiAgICAgICAgPHVzZSB4PSIxIiB5PSItMSIgaHJlZj0iI2YiIHg6aHJlZj0iI2YiLz4KICAgICAgPC9nPgogICAgICA8dXNlIHg9IjIiIGhyZWY9IiNkIiB4OmhyZWY9IiNkIi8+CiAgICA8L2c+CiAgICA8dXNlIHg9IjQiIGhyZWY9IiNjIiB4OmhyZWY9IiNjIi8+CiAgPC9nPgogIDx1c2UgeT0iMiIgaHJlZj0iI2IiIHg6aHJlZj0iI2IiLz4KPC9nPgo8dXNlIHk9IjQiIGhyZWY9IiNhIiB4OmhyZWY9IiNhIi8+Cjwvc3ZnPg==)}cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d 0,#0000 0)}cg-board square.oc.premove-dest{background:radial-gradient(#0000 0% 80%,#141e5533 80%)}cg-board square.premove-dest:hover,cg-board square.premove-dest.hover{background:#141e5533}cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}cg-board square.current-premove{background-color:#141e5580}.orientation-white .ranks :nth-child(odd),.orientation-white .files :nth-child(2n),.orientation-black .ranks :nth-child(2n),.orientation-black .files :nth-child(odd),coords.squares:nth-of-type(odd) :nth-child(2n),coords.squares:nth-of-type(2n) :nth-child(odd){color:#484848cc}.orientation-white .ranks :nth-child(2n),.orientation-white .files :nth-child(odd),.orientation-black .ranks :nth-child(odd),.orientation-black .files :nth-child(2n),coords.squares:nth-of-type(odd) :nth-child(odd),coords.squares:nth-of-type(2n) :nth-child(2n){color:#fffc}:root{--bg:#18181a;--bg2:#18181a;--bg3:#242427;--toggle-track:#2e2e33;--toggle-pill:#45454b;--line:#313135;--text:#f0efe9;--muted:#a8a7a1;--accent:#e8683a;--hover:#242427;--active:#313135;--active-text:#f0efe9;--link:#f0efe9;--gold:#ffd23f;--error-text:#ff9a90;--graph-bg:#313135;--board:min(calc(100vh - 210px), calc(100vw - 48px), 680px);-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}:root[data-theme=light]{--bg:#fff;--bg2:#fff;--bg3:#f3f3f1;--line:#e4e4e0;--toggle-track:#f3f3f1;--toggle-pill:#fff;--text:#18181a;--muted:#62625d;--accent:#d9562a;--hover:#f3f3f1;--active:#e4e4e0;--active-text:#18181a;--link:#18181a;--gold:#8f6400;--error-text:#b3261e;--graph-bg:#62625d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=black]{--bg:#000;--bg2:#000;--bg3:#161616;--line:#262626;--toggle-track:#222;--toggle-pill:#3a3a3a;--text:#f5f5f5;--muted:#a0a0a0;--accent:#e8683a;--hover:#161616;--active:#262626;--active-text:#f5f5f5;--link:#f5f5f5;--graph-bg:#262626;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=paper]{--bg:#f4f2ec;--bg2:#f4f2ec;--bg3:#e9e6dd;--line:#dcd9cf;--toggle-track:#e9e6dd;--toggle-pill:#f4f2ec;--text:#1c1b18;--muted:#62605a;--accent:#c94f25;--hover:#e9e6dd;--active:#dcd9cf;--active-text:#1c1b18;--link:#1c1b18;--gold:#7d5600;--error-text:#b3261e;--graph-bg:#62605a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] .dot.white,:root[data-theme=paper] .dot.white{border-color:#999}:root[data-theme=light] .pv-eval.w,:root[data-theme=paper] .pv-eval.w{border:1px solid var(--line)}:focus-visible{outline:2px solid var(--text);outline-offset:2px}cg-board square.last-move{background-color:#e8683a42}cg-board square.selected{background-color:#0000002e}cg-board square.move-dest{background:radial-gradient(#00000042 21%,#0000 23%)}cg-board square.oc.move-dest{background:radial-gradient(#0000 0% 80%,#00000038 80%)}cg-board square.move-dest:hover,cg-board square.move-dest.hover{background:#00000024}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.latest-form{align-items:stretch;gap:6px;display:flex}.latest-form select,.latest-form input[type=text]{margin:0;padding:7px 9px}.latest-form input[type=text]{width:170px}.latest-form button,.latest-form select{white-space:nowrap;flex-shrink:0}.latest-form .label-short{display:none}.ghost-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;padding:7px 13px;font-weight:500}.ghost-btn:hover{background:var(--hover)}.link-btn{color:var(--link);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}button:disabled{opacity:.6;cursor:wait}.field-hint{color:var(--muted);margin:8px 0 0;font-size:.8125rem}.form-error{color:var(--error-text);min-height:1.3em;margin:12px 0;font-size:.875rem;font-weight:500}.site-pills{background:var(--bg);border-radius:9px;gap:4px;margin-bottom:10px;padding:3px;display:flex}.site-pill{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:7px;font-weight:600}.site-pill.active{background:var(--bg3);color:var(--text)}.status-line{color:var(--muted);margin:10px 0 0;font-size:.875rem}.status-line:empty{display:none}.games-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.games-head .link-btn{font-size:.875rem}.time-tabs{flex:1;gap:6px;display:flex}.time-tab{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 4px;font-size:.9rem;font-weight:600;display:flex}.time-tab:hover{background:var(--hover)}.time-tab.active{background:var(--text);border-color:var(--text);color:var(--bg)}.time-tab .count{opacity:.85;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:500}.games-list{max-height:400px;margin:0;padding:0;list-style:none;overflow-y:auto}.games-empty{text-align:center;color:var(--muted);padding:18px 6px;font-size:.9rem}.game-row{border:none;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:8px 6px;font-size:.875rem;display:flex}.games-list li:first-child .game-row{border-top:none}.game-row:hover{background:var(--hover)}.game-row .who{flex:1;min-width:0;line-height:1.5}.player-line{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.player-line .dot{width:9px;height:9px;margin-right:6px}.game-row small{color:var(--muted);font-variant-numeric:tabular-nums}.game-row .meta{color:var(--muted);white-space:nowrap;font-size:.8125rem}.drawer-backdrop{z-index:50;background:#00000059;position:fixed;inset:0}.drawer{z-index:51;background:var(--bg2);border-left:1px solid var(--line);width:380px;max-width:92vw;padding:16px 18px;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.drawer.open{transform:none}.drawer-head{justify-content:space-between;align-items:center;display:flex}.drawer-head h2{letter-spacing:-.02em;margin:0;font-size:1.4rem;font-weight:650}.drawer-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:1.1rem}.drawer section{margin-top:18px}.drawer h3{color:var(--muted);margin:0 0 8px;font-size:.8125rem;font-weight:600}.choice-grid{gap:8px;display:grid}.site-grid,.board-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.piece-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:5px;display:flex}.choice:hover{border-color:var(--line)}.choice.selected{border-color:var(--text)}.choice-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;overflow:hidden}.choice.selected .choice-name{color:var(--text);font-weight:600}.board-swatch{aspect-ratio:1;background-position:0 0;background-size:200% 200%;border-radius:4px;width:100%}.site-swatch{border:1px solid var(--line);border-radius:4px;width:100%;height:30px;display:flex;overflow:hidden}.site-swatch i{flex:1}.piece-swatch{border-radius:4px;width:100%;display:flex;overflow:hidden}.piece-swatch img{aspect-ratio:1;width:50%;display:block}.opt{cursor:pointer;justify-content:space-between;align-items:center;padding:7px 0;display:flex}.small{margin-top:18px;font-size:.8125rem}body.no-badges .badge-layer{display:none}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;margin:0;display:flex}button,select,input,textarea{font:inherit;color:inherit}a{color:var(--link)}.hidden{display:none!important}.muted{color:var(--muted)}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:12px 24px;display:flex}.brand{color:var(--text);align-items:center;gap:11px;text-decoration:none;display:inline-flex}.wordmark{letter-spacing:-.025em;font-size:1.55rem;font-weight:500;line-height:1}.logo{width:30px;height:30px;color:var(--text);display:block}.layout{flex-wrap:wrap;flex:1;justify-content:center;align-items:flex-start;gap:24px;padding:18px 24px;display:flex;overflow-x:clip}.board-area{flex-direction:column;gap:6px;display:flex}.board-row{gap:8px;display:flex}.board-wrap{width:var(--board);height:var(--board);position:relative}#board{width:100%;height:100%}.player{align-items:center;gap:8px;min-height:26px;padding:2px 30px;font-weight:600;display:flex}.player .acc{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto}.dot{border:1px solid #777;border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.dot.white{background:#f2f2f2}.dot.black{background:#222}.evalbar{width:22px;height:var(--board);background:#403d39;border-radius:3px;flex-direction:column-reverse;display:flex;position:relative;overflow:hidden}.evalbar.flipped{flex-direction:column}.evalbar-white{transform-origin:bottom;will-change:transform;background:#f0eee9;transition:transform .35s;position:absolute;inset:0;transform:scaleY(.5)}.evalbar.flipped .evalbar-white{transform-origin:top}.evalbar-text{text-align:center;font-size:10px;font-weight:700;position:absolute;left:0;right:0}.evalbar-text.on-white{color:#333;bottom:4px}.evalbar-text.on-black{color:#ddd;top:4px}.evalbar.flipped .evalbar-text.on-white{top:4px;bottom:auto}.evalbar.flipped .evalbar-text.on-black{top:auto;bottom:4px}.controls{justify-content:center;gap:6px;margin-top:4px;padding-left:30px;display:flex}.controls button svg{margin:auto;display:block}.controls button,.io button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;min-width:46px;padding:8px 14px}.controls button:hover,.io button:hover{background:var(--hover)}.badge-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.board-badge{--sq:calc(var(--board) / 8);width:calc(var(--sq) * .4);height:calc(var(--sq) * .4);margin:calc(var(--sq) * -.1) 0 0 calc(var(--sq) * -.1);color:#fff;font-weight:800;font-size:calc(var(--sq) * .2);letter-spacing:-1px;text-shadow:0 1px 1px #00000059;border:2px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;animation:.28s cubic-bezier(.3,1.6,.5,1) .14s both badge-pop;display:flex;position:absolute;box-shadow:0 2px 5px #00000073}.board-badge.cls-glorious,.badge.cls-glorious{border:2px solid #ffd23f;background:radial-gradient(circle at 50% 40%,#8a5a00 0%,#5c3a00 70%)!important}.board-badge.cls-glorious{width:calc(var(--sq) * .48);height:calc(var(--sq) * .48);margin:calc(var(--sq) * -.14) 0 0 calc(var(--sq) * -.14);font-size:calc(var(--sq) * .26);letter-spacing:0;border-width:3px;animation:.32s cubic-bezier(.3,1.6,.5,1) .14s both badge-pop,1.8s ease-in-out .5s infinite gold-glow;box-shadow:0 0 0 2px #ffd23f59,0 0 14px 4px #ffc400bf,0 2px 5px #0006}@keyframes gold-glow{0%,to{box-shadow:0 0 0 2px #ffd23f59,0 0 10px 2px #ffc4008c,0 2px 5px #0006}50%{box-shadow:0 0 0 3px #ffd23f80,0 0 20px 7px #ffc400d9,0 2px 5px #0006}}.board-badge.cls-textbook{font-size:calc(var(--sq) * .2);letter-spacing:0}.badge.cls-glorious,.badge.cls-textbook{padding:0 3px;font-size:.68rem}.gold{color:var(--gold)}.side-toggle{background:var(--toggle-track);border-radius:7px;gap:4px;padding:3px;display:flex}.side-pill{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:7px;padding:6px;font-size:.9rem;font-weight:600;display:flex}.side-pill .dot{width:10px;height:10px}.side-pill.active{background:var(--toggle-pill);color:var(--text)}.ex-title{letter-spacing:-.015em;align-items:baseline;gap:8px;margin:0;font-size:1.1rem;font-weight:650;line-height:1.3;display:flex}.ex-title .eco{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem;font-weight:500}.ex-note{color:var(--muted);margin:8px 0 0;font-size:.9375rem;line-height:1.5}.ex-side+.ex-side{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.ex-side-title{align-items:center;gap:7px;margin:0 0 6px;font-size:.875rem;font-weight:650;display:flex}.ex-side-title .dot{width:10px;height:10px}.ex-line{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:7px 8px;display:block}.ex-line:hover{background:var(--hover)}.ex-moves{font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:550;display:block}.ex-line-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;display:block;overflow:hidden}.ex-empty,.ex-out{color:var(--muted);margin:0;font-size:.875rem}.opening{text-align:left;cursor:pointer;background:var(--bg2);border:1px solid var(--line);border-radius:6px;width:100%;padding:7px 12px;font-size:.88rem}.opening:hover{background:var(--hover)}.opening:before{content:"📖 "}.opening .eco{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px;font-size:.78rem}@keyframes badge-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.promo{z-index:10;background:#0000008c;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.promo button{cursor:pointer;background:#eee;border:none;border-radius:10px;width:84px;height:84px;padding:6px}.promo button img{width:100%;height:100%;display:block}.promo button:hover{background:var(--accent)}.panel{flex-direction:column;gap:10px;width:420px;max-width:100%;display:flex}.tabs{gap:4px;display:flex}.tab{border:none;border-bottom:2px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;flex:1;padding:9px;font-weight:600}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text)}.tab-body{flex-direction:column;gap:10px;display:flex}.card{background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:12px 14px}.card h3{letter-spacing:-.01em;margin:0 0 10px;font-size:1rem;font-weight:650}button.primary{background:var(--text);color:var(--bg);cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-weight:600}button.primary:hover{opacity:.85}select,input[type=text],textarea{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px}textarea,input[type=text]{width:100%;margin-bottom:8px}textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:.85rem}.engine-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.engine-eval{font-variant-numeric:tabular-nums;min-width:64px;font-size:1.35rem;font-weight:700}.engine-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex:1;font-size:.8125rem}.engine-head select{padding:3px 4px;font-size:.8125rem}.pv-lines{flex-direction:column;gap:4px;margin-top:8px;display:flex}.pv-line{white-space:nowrap;gap:8px;font-size:.875rem;line-height:1.5;display:flex;overflow:hidden}.pv-eval{text-align:center;border-radius:4px;flex:none;min-width:52px;height:1.5em;padding:0 4px;font-size:.8rem;font-weight:700}.pv-eval.w{color:#222;background:#e8e6e1}.pv-eval.b{color:#eee;background:#111;border:1px solid #444}.pv-moves{text-overflow:ellipsis;color:var(--muted);overflow:hidden}.pv-move{color:var(--text);cursor:pointer;border-radius:3px;padding:0 1px}.pv-move:hover{background:var(--hover);color:var(--text)}.pv-empty{color:var(--muted)}.switch{flex:none;width:36px;height:20px;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{cursor:pointer;background:#555;border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:before{transform:translate(16px)}.review-head{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.review-head select{padding:0 8px;font-size:.875rem}.review-head select:disabled{opacity:.5;cursor:not-allowed}.review-head .progress{flex-basis:100%}.review-btn{cursor:pointer;background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #f5b301));color:#fff;letter-spacing:.01em;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 35%, transparent);border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;display:flex}.review-btn:hover{filter:brightness(1.08);box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-1px)}.review-btn:active{transform:translateY(0)}.review-btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.review-btn-icon{font-size:1.1rem;line-height:1}.review-btn.running{background:var(--bg3);color:var(--text);box-shadow:none;border:1px solid var(--line)}.review-btn.running .review-btn-icon{display:none}.progress{background:var(--bg);border-radius:4px;flex:1;height:8px;overflow:hidden}#review-progress-bar{background:var(--accent);width:0;height:100%;transition:width .2s}.review-summary{margin-top:12px}.review-head.hidden+.review-summary{margin-top:0}.rs-players{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rs-player{background:var(--bg3);border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px 12px}.rs-name{color:var(--muted);align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.rs-name span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rs-name .dot{width:10px;height:10px}.rs-acc{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.6rem;font-weight:750;line-height:1.1}.rs-acc small{color:var(--muted);margin-left:1px;font-size:.9rem;font-weight:600}.rs-acc-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.6875rem}.rs-bar{background:var(--line);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.rs-bar span{background:var(--accent);border-radius:2px;height:100%;display:block}.rs-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:.875rem}.rs-table tr+tr td{border-top:1px solid var(--line)}.rs-table td{padding:6px 4px}.rs-count{text-align:center;font-variant-numeric:tabular-nums;width:22%;font-size:.95rem;font-weight:700}.rs-count.zero{color:var(--muted);opacity:.45;font-weight:500}.rs-cls{justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.rs-cls .badge{margin-left:0}.eval-graph{width:var(--board);cursor:pointer;border-radius:4px;height:110px;margin:6px 0 0 30px;display:block}.g-bg{fill:var(--graph-bg)}.g-area{fill:#f0efe9}.g-mid{stroke:#888;stroke-width:1px;stroke-dasharray:4 4}.g-cursor{stroke:var(--accent);stroke-width:2px}.move-comment{font-size:.9375rem;line-height:1.6}.move-comment .better{margin-top:6px;font-size:.875rem}.badge{color:#111;text-align:center;vertical-align:middle;border-radius:9px;min-width:18px;margin-left:4px;padding:0 4px;font-size:.72rem;font-weight:800;line-height:16px;display:inline-block}.moves{max-height:260px;padding:4px 0;font-size:.92rem;overflow-y:auto}.moves-empty{color:var(--muted);padding:10px 14px}.mrow{font-variant-numeric:tabular-nums;grid-template-columns:44px 1fr 1fr;display:grid}.mrow .num{color:var(--muted);text-align:right;padding:3px 8px}.mv{cursor:pointer;border-radius:3px;padding:3px 8px}.mv:hover:not(.empty){background:var(--hover)}.mv.empty{cursor:default;color:var(--muted)}.mv.active,.vmv.active{background:var(--active);color:var(--active-text)}.variation{color:var(--muted);padding:4px 12px 4px 52px;font-size:.85rem;line-height:1.7}.vmv{color:var(--text);cursor:pointer;border-radius:3px;padding:0 2px}.vmv:hover{background:var(--hover)}.vclose{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.8rem}.vclose:hover{color:#e66}.io{gap:8px;display:flex}.io button{flex:1;padding:6px;font-size:.85rem}.import-row{gap:6px;display:flex}.import-row input{flex:1;min-width:0;margin-bottom:0}.res{color:#fff;text-align:center;border-radius:4px;flex:none;min-width:42px;padding:2px 4px;font-size:.78rem;font-weight:600}.res.win{background:#23784f}.res.loss{background:#a8362c}.res.draw{background:#666d78}.footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:14px;font-size:.8125rem}.footer p{margin:2px 0}kbd{font:inherit;border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:.75rem}.toast{color:#fff;opacity:0;pointer-events:none;z-index:100;background:#333;border-radius:8px;padding:10px 18px;transition:all .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}cg-container coords{font-weight:600}@media (width<=1100px){:root{--board:min(calc(100vw - 48px), 640px)}.panel{width:calc(var(--board) + 30px)}}@media (width<=760px){.topbar{row-gap:10px}.top-actions{display:contents}#btn-customize{margin-left:auto}.latest-form{flex:1 0 100%;order:2;min-width:0}.latest-form input[type=text]{flex:1;width:auto;min-width:0}}@media (width<=520px){.latest-form .label-long{display:none}.latest-form .label-short{display:inline}.layout{padding:10px}:root{--board:calc(100vw - 50px)}.topbar{padding:10px 14px}.controls{gap:4px;padding-left:0}.controls button{flex:1 1 0;min-width:0;padding:8px 2px}#btn-reset{flex:1.7 1 0;font-size:.8125rem}}
