:root{color-scheme:dark;--bg:#12131b;--surface:#1b1d28;--line:#303341;--muted:#a2a5ba;--pink:#f4a6be;--cyan:#9ce4e2}
body{background:var(--bg);color:#f4f3fa;font-family:'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--cyan)}h1,h2,h3{letter-spacing:-.5px}h1{font-size:36px;line-height:1.2}h2{font-size:20px}small,.muted,.small-note{color:var(--muted)}.shell{display:block;max-width:1280px;margin:auto;padding:0 52px}.topbar{height:96px;padding:0;background:transparent;border-bottom:1px solid var(--line);display:flex;gap:28px}.brand{margin:0;font-size:22px;font-weight:800;letter-spacing:-1px;display:block;white-space:nowrap}.brand span{color:var(--pink)}.nav{display:flex;gap:10px;margin:auto;overflow:visible}.nav button{color:var(--muted);width:auto;padding:9px 18px;border-radius:6px;font-size:14px;display:block}.nav button.active{background:#ffffff0b;color:white;box-shadow:inset 0 -2px var(--pink)}.nav .count{background:#353647;color:var(--pink);margin-left:5px}.profile{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:700;letter-spacing:1px}.profile img{width:37px;height:37px;object-fit:cover;object-position:51% 33%;border-radius:50%;border:1px solid #b5b8c8}.profile:hover{color:var(--pink)}main{padding:34px 0 40px;max-width:none}.hero{border-radius:12px;background:#1b1d28;min-height:410px;padding:0;display:grid;grid-template-columns:1.12fr 1fr;position:relative;border:1px solid #303341;overflow:hidden}.hero-copy{padding:51px 0 44px 44px;z-index:2;position:relative}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:2px}.hero h1{font-size:clamp(38px,4.7vw,62px);line-height:1.07;letter-spacing:-2.8px;margin:22px 0 20px;font-weight:750}.hero h1 em{font-style:normal;color:var(--pink)}.hero p{color:#b6b8ca;font-size:14px;line-height:1.8}.btn{background:var(--pink);border-color:var(--pink);color:#23212c;border-radius:5px;font-weight:650;font-size:13px;padding:11px 19px}.btn:hover{background:#ffd0de;border-color:#ffd0de}.btn.secondary{background:#222431;border:1px solid #414452;color:#e5e4ee}.btn.secondary:hover{background:#323547;border-color:#636777}.btn.small{font-size:12px}.hero .btn{margin-top:27px;min-width:190px;justify-content:space-between}.hero-meta{font-size:9px;letter-spacing:1px;color:#a5a8bb;margin-top:22px}.hero-meta span{margin:0 10px;color:#66697b}.hero-visual{position:relative;min-width:0;background:linear-gradient(125deg,transparent 30%,#31333e 30%,#252732 75%,#39313f 75%)}.character{position:absolute;height:485px;max-width:none;bottom:-75px;left:-10px;filter:drop-shadow(0 12px 25px #0005);z-index:1}.art-number{font-size:250px;font-weight:900;line-height:1;color:#ffffff06;position:absolute;top:12px;right:7px}.judgment-line{position:absolute;left:-80px;right:-40px;top:47%;height:2px;background:var(--cyan);transform:rotate(-18deg);opacity:.45}.character-caption{position:absolute;bottom:22px;right:20px;z-index:2;display:grid;background:#161822c9;backdrop-filter:blur(6px);padding:9px 16px;border-left:2px solid var(--pink)}.character-caption span{font-size:8px;letter-spacing:2px;color:#b8b8c9}.character-caption strong{font-size:15px;font-weight:500}.player-strip{display:flex;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.level-tag{font-size:22px;font-weight:750;color:var(--cyan);white-space:nowrap}.xp-track{flex:1;max-width:440px}.xp-track>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#c0c1d0;margin-bottom:7px}.xp-track small{font-size:10px}.progress{background:#2c2f3d;border-radius:2px;height:4px}.progress i{background:var(--cyan);border-radius:2px}.score-mini{display:grid;min-width:75px;line-height:1.3}.score-mini:first-of-type{margin-left:auto}.score-mini strong{font-size:24px}.score-mini small{font-size:13px;color:#8c90a6}.score-mini>span{font-size:11px;color:var(--muted);margin-top:5px}.section-head{margin:26px 0 15px}.section-head h2{font-size:18px}.text-link{font-size:12px;color:var(--cyan)}.topics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.topic-card{background:#1b1d28;border:1px solid var(--line);padding:20px;border-radius:8px}.topic-card:hover{border-color:var(--pink);background:#20222f}.topic-icon,.topic-card:nth-child(2n) .topic-icon{background:#2e2c3b;color:var(--pink);border-radius:5px;font-size:23px}.topic-card:nth-child(2n) .topic-icon{color:var(--cyan);background:#26343a}.topic-card h3{font-size:15px;font-weight:600;line-height:1.4}.topic-card p{font-size:12px;color:var(--muted);min-height:40px}.topic-card .arrow{color:#80849b}.topic-meta{border-color:var(--line);color:#a5a9bf;gap:8px;font-size:10px}.footer{margin:0;padding:17px 0 26px;border-color:var(--line);color:#9498ae;align-items:center;gap:20px;font-size:10px}.footer button{font-size:11px;color:#c5c7d7}.footer span:nth-child(2){margin-left:auto}.page-heading{margin-bottom:28px}.page-heading h1{font-size:34px;margin:10px 0}.page-heading p{color:var(--muted);max-width:640px}.panel,.question-row{background:var(--surface);border-color:var(--line);border-radius:8px}.badge{background:#203b39;color:#b3eece;font-size:10px}.badge.orange{background:#40303a;color:#ffc2d4}.badge.gray{background:#2b2e3d;color:#b3b6cb}.field{background:#151721;border-color:#3b3e50;color:#f3f3f8;border-radius:5px}.field::placeholder{color:#898da5}.filters select{max-width:210px}.q-info p,.q-num,.problem-meta,.answer-help,.note-saved{color:var(--muted)}.q-info h3{font-size:15px}.question-row{padding:19px 22px}.empty,.empty h2{color:var(--muted)}.lesson-main .formula{background:#242735}.body-p{color:#dcdde8}.callout{background:#223237;border-color:var(--cyan)}.callout.warn{background:#352b35;border-color:var(--pink)}.related,.training-actions,.solution,.history-row{border-color:var(--line)}.hint-box{background:#272938}.choice{border-color:#424558;background:#191b27}.choice b{background:#2d3040;color:#b8bbcf}.choice.selected{border-color:var(--pink);background:#392b3a}.choice.selected b{background:var(--pink);color:#20212b}.feedback{background:#382c35;color:#ffc3d2}.feedback.good{background:#203833;color:#b1edcd}.feedback p{color:inherit}.solution .step{color:var(--cyan)}.problem-panel h1{font-size:27px}.problem-text{color:#efedf5;font-size:17px}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-layout,.training-layout{grid-template-columns:minmax(0,2.1fr) minmax(245px,1fr)}.timer{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--cyan);min-width:72px;text-align:right}.timer.urgent{color:#ff9caf}.queue-progress{background:#2c3040}.queue-progress i{background:var(--cyan)}.stat{background:var(--surface);border-color:var(--line)}.stat strong{font-family:inherit;font-weight:650;color:#eeeefa}.stat-label,.stat small{color:var(--muted)}.summary-score{color:var(--cyan);font-family:inherit}.backup p{color:var(--muted)}dialog{background:#222431;border-color:#484b5c;color:#eeeef5}dialog::backdrop{background:#060710bb}#toast{background:#eeebf7;color:#1c2030;box-shadow:0 8px 30px #0007}.storage-warning{background:#47313e;color:#ffcad7}.skip{background:var(--pink);color:#111}.katex-error{color:#ff839c!important}
@media(max-width:1050px){.shell{padding:0 30px}.hero-copy{padding-left:30px}.hero h1{font-size:48px}.character{left:-40px}.hero{min-height:410px}.topics{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-card p{min-height:0}.topbar{height:82px}.training-layout,.lesson-layout{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:760px){.shell{padding:0 20px}.topbar{height:76px;gap:12px;flex-wrap:wrap}.brand{font-size:19px}.nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding:7px 0}.nav button{font-size:13px;flex:1;padding:7px}.topbar{height:auto;padding-top:19px}.profile{margin-left:auto;margin-bottom:15px}.brand{margin-bottom:15px}.profile img{width:30px;height:30px}.hero{min-height:390px;grid-template-columns:1.2fr 1fr}.hero-copy{padding:35px 0 30px 25px}.hero h1{font-size:40px;letter-spacing:-1.6px}.hero p{font-size:12px}.character{height:390px;left:-60px;bottom:-35px}.hero-meta{font-size:8px;max-width:210px;line-height:1.8}.hero-meta span{margin:0 5px}.hero .btn{min-width:165px}.character-caption{right:10px;bottom:15px;padding:6px 10px}.character-caption span{font-size:7px}.character-caption strong{font-size:12px}.player-strip{gap:18px}.level-tag{font-size:18px}.score-mini{min-width:40px}.score-mini strong{font-size:20px}.xp-track small{display:none}.page-heading h1{font-size:28px}.lesson-layout,.training-layout,.stats-details{grid-template-columns:1fr}.training-layout aside{display:block}.training-layout aside .panel{margin-top:15px!important}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer span:nth-child(2){display:none}.footer button{margin-left:auto}.page-heading{display:block}.page-heading>.btn{margin-top:14px}.question-row>.badge{display:none}.filters select{max-width:100%}.stats{grid-template-columns:repeat(2,1fr)}.timer{font-size:21px}.question-row{padding:17px 14px}}
@media(max-width:480px){main{padding-top:22px}.hero{min-height:408px;display:block}.hero-copy{padding:29px 20px;max-width:73%}.hero-copy h1{font-size:38px;position:relative;z-index:3}.hero-copy p{max-width:170px;font-size:12px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-visual{position:absolute;inset:0 0 0 45%;z-index:0;opacity:.65}.character{height:335px;bottom:-12px;left:-48px}.hero-copy{background:linear-gradient(90deg,#1b1d28 20%,#1b1d28d9 66%,transparent)}.hero .btn{min-width:155px;margin-top:24px}.hero-meta{max-width:155px;font-size:8px}.character-caption{bottom:14px;right:5px}.art-number{font-size:150px}.topics{gap:10px}.topic-card{padding:15px}.topic-card h3{font-size:14px}.topic-card p{font-size:11px;min-height:35px}.topic-meta{font-size:9px}.topic-meta span:last-child{display:none}.player-strip{gap:12px}.level-tag{font-size:16px}.score-mini strong{font-size:18px}.score-mini>span{font-size:9px}.xp-track{min-width:0}.score-mini small{font-size:10px}.lesson-grid{grid-template-columns:1fr}.problem-panel{padding:20px}.problem-text{font-size:16px}.answer-row{flex-direction:column}.answer-row .field{max-width:none}.training-top{gap:8px}.training-top .small-note{font-size:10px}.timer{font-size:19px}.page-heading h1{font-size:27px}.footer{font-size:9px}.katex{font-size:1.07em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.celebration{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.combo-banner{position:absolute;top:22%;left:50%;transform:translateX(-50%);text-align:center;display:grid;padding:18px 34px;background:#161927eb;border:1px solid #f4a6be88;border-radius:10px;box-shadow:0 10px 60px #0007;animation:combo-pop 2.5s both}.combo-banner strong{font-size:clamp(32px,7vw,60px);font-style:italic;line-height:1.1;color:#ffe5ee;letter-spacing:-2px;text-shadow:3px 3px 0 #a15580}.combo-banner span{font-size:19px;letter-spacing:5px;font-weight:750;color:#9ce4e2;margin-top:9px;white-space:nowrap}.confetti{position:absolute;left:var(--x);top:-25px;border-radius:1px;animation:confetti-fall var(--duration) var(--delay) cubic-bezier(.2,.6,.45,1) both}@keyframes confetti-fall{0%{transform:translate3d(0,-10px,0) rotate(0);opacity:1}85%{opacity:1}100%{transform:translate3d(var(--drift),105vh,0) rotate(var(--spin));opacity:0}}@keyframes combo-pop{0%{opacity:0;transform:translateX(-50%) scale(.75)}12%,75%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(1.05)}}@media(prefers-reduced-motion:reduce){.combo-banner{animation:none}.confetti{display:none}}
.xp-change{float:right;font-size:12px;font-weight:650;margin-left:12px}
.notebook-panel{border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin-bottom:26px;display:flex;align-items:center;gap:20px;background:var(--surface)}.notebook-panel>div{flex:1}.notebook-panel strong{font-size:13px}.notebook-panel p{font-size:11px;color:var(--muted);margin-top:4px}.notebook-panel a{white-space:nowrap}@media(max-width:700px){.notebook-panel{flex-wrap:wrap;gap:12px}.notebook-panel>div{flex-basis:100%}}

.lesson-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.lesson-layout>*{min-width:0}.lesson-depth{margin-top:36px;border-top:1px solid var(--line);padding-top:22px}.depth-section{margin:24px 0}.depth-section h3{color:var(--cyan);margin-bottom:10px}.lesson-depth p,.lesson-depth li{line-height:1.85}.lesson-depth h2{margin-top:30px}.worked-example{background:#222431;border:1px solid var(--line);border-radius:8px;padding:22px;margin:16px 0 24px}.worked-example h3{margin:8px 0 12px}.worked-example ol{padding-left:22px}.worked-example li{padding-left:6px;margin:13px 0}.depth-practice{padding:18px 0;border-bottom:1px solid var(--line)}.depth-practice details{margin-top:12px}.depth-practice summary,.tutor-preview summary{cursor:pointer;color:var(--cyan);font-size:12px}.depth-practice details p{padding:12px;border-left:2px solid var(--cyan);margin-top:12px}.lesson-main .katex-display{overflow-x:auto;overflow-y:hidden;padding:6px 0}.tutor-panel{margin:0 0 18px;padding:22px;border-top:2px solid var(--pink)}.tutor-panel h3{margin-top:8px}.tutor-tabs{display:flex;gap:4px;background:#12131b;padding:4px;border-radius:6px;margin:16px 0}.tutor-tabs button{flex:1;font-size:12px;border-radius:4px;padding:8px 4px;color:var(--muted)}.tutor-tabs button[aria-pressed=true]{background:#343344;color:#ffe5ee}.tutor-panel textarea{width:100%;min-height:96px;resize:vertical;margin:6px 0 12px}.tutor-panel .btn{margin:4px 3px 4px 0}.tutor-suggestions{display:flex;gap:6px;margin:14px 0}.tutor-suggestions button{border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:11px;color:var(--cyan)}.tutor-status{margin-top:12px}.tutor-messages{max-height:350px;overflow-y:auto}.tutor-message{padding:12px;border-radius:7px;background:#252b39;margin:10px 0;overflow-wrap:anywhere}.tutor-message.user{background:#342b3a}.tutor-message strong{font-size:11px;color:var(--cyan)}.tutor-message p{white-space:pre-wrap;font-size:13px}.tutor-preview{margin-top:12px}.tutor-preview textarea{font-size:11px;min-height:180px}@media(max-width:900px){.lesson-layout{grid-template-columns:minmax(0,1fr) 300px}.shell{padding-left:24px;padding-right:24px}}@media(max-width:700px){.lesson-layout{grid-template-columns:1fr}.worked-example{padding:16px}.lesson-depth .section-head{display:block}.shell{padding-left:20px;padding-right:20px}}

.cloud-login-form{flex:1;max-width:520px}.cloud-login-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.cloud-login-form>div{display:flex;gap:8px}.cloud-login-form input{min-width:0;flex:1}.cloud-login-form button{white-space:nowrap}@media(max-width:700px){.cloud-login-form{flex-basis:100%;max-width:none}.cloud-login-form>div{flex-wrap:wrap}.cloud-login-form input{min-width:160px}}
