select{appearance:none;font:inherit;color:var(--text);background-color:var(--card);border:1px solid var(--border);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 10px center;background-repeat:no-repeat;border-radius:10px;padding:8px 30px 8px 12px}select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:220px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-nav{scrollbar-width:thin;flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow-y:auto}.logo{color:inherit;align-items:center;gap:8px;padding:8px 12px 20px;text-decoration:none;display:flex}.logo-dot{background:var(--accent);border-radius:3px;width:10px;height:10px}.logo-text{letter-spacing:-.01em;font-size:16px;font-weight:600}.logo-sub{color:var(--muted);font-size:12px;font-weight:400}.subject-picker{margin:0 12px 6px;position:relative}.subject-picker-trigger{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 12px;transition:border-color .15s,background .15s;display:flex}.subject-picker-trigger:hover{border-color:var(--border-strong)}.subject-picker-trigger.open{border-color:var(--accent);background:var(--surface)}.subject-picker-value{flex-direction:column;gap:1px;min-width:0;display:flex}.subject-picker-caption{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);font-size:10px;font-weight:600}.subject-picker-current{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.subject-picker-chevron{width:16px;height:16px;color:var(--muted);flex:none;transition:transform .18s}.subject-picker-trigger.open .subject-picker-chevron{transform:rotate(180deg)}.subject-picker-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow);z-index:30;max-height:264px;margin:0;padding:4px;list-style:none;animation:.16s ease-out subject-menu-pop;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}@keyframes subject-menu-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.subject-picker-option{border-radius:var(--r-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:500;transition:background .12s;display:flex}@media (hover:hover){.subject-picker-option:hover{background:var(--bg)}}.subject-picker-option.active{color:var(--accent);font-weight:600}.subject-picker-option.soon{color:var(--muted-2);cursor:not-allowed}.subject-picker-option.soon:hover{background:0 0}.subject-picker-soon{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);background:var(--neutral-box);border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:700}.subject-picker-check{width:16px;height:16px;color:var(--accent);flex:none}.nav-section{letter-spacing:.02em;color:var(--muted-2);padding:16px 12px 6px;font-size:11px;font-weight:500}.nav-item{border-radius:var(--r-sm);color:var(--muted);align-items:center;gap:11px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}@media (hover:hover){.nav-item:hover{background:var(--neutral-box);color:var(--text)}}.nav-item.active{background:var(--neutral-box);color:var(--text);position:relative}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item.active .icon{color:var(--accent)}.nav-item .icon{width:20px;height:20px;color:var(--muted-2);flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.nav-item:hover .icon{color:var(--text)}.sidebar-bottom{border-top:1px solid var(--border);margin-top:auto}.sidebar-footer{align-items:center;gap:8px;padding:14px 12px 8px;display:flex}.sidebar-profile-link{border-radius:var(--r-md);min-width:0;color:var(--text);flex:1;align-items:center;gap:10px;margin:-6px;padding:6px;text-decoration:none;display:flex}.sidebar-profile-link:hover{background:var(--sunk)}.sidebar-profile-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar{background:var(--accent);width:32px;height:32px;color:var(--accent-on);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.sidebar-user{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.sidebar-user .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.sidebar-plan-badge{background:var(--accent-soft);color:var(--accent);border-radius:5px;flex-shrink:0;padding:3px 6px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.sidebar-logout{color:var(--muted-2);border-radius:var(--r-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:8px;transition:color .15s,background .15s;display:inline-flex}.sidebar-logout:hover{color:var(--text);background:var(--neutral-box)}.sidebar-meta{justify-content:space-between;align-items:baseline;gap:8px;padding:0 12px 12px;display:flex}.sidebar-version{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px}.sidebar-legal{min-width:0;font-size:11px}.sidebar-legal summary{width:fit-content;color:var(--muted);cursor:pointer;padding:6px 0}.sidebar-legal-links{flex-direction:column;align-items:flex-start;padding-top:2px;display:flex}.sidebar-legal a{color:var(--muted);padding:5px 0;text-decoration:none;transition:color .15s}.sidebar-legal a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.sidebar-legal summary:hover{color:var(--text)}.sidebar-legal summary:focus-visible,.sidebar-legal a:focus-visible,.sidebar-logout:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.legal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:720px;margin:48px auto 72px;padding:40px 48px}.legal-content h1{color:var(--text);margin:0 0 4px;font-size:22px;font-weight:700}.legal-content .legal-date{color:var(--muted);margin:0 0 32px;font-size:12px}.legal-content h2{color:var(--text);margin:28px 0 8px;font-size:15px;font-weight:600}.legal-content p{color:var(--text);margin:0 0 12px;font-size:13px;line-height:1.7}.legal-content ul{margin:0 0 12px;padding-left:20px}.legal-content li{color:var(--text);margin-bottom:4px;font-size:13px;line-height:1.7}.legal-content a{color:var(--accent);text-decoration:none}.legal-content a:hover{text-decoration:underline}@media (max-width:600px){.legal-content{padding:24px 20px}}.content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{align-items:center;gap:16px;width:100%;max-width:1280px;margin:0 auto;padding:28px 40px 4px;display:flex}.topbar-title{letter-spacing:-.01em;font-size:18px;font-weight:600}.topbar-sub{color:var(--muted);margin-top:3px;font-size:13px}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.screen{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:16px 40px 48px;overflow-y:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}.card-title{letter-spacing:.01em;color:var(--muted);margin-bottom:18px;font-size:13px;font-weight:500}.card-title-text{align-items:center;gap:8px;display:inline-flex}.card-help-btn{border:1px solid var(--border);background:var(--bg);width:20px;height:20px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.card-help-btn:hover,.card-help-btn[aria-expanded=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.card-help-note{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--muted);margin:-6px 0 14px;padding:12px 14px;font-size:13px;line-height:1.5}.card-help-note b{color:var(--text)}.col{flex-direction:column;gap:16px;display:flex}.muted{color:var(--muted);font-size:13px}.error{color:var(--danger);font-size:13px}.loading{text-align:center;color:var(--muted);padding:40px}.error-fallback{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:8px;margin:16px 0;padding:16px;font-size:13px;display:flex}.exam-timer{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:100px;padding:6px 14px;font-size:18px;font-weight:700}.exam-timer.urgent{background:var(--danger-soft);color:var(--danger);animation:1.2s ease-in-out infinite pulse-urgent}@keyframes pulse-urgent{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.exam-start,.exam-preparing,.exam-result-card{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;margin:0 auto;padding:36px 28px;display:flex}.exam-start-icon{background:var(--accent-soft);width:72px;height:72px;color:var(--accent);border-radius:22px;justify-content:center;align-items:center;font-size:32px;display:flex}.exam-start-title{margin:6px 0 0;font-size:20px;font-weight:700}.exam-start-meta{color:var(--muted);font-size:14px}.exam-start-list{text-align:left;color:var(--text);background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;width:100%;margin:0;padding:16px;font-size:14px;line-height:1.5;list-style:none;display:flex}.exam-start-list strong{color:var(--accent);margin-right:6px}.exam-start-btn{margin-top:6px;padding:12px 28px;font-size:14px;font-weight:600}.exam-progress{background:var(--neutral-box);border-radius:100px;width:100%;height:10px;overflow:hidden}.exam-progress-bar{background:var(--accent);height:100%;transition:width .25s ease-out}.exam-running{flex-direction:column;gap:16px;display:flex}.exam-nav-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;display:grid}.exam-nav-cell{aspect-ratio:1;background:var(--card);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:8px;padding:0;font-size:12px;font-weight:600;transition:background .1s,border-color .1s,color .1s,transform 80ms}.exam-nav-cell:hover:not(.current){border-color:var(--accent);color:var(--accent)}.exam-nav-cell.answered{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, var(--card));color:var(--accent)}.exam-nav-cell.current{background:var(--accent);border-color:var(--accent);color:var(--accent-on);transform:scale(1.05)}.exam-nav-cell.failed{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 40%, var(--card));color:var(--danger);cursor:not-allowed;opacity:.6}.exam-problem{gap:14px}.exam-problem-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.exam-problem-num{font-size:15px;font-weight:700}.exam-problem-topic{color:var(--muted);margin-top:2px;font-size:12px}.exam-finish{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:8px;padding:6px 12px;font-size:12px}.exam-finish:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.exam-answer-input{border:2px solid var(--border);border-radius:10px;width:100%;padding:14px 16px;font-size:16px}.exam-answer-input:focus{border-color:var(--accent);box-shadow:none}.exam-step-nav{border-top:1px solid var(--border);justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px;display:flex}.exam-step-nav .ghost{border:1px solid var(--border);color:var(--muted);background:0 0;padding:9px 16px;font-size:13px}.exam-step-nav .ghost:hover:not(:disabled){color:var(--text);background:var(--bg)}.exam-step-nav .primary{padding:9px 18px;font-size:13px;font-weight:600}.exam-finished{flex-direction:column;gap:16px;display:flex}.exam-result-score{font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}.exam-result-pct{color:var(--muted);margin-left:6px;font-size:18px;font-weight:500}.exam-result-row{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.exam-result-mark{background:var(--neutral-box);width:28px;height:28px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.exam-result-mark.ok{background:var(--success-soft);color:var(--success)}.exam-result-mark.err{background:var(--danger-soft);color:var(--danger)}.exam-result-mark.skip{background:var(--warn-soft);color:var(--warn)}.exam-result-actions{gap:8px;margin-top:10px;display:flex}.exam-result-actions .ghost{border:1px solid var(--border);color:var(--muted);background:0 0;padding:10px 18px;font-size:13px}.exam-result-actions .primary{padding:10px 18px;font-size:13px;font-weight:600}.exam-review{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.exam-review-item{border-bottom:1px solid var(--border);border-left:3px solid #0000;padding-left:8px}.exam-review-item:last-child{border-bottom:none}.exam-review-item.ok{border-left-color:var(--success)}.exam-review-item.err{border-left-color:var(--danger)}.exam-review-item.failed{border-left-color:var(--warn)}.exam-review-head{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;padding:12px 8px;display:grid}@media (hover:hover){.exam-review-head:hover{background:var(--bg)}}.exam-review-num{color:var(--muted);font-size:14px;font-weight:700}.exam-review-topic{color:var(--text);font-size:13px}.exam-review-body{flex-direction:column;gap:12px;padding:8px 8px 16px;font-size:13px;display:flex}.exam-review-answers{flex-wrap:wrap;gap:24px;display:flex}@media (max-width:600px){.exam-start,.exam-preparing,.exam-result-card{padding:24px 18px}.exam-result-score{font-size:26px}.exam-step-nav{flex-direction:column}.exam-step-nav .ghost,.exam-step-nav .primary{width:100%}.exam-review-head{grid-template-columns:40px 1fr auto}}.error-fallback button{align-self:flex-start;padding:6px 12px;font-size:12px}.onboard-overlay{z-index:1000;background:#18181b80;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out onboard-fade;display:flex;position:fixed;inset:0}@keyframes onboard-fade{0%{opacity:0}to{opacity:1}}.onboard-card{background:var(--card);text-align:center;border-radius:18px;width:100%;max-width:460px;padding:36px 32px 24px;animation:.28s cubic-bezier(.16,1,.3,1) onboard-pop;position:relative;box-shadow:0 20px 60px #10182847}@keyframes onboard-pop{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.onboard-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;width:32px;height:32px;padding:0;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.onboard-close:hover{color:var(--text);background:var(--bg)}.onboard-icon{border-radius:var(--r-lg);background:var(--accent-soft);width:80px;height:80px;color:var(--accent);justify-content:center;align-items:center;margin:4px auto 18px;font-size:36px;display:flex}.onboard-title{color:var(--text);margin:0 0 10px;font-size:20px;font-weight:700}.onboard-text{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.6}.onboard-name-input{box-sizing:border-box;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;outline:none;margin:0 0 22px;padding:11px 14px;font-size:15px;transition:border-color .15s}.onboard-name-input:focus{border-color:var(--accent)}.onboard-dots{justify-content:center;gap:8px;margin-bottom:22px;display:flex}.onboard-dot{background:var(--border-strong);border-radius:50%;width:8px;height:8px;transition:background .15s,transform .15s,width .15s}.onboard-dot.active{background:var(--accent);border-radius:4px;width:22px}.onboard-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.onboard-actions .ghost{border:1px solid var(--border);color:var(--muted);background:0 0;padding:9px 14px;font-size:13px}.onboard-actions .ghost:hover:not(:disabled){color:var(--text);background:var(--bg)}.onboard-actions .primary{padding:9px 18px;font-size:13px}.onboard-overlay--spot{background:0 0;animation:none}.onboard-spot{border:2px solid var(--accent);pointer-events:none;z-index:1;border-radius:12px;transition:top .26s cubic-bezier(.22,1,.36,1),left .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1);position:fixed;box-shadow:0 0 0 9999px #18181b8c}.onboard-spot:after{content:"";border-radius:inherit;animation:1.7s ease-out infinite onboard-ring;position:absolute;inset:-2px}@keyframes onboard-ring{0%{box-shadow:0 0 #4f56c980}70%{box-shadow:0 0 0 12px #4f56c900}to{box-shadow:0 0 #4f56c900}}.onboard-tour{text-align:left;z-index:2;max-width:380px;padding:22px 22px 16px}.onboard-tour.is-anchored{animation:.26s cubic-bezier(.16,1,.3,1) onboard-slide}@keyframes onboard-slide{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.onboard-tour-head{align-items:flex-start;gap:13px;margin-bottom:12px;display:flex}.onboard-tour-icon{border-radius:var(--r-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:flex}.onboard-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:3px;font-size:11px;font-weight:700}.onboard-tour .onboard-title{margin:0;font-size:17px}.onboard-tour .onboard-text{margin:0 0 18px}.onboard-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.onboard-foot .onboard-dots{margin:0}.onboard-name-card{max-width:420px}.onboard-name-card .onboard-tour-icon{margin:4px auto 16px}.mobile-burger,.sidebar-backdrop{display:none}@media (max-width:720px){.app-shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.sidebar{z-index:60;width:260px;max-width:84vw;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom));transition:transform .22s cubic-bezier(.22,1,.36,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #10182800}.sidebar.open{transform:translate(0);box-shadow:4px 0 20px #1018282e}.sidebar-backdrop{z-index:55;opacity:0;pointer-events:none;background:#10182866;transition:opacity .2s;display:block;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.mobile-burger{top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));z-index:50;background:var(--card);border:1px solid var(--border);width:40px;height:40px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:500;display:flex;position:fixed;box-shadow:0 2px 8px #1018280f}.mobile-burger:hover{background:var(--bg)}.topbar{padding:16px 16px 4px 64px}.screen{padding:12px 16px 88px}.topbar-title{font-size:17px}}@media (max-width:600px){.hero{padding:18px}.hero-greeting{font-size:19px}.hero-left{width:100%;min-width:0}.hero-right{width:100%}.exam-widget{width:100%;min-width:0}.hero-cta-row{width:100%}.hero-cta{text-align:center;flex:1}.problem-head{gap:10px}.problem-head .field-topic,.problem-head .field{flex:100%;width:100%;min-width:0}button.primary.generate-btn{justify-content:center;width:100%}.problem-panel{padding:16px}.problem-text{padding:14px;font-size:14px}.answer-row{flex-direction:column}.answer-row input{padding:12px 14px}.answer-row .primary{width:100%}.action-bar{flex-direction:column}.action-bar button{width:100%}.chat-panel{min-height:360px}.chat-body{max-height:420px;padding:14px}.chat-suggestions{grid-template-columns:1fr}.chat-input-shell{margin:10px 12px 6px}.chat-disclaimer{margin:0 12px 12px}.attempt{grid-template-columns:1fr auto;grid-template-areas:"problem result""time time";row-gap:6px}.attempt-problem{grid-area:problem}.attempt-time{grid-area:time;font-size:11px}.attempt-result{grid-area:result;justify-self:end}.hist-row{grid-template-columns:1fr auto;grid-template-areas:"problem result""time time";row-gap:6px;padding:12px 14px}.hist-header{display:none}.hist-problem{grid-area:problem}.hist-time{grid-area:time;font-size:11px}.hist-result{grid-area:result;justify-self:end}.filter{min-height:44px;padding:6px 12px;font-size:12px}.action-bar button,.feedback-action,.board-toggle,.feedback-toggle,.chat-suggestion,.chat-followup{min-height:44px}.heatmap,.activity{gap:6px}.profile-stats{grid-template-columns:1fr 1fr}.streak-head{flex-wrap:wrap;gap:14px}.streak-best{text-align:left;border-left:none;margin-left:0;padding-left:0}.streak-num{font-size:32px}.streak-nudge{flex-direction:column;align-items:stretch}.streak-nudge .primary{width:100%;margin-left:0}.streak-day-dot{width:34px;height:34px;font-size:13px}.task-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.mini-stats{grid-template-columns:1fr 1fr}.onboard-card{border-radius:14px;padding:28px 20px 18px}.onboard-icon{width:68px;height:68px;margin-bottom:14px;font-size:30px}.onboard-title{font-size:18px}.onboard-actions{flex-wrap:wrap}.onboard-actions .primary{flex:1}.auth-card{border-radius:14px;padding:20px 18px}.analysis-card{padding:16px}.analysis-card-header{align-items:flex-start}.analysis-btn{width:100%;margin-left:0}.feedback-action{text-align:center;width:100%}.detail-answers{flex-direction:column;gap:12px}}@supports (-webkit-touch-callout:none){button,a,.nav-item,.hist-row,.task-card,.chat-suggestion{-webkit-tap-highlight-color:transparent}}.auth-card{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.auth-card button.primary{min-height:44px}.auth-card .muted a{text-underline-offset:2px;text-decoration:underline}.auth-card h2{margin:0;font-size:18px}.auth-links{justify-content:space-between;font-size:13px;display:flex}.consent-row{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.consent-row input{flex-shrink:0;width:auto;margin-top:2px}.field-aside{justify-content:flex-end;margin-top:6px;font-size:12.5px;display:flex}.auth-or{color:var(--muted-2);align-items:center;gap:12px;font-size:12px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.auth-alt{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.auth-alt:hover{background:var(--bg);border-color:var(--muted-2)}.auth-alt svg{color:var(--muted)}.auth-alt:hover svg{color:var(--text)}.code-head{align-items:flex-start;gap:12px;display:flex}.code-head h2{margin:0}.code-badge{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.code-sub{margin:4px 0 0;font-size:13px;line-height:1.45}.otp{cursor:text;position:relative}.otp-field{opacity:0;caret-color:#0000;cursor:text;border:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.otp-cells{gap:8px;display:flex}.otp-cell{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);font-variant-numeric:tabular-nums;min-width:0;height:54px;color:var(--text);flex:1 1 0;place-items:center;font-size:22px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.otp-cell.is-filled{background:var(--neutral-box)}.otp-cell.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.otp-cell.is-active:empty:after{content:"";background:var(--accent);border-radius:1px;width:2px;height:24px;animation:1.1s step-end infinite otp-caret}@keyframes otp-caret{50%{opacity:0}}.otp.is-error .otp-cell{border-color:var(--danger);background:var(--danger-soft)}.otp.is-error .otp-cell.is-active{box-shadow:0 0 0 3px var(--danger-soft)}@media (max-width:380px){.otp-cells{gap:6px}.otp-cell{height:48px;font-size:20px}}.auth-note{text-align:center;margin:0;font-size:12px}.vk-onetap{justify-content:center;min-height:44px;display:flex}.vk-oauth-list{justify-content:center;margin-top:4px;display:flex}.yandex-login{color:#fff;background:#000;border-color:#000;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 16px;font-size:15px;font-weight:500;display:flex}.yandex-login:hover:not(:disabled){background:#1f1f1f;border-color:#1f1f1f}.yandex-login-mark{color:#fff;background:#fc3f1d;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.hero{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;padding:32px 36px;display:flex}.hero-left{flex-direction:column;flex:1;gap:24px;min-width:260px;display:flex}.hero-right{flex-shrink:0;align-items:stretch;display:flex}.hero-greeting{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:600;line-height:1.15}.hero-sub{color:var(--muted);max-width:46ch;margin:-16px 0 0;font-size:16px;line-height:1.5}.hero-stats{flex-wrap:wrap;align-items:stretch;gap:36px;margin-top:4px;display:flex}@media (max-width:1200px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;width:100%;display:grid}.hero-stat-sep{display:none}.hero-stats .hero-stat-l{white-space:normal}}.hero-stat{flex-direction:column;gap:6px;display:flex}.hero-stat-btn{font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;margin:-8px -12px;padding:8px 12px;transition:background .15s}@media (hover:hover){.hero-stat-btn:hover{background:var(--bg)}}.hero-stat-sub{color:var(--success);font-weight:500}.hero-trend{vertical-align:6px;margin-left:4px;font-size:16px;font-weight:600}.hero-trend.up{color:var(--success)}.hero-trend.down{color:var(--m-low)}.dash-anchor{scroll-margin-top:76px}.hero-stat-v{color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1}.hero-stat-l{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.hero-stat-sep{background:var(--border);flex-shrink:0;align-self:stretch;width:1px}.hero-cta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-cta{background:var(--accent);color:var(--accent-on);border:1px solid var(--accent);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;padding:11px 20px;font-size:14px;font-weight:500;transition:background .18s,border-color .18s}.hero-cta:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:14px 18px;padding:20px 24px;display:flex}.empty-state-icon{color:var(--accent);flex-shrink:0;align-items:center;display:flex}.empty-state-body{flex:260px}.empty-state-title{color:var(--text);font-size:16px;font-weight:600}.empty-state-sub{color:var(--muted);max-width:60ch;margin-top:4px;font-size:14px;line-height:1.5}.empty-state .hero-cta{flex-shrink:0}@media (max-width:560px){.empty-state .hero-cta{width:100%}}.hero-streak-flame{color:var(--warn);vertical-align:-3px;align-items:center;margin-right:5px;display:inline-flex}.hero-stat--streak.at-risk .hero-stat-v{color:var(--warn)}.hero-streak-warn,.hero-streak-ok{border-radius:var(--r-sm);max-width:46ch;margin-top:-8px;padding:8px 12px;font-size:13px;font-weight:500}.hero--trail .hero-cta-row{align-items:center;gap:10px}.hero--trail .hero-streak-warn{background:0 0;border:0;align-items:center;gap:6px;max-width:34ch;margin:0;padding:0;font-size:12.5px;font-weight:500;line-height:1.35;display:flex}.hero-streak-warn{color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 35%, var(--card))}.hero-streak-ok{color:var(--success);background:var(--success-soft);border:1px solid color-mix(in srgb, var(--success) 35%, var(--card))}.hero-cta--exam{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.hero-cta--exam:hover:not(:disabled){background:var(--bg);border-color:var(--border-strong)}.exam-widget{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;justify-content:center;gap:12px;min-width:184px;padding:18px 20px;display:flex}.exam-widget-header{align-items:center;gap:6px;display:flex}.exam-widget-title{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;flex:1;font-size:11px;font-weight:500}.exam-widget-close{color:var(--muted-2);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:1px 4px;font-size:12px;line-height:1;transition:color .15s,background .15s}.exam-widget-close:hover{color:var(--text);background:var(--neutral-box)}.exam-widget-body{flex-direction:column;gap:2px;display:flex}.exam-widget-days-row{align-items:baseline;gap:8px;line-height:1;display:flex}.exam-widget-days-num{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-size:36px;font-weight:600;line-height:1}.exam-widget-days-label{color:var(--muted);font-size:14px;font-weight:400}.exam-widget-date{color:var(--muted);margin-top:6px;font-size:13px;font-weight:400}.exam-widget-official{color:var(--muted-2);font-weight:400}.exam-setup{flex-direction:column;gap:10px;display:flex}.exam-setup-label{color:var(--text);font-size:13px;font-weight:500}.exam-setup input[type=date]{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;padding:8px 10px;font-size:14px}.exam-setup input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.exam-setup-actions{justify-content:flex-end;gap:8px;display:flex}.exam-setup .ghost{color:var(--muted);border:1px solid var(--border-strong);background:0 0;padding:7px 12px;font-size:12px}.exam-setup .ghost:hover:not(:disabled){background:var(--neutral-box);color:var(--text)}.exam-setup .primary{padding:7px 14px;font-size:12px}.exam-setup .error{color:var(--danger);font-size:12px}.dashboard{flex-direction:column;gap:28px;display:flex}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;display:grid}.dashboard-col{flex-direction:column;gap:28px;min-width:0;display:flex}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:820px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-box{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px}.stat-box .v{font-size:22px;font-weight:700}.stat-box .l{color:var(--muted);margin-top:2px;font-size:12px}.row-between{justify-content:space-between;align-items:center;display:flex}.heatmap{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;display:grid}.vessel{font:inherit;cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 4px;text-decoration:none;transition:background .15s;display:flex;position:relative}@media (hover:hover){.vessel:hover{background:var(--bg)}}.vessel.selected{background:var(--accent-soft)}.flask{aspect-ratio:40/52;width:100%;height:auto}.flask-outline{stroke:var(--border-strong);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s}.vessel:hover .flask-outline{stroke:var(--text)}.flask-liquid{fill:currentColor}.vessel-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;line-height:1}.vessel.empty .flask-outline{stroke:var(--border)}.vessel.low{color:var(--m-low)}.vessel.mid-low{color:var(--m-mid-low)}.vessel.mid{color:var(--m-mid)}.vessel.high{color:var(--m-high)}.vessel.full{color:var(--m-full)}.vessel.low-data{color:var(--border-strong)}.vessel.stale .flask-liquid{opacity:.4}.vessel-trend{font-size:11px;font-weight:700;line-height:1;position:absolute;top:2px;right:4px}.vessel-trend.up{color:var(--m-full)}.vessel-trend.down{color:var(--m-low)}.hm-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:16px;font-size:11px;display:flex}.hm-legend-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.legend-vessel{vertical-align:middle;border-radius:3px;width:12px;height:12px;display:inline-block}.legend-vessel.low{background:var(--m-low)}.legend-vessel.mid-low{background:var(--m-mid-low)}.legend-vessel.mid{background:var(--m-mid)}.legend-vessel.high{background:var(--m-high)}.legend-vessel.full{background:var(--m-full)}.legend-vessel.low-data{background:var(--border-strong)}.hm-legend-note{color:var(--muted-2);margin-top:6px;font-size:11px}.hm-forecast{border-radius:var(--r-md);background:var(--bg);color:var(--muted);margin-top:14px;padding:10px 12px;font-size:13px}.hm-forecast b{color:var(--text)}.hm-detail{border:1px solid var(--border);border-radius:var(--r-md);margin-top:12px;padding:12px 14px}.hm-detail-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.hm-detail-title{font-size:14px;font-weight:600}.hm-detail-close{cursor:pointer;color:var(--muted-2);border-radius:var(--r-sm);background:0 0;border:0;padding:2px 4px;font-size:13px}.hm-detail-close:hover{color:var(--text);background:var(--bg)}.hm-detail-stats{color:var(--muted);flex-direction:column;gap:3px;margin-top:8px;font-size:13px;display:flex}.hm-detail-stats b{color:var(--text)}.hm-trend-word.up{color:var(--m-full)}.hm-trend-word.down{color:var(--m-low)}.hm-detail-note{color:var(--muted);margin:8px 0 0;font-size:12.5px}.hm-detail-note.stale-note{color:var(--m-mid-low)}.hm-detail-actions{margin-top:10px}.hm-detail-cta{border-radius:var(--r-md);background:var(--accent);color:var(--accent-on);padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.hm-detail-cta:hover{background:var(--accent-hover)}.activity{border-bottom:1px solid var(--border);align-items:flex-end;gap:12px;height:132px;padding-top:22px;display:flex}.activity-day{min-width:0;height:100%;font:inherit;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;padding:0;display:flex}.activity-day:disabled{cursor:default}.activity-day.selected .bar-lbl{color:var(--text);font-weight:600}.activity-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex;position:relative}.bar{z-index:2;background:var(--success);border-radius:var(--r-sm) var(--r-sm) 0 0;width:52%;max-width:24px;transition:background .15s;position:relative;overflow:hidden}.bar-miss{background:#cbe6d6;background:color-mix(in srgb, var(--success) 25%, var(--card));position:absolute;top:0;left:0;right:0}@media (hover:hover){.activity-day:hover .bar:not(.empty){background:color-mix(in srgb, var(--success) 82%, var(--text))}}.bar.today{background:color-mix(in srgb, var(--success) 88%, var(--text))}@media (hover:hover){.activity-day:hover .bar.today{background:color-mix(in srgb, var(--success) 72%, var(--text))}}.bar.empty{background:0 0}.bar-tick{z-index:3;border-top:2px dashed var(--muted-2);pointer-events:none;width:76%;max-width:34px;height:0;position:absolute;left:50%;transform:translate(-50%)}.bar-value{color:var(--muted);font-variant-numeric:tabular-nums;z-index:3;font-size:12px;font-weight:500;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.bar-lbl{color:var(--muted);margin-top:8px;font-size:11px;font-weight:400}.activity-legend{color:var(--muted);gap:16px;margin-top:14px;font-size:11px;display:flex}.activity-legend-item{align-items:center;gap:6px;display:inline-flex}.activity-legend-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.activity-legend-swatch.now{background:var(--success)}.activity-legend-swatch.miss{background:#cbe6d6;background:color-mix(in srgb, var(--success) 25%, var(--card))}.activity-legend-swatch.prev{border-top:2px dashed var(--muted-2);background:0 0;border-radius:0;height:0;margin-top:4px}.activity-detail{background:var(--bg);border-radius:var(--r-md);color:var(--muted);margin-top:12px;padding:8px 12px;font-size:12.5px}.activity-detail b{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.activity-summary{color:var(--muted);margin-top:12px;font-size:12.5px}.pill.pill-pos{background:#2e9a5b1f;background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.profile{flex-direction:column;gap:16px;max-width:760px;display:flex}.password-edit{flex-direction:column;gap:8px;max-width:360px;display:flex}.subject-stats{flex-direction:column;display:flex}.subject-stats-row{border-bottom:1px solid var(--border);align-items:baseline;gap:14px;padding:9px 0;display:flex}.subject-stats-row:last-child{border-bottom:none}.subject-stats-name{min-width:150px;font-size:14px;font-weight:600}.subject-stats-line{font-variant-numeric:tabular-nums;font-size:13.5px}.subject-stats-foot{margin-top:10px;font-size:12px}.profile-header{align-items:center;gap:16px;display:flex}.profile-avatar{background:var(--accent);width:56px;height:56px;color:var(--accent-on);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:600;display:flex}.profile-ident{flex:1;min-width:0}.profile-name{font-size:16px;font-weight:600}.profile-name-row{align-items:center;gap:8px;display:flex}.profile-name-edit-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:2px;transition:color .15s,background .15s;display:inline-flex}.profile-name-edit-btn:hover{color:var(--accent);background:var(--bg)}.profile-name-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-name-edit input{min-width:140px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;outline:none;flex:1;padding:7px 10px;font-size:15px}.profile-name-edit input:focus{border-color:var(--accent)}.profile-name-edit .primary{padding:7px 14px;font-size:13px}.profile-name-edit .error{flex-basis:100%;margin:0}.profile-email{color:var(--muted);text-overflow:ellipsis;font-size:13px;overflow:hidden}.profile-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (max-width:820px){.profile-stats{grid-template-columns:repeat(2,1fr)}}.profile-stats>div{background:var(--bg);border-radius:10px;padding:14px}.profile-stats .v{font-size:20px;font-weight:700}.profile-stats .l{color:var(--muted);margin-top:2px;font-size:12px}.streak-card{flex-direction:column;gap:18px;display:flex}.streak-head{align-items:center;gap:14px;display:flex}.streak-flame{color:var(--muted-2);opacity:.55;align-self:flex-start;margin-top:1px;line-height:1;transition:color .2s,opacity .2s;display:inline-flex}.streak-flame.on{color:var(--warn);opacity:1;animation:2.4s ease-in-out infinite flame-bob}@keyframes flame-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-3px)rotate(2deg)}}.streak-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1}.streak-label{color:var(--muted-2);margin-top:5px;font-size:13px}.streak-best{text-align:right;border-left:1px solid var(--border);margin-left:auto;padding-left:16px;padding-right:4px}.streak-best-num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:1}.streak-best-label{color:var(--muted-2);margin-top:5px;font-size:12px}.streak-week{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.streak-day{flex-direction:column;align-items:center;gap:6px;display:flex}.streak-day-dot{border:1.5px solid var(--border-strong);width:34px;height:34px;color:var(--muted-2);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.streak-day.on .streak-day-dot{background:var(--success);border-color:var(--success);color:#fff}.streak-day.today .streak-day-dot{box-shadow:0 0 0 2px var(--card), 0 0 0 3.5px var(--accent)}.streak-day-lbl{color:var(--muted);font-size:11px}.streak-nudge{background:var(--bg);color:var(--text);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:13px;display:flex}.streak-nudge.warn{background:var(--warn-soft);color:var(--warn)}.streak-nudge.ok{background:var(--success-soft);color:var(--success)}.streak-nudge .primary{margin-left:auto;padding:7px 14px;font-size:12px}.exam-view{align-items:center;gap:14px;display:flex}.exam-view-days{font-size:18px;font-weight:600}.exam-view-date{color:var(--muted);margin-top:2px;font-size:13px}.exam-view .ghost{border:1px solid var(--border);margin-left:auto;padding:7px 14px;font-size:13px}.exam-edit{flex-direction:column;gap:10px;max-width:320px;display:flex}.exam-edit input[type=date]{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px}.exam-edit-actions{justify-content:flex-end;gap:8px;display:flex}.attempts{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.attempt{border-bottom:1px solid var(--border);grid-template-columns:1fr 140px 80px;align-items:center;gap:12px;padding:14px 0;display:grid}.attempt:last-child{border-bottom:none}.attempt-problem .title{font-size:13px;font-weight:500;line-height:1.4}.attempt-problem .title p{margin:0}.attempt-problem .topic{color:var(--muted);margin-top:2px;font-size:12px}.attempt-time{color:var(--muted);font-size:12px}.result-dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.result-dot.ok{background:var(--success)}.result-dot.err{background:var(--danger)}.pill{background:var(--chip);color:var(--muted);text-align:center;box-sizing:border-box;border-radius:100px;padding:4px 11px;font-size:12px;font-weight:500;display:inline-block}.pill.ok,.pill.err{min-width:72px}.pill.ok{background:var(--success-soft);color:var(--success)}.pill.err{background:var(--danger-soft);color:var(--danger)}.pill.acc{background:var(--accent-soft);color:var(--accent)}.attempt-result,.hist-result{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.practice-score{flex-direction:column;gap:8px;margin:0 0 16px;padding:0 2px;display:flex}.ps-row{align-items:flex-start;gap:28px;display:flex}.ps-item--solved{align-items:flex-end;margin-left:auto}.ps-item--solved .ps-value{justify-content:flex-end}.ps-track{background:var(--neutral-box);border-radius:999px;height:6px;overflow:hidden}.ps-track-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}@media (prefers-reduced-motion:reduce){.ps-track-fill{transition:none}}.ps-item{flex-direction:column;gap:2px;display:flex}.ps-value{color:var(--text);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:21px;font-weight:700;line-height:1.1;display:flex;position:relative}.ps-max{color:var(--muted-2);font-size:13px;font-weight:500}.ps-shift{letter-spacing:-.01em;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:700}.ps-shift.is-up{color:var(--success);background:var(--success-soft)}.ps-shift.is-down{color:var(--danger);background:var(--danger-soft)}.ps-label{color:var(--muted);font-size:11.5px}@media (max-width:720px){.topbar{flex-wrap:wrap}.practice-score{gap:18px}.ps-value{font-size:18px}.ps-label{font-size:11px}}.flow-switch{flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 14px;display:flex}.flow-modes{background:var(--neutral-box);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.flow-mode{width:32px;height:28px;color:var(--muted);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.flow-mode:hover:not([aria-pressed=true]){color:var(--text)}.flow-mode[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:0 1px 2px #18181b14}.flow-back{border:1px solid var(--border);background:var(--card);width:32px;height:32px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.flow-back:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.flow-back:disabled{opacity:.5}.auto-next{border-radius:var(--r-md);background:var(--neutral-box);color:var(--muted);align-items:center;gap:10px;margin:10px 0 0;padding:8px 12px;font-size:12.5px;display:flex}.auto-next-dots{flex-shrink:0;gap:3px;display:inline-flex}.auto-next-dots span{background:var(--muted-2);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite auto-next-blink}.auto-next-dots span:nth-child(2){animation-delay:.15s}.auto-next-dots span:nth-child(3){animation-delay:.3s}@keyframes auto-next-blink{0%,60%,to{opacity:.35}30%{opacity:1}}.problem-statement{position:relative}.solve-burst{border-radius:var(--r-md);background:var(--success-soft);pointer-events:none;z-index:4;justify-content:center;align-items:center;gap:10px;animation:2.5s ease-out forwards solve-burst-veil;display:flex;position:absolute;inset:-6px -10px}.solve-burst.is-err{background:var(--danger-soft)}.solve-burst-check{background:var(--success);width:34px;height:34px;color:var(--accent-on);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;animation:.5s cubic-bezier(.34,1.56,.64,1) both solve-burst-pop;display:flex}.solve-burst.is-err .solve-burst-check{background:var(--danger)}.solve-burst.is-err .solve-burst-title{color:var(--danger)}.solve-burst-check svg{width:18px;height:18px}.solve-burst-title{color:var(--success);font-size:18px;font-weight:700}.score-fly{z-index:60;white-space:nowrap;pointer-events:none;background:var(--card);color:var(--success);border-radius:999px;padding:6px 14px;font-size:17px;font-weight:700;position:fixed;transform:translate(-50%,-50%);box-shadow:0 2px 10px #18181b29}.score-fly.is-err{color:var(--danger)}@keyframes solve-burst-veil{0%{opacity:0}6%{opacity:1}84%{opacity:1}to{opacity:0}}@keyframes solve-burst-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.solve-burst-check{animation:none}}.solve-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;min-height:calc(100vh - 160px);display:grid}@media (max-width:960px){.solve-grid{grid-template-columns:1fr}}.problem-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:20px;display:flex;overflow-x:hidden}.part-tabs{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);gap:4px;padding:4px;display:flex}.part-tab{border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.part-tab:hover:not(.active){color:var(--text)}.part-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #18181b14}.part2-panel{flex-direction:column;gap:14px;display:flex}.part2-source{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);padding:14px 16px}.part2-source-instruction{color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:12px;font-size:13px;line-height:1.5}.part2-source-text{color:var(--text);max-height:320px;font-size:14px;line-height:1.6;overflow-y:auto}.part2-source-text p{margin:0 0 10px}.part2-source-author{margin-top:8px;font-size:12px;font-style:italic}.part2-upload{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.part2-file-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.part2-hint{margin:-4px 0 0;font-size:12px}.part2-report{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding-top:16px;display:flex}.part2-score{align-items:baseline;gap:10px;display:flex}.part2-score-num{color:var(--accent);font-size:32px;font-weight:800;line-height:1}.part2-score-max{color:var(--muted);font-size:18px;font-weight:600}.part2-score-label{color:var(--muted);font-size:13px}.part2-criteria{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.part2-crit{border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px}.part2-crit.full{border-color:var(--success-soft);background:var(--success-soft)}.part2-crit-head{align-items:center;gap:8px;display:flex}.part2-crit-code{color:var(--accent);flex:none;font-size:12px;font-weight:700}.part2-crit-name{color:var(--text);flex:1;min-width:0;font-size:13px}.part2-crit-score{color:var(--text);flex:none;font-size:13px;font-weight:700}.part2-crit-comment{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.45}.part2-report-body{font-size:14px;line-height:1.6}.part2-note{margin:0;font-size:12px}.part2-locked{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;display:flex}.part2-locked-icon{color:var(--muted-2);display:flex}.part2-locked-title{color:var(--text);font-size:16px;font-weight:700}.part2-locked-text{color:var(--muted);max-width:380px;margin:0 0 6px;font-size:13.5px;line-height:1.6}.problem-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding-bottom:16px;display:flex}.problem-head label,.problem-head .field-label{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.problem-head .field{flex-shrink:0}.problem-head .field-topic{flex:1;min-width:220px}.select-input{appearance:none;background-color:var(--card);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;padding:11px 36px 11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.select-input:hover:not(:disabled){border-color:var(--border-strong)}.select-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}button.primary.generate-btn{align-items:center;gap:6px;padding:11px 18px;font-size:14px;font-weight:600;display:inline-flex}.problem-text{background:var(--bg);border-radius:10px;min-height:80px;padding:16px 18px;font-size:15px;line-height:1.65}.problem-chart{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.problem-figure{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:10px;margin:0 0 12px;padding:10px 12px}.problem-figure img{max-width:100%;height:auto;max-height:340px;display:inline-block}.audio-clip{background:var(--card);border:1px solid var(--border);border-radius:10px;margin:0 0 12px;padding:12px 14px}.audio-clip-note{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.4}.audio-clip-player{width:100%;display:block}.audio-transcript{border:1px dashed var(--border);border-radius:10px;margin:0 0 12px;padding:10px 14px;font-size:14px;line-height:1.55}.audio-transcript summary{cursor:pointer;font-weight:600}.audio-transcript p{margin:8px 0 0}.board-toggle{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.board-toggle.is-open,.board-toggle:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.board{border:1px solid var(--border);background:var(--sunk);border-radius:12px;flex-direction:column;gap:10px;padding:10px;display:flex}.board-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.board-spacer{flex:1;min-width:0}.board-tool,.board-clear{background:var(--card);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:100px;padding:6px 12px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.board-tool:hover:not(.active),.board-clear:hover{color:var(--accent);border-color:var(--accent)}.board-tool.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.board-clear{color:var(--danger)}.board-clear:hover{color:var(--accent-on);background:var(--danger);border-color:var(--danger)}.board-canvas{aspect-ratio:16/9;border:1px solid var(--border);touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;width:100%;display:block}.feedback-toggle{border:1px dashed var(--border-strong);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px 14px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s,background .12s;display:flex}.feedback-toggle:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.feedback-card{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;padding:18px;display:flex}.feedback-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feedback-title{font-size:14px;font-weight:600}.feedback-sub{color:var(--muted);margin-top:2px;font-size:12px}.feedback-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:20px;line-height:1}.feedback-close:hover{color:var(--text)}.stars{align-items:center;gap:4px;display:flex}.star{cursor:pointer;color:var(--border-strong);background:0 0;border:none;padding:2px 4px;font-size:30px;line-height:1;transition:color .1s,transform .1s}.star.on{color:var(--warn)}.star:hover{transform:scale(1.08)}.stars-value{color:var(--muted);margin-left:8px;font-size:13px;font-weight:500}.feedback-label{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600}.feedback-chips{flex-wrap:wrap;gap:6px;display:flex}.feedback-chip{background:var(--card);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:100px;padding:6px 12px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.feedback-chip:hover:not(.on){color:var(--accent);border-color:var(--accent)}.feedback-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.feedback-textarea{resize:vertical;min-height:70px;max-height:200px;font-size:13px}.feedback-actions{justify-content:flex-end;gap:8px;display:flex}.feedback-actions .ghost{border:1px solid var(--border);color:var(--muted);background:0 0;padding:8px 14px;font-size:13px}.feedback-actions .ghost:hover{color:var(--text);background:var(--bg)}.feedback-actions .primary{padding:8px 16px;font-size:13px}.feedback-thanks{background:var(--success-soft);color:#1f6c3f;text-align:center;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:500}.problem-footer{flex-direction:column;gap:8px;display:flex}.report-toggle{color:var(--muted-2);cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;gap:6px;padding:4px 8px;font-size:12px;transition:color .12s;display:inline-flex}.report-toggle:hover:not(:disabled){color:var(--muted)}.report-card{flex-direction:column;gap:14px;max-width:440px;display:flex}.report-sent{color:var(--success);align-self:center;padding:4px 8px;font-size:12px}.chart-svg{width:100%;max-width:640px;height:auto;margin:0 auto;display:block}.problem-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:320px;padding:48px 24px;display:flex}.problem-empty-icon{background:var(--accent-soft);width:72px;height:72px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:30px;display:flex}.problem-empty-title{color:var(--text);margin-bottom:6px;font-size:20px;font-weight:600}.problem-empty-sub{color:var(--muted);max-width:340px;margin:0 auto;font-size:14px;line-height:1.55}.problem-empty.generating .problem-empty-icon{animation:1.6s ease-in-out infinite empty-pulse}@keyframes empty-pulse{0%,to{opacity:1}50%{opacity:.55}}.problem-empty.generating .problem-empty-title{align-items:center;gap:8px;display:inline-flex}.inline-dots{align-items:flex-end;gap:3px;padding-bottom:4px;display:inline-flex}.generating-quote{animation:.35s ease-out quote-fade}@keyframes quote-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.problem-text p{margin:0}.problem-text p+p{margin-top:8px}.problem-text table,.solution table,.mlp-statement table{border-collapse:collapse;margin:8px 0;font-size:14px;display:block;overflow-x:auto}.problem-text th,.problem-text td,.solution th,.solution td,.mlp-statement th,.mlp-statement td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 10px}.problem-text pre,.solution pre,.mlp-statement pre{background:var(--card);border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:10px 12px;font-size:13px;line-height:1.5;overflow-x:auto}.problem-text pre code,.solution pre code,.mlp-statement pre code{font-size:inherit;background:0 0;padding:0}.answer-label{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.answer-blank{min-width:0;max-width:100%;margin:6px 0 12px}.answer-blank-cells{scrollbar-width:thin;gap:3px;padding-bottom:4px;display:flex;overflow-x:auto}.answer-cell{text-align:center;width:34px;height:44px;font-family:var(--font-ui);text-transform:uppercase;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);caret-color:var(--accent);border-radius:4px;flex:none;padding:0;font-size:20px;line-height:44px}.answer-cell.filled{border-color:var(--accent);background:var(--accent-soft)}.answer-cell:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.answer-cell:disabled{background:var(--neutral-box);color:var(--muted)}.answer-blank-hint{color:var(--muted);margin-top:6px;font-size:12px}@media (max-width:560px){.answer-cell{width:28px;height:38px;font-size:17px;line-height:38px}}.answer-row{align-items:stretch;gap:10px;display:flex}.answer-row>button:only-child{align-self:flex-start}.answer-row input{border:2px solid var(--border);border-radius:10px;flex:1;padding:12px 16px;font-size:16px}.answer-row input:focus{border-color:var(--accent);box-shadow:none}.action-bar{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px;display:flex}.action-bar button{align-items:center;gap:7px;display:inline-flex}.action-bar button svg{opacity:.8;flex-shrink:0}.hint,.solution{color:var(--text);background:var(--bg);border-left:3px solid var(--accent-soft);border-radius:6px;padding:10px 12px;font-size:13px}.hint p,.solution p,.feedback p{margin:0}.hint p+p,.solution p+p,.feedback p+p{margin-top:6px}.feedback{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;font-size:13px;display:flex}.feedback.correct{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 35%, var(--card));color:var(--success)}.feedback.incorrect{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 40%, var(--card));color:var(--danger)}.feedback-action{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid;border-radius:100px;align-self:center;padding:8px 22px;font-size:14px;font-weight:600;transition:opacity .1s,background .1s}.feedback-action:hover:not(:disabled){opacity:1;background:var(--danger-soft)}.feedback-action:disabled{opacity:.6;cursor:not-allowed}.feedback-explanation{background:var(--card);color:inherit;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55}.feedback-explanation p{margin:0}.feedback-explanation p+p{margin-top:6px}.micro-lesson{border:1px solid var(--accent-soft);background:var(--accent-soft);border-radius:10px;animation:.22s ease-out micro-lesson-in;overflow:hidden}@keyframes micro-lesson-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.micro-lesson-badge{color:var(--accent);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.micro-lesson-body{color:var(--text);font-size:14px;line-height:1.6}.lesson-modal{max-width:640px;padding:20px 24px 24px;animation:.2s ease-out lesson-modal-in}.lesson-modal-head{background:var(--surface);border-bottom:1px solid var(--border);z-index:1;margin:-20px -24px 14px;padding:16px 24px 12px;position:sticky;top:-20px}.lesson-modal-head .ghost{color:var(--muted);background:0 0;border:none;padding:6px 8px;font-size:15px;line-height:1}.lesson-modal-head .ghost:hover{color:var(--text)}@keyframes lesson-modal-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.lesson-modal{animation:none}}.micro-lesson-body>div>p:first-child{margin-top:0}.micro-lesson-loading{color:var(--accent);opacity:.85;font-size:13px}.micro-lesson-locked{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:9px 12px;display:flex}.micro-lesson-locked-text{color:var(--text);opacity:.85;font-size:12px}.micro-lesson-locked-text a{color:var(--accent);font-weight:600}.katex-display{overflow:auto hidden;margin:8px 0!important}.chat-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:400px;display:flex}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.chat-clear{cursor:pointer;color:var(--muted-2);border-radius:var(--r-sm);background:0 0;border:0;margin-left:auto;padding:6px 8px;font-size:17px;line-height:1;transition:color .15s,background .15s}.chat-clear:hover{color:var(--text);background:var(--bg)}.chat-context-chips{flex-wrap:wrap;gap:6px;margin:0 18px;display:flex}.chat-context-chip{border:1px solid var(--border);background:var(--card);font:inherit;color:var(--muted);cursor:pointer;border-radius:100px;padding:6px 12px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s}.chat-context-chip:hover{color:var(--accent);border-color:var(--accent)}.chat-avatar{background:var(--neutral-box);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.chat-head-text .name{font-size:14px;font-weight:600}.chat-head-text .sub{color:var(--success);align-items:center;gap:4px;font-size:11px;display:flex}.chat-head-text .sub:before{content:"";background:var(--success);border-radius:50%;width:6px;height:6px}.chat-body{flex-direction:column;flex:1;gap:12px;min-height:260px;max-height:540px;padding:18px;display:flex;overflow-y:auto}.msg{border-radius:12px;max-width:85%;padding:10px 14px;font-size:13px;line-height:1.5}.msg p{margin:0}.msg p+p{margin-top:6px}.msg.ai{background:var(--bg);border-bottom-left-radius:4px;align-self:flex-start}.msg.user{background:var(--accent);color:var(--accent-on);border-bottom-right-radius:4px;align-self:flex-end}.msg.user .katex{color:#fff}.chat-input-shell{border:1px solid var(--border);background:var(--card);border-radius:14px;flex-direction:column;gap:6px;margin:12px 18px 8px;padding:12px 12px 10px 16px;display:flex}.chat-input-shell textarea{resize:none;background:0 0;border:none;min-height:24px;max-height:160px;padding:0;font-size:14px}.chat-input-shell textarea:focus{box-shadow:none;border:none;outline:none}.chat-disclaimer{color:var(--muted-2);text-align:center;text-wrap:balance;margin:0 18px 14px;font-size:11.5px;line-height:1.45}.chat-input-controls{justify-content:flex-end;align-items:center;display:flex}.chat-send-round{background:var(--accent);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:16px;line-height:1;display:flex}.chat-send-round:hover:not(:disabled){background:var(--accent-hover)}.chat-send-round:disabled{background:var(--border-strong);opacity:1;cursor:not-allowed}.chat-suggestions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}@media (max-width:1200px){.chat-suggestions{grid-template-columns:1fr}}.chat-suggestion{background:var(--card);border:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;color:var(--text);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;transition:border-color .1s,background .1s;display:flex}@media (hover:hover){.chat-suggestion:hover:not(:disabled){border-color:var(--accent);background:var(--bg)}}.chat-suggestion:disabled{opacity:.6;cursor:not-allowed}.chat-suggestion .title{font-size:13px;font-weight:600;line-height:1.3}.chat-suggestion .tail{color:var(--muted);font-size:13px;line-height:1.3}.thinking{color:var(--muted);align-items:center;gap:8px;font-style:italic;display:inline-flex}.thinking-text{font-size:13px}.thinking-dots{align-items:flex-end;gap:3px;display:inline-flex}.thinking-dots span{background:var(--muted-2);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite thinking-bounce}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes thinking-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-followups{flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px;display:flex}.chat-followup{background:var(--card);border:1px solid var(--border);color:var(--accent);cursor:pointer;text-align:left;border-radius:100px;max-width:100%;padding:8px 14px;font-size:13px;transition:border-color .1s,background .1s,transform 80ms}@media (hover:hover){.chat-followup:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}}.chat-followup:active{transform:scale(.98)}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filter{background:var(--card);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:100px;padding:6px 14px;font-size:12px;font-weight:500;transition:border-color .12s,background .12s,color .12s}@media (hover:hover){.filter:hover:not(.active){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}}.filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter:focus:not(:focus-visible){outline:none}.filter.active{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.filter.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.hist-table{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.hist-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:1fr 160px 110px;align-items:center;gap:12px;padding:14px 16px;display:grid}.hist-row:last-child{border-bottom:none}@media (hover:hover){.hist-row:hover{background:var(--bg)}}.hist-row.selected{background:var(--accent-soft)}.hist-header{background:var(--sunk);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);cursor:default;font-size:11px;font-weight:600}.hist-header:hover{background:var(--sunk)}.hist-problem .title{font-size:13px;font-weight:500;line-height:1.4}.hist-problem .title p{margin:0}.hist-problem .topic{color:var(--muted);margin-top:2px;font-size:12px}.hist-time{color:var(--muted);font-size:12px}.detail-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;margin:0 0 16px;padding:18px;scroll-margin-top:16px;display:flex}.hist-table .detail-panel{border:none;border-bottom:1px solid var(--border);background:var(--bg);border-radius:0;margin:0}.detail-actions{gap:8px;display:flex}.hist-day{background:var(--sunk);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 16px 7px;font-size:11px;font-weight:600}.hist-task-select{background-color:var(--card);border:1px solid var(--border);font:inherit;color:var(--muted);cursor:pointer;background-position:right 8px center;border-radius:100px;padding:6px 26px 6px 12px;font-size:12px;font-weight:500}.hist-limit-note{color:var(--muted-2);align-self:center;margin-left:auto;font-size:11px}.topic-link{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.topic-link:hover{color:var(--accent);text-decoration:underline}.hist-row.demo{opacity:.55}.nav-badge{background:var(--chip);min-width:19px;height:19px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;margin-left:-3px;padding:0 6px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.review-queue{border-left:3px solid var(--accent)}.review-queue-title{margin-bottom:10px;font-size:14px;font-weight:600}.review-queue-chips{flex-wrap:wrap;gap:8px;display:flex}.review-chip{border:1px solid var(--border);background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;border-radius:100px;padding:6px 13px;font-size:12.5px;font-weight:600}.review-chip:hover{border-color:var(--accent)}.teacher-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.teacher-toolbar .group-search{flex:260px}.student-activity.act-warn{color:var(--warn,#b45309)}.student-activity.act-stale{color:var(--m-low)}.invites-title{margin-bottom:8px;font-size:14px;font-weight:600}.invites-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.invites-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.invites-row:last-child{border-bottom:none}.invites-who{font-weight:500}.invites-row .muted{margin-left:auto;font-size:12px}.group-section-stats{white-space:nowrap;margin-left:10px;font-size:12px;font-weight:400}.hw-checking{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.hw-done-details>summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none}.hw-done-details>summary:before{content:"▸ ";color:var(--muted)}.hw-done-details[open]>summary:before{content:"▾ "}.hw-done-more{color:var(--muted);margin-top:8px;font-size:12px;display:inline-block}.hw-done-more:hover{color:var(--accent)}.hw-report-score{color:var(--muted);background:var(--bg);border-radius:var(--r-md);margin:0;padding:8px 12px;font-size:13px}.hw-report-score b{color:var(--text)}.analysis-meta{color:var(--muted-2);margin-top:12px;font-size:11px}.link-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.detail-panel h3{margin:0;font-size:15px}.detail-label{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600}.detail-section{background:var(--bg);border-radius:8px;padding:12px;font-size:13px;line-height:1.55}.detail-section p{margin:0}.detail-section p+p{margin-top:6px}.detail-answers{flex-wrap:wrap;gap:24px;display:flex}.analysis-card{background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;margin-bottom:16px;padding:18px 20px;display:flex}.analysis-card-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.analysis-icon{background:var(--accent);width:40px;height:40px;color:var(--accent-on);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.analysis-title{font-size:15px;font-weight:600}.analysis-sub{color:var(--muted);max-width:440px;font-size:12px;line-height:1.5}.analysis-btn{align-self:center;margin-left:auto}.analysis-loading{color:var(--muted);align-items:center;gap:10px;padding:4px 2px;font-size:13px;font-style:italic;display:flex}.analysis-text{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;font-size:14px;line-height:1.65}.analysis-text p{margin:0}.analysis-text p+p{margin-top:8px}.analysis-text ul,.analysis-text ol{margin:6px 0;padding-left:22px}.analysis-text li{margin-bottom:4px}.analysis-text strong{color:var(--text)}.analysis-text h1,.analysis-text h2,.analysis-text h3{margin:10px 0 4px;font-size:14px}.exam-guide-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.exam-guide-link{color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;display:flex}.exam-guide-link>svg{flex-shrink:0}.exam-guide-link>span{min-width:0}.exam-guide-link strong{color:var(--text);font-size:14px;display:block}.exam-guide-link span span{margin-top:4px;font-size:12px;display:block}.exam-guide-link:hover{border-color:var(--accent)}.exam-guide-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.exam-guide-link[aria-current=page]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.exam-guide-link[aria-current=page] strong{color:var(--accent)}.exam-guide-description{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.6}.structure>.exam-guide-description{margin-bottom:0}@media (max-width:600px){.exam-guide-nav{grid-template-columns:1fr;gap:8px;margin-bottom:16px}.exam-guide-link{padding:12px 14px}}.structure{flex-direction:column;gap:16px;display:flex}.screen-intro{background:var(--card);border:1px dashed var(--border-strong);color:var(--muted);border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.55}.screen-note{border-left:3px solid var(--accent);background:var(--neutral-box);color:var(--muted);border-radius:0 8px 8px 0;margin:10px 0 0;padding:10px 12px;font-size:.92rem;line-height:1.5}.screen-intro strong{color:var(--text)}.ege-top{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}@media (max-width:960px){.ege-top{grid-template-columns:1fr}}.mini-stats{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.mini-stat{background:var(--bg);border-radius:8px;padding:12px}.mini-stat .v{font-size:20px;font-weight:700}.mini-stat .l{color:var(--muted);font-size:11px}.format-note{color:var(--text);margin-top:14px;font-size:13px;line-height:1.6}.grades-table{border-collapse:collapse;width:100%}.grades-table th,.grades-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:13px}.grades-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.grades-table td.grade{font-size:18px;font-weight:700}.grade-2{color:var(--danger)}.grade-3{color:var(--warn)}.grade-4{color:var(--accent)}.grade-5{color:var(--success)}.section-title{margin:8px 0 0;font-size:16px;font-weight:600}.task-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.task-card{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:10px;flex-direction:column;padding:14px;transition:border-color .1s,box-shadow .1s;display:flex}@media (hover:hover){.task-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}}.task-card-link{color:var(--text);cursor:pointer;text-decoration:none;display:block}.task-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.task-num{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:3px 10px;font-size:12px;font-weight:700}.task-topic{margin-bottom:4px;font-size:13px;font-weight:600}.task-desc{color:var(--muted);font-size:12px;line-height:1.4}.task-meta{color:var(--muted-2);align-items:center;gap:12px;margin-top:10px;font-size:11px;display:flex}.task-points{color:var(--muted,#6b7280);background:var(--chip,#f4f4f5);vertical-align:1px;white-space:nowrap;border-radius:999px;margin-left:6px;padding:2px 7px;font-size:10px;font-weight:600}.task-points.is-multi{color:var(--warn,#b45309);background:var(--warn-soft,#fdf3e3)}.task-mastery{font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.task-mastery:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.task-mastery.low{color:var(--m-low)}.task-mastery.mid-low{color:var(--m-mid-low)}.task-mastery.mid{color:var(--m-mid)}.task-mastery.high{color:var(--m-high)}.task-mastery.full{color:var(--m-full)}.task-mastery.low-data{color:var(--muted-2)}.task-history-link{color:var(--muted);margin-top:10px;font-size:12px;text-decoration:none}.task-history-link:hover{color:var(--accent);text-decoration:underline}.task-traps{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.task-traps-toggle{cursor:pointer;width:100%;color:var(--muted);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:2px 0;font-size:12px;font-weight:500;transition:color .12s;display:flex}.task-traps-toggle:hover{color:var(--warn)}.task-traps-caret{opacity:.55;font-size:8px}.task-traps-body{background:var(--warn-soft);border-radius:9px;flex-direction:column;gap:11px;margin-top:8px;padding:11px 13px;animation:.2s ease-out micro-lesson-in;display:flex}.task-traps-note{color:var(--muted);font-size:12px}.trap{align-items:flex-start;gap:9px;display:flex}.trap-dot{background:var(--warn);opacity:.55;border-radius:50%;flex:none;width:6px;height:6px;margin-top:5px}.trap-text{min-width:0}.trap-title{color:var(--text);margin-bottom:1px;font-size:12px;font-weight:600}.trap-detail{color:var(--muted);font-size:12px;line-height:1.5}.trap-detail p{margin:0}.trap-detail p+p{margin-top:4px}.form-row{flex-direction:column;gap:6px;margin:12px 0;display:flex}.form-row>span{color:var(--muted);font-size:13px}.form-row input{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 12px;font-size:14px}.form-actions{gap:8px;margin-top:8px;display:flex}.back-row{margin:8px 0 16px;font-size:13px}.review-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.review-list-item{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:10px;padding:12px 16px;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.review-list-item:hover{border-color:var(--border-strong);transform:translateY(-1px)}.review-list-title{font-size:15px;font-weight:600}.review-list-meta{color:var(--muted);margin-top:4px;font-size:12px}.review-problem-card{margin-bottom:16px}.review-problem-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.review-problem-head h3{margin:0 0 4px;font-size:16px}.review-saved{color:var(--success);background:var(--success-soft);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px}.review-problem-body{background:var(--surface-2,var(--bg));border-radius:10px;flex-direction:column;gap:12px;margin-bottom:16px;padding:12px;display:flex}.review-section{flex-direction:column;gap:6px;display:flex}.review-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:11px;font-weight:600}.review-section summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.review-answer{font-family:var(--font-ui);background:var(--surface);border-radius:6px;padding:6px 10px;font-size:14px;display:inline-block}.review-feedback-form{flex-direction:column;gap:14px;display:flex}.review-q{flex-direction:column;gap:8px;display:flex}.review-q-label{color:var(--text);font-size:13px;font-weight:500}.review-toggle{flex-wrap:wrap;gap:6px;display:flex}.review-toggle-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .15s}.review-toggle-btn:hover{border-color:var(--accent)}.review-toggle-btn.on{background:var(--accent);color:var(--accent-on,white);border-color:var(--accent)}.review-status-list{z-index:5;background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:10px 12px;display:flex;position:sticky;top:0}.review-status-pill{border:1px solid var(--border-strong);background:var(--bg);min-width:32px;height:32px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;scroll-margin-top:80px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.review-status-pill:hover{border-color:var(--accent);color:var(--text)}.review-status-pill.reviewed{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 50%, transparent);color:var(--success)}.review-problem-card{scroll-margin-top:80px}.review-section table,.feedback-card table{border-collapse:collapse;margin:8px 0;font-size:14px}.review-section th,.review-section td,.feedback-card th,.feedback-card td{border:1px solid var(--border-strong);text-align:left;padding:6px 12px}.review-section th,.feedback-card th{background:var(--bg);font-weight:600}.exam-picker{max-width:640px;margin:0 auto}.exam-picker-sub{margin:10px 0 4px;line-height:1.55}.exam-picker-note{border-radius:var(--r-md);background:var(--surface);border-left:3px solid var(--accent);color:var(--text);margin:0 0 18px;padding:10px 14px;font-size:13px;line-height:1.55}.exam-pick-list{flex-direction:column;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.exam-pick-item{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border-radius:10px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.exam-pick-item:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000000a}.exam-pick-item-num{background:var(--bg);width:32px;height:32px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.exam-pick-item:hover .exam-pick-item-num{background:var(--accent);color:var(--accent-on,white)}.exam-pick-item-body{flex:auto;min-width:0}.exam-pick-item-title{text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:15px;font-weight:600;overflow:hidden}.exam-pick-item-meta{color:var(--muted);font-size:12px}.exam-pick-item-arrow{color:var(--muted);flex-shrink:0;font-size:18px;transition:transform .15s,color .15s}.exam-pick-item:hover .exam-pick-item-arrow{color:var(--accent);transform:translate(2px)}.exam-picker-actions{justify-content:flex-start;margin-top:8px;display:flex}.plan-header-actions{align-items:center;gap:8px;display:inline-flex}.plan-regen-btn{border:1px solid var(--border-strong);background:var(--surface);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.plan-regen-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.plan-regen-btn:disabled{opacity:.4;cursor:not-allowed}.plan-celebrate{background:var(--success-soft);border-radius:var(--r-md);color:var(--success);margin:4px 0 8px;padding:11px 14px;font-size:13px;font-weight:500}.plan-provisional{background:var(--accent-soft);border-radius:var(--r-md);color:var(--accent);align-items:center;gap:8px;margin:4px 0 8px;padding:10px 14px;font-size:12.5px;font-weight:500;display:flex}.ls-dots{gap:5px;display:inline-flex}.ls-dots span{border:1.5px solid var(--border-strong);border-radius:50%;width:8px;height:8px}.ls-dots span.is-done{background:var(--accent);border-color:var(--accent)}.ls-count{color:var(--muted-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.lc-list{border-top:1px solid var(--border);margin:12px 0 0;padding:0;list-style:none}.lc-list>li{border-bottom:1px solid var(--border)}.lc-lesson{border-radius:var(--r-sm);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;padding:12px 8px;transition:background .12s;display:flex}.lc-lesson:hover:not(:disabled){background:var(--sunk)}.lc-lesson:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lc-line{align-items:baseline;gap:10px;display:flex}.lc-name{color:var(--text);font-size:15px;font-weight:600}.lc-meta{color:var(--muted-2);font-variant-numeric:tabular-nums;flex:1;font-size:12.5px}.lc-line .ls-dots{align-self:center;margin-top:0}.lc-topics{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.lc-lesson.is-done .lc-name,.lc-lesson.is-done .lc-topics{color:var(--muted-2)}.plan-rationale{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--muted);margin-top:16px;padding:12px 14px;font-size:12px;line-height:1.55}.plan-flow{border:1px solid var(--border);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.plan-flow b{font-variant-numeric:tabular-nums}.plan-flow.done{background:#3f9a631a;background:color-mix(in srgb, var(--m-full) 10%, transparent);border-color:#3f9a634d;border-color:color-mix(in srgb, var(--m-full) 30%, transparent)}.plan-flow-next{cursor:pointer;font:inherit;color:var(--accent-on);background:var(--accent);border-radius:var(--r-md);border:0;padding:6px 12px;font-size:13px;font-weight:600}.plan-flow-next:hover{background:var(--accent-hover)}.challenges-card{position:relative}.challenges-intro{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--muted);margin:4px 0 12px;padding:12px 14px;font-size:13px;line-height:1.5}.challenges-intro p{margin:0}.challenges-intro p+p{margin-top:8px}.challenges-intro p b{color:var(--text)}.challenges-motivation{color:var(--muted);margin:2px 0 12px;font-size:13px;font-weight:400}.challenges-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:22px 0 4px;font-size:11px;font-weight:500}.challenges-section-label:first-of-type{margin-top:8px}.challenges-list{flex-direction:column;display:flex}.challenge-row{border-bottom:1px solid var(--border);background:0 0;grid-template-columns:22px 1fr auto;align-items:start;gap:14px;padding:13px 8px;transition:background .15s;display:grid}.challenge-row:last-child{border-bottom:none}.challenge-row.clickable{border:0;border-bottom:1px solid var(--border);width:100%;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm)}.challenge-row.clickable:last-child{border-bottom:none}.challenge-row.clickable:hover{background:var(--bg)}.challenge-go{text-align:right;color:var(--accent);opacity:0;font-size:12px;transition:opacity .15s;display:block}.challenge-row.clickable:hover .challenge-go{opacity:1}.challenge-icon{width:20px;height:20px;color:var(--muted-2);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;transition:color .15s;display:flex}.challenge-icon svg{width:18px;height:18px}.challenge-body{min-width:0}.challenge-head{align-items:center;gap:7px;display:flex}.challenge-title{color:var(--text);font-size:14px;font-weight:500;line-height:1.4}.challenge-row.done .challenge-title{color:var(--muted)}.challenge-badge{width:15px;height:15px;color:var(--success);justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.challenge-sub{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4}.challenge-row.done .challenge-sub{display:none}.challenge-bar{background:var(--neutral-box);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.challenge-row.done .challenge-bar{display:none}.challenge-bar-fill{background:var(--accent);height:100%;transition:width .3s}.challenge-bar-fill.done{background:var(--success)}.challenge-progress{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:1px;font-size:13px;font-weight:500}.challenge-row.done .challenge-progress{color:var(--success)}.challenge-toast{z-index:200;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);opacity:0;pointer-events:none;align-items:center;gap:12px;min-width:240px;padding:14px 18px;transition:transform .25s,opacity .25s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(20px)}.challenge-toast.show{opacity:1;transform:translateY(0)}.challenge-toast.hide{opacity:0;transform:translateY(20px)}.challenge-toast-icon{border-radius:var(--r-sm);background:var(--success-soft);width:40px;height:40px;color:var(--success);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.challenge-toast-title{color:var(--success);font-size:13px;font-weight:600}.challenge-toast-sub{color:var(--text);margin-top:2px;font-size:12px}.admin-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:900px){.admin-grid{grid-template-columns:1fr}}.admin-metric-card{min-width:0}.admin-stat-row{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.admin-big-num{color:var(--text);font-size:36px;font-weight:700;line-height:1}.admin-big-label{color:var(--muted);font-size:13px}.admin-stub-cell{color:var(--muted);font-style:italic}.admin-stub-note{margin-top:12px;font-size:12px}@media (max-width:1100px){.am-hero-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.am-hero-grid{grid-template-columns:repeat(2,1fr)}}@keyframes am-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.teacher-add{gap:8px;display:flex}.teacher-add input{flex:1}.teacher-create{flex-wrap:wrap;gap:8px;display:flex}.teacher-create input{flex:160px}.seg-toggle{background:var(--bg);border-radius:8px;gap:2px;margin-bottom:12px;padding:3px;display:inline-flex}.seg-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px}.seg-toggle button.active{background:var(--card);color:var(--text);box-shadow:0 1px 2px #10182814}.student-badge{color:var(--accent);background:var(--neutral-box,#0000000d);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:500}.teacher-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.student-card{flex-direction:column;gap:10px;display:flex}.student-card--clickable{text-align:left;font:inherit;cursor:pointer;width:100%;transition:border-color .15s,box-shadow .15s}.student-card--clickable:hover{border-color:var(--accent);box-shadow:0 2px 10px #1018280f}.student-name{font-weight:600}.topbar-actions{align-items:center;gap:8px;display:flex}.seats-badge{white-space:nowrap;font-size:13px}.btn-icon{align-items:center;gap:6px;display:inline-flex}.teacher-groups{flex-direction:column;gap:18px;display:flex}.group-search{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);max-width:340px;color:var(--muted);align-items:center;gap:8px;padding:0 12px;transition:border-color .15s;display:flex}.group-search:focus-within{border-color:var(--accent)}.group-search input{min-width:0;color:var(--text);background:0 0;border:none;flex:1;padding:9px 0}.group-search input:focus{box-shadow:none;outline:none}.group-search input::-webkit-search-cancel-button{display:none}.group-search-clear{color:var(--muted);flex-shrink:0;padding:2px 6px;font-size:13px;line-height:1}.group-search-empty{margin:0;padding:8px 2px}.group-section{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 18px 20px}.group-section--ungrouped{border:1px dashed var(--border-strong);background:0 0}.group-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:16px;display:flex}.group-section-title{align-items:baseline;gap:10px;min-width:0;display:flex}.group-section-title h3{letter-spacing:-.012em;overflow-wrap:anywhere;margin:0;font-size:17px}.group-section-count{color:var(--muted);background:var(--neutral-box);border-radius:100px;flex-shrink:0;padding:2px 9px;font-size:12px;font-weight:600}.group-section-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.group-section-rename{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.group-section-rename input{flex:1;min-width:160px;max-width:320px}.group-section-empty{text-align:center;border:1px dashed var(--border);border-radius:var(--r-md);background:var(--bg);margin:0;padding:22px 16px;font-size:13px}.student-cell{flex-direction:column;gap:8px;display:flex}.student-hw{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.student-hw-none{color:var(--muted-2);font-size:12px}.student-cell-foot{align-items:stretch;gap:8px;display:flex}.student-assign-btn{flex-shrink:0;padding:4px 12px;font-size:13px}.student-group-pick{min-width:0;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);flex:1;align-items:center;gap:6px;padding:4px 8px;font-size:13px;transition:border-color .15s;display:flex}.student-group-pick:focus-within{border-color:var(--accent)}.student-group-pick select{width:auto;min-width:0;color:var(--text);background-color:#0000;background-position:right 2px center;border:none;border-radius:0;flex:1;padding:2px 20px 2px 0;font-size:13px}.student-group-pick select:focus{box-shadow:none;outline:none}.group-field-hint{margin:12px 0 0;font-size:13px}.teacher-empty p{margin:0;line-height:1.55}.group-roster+.group-roster{margin-top:16px}.group-roster-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.group-roster-name{margin:0;font-size:18px}.group-roster-table{border-collapse:collapse;width:100%;font-size:14px}.group-roster-table th,.group-roster-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.group-roster-table th{color:var(--muted);font-size:12px;font-weight:600}.group-roster-table th.num,.group-roster-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.group-roster-table tbody tr:last-child td{border-bottom:none}.group-roster-table tr.is-self td{background:var(--accent-soft);font-weight:600}.group-roster-table tr.is-self td:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.group-roster-table tr.is-self td:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.self-badge{color:var(--accent);background:var(--card);border:1px solid var(--accent);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:600}.hw-teacher-card{margin-top:16px}.hw-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.hw-card-head h3{margin:0;font-size:16px}.hw-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hw-row{border:1px solid var(--border);border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.hw-row-title{font-weight:600}.hw-badge{white-space:nowrap;color:var(--muted);background:var(--bg);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.hw-badge.hw-assigned{color:var(--warn);background:var(--warn-soft)}.hw-badge.hw-submitted{color:var(--accent);background:var(--accent-soft)}.hw-badge.hw-checked{color:var(--success);background:var(--success-soft)}.hw-assign-form{flex-direction:column;gap:10px;display:flex}.hw-file-label{flex-direction:column;gap:4px;font-size:13px;display:flex}.hw-self{flex-direction:column;gap:10px;display:flex}.hw-item{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.hw-item-main{flex-direction:column;gap:4px;min-width:0;display:flex}.hw-item-titlerow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hw-item-title{font-weight:600}.hw-item-group{color:var(--muted);background:var(--neutral-box);border-radius:100px;padding:1px 8px;font-size:11px}.hw-item-file{font-size:13px}.hw-item-action{align-items:center;gap:8px;display:flex}.hw-upload-btn{cursor:pointer;color:var(--accent-on);background:var(--accent);border-radius:var(--r-sm);white-space:nowrap;align-items:center;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.hw-upload-btn:hover{background:var(--accent-hover)}.hw-row-actions{align-items:center;gap:8px;display:flex}.hw-report-modal{width:min(640px,92vw)}.hw-report-solution{border:1px solid var(--border);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);align-items:center;gap:6px;margin:0 0 12px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.hw-report-solution:hover{border-color:var(--accent)}.hw-report-body{max-height:60vh;font-size:14px;line-height:1.55;overflow-y:auto}.hw-report-note{margin-top:12px;font-size:12px}.hw-history-title{margin:0 0 12px;font-size:16px}.sub-card .sub-body{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.sub-plan{letter-spacing:-.01em;font-size:20px;font-weight:600}.sub-line{color:var(--muted);font-size:15px}.sub-line.is-warn{color:var(--warn)}.sub-note{color:var(--muted);margin-top:2px;font-size:13px}.sub-actions{flex-wrap:wrap;gap:10px;display:flex}.invite-banner{border-left:3px solid var(--accent,#3f5e4e);flex-direction:column;gap:12px;display:flex}.invite-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.invite-text{flex:1;min-width:220px;font-size:14px;line-height:1.45}.invite-actions{flex-shrink:0;gap:8px;display:flex}.add-section-title{margin-bottom:8px;font-size:14px;font-weight:600}.add-divider{background:var(--border);height:1px;margin:16px 0}.student-stats{gap:18px;display:flex}.student-stats>div{flex-direction:column;display:flex}.student-stats b{font-size:18px}.student-stats .muted{font-size:12px}.student-actions{gap:8px;display:flex}.ghost.danger{color:var(--danger)}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{width:100%;max-width:560px;max-height:85vh;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h3{margin:0}.trial-quota{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;display:flex}.trial-quota.is-out{background:var(--accent-soft)}.trial-quota-body{flex:1;min-width:240px}.trial-quota-title{color:var(--text);font-size:15px;font-weight:600}.trial-quota-sub{color:var(--muted);margin-top:3px;font-size:13.5px;line-height:1.5}.trial-quota .hero-cta{flex-shrink:0}.locked-card{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.locked-head{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.locked-head svg{color:var(--muted-2);flex-shrink:0}.locked-text{color:var(--muted);max-width:46ch;margin:0;font-size:13px;line-height:1.55}.locked-cta{color:var(--accent);background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.locked-cta:hover:not(:disabled){background:0 0;text-decoration:underline}.hero-stat-locked{color:var(--muted-2);display:inline-flex}.forecast-svg{width:100%;height:auto;margin:4px 0 2px;display:block;overflow:visible}.forecast-grid{stroke:var(--border);stroke-width:1px}.forecast-tick,.forecast-xlabel{fill:var(--muted-2);font-size:9px;font-weight:500}.forecast-area{fill:var(--success);opacity:.08}.forecast-line{fill:none;stroke:var(--success);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.forecast-dot{fill:var(--surface);stroke:var(--success);stroke-width:2px}.forecast-dot.is-last{fill:var(--success)}.forecast-point{cursor:pointer}.forecast-hit{fill:#0000}.forecast-point:hover .forecast-dot,.forecast-hint rect{fill:var(--success)}.forecast-hint text{fill:var(--accent-on);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.forecast-steps{margin:2px 0 6px}.forecast-empty{background:var(--bg);border:1px dashed var(--border);border-radius:var(--r-md);color:var(--muted);margin:8px 0 2px;padding:16px 18px;font-size:13px;line-height:1.5}.forecast-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;font-size:12.5px;display:flex}.forecast-score{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;font-size:22px;font-weight:600;display:inline-flex}.forecast-unit{letter-spacing:0;color:var(--muted);font-size:13px;font-weight:400}.plan-modal{isolation:isolate;max-width:560px;padding:0;position:relative;overflow:hidden}.plan-modal-deco.lp{z-index:0;pointer-events:none;background:0 0;position:absolute;inset:0;overflow:clip}.plan-modal-deco.lp:before{display:none}.plan-modal-deco .plan-modal-sheet{z-index:auto;position:absolute}.plan-modal-deco .plan-modal-sheet .lp-mock{transform:none}.plan-modal-deco .pms-heatmap{opacity:.6;width:250px;top:-34px;right:-58px;transform:rotate(-12deg)}.plan-modal-deco .pms-practice{opacity:.45;filter:blur(.8px);width:300px;bottom:-70px;left:-80px;transform:rotate(7deg)}.plan-modal-veil{z-index:1;pointer-events:none;background:radial-gradient(74% 58% at 50% 46%, rgba(var(--veil-rgb), .97) 0%, rgba(var(--veil-rgb), .86) 60%, rgba(var(--veil-rgb), .62) 100%);position:absolute;inset:0}.plan-modal-body{z-index:2;padding:30px 28px 26px;position:relative}.plan-modal-close{z-index:3;color:var(--muted);background:0 0;border:none;padding:6px 10px;position:absolute;top:12px;right:12px}.plan-modal-close:hover{color:var(--text);background:0 0}.plan-modal-head{text-align:center;margin-bottom:20px}.plan-modal-head h3{letter-spacing:-.025em;margin:12px 0 4px;font-size:22px;font-weight:600}.plan-modal-head p{color:var(--muted);margin:0;font-size:13.5px}.plan-modal .lp-billing-row{margin:0 0 16px}.plan-modal .lp-billing{box-shadow:none}.plan-modal-plans{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pm-row{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:15px 18px;font-family:inherit;transition:border-color .22s,box-shadow .22s,transform .22s;display:flex}.pm-row:hover:not(:disabled){background:var(--surface);border-color:var(--border-strong);box-shadow:0 10px 26px -18px #18181b66}.pm-row:active:not(:disabled){transform:scale(.995)}.pm-row.is-pick{box-shadow:0 0 0 1.5px var(--text), 0 14px 30px -22px #18181b73;border-color:#0000}.pm-row.is-pick:hover:not(:disabled){box-shadow:0 0 0 1.5px var(--text), 0 18px 38px -22px #18181b80;border-color:#0000}.pm-row:disabled{cursor:default;opacity:.5}.pm-row:disabled:has(.pm-busy){opacity:1}.pm-main{flex-direction:column;gap:3px;min-width:0;display:flex}.pm-name{align-items:center;gap:8px;font-size:15.5px;font-weight:600;display:flex}.pm-desc{color:var(--muted);font-size:12.5px;line-height:1.4}.pm-tag{color:var(--accent-on);background:var(--text);white-space:nowrap;border-radius:980px;padding:3px 9px;font-size:10px;font-weight:500}.pm-tag.is-current{color:var(--accent);background:var(--accent-soft)}.pm-cost{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:baseline;gap:1px;display:flex}.pm-cost b{letter-spacing:-.035em;font-size:18px;font-weight:600}.pm-cost i{color:var(--muted);font-size:12px;font-style:normal}.pm-busy{color:var(--muted);white-space:nowrap;font-size:13px}.plan-modal-error{color:var(--danger);margin:0 0 12px;font-size:13px;line-height:1.45}.plan-modal-foot{text-align:center;margin-top:18px}.plan-modal-foot a{color:var(--accent);font-size:13.5px;text-decoration:none}.plan-modal-foot a:hover{text-decoration:underline}.plan-modal-foot p{color:var(--muted);margin:8px 0 0;font-size:12.5px}@media (max-width:560px){.plan-modal-body{padding:26px 18px 22px}.plan-modal-deco{display:none}.pm-row{padding:14px}.pm-cost b{font-size:17px}}.extended-panel{flex-direction:column;gap:16px;display:flex}.ext-tasks{flex-wrap:wrap;gap:8px;display:flex}.ext-task-chip{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);cursor:pointer;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:8px 12px;transition:border-color .12s,background .12s,transform 80ms;display:flex}.ext-task-chip:hover{border-color:var(--accent)}.ext-task-chip:active{transform:scale(.97)}.ext-task-chip.active{border-color:var(--accent);background:var(--accent-soft)}.ext-task-chip .num{font-size:15px;font-weight:700}.ext-task-chip .pts{color:var(--muted);font-size:11px}.ext-statement{padding:16px 18px;font-size:15px;line-height:1.6}.ext-upload{flex-direction:column;gap:12px;display:flex}.ext-dropzone{border:2px dashed var(--border);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 20px;transition:border-color .12s,background .12s;display:flex}.ext-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.ext-dropzone-icon{font-size:30px}.ext-dropzone .muted{max-width:42ch;font-size:13px}.ext-preview{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.ext-preview img{border-radius:var(--r-md);border:1px solid var(--border);max-width:100%;max-height:320px}.ext-report{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);flex-direction:column;gap:16px;padding:18px;display:flex}.ext-report-head{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.ext-report-summary{flex:260px}.score-dial{flex-shrink:0;width:104px;height:104px;position:relative}.score-dial svg{width:100%;height:100%;transform:rotate(-90deg)}.dial-track{fill:none;stroke:var(--border);stroke-width:9px}.dial-value{fill:none;stroke-width:9px;stroke-linecap:round;transition:stroke-dasharray .5s}.score-dial.full .dial-value{stroke:var(--ok,#29a35a)}.score-dial.partial .dial-value{stroke:var(--warn,#d98218)}.score-dial.zero .dial-value{stroke:var(--danger,#d94a4a)}.dial-label{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.dial-label b{font-size:28px}.dial-label span{color:var(--muted);font-size:12px}.ext-answer{border-radius:100px;margin-bottom:6px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-block}.ext-answer.ok{background:var(--ok-soft,#e6f6ec);color:var(--ok,#29a35a)}.ext-answer.bad{background:var(--danger-soft,#fdeaea);color:var(--danger,#d94a4a)}.ext-verdict{font-size:15px;line-height:1.55}.ext-level{margin-top:6px;font-size:12px}.ext-steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ext-steps li{border-radius:var(--r-md);border-left:3px solid var(--border);background:var(--surface);gap:10px;padding:10px 12px;display:flex}.ext-steps li.ok{border-left-color:var(--ok,#29a35a)}.ext-steps li.bad{border-left-color:var(--danger,#d94a4a)}.ext-steps li.gap{border-left-color:var(--warn,#d98218)}.ext-step-mark{text-align:center;flex-shrink:0;width:18px;font-weight:700}.ext-steps li.ok .ext-step-mark{color:var(--ok,#29a35a)}.ext-steps li.bad .ext-step-mark{color:var(--danger,#d94a4a)}.ext-steps li.gap .ext-step-mark{color:var(--warn,#d98218)}.ext-step-title{font-size:14px;font-weight:600}.ext-step-comment{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.5}.ext-next{border-radius:var(--r-md);background:var(--accent-soft);padding:12px 14px;font-size:14px;line-height:1.55}.ext-next b{margin-bottom:4px;display:block}.ext-toggle{align-self:flex-start;font-size:13px}.ext-recognized{border:1px dashed var(--border);border-radius:var(--r-md);padding:12px 14px;font-size:14px;overflow-x:auto}.ext-recognized .muted{margin-top:8px;font-size:12px}@media (max-width:560px){.ext-report-head{text-align:center;justify-content:center}.ext-preview img{max-height:220px}}.ext-variant-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.part2-soon{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);flex-direction:column;gap:14px;padding:22px;display:flex}.part2-soon-badge{background:var(--accent-soft);color:var(--accent);border-radius:100px;align-self:flex-start;padding:4px 12px;font-size:13px;font-weight:700}.part2-soon-what{max-width:62ch;margin:0;font-size:15px;line-height:1.6}.part2-soon-stats{flex-wrap:wrap;gap:10px;display:flex}.part2-soon-stats>div{border-radius:var(--r-md);background:var(--surface);flex:150px;padding:12px 14px}.part2-soon-stats b{font-size:22px;line-height:1.2;display:block}.part2-soon-stats span{color:var(--muted);font-size:12px}.part2-soon-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.part2-soon-list li{border-radius:var(--r-md);background:var(--surface);align-items:baseline;gap:10px;padding:8px 12px;font-size:14px;display:flex}.part2-soon-list .num{min-width:36px;font-weight:700}.part2-soon-list .topic{flex:1}.part2-soon-list .pts{color:var(--muted);white-space:nowrap;font-size:12px}.part2-soon-note{margin:0;font-size:13px}.lp-plan.is-soon,.lp-tier.is-soon{opacity:.62;filter:saturate(.5)}.lp-plan-tag-soon,.lp-tier-tag-soon,.lp-pp-tag.is-soon,.pm-tag.is-soon{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.lp-btn-soon{cursor:not-allowed;opacity:.8}.lp-pp-row.is-soon,.pm-row.is-soon{opacity:.6;cursor:not-allowed}.exam-stats-row{align-items:stretch;gap:14px;margin-bottom:14px;display:flex}.exam-stats-cell{flex:1;min-width:0}.exam-stats-v{font-variant-numeric:tabular-nums;color:var(--text);font-size:22px;font-weight:600;line-height:1.15}.exam-stats-of{color:var(--muted-2);font-size:15px;font-weight:500}.exam-stats-l{color:var(--muted);margin-top:2px;font-size:12px}.exam-stats-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.exam-stats-item{color:var(--muted);align-items:center;gap:10px;font-size:12.5px;display:flex}.exam-stats-date{white-space:nowrap;flex-shrink:0;width:4.2rem}.exam-stats-bar{background:var(--bg);border-radius:4px;flex:1;min-width:40px;height:7px;overflow:hidden}.exam-stats-fill{background:var(--accent);border-radius:4px;height:100%;display:block}.exam-stats-score{white-space:nowrap;text-align:right;min-width:3.4rem;color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:500}.exam-stats-time{text-align:right;width:5.2rem;color:var(--muted-2);white-space:nowrap;flex-shrink:0}.exam-stats-empty{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.55}.exam-stats-cta{color:var(--accent);align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.exam-stats-cta:hover{text-decoration:underline}@media (max-width:480px){.exam-stats-time{display:none}}.unsub-card{flex-direction:column;gap:14px;max-width:440px;display:flex}.unsub-until{border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);align-items:center;gap:10px;padding:11px 13px;font-size:13px;line-height:1.45;display:flex}.unsub-until svg{color:var(--accent);flex:none}.unsub-list{color:var(--muted);gap:8px;margin:0;padding:0;font-size:13px;line-height:1.5;list-style:none;display:grid}.unsub-list li{padding-left:16px;position:relative}.unsub-list li:before{content:"";background:var(--muted-2);border-radius:50%;width:4px;height:4px;position:absolute;top:8px;left:3px}.unsub-list b{color:var(--text);font-weight:550}.unsub-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.unsub-actions .primary,.unsub-actions .ghost{padding:9px 16px;font-size:13px}.unsub-danger{color:var(--danger);border-color:var(--danger-soft);background:0 0}.unsub-danger:not(:disabled):hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}@media (max-width:480px){.unsub-actions{flex-direction:column-reverse}.unsub-actions .primary,.unsub-actions .ghost{width:100%}}@media (hover:none){.nav-item:active,.hist-row:active,.task-card:active,.subject-picker-option:active,.filter:active,.hero-stat-btn:active{background:var(--neutral-box)}.vessel:active{background:var(--accent-soft)}button:active:not(:disabled){transform:scale(.98)}}@media (pointer:coarse){.nav-item,.filter,.subject-picker-option,.tabbar-item{align-items:center;min-height:44px;display:flex}.card button:not(.icon-btn):not(.card-help-btn),.hero-cta,button.primary{min-height:44px}}.title-tags{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.pill-quiet{background:var(--neutral-box);color:var(--muted);cursor:help;border-color:#0000;font-weight:500}@media (max-width:560px){.card-title.row-between{flex-direction:column;align-items:flex-start;gap:8px}.title-tags{order:2}}.trail{margin:2px -8px 12px}.trail-grid-line{stroke:var(--border-strong);stroke-width:1px}.trail-grid{opacity:.5}.trail-svg{width:100%;height:auto;display:block;overflow:visible}.trail-road-bed{fill:none;stroke:var(--neutral-box);stroke-width:20px;stroke-linecap:round;stroke-linejoin:round}.trail-road-dash{fill:none;stroke:var(--border-strong);stroke-width:2px;stroke-linecap:round;stroke-dasharray:1 10;opacity:.75}.trail-node-base{fill:var(--border)}.trail-node-face{fill:var(--card);stroke:var(--border);stroke-width:1.5px}.trail-node-track{stroke:var(--neutral-box);stroke-width:4px}.trail-node-ring{stroke:currentColor;stroke-width:4px;stroke-linecap:round}.trail-node-glass{stroke:var(--border-strong);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.trail-node-liquid{fill:currentColor}.trail-node.pickable{cursor:pointer}.trail-node-hit{fill:#0000}.trail-node-art{transition:transform .16s}.trail-node-base{transition:fill .16s}.trail-node.pickable:hover .trail-node-art,.trail-node.pickable:focus-visible .trail-node-art{transform:translateY(-6px)scale(1.06)}.trail-node.pickable:hover .trail-node-base,.trail-node.pickable:focus-visible .trail-node-base{fill:var(--border-strong)}.trail-node.pickable:active .trail-node-art{transform:translateY(-1px)scale(1.02)}.trail-node-focus{stroke:var(--accent);stroke-width:3px;opacity:0}.trail-node.pickable:focus-visible .trail-node-focus{opacity:1}.trail-node.pickable:focus{outline:none}.trail-node.low{color:var(--m-low)}.trail-node.mid-low{color:var(--m-mid-low)}.trail-node.mid{color:var(--m-mid)}.trail-node.high{color:var(--m-high)}.trail-node.full{color:var(--m-full)}.trail-node.empty .trail-node-glass{stroke:var(--border)}.trail-node.done .trail-node-face{fill:var(--success-soft);stroke:color-mix(in srgb, var(--success) 30%, var(--card))}.trail-node.done .trail-node-base{fill:color-mix(in srgb, var(--success) 25%, var(--card))}.trail-node.done .trail-node-glass{stroke:var(--success)}.trail-node.active .trail-node-face{stroke:var(--accent);stroke-width:2.5px}.trail-node.active .trail-node-base{fill:color-mix(in srgb, var(--accent) 30%, var(--card))}.trail-node.finish .trail-node-face{fill:var(--accent);stroke:var(--accent)}.trail-node.finish .trail-node-base{fill:var(--accent-hover)}.trail-flag-pole{stroke:var(--accent-on);stroke-width:2.5px;stroke-linecap:round;fill:none}.trail-flag{fill:var(--accent-on)}.trail-node-lbl{fill:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.trail-node-pct{fill:var(--muted-2);font-variant-numeric:tabular-nums;font-size:12px}.trail-node.empty .trail-node-lbl{fill:var(--muted)}.trail-road-fill{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;animation:1.1s cubic-bezier(.33,1,.68,1) both trail-pour}@keyframes trail-pour{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.trail-node-ring{stroke-dasharray:1;animation:.7s cubic-bezier(.33,1,.68,1) both trail-pour}.trail-node:first-of-type .trail-node-ring{animation-delay:.35s}.trail-node:nth-of-type(2) .trail-node-ring{animation-delay:.5s}.trail-node:nth-of-type(3) .trail-node-ring{animation-delay:.65s}.trail-node:nth-of-type(4) .trail-node-ring{animation-delay:.8s}.trail-node:nth-of-type(5) .trail-node-ring{animation-delay:.95s}.trail-node-liquid{fill:currentColor;transform-box:fill-box;transform-origin:50% 100%;animation:.8s cubic-bezier(.33,1,.68,1) both trail-rise;animation-delay:inherit}@keyframes trail-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.trail-road-fill,.trail-node.pickable:hover .trail-node-art,.trail-node.pickable:focus-visible .trail-node-art,.trail-node.pickable:active .trail-node-art{transform:none}.trail-node-ring,.trail-node-liquid{stroke-dashoffset:0;animation:none}}@media (max-width:760px){.trail{-webkit-overflow-scrolling:touch;margin:0 -4px 10px;overflow-x:auto}.trail-svg{min-width:620px}.trail-node-lbl{font-size:20px}.trail-node-pct{font-size:17px}}.hero--trail{align-items:stretch;gap:28px}.hero--trail .hero-left{gap:14px}.hero--trail .trail{flex:auto;align-items:center;min-height:0;display:flex}.hero--trail .hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero--trail .hero-head-text{flex:auto;min-width:0}.hero--trail .hero-head-text .hero-sub{margin-top:4px}.hero--trail .hero-head .exam-widget{flex:none;min-width:0}.hero--trail .hero-sub{margin-top:-8px}.hero--trail .hero-right{flex-direction:column;flex:none;align-items:stretch;gap:10px;width:200px}.hero--trail .exam-widget{border-radius:var(--r-sm);background:var(--neutral-box);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:6px 9px;display:flex}.hero--trail .exam-widget-header{flex:auto;order:1;margin:0}.hero--trail .exam-widget-title{letter-spacing:0;text-transform:none;font-size:11px}.hero--trail .exam-widget-body{order:2;align-items:baseline;gap:6px;display:flex}.hero--trail .exam-widget-days-row{align-items:baseline;gap:3px}.hero--trail .exam-widget-days-num{font-size:15px;font-weight:600;line-height:1}.hero--trail .exam-widget-days-label,.hero--trail .exam-widget-date{color:var(--muted-2);margin:0;font-size:11px}.hero--trail .exam-widget-close{order:3}.hero--trail .hero-stats{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--border);flex:auto;grid-template-columns:1fr;grid-auto-rows:minmax(min-content,1fr);gap:1px;margin-top:0;padding:0;display:grid;overflow:hidden}.hero--trail .hero-stat,.hero--trail .hero-stat-btn{background:var(--card);text-align:left;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:100%;margin:0;padding:10px 12px 11px;display:flex}.hero--trail .hero-stat-v{white-space:nowrap;order:1;font-size:19px;line-height:1.15}.hero--trail .hero-stat-l{color:var(--muted-2);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;order:2;min-width:0;font-size:11.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.hero--trail .hero-stat-sub{color:var(--muted-2);opacity:.85;display:block}.hero--trail .hero-stat-gain{color:var(--success);opacity:1}.hero--trail .hero-stat-sep{display:none}@media (hover:hover){.hero--trail .hero-stat-btn:hover{color:var(--accent);background:0 0}}@media (max-width:900px){.hero--trail .hero-right{width:100%}.hero--trail .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero--trail .hero-head .exam-widget{align-self:flex-start;width:auto}}@media (max-width:480px){.hero--trail .hero-stats{grid-template-columns:1fr}}.ss-backdrop{z-index:60;background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:20px;animation:.18s ease-out ss-fade;display:flex;position:fixed;inset:0}.ss-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);width:min(460px,100%);max-height:calc(100dvh - 40px);padding:28px 26px 22px;animation:.26s cubic-bezier(.22,1,.36,1) ss-rise;overflow-y:auto;box-shadow:0 30px 70px -30px #00000059}.ss-kicker{letter-spacing:.02em;color:var(--muted);margin:0 0 14px;font-size:13px;font-weight:600}.ss-score{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.ss-score-value{letter-spacing:-.035em;color:var(--text);font-variant-numeric:tabular-nums;font-size:46px;font-weight:600;line-height:1}.ss-score-max{color:var(--muted);font-size:16px}.ss-gain{color:var(--success);background:var(--success-soft);border-radius:980px;margin-left:auto;padding:4px 10px;font-size:14px;font-weight:600}.ss-gain.is-down{color:var(--danger);background:var(--danger-soft)}.ss-score-note{color:var(--muted-2);margin:6px 0 18px;font-size:13px}.ss-bar{background:var(--neutral-box);border-radius:980px;height:8px;position:relative;overflow:hidden}.ss-bar-fill{background:var(--accent);border-radius:980px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1);display:block}.ss-bar-target{background:var(--text);opacity:.45;border-radius:2px;width:2px;height:14px;position:absolute;top:-3px}.ss-bar-note{color:var(--muted);margin:9px 0 20px;font-size:13px}.ss-vials{grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.ss-vial{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);text-align:center;flex-direction:column;align-items:center;gap:5px;padding:16px 10px 13px;display:flex}.ss-vial.tone-low{color:var(--m-low)}.ss-vial.tone-mid-low{color:var(--m-mid-low)}.ss-vial.tone-mid{color:var(--m-mid)}.ss-vial.tone-high{color:var(--m-high)}.ss-vial.tone-full{color:var(--m-full)}.ss-vial.tone-empty{color:var(--muted-2)}.ss-node{flex:none;width:84px;height:84px}.ss-node-face{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.ss-node-track{stroke:var(--neutral-box);stroke-width:5px}.ss-node-ring{stroke:currentColor;stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.33,1,.68,1)}.ss-flask-level{transition:transform 1.5s cubic-bezier(.33,1,.68,1)}.ss-flask-water{fill:currentColor;animation:8s linear infinite ss-water}@keyframes ss-water{0%{transform:translate(0)}to{transform:translate(-40px)}}.ss-flask-glass{stroke:var(--border-strong);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.ss-vial-num{font-family:var(--font-ui);color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:14px;font-weight:800}.ss-vial-name{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.ss-vial-pct{color:currentColor;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:4px;font-size:14px;font-weight:700}.ss-vial-delta{font-variant-numeric:tabular-nums;min-height:17px;font-size:12.5px;font-weight:700}.ss-vial-delta em{color:var(--success);font-style:normal}.ss-vial-delta em.is-down{color:var(--danger)}.ss-impact{border-top:1px solid var(--border);margin-bottom:22px;padding-top:18px}.ss-impact-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin:0 0 10px;font-size:12px;font-weight:700}.ss-actions{flex-direction:column;gap:10px;display:flex}.ss-btn{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--card);width:100%;color:var(--text);font:inherit;cursor:pointer;padding:13px 18px;font-weight:600}.ss-btn-primary{background:var(--accent);color:var(--accent-on);border-color:#0000}.ss-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.ss-share-note{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;line-height:1.45}.ss-share-note a{color:var(--accent)}.ss-btn-link{color:var(--muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px;font-size:13px;text-decoration:underline}.ss-btn-link:hover:not(:disabled){color:var(--text);background:0 0}@keyframes ss-fade{0%{opacity:0}}@keyframes ss-rise{0%{opacity:0;transform:translateY(14px)scale(.985)}}@media (prefers-reduced-motion:reduce){.ss-backdrop,.ss-card,.ss-flask-water{animation:none}.ss-flask-level,.ss-node-ring,.ss-bar-fill{transition:none}}.lesson-start{text-align:center;--ls-trail-line:#cfe0da;--ls-soil:#9c8663;max-width:860px;margin:24px auto 40px;padding:0 20px}.ls-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:8px 18px;font-size:13.5px;font-weight:600;display:inline-flex}.ls-lead{font-family:var(--font-ui);letter-spacing:-.02em;text-wrap:balance;color:var(--text);margin:16px 0 0;font-size:clamp(25px,3vw,32px);font-weight:650;line-height:1.2}.ls-lead-muted{color:var(--muted);font-weight:700}.ls-nums{color:var(--accent);white-space:nowrap}.ls-sub{text-wrap:pretty;max-width:48ch;color:var(--muted);margin:8px auto 0;font-size:15px;line-height:1.5}.ls-topic-card{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:24px;align-items:center;gap:24px;max-width:480px;margin:28px auto 0;padding:24px;display:flex}.ls-topic-scene{flex-shrink:0;width:128px}.ls-topic-body{flex:1;min-width:0}.ls-topic-title{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:650;line-height:1.4}.ls-topic-time,.ls-topic-hint{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.ls-topic-progress{gap:6px;margin:18px 0 10px;display:flex}.ls-topic-progress>span{background:var(--ls-trail-line);border-radius:999px;flex:1;height:6px}.ls-topic-progress>.is-done{background:var(--accent)}.lesson-start-single .ls-actions{margin-top:24px}.lesson-start-single .ls-start{min-width:0;padding-inline:20px;font-size:17px}@media (max-width:480px){.lesson-start-single .ls-start{padding-inline:12px;font-size:16px}.ls-topic-card{text-align:center;flex-direction:column;gap:16px;padding:20px}.ls-topic-body{width:100%}}.ls-trail-wide{margin:24px auto 0;position:relative}.ls-trail-line{width:100%;height:100%;position:absolute;inset:0}.ls-trail-node{border:3px solid var(--tone-ink);background:var(--tone-bg);width:64px;height:64px;box-shadow:0 5px 0 var(--tone-edge);color:var(--tone-ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:50%;place-items:center;margin:-32px 0 0 -32px;padding:0;font-size:24px;font-weight:800;transition:transform .12s,box-shadow .12s;display:grid;position:absolute}.ls-trail-node:hover:not(:disabled){background:var(--tone-bg);border-color:var(--tone-ink);box-shadow:0 7px 0 var(--tone-edge);transform:translateY(-2px)}.ls-trail-node.is-done:hover:not(:disabled),.ls-trail-node.is-now:hover:not(:disabled){background:var(--tone-ink);border-color:var(--tone-ink)}.ls-trail-node:active:not(:disabled){box-shadow:0 2px 0 var(--tone-edge);transform:translateY(3px)}.ls-trail-node:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ls-trail-node.is-done{background:var(--tone-ink);border-color:var(--tone-ink);color:#fff}.ls-trail-node.is-done svg{width:30px;height:30px}.ls-trail-node.is-now{background:var(--tone-ink);border-color:var(--tone-ink);color:#fff;width:78px;height:78px;box-shadow:0 5px 0 var(--tone-edge), 0 0 0 9px var(--tone-ring);margin:-39px 0 0 -39px;font-size:29px}.ls-trail-label{max-width:250px;color:var(--text);font-family:var(--font-ui);text-align:left;background:0 0;border-radius:14px;flex-direction:column;gap:2px;padding:0;font-size:14.5px;font-weight:600;line-height:1.4;display:inline-flex;position:absolute;transform:translateY(-50%)}.ls-trail-label small.is-current{color:var(--accent);opacity:1;font-weight:600}.ls-trail-row.is-now .ls-trail-row-sub{color:var(--accent);font-weight:600}.ls-trail-row.is-now,.ls-trail-row.is-now:hover:not(:disabled){background:var(--surface)}.ls-trail-label small{font-family:var(--font-ui);opacity:.72;font-size:12.5px;font-weight:500}.ls-trail-scene{width:124px;margin:-62px 0 0 -62px;position:absolute}.ls-finish-copy{text-align:left;flex-direction:column;gap:5px;display:flex}.ls-trail-wide>.ls-finish-copy{max-width:240px;position:absolute}.ls-finish-copy strong{color:var(--accent);font-size:16px;font-weight:650}.ls-finish-copy>span{color:var(--muted);font-size:13px;line-height:1.5}.ls-finish-mini{flex-shrink:0;width:80px;display:block}.ls-trail-row.is-finish{cursor:default;gap:12px;padding:8px 0 14px}.ls-trail-narrow li .ls-trail-row.is-finish:after{top:92px}.ls-trail-row.is-finish .ls-finish-copy{position:static}.ls-trail-narrow{text-align:left;flex-direction:column-reverse;margin:22px 0 0;padding:0;list-style:none;display:none}.ls-trail-row:hover:not(:disabled){background:0 0}.ls-trail-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:20px;align-items:center;gap:14px;padding:12px 14px;display:flex;position:relative}.ls-trail-narrow li:not(:first-child) .ls-trail-row:after{content:"";border-left:4px dotted var(--ls-trail-line);position:absolute;top:64px;bottom:-8px;left:39px}.ls-trail-node-sm{border:3px solid var(--tone-ink,var(--border-strong));background:var(--tone-bg,var(--surface));width:52px;height:52px;box-shadow:0 4px 0 var(--tone-edge,var(--border));color:var(--tone-ink,var(--muted-2));font-family:var(--font-ui);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;font-weight:800;display:grid}.ls-trail-node-sm svg{width:22px;height:22px}.ls-trail-row.is-done .ls-trail-node-sm,.ls-trail-row.is-now .ls-trail-node-sm{background:var(--tone-ink);border-color:var(--tone-ink);color:#fff}.ls-trail-row.is-now .ls-trail-node-sm{box-shadow:0 4px 0 var(--tone-edge), 0 0 0 6px var(--tone-ring)}.ls-trail-row-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ls-trail-row-text{font-family:var(--font-ui);color:var(--text);font-size:15.5px;font-weight:800;line-height:1.25}.ls-trail-row-sub{color:var(--muted-2);font-size:12.5px}.ls-trail-row .ls-dots,.ls-trail-row .ls-count{flex-shrink:0;margin-left:auto}.ls-trail-row.is-done .ls-trail-row-text,.ls-trail-row.is-done .ls-trail-row-sub{color:var(--muted-2)}.ls-trail-row.is-finish{cursor:default}.ls-trail-row.is-finish .ls-trail-node-sm{border-style:dashed;border-color:var(--border-strong);background:var(--surface);box-shadow:none;color:var(--muted-2)}.ls-trail-row.is-finish .ls-trail-row-text{color:var(--muted-2);font-weight:700}.ls-trail-row.is-finish.is-pulled .ls-trail-node-sm{border-style:solid;border-color:var(--accent);background:var(--accent);box-shadow:0 4px 0 color-mix(in srgb, var(--accent) 45%, var(--surface))}.ls-trail-row.is-finish.is-pulled .ls-trail-row-text{color:var(--accent)}.tone-0{--tone-bg:#eef7f2;--tone-ink:#3f9468;--tone-edge:#d3e8dd;--tone-ring:#3f946829}.tone-1{--tone-bg:#dcefe5;--tone-ink:#2f8659;--tone-edge:#c0dccd;--tone-ring:#2f865929}.tone-2{--tone-bg:#c7e3d7;--tone-ink:#1d6b58;--tone-edge:#a9d0c0;--tone-ring:#1d6b5829}.tone-3{--tone-bg:#b2d8cb;--tone-ink:#0e4f4b;--tone-edge:#93c2b3;--tone-ring:#0e4f4b2e}.ls-trail-fill{stroke:var(--success);fill:none;transition:stroke-dasharray .42s}@media (prefers-reduced-motion:reduce){.ls-trail-fill{transition:none}}.ls-actions{flex-direction:column;align-items:center;gap:14px;max-width:320px;margin:8px auto 0;display:flex}.ls-start{box-sizing:border-box;text-align:center;background:var(--accent);width:100%;min-width:280px;box-shadow:0 5px 0 var(--accent-hover);color:var(--accent-on);font-family:var(--font-ui);letter-spacing:.01em;cursor:pointer;border:0;border-radius:18px;justify-content:center;align-items:center;padding:15px 44px;font-size:19px;font-weight:800;text-decoration:none;transition:transform 90ms,box-shadow 90ms,background .14s;display:inline-flex}.ls-start:hover:not(:disabled){background:var(--accent);box-shadow:0 7px 0 var(--accent-hover);transform:translateY(-1px)}.ls-start:active:not(:disabled){box-shadow:0 2px 0 var(--accent-hover);transform:translateY(4px)}.ls-start:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ls-free{box-sizing:border-box;border:1.5px solid var(--accent);background:var(--surface);width:100%;min-width:0;min-height:56px;box-shadow:0 3px 0 var(--border);color:var(--accent);font-family:var(--font-ui);text-align:center;cursor:pointer;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-size:16px;font-weight:700;line-height:1.4;transition:transform 90ms,box-shadow 90ms,background .14s,border-color .14s;display:inline-flex}.ls-free-label{min-width:0}.ls-free-coffee{object-fit:contain;flex:0 0 32px;width:32px;height:32px;display:block}.ls-free:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-hover);box-shadow:0 4px 0 var(--border)}.ls-free:active:not(:disabled){box-shadow:0 1px 0 var(--border);transform:translateY(2px)}.ls-free:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ls-next{background:var(--chip);color:var(--muted);border-radius:999px;margin:4px 0 0;padding:10px 20px;font-size:13.5px}.ls-next b{color:var(--text);font-weight:700}.ls-skeleton{background:var(--sunk);border-radius:24px;height:320px;margin-top:26px;animation:1.4s ease-in-out infinite ls-skeleton}@keyframes ls-skeleton{0%,to{opacity:.55}50%{opacity:.9}}@media (max-width:980px){.ls-trail-wide{display:none}.ls-trail-narrow{display:flex}.lesson-start{margin:56px auto 40px;padding:0 16px}.ls-start,.ls-free{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.ls-skeleton{animation:none}.ls-trail-node:hover:not(:disabled),.ls-trail-node:active:not(:disabled),.ls-start:hover:not(:disabled),.ls-start:active:not(:disabled),.ls-free:active:not(:disabled){transform:none}}.mlp{z-index:58;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.mlp-top{flex-shrink:0;align-items:center;gap:16px;width:100%;max-width:760px;margin:0 auto;padding:16px 20px 12px;display:flex}.mlp-close{width:38px;height:38px;color:var(--muted-2);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;transition:background .14s,color .14s;display:grid}.mlp-close:hover:not(:disabled){background:var(--neutral-box);color:var(--text)}.mlp-track{flex:1;gap:6px;display:flex}.mlp-seg{background:var(--neutral-box);border-radius:999px;flex:1;height:12px;transition:background .32s cubic-bezier(.22,.61,.36,1)}.mlp-seg.is-ok{background:var(--accent)}.mlp-seg.is-err{background:color-mix(in srgb, var(--accent) 34%, var(--neutral-box))}.mlp-seg.is-current{box-shadow:0 0 0 3px var(--accent-soft)}.mlp-stage{flex-direction:column;flex:1;padding:4px 20px 28px;display:flex;overflow-y:auto}.mlp-task{width:100%;max-width:720px;margin:auto;animation:.3s cubic-bezier(.22,.61,.36,1) both mlp-task-in}.mlp-task-head{color:var(--muted);align-items:center;gap:10px;margin:8px 0 14px;font-size:14px;font-weight:500;display:flex}.mlp-task-num{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.mlp-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;padding:26px 28px;position:relative;overflow:hidden;box-shadow:0 2px 14px #10211e0a}.mlp-statement{font-size:17.5px;line-height:var(--rule);color:var(--text)}.mlp-chart{margin-top:20px}.mlp-chart-err{color:var(--muted);margin-top:16px;font-size:13px}.mlp-answer{text-align:center;margin-top:22px}.mlp-answer-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.mlp-answer .answer-blank-cells{justify-content:safe center}.mlp-waiting{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:320px;margin:auto;padding:40px 20px;display:flex}.mlp-waiting-mark{animation:1.8s ease-in-out infinite mlp-bob}.mlp-waiting-title{color:var(--text);margin:10px 0 0;font-size:17px;font-weight:600}.mlp-waiting-quote{max-width:34ch;color:var(--muted);margin:0;font-size:14px;line-height:1.45;animation:.4s ease-out both mlp-quote-in}.mlp-note{text-align:center;max-width:460px;margin:auto;padding:48px 20px}.mlp-note-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:24px;font-weight:600}.mlp-note-sub{color:var(--muted);margin:10px 0 0;font-size:15px;line-height:1.5}.mlp-note-actions{flex-direction:column;align-items:center;gap:12px;margin-top:24px;display:flex}.mlp-bottom{border-top:1px solid var(--border);background:var(--surface);padding:14px 20px calc(16px + env(safe-area-inset-bottom,0px));flex-shrink:0;transition:background .2s}.mlp-bottom.is-ok{background:var(--success-soft);border-top-color:#0000;animation:.26s cubic-bezier(.22,.61,.36,1) both mlp-verdict-in}.mlp-bottom.is-err{background:var(--danger-soft);border-top-color:#0000;animation:.26s cubic-bezier(.22,.61,.36,1) both mlp-verdict-in}.mlp-check-row,.mlp-verdict{align-items:center;gap:14px;width:100%;max-width:720px;margin:0 auto;display:flex}.mlp-verdict{flex-direction:column;align-items:stretch;gap:12px}.mlp-verdict-head{align-items:flex-start;gap:14px;display:flex}.mlp-verdict-icon{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;animation:.38s cubic-bezier(.34,1.56,.64,1) both mlp-pop;display:grid}.is-ok .mlp-verdict-icon{background:var(--success)}.is-err .mlp-verdict-icon{background:var(--danger)}.mlp-verdict-text{min-width:0}.mlp-verdict-title{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 0;font-size:19px;font-weight:700;display:flex}.is-ok .mlp-verdict-title{color:var(--success)}.is-err .mlp-verdict-title{color:var(--danger)}.mlp-gain{letter-spacing:0;background:#ffffffb8;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}.mlp-verdict-answer{color:var(--text);margin:6px 0 0;font-size:14.5px}.mlp-verdict-feedback,.mlp-verdict-solution{color:var(--text);margin-top:8px;font-size:14px;line-height:1.55}.mlp-verdict-solution{color:var(--muted);border-top:1px solid #10211e1a;padding-top:8px}.mlp-verdict-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.mlp-btn-next{margin-left:auto}.mlp-btn{border:1px solid var(--accent);background:var(--accent);min-width:168px;color:var(--accent-on);font:inherit;cursor:pointer;border-radius:999px;padding:14px 32px;font-size:16px;font-weight:600;transition:transform .12s,box-shadow .16s,background .14s,border-color .14s;box-shadow:0 2px 10px #0e4f4b29}.mlp-btn:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #0e4f4b38}.mlp-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 4px #0e4f4b2e}.mlp-btn:disabled{border-color:var(--border);background:var(--neutral-box);color:var(--muted-2);box-shadow:none;cursor:default}.mlp-btn-ghost{color:var(--muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:13.5px;text-decoration:underline}.mlp-btn-ghost:hover:not(:disabled){color:var(--text);background:0 0}.mlp-btn-ghost:disabled{color:var(--muted-2);cursor:default;background:0 0}.mlp-tutor-veil{z-index:59;background:#10211e4d;justify-content:center;align-items:flex-end;animation:.18s ease-out both mlp-veil-in;display:flex;position:fixed;inset:0}.mlp-tutor{background:var(--bg);border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:720px;height:min(78vh,620px);padding:6px 14px 14px;animation:.24s cubic-bezier(.22,.61,.36,1) both mlp-sheet-in;display:flex}.mlp-tutor-grip{justify-content:flex-end;padding:4px 0;display:flex}.mlp-tutor-close{width:32px;height:32px;color:var(--muted-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.mlp-tutor-close:hover:not(:disabled){background:var(--neutral-box);color:var(--text)}.mlp-tutor .chat-panel{flex:1;min-height:0}@keyframes mlp-task-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes mlp-verdict-in{0%{transform:translateY(100%)}to{transform:none}}@keyframes mlp-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes mlp-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-8px)rotate(3deg)}}@keyframes mlp-quote-in{0%{opacity:0}to{opacity:1}}@keyframes mlp-veil-in{0%{opacity:0}to{opacity:1}}@keyframes mlp-sheet-in{0%{transform:translateY(100%)}to{transform:none}}@media (max-width:640px){.mlp-top{gap:12px;padding:12px 14px 10px}.mlp-stage{padding:4px 14px 20px}.mlp-card{border-radius:20px;padding:20px 18px}.mlp-statement{font-size:16.5px}.mlp-bottom{padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px))}.mlp-check-row .mlp-btn,.mlp-verdict-actions .mlp-btn{flex:1;min-width:0}.mlp-check-row{gap:10px}.mlp-tutor{border-radius:20px 20px 0 0;max-width:none;height:84vh}}@media (prefers-reduced-motion:reduce){.mlp-task,.mlp-bottom.is-ok,.mlp-bottom.is-err,.mlp-verdict-icon,.mlp-waiting-mark,.mlp-tutor,.mlp-tutor-veil{animation:none}.mlp-btn:hover:not(:disabled),.mlp-btn:active:not(:disabled){transform:none}}.mlp{--paper-ink:#1c7a5512;--paper-red:#a4611f21;--skin-bg:#daf0e6;--skin-ink:#1c7a55}.mlp[data-tone="1"]{--paper-ink:#1c6a9212;--skin-bg:#d9ecf7;--skin-ink:#1c6a92}.mlp[data-tone="2"]{--paper-ink:#a4611f12;--skin-bg:#fbe8d5;--skin-ink:#a4611f}.mlp[data-tone="3"]{--paper-ink:#5a4a9e12;--skin-bg:#e8e3f7;--skin-ink:#5a4a9e}.mlp-card{--rule:28px;--rule-offset:54px}.mlp[data-paper=grid] .mlp-card{background-image:linear-gradient(var(--paper-ink) 1px, transparent 1px), linear-gradient(90deg, var(--paper-ink) 1px, transparent 1px);background-size:var(--rule) var(--rule);background-position:0 var(--rule-offset)}.mlp[data-paper=ruled] .mlp-card{background-image:linear-gradient(var(--paper-ink) 1px, transparent 1px), linear-gradient(90deg, transparent 27px, var(--paper-red) 27px, var(--paper-red) 28px, transparent 28px);background-size:100% var(--rule), 100% 100%;background-position:0 var(--rule-offset)}.mlp-task-num{background:var(--skin-bg);color:var(--skin-ink)}.mlp-ask{border:2px solid var(--border-strong);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:13px 22px;font-size:15px;font-weight:600;transition:border-color .14s,color .14s;display:inline-flex}.mlp-ask:hover:not(:disabled){background:var(--surface);border-color:var(--accent);color:var(--text)}.mlp-ask:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mlp-ask:disabled{background:var(--surface);border-color:var(--border);color:var(--muted-2);cursor:default}.mlp-check-row{justify-content:center;gap:16px}.mlp-verdict-actions .mlp-ask{background:#ffffffb3;margin-left:auto;padding:11px 18px;font-size:14px}.mlp-verdict-actions .mlp-btn-next{margin-left:0}@media (max-width:640px){.mlp-check-row{flex-wrap:wrap;gap:10px}.mlp-check-row .mlp-btn{flex:1 0 100%;order:-1}.mlp-check-row .mlp-ask{flex:1;justify-content:center}.mlp-verdict-actions .mlp-ask{margin-left:0}}.mlp-motif{color:var(--skin-ink);opacity:.08;pointer-events:none;position:absolute;top:-22px;right:-18px}.ls-chip{gap:9px}.ls-chip svg{color:var(--accent);flex-shrink:0}@media (max-width:640px){.mlp-motif{top:-16px;right:-14px}.mlp-motif svg{width:116px;height:116px}}.st-parts{flex-direction:column;display:flex}.st-parts>*+*{margin-top:16px}.st-parts>.st-task{margin-top:22px}.st-lead{color:var(--muted);margin:0;font-size:14.5px;line-height:1.5}.st-passage :where(p){margin:0 0 12px}.st-passage :where(p):last-child{margin-bottom:0}.st-parts[data-prose=ru] .st-passage :where(p){text-indent:1.5em;margin:0}.st-parts[data-prose=ru]>.st-passage+.st-passage{margin-top:0}.st-task{border-top:2px solid var(--skin-ink,var(--border-strong));font-family:var(--font-ui);letter-spacing:-.005em;background:0 0;flex-direction:column;gap:6px;padding-top:18px;font-weight:600;display:flex}.st-task-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--skin-ink,var(--accent));font-size:12px;font-weight:800}.st-task :where(p){margin:0}@media (max-width:640px){.st-task{padding-top:14px}}.mlp-card .st-parts>*+*{margin-top:var(--rule)}.mlp-card .st-parts>.st-task{margin-top:var(--rule);padding-top:calc(var(--rule) - 2px);gap:0}.mlp-card .st-lead,.mlp-card .st-task-label{line-height:var(--rule)}.mlp-card .st-passage :where(p){margin:0 0 var(--rule)}.mlp-card .st-parts[data-prose=ru] .st-passage :where(p){margin:0}.mlp-card :where(ul,ol){margin:0;padding-left:28px}.mlp-card :where(li){line-height:var(--rule);margin:0}.mlp-card :where(li)+:where(li){margin-top:0}.pp-wrap{z-index:60;max-width:360px;animation:.18s ease-out pp-in;position:fixed;bottom:20px;right:20px}@keyframes pp-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pp-wrap{animation:none}}.pp-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 18px 16px;box-shadow:0 8px 28px #10211e1f}.pp-title{color:var(--text);font-size:15px;font-weight:600;line-height:1.35}.pp-text{color:var(--muted);margin:8px 0 16px;font-size:13.5px;line-height:1.5}.pp-actions{gap:8px;display:flex}.pp-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:background-color .12s,border-color .12s}.pp-btn:disabled{opacity:.6;cursor:default}.pp-btn-primary{background:var(--accent);color:var(--accent-on)}.pp-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.pp-btn-ghost{color:var(--muted);border-color:var(--border);background:0 0}.pp-btn-ghost:hover:not(:disabled){border-color:var(--border-strong)}@media (max-width:560px){.pp-wrap{max-width:none;bottom:12px;left:12px;right:12px}}.ls-finish-complete{width:156px;margin:28px auto}.ls-finish-complete p{color:var(--muted);margin:16px -30px 0;font-size:14px;line-height:1.5}.problem-tools{flex-wrap:wrap;align-self:flex-start;gap:8px;display:flex}.ref-toggle .icon{display:inline-flex}.topbar-right .ref-toggle{margin-right:12px}.ref-page{padding:28px 32px}.ref-sheet{flex-direction:column;gap:28px;display:flex}.ref-toc{flex-wrap:wrap;gap:8px;display:flex}.ref-toc-item{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s,background .12s}.ref-toc-item:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.ref-section{scroll-margin-top:16px}.ref-section-title{border-bottom:1px solid var(--border);letter-spacing:-.01em;margin:0 0 14px;padding-bottom:8px;font-size:17px;font-weight:600}.ref-blocks{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px 28px;display:grid}.ref-block{flex-direction:column;gap:6px;min-width:0;display:flex}.ref-block:has(.ref-table-wrap){grid-column:1/-1}.ref-block-title{font-size:14.5px;font-weight:600}.ref-block-note{color:var(--muted);font-size:13px;line-height:1.45}.ref-formulas{flex-direction:column;gap:8px;margin:0;padding:0;font-size:15px;line-height:1.5;list-style:none;display:flex}.ref-formulas li{border-left:2px solid var(--border);padding-left:12px}.ref-formulas .katex{font-size:1.04em}.ref-table-wrap{overflow-x:auto}.ref-table{border-collapse:collapse;min-width:100%;font-size:13.5px}.ref-table th,.ref-table td{border:1px solid var(--border);text-align:center;white-space:nowrap;padding:6px 8px}.ref-table th{background:var(--sunk);font-weight:600}.ref-table tbody th{text-align:left}.ref-squares{font-variant-numeric:tabular-nums}.ref-squares td{min-width:44px}.ref-source{margin:0;font-size:12.5px}.ref-empty h3{margin:0 0 8px}.ref-empty p{max-width:520px;margin:0}.ref-modal{max-width:860px;max-height:88vh}.ref-modal-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);margin:-4px 0 16px;padding:4px 0 10px;position:sticky;top:0}.ref-modal-sub{font-size:13px}@media (max-width:640px){.ref-page{padding:18px 16px}.ref-blocks{grid-template-columns:1fr}.ref-modal{max-height:92vh}.topbar-right .ref-toggle{margin-right:8px}}.ref-block.has-figs{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px 14px;display:grid}.ref-block-figs{flex-wrap:wrap;gap:6px;display:flex}.ref-block-body{flex-direction:column;gap:6px;min-width:0;display:flex}.ref-fig{width:150px;height:auto;color:var(--text);flex:none}.ref-block:has(.ref-block-figs .ref-fig+.ref-fig){grid-column:1/-1}@media (max-width:640px){.ref-block.has-figs{grid-template-columns:1fr}.ref-fig{width:140px}}.ref-paragraph{font-size:14px;line-height:1.55}.ref-paragraph p{margin:0}.attachments{background:var(--card);border:1px solid var(--border);border-radius:10px;margin:0 0 12px;padding:10px 12px}.attachments-note{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.4}.attachments-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.attachment{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.attachment:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.attachment-size{color:var(--muted);font-size:12px}.py-runner{border:1px solid var(--border);background:var(--sunk);border-radius:12px;flex-direction:column;gap:8px;margin:0 0 12px;padding:10px;display:flex}.py-runner-head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.py-runner-title{font-size:14px;font-weight:600}.py-runner-files{font-size:12.5px}.py-runner-editor{box-sizing:border-box;tab-size:4;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;white-space:pre;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.5;overflow:auto}.py-runner-editor:focus{border-color:var(--accent);outline:none}.py-runner-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.py-runner-actions .py-run{align-items:center;gap:6px;display:inline-flex}.py-runner-hint{font-size:12.5px}.py-runner-output{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:260px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;overflow:auto}.py-line-err{color:var(--danger)}.py-line-status{color:var(--muted);font-style:italic}.code-block{position:relative}.code-block .code-run{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px;position:absolute;top:6px;right:6px}.code-block .code-run:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.program-block{margin:0 0 12px}.program-block>summary{cursor:pointer;margin-bottom:6px;font-size:14px;font-weight:600}@media (max-width:640px){.py-runner-output{max-height:200px}}.itools{border:1px solid var(--border);background:var(--sunk);border-radius:12px;flex-direction:column;gap:10px;margin:0 0 12px;padding:10px;display:flex}.itools-tabs{flex-wrap:wrap;gap:6px;display:flex}.itools-tab{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:500}.itools-tab.is-active,.itools-key.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.itools-pane{flex-direction:column;gap:8px;display:flex}.itools-label{color:var(--muted);font-size:12.5px}.itools-input,.itools-textarea,.itools-field input,.itools-field select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);box-sizing:border-box;border-radius:8px;width:100%;padding:6px 10px;font-size:14px}.itools-textarea,.itools-string{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.itools-input:focus,.itools-textarea:focus,.itools-field input:focus{border-color:var(--accent);outline:none}.itools-keys,.itools-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.itools-key{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12.5px}.itools-hint{margin-left:4px;font-size:12px}.itools-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.itools-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.itools-field.itools-inline{flex-direction:row;align-items:center;gap:8px}.itools-field.itools-inline input{width:90px}.itools-error{color:var(--danger);font-size:13px}.itools-result{flex-direction:column;gap:4px;font-size:14px;line-height:1.5;display:flex}.itools-result .itools-row{display:inline-flex}.itools-answer{background:var(--surface);border:1px solid var(--border);word-break:break-all;border-radius:6px;margin-right:4px;padding:1px 6px}.itools-table th,.itools-table td{font-variant-numeric:tabular-nums;padding:3px 8px}.itools-table tr.is-one td{background:color-mix(in srgb, var(--accent) 14%, transparent)}.itools-table tr.is-zero td{opacity:.75}.itools-field-grid td.is-path{background:color-mix(in srgb, var(--accent) 22%, transparent);font-weight:600}.itools-tree{border-left:1px dashed var(--border);margin:0;padding-left:16px;font-size:13px;list-style:none}.itools-tree>li{margin:2px 0}.itools-node{border-radius:6px;padding:1px 6px;display:inline-block}.itools-node.is-win{background:color-mix(in srgb, var(--accent) 28%, transparent);font-weight:600}.itools-node.is-w{background:color-mix(in srgb, var(--accent) 12%, transparent)}.itools-node.is-l{opacity:.8}@media (max-width:640px){.itools{padding:8px}.itools-grid{grid-template-columns:1fr 1fr}}.pt-wrap{flex-direction:column;gap:12px;display:flex}.pt-grid{font-variant-numeric:tabular-nums;grid-template-columns:52px repeat(10,minmax(64px,1fr));gap:3px;min-width:760px;display:grid}.pt-head,.pt-period,.pt-flabel{background:var(--sunk);border:1px solid var(--border);border-radius:var(--r-sm,6px);color:var(--text);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.pt-head{padding:6px 4px}.pt-period{font-size:14px}.pt-cell{min-width:0;display:flex}.pt-el{border:1px solid var(--border);border-radius:var(--r-sm,6px);background:var(--card);flex:1;grid-template-rows:auto 1fr auto;align-items:center;min-width:0;min-height:54px;padding:4px 6px 5px;line-height:1.1;display:grid;position:relative}.pt-z{color:var(--muted);justify-self:start;font-size:10.5px}.pt-sym{letter-spacing:.01em;justify-self:start;font-size:18px;font-weight:700}.pt-mass{color:var(--muted-2,var(--muted));white-space:nowrap;justify-self:start;font-size:11px}.pt-el.pt-side{border-left-width:3px;border-left-color:var(--border-strong)}.pt-el.pt-side .pt-z,.pt-el.pt-side .pt-sym,.pt-el.pt-side .pt-mass{justify-self:end}.pt-el.pt-ghost{background:0 0;border-style:dashed}.pt-el.pt-ghost .pt-sym{color:var(--muted);font-weight:500}.pt-cell[style*=span\ 3] .pt-el{grid-template-columns:1fr}.pt-fblock{flex-direction:column;gap:3px;min-width:760px;display:flex}.pt-frow{grid-template-columns:110px repeat(14,minmax(56px,1fr));gap:3px;display:grid}.pt-frow .pt-el{min-height:50px}.pt-frow .pt-sym{font-size:16px}.pt-cat-alkali{background:#fde4e1}.pt-cat-alkaline{background:#fdeccf}.pt-cat-transition{background:#e4ecf8}.pt-cat-post{background:#e8e8f0}.pt-cat-metalloid{background:#ebf3d6}.pt-cat-nonmetal{background:#d8f0e4}.pt-cat-halogen{background:#fff2c2}.pt-cat-noble{background:#ecdbf6}.pt-cat-lanthanide{background:#f6dfe9}.pt-cat-actinide{background:#f9d9df}.pt-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.pt-legend li{align-items:center;gap:6px;display:inline-flex}.pt-swatch{border:1px solid var(--border);border-radius:3px;width:14px;height:14px;display:inline-block}.pt-swatch-side{background:var(--card);border-left:3px solid var(--border-strong)}@media (max-width:720px){.pt-grid{grid-template-columns:52px repeat(10,minmax(58px,1fr))}.pt-head-period{font-size:11.5px}.pt-sym{font-size:16px}}.route-journey{min-width:0;font-family:var(--font-ui);color:#164e48}.journey-visual{isolation:isolate;background:linear-gradient(135deg,#f7f6ea,#e5eedf);border:1px solid #e0e7d8;border-radius:14px;position:relative;overflow:hidden}.journey-dashboard{z-index:1;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px 0;display:flex;position:absolute;inset:0 0 auto}.journey-overline{color:#617661;font-size:9px;font-weight:500;line-height:1.4;display:block}.journey-readiness{min-width:0}.journey-topic-count{align-items:baseline;gap:6px;margin-top:3px;display:flex}.journey-topic-count strong{letter-spacing:-.06em;font-size:29px;font-weight:650;line-height:1}.journey-topic-count>span{color:#526f5c;font-size:11px}.journey-empty-title{max-width:150px;margin:5px 0 0;font-size:16px;line-height:1.25}.journey-destination{background:#fffdf2ed;border:1px solid #d8c590;border-radius:11px;flex-shrink:0;padding:6px 11px}.journey-destination .journey-overline{color:#87734e;font-size:8px}.journey-destination strong{letter-spacing:-.065em;margin-top:1px;font-size:34px;font-weight:650;line-height:1.08;display:inline-block}.journey-goal-unit{color:#887249;margin-left:5px;font-size:9px;display:inline-block}.journey-laboratory{padding-top:12px;position:relative}.journey-lab-art{width:100%;height:auto;max-height:245px;display:block}.journey-motion-toggle{color:#4b775e;cursor:pointer;background:#f8fbee;border:1px solid #cedbc3;border-radius:50%;place-items:center;width:26px;height:26px;padding:5px;display:grid;position:absolute;bottom:5px;right:9px}.journey-motion-toggle svg{width:13px;height:13px}.journey-motion-toggle:focus-visible{outline-offset:3px;outline:2px solid #1a705c}.journey-motion-toggle:disabled{opacity:.5;cursor:default}.journey-progress{padding:0 14px 12px}.journey-progress-caption{color:#647a62;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;font-size:10px;display:flex}.journey-progress-caption strong{color:#19594b;font-size:12px}.journey-segments{gap:4px;display:grid}.journey-segments>span,.journey-empty-track{background:#cddbc3;border-radius:3px;height:5px}.journey-segments>.is-mastered{background:#2c8068}.journey-rhythm{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 2px;padding:13px 0 3px;display:grid}.journey-rhythm>div{border-left:1px solid #dce4d9;flex-wrap:wrap;align-items:center;gap:6px;padding-left:12px;display:flex}.journey-rhythm>div:first-child{border:0;padding-left:0}.journey-rhythm strong{font-family:var(--font-ui);letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:27px;font-weight:600;line-height:1}.journey-rhythm strong small{margin-right:2px;font-size:19px;font-weight:400}.journey-rhythm>div>span{color:#6c8175;font-size:10px;line-height:1.4}.journey-lab-flow-streak{fill:none;stroke:#eeffcf;stroke-width:2.1px;stroke-linecap:round;stroke-dasharray:12 37;opacity:.95}.journey-lab-pipe-bubble{fill:#f8ffe3;stroke:#216e5e;stroke-width:.6px}.journey-laboratory.is-flowing .journey-lab-flow-streak{animation:1.8s linear infinite journey-lab-flow}.journey-laboratory.is-flowing .journey-lab-source-bubble{animation:3s ease-in infinite journey-lab-source}.journey-laboratory.is-flowing .journey-lab-source-bubble:nth-child(2n){animation-delay:-1.5s}.journey-laboratory.is-flowing .journey-lab-vessel-bubble{animation:4s linear infinite journey-lab-rise}.journey-laboratory.is-flowing .journey-lab-vessel-bubble:nth-child(2n){animation-delay:-2s}.journey-laboratory.is-flowing .journey-lab-water-wave{animation:4s ease-in-out infinite journey-lab-water}.journey-laboratory:not(.is-flowing) *{animation-play-state:paused}@keyframes journey-lab-flow{to{stroke-dashoffset:-98px}}@keyframes journey-lab-source{0%{opacity:0;transform:translateY(6px)}25%{opacity:.8}to{opacity:0;transform:translateY(-13px)}}@keyframes journey-lab-rise{0%{opacity:0;transform:translateY(11px)}20%{opacity:.7}90%{opacity:.6}to{opacity:0;transform:translateY(-37px)}}@keyframes journey-lab-water{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}@media (min-width:901px){.journey-lab-art{max-height:165px}.journey-laboratory{padding-top:6px}.journey-dashboard{padding-top:9px}.journey-progress{padding-bottom:8px}.journey-progress-caption{line-height:1.3}.journey-rhythm{padding-top:9px}}@media (max-width:900px){.journey-dashboard{padding:10px 12px 0}.journey-laboratory{padding-top:27px}.journey-topic-count strong{font-size:25px}.journey-destination{padding:5px 8px}.journey-destination strong{font-size:29px}.journey-rhythm>div{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width:370px){.journey-overline{font-size:8px}.journey-destination .journey-overline{font-size:7px}.journey-destination strong{font-size:26px}.journey-topic-count strong{font-size:23px}.journey-topic-count>span{font-size:9px}.journey-empty-title{max-width:120px;font-size:13px}.journey-progress{padding-inline:11px}.journey-progress-caption{font-size:9px}.journey-segments{gap:3px}.journey-rhythm>div{padding-left:8px}.journey-rhythm strong{font-size:24px}.journey-rhythm strong small{font-size:15px}}@media (prefers-reduced-motion:reduce){.journey-laboratory *{animation:none!important}}.dash-page-nav{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.dash-page-nav a{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:12px;align-items:center;gap:9px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.dash-page-nav a span{color:var(--muted);font-size:13px}.dash-page-nav a:hover{background:#eaf3ed;border-color:#a8c5b7}.dash-section,.dash-anchor{scroll-margin-top:24px}.dash-section-num{color:#45675b;border:1px solid #ccdcd5;border-radius:14px;flex:0 0 42px;place-items:center;height:42px;font-size:14px;font-weight:650;display:grid}.dash-section-heading>div{flex:1}.dash-rhythm-grid,.dash-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.dash-section .card{padding:24px}.dash-card-intro{align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.dash-card-intro-copy{flex:1;min-width:0}.dash-card-intro h3{letter-spacing:-.7px;max-width:360px;margin:8px 0;font-size:24px;line-height:1.2}.dash-card-intro p{max-width:620px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.dash-card-emblem{color:#35624f;background:#e1eee6;border-radius:22px;flex:0 0 66px;place-items:center;height:66px;display:grid;transform:rotate(5deg)}.dash-goals-card{background:#f4f9f3;border-color:#d9e5d6}.dash-goals-score{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px;display:flex}.dash-goals-score strong{letter-spacing:-1px;font-size:30px}.dash-goals-score strong span{color:#81948e;font-size:18px}.dash-goals-score>span{color:var(--muted);font-size:13px}.dash-goals-score progress{accent-color:#427954;flex-basis:100%;width:100%;height:6px}.dash-goals-card .challenge-row{background:#fff;border:1px solid #e0e8dc;border-radius:12px;margin:8px 0 0;padding:13px}.dash-goals-card .challenge-row.done{background:#e8f2e5}.dash-goals-card .challenge-row.clickable:hover{background:#eef6e9}.dash-rhythm-grid .dash-progress-card{grid-template-columns:minmax(0,1fr);align-content:start;gap:22px;margin:0}.dash-rhythm-grid .dash-evidence{border-left:0;border-top:1px solid var(--border);padding:22px 0 0}.dash-activity-card .dash-card-emblem{color:#8a652b;background:#f8edd9}.dash-chart-stat{align-items:baseline;gap:10px;margin-top:14px;display:flex}.dash-chart-stat strong{letter-spacing:-1px;font-size:30px}.dash-chart-stat span{color:var(--muted);font-size:13px}.dash-map-card{background:#fcfefc}.dash-map-summary{color:var(--muted);flex-wrap:wrap;gap:10px 24px;margin-top:18px;font-size:13px;display:flex}.dash-map-summary strong{color:var(--text);margin-right:5px;font-size:22px}.dash-map-card .heatmap{grid-template-columns:repeat(13,minmax(0,1fr));gap:10px;display:grid}.dash-map-card .vessel{background:#fff;border:1px solid #e4ebe6;border-radius:14px;width:100%;padding:12px 4px}.dash-map-card .vessel.selected{border-color:var(--accent);background:#eaf3ed}.dash-map-next{border-top:1px solid var(--border);grid-template-columns:.7fr 1fr 1fr;align-items:center;gap:14px;margin-top:24px;padding-top:22px;display:grid}.dash-map-next h4{margin:7px 0 0;font-size:18px}.dash-map-next a{color:var(--text);background:#eef5ed;border:1px solid #dce7df;border-radius:14px;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.dash-map-next a>span:nth-child(2){flex:1;min-width:0}.dash-map-next a strong{font-size:13px;line-height:1.4;display:block}.dash-map-next a small{color:var(--muted);margin-top:5px;font-size:13px;display:block}.dash-topic-number{background:#fff;border-radius:10px;flex:0 0 32px;place-items:center;height:32px;font-size:13px;font-weight:700;display:grid}.dash-exam-card{background:#edf4f5;border-color:#d4e2e4}.dash-exam-card .dash-card-emblem{color:#315d68;background:#dce9ed}.dash-exam-steps{gap:10px;margin:20px 0;display:grid}.dash-exam-steps span{background:#ffffffb3;border-radius:12px;align-items:center;gap:10px;padding:12px;font-size:13px;display:flex}.dash-exam-card .exam-stats-cta{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;gap:8px;padding:12px 16px;display:inline-flex}.dash-exam-card .exam-stats-row{background:#ffffffb3;border-radius:14px;padding:16px}.dash-card-note{color:var(--muted);font-size:13px;line-height:1.7}.dash-chart-placeholder{border-bottom:1px solid var(--border);background:#f8faf9;border-radius:12px;align-items:flex-end;gap:16px;height:110px;margin:20px 0;padding:16px;display:flex}.dash-chart-placeholder span{border:1px dashed #cbdad3;border-radius:8px 8px 0 0;flex:1;height:55px}.dash-page-nav a:focus-visible,.dash-map-next a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dashboard-workspace,.dashboard-insights{margin-top:30px}.dash-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.dash-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700;display:block}.dash-section-heading h2{letter-spacing:-.6px;margin:5px 0 0;font-size:23px}.dash-section-heading>p{max-width:280px;color:var(--muted);margin:0 0 3px;font-size:13px;line-height:1.6}.dash-today-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.dashboard-workspace .card{border-radius:20px}.dashboard-workspace .lc-illustrated{background:var(--accent-soft);border-color:var(--border-strong);padding:24px}.dash-mission-head{border-bottom:1px solid var(--border-strong);align-items:center;gap:14px;margin-bottom:20px;padding-bottom:24px;display:flex}.dash-mission-copy{flex:1;min-width:0}.dash-mission-copy .dash-eyebrow{color:var(--accent)}.dash-mission-copy h3{letter-spacing:-.7px;max-width:290px;margin:8px 0;font-size:24px;line-height:1.2}.dash-mission-copy p{max-width:290px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.dash-mission-mascot{flex:0 0 150px;width:150px}.dash-mission-mascot .turnip-scene-control{width:100%}.dash-mission-progress{margin-top:18px;font-size:13px;font-weight:600}.dash-mission-progress progress{background:var(--border-strong);accent-color:#0e4f4b;border:0;border-radius:10px;width:100%;height:7px;margin-top:8px;display:block;overflow:hidden}.dash-mission-progress progress::-webkit-progress-bar{background:var(--border-strong);border-radius:10px}.dash-mission-progress progress::-webkit-progress-value{background:#0e4f4b;border-radius:10px}.dash-mission-progress progress::-moz-progress-bar{background:#0e4f4b;border-radius:10px}.dashboard-workspace .lc-lesson{background:#fff;border-radius:12px}.dashboard-workspace .lc-lesson.is-done{background:#edf5ef}.dashboard-workspace .lc-lesson.lc-next{border:1px solid var(--accent);background:var(--surface);padding:14px}.lc-next-action{color:var(--accent);justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;font-weight:650;display:flex}.dashboard-workspace .challenges-card{padding:24px}.dash-progress-card{border:1px solid var(--border);background:#fff;border-radius:20px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;margin-bottom:20px;padding:26px;display:grid}.dash-rhythm-heading{align-items:center;gap:10px;display:flex}.dash-icon-tile{color:#91621a;background:#faf0dc;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.dash-rhythm-heading h3{margin:0 0 3px;font-size:16px}.dash-rhythm-heading p{color:var(--muted);margin:0;font-size:13px}.dash-rhythm-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.dash-rhythm-count b{color:var(--text);font-size:21px}.dash-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:22px 0 16px;padding:0;list-style:none;display:grid}.dash-week li{text-align:center}.dash-week-label{color:var(--muted);margin-bottom:9px;font-size:13px;display:block}.dash-week-mark{color:#81948e;background:#f1f4f3;border-radius:50%;place-items:center;width:36px;height:36px;margin:auto;font-size:21px;display:grid}.dash-week .is-active .dash-week-mark{color:#285c42;background:#dcece0}.dash-week .is-today .dash-week-mark{outline-offset:3px;outline:2px solid #0e4f4b}.dash-week .is-today .dash-week-label{color:#0e4f4b;font-weight:700}.dash-rhythm-note{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.dash-evidence{border-left:1px solid var(--border);padding-left:28px}.dash-evidence-stats{gap:30px;margin:16px 0 20px;display:flex}.dash-evidence-stats strong{letter-spacing:-1px;font-size:29px;font-weight:650;display:block}.dash-evidence-stats span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.dash-parent-note{font-size:13px;line-height:1.7}.dash-parent-note summary{cursor:pointer;color:#0e4f4b;font-weight:600}.dash-parent-note summary svg{vertical-align:-3px;margin-right:4px}.dash-parent-note p{color:var(--muted);margin:10px 0 0}.dashboard-insights .card{border-radius:18px}.dashboard-workspace.dash-compact,.dashboard-insights.dash-compact{margin-top:16px}.dash-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.dash-column{gap:12px;min-width:0;display:grid}.dash-columns .dash-lessons,.dash-columns #dash-heatmap{min-width:0;display:grid}.dash-column .dash-progress-card{grid-template-columns:minmax(0,1fr);margin:0}.dash-column .dash-evidence{border-left:0;border-top:1px solid var(--border);padding-left:0}.dash-column .dash-card-emblem,.dash-column .dash-icon-tile{color:#35624f;background:#e5eee8;transform:none}.dash-column .dash-exam-card,.dash-column .dash-goals-card{background:#f5f8f5;border-color:#dce6de}.dash-column .forecast-svg{max-height:180px}.dash-column .dash-week{margin:14px 0 12px}.dash-compact .dash-goals-card,.dash-compact .dash-map-card{border-color:var(--border);background:#fff}.dash-compact .dash-card-emblem,.dash-compact .dash-goals-score progress{display:none}.dash-compact .dash-goals-score{margin-top:4px}.dash-compact .dash-small-title{margin-bottom:0;font-size:13px}.dash-compact .challenge-row.done{background:#f3f7f4}.dash-compact .dash-goals-card .dash-card-intro{margin-bottom:4px}.dash-results{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:16px}.dash-results>summary{cursor:pointer;color:var(--accent);padding:16px 18px}.dash-results-title{font-size:14px;font-weight:650}.dash-results-caption{color:var(--muted);margin:5px 0 0 18px;font-size:13px;display:block}.dash-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 12px;display:grid}.dash-results-grid>:last-child{grid-column:1/-1}.dash-results-grid .forecast-svg{max-height:180px}.dash-results-grid .dash-exam-card{border-color:var(--border);background:#f5f8f5}.dash-results>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:16px}.dash-lesson-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:16px;display:grid}.dash-lesson-aside{gap:16px;min-width:0;display:grid}.dash-compact .card,.dash-compact .dash-progress-card{border-radius:16px;padding:18px}.dash-compact .dash-card-intro{gap:12px;margin-bottom:12px}.dash-compact .dash-card-intro h3{letter-spacing:-.3px;margin:4px 0;font-size:18px}.dash-compact .dash-card-intro p{font-size:13px;line-height:1.5}.dash-compact .dash-card-emblem{border-radius:12px;flex-basis:38px;height:38px}.dash-compact .dash-card-emblem svg{width:22px;height:22px}.dash-compact .dash-card-intro .dash-eyebrow{display:none}.dash-compact .dash-mission-head{border-bottom:1px solid var(--border-strong);grid-template-columns:minmax(0,1fr) 96px;gap:16px;margin:0 0 12px;padding:0 0 12px;display:grid}.dash-compact .lc-illustrated .lc-lesson,.dash-compact .lc-illustrated .lc-lesson.lc-next,.dash-compact .lc-illustrated .lc-lesson.is-done{background:0 0;border:0;border-radius:8px;padding:10px 8px}.dash-compact .lc-illustrated .lc-lesson:hover:not(:disabled){background:var(--sunk)}.dash-compact .lc-illustrated .plan-rationale,.dash-compact .lc-illustrated .pill,.dash-compact .lc-illustrated .plan-regen-btn{background:var(--surface);border-color:var(--border-strong)}.dash-compact .dash-mission-copy h3{letter-spacing:-.01em;max-width:none;margin:0;font-size:20px;font-weight:600;line-height:1.4}.dash-compact .dash-map-card .dash-card-intro h3{letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:600;line-height:1.4}.dash-compact .dash-map-card .dash-card-intro p{font-size:13px;line-height:1.6}.dash-compact .lc-illustrated,.dash-compact .lc-plan-content{flex-direction:column;display:flex}.dash-compact .lc-illustrated .dash-mission-head{flex:none;align-content:start}.dash-compact .lc-list{border:0;grid-auto-rows:auto;gap:8px;margin:0 0 12px;display:grid}.dash-compact .lc-list>li{border:0;display:grid}.dash-compact .lc-list>li+li{border-top:1px solid var(--border-strong);padding-top:8px}.dash-compact .lc-lesson{border:1px solid var(--border-strong);flex-direction:column;justify-content:flex-start;padding:12px;display:flex}.dash-compact .lc-lesson .lc-line,.dash-compact .lc-next-action{width:100%}.dash-compact .plan-completed .lc-list{margin-bottom:0}.dash-compact .lc-illustrated .lc-lesson.lc-next .lc-name,.dash-compact .lc-lesson.is-done .lc-name{color:var(--accent)}.dash-compact .lc-lesson.is-done .lc-topics{color:var(--muted)}.dash-compact .plan-rationale{margin-top:0;padding:10px 12px;font-size:13px;line-height:1.5}.dash-compact .lc-name{font-size:14px;font-weight:600;line-height:1.5}.dash-compact .lc-meta,.dash-compact .lc-topics{color:var(--muted);font-size:13px;line-height:1.6}.dash-compact .lc-next-action{font-weight:600}.dash-compact .dash-mission-progress{font-size:13px}.dash-compact .lc-plan-content>.card-title{margin:0 0 12px;font-size:13px}.dash-compact .dash-map-card .hm-legend,.dash-compact .dash-map-card .hm-legend-note{font-size:13px;line-height:1.6}.dash-compact .lc-illustrated .plan-header-actions .pill{background:0 0}.dash-compact .dash-map-card .title-tags .pill{background:#f2f5f3}.dash-compact .dash-mission-mascot{flex-basis:96px;width:96px}.dash-compact .dash-map-card{flex-direction:column;display:flex}.dash-compact .dash-map-card .heatmap{flex:none;grid-auto-rows:76px;align-content:start;gap:6px}.dash-compact .dash-map-card .vessel{border-radius:10px;justify-content:center;justify-self:center;width:100%;max-width:76px;height:76px;padding:6px}.dash-compact .dash-map-card .flask{width:34px;max-width:100%;height:44px;max-height:44px}.dash-compact .dash-map-card .card-title{margin-bottom:8px;font-size:13px}.dash-compact .dash-map-summary{gap:12px;margin-top:8px;font-size:13px;line-height:1.6}.dash-map-key{background:var(--accent-soft);border-radius:10px;margin-top:12px;padding:10px 12px}.dash-map-key .hm-legend{margin-top:0}.dash-map-key .hm-legend-note{color:var(--muted)}.dash-compact .dash-map-next{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:12px}.dash-compact .dash-map-next>div{display:none}.dash-compact .dash-map-next a{border-radius:9px;gap:6px;padding:8px}.dash-compact .dash-map-next a strong{font-size:13px;font-weight:600;line-height:1.5}.dash-compact .dash-map-next a small{display:none}.dash-compact .dash-topic-number{flex-basis:24px;height:24px;font-size:13px}.dash-compact .dash-goals-score{gap:4px 8px;margin-top:8px}.dash-compact .dash-goals-score strong{font-size:22px}.dash-compact .challenge-row{margin-top:5px;padding:8px 10px}.dash-compact .dash-goal-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dash-compact .challenge-title,.dash-compact .challenge-sub{font-size:13px}.dash-compact .challenges-section-label{margin-top:10px}.dash-compact .dash-rhythm-grid,.dash-compact .dash-exam-grid{align-items:start;gap:16px}.dash-compact .dash-progress-card{gap:12px}.dash-compact .dash-evidence{padding-top:12px}.dash-compact .dash-evidence-stats{margin:10px 0}.dash-compact .dash-evidence-stats strong{font-size:24px}.dash-compact .dash-chart-stat{margin-top:8px}.dash-compact .dash-chart-stat strong{font-size:24px}.dash-compact .dash-exam-steps{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.dash-compact .dash-exam-steps span{gap:6px;padding:8px;font-size:13px}@media (max-width:1050px){.dash-columns,.dash-lesson-layout{grid-template-columns:minmax(0,1fr)}.dash-compact .dash-mission-head{align-content:start}.dash-rhythm-grid,.dash-exam-grid{grid-template-columns:minmax(0,1fr)}.dash-map-card .heatmap{grid-template-columns:repeat(9,minmax(0,1fr))}.dash-map-next{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-map-next>div{grid-column:1/-1}.dash-today-grid,.dash-progress-card{grid-template-columns:minmax(0,1fr)}.dash-evidence{border-left:0;border-top:1px solid var(--border);padding:22px 0 0}.dash-section-heading>p{max-width:220px}}@media (max-width:600px){.dash-results-grid,.dash-compact .dash-goal-groups{grid-template-columns:minmax(0,1fr)}.dash-compact .dash-map-card .heatmap{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-section-heading{grid-template-columns:36px minmax(0,1fr);gap:8px 12px;display:grid}.dash-section-heading>p{grid-column:2}.dash-section-num{height:36px}.dash-page-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash-page-nav a{padding:10px;font-size:13px}.dash-section .card{padding:18px}.dash-card-intro{gap:12px}.dash-card-intro h3{font-size:21px}.dash-card-emblem{border-radius:14px;flex-basis:44px;height:44px}.dash-card-emblem svg{width:24px;height:24px}.dash-map-card .heatmap{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dash-map-next{grid-template-columns:minmax(0,1fr)}.dash-section-heading>p{max-width:none;margin-top:8px}.dash-section-heading h2{font-size:21px}.dashboard-workspace .lc-illustrated,.dashboard-workspace .challenges-card,.dash-progress-card{padding:18px}.dash-mission-head{gap:4px}.dash-mission-mascot{flex-basis:100px;width:100px}.dash-mission-copy h3{font-size:21px}.dash-week{gap:3px}.dash-week-mark{width:30px;height:30px}.dash-evidence-stats{gap:24px}}.dash-compact .lc-topics,.dash-compact .plan-rationale,.dash-compact .dash-map-card .dash-card-intro p,.dash-compact .dash-map-next a strong{font-size:14px;line-height:1.6}.dash-compact .lc-name,.dash-compact .lc-next-action,.dash-compact .lc-plan-content>.card-title{font-size:14px}.dash-compact .dash-map-card .vessel-num,.dash-compact .dash-map-card .pill,.dash-compact .plan-header-actions .pill{font-size:13px}.dash-compact .dash-map-card .title-tags,.dash-compact .plan-header-actions{flex-wrap:wrap}.dash-compact .dash-map-next a{min-width:0}.dash-compact .dash-map-next a strong{overflow-wrap:anywhere}
