:root{font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eeece8;background:#302e2b;font-synthesis:none;font-weight:500}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b5da72;outline-offset:3px}button:disabled{opacity:.4;cursor:default}button{transition:background .15s}button:hover:not(:disabled){filter:brightness(1.08)}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100dvh}.sidebar{background:#262421;padding:32px 16px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;color:#fff;text-decoration:none;font-size:26px;font-weight:850;letter-spacing:-1.3px;padding:0 9px}.brand>span:last-child{color:#a4ce69}.brand-piece{color:#a4ce69;font-size:44px;margin-right:8px}.nav-label{font-size:10px;letter-spacing:1.6px;color:#8c8983;margin:48px 14px 16px}.nav{display:flex;gap:13px;text-align:left;border-radius:7px;background:transparent;padding:16px 14px;color:#aaa7a2;margin:3px 0;font-size:15px;font-weight:700}.nav.active{background:#373c2c;color:#b8da8d;box-shadow:inset 3px 0 #94bb56}.sidebar-bottom{margin-top:auto;display:flex;gap:10px;align-items:center;font-size:14px;padding:20px 8px 0}.avatar{height:38px;width:38px;display:grid;place-items:center;background:#645d4b;border-radius:8px;color:#f5e4ba;font-weight:800}small{display:block}.sidebar-bottom small{font-size:10px;color:#918d86;margin-top:5px}main{padding:40px 40px 20px;max-width:1460px;width:100%;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{color:#a5cb79;font-size:10px;font-weight:800;letter-spacing:2px}h1{font-size:29px;letter-spacing:-1px;margin:9px 0 0;font-weight:800}.local-badge{font-size:11px;color:#a29f97;white-space:nowrap}.local-badge:first-letter{color:#98ba65}.opening-picker{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.opening-card{display:flex;align-items:center;gap:16px;text-align:left;background:#383632;border:1px solid #4b4842;border-radius:10px;padding:19px}.opening-card.chosen{border:1px solid #91b85a;background:#3a3d31;box-shadow:0 0 0 1px #91b85a33}.opening-symbol{font-size:43px;width:52px;height:58px;display:grid;place-items:center;background:#282824;border-radius:8px}.opening-symbol.w{color:#f0e9da}.opening-symbol.b{color:#a9cf7a}.opening-card small{font-size:9px;letter-spacing:1.5px;color:#a8c985;margin-bottom:7px}.opening-card strong{font-size:18px;display:block;letter-spacing:-.3px}.opening-card div>span{color:#aaa79e;font-size:11px;display:block;margin-top:6px}.pick-check{margin-left:auto;color:#accd83}.workspace{display:grid;grid-template-columns:minmax(280px,1.27fr) minmax(310px,1fr);gap:28px;align-items:start}.player{display:flex;align-items:center;gap:10px;margin-bottom:13px;font-weight:700;font-size:13px}.player-icon{font-size:30px;background:#46433d;width:42px;height:42px;display:grid;place-items:center;border-radius:6px}.player small{font-size:10px;color:#a4a097;font-weight:500;margin-top:4px}.turn-label{margin-left:auto;font-size:10px;background:#24231f;padding:7px 10px;border-radius:5px;color:#c8c4bb}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;position:relative;width:100%;border-radius:5px;overflow:hidden;box-shadow:0 8px 22px #0003;touch-action:manipulation}.square{position:relative;display:flex;align-items:center;justify-content:center;padding:0;aspect-ratio:1;border-radius:0;-webkit-user-select:none;user-select:none}.square.light{background:#eeeed2}.square.dark{background:#769656}.square.last.light{background:#f5f590}.square.last.dark{background:#baca44}.square.selected,.square.hint{background:#edc94c!important}.piece{font-family:Arial Unicode MS,Times New Roman,serif;font-size:clamp(30px,4.7vw,76px);line-height:1;z-index:1;cursor:grab}.white-piece{color:#fffdf1;-webkit-text-stroke:1px #38352d;text-shadow:0 2px 1px #0006}.black-piece{color:#292826;-webkit-text-stroke:1px #111;text-shadow:0 1px 0 #ffffff80}.rank,.file{position:absolute;font-size:10px;font-weight:800;z-index:2}.rank{left:4px;top:3px}.file{right:4px;bottom:2px}.light .rank,.light .file{color:#688447}.dark .rank,.dark .file{color:#eff0d7}.dot{position:absolute;border-radius:50%;width:27%;height:27%;background:#20281033;z-index:2;pointer-events:none}.capture-dot{position:absolute;top:3%;right:3%;bottom:3%;left:3%;border:5px solid #20281044;border-radius:50%;z-index:2}.board-toolbar{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:11px;color:#b6b1a8}.board-toolbar button{background:transparent;font-size:23px;padding:4px 10px;color:#b8b4ac}.tip{display:flex;gap:13px;background:#38362f;padding:18px;border-radius:7px;margin-top:9px}.tip>span{color:#abd079;font-size:25px}.tip p{font-size:12px;line-height:1.65;color:#bdb9af;margin:0}.tip strong{display:block;color:#e8e4da;font-size:13px;margin-bottom:4px}.lesson-panel{background:#262421;border-radius:9px;overflow:hidden;padding:22px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading small{font-size:9px;color:#99958b;letter-spacing:1.4px}.panel-heading h2{font-size:20px;letter-spacing:-.5px;margin:8px 0 20px}.lesson-count{font-size:11px;color:#a39e94}.modes{display:flex;background:#1e1d1a;border-radius:6px;padding:4px;gap:3px;margin-bottom:20px}.modes button{flex:1;background:transparent;color:#a19d94;font-size:12px;padding:10px;border-radius:4px}.modes button.on{background:#45433d;color:#faf7f0;box-shadow:0 2px 4px #0002}.instruction{display:flex;gap:12px}.instruction-icon{font-size:26px;color:#a6cc74}.instruction strong{font-size:13px}.instruction p{font-size:11px;color:#aaa59b;line-height:1.6;margin:5px 0 0}.move-list{max-height:190px;min-height:100px;overflow:auto;margin:18px -3px 10px;scrollbar-width:thin;scrollbar-color:#555 #262421}.move-row{display:grid;grid-template-columns:38px 1fr 1fr;padding:7px 10px;font-size:13px;border-radius:4px;align-items:center}.move-row:nth-child(odd){background:#302e29}.move-row>span:first-child{font-size:11px;color:#8e897e}.move-row>span{padding:3px 8px}.future{color:#827e75}.played{color:#ece9dd}.current{color:#c3e291;background:#4b5736;border-radius:4px;font-weight:800}.feedback{font-size:11px;color:#b9b4a9;line-height:1.5;min-height:35px;padding:5px 0}.feedback.success{color:#b5d989}.actions{display:flex;gap:10px;margin:10px 0 25px}.secondary,.primary{border-radius:6px;padding:12px 16px;font-weight:800;font-size:13px}.secondary{background:#45423c;color:#d5d0c5}.primary{background:#83ac47;color:#fff;box-shadow:0 3px #5b7c2e;flex:1;display:flex;justify-content:space-between}.variation-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.variation-heading h3{font-size:13px;margin:0}.variation-heading>span{font-size:10px;color:#999488}.variations{max-height:275px;overflow:auto;scrollbar-width:thin;scrollbar-color:#555 #262421}.variation{display:flex;align-items:center;gap:10px;background:transparent;width:100%;text-align:left;padding:13px 10px;border-radius:6px;font-size:12px;color:#cfcbc1}.variation.selected-line{background:#363c2c;color:#c1dc9a}.line-number{font-size:11px;color:#8b877d;width:22px}.variation small{font-size:9px;color:#989387;margin-top:5px}.variation>span:last-child{margin-left:auto}.page-panel{background:#262421;border-radius:10px;padding:30px;max-width:800px}.page-panel p{line-height:1.7;color:#b5b0a6;max-width:650px}.page-panel h3{margin-top:30px}.page-panel label{display:block}.page-panel input{display:block;font:inherit;color:#fff;background:#3b3831;border:1px solid #666;padding:12px;margin-top:10px;border-radius:6px;width:min(100%,350px)}.progress-line{display:flex;gap:10px;width:100%;text-align:left;background:#35332e;padding:15px;margin:5px 0;border-radius:6px;font-size:13px}.progress-line span{margin-left:auto;color:#b5d989}footer{display:flex;justify-content:space-between;color:#8c877d;font-size:10px;margin-top:28px}footer span{font-size:8px;letter-spacing:2px}.promotion{position:absolute;top:20%;right:5%;bottom:20%;left:5%;background:#262421;z-index:5;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:20px;border-radius:10px;box-shadow:0 5px 50px #0008}.promotion strong{width:100%;text-align:center}.promotion button{background:#4c593a;border-radius:5px;padding:10px;font-size:26px}.promotion button:last-child{font-size:14px}@media(min-width:1500px){.piece{font-size:76px}}@media(max-width:1150px){.shell{grid-template-columns:180px 1fr}main{padding:28px 24px}.brand{font-size:22px}.brand-piece{font-size:35px}.sidebar{padding:25px 10px}.nav{font-size:12px}.workspace{gap:18px;grid-template-columns:minmax(260px,1.1fr) minmax(290px,1fr)}.lesson-panel{padding:17px}.opening-card{padding:13px;gap:10px}.opening-card strong{font-size:16px}h1{font-size:25px}.local-badge{display:none}}@media(max-width:850px){.shell{display:block}.sidebar{position:relative;height:auto;flex-direction:row;align-items:center;padding:12px 20px;gap:8px}.brand{margin-right:auto}.nav{padding:12px;font-size:17px}.nav span,.nav-label,.sidebar-bottom{display:none}.nav.active{box-shadow:none}.workspace{grid-template-columns:1fr 1fr}.piece{font-size:6vw}main{padding:24px 20px}.opening-card strong{font-size:14px}.opening-card div>span{font-size:10px}.opening-symbol{font-size:32px;width:40px}.opening-card small{font-size:8px}.panel-heading h2{font-size:17px}}@media(max-width:650px){.sidebar{padding:max(8px,env(safe-area-inset-top)) 12px 8px}.brand{font-size:22px}.brand-piece{font-size:34px}.nav{padding:10px}main{padding:24px 14px max(20px,env(safe-area-inset-bottom))}header{margin-bottom:22px}.eyebrow{font-size:9px}h1{font-size:24px;letter-spacing:-.7px}.opening-picker{gap:9px;margin-bottom:22px}.opening-card{position:relative;align-items:flex-start;gap:8px;padding:13px 10px}.opening-symbol{display:none}.opening-card strong{font-size:14px;line-height:1.4}.opening-card small{font-size:7px;letter-spacing:1px}.opening-card div>span{font-size:9px;line-height:1.5}.pick-check{position:absolute;top:10px;right:8px;font-size:10px}.workspace{display:flex;flex-direction:column;gap:20px}.board-section,.lesson-panel{width:100%}.board{border-radius:4px}.piece{font-size:11.6vw}.rank,.file{font-size:9px}.tip{padding:13px;margin-top:0}.tip p{font-size:11px}.player{margin-bottom:10px}.lesson-panel{padding:19px}.move-list{max-height:160px}.variations{max-height:310px}.panel-heading h2{font-size:20px}.page-panel{padding:20px}footer{margin-top:24px}.opening-card.chosen{border-color:#9bc260}.square{min-width:0}.instruction p,.feedback{font-size:12px}.variation{font-size:13px;min-height:59px}.variation small{font-size:10px}.modes button{min-height:42px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.haptics-setting{display:flex;gap:20px;align-items:center;margin-bottom:15px}.haptics-setting strong{font-size:14px}.haptics-setting p{font-size:12px;margin:7px 0 0}.haptic-switch{flex-shrink:0;width:50px;height:30px;border-radius:20px;background:#5b574f;padding:4px;margin-left:auto}.haptic-switch span{display:block;width:22px;height:22px;border-radius:50%;background:#f7f4eb;transition:transform .15s}.haptic-switch.enabled{background:#83ac47}.haptic-switch.enabled span{transform:translate(20px)}:root{--app-safe-top:0px;--app-safe-bottom:0px;--app-safe-left:0px;--app-safe-right:0px}.shell{min-height:var(--app-height,100dvh);padding-left:var(--app-safe-left);padding-right:var(--app-safe-right);padding-top:var(--app-safe-top);padding-bottom:var(--app-safe-bottom)}@media(max-width:650px){:root[data-telegram=true] .sidebar{padding-top:8px}:root[data-telegram=true] main{padding-bottom:20px}}
