@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/unbounded-cyrillic-600-normal-DW6uzIMB.woff2) format("woff2"),url(/assets/unbounded-cyrillic-600-normal-B-s5c2Kn.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/unbounded-latin-600-normal-oRSANpZr.woff2) format("woff2"),url(/assets/unbounded-latin-600-normal-BPdB_PEv.woff) format("woff")}.account-card{background:linear-gradient(145deg,#f0f6ff,#fff 65%);border:1px solid #dce7f7;border-radius:28px;padding:28px;margin:24px 0 32px;box-shadow:0 12px 35px #39588908;max-width:680px}.account-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.account-symbol{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#e0edff;color:#326ed7;flex-shrink:0}.account-kicker{font-size:10px;font-weight:800;letter-spacing:1.4px;line-height:1.6}.account-badge{margin-left:auto;padding:6px 10px;background:#fff9;border:1px solid #dce6f4;border-radius:20px;font-size:11px;color:#64748b}.account-card h2{font-size:27px;letter-spacing:-1px;line-height:1.2;margin:0 0 12px;overflow-wrap:anywhere}.account-intro{color:#65718a;font-size:14px;line-height:1.65;margin:0 0 24px}.account-label{display:block;font-size:12px;font-weight:750;margin:0 0 8px}.account-card input:not([type=checkbox]){box-sizing:border-box;width:100%;min-height:54px;border:1px solid #d7e1ef;border-radius:14px;background:#fff;color:#223049;font:inherit;font-size:16px;padding:13px 16px;outline-offset:3px}.account-primary{margin-top:12px}.account-card button{min-height:44px}.account-card button:disabled{opacity:.5;cursor:default}.account-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#8490a3;font-size:12px}.account-divider:before,.account-divider:after{content:"";height:1px;background:#e3e9f0;flex:1}.account-merge{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.5;margin-top:16px;min-height:44px;color:#56637b}.account-merge input{width:20px;height:20px;flex-shrink:0;accent-color:#3479e7}.account-footnote{font-size:12px;line-height:1.6;color:#7e899b;margin:16px 0}.account-status{display:flex;align-items:center;gap:9px;padding:14px 0;color:#4c7791;font-size:12px;line-height:1.5}.account-status>svg{flex-shrink:0}.account-status button{margin-left:auto;border:0;background:#eaf1fa;border-radius:12px;min-width:44px;color:#396dba}.account-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.account-error{font-size:13px;line-height:1.5;background:#fff0e8;padding:13px;border-radius:12px;color:#94501f}.account-explainer{border-top:1px solid #e1e9f3;padding-top:6px;margin-top:8px;font-size:12px;color:#748197;line-height:1.6}.account-explainer summary{cursor:pointer;padding:12px 0;font-weight:700;color:#56677f}.account-explainer p{margin:8px 0 14px}.account-home-link{display:flex;gap:12px;align-items:center;width:100%;border:1px solid #dce7f7;border-radius:18px;background:#f1f6ff;padding:16px 18px;text-align:left;color:#285da9;margin:0 0 22px;font:inherit}.account-home-link span{flex:1}.account-home-link strong{display:block;font-size:13px}.account-home-link small{display:block;margin-top:4px;font-size:11px;color:#70829a}@media(max-width:760px){.account-card{padding:22px 19px;border-radius:24px;margin-top:20px}.account-card h2{font-size:26px}.account-kicker{font-size:9px;letter-spacing:1px}.account-heading{gap:9px}.account-symbol{width:48px;height:48px;border-radius:16px}.account-badge{font-size:10px;padding:5px 8px}.account-card .primary,.account-card .secondary{min-height:52px}}:root{font-family:Manrope Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c222a;background:#f4f6f9;font-synthesis:none;font-weight:500;--bg:oklch(.973 .005 256);--surface:oklch(1 0 0);--ink:oklch(.25 .018 256);--muted:oklch(.52 .023 256);--primary:oklch(.54 .19 256);--blue-light:oklch(.95 .024 256);--line:oklch(.92 .008 256);--green:oklch(.47 .105 158);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;border:0;background:none}button,a{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid oklch(.65 .17 256)}button:disabled{cursor:default;opacity:.48}button:not(:disabled),a{transition:background .18s,color .18s,box-shadow .18s,transform .18s}button:not(:disabled):active{transform:scale(.98)}a{color:var(--primary)}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:32px;line-height:1.28;font-weight:800;letter-spacing:-.04em}h2{font-size:23px;line-height:1.4;font-weight:750;letter-spacing:-.035em}h3{font-size:15px;line-height:1.5;font-weight:750;letter-spacing:-.02em}p{color:var(--muted);font-size:14px;line-height:1.8;text-wrap:pretty}small{font-size:11px;line-height:1.6}svg{flex-shrink:0}button{min-height:44px}strong{font-weight:750}.app-shell{max-width:1920px;margin:auto}.sidebar{width:236px;position:fixed;top:0;bottom:0;display:flex;flex-direction:column;padding:37px 20px 20px;border-right:1px solid var(--line);background:#fdfdfd;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:0 9px;text-align:left;font-size:20px;font-weight:800;letter-spacing:-.06em;white-space:nowrap}.brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:43px;background:var(--primary);border-radius:12px;box-shadow:0 4px 8px #1161bb26}.brand-mark img{width:35px;filter:drop-shadow(0 2px 1px oklch(.2 .02 256 / .15))}.brand-sub{display:block;font-size:8px;font-weight:700;letter-spacing:.16em;color:var(--muted);margin-top:6px}.sidebar-heading{margin:48px 12px 15px;font-size:9px;letter-spacing:.11em;font-weight:700;color:var(--muted)}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;font-size:13px;font-weight:650;min-height:47px;padding:12px 14px;border-radius:10px;color:var(--muted);width:100%}.nav-item:hover{background:var(--bg);color:var(--ink)}.nav-item.active{background:var(--blue-light);color:var(--primary)}.nav-item.active svg{stroke-width:2.2}.nav-item b{margin-left:auto;font-size:11px}.sidebar-bottom{margin-top:auto;padding-top:45px}.sidebar-progress{padding:16px 13px 18px;display:grid;grid-template-columns:36px 1fr;gap:12px 9px;background:var(--bg);border-radius:12px;margin-bottom:15px}.tiny-knight{border-radius:10px;background:#fff;width:34px;height:38px;display:grid;place-items:center}.tiny-knight img{width:29px}.sidebar-progress strong{font-size:12px}.sidebar-progress span:not(.slim-progress span){display:block;color:var(--muted);font-size:10px;margin-top:4px}.sidebar-progress small{grid-column:1/-1;color:var(--muted);font-size:9px;margin-top:-6px}.slim-progress{height:5px;border-radius:8px;background:#dde2e8;overflow:hidden;grid-column:1/-1}.slim-progress>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .6s var(--ease)}.sidebar-bottom>.nav-item{font-size:11px;gap:10px;padding:10px}.sidebar-footnote{font-size:8px;color:var(--muted);padding:19px 10px 0;display:flex;align-items:center;gap:6px}.status-dot{width:5px;height:5px;border-radius:50%;background:#17a664}.main-shell{margin-left:236px}.topbar{height:89px;padding:0 43px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;gap:14px;align-items:center;font-size:11px;color:var(--muted)}.breadcrumb strong{font-weight:600;color:var(--ink)}.topbar-right{display:flex;align-items:center;gap:22px}.streak{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:700}.streak svg{color:#e46212;fill:#ffe6d2;fill:oklch(.94 .04 60)}.streak span{font-size:10px;font-weight:500;color:var(--muted);margin-left:2px}.profile-button{width:34px;height:34px;min-height:34px;background:#d4dfef;color:#244877;border-radius:50%;font-size:12px;font-weight:800;border:3px solid white}.profile-button.large{display:grid;place-items:center;width:60px;height:60px;font-size:20px}.mobile-brand,.mobile-nav{display:none}main{max-width:1460px;margin:auto;padding:38px 43px 0;outline:none!important}.welcome-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.greeting{display:block;font-size:9px;font-weight:750;letter-spacing:.14em;color:var(--muted);margin-bottom:12px}.welcome-header h1{font-size:29px}.welcome-header p{font-size:12px;margin-top:9px}.date-label{font-size:10px;color:var(--muted);white-space:nowrap;align-self:flex-end;padding-bottom:4px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:24px}.home-primary{min-width:0}.hero-card{position:relative;min-height:327px;border-radius:16px;overflow:hidden;background:#dfecfd;isolation:isolate}.hero-copy{position:relative;z-index:2;width:58%;padding:30px 0 74px 29px;pointer-events:none}.hero-copy button{pointer-events:auto}.hero-tag{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:.1em;font-weight:750;color:#1f4a82}.hero-tag>span{width:5px;height:5px;border-radius:50%;background:var(--primary)}.hero-copy h2{font-size:32px;white-space:pre-line;line-height:1.23;letter-spacing:-.04em;margin:17px 0 12px;font-weight:800;max-width:370px}.hero-copy p{font-size:11px;white-space:pre-line;color:#41546d;line-height:1.85}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:44px;border-radius:10px;padding:12px 19px;font-size:12px;font-weight:700;text-align:center}.primary{background:var(--primary);color:#fff;box-shadow:0 4px 8px #1161bb26}.primary:hover{background:#005ab8;background:oklch(.48 .19 256)}.secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:var(--blue-light);border-color:#b1cdf2}.hero-copy .primary{margin-top:23px;font-size:11px;min-height:42px;padding:12px 16px}.hero-meta{display:flex;align-items:center;gap:6px;font-size:9px;color:#49596e;margin-top:12px}.hero-art{position:absolute;width:61%;height:92%;right:-8%;top:0;z-index:0;display:grid;place-items:center;pointer-events:none}.hero-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(to right,transparent,black 20%,black 100%);mask-image:linear-gradient(to right,transparent,black 20%,black 100%)}.hero-art-fallback{width:72%;transform:perspective(600px) rotateX(40deg) rotate(-25deg);opacity:.13}.hero-art:has(img[src]) .hero-art-fallback{opacity:.1}.hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:14px 28px;background:#eff6ffcc;border-top:1px solid oklch(.98 .005 256);z-index:3}.hero-bottom span{display:flex;gap:6px;align-items:center;font-size:8px;color:#405169}.hero-bottom svg{color:#597fb2}.section-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.section-header p{margin-top:10px;max-width:64ch}.section-header.small{margin:27px 0 15px}.section-header.small h2{font-size:17px;letter-spacing:-.025em}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:650;min-height:36px;color:var(--primary);padding:6px 0}.text-button:hover{color:#004495;color:oklch(.4 .17 256)}.journey-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.journey-step{position:relative;display:block;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px 13px;text-align:left;min-width:0;overflow:hidden}.journey-step:hover{border-color:#8eadd7;transform:translateY(-3px)}.journey-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--blue-light);margin-bottom:16px}.journey-icon img{width:37px;filter:drop-shadow(1px 3px 1px oklch(.2 .04 256 / .15))}.journey-step.violet .journey-icon{background:#f0ecfc}.journey-step.green .journey-icon{background:#ddf5e9}.journey-step.orange .journey-icon{background:#ffeedf;background:oklch(.96 .03 65)}.step-count{font-size:8px;color:var(--muted)}.journey-step h3{font-size:11px;margin:5px 0;white-space:nowrap;letter-spacing:-.035em}.journey-step p{font-size:9px}.step-footer{margin-top:17px;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:8px;color:var(--muted)}.journey-step:first-child .step-footer{color:var(--primary)}.activity-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.activity-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;display:flex;gap:13px;padding:20px 16px;text-align:left;align-items:flex-start}.activity-card:hover{background:#f9fbfe}.activity-icon{width:42px;height:42px;border-radius:12px;background:#e4f3ea;display:grid;place-items:center;flex-shrink:0;color:#337956}.play-card .activity-icon{background:#ebedff;background:oklch(.95 .025 280);color:#686bb9}.activity-card h3{font-size:11px}.activity-card p{font-size:9px;margin-top:6px}.activity-card span{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--primary);margin-top:13px}.home-aside{display:flex;flex-direction:column;gap:19px}.daily-plan{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:22px 19px 17px}.aside-title{display:flex;align-items:center;justify-content:space-between}.aside-title h3{font-size:11px}.sun-icon{font-size:20px;color:#df911a}.daily-ring{width:116px;height:116px;margin:22px auto 17px;border-radius:50%;padding:7px;background:conic-gradient(var(--primary) var(--progress),oklch(.94 .008 256) 0);transform:rotate(-35deg)}.daily-ring>div{height:100%;background:#fff;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(35deg)}.daily-ring strong{font-size:32px;letter-spacing:-.04em;font-weight:800;line-height:1.4}.daily-ring strong span{font-size:17px;color:#85909f;font-weight:500}.daily-ring small{font-size:8px;color:var(--muted)}.daily-plan>p{text-align:center;font-size:10px;line-height:1.8}.daily-task{display:flex;align-items:center;gap:9px;padding:16px 0 0;border-top:1px solid var(--line);margin-top:22px;width:100%;text-align:left}.task-checkbox{width:17px;height:17px;border:1px solid oklch(.78 .025 256);border-radius:5px;display:grid;place-items:center;flex-shrink:0}.daily-task>span:nth-child(2){font-size:10px;flex:1}.daily-task small{font-size:8px;color:var(--muted);display:block;margin-top:5px}.daily-task.done .task-checkbox{background:var(--green);color:#fff;border:0}.coach-tip{padding:20px;background:#e2edfc;border-radius:14px}.coach-label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750;color:var(--primary)}.coach-tip h3{font-size:16px;line-height:1.5;margin:16px 0 8px}.coach-tip p{font-size:10px;line-height:1.9;color:#445162}.tip-footer{display:flex;gap:6px;align-items:center;font-size:8px;color:#546274;margin-top:20px}.coach-dot{width:5px;height:5px;background:#6191d1;border-radius:50%}.install-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 14px;display:flex;gap:11px;text-align:left}.install-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:45px;border-radius:9px;background:var(--bg);color:#5a6a80}.install-card h3{font-size:11px}.install-card p{font-size:9px;line-height:1.65;margin-top:5px}.install-card span{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--primary);margin-top:9px}.privacy-note{font-size:8px;line-height:1.9;color:var(--muted);text-align:center}.privacy-note svg{display:inline;vertical-align:middle;margin-right:5px}.main-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;margin-top:35px;border-top:1px solid var(--line);color:var(--muted);font-size:8px}.main-footer>span:first-child{font-weight:800;font-size:12px;letter-spacing:-.045em;color:#4b5666}.eyebrow{display:block;color:var(--muted);font-size:11px;margin-bottom:11px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:7px;font-size:10px;font-weight:650;white-space:nowrap}.blue{background:var(--blue-light);color:var(--primary)}.green{background:#dbf2e4;color:var(--green)}.neutral{background:#e4e8ed;color:var(--muted)}.muted{color:var(--muted)}.full-width{width:100%}.compact{min-height:38px;padding:8px 13px;font-size:11px}.back-button{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;padding:0;margin-bottom:19px}.back-button:hover{color:var(--primary)}.gentle-note{display:flex;align-items:flex-start;gap:10px;padding:17px;background:var(--blue-light);border-radius:10px;color:#344965;font-size:12px;line-height:1.8}.gentle-note svg{margin-top:2px;color:var(--primary)}.course-progress{display:flex;align-items:center;gap:20px;margin-bottom:25px}.course-progress>.slim-progress{flex:1}.course-progress>span{font-size:11px;color:var(--muted)}.chapter-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-bottom:28px;overflow-x:auto}.chapter-tabs button{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap;padding:15px 15px 18px;position:relative;color:var(--muted)}.chapter-tabs button>span{display:grid;place-items:center;width:22px;height:22px;background:#e0e5eb;border-radius:7px;font-size:10px}.chapter-tabs button.active{color:var(--primary)}.chapter-tabs button.active:after{content:"";position:absolute;bottom:0;height:2px;left:15px;right:15px;background:var(--primary)}.chapter-tabs button.active>span{color:#fff;background:var(--primary)}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px}.lesson-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.lesson-row{width:100%;display:flex;align-items:center;gap:18px;text-align:left;padding:23px;border-bottom:1px solid var(--line)}.lesson-row:last-child{border:0}.lesson-row:disabled{opacity:.6}.lesson-row:hover:not(:disabled){background:var(--blue-light)}.lesson-row.current{background:#f4f9ff;background:oklch(.98 .011 256)}.lesson-number{width:42px;height:42px;border-radius:13px;background:var(--bg);display:grid;place-items:center;font-size:16px;font-weight:700;flex-shrink:0}.lesson-number.blue{background:var(--primary);color:#fff}.lesson-number.green{background:#dbf2e4;color:var(--green)}.lesson-row-copy{flex:1}.lesson-row-copy strong,.lesson-row-copy span,.lesson-row-copy small{display:block}.lesson-row-copy strong{font-size:14px}.lesson-row-copy span{font-size:11px;color:var(--muted);margin-top:6px}.lesson-row-copy small{font-size:9px;color:var(--muted);margin-top:9px}.course-aside{padding:25px 15px}.course-aside h2{margin:16px 0 10px}.course-aside p{font-size:12px}.course-aside .gentle-note{margin-top:20px;font-size:11px}.course-piece{display:grid;place-items:center;width:140px;height:140px;margin:0 auto 26px;border-radius:50%;background:radial-gradient(circle,oklch(.89 .05 256),transparent 72%)}.course-piece img{width:115px;filter:drop-shadow(0 12px 5px oklch(.25 .08 256 / .18))}.board-wrap{position:relative;width:100%}.chessboard{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;position:relative;border-radius:10px;overflow:hidden;box-shadow:0 7px #8597ac,0 16px 28px #1e2f441a;isolation:isolate}.square{position:relative;padding:0;min-height:0!important;aspect-ratio:1;border-radius:0;opacity:1!important;transform:none!important}.square.light{background:#e5f0f9}.square.dark{background:#8aaccc}.square.last-move{background:#83d9b6}.square.selected{background:#4f9ee4}.square.hinted{box-shadow:inset 0 0 0 4px #b77c00;box-shadow:inset 0 0 0 4px oklch(.63 .16 78)}.square.in-check{background:#ec7b74}.square:focus-visible{outline-offset:-4px;z-index:4}.square:not(:disabled):hover{filter:brightness(1.03)}.rank-coordinate,.file-coordinate{position:absolute;font-size:10px;font-weight:750;color:#284561;z-index:1;pointer-events:none}.rank-coordinate{top:4px;left:5px}.file-coordinate{bottom:3px;right:5px}.dark .rank-coordinate,.dark .file-coordinate{color:#f6f9fc}.pieces-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.animated-piece{position:absolute;left:0;top:0;width:12.5%;height:12.5%;display:grid;place-items:center;will-change:transform}.animated-piece .piece-image{width:84%;height:84%;filter:drop-shadow(0 3px 1px oklch(.25 .045 256 / .2))}.move-dot{position:absolute;width:25%;height:25%;left:37.5%;top:37.5%;border-radius:50%;background:#1f344e47}.capture-target{position:absolute;inset:4%;border-radius:50%;border:5px solid oklch(.32 .055 256 / .28);z-index:3}.promotion-panel{position:absolute;inset:25% 8%;z-index:10;background:var(--surface);padding:22px;text-align:center;box-shadow:0 10px 40px #1616163d;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center}.promotion-panel>div{display:flex;margin:12px 0;gap:4px}.promotion-panel>div button{width:54px;padding:2px;background:var(--blue-light);border-radius:8px}.promotion-panel strong{font-size:14px}.lesson-progress{display:flex;gap:6px;max-width:440px;margin:0 auto 28px}.lesson-progress>span{height:4px;flex:1;background:var(--line);border-radius:4px}.lesson-heading{text-align:center;margin-bottom:35px}.lesson-heading p{margin-top:10px}.lesson-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:10px 15px 30px}.lesson-copy p{font-size:15px;margin-bottom:18px}.lesson-symbol{display:grid;place-items:center;width:74px;height:74px;background:var(--blue-light);border-radius:16px;margin-bottom:20px;color:var(--primary)}.lesson-symbol img{width:65px}.lesson-copy .primary{margin-top:22px}.intro-board{padding:30px;transform:perspective(1200px) rotateY(-7deg) rotateX(6deg)}.exercise-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:45px;align-items:center;max-width:960px;margin:auto;padding:20px 0}.exercise-instructions h2{font-size:24px;margin:20px 0 13px}.feedback{margin:25px 0 20px;padding:17px;background:#fff;border-radius:12px;font-size:13px;line-height:1.8;min-height:86px;color:var(--muted);border:1px solid var(--line)}.feedback.wrong{background:#ffeee3;background:oklch(.96 .025 55);border-color:#fdc495;color:#724225}.feedback.success{background:#dcf6e6;border-color:#a8dcbd;color:var(--green)}.quiz-panel{max-width:590px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:35px}.quiz-panel h2{margin:20px 0 25px}.answer-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.answer{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);border-radius:10px;padding:16px 20px;font-size:13px;min-height:58px}.answer:hover{background:var(--blue-light)}.answer.correct{background:#d6f4e1;color:var(--green);border-color:#60b687;opacity:1}.answer.incorrect{background:#ffece7;background:oklch(.96 .035 30);border-color:#ea998b}.quiz-panel>.primary{margin-top:22px}.success-text{color:var(--green);font-size:12px}.error-text{color:#a12721;font-size:12px;line-height:1.8}.lesson-done{text-align:center;max-width:440px;margin:40px auto 60px}.completion-orbit{width:105px;height:105px;display:grid;place-items:center;background:#d6f4e1;color:var(--green);border-radius:50%;margin:0 auto 25px;box-shadow:0 0 0 12px #e7f6ed}.lesson-done h2{font-size:30px;margin:18px 0 12px}.lesson-done .primary{margin:26px 0 10px}.lesson-done .text-button{display:flex;margin:auto}.practice-feature{display:flex;justify-content:space-between;gap:40px;padding:35px;background:#e0ecfd;border-radius:16px}.practice-feature h2{font-size:29px;margin:17px 0 13px}.practice-feature p{max-width:58ch}.practice-feature .primary{margin-top:25px}.practice-orbit{width:220px;min-width:180px;display:grid;place-items:center;color:#366fb8;position:relative;background:radial-gradient(circle,oklch(.87 .055 256),transparent 69%)}.orbit-small{position:absolute;right:35px;bottom:30px;padding:13px;border-radius:50%;background:#fff;color:var(--green)}.training-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.training-group{padding:27px;display:flex;gap:23px;border-bottom:1px solid var(--line)}.training-group:last-child{border:0}.training-group>svg{color:var(--primary);margin-top:3px}.training-group p{font-size:12px;margin-top:5px}.practice-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.practice-links button{display:flex;align-items:center;gap:4px;font-size:11px;background:var(--bg);border:1px solid var(--line);padding:7px 12px;border-radius:7px;min-height:35px}.practice-links button:not(:disabled):hover{background:var(--blue-light);color:var(--primary)}.training-list+p{margin-top:20px}.play-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:55px;align-items:center;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.mode-tabs{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:10px;margin-bottom:25px}.mode-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;font-size:11px;border-radius:7px;padding:9px}.mode-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 2px 5px #10161f0f}.play-setup h2{font-size:22px}.play-setup p{font-size:12px;margin-top:9px}.level-list{display:flex;flex-direction:column;margin:22px 0;gap:8px}.level-list button{border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:14px;padding:14px;text-align:left}.level-list button.selected{border-color:#3c8cf0;background:#f2f7ff;background:oklch(.975 .013 256)}.difficulty-bars{display:flex;align-items:flex-end;gap:3px;height:22px;width:35px}.difficulty-bars i{width:4px;background:var(--line);border-radius:2px;height:6px}.difficulty-bars i:nth-child(2){height:10px}.difficulty-bars i:nth-child(3){height:14px}.difficulty-bars i:nth-child(4){height:18px}.difficulty-bars i:nth-child(5){height:22px}.difficulty-bars i.filled{background:#468ae2}.level-list strong{display:block;font-size:12px}.level-list small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.radio-dot{width:17px;height:17px;border-radius:50%;border:1px solid var(--line);margin-left:auto;flex-shrink:0}.selected .radio-dot{border:5px solid var(--primary)}.setup-board{padding:10px 10px 20px;transform:perspective(1200px) rotateY(-5deg)}.board-caption{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:11px;margin-top:30px}.setup-note{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:13px}.local-game-info{padding:40px 20px;text-align:center;color:var(--primary)}.local-game-info h3{margin-top:15px;color:var(--ink)}.resume-banner{display:flex;align-items:center;gap:16px;padding:20px;background:var(--blue-light);border-radius:12px;margin-bottom:25px}.resume-banner>div{flex:1}.resume-banner strong,.resume-banner span{display:block;font-size:13px}.resume-banner span{color:var(--muted);font-size:11px;margin-top:4px}.resume-banner>svg{color:var(--primary)}.network-card{display:flex;gap:18px;align-items:center;text-align:left;background:var(--surface);padding:25px;width:100%;margin-top:25px;border-radius:13px;border:1px solid var(--line)}.network-card>svg{color:var(--muted)}.network-card h3{display:flex;align-items:center;gap:13px}.network-card p{font-size:12px;margin-top:5px}.network-plan{padding:25px;margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:13px}.network-plan p{margin-top:12px}.game-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);gap:30px;align-items:start}.board-column{min-width:0}.player-row{display:flex;align-items:center;gap:12px;padding:15px 0 19px}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px}.dark-avatar{background:#253447;color:#fff}.light-avatar{background:#fff;border:1px solid var(--line);color:var(--primary)}.player-row strong{display:block;font-size:13px}.player-row span:not(.turn-indicator){display:block;color:var(--muted);font-size:10px;margin-top:5px}.turn-indicator{margin-left:auto;font-size:10px;color:var(--muted)}.turn-indicator.active{color:var(--primary)}.board-column>.board-wrap+.player-row{padding-top:23px;padding-bottom:16px}.board-toolbar{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:9px;justify-content:space-between}.tool-button{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted);padding:8px 0}.tool-button.enabled{color:var(--primary)}.small-dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}.game-sidebar{padding-top:12px;display:flex;flex-direction:column;gap:20px}.coach-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:25px}.coach-panel h2{font-size:22px;margin:20px 0 14px}.coach-panel p{font-size:13px}.coach-panel .secondary{width:100%;margin-top:20px}.notation-panel{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.notation-panel h3{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.notation-panel h3 span{font-size:11px;color:var(--muted)}.notation-panel>p{font-size:11px}.move-list{max-height:190px;overflow:auto}.move-list>div{display:grid;grid-template-columns:30px 1fr 1fr;padding:8px;font-size:12px;border-radius:5px}.move-list>div:nth-child(odd){background:var(--bg)}.move-list span{color:var(--muted)}.material-panel{border-top:1px solid var(--line);padding:16px 0}.material-panel summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:12px}.material-panel summary>span{display:flex;gap:9px;align-items:center;color:var(--muted)}.piece-values{display:flex;justify-content:space-between;padding:20px 5px 10px}.piece-values>div{text-align:center;font-size:12px}.piece-values img{width:35px;height:35px;margin-bottom:5px}.material-panel p{font-size:10px}.finish-confirm{padding:20px;background:var(--blue-light);border-radius:12px}.finish-confirm p{font-size:12px}.finish-confirm .primary{width:100%;margin:15px 0 8px}.review-stats{display:flex;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px 30px;margin-bottom:25px;gap:20px}.review-stats>div{display:flex;flex-direction:column;gap:8px}.review-stats span{font-size:11px;color:var(--muted)}.review-stats strong{font-size:27px;letter-spacing:-.04em}.review-stats small{font-size:14px;font-weight:500;color:var(--muted)}.analysis-loading{display:flex;align-items:center;gap:15px;padding:16px 20px;background:var(--blue-light);border-radius:11px;margin-bottom:25px;color:var(--primary);font-size:12px}.analysis-loading small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.analysis-loading progress{margin-left:auto;max-width:130px;accent-color:var(--primary);height:5px}.review-board-label{display:flex;justify-content:space-between;font-size:11px;padding:12px 0 18px;color:var(--muted)}.review-board-label>span:first-child{color:var(--ink);font-weight:700}.review-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin:22px 0 16px}.review-controls button{display:grid;place-items:center;width:42px;border-radius:8px;background:#fff;border:1px solid var(--line)}.review-controls span{font-size:12px;color:var(--muted)}.evaluation-chart{position:relative;height:75px;display:flex;background:#fff;border-radius:8px;padding:0 7px;overflow:hidden}.evaluation-chart>button{position:relative;min-height:2px;flex:1;padding:0;min-width:1px;background:#6a91c6;margin:0 1px;opacity:.6}.evaluation-chart>button.negative{background:#344965}.evaluation-chart>button.chart-selected{opacity:1;outline:2px solid var(--primary)}.chart-zero{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}.chart-caption{font-size:9px;text-align:center;margin:10px 0}.grade{display:inline-flex;font-size:10px;border-radius:6px;background:var(--bg);padding:6px 9px;margin-top:20px}.grade-best,.grade-good{background:#d9f3e2;color:var(--green)}.grade-inaccuracy{background:#fff0ca;background:oklch(.96 .07 87);color:#734c17}.grade-mistake,.grade-blunder{background:#ffe7e3;background:oklch(.95 .04 28);color:#a8372e}.coach-panel h2>span{font-size:11px;font-weight:500;margin-left:7px;letter-spacing:0}.best-line{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.best-line>strong{font-size:11px}.variation-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 6px}.variation-buttons button{padding:9px 11px;min-height:36px;border-radius:6px;background:var(--blue-light);color:var(--primary);font-size:12px}.variation-buttons button.active{color:#fff;background:var(--primary)}.best-line small{font-size:9px;color:var(--muted)}.review-moves{max-height:260px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.review-moves>h3{margin-bottom:10px}.review-moves button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px;font-size:11px;border-radius:6px;text-align:left;gap:8px}.review-moves button.active{background:var(--blue-light)}.grade-text{font-size:9px;display:flex;align-items:center;gap:4px;color:var(--muted)}.grade-text-best,.grade-text-good{color:var(--green)}.grade-text-blunder,.grade-text-mistake{color:#af3d34}.grade-text-inaccuracy{color:#785214}.review-footer{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:25px;padding:25px;background:var(--blue-light);border-radius:12px}.review-footer p{font-size:12px;margin-top:8px}.review-footer small{display:block;font-size:9px;color:var(--muted);max-width:85ch;margin-top:10px}.review-footer .primary{flex-shrink:0}.empty-state{text-align:center;padding:65px 20px;max-width:570px;margin:auto}.empty-board-icon{display:grid;place-items:center;width:120px;height:120px;margin:0 auto 28px;background:var(--blue-light);border-radius:50%;color:var(--primary)}.empty-state p{margin:15px auto 25px;max-width:48ch}.games-list{display:flex;flex-direction:column;gap:12px}.game-record{display:flex;align-items:center;text-align:left;gap:18px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:12px;width:100%}.record-icon{display:grid;place-items:center;width:45px;height:45px;background:var(--blue-light);color:var(--primary);border-radius:12px}.game-record>div:nth-child(2){flex:1}.game-record strong{font-size:13px;display:block}.game-record span{font-size:10px;color:var(--muted);display:block;margin-top:6px}.record-result{text-align:right}.record-result>span{color:var(--primary)}.settings-page{max-width:800px;margin:auto}.settings-profile{display:flex;gap:20px;align-items:center;margin-bottom:35px;padding:25px;background:var(--blue-light);border-radius:13px}.settings-profile>div{flex:1}.settings-profile h2{font-size:20px}.settings-profile p{font-size:11px;margin-top:7px}.settings-profile>svg{color:#ca8a10}.settings-page>h3{margin:25px 0 15px}.settings-group{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.setting-row{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:21px;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0}.setting-row>svg{color:var(--muted)}.setting-row>div{flex:1}.setting-row strong{font-size:12px;display:block}.setting-row span:not(.switch span){display:block;font-size:10px;color:var(--muted);margin-top:5px}.switch{position:relative;border-radius:30px;width:46px;height:28px;min-height:28px;background:#ced1d5;padding:3px}.switch>span{display:block;background:#fff;width:22px;height:22px;border-radius:50%;box-shadow:0 2px 3px #1616161a;transition:transform .22s var(--ease)}.switch.on{background:var(--primary)}.switch.on>span{transform:translate(18px)}.import-row{cursor:pointer;position:relative}.import-row input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.data-note{font-size:11px;display:flex;align-items:flex-start;gap:10px;line-height:1.9;margin:20px 0 30px}.data-note svg{margin-top:3px}.methodology{padding:20px 0;border-top:1px solid var(--line)}.methodology summary{display:flex;align-items:center;gap:13px;font-size:13px;cursor:pointer;min-height:35px}.methodology summary>svg:last-child{margin-left:auto}.methodology p{font-size:12px;margin-top:16px}.install-dialog{position:fixed;border:0;width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 40px);border-radius:20px;padding:35px;background:var(--surface);color:var(--ink);box-shadow:0 25px 80px #09162838;text-align:center}.install-dialog::backdrop{background:#101d2f59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:12px;top:12px;width:36px;min-height:36px;border-radius:50%;background:var(--bg);display:grid;place-items:center}.install-app-icon{display:grid;place-items:center;width:75px;height:75px;background:var(--primary);border-radius:18px;margin:0 auto 24px;box-shadow:0 8px 18px #12468633}.install-app-icon img{width:64px}.install-dialog h2{font-size:25px;line-height:1.4}.install-dialog>p{font-size:12px;line-height:1.85;margin:15px 0 23px}.install-dialog ol{list-style:none;padding:0;margin:0 0 20px;text-align:left;display:flex;flex-direction:column;gap:17px}.install-dialog li{display:flex;align-items:center;gap:13px;font-size:12px;line-height:1.8}.install-dialog li>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--blue-light);color:var(--primary);flex-shrink:0;font-size:11px}.install-dialog li svg{display:inline;vertical-align:middle;color:var(--primary);margin-left:5px}.install-dialog li small{display:block;color:var(--muted);font-size:10px}.install-dialog .gentle-note{text-align:left;font-size:11px;margin:24px 0}.install-dialog>small{display:block;font-size:9px;color:var(--muted);margin-top:16px}.error-banner,.update-banner{display:flex;align-items:center;gap:15px;padding:16px;margin-bottom:20px;border-radius:10px;background:#ffe8e1;background:oklch(.95 .04 35);color:#8c352a;font-size:12px;line-height:1.8}.update-banner{background:var(--blue-light);color:var(--primary)}.error-banner button,.update-banner button{font-weight:750;text-decoration:underline;margin-left:auto;flex-shrink:0}.offline-badge{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;padding:15px;background:#fff;color:var(--primary)}.skip-link:focus{top:20px}.page-enter{animation:enter .28s var(--ease)}@keyframes enter{0%{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.home-grid{grid-template-columns:minmax(0,1fr) 290px;gap:28px}.hero-card{min-height:390px}.hero-copy{padding:40px 0 80px 40px}.hero-copy h2{font-size:42px}.hero-copy p{font-size:14px}.hero-copy .primary{font-size:13px}.hero-meta{font-size:10px}.hero-tag{font-size:9px}.hero-bottom span{font-size:10px}.journey-step{padding:22px}.journey-step h3{font-size:14px}.journey-step p,.step-footer{font-size:11px}.step-count{font-size:10px}.activity-card{padding:25px}.activity-card h3{font-size:14px}.activity-card p,.activity-card span{font-size:11px}.daily-plan{padding:25px}.aside-title h3{font-size:13px}.daily-ring{width:135px;height:135px}.daily-plan>p{font-size:12px}.daily-task>span:nth-child(2){font-size:11px}.coach-tip{padding:25px}.coach-tip h3{font-size:19px}.coach-tip p{font-size:12px}.install-card h3{font-size:13px}.install-card p{font-size:10px}}@media(max-width:1200px){.sidebar{width:205px;padding-left:13px;padding-right:13px}.brand{font-size:18px;gap:8px}.main-shell{margin-left:205px}.topbar{padding:0 26px}main{padding:30px 26px 0}.home-grid{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.welcome-header h1{font-size:25px}.hero-copy{padding-left:23px;width:65%}.hero-copy h2{font-size:28px}.hero-art{width:63%;right:-15%}.hero-bottom{padding:14px 20px}.hero-bottom span{font-size:7px}.hero-bottom svg{width:13px}.journey-preview{gap:8px}.journey-step{padding:13px 9px}.journey-step h3{font-size:10px}.activity-pair{grid-template-columns:1fr}.activity-card{padding:17px}.activity-card>div:nth-child(2){display:grid;grid-template-columns:1fr auto;align-items:center;flex:1}.activity-card h3{font-size:12px}.activity-card p{grid-row:2}.activity-card span{grid-column:2;grid-row:1/3;margin:0 0 0 8px;font-size:9px}.course-layout{grid-template-columns:minmax(0,1fr) 225px;gap:20px}.chapter-tabs button{font-size:10px;padding-left:8px;padding-right:8px;gap:6px}.game-layout{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:22px}.coach-panel{padding:21px}.play-setup{gap:25px;padding:25px}.setup-board{padding:0}.main-footer>span:last-child{display:none}.hero-copy .primary,.hero-copy p{font-size:10px}.exercise-layout{gap:30px}.exercise-instructions h2{font-size:21px}.lesson-intro{gap:20px;padding-left:0;padding-right:0}.intro-board{padding:10px}}@media(max-width:1020px){.home-grid{grid-template-columns:1fr}.home-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.daily-plan{grid-row:span 2}.daily-ring{margin-top:15px}.coach-tip h3{font-size:15px}.privacy-note{display:none}.hero-card{min-height:337px}.hero-copy{width:60%}.hero-copy h2{font-size:34px}.hero-copy p,.hero-copy .primary{font-size:12px}.hero-art{width:60%;right:-7%;height:100%}.hero-bottom span{font-size:9px}.journey-step{padding:18px 13px}.journey-step h3{font-size:12px}.activity-pair{grid-template-columns:1fr 1fr}.activity-card>div:nth-child(2){display:block}.activity-card span{margin:13px 0 0}.activity-card h3{font-size:11px}.date-label{display:none}.game-layout{grid-template-columns:1fr;max-width:650px;margin:auto}.game-sidebar{display:grid;grid-template-columns:1fr 1fr}.game-sidebar>.coach-panel{grid-column:1/-1}.board-column{max-width:570px;width:100%;margin:auto}.course-layout{grid-template-columns:1fr}.course-aside{display:none}.play-setup{grid-template-columns:1fr}.setup-board{display:none}.exercise-layout{grid-template-columns:1fr;max-width:540px;gap:25px}.exercise-instructions h2{font-size:22px;margin:13px 0 10px}.exercise-instructions .feedback{margin:15px 0;min-height:0}.lesson-intro{grid-template-columns:1fr;max-width:570px;margin:auto}.intro-board{display:none}.review-footer{align-items:flex-start;flex-direction:column}.practice-feature{padding:28px}.practice-orbit{min-width:120px;width:160px}.welcome-header h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.animated-piece{will-change:auto}}.hero-art-fallback{display:none}.focus-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.focus-heading .back-button{margin:0}.focus-heading>span,.intro-step-label{font-size:12px;color:var(--muted)}.intro-step-label{margin-bottom:12px;font-weight:700}.lesson-actions{display:flex;gap:12px;margin-top:24px}.lesson-actions .primary{margin-top:0;flex:1}.lesson-actions .intro-back{flex:0 0 52px;padding:12px}.lesson-copy .intro-paragraph{font-size:18px;line-height:1.8;min-height:130px}.exercise-task{grid-column:2;grid-row:1;align-self:end}.exercise-task h2{margin-top:12px}.exercise-layout>.board-wrap{grid-column:1;grid-row:1/3}.exercise-instructions{grid-column:2;grid-row:2;align-self:start}.exercise-instructions .feedback{margin-top:0}.notation-panel summary,.review-moves summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;gap:12px;font-size:14px;font-weight:700;list-style:none}.notation-panel summary>span{display:flex;align-items:center;gap:10px;color:var(--muted)}.notation-panel[open] summary,.review-moves[open] summary{margin-bottom:12px}summary::-webkit-details-marker{display:none}.move-visibility{display:flex;gap:10px;align-items:center;text-align:left;font-size:13px;min-height:48px}.move-visibility>span:last-child{margin-left:auto;color:var(--muted);font-size:12px}.move-visibility.enabled .small-dot{color:var(--primary)}@media(max-width:1020px){.exercise-task,.exercise-layout>.board-wrap,.exercise-instructions{grid-column:1;grid-row:auto}.exercise-task{order:0}.exercise-layout>.board-wrap{order:1}.exercise-instructions{order:2}}@media(max-width:760px),(max-width:960px)and (max-height:500px){:root{--phone-gutter:20px;--tabbar-height:72px;font-size:16px;--muted:oklch(.48 .025 256)}body{-webkit-text-size-adjust:100%;overflow-wrap:break-word}p{font-size:16px;line-height:1.65}small{font-size:12px}h1{font-size:30px;line-height:1.2;letter-spacing:-.035em}h2{font-size:23px}h3{font-size:17px}button,input,select{font-size:16px}button{min-height:44px}.sidebar{display:none}.main-shell{margin:0;min-width:0}.topbar{height:auto;min-height:72px;padding:calc(10px + env(safe-area-inset-top)) max(var(--phone-gutter),env(safe-area-inset-right)) 10px max(var(--phone-gutter),env(safe-area-inset-left));border:0;gap:12px}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:800;letter-spacing:-.035em;padding:0}.mobile-brand .brand-mark{width:34px;height:38px;border-radius:10px}.mobile-brand .brand-mark img{width:30px}.topbar-right{gap:10px}.streak{font-size:14px;gap:4px}.streak span{display:none}.profile-button{width:44px;height:44px;min-height:44px;font-size:15px;border-width:2px}.offline-badge{font-size:11px;gap:4px}main{padding:16px max(var(--phone-gutter),env(safe-area-inset-right)) calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 24px) max(var(--phone-gutter),env(safe-area-inset-left));max-width:600px}.mobile-nav{position:fixed;inset:auto 0 0;z-index:30;display:flex;align-items:stretch;justify-content:space-around;min-height:var(--tabbar-height);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:#fcfdfff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:56px;padding:4px 0;color:var(--muted);font-size:10px;font-weight:650}.mobile-nav button svg{width:23px;height:23px;padding:0;box-sizing:content-box}.mobile-nav button.active{color:var(--primary)}.mobile-nav button.active svg{stroke-width:2.4}.mobile-nav button.active:before{content:"";width:20px;height:3px;background:var(--primary);border-radius:4px;position:absolute;top:0}.primary,.secondary{min-height:52px;font-size:15px;padding:13px 18px;border-radius:13px;gap:10px}.text-button,.compact{min-height:44px;font-size:13px}.section-header{display:block;margin-bottom:22px}.section-header h1{font-size:30px}.section-header p{font-size:15px;margin-top:10px}.section-header>.pill{margin-top:14px}.section-header>.secondary{margin-top:12px}.eyebrow{font-size:12px;line-height:1.6;margin-bottom:9px}.pill{font-size:12px;padding:6px 10px}.section-header.small{display:flex;align-items:center;gap:8px;margin:28px 0 12px}.section-header.small h2{font-size:21px}.section-header.small .text-button{font-size:12px;white-space:nowrap}.welcome-header{margin-bottom:23px}.greeting{font-size:10px;letter-spacing:.055em;line-height:1.6;margin:0 0 10px}.welcome-header h1{font-size:32px;max-width:350px}.welcome-header p{font-size:15px;line-height:1.55;margin-top:10px}.date-label{display:none}.home-grid{display:flex;flex-direction:column;gap:24px}.home-primary{display:contents}.hero-card{min-height:0;border-radius:16px;background:#e0ecfc;display:grid;grid-template-columns:1fr;overflow:hidden}.hero-copy{display:flex;flex-direction:column;width:100%;padding:24px 24px 20px;pointer-events:auto}.hero-tag{font-size:10px;letter-spacing:.04em;line-height:1.5}.hero-copy h2{font-size:29px;line-height:1.2;max-width:260px;margin:14px 0 12px;min-height:70px}.hero-copy p{font-size:14px;line-height:1.6;width:62%;min-height:68px;white-space:normal}.hero-copy .primary{font-size:15px;width:100%;min-height:52px;padding:13px 15px;margin-top:20px}.hero-meta{font-size:12px;margin-top:12px;justify-content:center}.hero-art{width:57%;height:195px;right:-5%;top:40px;pointer-events:none}.hero-art>img{object-fit:contain;-webkit-mask-image:linear-gradient(to right,transparent,black 20%);mask-image:linear-gradient(to right,transparent,black 20%);mix-blend-mode:multiply}.hero-bottom{position:relative;padding:12px 18px;gap:8px;justify-content:center}.hero-bottom span{font-size:10px}.hero-bottom span:last-child{display:none}.hero-bottom svg{width:14px;height:14px}.home-primary>.section-header.small{margin-bottom:-12px;margin-top:4px}.journey-preview{display:flex;overflow-x:auto;gap:12px;margin:0 calc(-1 * var(--phone-gutter));padding:0 var(--phone-gutter) 4px;scroll-snap-type:x proximity;scroll-padding-left:var(--phone-gutter);overscroll-behavior-x:contain}.journey-step{flex:0 0 230px;scroll-snap-align:start;padding:17px;display:grid;grid-template-columns:1fr 48px;gap:2px 8px;border-radius:14px}.journey-icon{grid-column:2;grid-row:1/4;width:46px;height:48px;margin:0}.journey-icon img{width:39px}.step-count{font-size:11px;grid-column:1;grid-row:1}.journey-step h3{font-size:15px;white-space:normal;grid-column:1;grid-row:2;margin:4px 0}.journey-step p{font-size:12px;grid-column:1;grid-row:3}.step-footer{grid-column:1/-1;font-size:11px;margin-top:12px;padding-top:11px}.activity-pair{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.activity-card{border:0;border-radius:0;background:none;padding:19px 16px;gap:14px;align-items:center}.activity-card+.activity-card{border-top:1px solid var(--line)}.activity-card>div:nth-child(2){display:block;flex:1}.activity-card h3{font-size:16px}.activity-card p{font-size:12px;line-height:1.6;margin-top:3px}.activity-card span{font-size:12px;margin:7px 0 0}.activity-icon{width:44px;height:46px}.home-aside{display:flex;gap:16px}.daily-plan{display:grid;grid-template-columns:1fr 78px;gap:0 12px;padding:18px;border-radius:14px}.aside-title{grid-column:1;grid-row:1}.aside-title h3{font-size:15px}.sun-icon{display:none}.daily-ring{grid-column:2;grid-row:1/3;width:78px;height:78px;margin:0;padding:5px}.daily-ring strong{font-size:24px}.daily-ring strong span{font-size:14px}.daily-ring small{font-size:8px}.daily-plan>p{grid-column:1;grid-row:2;font-size:13px;line-height:1.5;text-align:left;margin-top:7px}.daily-task{grid-column:1/-1;margin-top:16px;padding-top:12px;min-height:58px}.daily-task>span:nth-child(2){font-size:14px}.daily-task small{font-size:11px}.task-checkbox{width:22px;height:22px}.coach-tip{padding:22px}.coach-label{font-size:12px}.coach-tip h3{font-size:20px;margin:12px 0 9px}.coach-tip p{font-size:14px}.tip-footer{font-size:11px}.install-card{padding:18px;gap:14px;align-items:center}.install-icon{width:42px;height:50px}.install-card h3{font-size:16px}.install-card p,.install-card span{font-size:13px}.privacy-note,.main-footer{display:none}.course-progress{gap:12px;margin-bottom:18px}.course-progress>span{font-size:12px}.slim-progress{height:6px}.chapter-tabs{margin:0 calc(-1 * var(--phone-gutter)) 18px;padding:0 var(--phone-gutter);gap:6px;border:0;scroll-snap-type:x proximity;scroll-padding-left:var(--phone-gutter)}.chapter-tabs button{scroll-snap-align:start;min-height:48px;border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:12px;font-size:13px;gap:8px;margin-bottom:4px}.chapter-tabs button>span{width:24px;height:24px;font-size:12px}.chapter-tabs button.active{background:var(--blue-light);border-color:#9fc4f5}.chapter-tabs button.active:after{display:none}.course-layout{display:block}.course-aside{display:none}.lesson-list{border-radius:14px}.lesson-row{padding:20px 15px;gap:13px}.lesson-number{width:40px;height:44px;border-radius:12px;font-size:16px}.lesson-row-copy{min-width:0}.lesson-row-copy strong{font-size:16px;line-height:1.45}.lesson-row-copy span{font-size:12px;line-height:1.5;margin-top:5px}.lesson-row-copy small{font-size:11px;margin-top:7px}.lesson-row:disabled{opacity:.65}.lesson-row>svg{width:17px}.focus-mode .topbar,.focus-mode .mobile-nav{display:none}.focus-mode main{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.focus-heading{margin-bottom:14px;min-height:48px}.back-button{min-height:48px;font-size:14px;margin-bottom:12px;color:var(--primary);gap:8px}.focus-heading>span{font-size:12px;white-space:nowrap}.lesson-progress{margin:0 0 22px;gap:5px}.lesson-progress>span{height:4px}.lesson-heading{text-align:left;margin-bottom:24px}.lesson-heading h1{font-size:28px}.lesson-heading p{font-size:14px;line-height:1.55;margin-top:8px}.lesson-heading .eyebrow{font-size:12px}.lesson-intro{display:block;padding:0}.intro-board{display:none}.lesson-copy{display:flex;flex-direction:column;min-height:calc(100svh - 260px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.lesson-symbol{width:72px;height:72px;margin-bottom:22px;border-radius:16px}.lesson-symbol img{width:60px}.intro-step-label{font-size:12px;letter-spacing:.02em;margin-bottom:10px}.lesson-copy .intro-paragraph{font-size:19px;line-height:1.75;min-height:0;margin-bottom:24px}.gentle-note{font-size:14px;line-height:1.65;padding:16px;border-radius:12px}.gentle-note svg{width:20px}.lesson-actions{position:sticky;bottom:0;padding:14px 0 max(8px,env(safe-area-inset-bottom));background:var(--bg);margin-top:20px;z-index:6;display:flex;gap:10px}.lesson-copy .lesson-actions{margin-top:auto;padding-top:24px}.lesson-actions>.primary,.lesson-actions>.secondary:not(.intro-back){width:100%;min-height:54px;font-size:15px}.lesson-phase-1 .lesson-heading{margin-bottom:14px}.lesson-phase-1 .lesson-heading h1{font-size:20px}.lesson-phase-1 .lesson-heading p,.lesson-phase-1 .lesson-heading .eyebrow{display:none}.lesson-phase-1 .lesson-progress{margin-bottom:16px}.exercise-layout{display:flex;flex-direction:column;padding:0;gap:16px}.exercise-task{align-self:stretch}.exercise-task .pill{font-size:11px;padding:4px 8px}.exercise-task h2{font-size:18px;line-height:1.5;margin-top:9px}.exercise-layout>.board-wrap{width:calc(100% + 16px);margin:0 -8px}.exercise-instructions{width:100%;align-self:stretch}.feedback{font-size:14px;line-height:1.65;padding:13px 15px;min-height:0;margin:3px 0 0;border-radius:12px}.exercise-instructions .lesson-actions{margin-top:0;padding-bottom:0}.quiz-panel{border:0;background:transparent;border-radius:0;padding:0}.quiz-panel h2{font-size:25px;margin:18px 0 24px}.answer-list{gap:12px}.answer{background:#fff;font-size:16px;line-height:1.55;padding:17px 18px;min-height:64px;border-radius:14px}.quiz-panel p{font-size:15px}.quiz-panel .lesson-actions{margin-top:18px}.lesson-done{padding:20px 0}.lesson-done h2{font-size:29px}.lesson-done>p{font-size:16px}.lesson-done>.primary{width:100%}.lesson-done .text-button{font-size:14px}.practice-feature{padding:24px;border-radius:16px;display:block}.practice-feature h2{font-size:26px}.practice-feature p{font-size:15px}.practice-feature .primary{width:100%;margin-top:22px}.practice-orbit{display:none}.training-group{padding:22px 16px;gap:12px}.training-group>svg{width:22px}.training-group h3{font-size:17px}.training-group p{font-size:13px}.practice-links{gap:8px}.practice-links button{font-size:13px;line-height:1.5;min-height:46px;padding:10px 12px;text-align:left}.play-setup{display:block;border:0;background:transparent;padding:0;box-shadow:none}.mode-tabs{padding:4px;gap:4px;background:#dce2e9;border-radius:14px;margin-bottom:24px}.mode-tabs button{flex:1;font-size:13px;line-height:1.4;min-height:48px;gap:6px;padding:9px 6px;border-radius:11px}.mode-tabs svg{width:19px}.play-setup h2{font-size:22px}.play-setup p{font-size:15px}.setup-board{display:none}.level-list{margin:20px 0}.level-list button{padding:17px 14px;gap:14px;min-height:84px;border-radius:14px;background:#fff}.level-list strong{font-size:16px}.level-list small{font-size:12px;line-height:1.55;margin-top:5px;max-width:none}.level-list button>span:nth-child(2){min-width:0}.radio-dot,.difficulty-bars{flex-shrink:0}.start-game-button{position:sticky;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 10px);z-index:7;min-height:54px}.setup-note{font-size:12px;line-height:1.6;margin:12px 12px 0}.local-game-info{padding:26px 20px}.local-game-info h3{font-size:20px}.local-game-info p{font-size:15px}.network-card{padding:20px 16px;gap:12px;margin-top:25px;align-items:flex-start}.network-card h3{font-size:16px;display:block}.network-card h3 .pill{font-size:10px;margin:7px 0 0;display:table}.network-card p{font-size:13px}.network-plan{padding:20px}.network-plan p{font-size:14px}.resume-banner{flex-wrap:wrap;padding:16px;gap:12px}.resume-banner strong{font-size:15px}.resume-banner span{font-size:12px}.resume-banner .secondary{width:100%;margin-top:3px}.game-page>.section-header{display:none}.game-page>.focus-heading{margin-bottom:2px}.game-layout{display:flex;flex-direction:column;gap:20px;max-width:none}.board-column{max-width:none;width:100%;margin:0}.player-row{gap:10px;padding:10px 0 14px;min-height:68px}.player-row strong{font-size:14px}.player-row span:not(.turn-indicator){font-size:12px;line-height:1.4;margin-top:3px}.avatar{width:38px;height:40px;border-radius:11px;flex-shrink:0}.turn-indicator{font-size:11px;line-height:1.4;max-width:70px;text-align:right}.board-column>.board-wrap{width:calc(100% + 16px);margin:0 -8px}.board-column>.board-wrap+.player-row{padding-top:18px;padding-bottom:12px;min-height:70px}.chessboard{border-radius:9px;box-shadow:0 4px #788fa7,0 9px 16px #202f4214}.rank-coordinate,.file-coordinate{font-size:10px}.rank-coordinate{top:2px;left:3px}.file-coordinate{bottom:1px;right:3px}.animated-piece .piece-image{width:86%;height:86%;filter:drop-shadow(0 2px 1px oklch(.25 .045 256 / .18))}.board-toolbar{gap:8px;border:0;padding:6px;background:#fff;border-radius:16px;position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:6;box-shadow:0 3px 8px #18223014}.tool-button{min-height:58px;flex:1;display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:12px;border-radius:11px;padding:8px 3px;color:var(--ink)}.tool-button.hint-action{background:var(--blue-light);color:var(--primary)}.tool-button svg{width:21px;height:21px}.game-sidebar{display:flex;flex-direction:column;gap:16px;padding-top:0;width:100%}.coach-panel{border:0;background:#e0ebfb;padding:20px;border-radius:14px}.coach-panel h2{font-size:21px;margin:12px 0 10px}.coach-panel p{font-size:15px;line-height:1.7}.coach-hint-button{display:none}.coach-panel .secondary{min-height:50px}.coach-panel h2>span{font-size:13px}.grade{font-size:12px;margin-top:14px}.notation-panel{padding:10px 17px}.notation-panel summary{font-size:15px}.notation-panel>p{font-size:14px;padding:10px 0}.move-list{max-height:220px}.move-list>div{font-size:15px;padding:12px}.move-visibility{padding:6px 2px;font-size:14px;min-height:52px}.move-visibility>span:last-child{font-size:12px}.material-panel{padding:10px 0}.material-panel summary{font-size:14px;min-height:44px}.material-panel summary>span{font-size:12px;gap:5px}.material-panel p{font-size:13px}.piece-values img{width:40px;height:40px}.finish-confirm{padding:18px}.finish-confirm p{font-size:15px}.game-sidebar>.text-button{font-size:14px;align-self:center}.review-page>.section-header{position:relative;margin-bottom:18px;padding-right:64px}.review-page>.section-header h1{font-size:27px}.review-page>.section-header p{display:none}.review-page>.section-header>.secondary{position:absolute;right:0;top:8px;margin:0;padding:10px;font-size:12px;min-height:44px;gap:5px}.review-page>.section-header>.secondary svg{width:15px}.review-stats{padding:16px 0;background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;gap:12px;margin-bottom:14px}.review-stats>div{flex:1;min-width:0;gap:6px}.review-stats span{font-size:11px;line-height:1.5}.review-stats strong{font-size:24px}.review-stats small{font-size:12px}.analysis-loading{font-size:13px;padding:13px;gap:8px;margin-bottom:12px;flex-wrap:wrap}.analysis-loading small{font-size:11px}.analysis-loading progress{max-width:none;width:100%;margin:3px 0}.review-board-label{font-size:12px;padding:10px 0 14px;gap:10px}.review-controls{margin:19px 0 16px;justify-content:space-between;gap:12px}.review-controls button{width:64px;min-height:52px;border-radius:12px}.review-controls span{font-size:14px}.evaluation-chart{height:64px}.chart-caption{font-size:11px;line-height:1.5}.best-line>strong{font-size:14px}.best-line small{font-size:12px}.variation-buttons{gap:8px}.variation-buttons button{min-width:48px;min-height:48px;font-size:15px;border-radius:10px;padding:10px}.review-moves{padding:10px 16px;max-height:340px}.review-moves summary{font-size:15px}.review-moves button{min-height:48px;font-size:14px}.grade-text{font-size:11px}.review-footer{padding:20px;gap:20px;margin-top:24px}.review-footer h3{font-size:19px}.review-footer p{font-size:15px}.review-footer small{font-size:11px;line-height:1.65}.review-footer .primary{width:100%}.empty-state{padding:32px 0}.empty-state h2{font-size:25px}.empty-state p{font-size:16px}.empty-state .primary{width:100%}.empty-board-icon{width:100px;height:100px}.game-record{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px 12px;padding:18px 14px}.record-icon{width:42px;height:44px;grid-column:1;grid-row:1}.game-record>div:nth-child(2){grid-column:2;grid-row:1}.game-record strong{font-size:14px;line-height:1.5}.game-record span{font-size:12px;line-height:1.6}.record-result{grid-column:2;grid-row:2;text-align:left}.game-record>svg{grid-column:3;grid-row:1/3}.record-icon svg{width:22px}.settings-profile{padding:20px 16px;gap:12px}.settings-profile h2{font-size:18px}.settings-profile p{font-size:12px;line-height:1.6}.profile-button.large{width:46px;height:46px;flex-shrink:0;font-size:18px}.settings-profile>svg{display:none}.settings-page>h3{font-size:17px;margin:25px 0 12px}.setting-row{padding:18px 14px;gap:12px;min-height:80px}.setting-row>div{min-width:0}.setting-row strong{font-size:15px;line-height:1.5}.setting-row span:not(.switch span){font-size:12px;line-height:1.55;margin-top:5px}.setting-row>svg{width:21px}.switch{width:52px;height:44px;min-height:44px;flex-shrink:0;padding:0;background:transparent;border-radius:0}.switch:before{content:"";position:absolute;inset:7px 0;background:#bbc1ca;border-radius:30px}.switch.on{background:transparent}.switch.on:before{background:var(--primary)}.switch>span{position:absolute;top:10px;left:3px;width:24px;height:24px}.switch.on>span{transform:translate(22px)}.data-note{font-size:13px;line-height:1.7}.methodology summary{font-size:14px;min-height:48px;gap:10px}.methodology p{font-size:14px}.import-row:focus-within{outline:3px solid var(--primary);outline-offset:-3px}.install-dialog{inset:auto 0 0;width:100%;max-width:600px;margin:0 auto;max-height:calc(100dvh - env(safe-area-inset-top) - 20px);border-radius:20px 20px 0 0;padding:32px max(24px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overscroll-behavior:contain}.dialog-close{width:44px;min-height:44px;top:10px;right:10px}.install-app-icon{width:64px;height:64px;margin-bottom:18px}.install-app-icon img{width:55px}.install-dialog h2{font-size:25px}.install-dialog>p{font-size:15px}.install-dialog li{font-size:15px;gap:13px}.install-dialog li>span{width:30px;height:30px;font-size:13px}.install-dialog li small{font-size:12px}.install-dialog .gentle-note{font-size:13px}.install-dialog>small{font-size:11px;line-height:1.65}.promotion-panel{inset:15% 4%;padding:16px}.promotion-panel>div{gap:6px}.promotion-panel>div button{width:48px;min-height:54px}.promotion-panel strong{font-size:16px}.promotion-panel .text-button{font-size:14px}.error-banner,.update-banner{font-size:14px;flex-wrap:wrap;gap:8px;padding:15px}.error-banner button,.update-banner button{min-height:44px}}@media(max-width:370px){:root{--phone-gutter:16px}.mobile-brand{font-size:18px}.topbar-right{gap:6px}.streak{font-size:12px}.welcome-header h1{font-size:29px}.hero-copy{padding:22px 18px 18px}.hero-copy h2{font-size:26px;max-width:225px}.hero-copy p{width:64%;font-size:13px}.hero-art{right:-9%;top:45px;width:59%}.hero-copy .primary{font-size:14px}.hero-bottom{padding:12px}.hero-bottom span{font-size:9px}.section-header h1{font-size:28px}.mode-tabs button{font-size:12px}.level-list button{gap:10px;padding:15px 12px}.level-list strong{font-size:15px}.lesson-copy .intro-paragraph{font-size:18px}.exercise-task h2{font-size:17px}.rank-coordinate,.file-coordinate{font-size:9px}.turn-indicator{max-width:60px;font-size:10px}.material-panel summary{font-size:13px}}@media(max-width:960px)and (max-height:500px)and (orientation:landscape){.focus-mode .game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.focus-mode main{max-width:none}.focus-mode .board-column{max-width:360px}.lesson-copy{min-height:0}.mobile-nav{--tabbar-height:60px}.mobile-nav button{min-height:44px}}@media(hover:none){.journey-step:hover{transform:none}.square:not(:disabled):hover{filter:none}}@media(prefers-reduced-motion:reduce){.intro-paragraph{animation:none}}.evaluation-details summary{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:44px;font-size:13px;color:var(--muted);cursor:pointer;list-style:none;margin-bottom:8px}.evaluation-details[open] summary>svg{transform:rotate(90deg)}.hint-result:empty{display:none}.hint-result>span{display:flex;align-items:center;gap:8px;padding:12px 0;color:var(--primary);font-size:14px;line-height:1.5}.board-column{scroll-margin-top:16px}@media(max-width:760px),(max-width:960px)and (max-height:500px){.journey-preview,.chapter-tabs{scrollbar-width:none}.journey-preview::-webkit-scrollbar,.chapter-tabs::-webkit-scrollbar{display:none}.review-stats{padding:12px 0}.review-controls{margin-bottom:6px}.evaluation-details summary{font-size:12px;margin-bottom:0}.game-page .board-column>.player-row{padding-top:12px;padding-bottom:12px}.game-page .board-column>.board-wrap+.player-row{padding-top:20px}.focus-mode .game-sidebar .coach-panel{grid-column:auto}}@media(max-width:370px){.home-page .greeting{display:none}.welcome-header{margin-bottom:18px}.welcome-header h1{font-size:28px}.welcome-header p{font-size:14px;margin-top:7px}.hero-copy h2{min-height:60px;margin:12px 0 9px}.hero-copy p{min-height:50px}.hero-copy .primary{margin-top:13px}}@media(max-width:760px),(max-width:960px)and (max-height:500px){.install-dialog .dialog-close{position:sticky;float:right;top:0;z-index:2;margin:-20px -12px -24px 0}}@media(max-width:960px)and (max-height:500px)and (orientation:landscape){.game-page .game-layout{display:grid;grid-template-columns:minmax(0,calc(100svh - 90px)) minmax(0,1fr);gap:10px 24px}.game-page .board-column{display:contents}.game-page .board-column>.board-wrap{grid-column:1;grid-row:1/6;width:100%;margin:0;align-self:start}.game-page .board-column>.player-row{grid-column:2;padding:3px 0;min-height:44px}.game-page .board-column>.player-row:first-child{grid-row:1}.game-page .board-column>.board-wrap+.player-row{grid-row:2;padding-top:3px}.game-page .board-toolbar{position:static;grid-column:2;grid-row:3}.game-page .hint-result{grid-column:2;grid-row:4}.game-page .game-sidebar{grid-column:2;grid-row:5}}.task-explanation{color:var(--muted, #687487);font-size:14px;line-height:1.6;margin:8px 0}.task-explanation summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.task-explanation p{margin:4px 0 12px}.voice-coach{margin:0 0 18px;background:#edf2f8;border-radius:16px;padding:0 10px;color:#526579}.voice-controls{display:flex;justify-content:space-between;align-items:center;gap:6px}.voice-toggle,.voice-replay{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 4px;border:0;background:transparent;color:inherit;font-size:12px;cursor:pointer}.voice-toggle b{font-weight:600;margin-left:8px;color:#66778b}.voice-enabled{background:#e8f2fe;color:#2470ca}.voice-transcript{font-size:12px;line-height:1.65;padding-bottom:8px}.voice-transcript summary{min-height:28px;cursor:pointer}.voice-transcript p{color:#425775;padding:8px 0}.voice-error{font-size:12px;padding-bottom:8px}@media(max-width:760px){.voice-coach{margin:0 0 12px}.focus-mode .voice-coach{margin-top:2px}.voice-toggle span{white-space:nowrap}}:root{--bg:#f2f3f7;--surface:#fff;--fill:#e9ecf3;--ink:#111a3d;--muted:#5f6787;--faint:#9aa1b8;--primary:#2747c9;--primary-deep:#1b3299;--blue-light:#e8edfc;--line:rgba(17,26,61,.07);--green:#1f8a5f;--gold:#b9831f;--gold-soft:#fbf1dc;--shadow:0 1px 2px rgba(17,26,61,.04),0 8px 24px -12px rgba(17,26,61,.16);--display:"Unbounded","Manrope Variable",-apple-system,sans-serif;--spring:cubic-bezier(.34,1.56,.64,1);color:var(--ink);background:var(--bg)}body{background:var(--bg);color:var(--ink)}h1,h2,.lesson-heading h1,.section-header h1{font-family:var(--display);font-weight:600;letter-spacing:-.035em}h1{line-height:1.12}h2{line-height:1.2}p{color:var(--muted)}.eyebrow,.greeting,.hero-tag,.account-kicker,.sidebar-heading{text-transform:none;letter-spacing:0}.primary{background:var(--primary);color:#fff;border:0;border-radius:999px;box-shadow:none}.primary:hover{background:var(--primary-deep)}.secondary{background:var(--surface);color:var(--primary);border:0;border-radius:999px;box-shadow:var(--shadow)}.secondary:hover{background:var(--blue-light)}.text-button{color:var(--primary)}.light-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:999px;font-weight:800;font-size:16px;transition:transform .35s var(--spring)}.light-button{background:#fff;color:var(--primary-deep)}.ghost-button{background:#fff3;color:#fff}.light-button:active,.ghost-button:active{transform:scale(.95)}.pill{border:0}.pill.blue{background:var(--blue-light);color:var(--primary)}.activity-card,.daily-plan,.install-card,.lesson-list,.quiz-panel,.training-list,.play-setup,.network-card,.network-plan,.coach-panel,.notation-panel,.material-panel,.review-stats,.best-line,.review-moves,.game-record,.settings-group,.methodology,.account-card,.account-home-link,.account-explainer,.coach-tip,.resume-banner,.practice-feature,.local-game-info,.empty-state,.week-card,.analysis-loading,.evaluation-details,.task-explanation,.finish-confirm,.voice-transcript{border:0!important;background:var(--surface);box-shadow:var(--shadow);border-radius:24px}.lesson-row,.setting-row,.training-group,.game-record{border-color:var(--line)}.lesson-row:last-child,.setting-row:last-child,.training-group:last-child{border:0}.answer,.level-list button,.practice-links button,.review-controls button,.mode-tabs button,.daily-task{border:0!important;background:var(--fill);border-radius:16px;box-shadow:none}.answer.correct{background:#dff3ea;color:var(--green)}.answer.incorrect{background:#fbe7e2;color:#b3412b}.level-list button.selected,.mode-tabs button.active{background:var(--surface);box-shadow:var(--shadow)}.mode-tabs{background:var(--fill);border-radius:18px;padding:4px;border:0}.feedback{border:0;border-radius:18px;background:var(--fill)}.feedback.success{background:#dff3ea;color:var(--green)}.feedback.wrong{background:#fbe7e2;color:#b3412b}.gentle-note{background:var(--blue-light);border:0;border-radius:18px}.slim-progress{background:var(--fill)}.radio-dot{border-color:var(--faint)}.sidebar{background:var(--bg);border:0}.topbar{border:0;background:transparent}.nav-item{border-radius:14px;font-size:14px}.nav-item.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.brand,.mobile-brand{font-family:var(--display);font-weight:600;letter-spacing:-.03em}.brand-mark{background:var(--primary);border-radius:12px;box-shadow:none;overflow:hidden;align-items:flex-end}.brand-mark .sprite{width:40px;height:40px;margin-bottom:-6px}.brand-sub{letter-spacing:0;text-transform:none;font-family:Manrope Variable,sans-serif}.tiny-knight{overflow:hidden;align-items:flex-end}.tiny-knight .sprite{width:36px;height:36px;margin-bottom:-4px}.sidebar-progress{background:var(--surface);box-shadow:var(--shadow)}.streak{gap:6px;padding:7px 12px 7px 10px;border-radius:999px;background:var(--gold-soft);color:var(--gold)}.streak i{width:11px;height:11px;border-radius:3px;background:currentColor;transform:rotate(45deg)}.streak span{color:var(--gold)}.streak svg{display:none}.profile-button{background:var(--surface);color:var(--primary);border:0;box-shadow:var(--shadow)}.main-footer{border:0}.sprite{display:block;max-width:none;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.coach-face{width:30px;height:30px;border-radius:50%;background:var(--primary);display:inline-grid;place-items:center;overflow:hidden;flex:none}.coach-face .sprite{width:34px;height:34px;margin-top:8px}.coach-label{display:flex;align-items:center;gap:9px;color:var(--primary);font-weight:800}.home-v2{display:flex;flex-direction:column;gap:20px;max-width:760px}.home-head .date-label{display:block;font-size:13px;font-weight:700;color:var(--faint);text-transform:capitalize;margin-bottom:6px}.home-head h1{font-size:30px}.home-head p{margin-top:6px;font-size:15px}.lesson-hero{position:relative;overflow:hidden;border-radius:32px;color:#fff;display:grid;grid-template-columns:1fr;box-shadow:0 22px 44px -26px #1b3299b3}.lesson-hero-art{position:relative;height:220px;display:grid;place-items:center}.lesson-hero-art:before{content:"";position:absolute;width:190px;height:54px;bottom:22px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.35),transparent)}.hero-piece{position:relative;width:210px;height:210px;filter:drop-shadow(0 18px 26px rgba(0,0,0,.3));animation:float 5s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px) rotate(-1.5deg)}}.hero-chip,.card-chip{position:absolute;left:16px;top:16px;padding:7px 11px;border-radius:999px;font-size:12.5px;font-weight:800;background:#ffffff2e;color:#fff}.hero-rosette{position:absolute;right:-50px;top:-50px;width:210px;height:210px;opacity:.18;pointer-events:none}.hero-rosette.second{inset:auto auto -80px -60px;width:180px;height:180px;opacity:.1}.lesson-hero-copy{position:relative;padding:0 22px 22px;display:flex;flex-direction:column;gap:6px}.lesson-hero-copy h2{font-size:24px;color:#fff}.lesson-hero-copy p{color:#fffc;font-size:15px;line-height:1.45;margin-bottom:10px}.hero-go{display:flex;align-items:center;gap:14px}.hero-go .light-button{flex:1}.hero-go small{font-size:13px;font-weight:700;color:#fffc;white-space:nowrap}.ch-blue{background:linear-gradient(165deg,#3555e0,#16247a)}.ch-violet{background:linear-gradient(165deg,#7a4cff,#2a1677)}.ch-green{background:linear-gradient(165deg,#12a88a,#0a3f4a)}.ch-orange{background:linear-gradient(165deg,#ef8a3a,#6a2412)}.week-card{padding:16px;display:flex;flex-direction:column;gap:12px}.row-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.row-title h2{font-size:17px}.row-title span{font-size:13px;font-weight:700;color:var(--muted)}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--faint)}.day i{width:100%;aspect-ratio:1;border-radius:13px;background:var(--fill);display:grid;place-items:center;overflow:hidden}.day.done{color:var(--ink)}.day.done i{background:linear-gradient(160deg,#3d5de6,#1f37a8)}.day.done .sprite{width:125%;height:125%;margin-top:22%}.day.today{color:var(--gold)}.day.today i{box-shadow:inset 0 0 0 2px var(--gold)}.week-card .daily-task{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;width:100%}.tile-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 14px 16px;border-radius:26px;background:var(--surface);box-shadow:var(--shadow);text-align:left}.tile-pic{height:76px;display:flex;align-items:flex-end;margin-bottom:6px}.tile-pic .sprite{height:100%;width:auto}.tile-pic .sprite+.sprite{margin-left:-24px}.tile b{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.02em}.tile span{font-size:13px;color:var(--muted)}.home-v2 .journey-preview{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;overflow-x:auto;margin:0;padding:2px 0 6px;scrollbar-width:none}.home-v2 .journey-step{position:relative;overflow:hidden;border:0;border-radius:24px;color:#fff;padding:14px;min-height:170px;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;gap:3px}.home-v2 .journey-step h3{color:#fff;font-size:15px;line-height:1.25;font-family:var(--display);font-weight:600}.home-v2 .journey-step .step-count{color:#ffffffbf;font-size:12px;font-weight:800}.home-v2 .journey-step p{color:#fffc;font-size:12px;margin-top:4px;line-height:1.4}.journey-piece{position:absolute;right:-6px;top:-4px;width:84px;height:84px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.3))}.journey-bar{height:5px;border-radius:3px;background:#ffffff40;overflow:hidden;margin-top:8px}.journey-bar span{display:block;height:100%;background:#fff;border-radius:inherit}.home-v2 .coach-tip{padding:18px;display:flex;flex-direction:column;gap:8px;background:var(--blue-light);box-shadow:none}.home-v2 .coach-tip h3{font-family:var(--display);font-weight:600;font-size:18px}.home-v2 .install-card{display:flex;align-items:center;gap:14px;padding:14px 16px;text-align:left}.home-v2 .install-card>div:nth-child(2){flex:1}.install-icon{background:var(--blue-light);color:var(--primary);border-radius:14px}.account-home-link{padding:14px 16px}.learn-v2{display:flex;flex-direction:column;gap:16px}.learn-v2 .section-header{margin:0}.course-progress{display:flex;align-items:center;gap:12px}.course-progress .slim-progress{flex:1}.course-progress>span{font-weight:800;font-size:13px;color:var(--muted)}.chapter-chips{display:flex;gap:8px;overflow-x:auto;margin-inline:calc(-1 * var(--phone-gutter,20px));padding:2px var(--phone-gutter,20px) 6px;scrollbar-width:none}.chapter-chips::-webkit-scrollbar,.home-v2 .journey-preview::-webkit-scrollbar{display:none}.chapter-chips button{flex:none;display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;font-size:14px;font-weight:800;color:var(--muted);background:var(--surface);box-shadow:var(--shadow);white-space:nowrap;min-height:44px}.chapter-chips button i{width:9px;height:9px;border-radius:50%}.chapter-chips button.ch-blue,.chapter-chips button.ch-violet,.chapter-chips button.ch-green,.chapter-chips button.ch-orange{background:var(--surface)}.chapter-chips .ch-blue i{background:#3555e0}.chapter-chips .ch-violet i{background:#7a4cff}.chapter-chips .ch-green i{background:#12a88a}.chapter-chips .ch-orange i{background:#ef8a3a}.chapter-chips button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}.swipe-deck{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;perspective:1000px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.swipe-deck::-webkit-scrollbar{display:none}.swipe-deck>*{scroll-snap-align:center;scroll-snap-stop:always;will-change:transform;transform-origin:50% 60%}.lesson-deck{margin-inline:calc(-1 * var(--phone-gutter,20px));padding:6px 11% 16px}.lesson-card{flex:0 0 78%;max-width:340px;height:440px;border-radius:36px;position:relative;overflow:hidden;display:flex;flex-direction:column;color:#fff;box-shadow:0 22px 44px -24px #111a3d8c}.card-rosette{position:absolute;right:-60px;top:-50px;width:230px;height:230px;opacity:.16;pointer-events:none}.lesson-card-top{position:relative;display:flex;justify-content:flex-end;align-items:center;padding:16px 16px 0;min-height:50px}.card-state{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffff2e}.card-state.done{background:#f4cd72;color:#3a2a05}.lesson-card-art{flex:1;display:grid;place-items:center;position:relative}.lesson-card-art:before{content:"";position:absolute;width:170px;height:56px;bottom:14%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.35),transparent)}.lesson-card-art .sprite{position:relative;width:186px;height:186px;filter:drop-shadow(0 16px 24px rgba(0,0,0,.3))}.lesson-card.locked .lesson-card-art .sprite{filter:grayscale(.6) brightness(.85);opacity:.75}.lesson-card-panel{margin:0 10px 10px;border-radius:28px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:5px;background:#ffffff24;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lesson-card-panel h3{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.15;letter-spacing:-.025em;color:#fff}.lesson-card-panel p{margin:0 0 8px;font-size:14px;line-height:1.4;color:#fffc}.lesson-card-panel .light-button,.lesson-card-panel .ghost-button{min-height:46px;font-size:15px}.lock-note{display:flex;gap:8px;align-items:center;min-height:46px;font-size:13.5px;font-weight:700;color:#fffc;line-height:1.3}.deck-dots{align-self:center;display:flex;gap:6px;padding:9px 12px;border-radius:999px;background:var(--fill)}.deck-dots button{width:7px;height:7px;min-height:0;padding:0;border-radius:4px;background:#c4c9d8;transition:width .35s var(--spring),background .2s}.deck-dots button[aria-current=true]{width:22px;background:var(--ink)}.lesson-list-details summary{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:800;cursor:pointer;list-style:none;background:var(--surface);border-radius:20px;box-shadow:var(--shadow)}.lesson-list-details[open] summary{margin-bottom:10px}.lesson-list-details[open] summary svg{transform:rotate(90deg)}.intro-deck{margin-inline:calc(-1 * var(--phone-gutter,20px));padding:4px var(--phone-gutter,20px) 10px}.intro-card{flex:0 0 100%;min-height:200px;border-radius:28px;padding:18px 20px 20px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.intro-card-top{display:flex;justify-content:space-between;align-items:center;min-height:30px}.intro-card .intro-step-label{font-family:var(--display);font-weight:600;font-size:13px;color:var(--primary);margin:0}.intro-card-piece{width:52px;height:52px;margin:-14px -6px -8px 0}.intro-card .intro-paragraph{font-size:18px;line-height:1.55;color:var(--ink);margin:0}.intro-card .gentle-note{margin-top:auto}.lesson-copy .deck-dots{margin:2px 0 10px}.lesson-progress>span{background:var(--fill)}.lesson-progress .filled{background:var(--primary)}.completion-orbit{border:0;background:#dff3ea;color:var(--green)}.board-host{position:relative}.board3d{position:relative;width:100%;aspect-ratio:1;border-radius:26px;overflow:hidden;background:radial-gradient(110% 85% at 50% 35%,#fff,#e4e8f2);touch-action:none}.board3d-stage{position:absolute;inset:0}.board3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.board3d.decorative-board{pointer-events:none}.board3d-loading .board-wrap{padding:9%}.board-host.is-decorative .board3d{background:transparent}.intro-board:has(.board-host),.setup-board:has(.board-host){transform:none;padding:0}.board-a11y{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.board-a11y:focus-within{inset:0;width:auto;height:auto;clip-path:none;z-index:5;background:var(--bg);border-radius:20px}.chessboard{box-shadow:0 4px #b9c3dc,0 10px 22px #111a3d1a}.promotion-panel{border-radius:24px}.promotion-panel .sprite{width:52px;height:52px}.board-styles{display:flex;flex-wrap:wrap;gap:7px}.board-styles button{min-height:36px;padding:0 13px;border-radius:999px;font-size:13px;font-weight:800;color:var(--muted);background:var(--fill)}.board-styles button[aria-pressed=true]{background:var(--ink);color:#fff}.board-column>.board-styles{justify-content:center;margin-top:12px}.board-look-row .board-styles{margin-top:10px}.setting-row.board-look-row{align-items:flex-start}.avatar{border:0!important;overflow:hidden;display:grid;place-items:end center}.avatar .sprite{width:118%;height:118%;margin-bottom:-14%}.dark-avatar{background:var(--primary)}.light-avatar{background:var(--surface);box-shadow:var(--shadow)}.board-toolbar{border:0;background:transparent;box-shadow:none;gap:8px;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.tool-button{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;border:0}.tool-button.hint-action{background:var(--gold-soft);color:var(--gold);box-shadow:none}.coach-panel h2{font-size:20px}.piece-values .sprite{width:44px;height:44px}.grade{border-radius:999px}.variation-buttons button{border:0;background:var(--fill);border-radius:12px}.variation-buttons button.active{background:var(--primary);color:#fff}.setup-board .board-caption{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;font-weight:700;color:var(--muted)}.voice-toggle,.voice-replay{border:0!important;background:var(--surface);box-shadow:var(--shadow);border-radius:999px}.account-card input:not([type=checkbox]){border:0!important;background:var(--fill);border-radius:14px}.account-badge{border:0;background:var(--blue-light)}.install-dialog{border:0;border-radius:32px}.install-app-icon{background:var(--primary);overflow:hidden;display:grid;place-items:end center}.install-app-icon .sprite{width:110%;height:110%;margin-bottom:-12%}@media(max-width:760px),(max-width:960px)and (max-height:500px){:root{--tabbar-height:96px}.topbar{background:transparent}.mobile-nav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));inset:auto 12px calc(10px + env(safe-area-inset-bottom)) 12px;min-height:66px;padding:5px;border:0;border-radius:33px;background:#fffc;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:0 10px 30px -10px #111a3d4d;display:grid;grid-template-columns:repeat(5,1fr)}.mobile-nav button{position:relative;z-index:1;min-height:56px;color:var(--faint);font-size:10.5px;font-weight:800;gap:3px;border-radius:28px}.mobile-nav button.active{color:var(--primary)}.mobile-nav button.active:before{display:none}.mobile-nav button svg{width:24px;height:24px;padding:0}.tab-lens{position:absolute;top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/5);border-radius:28px;background:var(--fill);transform:translate(calc(var(--tab,0) * 100%));transition:transform .55s var(--spring),opacity .2s}.tab-lens.hidden{opacity:0}.home-head h1{font-size:28px}.lesson-hero-art{height:200px}.hero-piece{width:190px;height:190px}.home-v2 .journey-preview{grid-template-columns:repeat(4,150px);margin-inline:calc(-1 * var(--phone-gutter));padding-inline:var(--phone-gutter)}.board-column>.board-host,.exercise-layout>.board-host{width:calc(100% + 16px);margin:0 -8px}.board3d{border-radius:22px}}@media(min-width:761px){.lesson-deck{margin-inline:0;padding-inline:4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.lesson-card{flex-basis:300px}.intro-deck{margin-inline:0;padding-inline:0}.lesson-hero{grid-template-columns:1fr 1fr;align-items:center}.lesson-hero-copy{padding:28px 28px 28px 0}.lesson-hero-art{height:300px}.hero-piece{width:240px;height:240px}}@media(prefers-reduced-motion:reduce){.hero-piece{animation:none}.tab-lens{transition:none}}.home-head .date-label{text-transform:none}.home-v2>*,.learn-v2>*{margin:0}.home-v2>.section-header.small{margin:6px 0 -8px}.home-v2 .coach-tip p{line-height:1.55;font-size:15px}.voice-coach{background:transparent;padding:0;margin:0 0 14px}.voice-toggle{padding:0 14px}.learn-v2 .section-header p{margin-top:6px;line-height:1.45}.lesson-card{height:clamp(360px,56svh,440px)}.lesson-card-art .sprite{width:min(186px,30svh);height:min(186px,30svh)}.intro-card,.lesson-copy{min-height:0}.review-stats{padding:16px;gap:10px}.review-stats>div{border:0}.start-game-button{box-shadow:0 12px 26px -10px #2747c999}.lesson-v2{display:flex;flex-direction:column;gap:16px;max-width:620px;margin:0 auto}.lesson-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:46px}.round-button{width:42px;height:42px;min-height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);flex:none}.round-button.large{width:54px;height:54px;min-height:54px}.lesson-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lesson-steps span{height:6px;border-radius:3px;background:var(--fill);overflow:hidden;position:relative}.lesson-steps span.done{background:var(--primary)}.lesson-steps span.now{background:linear-gradient(90deg,var(--primary) 45%,var(--fill) 45%)}.lesson-stage{font-size:13px;font-weight:800;color:var(--muted)}.lesson-cover{position:relative;overflow:hidden;border-radius:30px;color:#fff;display:grid;grid-template-columns:1fr 112px;align-items:end;min-height:170px;padding:18px 8px 0 20px;box-shadow:0 18px 36px -24px #111a3d99}.cover-rosette{position:absolute;right:-50px;top:-50px;width:190px;height:190px;opacity:.16;pointer-events:none}.cover-copy{position:relative;display:flex;flex-direction:column;gap:6px;padding-bottom:20px;min-width:0}.cover-chip{align-self:flex-start;padding:6px 10px;border-radius:999px;background:#ffffff2e;font-size:12.5px;font-weight:800}.lesson-cover h1{color:#fff;font-size:24px;line-height:1.12;margin-top:4px}.lesson-cover p{color:#ffffffd1;font-size:14.5px;line-height:1.4}.cover-piece{position:relative;width:128px;height:128px;margin:0 0 -6px -10px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.3))}.step-card{flex:0 0 100%;border-radius:26px;padding:18px 20px 20px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;align-self:flex-start}.step-label{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:13px;color:var(--primary)}.step-label b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue-light);font-size:12px}.step-card p{color:var(--ink);font-size:17.5px;line-height:1.55;margin:0}.tip-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:18px;background:var(--gold-soft);color:var(--ink);font-size:14.5px;line-height:1.45}.tip-note svg{color:var(--gold);margin-top:1px}.lesson-v2 .intro-deck{align-items:flex-start}.lesson-v2 .deck-dots{margin-top:-4px}.lesson-cta{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:6;display:flex;gap:10px;align-items:center;margin-top:4px}.lesson-cta .primary,.lesson-cta .secondary{flex:1;min-height:54px;font-size:16px}.lesson-cta .primary{box-shadow:0 12px 26px -10px #2747c98c}.lesson-cta.stacked{position:static;flex-direction:column}.lesson-cta.stacked>*{width:100%}.soft-chip{align-self:flex-start;display:inline-flex;padding:6px 11px;border-radius:999px;background:var(--blue-light);color:var(--primary);font-size:12.5px;font-weight:800}.soft-chip.success{background:#dff3ea;color:var(--green)}.exercise-v2,.quiz-v2{display:flex;flex-direction:column;gap:14px}.task-card,.quiz-card{border-radius:26px;padding:18px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.task-card h2{font-size:20px;line-height:1.25}.task-more summary{cursor:pointer;color:var(--primary);font-weight:700;font-size:14px;list-style:none}.task-more p{margin-top:8px;font-size:14.5px;line-height:1.5}.feedback-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);font-size:15px;line-height:1.45;color:var(--ink)}.feedback-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--gold-soft);color:var(--gold)}.feedback-card.success{background:#e5f6ee;box-shadow:none}.feedback-card.success .feedback-icon{background:var(--green);color:#fff}.feedback-card.wrong{background:#fdeee9;box-shadow:none}.feedback-card.wrong .feedback-icon{background:#d4573c;color:#fff}.quiz-card{padding:20px 16px 16px;gap:14px}.quiz-card h2{font-size:22px;line-height:1.2;padding:0 4px}.answers{display:flex;flex-direction:column;gap:10px}.answer-v2{display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 14px;border-radius:18px;background:var(--fill);text-align:left;font-size:16px;font-weight:700;color:var(--ink);transition:background .2s,transform .35s var(--spring)}.answer-v2:active{transform:scale(.98)}.answer-letter{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--surface);font-family:var(--display);font-weight:600;font-size:14px;color:var(--primary)}.answer-v2.correct{background:#e5f6ee;color:var(--green)}.answer-v2.correct .answer-letter{background:var(--green);color:#fff}.answer-v2.incorrect{background:#fdeee9;color:#b3412b}.answer-v2.incorrect .answer-letter{background:#d4573c;color:#fff}.answer-v2:disabled{opacity:1}.done-v2{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding-top:8px}.done-medal{position:relative;overflow:hidden;width:170px;height:170px;border-radius:50%;display:grid;place-items:end center;box-shadow:0 20px 40px -20px #111a3d99;animation:medal .7s var(--spring)}.done-medal .sprite{position:relative;width:150px;height:150px;margin-bottom:-8px}@keyframes medal{0%{transform:scale(.6);opacity:0}}.done-v2 .soft-chip{align-self:center}.done-v2 h2{font-size:26px}.done-v2 p{font-size:15.5px;line-height:1.5;max-width:420px}@media(max-width:760px){.lesson-v2 .intro-deck{margin-inline:calc(-1 * var(--phone-gutter));padding-inline:var(--phone-gutter)}}@media(prefers-reduced-motion:reduce){.done-medal{animation:none}}:root[data-theme=dark]{--bg:#0f1013;--surface:#1b1c21;--fill:#2a2b31;--ink:#f4f1ea;--muted:#aaa59c;--faint:#6f6b66;--primary:#f0ad3e;--primary-deep:#e39a22;--blue-light:rgba(240,173,62,.14);--line:rgba(255,255,255,.07);--green:#62d39f;--gold:#f0ad3e;--gold-soft:rgba(240,173,62,.14);--shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 26px -16px rgba(0,0,0,.8);color-scheme:dark;color:var(--ink);background:var(--bg)}:root[data-theme=dark] body{background:var(--bg);color:var(--ink)}:root[data-theme=dark] .primary{color:#241603}:root[data-theme=dark] .primary:hover{background:var(--primary-deep)}:root[data-theme=dark] .lesson-cta .primary{box-shadow:0 12px 26px -12px #f0ad3e8c}:root[data-theme=dark] .start-game-button{box-shadow:0 12px 26px -12px #f0ad3e8c}:root[data-theme=dark] .light-button{background:#fff8ec;color:#4a2606}:root[data-theme=dark] .ch-blue{background:linear-gradient(165deg,#e0952a,#5e2a08)}:root[data-theme=dark] .ch-violet{background:linear-gradient(165deg,#c9447c,#4a1130)}:root[data-theme=dark] .ch-green{background:linear-gradient(165deg,#15a389,#08403b)}:root[data-theme=dark] .ch-orange{background:linear-gradient(165deg,#7656ee,#22145c)}:root[data-theme=dark] .chapter-chips .ch-blue i{background:#e0952a}:root[data-theme=dark] .chapter-chips .ch-violet i{background:#c9447c}:root[data-theme=dark] .chapter-chips .ch-orange i{background:#7656ee}:root[data-theme=dark] .chapter-chips button.ch-blue,:root[data-theme=dark] .chapter-chips button.ch-violet,:root[data-theme=dark] .chapter-chips button.ch-green,:root[data-theme=dark] .chapter-chips button.ch-orange{background:var(--surface)}:root[data-theme=dark] .chapter-chips button[aria-pressed=true],:root[data-theme=dark] .board-styles button[aria-pressed=true]{background:var(--ink);color:var(--bg)}:root[data-theme=dark] .deck-dots button{background:#4a4b52}:root[data-theme=dark] .deck-dots button[aria-current=true]{background:var(--ink)}:root[data-theme=dark] .day.done i{background:linear-gradient(160deg,#e0952a,#8a4a12)}:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .coach-face,:root[data-theme=dark] .dark-avatar,:root[data-theme=dark] .install-app-icon,:root[data-theme=dark] .coachline .av{background:linear-gradient(160deg,#e0952a,#8a4a12)}:root[data-theme=dark] .lesson-hero{box-shadow:0 22px 44px -26px #e0952a73}:root[data-theme=dark] .board3d{background:radial-gradient(110% 85% at 50% 35%,#26272d,#121317)}:root[data-theme=dark] .board-a11y:focus-within{background:var(--bg)}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar{background:var(--bg)}:root[data-theme=dark] .mobile-nav{background:#202127d1;box-shadow:0 10px 30px -10px #000c}:root[data-theme=dark] .streak,:root[data-theme=dark] .streak span{color:var(--gold)}:root[data-theme=dark] .feedback-card.success,:root[data-theme=dark] .answer-v2.correct,:root[data-theme=dark] .feedback.success,:root[data-theme=dark] .answer.correct,:root[data-theme=dark] .soft-chip.success{background:#62d39f21;color:var(--green)}:root[data-theme=dark] .feedback-card.wrong,:root[data-theme=dark] .answer-v2.incorrect,:root[data-theme=dark] .feedback.wrong,:root[data-theme=dark] .answer.incorrect{background:#ff785a21;color:#ff9a82}:root[data-theme=dark] .feedback-card.success,:root[data-theme=dark] .feedback-card.wrong{color:var(--ink)}:root[data-theme=dark] .answer-letter{background:var(--surface)}:root[data-theme=dark] .lesson-row.current{background:var(--blue-light)}:root[data-theme=dark] .lesson-number,:root[data-theme=dark] .lesson-number.blue{background:var(--fill);color:var(--primary)}:root[data-theme=dark] .lesson-number.green{background:#62d39f26;color:var(--green)}:root[data-theme=dark] .pill.green,:root[data-theme=dark] .green,:root[data-theme=dark] .grade-best,:root[data-theme=dark] .grade-good{background:#62d39f21;color:var(--green)}:root[data-theme=dark] .neutral{background:var(--fill);color:var(--muted)}:root[data-theme=dark] .grade-inaccuracy{background:#f0ad3e26;color:var(--gold)}:root[data-theme=dark] .grade-mistake,:root[data-theme=dark] .grade-blunder{background:#ff785a26;color:#ff9a82}:root[data-theme=dark] .error-banner,:root[data-theme=dark] .update-banner{background:var(--surface);color:var(--ink)}:root[data-theme=dark] .evaluation-chart{background:var(--fill)}:root[data-theme=dark] .account-symbol,:root[data-theme=dark] .account-status button,:root[data-theme=dark] .account-divider:before,:root[data-theme=dark] .account-divider:after{background:var(--fill)}:root[data-theme=dark] .account-error{background:#ff785a21;color:#ff9a82}:root[data-theme=dark] .activity-icon,:root[data-theme=dark] .orbit-small,:root[data-theme=dark] .practice-orbit{background:var(--fill);color:var(--primary)}:root[data-theme=dark] .install-dialog{background:var(--surface);color:var(--ink)}:root[data-theme=dark] .install-dialog::backdrop{background:#0009}:root[data-theme=dark] .promotion-panel{background:var(--surface)}:root[data-theme=dark] .skip-link{background:var(--surface);color:var(--ink)}:root[data-theme=dark] .tip-note{color:var(--ink)}:root[data-theme=dark] .difficulty-bars i{background:#3a3b42}:root[data-theme=dark] .difficulty-bars i.filled{background:var(--primary)}.lesson-cta.with-dots{flex-direction:column;align-items:stretch;gap:10px}.lesson-cta .cta-row{display:flex;gap:10px;align-items:center}.lesson-cta.with-dots .deck-dots{align-self:center;margin:0;background:color-mix(in srgb,var(--fill) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.voice-toggle,.voice-replay{color:var(--muted)}.voice-toggle b{color:var(--ink)}.voice-transcript p{color:var(--muted)}.switch{border:0}.switch.on{background:#34c759}.switch.on:before{background:#34c759}:root[data-theme=dark] .switch:not(.on){background:#3a3b42}:root[data-theme=dark] .switch:not(.on):before{background:#3a3b42}@media(max-width:760px),(max-width:960px)and (max-height:500px){.switch,.switch.on,:root[data-theme=dark] .switch:not(.on){background:transparent}}.game-mode main{max-width:720px}.game-v2{display:flex;flex-direction:column;gap:12px}.gbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:46px}.gtitle{display:flex;flex-direction:column;min-width:0}.gtitle b{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gtitle small{font-size:12.5px;color:var(--muted);font-weight:600}.round-button.small{width:34px;height:34px;min-height:34px}.gboard{display:flex;flex-direction:column;gap:8px}.gboard>.board-wrap{width:calc(100% + 16px);margin:0 -8px}.gplayer{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px}.gavatar{width:38px;height:38px;border-radius:13px;overflow:hidden;display:grid;place-items:end center;background:var(--surface);box-shadow:var(--shadow)}.gavatar.bot{background:var(--primary)}.gavatar .sprite{width:118%;height:118%;margin-bottom:-14%}.gname{display:flex;flex-direction:column;min-width:0}.gname b{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gname small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gplayer.active .gname b:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary);margin-left:7px;vertical-align:middle;box-shadow:0 0 0 3px var(--blue-light)}.gtaken{display:flex;align-items:center;min-width:0;max-width:46vw;overflow:hidden}.gtaken .sprite{width:24px;height:24px;margin-left:-10px;flex:none}.gtaken .sprite:first-child{margin-left:0}.gtaken em{font-style:normal;font-weight:800;font-size:12.5px;color:var(--muted);margin-left:6px}.gside{display:flex;flex-direction:column;gap:12px;min-width:0}.gtools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gtool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;padding:8px 4px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);font-size:12px;font-weight:800;color:var(--ink);min-width:0}.gtool span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gtool.hint{background:var(--gold-soft);color:var(--gold);box-shadow:none}.gtool:disabled{opacity:.4}.gcoach{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 14px 14px 12px;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.gcoach .coach-face{width:34px;height:34px}.gcoach .coach-face .sprite{width:38px;height:38px}.gcoach-text{min-width:0;display:flex;flex-direction:column;gap:3px}.gcoach-text b{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.02em;line-height:1.25}.gcoach-text p{margin:0;font-size:14.5px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.gerror{color:#b3412b!important}.gmoves{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 6px 6px 14px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);min-width:0}.gmoves-label{font-size:12.5px;font-weight:800;color:var(--faint);flex:none}.gmoves p{margin:0;font-size:14px;color:var(--muted)}.gmoves ol{display:flex;gap:6px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1;font-variant-numeric:tabular-nums}.gmoves ol::-webkit-scrollbar{display:none}.gmoves li{flex:none;display:flex;gap:6px;align-items:center;padding:7px 10px;border-radius:12px;background:var(--fill);font-size:14px;font-weight:700;white-space:nowrap}.gmoves li i{font-style:normal;color:var(--faint);font-weight:600}.gmoves li.last{background:var(--blue-light);color:var(--primary)}.gsheet-backdrop{position:fixed;inset:0;z-index:60;background:#0a0c1461;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease}.gsheet{width:100%;max-width:480px;max-height:86svh;overflow-y:auto;background:var(--bg);border-radius:30px 30px 0 0;padding:14px 18px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:rise .35s var(--spring)}.gsheet:before{content:"";align-self:center;width:38px;height:5px;border-radius:3px;background:var(--fill)}.gsheet-head{display:flex;justify-content:space-between;align-items:center}.gsheet-head h2{font-size:19px}.gsheet-note{margin:0;font-size:13.5px;line-height:1.45;color:var(--muted)}.gsheet>.primary,.gsheet>.secondary{min-height:52px}.gsettings{display:flex;flex-direction:column;gap:18px}.gsettings section{display:flex;flex-direction:column;gap:9px}.gsettings h3{font-size:13px;font-weight:800;color:var(--muted);margin:0}.gsettings .settings-group{padding:0 14px}.gsettings .setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;min-height:56px}.gsettings .setting-row strong{display:block;font-size:15px}.gsettings .setting-row span{font-size:12.5px;color:var(--muted)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border-radius:14px;background:var(--fill)}.segmented button{min-height:38px;border-radius:11px;font-size:13.5px;font-weight:800;color:var(--muted)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #0000001f}.segmented button:disabled{opacity:.45}.gvalues{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.gvalues span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;border-radius:16px;background:var(--surface)}.gvalues .sprite{width:44px;height:44px}.gvalues b{font-family:var(--display);font-weight:600;font-size:15px}@keyframes rise{0%{transform:translateY(40px);opacity:0}}@keyframes fade{0%{opacity:0}}.game-v2.immersive .gcoach,.game-v2.immersive .gmoves,.game-v2.immersive .gtitle small{display:none}.game-v2.immersive .gboard>.board-wrap{width:calc(100% + 2 * var(--phone-gutter,20px));margin:0 calc(-1 * var(--phone-gutter,20px))}.game-v2.immersive .board3d{border-radius:0}@media(max-width:760px){.game-mode main{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.game-v2.immersive{min-height:calc(100svh - 30px - env(safe-area-inset-top) - env(safe-area-inset-bottom));justify-content:space-between}}@media(orientation:landscape)and (max-height:560px){.game-mode main{max-width:none;padding:max(8px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.game-v2{display:grid;grid-template-columns:min(calc(100svh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)),62vw) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;column-gap:18px;row-gap:8px;align-items:start}.gboard{display:contents}.gboard>.board-wrap{grid-column:1;grid-row:1/-1;width:100%;margin:0}.gbar{grid-column:2;grid-row:1}.gboard>.gplayer:first-child{grid-column:2;grid-row:2}.gboard>.gplayer:last-child{grid-column:2;grid-row:3}.gside{grid-column:2;grid-row:4;gap:8px}.gtool{min-height:48px;font-size:11px}.gcoach{padding:10px 12px}.gcoach-text p{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gtitle small{display:none}.game-v2.immersive .gboard>.board-wrap{width:100%;margin:0}.game-v2.immersive .board3d{border-radius:22px}}@media(prefers-reduced-motion:reduce){.gsheet,.gsheet-backdrop{animation:none}}:root[data-theme=dark] .gsheet-backdrop{background:#0000008c}:root[data-theme=dark] .gerror{color:#ff9a82!important}
