@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}:root{--bg:#2f2d2a;--panel:#262522;--panel-2:#1f1e1b;--surface:#3a3835;--surface-2:#46433f;--side:#1e1d1b;--line:#3a3835;--border:#ffffff12;--border-strong:#ffffff21;--text:#fff;--text-soft:#ffffffdb;--muted:#a8a6a1;--dim:#7d7b77;--green:#81b64c;--green-hover:#8fc45a;--green-d:#45753c;--on-green:#17210d;--gold:#f6c453;--red:#fa412d;--r-sm:6px;--r-md:10px;--r-lg:14px;--shadow-1:0 1px 2px #00000040;--shadow-2:0 6px 20px #00000047;--ease:cubic-bezier(.2, 0, 0, 1);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45}:root[data-theme=light]{--bg:#f4f3f0;--panel:#fff;--panel-2:#f3f2ef;--surface:#fff;--surface-2:#f1efeb;--side:#1e1d1b;--line:#e4e2dd;--border:#00000012;--border-strong:#00000021;--text:#23211e;--text-soft:#000c;--muted:#66635e;--dim:#97948f;--shadow-1:0 1px 2px #0000000f;--shadow-2:0 6px 20px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] .btn:not(.green):not(.primary),:root[data-theme=light] .icon-btn{background:var(--surface);color:var(--text)}:root[data-theme=light] .seg button.on{color:#2b2926;background:#fff;box-shadow:0 1px 3px #00000026}:root[data-theme=light] .tile:hover{background:#faf9f7}:root[data-theme=light] .move-row:nth-child(odd){background:#f6f5f3}:root[data-theme=light] .mv:hover,:root[data-theme=light] .eline:hover{background:#ecebe8}:root[data-theme=light] .mv.cur{background:#dcdad6}:root[data-theme=light] table.list tr:hover td{background:#f6f5f3}:root[data-theme=light] table.list td{border-bottom-color:#ecebe8}:root[data-theme=light] .clock{color:#8b8987;background:#e6e4e0}:root[data-theme=light] .clock.active{color:#fff;background:#2b2926}:root[data-theme=light] .evalbar{background:#5c5a57}:root[data-theme=light] .switch{background:#cfccc6}:root[data-theme=light] .rush-list span,:root[data-theme=light] .strike{color:#fff}:root[data-theme=light] .strike:not(.x){background:#dcdad6}:root[data-theme=light] .card .stat-big,:root[data-theme=light] h3{color:var(--text)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}.native body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.native :is(input,textarea,pre,.selectable){-webkit-user-select:text;user-select:text}@media (width<=700px){input,select,textarea{font-size:16px}}body{background:var(--bg);color:var(--text)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border-strong);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);border-radius:8px;padding:9px 12px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #81b64c40}input[type=range]{accent-color:var(--green);box-shadow:none;background:0 0;border:0}input[type=checkbox]{accent-color:var(--green)}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0}.app{height:100%;display:flex}.sidebar{color:#fff;background:var(--side);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;gap:2px;width:240px;padding:14px 12px 12px;display:flex;overflow-y:auto}.logo{border-radius:var(--r-md);align-items:center;gap:10px;padding:4px 8px 18px;display:flex}.logo .wordmark{letter-spacing:-.025em;font-size:19px;line-height:1}.logo .wordmark .en{color:#ffffff8c;font-weight:450}.logo .wordmark .pa{color:#fff;font-weight:720}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:#ffffff61;padding:16px 12px 6px;font-size:11px;font-weight:600}.nav-item{color:#ffffffb8;min-height:40px;transition:background .16s var(--ease), color .16s var(--ease);border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:540;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#81b64c24;font-weight:600}.nav-item.active:before{content:"";background:var(--green);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-12px}.nav-item svg{stroke-width:1.9px;flex-shrink:0;width:20px;height:20px}.nav-item.active svg{color:var(--green)}.nav-item.more-btn{display:none}.side-foot{border-top:1px solid #ffffff0f;margin-top:auto;padding-top:12px}.side-account{border-radius:var(--r-md);text-align:left;width:100%;transition:background .16s var(--ease);align-items:center;gap:10px;padding:8px;display:flex}.side-account:hover{background:#ffffff0f}.side-account .who{flex:1;min-width:0}.side-account .nm{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.side-account .st{color:#ffffff80;align-items:center;gap:5px;font-size:12px;display:flex}.main{flex:1;min-width:0;overflow-y:auto}.page{max-width:1120px;margin:0 auto;padding:32px 28px 48px}.side-dot{border:1px solid #7f7f7f8c;border-radius:50%;flex-shrink:0;display:inline-block;box-shadow:inset 0 -1px #00000026}@media (width>=1001px) and (width<=1279px) and (orientation:landscape),(width>=1101px) and (width<=1279px){.sidebar{align-items:stretch;width:72px;padding:14px 10px 12px}.logo{justify-content:center;padding:4px 0 18px}.logo .wordmark,.nav-item .lbl,.side-account .who{display:none}.nav-section{border-top:1px solid #ffffff12;margin:0 10px;padding:10px 0 6px;font-size:0}.nav-section:first-of-type{border-top:0}.nav-item{justify-content:center;padding:0}.nav-item.active:before{left:-10px}.side-account{justify-content:center;padding:6px 0}}.play{justify-content:center;align-items:flex-start;gap:20px;min-height:100%;padding:16px 24px;display:flex}.board-col{gap:8px;display:flex}.board-stack{width:calc(min(calc(100vh - 140px), calc(100vw - 770px)) * var(--board-scale,1));flex-direction:column;gap:6px;min-width:300px;display:flex}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:12px;flex-direction:column;flex-shrink:0;width:420px;height:min(820px,100vh - 32px);display:flex;overflow:hidden}.panel-head{letter-spacing:-.01em;border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:56px;padding:14px 18px;font-size:17px;font-weight:700;display:flex}.panel-body{flex:1;padding:16px;overflow-y:auto}.panel-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.board{aspect-ratio:1;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;border-radius:3px;width:100%;position:relative;overflow:hidden}.sq{width:12.5%;height:12.5%;position:absolute}.hl{animation:fade-in .14s var(--ease);background:#ffff3380;position:absolute;inset:0}.hl.mark{background:#eb6150cc}.check{background:radial-gradient(circle,#ff0000e6 0%,#e7000099 35%,#a9000000 72%);animation:.45s cubic-bezier(.3,1.4,.5,1) check-in;position:absolute;inset:0}@keyframes check-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{transform:none}}.coord{font-size:clamp(9px,1.4vw,13px);font-weight:700;position:absolute}.coord.rank{top:3px;left:4px}.coord.file{bottom:1px;right:4px}.dot{width:32%;height:32%;animation:pop-in .16s var(--ease) backwards;background:#00000024;border-radius:50%;position:absolute;top:34%;left:34%}.ring{animation:fade-in .16s var(--ease);border:6px solid #00000024;border-radius:50%;position:absolute;inset:0}.piece{z-index:5;cursor:grab;pointer-events:none;background-size:100%;width:12.5%;height:12.5%;position:absolute}.piece.dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px #00000059);transition:transform .1s var(--ease);transform:scale(1.1)}.piece.anim{z-index:8;animation:.2s cubic-bezier(.25,.8,.3,1) slide}.piece.anim.back{animation-duration:.16s}.piece.gone{z-index:4;animation:gone .22s var(--ease) forwards}@keyframes slide{0%{transform:translate(var(--dx), var(--dy))}to{transform:none}}@keyframes gone{0%{opacity:1}to{opacity:0;transform:scale(.85)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}@keyframes pop{0%{opacity:0;transform:scale(.3)}70%{transform:scale(1.12)}to{transform:none}}.badge{z-index:15;color:#fff;border-radius:50%;place-items:center;width:4.6%;height:4.6%;font-size:clamp(8px,1.1vw,13px);font-weight:900;animation:.32s cubic-bezier(.3,1.5,.5,1) .12s backwards pop;display:grid;position:absolute;box-shadow:0 2px 3px #0006}.arrows{pointer-events:none;z-index:12;width:100%;height:100%;position:absolute;inset:0}.arrows polygon{animation:fade-in .18s var(--ease)}.promo-wrap{z-index:30;animation:fade-in .15s var(--ease);background:#00000059;position:absolute;inset:0}.promo{background:#fff;border-radius:4px;width:12.5%;animation:.18s cubic-bezier(.3,1.3,.5,1) pop-in;position:absolute;box-shadow:0 4px 12px #00000080}.promo-piece{aspect-ratio:1;cursor:pointer;background-size:100%;width:100%}.promo-piece:hover{background-color:#ddd}.evalbar{background:#403d39;border-radius:3px;flex-shrink:0;width:26px;position:relative;overflow:hidden}.evalbar .white{background:#fff;transition:height .4s;position:absolute;bottom:0;left:0;right:0}.evalbar .lbl{text-align:center;font-size:10px;font-weight:800;position:absolute;left:0;right:0}.player{align-items:center;gap:10px;height:44px;display:flex}.avatar{border-radius:8px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 -2px #0000001f}.pname{align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.pname .elo{color:var(--muted);font-weight:400}.captured{align-items:center;height:18px;display:flex}.captured img{width:18px;height:18px;margin-right:-7px}.captured .adv{color:var(--muted);margin-left:10px;font-size:12px}.clock{color:#8b8987;font-variant-numeric:tabular-nums;border-radius:var(--r-sm);text-align:right;background:#262421;min-width:110px;margin-left:auto;padding:4px 12px;font-size:24px;font-weight:700}.clock.active{color:#1d1c1a;background:#fff}.clock.low{color:#fff;background:#e02828}.moves{font-size:14px}.move-row{grid-template-columns:44px 1fr 1fr;padding:2px 8px;display:grid}.move-row:nth-child(odd){background:#2a2926}.move-row .num{color:var(--dim)}.mv{cursor:pointer;border-radius:3px;align-items:center;gap:5px;width:fit-content;padding:2px 6px;font-weight:600;display:flex}.mv:hover{background:#3a3835}.mv.cur{background:#4b4847;border-bottom:2px solid #6f6d6b}.mv .ic{color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;font-weight:900;display:grid}.btn{white-space:nowrap;border-radius:var(--r-md);background:var(--surface);color:var(--text-soft);border:1px solid var(--border-strong);box-shadow:inset 0 1px 0 #ffffff0f, var(--shadow-1);transition:background .16s var(--ease), border-color .16s var(--ease), transform 80ms var(--ease);justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:620;line-height:20px;display:inline-flex}.btn:hover{background:var(--surface-2);color:var(--text)}.btn:active{transform:translateY(1px)}.btn.green,.btn.primary{background:var(--green);color:var(--on-green);border-color:var(--green-d);box-shadow:inset 0 1px #b2e0688c,inset 0 -2px #45753c73,0 2px 4px #00000024}.btn.green:hover,.btn.primary:hover{background:var(--green-hover);color:var(--on-green)}.btn.primary{border-radius:12px;padding:15px 22px;font-size:18px;font-weight:750}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:default;transform:none}.icon-btn{background:var(--surface);border:1px solid var(--border);width:38px;height:36px;color:var(--text-soft);transition:background .16s var(--ease), color .16s var(--ease);border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:19px;height:19px}.nav-row{border-top:1px solid var(--line);justify-content:center;gap:6px;padding:10px;display:flex}.nav-row .icon-btn{flex:1}.seg{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);gap:3px;padding:3px;display:flex}.seg button{min-width:0;color:var(--muted);transition:background .16s var(--ease), color .16s var(--ease);border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 6px;font-size:13px;font-weight:580;display:inline-flex}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-1)}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:20px}.card h3{letter-spacing:-.01em;margin-bottom:12px;font-size:15px;font-weight:650}.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:background .16s var(--ease), border-color .16s var(--ease), transform .16s var(--ease);align-items:center;gap:14px;padding:16px 18px;display:flex}.tile:hover{border-color:var(--border-strong);background:#2c2a27;transform:translateY(-1px)}.tile .ti{border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 -2px #0000001f}.tile .ti svg{stroke-width:2px;width:22px;height:22px}.tile h3{margin-bottom:1px;font-size:15px;font-weight:650}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px;line-height:1.4}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:10px;display:flex}.spacer{flex:1}.h1{letter-spacing:-.025em;margin-bottom:20px;font-size:28px;font-weight:750}.stat-big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:750}.bot-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.bot-cell{aspect-ratio:1;outline-offset:2px;transition:transform .16s var(--ease), outline-color .16s var(--ease);border-radius:10px;outline:2px solid #0000;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 -3px #00000026}.bot-cell:hover{transform:translateY(-1px)}.bot-cell.on{outline-color:var(--green)}.bot-cell .r{text-shadow:0 1px 2px #000;font-size:10px;font-weight:800;position:absolute;bottom:1px;right:3px}.bot-hero{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:14px;padding:14px;display:flex}.bubble{color:#222;background:#fff;border-radius:10px;padding:8px 12px;font-size:14px;position:relative}.cls-table{border-collapse:collapse;width:100%;font-size:14px}.cls-table td{padding:5px 4px}.cls-table td:first-child,.cls-table td:last-child{text-align:center;width:50px;font-weight:800}.acc-box{color:#222;text-align:center;background:#fff;border-radius:6px;width:90px;padding:8px 0;font-size:22px;font-weight:900}.acc-box.b{color:#fff;background:#403d39}.coach{align-items:flex-start;gap:10px;display:flex}.coach .text{color:#222;box-shadow:var(--shadow-1);background:#fff;border-radius:4px 12px 12px;flex:1;padding:10px 13px;font-size:14.5px;line-height:1.45}.cls-pill{align-items:center;gap:6px;font-weight:800;display:inline-flex}.progress{background:var(--panel-2);height:8px;box-shadow:inset 0 0 0 1px var(--border);border-radius:4px;overflow:hidden}.progress>div{background:var(--green);height:100%;transition:width .2s}.graph{cursor:pointer;border-radius:4px;width:100%;height:80px;display:block}.eline{border-bottom:1px solid var(--line);cursor:pointer;align-items:baseline;gap:8px;padding:6px 8px;font-size:13px;display:flex}.eline:hover{background:#2f2d2a}.eline .sc{text-align:center;color:#222;background:#fff;border-radius:3px;min-width:52px;padding:1px 4px;font-weight:800}.eline .sc.neg{color:#fff;background:#403d39}.eline .pv{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.modal-bg{z-index:100;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border-strong);border-radius:16px;width:min(340px,100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 10px 40px #0009}.modal-top{text-align:center;color:#fff;background:linear-gradient(#4b7a33,#2f4f24);padding:22px}.modal-top.loss{background:linear-gradient(#6a4b3c,#3c2c24)}.modal-top.draw{background:linear-gradient(#555,#333)}.modal-top h2{font-size:26px}.modal-body{flex-direction:column;gap:10px;padding:18px;display:flex}table.list{border-collapse:collapse;width:100%;font-size:14px}table.list th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:8px;font-weight:600}table.list td{border-bottom:1px solid #2c2b28;padding:10px 8px}table.list tr:hover td{background:#2a2926}.res{border-radius:4px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:900;display:inline-grid}.res.w{background:var(--green)}.res.l{background:var(--red)}.res.d{background:#777}.toast{z-index:200;background:#111;border-radius:8px;padding:10px 16px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.puzzle-status{border-radius:8px;align-items:center;gap:10px;padding:16px;font-size:18px;font-weight:800;display:flex}.puzzle-status.ok{background:#3d5b2a}.puzzle-status.bad{background:#6b2a24}.puzzle-status.turn{background:var(--panel-2)}.rush-score{text-align:center;font-size:64px;font-weight:900}.strikes{justify-content:center;gap:6px;display:flex}.strike{background:#3c3a37;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:900;display:grid}.strike.x{background:var(--red)}.rush-list{flex-wrap:wrap;gap:4px;display:flex}.rush-list span{border-radius:4px;place-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:grid}.toggle{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;font-size:14px;display:flex}.switch{background:#4a4845;border-radius:12px;width:44px;height:24px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--green)}.switch.on:after{left:23px}.swatch{border:3px solid #0000;border-radius:6px;grid-template-columns:1fr 1fr;width:56px;height:56px;display:grid;overflow:hidden}.swatch.on,.pset.on{border-color:var(--green)}.pset{background:#3c3a37 50%/80% no-repeat;border:3px solid #0000;border-radius:6px;width:56px;height:56px}@media (width<=1000px),(width<=1100px) and (orientation:portrait){.app{flex-direction:column-reverse}.sidebar{width:100%;padding:0 4px calc(4px + env(safe-area-inset-bottom));border-top:1px solid #ffffff14;border-right:0;flex-direction:row;flex-shrink:0;gap:0;overflow-x:auto}.logo,.side-foot,.nav-section{display:none}.nav-item{border-radius:10px;flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:60px;min-height:58px;padding:6px 4px;font-size:11px;font-weight:560}.nav-item.active{color:#fff;background:0 0}.nav-item.active:before{border-radius:0 0 3px 3px;width:auto;height:3px;inset:0 25% auto}.nav-item svg{width:22px;height:22px}.nav-item:not(.primary){display:none}.nav-item.more-btn{color:#dfdedc;align-items:center;display:flex}.sidebar{overflow:visible}.board-stack{padding-top:0!important}.more-sheet{z-index:90;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0 0 62px}.more-grid{background:var(--side);border-radius:14px 14px 0 0;grid-template-columns:repeat(4,1fr);gap:4px;width:100%;padding:12px;display:grid}.more-item{color:#dfdedc;text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:11px;font-weight:600;display:flex}.more-item.active{color:#fff;background:#2b2a27}.more-item svg{width:22px;height:22px}table.list{font-size:13px}table.list td,table.list th{padding:8px 4px}table.list .act-extra,table.list .col-acc,table.list .col-moves,table.list .col-date{display:none}.card:has(>table.list){padding:10px}.play{gap:12px;padding:12px}.panel{width:300px;height:calc(100dvh - 86px)}.panel .seg button{padding:8px 2px;font-size:12px}.board-stack{width:calc(min(calc(100dvh - 170px), calc(100vw - 370px)) * var(--board-scale,1));min-width:260px}.page{padding:16px}}@media (width<=700px) and (height>=521px),(width<=1100px) and (orientation:portrait){.main:has(>.play){overflow:hidden}.play{flex-flow:column;justify-content:flex-start;align-items:stretch;gap:8px;height:100%;padding:8px 8px 0;overflow:hidden;container-type:size}.board-col{flex:none;justify-content:center;gap:6px}.board-stack{width:min(calc(100cqw - 8px), calc(100cqh - var(--reserve,200px)));gap:4px;min-width:0;padding-top:0!important}.board-col:has(.evalbar) .board-stack{width:min(calc(100cqw - 24px), calc(100cqh - var(--reserve,200px)))}.evalbar{border-radius:5px;width:10px}.evalbar .lbl{display:none}.panel{width:100%;min-height:0;max-width:max(640px, min(calc(100cqw - 8px), calc(100cqh - var(--reserve,200px))));border-bottom:0;border-radius:14px 14px 0 0;flex:1 1 0;height:auto;max-height:none;margin:0 auto}.panel-head{min-height:44px;padding:8px 14px;font-size:15px}.panel-body{padding:10px 12px}.panel-foot{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px}.panel-foot .btn{padding:8px 12px}.panel-foot .btn.primary{padding:12px 16px;font-size:16px}.nav-row{padding:6px 8px}.nav-row .icon-btn{height:34px}.key-move{display:none}.player{gap:8px;height:34px}.player .avatar{width:30px!important;height:30px!important}.player .avatar svg{width:17px;height:17px}.pname{font-size:13px}.captured{height:14px}.captured img{width:14px;height:14px}.clock{min-width:80px;padding:3px 8px;font-size:18px}.play .moves{white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap;padding:2px 0;display:flex;overflow-x:auto}.play .moves::-webkit-scrollbar{display:none}.play .move-row{flex-shrink:0;gap:2px;padding:0 2px;display:flex;background:0 0!important}.play .move-row .num{padding:2px 0 2px 4px}.coach .text{padding:8px 10px;font-size:13.5px}.coach .avatar{width:34px!important;height:34px!important}.puzzle-status{padding:10px 12px;font-size:15px}.rush-score{font-size:40px}.hide-sm{display:none!important}.immersive .sidebar{display:none}}@media (width>=701px){.only-sm{display:none!important}}@media (width<=1100px) and (orientation:portrait) and (width>=701px){.only-sm{display:inline-flex!important}}.key-move{padding:8px 16px 0}.key-move input{width:100%;font-size:13px}.chip{background:var(--line);color:var(--text);cursor:pointer;border:0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.chip:hover{filter:brightness(1.2)}.kbd{background:var(--line);text-align:center;border-bottom:2px solid #0006;border-radius:5px;min-width:22px;padding:2px 7px;font-family:ui-monospace,monospace;font-size:12px;display:inline-block}input,select,textarea{min-width:0;max-width:100%}label.col{min-width:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=400px){.seg button{padding:8px 2px;font-size:12px}}.mv-time{color:var(--dim);margin-left:6px;font-size:10px;font-weight:500}.avatar-pick{outline-offset:0;transition:outline-color .16s var(--ease);border-radius:11px;outline:2px solid #0000;padding:3px}.avatar-pick.on{outline-color:var(--green)}.color-pick{outline-offset:2px;border-radius:50%;outline:2px solid #0000;width:26px;height:26px;box-shadow:inset 0 0 0 1px #ffffff26}.color-pick.on{outline-color:var(--green)}.home-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.eyebrow{color:var(--muted);font-size:13px;font-weight:500}.chip-stat{background:var(--panel);border:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--text-soft);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:620;display:inline-flex}.chip-stat.hot{color:#ff9b3d;border-color:#ff9b3d4d}.home-hero{grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:32px;display:grid}@media (width<=900px){.home-hero{grid-template-columns:1fr}}.hero-play{background:radial-gradient(120% 140% at 100% 0%, #81b64c29, transparent 55%), var(--panel);flex-direction:column;justify-content:space-between;gap:24px;padding:28px;display:flex}.hero-title{letter-spacing:-.02em;font-size:24px;font-weight:720}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:650}.goal{align-items:center;gap:10px;padding:7px 0;font-size:14px;display:flex}.goal.done{color:var(--muted);text-decoration:line-through}.goal:hover span{color:var(--text)}.hero-play{min-height:230px;padding-right:220px;position:relative}.hero-board{pointer-events:none;border-radius:6px;width:176px;position:absolute;top:50%;right:24px;overflow:hidden;transform:translateY(-50%)rotate(-3deg);box-shadow:0 12px 30px #00000073,0 0 0 1px #ffffff14}@media (width<=640px){.hero-play{padding-right:28px}.hero-board{display:none}}.auth-card{padding:32px}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-soft);font-size:13px;font-weight:600}.field small{color:var(--dim);font-size:12px}.pw{display:flex;position:relative}.pw input{flex:1;padding-right:42px}.pw-eye{width:34px;height:34px;color:var(--muted);border-radius:6px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-eye:hover{color:var(--text);background:#ffffff0f}.check{color:var(--text-soft);align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;display:flex}.check input{width:16px;height:16px;margin-top:2px}.form-error{color:#ff8a7a;background:#fa412d1f;border:1px solid #fa412d59;border-radius:8px;padding:10px 12px;font-size:13px}.sync-dot{background:var(--green);border-radius:50%;width:7px;height:7px;display:inline-block}.sync-dot.idle,.sync-dot.syncing{background:var(--gold)}.sync-dot.offline,.sync-dot.error{background:#ff8a7a}.settings-sec{grid-template-columns:200px 1fr;gap:24px;padding:24px;display:grid}.settings-head h3{margin:0 0 4px}.settings-head p{margin:0}.settings-label{color:var(--text-soft);margin-bottom:8px;font-size:13px;font-weight:600}.settings-sec .toggle:last-child{border-bottom:0}.settings-sec .toggle:first-child{padding-top:0}@media (width<=760px){.settings-sec{grid-template-columns:1fr;gap:14px;padding:18px}}.swatch{outline-offset:2px;border:0;border-radius:10px;outline:2px solid #0000;grid-template-columns:1fr 1fr;width:52px;height:52px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #00000026}.pset{background:var(--surface) center/78% no-repeat;border:1px solid var(--border);outline-offset:2px;border-radius:10px;outline:2px solid #0000;width:52px;height:52px}.swatch.on,.pset.on{outline-color:var(--green)}@media (width>=1001px) and (width<=1279px) and (orientation:landscape),(width>=1101px) and (width<=1279px){.board-stack{width:calc(min(calc(100vh - 140px), calc(100vw - 600px)) * var(--board-scale,1))}}@media (width<=700px) and (height>=521px),(width<=1100px) and (orientation:portrait){.clamp-1{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.play .panel>div[style*="padding: 12px 16px 0"]{padding:8px 12px 0!important}.play .panel>div[style*="padding: 12px 16px 0"] .avatar{width:28px!important;height:28px!important}.engine-lines .eline:nth-of-type(n+3){display:none}.play .panel-head .icon-btn{width:34px;height:32px}}.drag-over{pointer-events:none;background:#ffffff1f;position:absolute;inset:0;box-shadow:inset 0 0 0 4px #ffffffa6}@media (pointer:coarse){.drag-over{border-radius:2px;box-shadow:inset 0 0 0 5px #ffffffbf}}.app{height:100dvh;padding-top:env(safe-area-inset-top);box-sizing:border-box}@media (width<=1000px),(width<=1100px) and (orientation:portrait){.play{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}}@media (orientation:landscape) and (height<=520px) and (width<=1000px){:root{--nav-h:62px}.immersive{--nav-h:0px}.immersive .sidebar{display:none}.play{align-items:stretch;gap:10px;height:100%;padding-top:6px;padding-bottom:6px;overflow:hidden}.board-stack{width:min(calc(100dvh - var(--nav-h) - 12px - var(--bars,76px)), calc(100vw - 330px));gap:3px;min-width:180px;padding-top:0!important}.board-stack:not(:has(.player)){--bars:0px}.panel{width:300px;height:calc(100dvh - var(--nav-h) - 12px)}.player{height:34px}.player .avatar{width:28px!important;height:28px!important}.key-move,.panel-head{display:none}}.review-coach{flex:none;padding:12px 16px;overflow:visible}@media (width<=700px) and (height>=521px),(width<=1100px) and (orientation:portrait),(orientation:landscape) and (height<=520px) and (width<=1000px){.review-coach{flex:auto;gap:8px;min-height:0;padding:8px 10px;overflow-y:auto}.review-actions{scrollbar-width:none;overflow-x:auto;flex-wrap:nowrap!important;justify-content:flex-start!important}.review-actions .btn{flex-shrink:0;padding:6px 10px;font-size:13px}.review-moves{flex:none!important;padding:4px 0!important}}.ic{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:900;line-height:1;display:inline-grid}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)scale(.96)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes low-pulse{50%{box-shadow:0 0 0 4px #e0282859}}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}60%{opacity:1}to{opacity:0;transform:translate(var(--x), calc(var(--y) + var(--fall))) rotate(var(--r))}}@keyframes bar-in{0%{opacity:0;transform:scale(0)}}.main>.page{animation:rise-in .28s var(--ease) backwards}.main>.play{animation:fade-in .22s var(--ease) backwards}.stagger>*{animation:rise-in .32s var(--ease) backwards}.stagger>:nth-child(2){animation-delay:30ms}.stagger>:nth-child(3){animation-delay:60ms}.stagger>:nth-child(4){animation-delay:90ms}.stagger>:nth-child(5){animation-delay:.12s}.stagger>:nth-child(6){animation-delay:.15s}.stagger>:nth-child(7){animation-delay:.18s}.stagger>:nth-child(n+8){animation-delay:.21s}.modal-bg{animation:fade-in .18s var(--ease)}.modal{animation:.3s cubic-bezier(.2,.9,.3,1.15) modal-in}.modal-top{position:relative;overflow:hidden}.modal-top h2{animation:.42s cubic-bezier(.3,1.5,.5,1) 80ms backwards pop}.more-sheet{animation:fade-in .18s var(--ease)}.more-grid{animation:sheet-up .3s var(--ease)}.toast{animation:toast-in .24s var(--ease)}.btn,.icon-btn,.seg button,.chip,.bot-cell,.tile,.more-item,.nav-item{transition-property:background,color,border-color,box-shadow,transform,opacity,outline-color;transition-duration:.16s;transition-timing-function:var(--ease)}.btn:active:not(:disabled),.icon-btn:active,.chip:active,.more-item:active{transition-duration:60ms;transform:scale(.97)}.tile:active,.bot-cell:active{transition-duration:60ms;transform:scale(.985)}.nav-item.active:before{animation:bar-in .24s var(--ease)}.puzzle-status{animation:rise-in .22s var(--ease)}.puzzle-status.ok{animation:.34s cubic-bezier(.3,1.5,.5,1) pop}.puzzle-status.bad{animation:.42s cubic-bezier(.36,.07,.19,.97) shake}.strike.x{animation:.34s cubic-bezier(.3,1.5,.5,1) pop}.rush-list span{animation:.28s cubic-bezier(.3,1.5,.5,1) pop}.bump{animation:bump .32s var(--ease);display:inline-block}.clock.low.active,.clock.low{animation:1s ease-in-out infinite low-pulse}.progress>div{transition:width .5s var(--ease)}.evalbar .white{transition:height .45s var(--ease)}.confetti{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:visible}.confetti i{animation:1.3s cubic-bezier(.2,.7,.4,1) forwards confetti;position:absolute;top:45%;left:50%}.pop-big{animation:.5s cubic-bezier(.3,1.6,.5,1) 50ms backwards pop}.route-loading{height:100%;animation:fade-in .2s var(--ease) .25s backwards;place-items:center;display:grid}.route-loading span{border:3px solid var(--border-strong);border-top-color:var(--green);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ti-done{background:var(--green);width:20px;height:20px;color:var(--on-green);box-shadow:0 0 0 2px var(--panel);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-5px;right:-5px}.ti-done svg{width:12px!important;height:12px!important}.hl.fb-ok{background:#81b64c99}.hl.fb-bad{background:#e040308c}.badge.fb{width:5.4%;height:5.4%}.badge.fb.ok{background:var(--green)}.badge.fb.bad{background:#e04030;animation:.32s cubic-bezier(.3,1.5,.5,1) .12s backwards pop,.4s .46s shake}
