:root{--bg:#fafafa;--surface:#fff;--card:#fff;--border:#ebebed;--border-strong:#d8d9dd;--text:#18181b;--muted:#71717a;--muted-2:#a1a1aa;--neutral-box:#f4f4f5;--chip:#f4f4f5;--accent:#4f56c9;--accent-hover:#434aba;--accent-soft:#eef0fb;--accent-on:#fff;--success:#2e9a5b;--success-soft:#e9f4ee;--warn:#c08a2e;--warn-soft:#f7eede;--danger:#c44d4d;--danger-soft:#f7e8e8;--m-low:#d06a6a;--m-mid-low:#d29a4f;--m-mid:#b0a64e;--m-high:#6aa86a;--m-full:#3f9a63;--r-sm:6px;--r-md:10px;--r-lg:14px;--radius:10px;--shadow:0 1px 2px #18181b0a, 0 8px 24px #18181b0f;letter-spacing:-.006em;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Onest,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}html,body{min-height:100%;margin:0}button{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-sm);padding:10px 16px;font-size:13px;font-weight:500;transition:background .18s,border-color .18s,color .18s}button:hover:not(:disabled){background:var(--bg);border-color:var(--border-strong)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{background:0 0;border-color:#0000}button.accent{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}button.accent:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-on)}button.btn-soft{background:var(--card);border-color:var(--border);color:var(--text);border-radius:var(--r-md);font-weight:500}button.btn-soft svg{color:var(--muted)}button.btn-soft:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}button.btn-soft:hover:not(:disabled) svg{color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);outline:none;width:100%;padding:8px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}@media (width<=720px){input,select,textarea{font-size:16px}}a{color:var(--accent);text-decoration:none}code{background:var(--bg);border-radius:4px;padding:1px 6px;font-size:12px}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{align-items:center;gap:8px;padding:8px 12px 20px;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}.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}.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-footer{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.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;min-width:0}.sidebar-user .name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user .email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.sidebar-logout{color:var(--muted-2);border-radius:var(--r-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s;display:inline-flex}.sidebar-logout:hover{color:var(--text);background:var(--neutral-box)}.sidebar-version{color:var(--muted);text-align:center;letter-spacing:.05em;padding:6px 14px 4px;font-size:10px}.sidebar-legal{flex-wrap:wrap;justify-content:center;gap:4px 8px;padding:0 12px 14px;display:flex}.sidebar-legal a{color:var(--muted);font-size:10px;text-decoration:none;transition:color .15s}.sidebar-legal a:hover{color:var(--text)}.legal-page{background:var(--bg);min-height:100vh;padding:40px 24px}.legal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:720px;margin:0 auto;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 (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{color:#fff;background:linear-gradient(135deg,#a878d4 0%,#3b6ef5 100%);border-radius:22px;justify-content:center;align-items:center;width:72px;height:72px;font-size:32px;display:flex;box-shadow:0 10px 26px #3b6ef54d}.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:linear-gradient(90deg,#3b6ef5,#6a4ad9);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);color:var(--accent);border-color:#c5d2fb}.exam-nav-cell.current{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.05)}.exam-nav-cell.failed{background:var(--danger-soft);color:var(--danger);cursor:not-allowed;opacity:.6;border-color:#f0c0c0}.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}.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 (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}.fab-practice{bottom:calc(20px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right));z-index:45;background:var(--accent);color:var(--accent-on);cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:100px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:background .18s;display:inline-flex;position:fixed}.fab-practice:hover:not(:disabled){background:var(--accent-hover)}.fab-icon{font-size:15px}@media (width<=600px){.fab-practice{padding:11px 16px;font-size:13px}}@media (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 (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 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-flame{font-size:42px}.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-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.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}.pw-strength{align-items:center;gap:8px;margin-top:6px;display:flex}.pw-strength-bar{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.pw-strength-bar span{background:var(--danger);height:100%;transition:width .2s,background .2s;display:block}.pw-strength[data-score="2"] .pw-strength-bar span{background:#e0a800}.pw-strength[data-score="3"] .pw-strength-bar span{background:var(--ok,#2e9e5b)}.vk-onetap{justify-content:center;min-height:44px;display: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}.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}.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)}.dash-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:18px;padding:20px 24px;display:flex}.dash-empty-icon{color:var(--accent);flex-shrink:0;font-size:26px}.dash-empty-body{flex:1;min-width:220px}.dash-empty-title{color:var(--text);font-size:16px;font-weight:600}.dash-empty-sub{color:var(--muted);max-width:60ch;margin-top:4px;font-size:14px;line-height:1.5}.dash-empty .hero-cta{flex-shrink:0}.hero-streak-flame{vertical-align:-1px;margin-right:4px;font-size:22px}.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-streak-warn{color:var(--warn);background:var(--warn-soft);border:1px solid #ecdcb8}.hero-streak-ok{color:var(--success);background:var(--success-soft);border:1px solid #c7e6d3}.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 (width<=1100px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=820px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-streak .v{align-items:center;gap:6px;display:inline-flex}.stat-streak .streak-emoji{font-size:22px}.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}.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:color-mix(in srgb, var(--success) 25%, #fff);position:absolute;top:0;left:0;right:0}.activity-day:hover .bar:not(.empty){background:#257a48}.bar.today{background:#1f6b3f}.activity-day:hover .bar.today{background:#18562f}.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:color-mix(in srgb, var(--success) 25%, #fff)}.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: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 (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:16px;display:flex}.streak-flame{filter:grayscale();opacity:.5;font-size:52px;line-height:1;transition:filter .2s,opacity .2s}.streak-flame.on{filter:none;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{font-size:36px;font-weight:700;line-height:1}.streak-label{color:var(--muted);margin-top:4px;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{font-size:22px;font-weight:600}.streak-best-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:11px}.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{background:var(--neutral-box);width:38px;height:38px;color:var(--muted-2);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.streak-day.on .streak-day-dot{background:var(--success-soft);color:var(--success)}.streak-day.today .streak-day-dot{box-shadow:0 0 0 2px 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:#7a5f1d}.streak-nudge.ok{background:var(--success-soft);color:#1f6c3f}.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}.solve-grid{grid-template-columns:1.4fr 1fr;gap:16px;min-height:calc(100vh - 160px);display:grid}@media (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;padding:20px;display:flex}.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{font-size:32px}.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{background:linear-gradient(135deg,#3b6ef5 0%,#6a4ad9 100%);border:none;align-items:center;gap:6px;padding:11px 18px;font-size:14px;font-weight:600;transition:transform .1s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 4px 14px #3b6ef547}button.primary.generate-btn:hover:not(:disabled){filter:brightness(1.03);background:linear-gradient(135deg,#3b6ef5 0%,#6a4ad9 100%);transform:translateY(-1px);box-shadow:0 6px 18px #3b6ef55c}button.primary.generate-btn:disabled{background:var(--border-strong);box-shadow:none;filter:none;transform:none}.generate-btn .sparkle{opacity:.95;font-size:13px}.problem-text{background:var(--bg);border-left:3px solid var(--accent);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}.board-toggle{color:var(--muted);border:1px dashed var(--border-strong);text-align:center;cursor:pointer;background:0 0;border-radius:8px;width:100%;padding:9px 14px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.board-toggle:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.board{border:1px solid var(--border);background:#fafbfd;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:#fff;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;text-align:center;background:0 0;border-radius:8px;width:100%;padding:9px 14px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.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}.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{color:#fff;background:linear-gradient(135deg,#a878d4 0%,#3b6ef5 100%);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;animation:3s ease-in-out infinite empty-float;display:flex;box-shadow:0 10px 30px #3b6ef540}.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}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.problem-empty.generating .problem-empty-icon{background:linear-gradient(135deg,#a878d4 0%,#3b6ef5 50%,#2e9a5b 100%) 0 0/200% 200%;animation-name:empty-float,shimmer-bg;animation-duration:1.2s,6s;animation-timing-function:ease-in-out,linear;animation-iteration-count:infinite,infinite;animation-direction:normal;animation-play-state:running;animation-delay:0s;animation-fill-mode:none;animation-timeline:auto}@keyframes shimmer-bg{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.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}.answer-label{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.answer-row{align-items:stretch;gap:10px;display:flex}.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}.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);color:#1f6c3f;border-color:#c7e6d3}.feedback.incorrect{background:var(--danger-soft);color:#8a2f2f;border-color:#f0c0c0}.feedback-action{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid;border-radius:100px;align-self:flex-start;padding:6px 12px;font-size:12px;font-weight:500;transition:opacity .1s,background .1s}.feedback-action:hover:not(:disabled){opacity:1;background:#8a2f2f14}.feedback-action:disabled{opacity:.6;cursor:not-allowed}.feedback-explanation{color:inherit;background:#ffffff8c;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-head{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 12px;display:flex}.micro-lesson-badge{color:var(--accent);font-size:13px;font-weight:600}.micro-lesson-toggle{color:var(--accent);opacity:.75;font-size:12px}.micro-lesson-body{color:var(--text);padding:0 14px 12px;font-size:13px;line-height:1.55}.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{color:#fff;background:linear-gradient(135deg,#7b3bf5,#3b6ef5);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;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:#fff;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 18px;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-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:#2e5bd4}.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 (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}.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}.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}.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:#fff}.filter.active:hover{background:#2e5bd4;border-color:#2e5bd4}.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}.hist-row:hover{background:var(--bg)}.hist-row.selected{background:var(--accent-soft)}.hist-header{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);cursor:default;background:#fafbfd;font-size:11px;font-weight:600}.hist-header:hover{background:#fafbfd}.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{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#fafbfd;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{border-radius:var(--radius);background:linear-gradient(135deg,#f3f4ff 0%,#faf5ff 100%);border:1px solid #e0e2f5;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{color:#fff;background:linear-gradient(135deg,#a878d4 0%,#3b6ef5 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex;box-shadow:0 4px 14px #3b6ef538}.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}.structure{flex-direction:column;gap:16px;display:flex}.screen-intro{border:1px dashed var(--border-strong);color:var(--muted);background:#fff;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.55}.screen-intro strong{color:var(--text)}.ege-top{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}@media (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}.task-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #3b6ef51a}.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(--warn,#b45309);background:var(--warn-soft,#fdf3e3);vertical-align:1px;border-radius:999px;margin-left:6px;padding:2px 7px;font-size:10px;font-weight:600}.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:#16a34a;white-space:nowrap;background:#16a34a1a;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{background:var(--surface);border-radius:6px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;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{color:#16a34a;background:#16a34a26;border-color:#16a34a80}.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{text-align:center;margin:-8px 0 16px}.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}.plan-list{flex-direction:column;margin-top:4px;display:flex}.plan-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;background:0 0;border-radius:0;grid-template-columns:22px 1fr auto;align-items:start;gap:14px;padding:14px 8px;transition:background .15s;display:grid}.plan-item:first-child{padding-top:6px}.plan-item:last-child{border-bottom:none;padding-bottom:2px}.plan-item:hover{background:var(--accent-soft)}.plan-item:hover .plan-item-title{color:var(--accent)}.plan-status{border:1.5px solid var(--border-strong);color:#fff;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;transition:border-color .15s,background .15s;display:inline-flex}.plan-status svg{width:12px;height:12px}.plan-item:hover .plan-status{border-color:var(--accent)}.plan-item.done .plan-status{background:var(--success);border-color:var(--success)}.plan-item-body{min-width:0}.plan-item-title{color:var(--text);font-size:14px;font-weight:500;line-height:1.4;transition:color .15s}.plan-item-num{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:7px}.plan-item-reason{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.plan-item.done .plan-item-title{color:var(--muted)}.plan-item.done:hover .plan-item-title{color:var(--accent)}.plan-item.done .plan-item-reason{display:none}.plan-item-progress{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:1px;margin-top:1px;font-size:13px;font-weight:500;display:flex}.plan-item-sub{color:var(--muted-2);font-size:10.5px;font-weight:400}.plan-item.done .plan-item-sub{display:none}.plan-item-tag{text-transform:uppercase;letter-spacing:.06em;border:1px solid color-mix(in srgb, currentColor 28%, transparent);vertical-align:2px;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;margin-left:8px;padding:3.5px 8px;font-family:Onest,-apple-system,Segoe UI,Roboto,sans-serif;font-size:9px;font-weight:600;line-height:1;display:inline-flex}.plan-item-tag:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.plan-item-tag.new{background:var(--accent-soft);color:var(--accent)}.plan-item-tag.weak{background:color-mix(in srgb, var(--m-low) 9%, transparent);color:var(--m-low)}.plan-item-tag.review{background:color-mix(in srgb, var(--m-full) 9%, transparent);color:var(--m-full)}.plan-item.done .plan-item-tag{display:none}.plan-item-progress-sep{color:var(--muted-2);margin:0 1px}.plan-item.done .plan-item-progress{color:var(--success)}.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:color-mix(in srgb, var(--m-full) 10%, transparent);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 (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-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:4px 8px 6px 0;font-weight:500}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);padding:6px 8px 6px 0}.admin-table tr:last-child td{border-bottom:none}.admin-table-sm{margin-top:12px}.admin-stub-cell{color:var(--muted);font-style:italic}.admin-stub-note{margin-top:12px;font-size:12px}.am-page{flex-direction:column;gap:24px;padding-bottom:40px;display:flex}.am-refresh-btn{padding:4px 12px;font-size:13px}.am-error-banner{background:var(--error-bg,#fff0f0);color:var(--error,#c0392b);padding:10px 16px;font-size:13px}.am-section{flex-direction:column;gap:12px;display:flex}.am-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:4px;font-size:11px;font-weight:600}.am-hero-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}@media (width<=1100px){.am-hero-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.am-hero-grid{grid-template-columns:repeat(2,1fr)}}.am-stats-row{flex-wrap:wrap;gap:12px;display:flex}.am-stat{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius,10px);flex:1;min-width:130px;padding:14px 18px}.am-stat-label{color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:500}.am-stat-value{color:var(--text);font-size:28px;font-weight:700;line-height:1}.am-stat-sub{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.3}.am-chart-wrap{padding:14px 16px 10px}.am-chart-title{color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:500}.am-chart-svg{width:100%;display:block}.am-stub-card{opacity:.75}.am-streak-table{padding:14px 16px}.am-skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--card-bg,#f5f5f5) 50%, var(--border) 75%);background-size:200% 100%;border-radius:4px;animation:1.4s infinite am-shimmer;display:inline-block}@keyframes am-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.am-no-data{color:var(--muted);font-size:20px;font-weight:600}.am-footer{color:var(--muted);text-align:right;padding-top:8px;font-size:11px}.users-toolbar{gap:8px;margin-bottom:12px;display:flex}.users-toolbar input{flex:1}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:14px}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.users-table th{color:var(--muted);font-size:12px;font-weight:600}.users-table select{width:auto;min-width:130px}.row-busy{opacity:.5}.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:#9a6b1f}.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}.users-table .renew-off{color:#9a6b1f;font-weight:500}.users-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.paywall{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.paywall-card{text-align:center;max-width:460px}.paywall-icon{margin-bottom:8px;font-size:40px}.paywall-card h1{margin:0 0 10px;font-size:26px}.paywall-card p{color:var(--muted);margin:0 0 20px;line-height:1.5}.paywall-actions{justify-content:center;gap:10px;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}.diag-card{max-width:540px}.diag-chips{flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0 4px;display:flex}.diag-chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:999px;padding:10px 18px;font-weight:500}.diag-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.diag-survey{text-align:left;flex-direction:column;gap:18px;margin:6px 0;display:flex}.diag-survey-row{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.diag-survey-subject{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:8px;font-weight:600;display:flex}.diag-survey-scale{color:var(--muted);font-size:12px;font-weight:400}.diag-survey-field{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.diag-survey-field select{width:100%;padding:8px 30px 8px 10px}.diag-progress{color:var(--muted);margin-bottom:12px;font-size:13px}.diag-statement{text-align:left;margin:6px 0 14px;line-height:1.5}.diag-ok{color:var(--success);font-weight:600}.diag-err{color:var(--danger);font-weight:600}.lp{--lp-ink:#1d1d1f;--lp-ink-2:#525257;--lp-ink-3:#7c7c82;--lp-paper:#fff;--lp-soft:#f5f5f7;--lp-warm:#f6f4f1;--lp-line:#e8e8ed;--lp-line-2:#d2d2d7;--lp-dark:#141417;--lp-dark-2:#1d1d22;--lp-accent:#1d1d1f;--lp-accent-hover:#000;--lp-green:#2f9e5e;--lp-link:#0071e3;--lp-cool:120, 130, 255;--lp-radius:18px;color:var(--lp-ink);background:var(--lp-paper);letter-spacing:-.015em;-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 520px at 78% -8%, #1d1d1f09, transparent 60%), radial-gradient(900px 480px at 8% 4%, #1d1d1f06, transparent 55%), var(--lp-paper);font-family:Onest,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;position:relative;overflow-x:clip}.lp:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(#1d1d1f09 1px,#0000 1px);background-size:26px 26px;height:1100px;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#00000080,#0000 92%);mask-image:linear-gradient(#00000080,#0000 92%)}.lp>*{z-index:1;position:relative}.lp .lp-container{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}.lp .lp-btn{white-space:nowrap;cursor:pointer;letter-spacing:-.01em;border:1px solid #0000;border-radius:980px;justify-content:center;align-items:center;gap:6px;padding:11px 22px;font-size:15px;font-weight:500;text-decoration:none;transition:background .22s,color .22s,border-color .22s,opacity .22s;display:inline-flex}.lp .lp-btn-lg{padding:15px 30px;font-size:17px}.lp .lp-btn-primary{background:var(--lp-accent);color:#fff}.lp .lp-btn-primary:hover{background:var(--lp-accent-hover)}.lp .lp-btn-ghost{color:var(--lp-ink);background:0 0}.lp .lp-btn-ghost:hover{color:var(--lp-link)}.lp .lp-btn-outline{color:var(--lp-ink);border-color:var(--lp-line-2);background:0 0}.lp .lp-btn-outline:hover{border-color:var(--lp-ink)}.lp .lp-btn-light{color:var(--lp-ink);background:#fff}.lp .lp-btn-light:hover{opacity:.85}.lp a:focus-visible,.lp button:focus-visible{outline:2px solid var(--lp-ink);outline-offset:3px}.lp .lp-section-dark a:focus-visible,.lp .lp-section-dark button:focus-visible,.lp .lp-final a:focus-visible,.lp .lp-final button:focus-visible{outline-color:#fff}.lp .lp-header{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(20px);background:#fffc;border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}.lp .lp-header.is-scrolled{border-bottom-color:var(--lp-line)}.lp .lp-header-inner{justify-content:space-between;align-items:center;height:60px;display:flex}.lp .lp-brand{flex:none;align-items:center;gap:9px;display:flex}.lp .lp-brand-name{letter-spacing:-.02em;white-space:nowrap;font-size:17px;font-weight:600;line-height:1.1}.lp .lp-brand-sub{color:var(--lp-ink-3);white-space:nowrap;font-size:11px}.lp .lp-nav-links{white-space:nowrap;gap:2px;display:flex}.lp .lp-nav-links a{color:#3f3f45;letter-spacing:-.01em;border-radius:980px;padding:7px 11px;font-size:14px;font-weight:420;transition:background .2s,color .2s}.lp .lp-nav-links a:hover{color:var(--lp-ink);background:var(--lp-soft)}.lp .lp-header-cta{flex:none;align-items:center;gap:8px;display:flex}.lp .lp-header-cta .lp-btn{padding:8px 16px;font-size:14px}.lp .lp-hero{padding:88px 0 90px;position:relative}.lp .lp-hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(640px 360px at 74% 16%,#1d1d1f12,#0000 62%),radial-gradient(520px 360px at 12% 2%,#1d1d1f0b,#0000 60%);height:600px;position:absolute;inset:-120px 0 auto}.lp .lp-hero-inner{grid-template-columns:.9fr 1.1fr;align-items:center;gap:52px;display:grid}.lp .lp-hero-badge{color:var(--lp-ink);border:1px solid var(--lp-line);-webkit-backdrop-filter:blur(8px);background:#ffffffb3;border-radius:980px;align-items:center;gap:8px;margin-bottom:22px;padding:7px 15px 7px 12px;font-size:13.5px;font-weight:500;display:inline-flex;box-shadow:0 4px 14px -6px #0000001a}.lp .lp-hero-badge-dot{background:var(--lp-green);border-radius:50%;width:8px;height:8px;animation:2.4s infinite lp-pulse;box-shadow:0 0 #2f9e5e80}@keyframes lp-pulse{0%{box-shadow:0 0 #2f9e5e80}70%{box-shadow:0 0 0 7px #2f9e5e00}to{box-shadow:0 0 #2f9e5e00}}.lp .lp-hero h1{letter-spacing:-.035em;margin:0 0 24px;font-size:60px;font-weight:600;line-height:1.05}.lp .lp-hl{white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(90deg,#1d1d1f24,#1d1d1f0d);background-position:0 88%;background-repeat:repeat-x;background-size:100% .34em;border-radius:4px;margin:0 -2px;padding:0 2px}.lp .lp-hero-lead strong,.lp .lp-section-sub strong,.lp .lp-compare-note strong,.lp .lp-pain-card p strong,.lp .lp-feature p strong,.lp .lp-audience-point p strong{color:var(--lp-ink);font-weight:600}.lp .lp-section-dark strong{color:#fff}.lp .lp-hero-lead{color:var(--lp-ink-2);max-width:520px;margin:0 0 32px;font-size:21px;font-weight:400;line-height:1.45}.lp .lp-hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:30px;display:flex}.lp .lp-hero-trust{flex-wrap:wrap;gap:24px;display:flex}.lp .lp-hero-trust span{color:var(--lp-ink-3);align-items:center;gap:6px;font-size:13.5px;font-weight:400;display:inline-flex}.lp .lp-hero-trust svg{width:15px;height:15px;color:var(--lp-green)}.lp .lp-hero-visual{perspective:1800px}.lp .lp-mock{border-radius:var(--lp-radius);border:1px solid var(--lp-line);background:#fff;transition:transform .5s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:rotateY(-6deg)rotateX(2deg);box-shadow:0 40px 80px -20px #0000002e,0 10px 30px -10px #00000014}.lp .lp-hero-visual:hover .lp-mock{transform:rotateY(-1deg)rotateX(.5deg)}.lp .lp-mock-bar{background:var(--lp-soft);border-bottom:1px solid var(--lp-line);align-items:center;gap:6px;padding:11px 14px;display:flex}.lp .lp-dot{background:#d8d8dd;border-radius:50%;width:10px;height:10px}.lp .lp-mock-url{color:var(--lp-ink-3);text-align:center;background:#fff;border-radius:6px;flex:1;margin-left:10px;padding:3px 12px;font-size:12px}.lp .lp-dash{background:#fafafa;padding:0}.lp .lp-topbar{border-bottom:1px solid var(--lp-line);background:#fff;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.lp .lp-topbar-title{letter-spacing:-.02em;font-size:15px;font-weight:600}.lp .lp-subject-toggle{background:#f4f4f5;border-radius:8px;gap:2px;padding:3px;display:inline-flex}.lp .lp-subject-toggle b{background:#fff;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;box-shadow:0 1px 2px #18181b14}.lp .lp-subject-toggle span{color:var(--lp-ink-3);padding:4px 10px;font-size:11px}.lp .lp-dash-body{flex-direction:column;gap:16px;padding:16px;display:flex}.lp .lp-hero-card{border:1px solid var(--lp-line);background:#fff;border-radius:14px;justify-content:space-between;gap:20px;padding:20px 22px;display:flex}.lp .lp-hero-card-left{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.lp .lp-hero-greeting{letter-spacing:-.02em;font-size:19px;font-weight:600}.lp .lp-hero-card-sub{color:var(--lp-ink-3);margin-top:-8px;font-size:12px}.lp .lp-hero-card-stats{align-items:stretch;gap:18px;display:flex}.lp .lp-hcs{flex-direction:column;gap:4px;display:flex}.lp .lp-hcs-v{letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1}.lp .lp-streak{color:#d97a1e;align-items:center;gap:4px;display:inline-flex}.lp .lp-streak-flame{filter:drop-shadow(0 0 5px #e88c2880);font-size:15px;line-height:1;animation:2.2s ease-in-out infinite lp-flicker}@keyframes lp-flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(1.12)}}.lp .lp-hcs-l{color:var(--lp-ink-3);white-space:nowrap;font-size:10px;font-weight:500}.lp .lp-hcs-sep{background:var(--lp-line);align-self:stretch;width:1px}.lp .lp-hero-card-cta{gap:8px;display:flex}.lp .lp-hcc-primary{color:#fff;background:#4f56c9;border-radius:6px;padding:8px 14px;font-size:11px;font-weight:500}.lp .lp-hcc-ghost{color:var(--lp-ink);border:1px solid var(--lp-line-2);background:#fff;border-radius:6px;padding:8px 14px;font-size:11px;font-weight:500}.lp .lp-exam-widget{border:1px solid var(--lp-line);background:#fafafa;border-radius:10px;flex-direction:column;justify-content:center;gap:6px;min-width:130px;padding:14px 16px;display:flex}.lp .lp-ew-title{letter-spacing:.04em;color:var(--lp-ink-3);text-transform:uppercase;font-size:9px;font-weight:500}.lp .lp-ew-days{align-items:baseline;gap:6px;display:flex}.lp .lp-ew-days b{letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1}.lp .lp-ew-days span{color:var(--lp-ink-3);font-size:12px}.lp .lp-ew-date{color:var(--lp-ink-3);font-size:11px}.lp .lp-dash-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.lp .lp-card{border:1px solid var(--lp-line);background:#fff;border-radius:14px;padding:16px}.lp .lp-card-title{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.lp .lp-pill{color:var(--lp-ink-2);background:#f4f4f5;border-radius:980px;padding:3px 9px;font-size:10px;font-weight:500}.lp .lp-heatmap{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.lp .lp-vessel{flex-direction:column;align-items:center;gap:2px;padding:4px 1px 2px;display:flex;position:relative}.lp .lp-vessel .lp-flask{aspect-ratio:40/52;width:100%;height:auto}.lp .lp-vessel-num{color:var(--lp-ink-3);font-size:8px;font-weight:500;line-height:1}.lp .lp-vessel .lp-flask-outline{stroke:var(--lp-line-2);stroke-width:2.4px}.lp .lp-vessel.empty .lp-flask-outline{stroke:var(--lp-line)}.lp .lp-vessel.low .lp-flask-liquid{fill:#d06a6a}.lp .lp-vessel.mid-low .lp-flask-liquid{fill:#d29a4f}.lp .lp-vessel.mid .lp-flask-liquid{fill:#b0a64e}.lp .lp-vessel.high .lp-flask-liquid{fill:#6aa86a}.lp .lp-vessel.full .lp-flask-liquid{fill:#3f9a63}.lp .lp-hm-forecast{color:var(--lp-ink-2);background:#2e9a5b12;border-radius:8px;margin-top:12px;padding:8px 10px;font-size:10.5px;line-height:1.45}.lp .lp-hm-forecast b{color:var(--lp-ink)}.lp .lp-hm-legend{color:var(--lp-ink-3);flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;font-size:9px;display:flex}.lp .lp-legend-vessel{border-radius:2px;width:9px;height:9px;display:inline-block}.lp .lp-legend-vessel.low{background:#d06a6a}.lp .lp-legend-vessel.mid{background:#b0a64e}.lp .lp-legend-vessel.full{background:#3f9a63}.lp .lp-activity{border-bottom:1px solid var(--lp-line);align-items:flex-end;gap:8px;height:110px;padding-top:18px;display:flex}.lp .lp-activity-day{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.lp .lp-activity-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex;position:relative}.lp .lp-bar{z-index:2;background:#2e9a5b;border-radius:4px 4px 0 0;width:52%;max-width:20px;position:relative;overflow:hidden}.lp .lp-bar.today{background:#1f6b3f}.lp .lp-bar-miss{background:#c8e6d2;position:absolute;top:0;left:0;right:0}.lp .lp-bar-tick{z-index:3;border-top:2px dashed var(--lp-line-2);pointer-events:none;width:74%;max-width:28px;height:0;position:absolute;left:50%;transform:translate(-50%)}.lp .lp-bar-value{color:var(--lp-ink-3);z-index:3;font-size:10px;font-weight:500;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.lp .lp-bar-lbl{color:var(--lp-ink-3);margin-top:6px;font-size:9px}.lp .lp-activity-sum{color:var(--lp-ink-3);margin-top:10px;font-size:10px}.lp .lp-stats{border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line)}.lp .lp-stats-grid{grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 24px;display:grid}.lp .lp-stat{text-align:center}.lp .lp-stat-v{letter-spacing:-.04em;color:var(--lp-ink);font-size:44px;font-weight:600}.lp .lp-stat-l{color:var(--lp-ink-3);margin-top:6px;font-size:13.5px;line-height:1.4}.lp .lp-section{padding:110px 0}.lp .lp-section-alt{background:var(--lp-soft)}.lp .lp-section-head{text-align:center;max-width:680px;margin:0 auto 64px}.lp .lp-glow{position:relative}.lp .lp-glow:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#1d1d1f14,#0000 70%);width:880px;height:480px;position:absolute;top:2%;left:50%;transform:translate(-50%)}.lp .lp-glow-right:before{left:78%}.lp .lp-glow-left:before{left:22%}.lp .lp-h2{letter-spacing:-.035em;margin:0 0 16px;font-size:48px;font-weight:600;line-height:1.08}.lp .lp-section-sub{color:var(--lp-ink-2);margin:0;font-size:21px;font-weight:400;line-height:1.4}.lp .lp-muted{color:var(--lp-ink-3)}.lp .lp-pain{text-align:center;padding:100px 0}.lp .lp-pain-tint{background:var(--lp-soft);border-bottom:1px solid var(--lp-line)}.lp .lp-pain-resolve{max-width:680px;color:var(--lp-ink-2);letter-spacing:-.03em;margin:0 auto 64px;font-size:33px;font-weight:600;line-height:1.3}.lp .lp-pain-resolve strong{color:var(--lp-ink);font-weight:600}.lp .lp-pain-resolve .lp-dim{color:var(--lp-ink-3);font-weight:500}.lp .lp-pain-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto;display:grid}.lp .lp-pain-card{text-align:center;border:1px solid var(--lp-line);border-radius:var(--lp-radius);background:#fff;padding:38px 28px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;box-shadow:0 18px 40px -20px #00000029}.lp .lp-pain-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -22px #0003}.lp .lp-pain-stat{letter-spacing:-.03em;color:var(--lp-ink);margin-bottom:10px;font-size:40px;font-weight:600;line-height:1}.lp .lp-pain-card p{color:var(--lp-ink-2);margin:0;font-size:15.5px;line-height:1.5}.lp .lp-steps{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.lp .lp-step{text-align:left;position:relative}.lp .lp-step-n{width:52px;height:52px;color:var(--lp-ink);border:1px solid var(--lp-line-2);z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:22px;font-size:18px;font-weight:600;display:flex;position:relative;box-shadow:0 6px 16px -8px #00000029}.lp .lp-step:not(:last-child) .lp-step-n:after{content:"";background:var(--lp-line-2);width:80px;height:1px;position:absolute;top:50%;left:calc(100% + 8px)}.lp .lp-step h3{letter-spacing:-.025em;margin:0 0 10px;font-size:23px;font-weight:600}.lp .lp-step p{color:var(--lp-ink-2);margin:0;font-size:17px;line-height:1.5}.lp .lp-features{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.lp .lp-feature{border:1px solid var(--lp-line);border-radius:var(--lp-radius);background:#fff;padding:34px 30px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}.lp .lp-section-alt .lp-feature{background:#fff}.lp .lp-feature:hover{transform:translateY(-4px);box-shadow:0 20px 40px -16px #0000001f}.lp .lp-feature-icon{width:44px;height:44px;color:var(--lp-ink);justify-content:center;align-items:center;margin-bottom:22px;display:flex}.lp .lp-feature-icon svg{width:30px;height:30px}.lp .lp-feature h3{letter-spacing:-.02em;margin:0 0 9px;font-size:20px;font-weight:600}.lp .lp-feature p{color:var(--lp-ink-2);margin:0;font-size:16px;line-height:1.5}.lp .lp-compare{grid-template-columns:1fr 1fr;gap:20px;max-width:860px;margin:0 auto;display:grid}.lp .lp-compare-col{border-radius:var(--lp-radius);padding:32px}.lp .lp-compare-repa{border:1px solid var(--lp-line);background:#fff;box-shadow:0 20px 50px -24px #00000029}.lp .lp-compare-tutor{background:var(--lp-soft);border:1px solid #0000}.lp .lp-compare-h{letter-spacing:-.02em;align-items:center;gap:9px;margin-bottom:20px;font-size:20px;font-weight:600;display:flex}.lp .lp-compare-tutor .lp-compare-h{color:var(--lp-ink-3)}.lp .lp-compare-row{border-top:1px solid var(--lp-line);align-items:flex-start;gap:11px;padding:13px 0;font-size:15.5px;line-height:1.45;display:flex}.lp .lp-compare-row svg{width:18px;height:18px;color:var(--lp-green);flex-shrink:0;margin-top:1px}.lp .lp-muted-row{color:var(--lp-ink-3)}.lp .lp-testimonials{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.lp .lp-testimonial{border:1px solid var(--lp-line);border-radius:var(--lp-radius);background:#fff;margin:0;padding:30px}.lp .lp-stars{color:#f5b301;letter-spacing:2px;margin-bottom:16px;font-size:14px}.lp .lp-testimonial blockquote{letter-spacing:-.01em;margin:0 0 22px;font-size:17px;line-height:1.5}.lp .lp-testimonial figcaption{align-items:center;gap:12px;font-size:13.5px;display:flex}.lp .lp-tavatar{background:var(--lp-soft);width:38px;height:38px;color:var(--lp-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.lp .lp-growth{width:100%;height:auto;display:block}.lp .lp-growth .grid-line{stroke:var(--lp-line)}.lp .lp-growth .thr-line{stroke:var(--lp-ink-3);stroke-dasharray:4 5;opacity:.55}.lp .lp-growth .fc-line{fill:none;stroke:var(--lp-green);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.lp .lp-growth .fc-dot{fill:var(--lp-green);stroke:#fff;stroke-width:2px}.lp .lp-growth text{fill:var(--lp-ink-3);font-family:inherit;font-size:11.5px}.lp .lp-growth .lbl-strong{fill:var(--lp-ink);font-size:13.5px;font-weight:600}.lp .lp-growth .lbl-green{fill:var(--lp-green);font-weight:600}.lp .lp-growth .pill-bg{fill:#2f9e5e1f}.lp .lp-growth .pill-tx{fill:#22794a;font-size:11px;font-weight:600}.lp .lp-result-points{flex-direction:column;gap:12px;margin-top:24px;display:flex}.lp .lp-result-points span{color:var(--lp-ink-2);align-items:flex-start;gap:9px;font-size:15px;display:inline-flex}.lp .lp-result-points svg{width:16px;height:16px;color:var(--lp-green);flex:none;margin-top:2px}.lp .lp-auth-shell{align-items:center;min-height:calc(100vh - 60px);padding:48px 0 72px;display:flex}.lp .lp-auth-inner{grid-template-columns:1fr 380px;align-items:center;gap:72px;width:100%;display:grid}.lp .lp-auth-copy .lp-check-list li{font-size:15.5px}@media (width<=860px){.lp .lp-auth-shell{align-items:flex-start;padding:32px 0 56px}.lp .lp-auth-inner{grid-template-columns:1fr;gap:36px}.lp .lp-auth-inner .auth-card{max-width:420px}}.lp .lp-plans{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:24px;display:grid}.lp .lp-plan{border:1px solid var(--lp-line);background:#fff;border-radius:24px;flex-direction:column;padding:40px 32px;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s;display:flex;position:relative;box-shadow:0 2px 10px -6px #0000000f}.lp .lp-plan:hover{transform:translateY(-6px);box-shadow:0 28px 56px -28px #0003,0 8px 22px -16px #0000001f}.lp .lp-plan.is-highlight{box-shadow:0 0 0 1.5px var(--lp-ink), 0 26px 60px -26px #00000042;background:linear-gradient(#fff 0%,#fafafc 100%);border-color:#0000}.lp .lp-plan.is-highlight:hover{box-shadow:0 0 0 1.5px var(--lp-ink), 0 36px 74px -28px #0000004d;transform:translateY(-6px)}.lp .lp-plan-tag{background:var(--lp-ink);color:#fff;letter-spacing:-.01em;white-space:nowrap;border-radius:980px;padding:6px 16px;font-size:12px;font-weight:500;position:absolute;top:-13px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px -8px #00000059}.lp .lp-plan-name{letter-spacing:.05em;text-transform:uppercase;color:var(--lp-ink-3);font-size:13px;font-weight:600}.lp .lp-plan-price{letter-spacing:-.045em;margin:14px 0 4px;font-size:50px;font-weight:600;line-height:1}.lp .lp-plan-price span{color:var(--lp-ink-3);letter-spacing:0;font-size:15px;font-weight:400}.lp .lp-plan-desc{color:var(--lp-ink-2);margin:0 0 26px;font-size:14.5px;line-height:1.45}.lp .lp-plan-features{border-top:1px solid var(--lp-line);flex-direction:column;flex:1;gap:14px;margin:0 0 30px;padding:26px 0 0;list-style:none;display:flex}.lp .lp-plan-features li{color:var(--lp-ink);align-items:flex-start;gap:11px;font-size:15px;line-height:1.45;display:flex}.lp .lp-plan-features svg{width:15px;height:15px;color:var(--lp-green);flex-shrink:0;margin-top:3px}.lp .lp-plan .lp-btn{width:100%;padding-top:13px;padding-bottom:13px}.lp .lp-pricing-note{text-align:center;color:var(--lp-ink-3);margin-top:28px;font-size:13px}.lp .lp-pricing-note a{color:var(--lp-link)}.lp .lp-faq-wrap{max-width:760px}.lp .lp-faq{flex-direction:column;display:flex}.lp .lp-faq-item{border-bottom:1px solid var(--lp-line-2)}.lp .lp-faq-q{text-align:left;letter-spacing:-.02em;width:100%;color:var(--lp-ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;font-size:19px;font-weight:500;display:flex}.lp .lp-faq-chevron{color:var(--lp-ink-3);flex-shrink:0;width:19px;height:19px;transition:transform .3s}.lp .lp-faq-item.is-open .lp-faq-chevron{transform:rotate(180deg)}.lp .lp-faq-a{max-height:0;transition:max-height .3s;overflow:hidden}.lp .lp-faq-item.is-open .lp-faq-a{max-height:280px}.lp .lp-faq-a p{color:var(--lp-ink-2);margin:0;padding:0 4px 24px;font-size:17px;line-height:1.55}.lp .lp-final{background:radial-gradient(900px 420px at 50% 120%, rgba(var(--lp-cool), .14), transparent 60%), var(--lp-dark);color:#fff;padding:120px 0;position:relative;overflow:hidden}.lp .lp-final-inner{text-align:center;z-index:1;max-width:680px;margin:0 auto;position:relative}.lp .lp-final h2{letter-spacing:-.04em;color:#fff;margin:0 0 18px;font-size:52px;font-weight:600;line-height:1.06}.lp .lp-final p{color:#ffffffa6;margin:0 0 34px;font-size:20px;line-height:1.45}.lp .lp-final .lp-btn-light{color:var(--lp-ink);background:#fff}.lp .lp-final .lp-btn-light:hover{opacity:.88}.lp .lp-footer{border-top:1px solid var(--lp-line);background:#fff;padding:56px 0 0}.lp .lp-footer-inner{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;display:grid}.lp .lp-footer-brand{max-width:280px}.lp .lp-footer-brand p{color:var(--lp-ink-3);margin:14px 0 0;font-size:13.5px;line-height:1.55}.lp .lp-footer-col{flex-direction:column;gap:12px;display:flex}.lp .lp-footer-h{color:var(--lp-ink);margin-bottom:2px;font-size:12px;font-weight:600}.lp .lp-footer-col a{color:var(--lp-ink-2);font-size:13.5px;transition:color .2s}.lp .lp-footer-col a:hover{color:var(--lp-ink)}.lp .lp-footer-col span{color:var(--lp-ink-3);font-size:12.5px}.lp .lp-footer-bottom{border-top:1px solid var(--lp-line);color:var(--lp-ink-3);padding:22px 24px;font-size:12.5px}.lp .lp-stats{background:#fff}.lp .lp-flask{display:block}.lp .lp-flask-outline{stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.lp .lp-mock-flat .lp-mock-pad{padding:22px}.lp .lp-mock-pad{background:#fff}.lp .lp-plan-flow{color:var(--lp-ink-2);background:#4f56c912;border:1px solid #4f56c924;border-radius:9px;margin-bottom:12px;padding:7px 12px;font-size:11.5px;font-weight:500}.lp .lp-task-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.lp .lp-task-tag{color:var(--lp-ink);background:var(--lp-soft);border-radius:980px;padding:5px 12px;font-size:12px;font-weight:600}.lp .lp-task-timer{color:var(--lp-green);font-size:12px;font-weight:500}.lp .lp-task-text{color:var(--lp-ink);margin:0 0 18px;font-size:15px;line-height:1.5}.lp .lp-task-answer{align-items:center;gap:12px;margin-bottom:16px;display:flex}.lp .lp-task-input{width:110px;color:var(--lp-ink);border:1px solid var(--lp-green);background:#f4faf4;border-radius:9px;padding:9px 14px;font-size:16px;font-weight:600}.lp .lp-task-ok{color:var(--lp-green);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.lp .lp-task-ok svg{width:17px;height:17px}.lp .lp-task-sketch{background:var(--lp-soft);border-radius:11px;padding:12px 14px}.lp .lp-sketch-label{color:var(--lp-ink-3);align-items:center;gap:6px;margin-bottom:4px;font-size:11.5px;font-weight:600;display:inline-flex}.lp .lp-sketch-label svg{width:14px;height:14px}.lp .lp-sketch-svg{width:100%;height:56px}.lp .lp-sketch-svg path{fill:none;stroke:var(--lp-ink-2);stroke-width:2px;stroke-linecap:round;opacity:.5}.lp .lp-sketch-svg text{fill:var(--lp-ink-2);font-family:ui-monospace,monospace;font-size:11px}.lp .lp-chat-pad{flex-direction:column;gap:10px;display:flex}.lp .lp-chat-head{border-bottom:1px solid var(--lp-line);align-items:center;gap:9px;padding-bottom:6px;font-size:14px;font-weight:600;display:flex}.lp .lp-chat-ava{background:var(--lp-soft);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.lp .lp-chat-suggest{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.lp .lp-chat-suggest span{color:var(--lp-ink-2);border:1px solid var(--lp-line-2);border-radius:980px;padding:6px 12px;font-size:12px}.lp .lp-mock-chat-q{background:var(--lp-ink);color:#fff;border-radius:15px 15px 4px;align-self:flex-end;max-width:80%;padding:9px 13px;font-size:13px;line-height:1.4}.lp .lp-mock-chat-a{background:var(--lp-soft);max-width:92%;color:var(--lp-ink);border-radius:15px 15px 15px 4px;align-self:flex-start;align-items:flex-start;gap:8px;padding:9px 13px;font-size:13px;line-height:1.45;display:flex}.lp .lp-mock-chat-a svg{width:15px;height:15px;color:var(--lp-green);flex-shrink:0;margin-top:1px}.lp .lp-showcase{padding:100px 0}.lp .lp-showcase-inner{grid-template-columns:1fr 1.05fr;align-items:center;gap:64px;display:grid}.lp .lp-showcase-inner.lp-reverse{grid-template-columns:1.05fr 1fr}.lp .lp-eyebrow{color:var(--lp-ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-size:13px;font-weight:600}.lp .lp-showcase-copy .lp-h2{margin-bottom:16px;font-size:40px}.lp .lp-showcase-copy .lp-section-sub{text-align:left}.lp .lp-showcase-visual .lp-mock{transform:none;box-shadow:0 30px 70px -28px #00000038,0 8px 24px -10px #00000014}.lp .lp-section-head .lp-eyebrow{color:var(--lp-ink-2);align-items:center;gap:9px;display:inline-flex}.lp .lp-section-head .lp-eyebrow:before,.lp .lp-section-head .lp-eyebrow:after{content:"";background:var(--lp-line-2);width:24px;height:1px}.lp .lp-compare-note{text-align:center;max-width:620px;color:var(--lp-ink-2);margin:28px auto 0;font-size:16px;line-height:1.55}.lp .lp-audience{grid-template-columns:1fr 1.1fr;align-items:center;gap:56px;display:grid}.lp .lp-audience.lp-reverse{grid-template-columns:1.1fr 1fr}.lp .lp-audience-points{flex-direction:column;gap:26px;display:flex}.lp .lp-audience-point{align-items:flex-start;gap:16px;display:flex}.lp .lp-audience-ico{background:var(--lp-soft);border:1px solid var(--lp-line);width:40px;height:40px;color:var(--lp-ink);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lp .lp-audience-ico svg{width:22px;height:22px}.lp .lp-audience-point h3{letter-spacing:-.02em;margin:2px 0 6px;font-size:18px;font-weight:600}.lp .lp-audience-point p{color:var(--lp-ink-2);margin:0;font-size:15.5px;line-height:1.5}.lp .lp-audience-cta{justify-content:center;margin-top:48px;display:flex}.lp .lp-tt-queue{color:var(--lp-ink-2);background:#2e9a5b14;border-radius:9px;margin-bottom:10px;padding:7px 12px;font-size:11.5px;font-weight:500}.lp .lp-tt{flex-direction:column;display:flex}.lp .lp-tt-row{border-top:1px solid var(--lp-line);align-items:center;gap:12px;padding:12px 4px;display:flex}.lp .lp-tt-row:first-child{border-top:none}.lp .lp-tt-ava{background:var(--lp-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:flex}.lp .lp-tt-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.lp .lp-tt-mini{flex-shrink:0;gap:3px;display:flex}.lp .lp-tt-cell{background:#ececf0;border-radius:3px;width:9px;height:16px;display:inline-block}.lp .lp-tt-cell.low{background:#d06a6a}.lp .lp-tt-cell.mid-low{background:#d29a4f}.lp .lp-tt-cell.mid{background:#b0a64e}.lp .lp-tt-cell.high{background:#6aa86a}.lp .lp-tt-cell.full{background:#3f9a63}.lp .lp-tt-solved{color:var(--lp-ink-3);text-align:right;flex-shrink:0;width:72px;font-size:12px}.lp .lp-tt-pct{text-align:right;flex-shrink:0;width:40px;font-size:14px;font-weight:600}.lp .lp-task-tag svg{vertical-align:-2px;width:14px;height:14px;margin-right:4px}.lp .lp-analysis{background:var(--lp-soft);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px;display:flex}.lp .lp-analysis-ico{border:1px solid var(--lp-line);color:#c08a2e;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.lp .lp-analysis-title{margin-bottom:4px;font-size:13px;font-weight:600}.lp .lp-analysis-text{color:var(--lp-ink-2);font-size:12px;line-height:1.5}.lp .lp-hist-filter{gap:6px;margin-bottom:10px;display:flex}.lp .lp-hf{color:var(--lp-ink-2);border:1px solid var(--lp-line);border-radius:980px;padding:5px 11px;font-size:11px;font-weight:500}.lp .lp-hf.active{background:var(--lp-ink);color:#fff;border-color:var(--lp-ink)}.lp .lp-hist{flex-direction:column;display:flex}.lp .lp-hist-row{border-top:1px solid var(--lp-line);align-items:center;gap:12px;padding:11px 2px;display:flex}.lp .lp-hist-row:first-child{border-top:none}.lp .lp-hist-problem{flex:1;min-width:0}.lp .lp-hist-title{color:var(--lp-ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.lp .lp-hist-topic{color:var(--lp-ink-3);margin-top:2px;font-size:11px}.lp .lp-hist-pill{border-radius:980px;flex-shrink:0;padding:3px 10px;font-size:10.5px;font-weight:600}.lp .lp-hist-pill.ok{color:#2e7d4f;background:#e9f4ee}.lp .lp-hist-pill.err{color:#b14545;background:#f7e8e8}.lp .lp-section-dark{background:radial-gradient(800px 380px at 50% -10%, rgba(var(--lp-cool), .1), transparent 62%), var(--lp-dark);color:#fff;position:relative;overflow:hidden}.lp .lp-section-dark .lp-h2{color:#fff}.lp .lp-section-dark .lp-section-sub{color:#fff9}.lp .lp-section-dark .lp-eyebrow{color:#ffffff80}.lp .lp-section-dark .lp-compare-note{color:#fff9}.lp .lp-section-dark .lp-compare-repa{background:var(--lp-dark-2);border:1px solid #ffffff1f;box-shadow:0 30px 60px -30px #0009}.lp .lp-section-dark .lp-compare-tutor{background:#ffffff08;border:1px solid #ffffff14}.lp .lp-section-dark .lp-compare-h{color:#fff}.lp .lp-section-dark .lp-compare-tutor .lp-compare-h{color:#ffffff8c}.lp .lp-section-dark .lp-compare-row{color:#ffffffe6;border-top-color:#ffffff1a}.lp .lp-section-dark .lp-compare-row svg{color:#4ec77f}.lp .lp-section-alt{border-top:1px solid var(--lp-line)}.lp .lp-section-warm{background:var(--lp-warm);border-top:1px solid #efe9e2}.lp .lp-section-dark+.lp-section,.lp .lp-section-dark+.lp-section-alt{border-top:none}@media (width<=900px){.lp .lp-nav-links{display:none}.lp .lp-hero{padding:64px 0 56px}.lp .lp-hero-inner{grid-template-columns:1fr;gap:48px}.lp .lp-hero h1{font-size:44px}.lp .lp-hero-lead{font-size:19px}.lp .lp-mock{transform:none}.lp .lp-stats-grid{grid-template-columns:repeat(2,1fr);gap:32px 16px}.lp .lp-section{padding:76px 0}.lp .lp-pain{padding:72px 0}.lp .lp-pain-resolve{font-size:26px}.lp .lp-pain-grid,.lp .lp-steps,.lp .lp-features,.lp .lp-testimonials,.lp .lp-plans{grid-template-columns:1fr}.lp .lp-pain-grid{gap:16px}.lp .lp-steps{gap:28px}.lp .lp-step-n:after{display:none}.lp .lp-compare{grid-template-columns:1fr}.lp .lp-footer-inner{grid-template-columns:1fr 1fr;gap:28px}.lp .lp-h2{font-size:36px}.lp .lp-final h2{font-size:38px}.lp .lp-showcase{padding:64px 0}.lp .lp-showcase-inner,.lp .lp-showcase-inner.lp-reverse{grid-template-columns:1fr;gap:40px}.lp .lp-showcase-inner.lp-reverse .lp-showcase-visual{order:2}.lp .lp-showcase-inner.lp-reverse .lp-showcase-copy{order:1}.lp .lp-showcase-copy .lp-h2{font-size:34px}.lp .lp-audience,.lp .lp-audience.lp-reverse{grid-template-columns:1fr;gap:40px}.lp .lp-audience.lp-reverse .lp-audience-visual{order:2}.lp .lp-audience.lp-reverse .lp-audience-points{order:1}}@media (width<=760px){.lp .lp-dash-grid{grid-template-columns:1fr}.lp .lp-hero-card{flex-direction:column}.lp .lp-hero-card-cta{flex-wrap:wrap}.lp .lp-hero-card-stats{flex-wrap:wrap;gap:12px 18px}}@media (width<=560px){.lp .lp-container{padding:0 20px}.lp .lp-brand-sub,.lp .lp-header-cta .lp-btn-ghost{display:none}.lp .lp-hero h1{font-size:36px}.lp .lp-hl{white-space:normal}.lp .lp-hero-lead{font-size:17px}.lp .lp-hero-actions{flex-direction:column;align-items:stretch}.lp .lp-hero-actions .lp-btn{width:100%}.lp .lp-stats-grid{grid-template-columns:1fr 1fr}.lp .lp-footer-inner{grid-template-columns:1fr}.lp .lp-pain-resolve{font-size:23px}.lp .lp-h2{font-size:30px}.lp .lp-final h2{font-size:32px}.lp .lp-final p{font-size:18px}.lp .lp-hero-card-stats{grid-template-columns:1fr 1fr;gap:14px 12px;display:grid}.lp .lp-hcs-sep{display:none}.lp .lp-faq-item.is-open .lp-faq-a{max-height:520px}}@media (width<=360px){.lp .lp-header-cta .lp-btn{padding:8px 12px;font-size:13px}}.lp .lp-nav-links a.is-active{color:var(--lp-ink);background:var(--lp-soft);font-weight:500}.lp .lp-phs{padding:52px 0 76px;position:relative}.lp .lp-phs:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(620px 320px at 72% 14%,#1d1d1f0f,#0000 62%);height:480px;position:absolute;inset:-80px 0 auto}.lp .lp-phs-inner{grid-template-columns:1fr 1.08fr;align-items:center;gap:56px;display:grid}.lp .lp-phs-inner.lp-reverse{grid-template-columns:1.08fr 1fr}.lp .lp-phs-inner.lp-reverse .lp-phs-visual{order:-1}.lp .lp-phs-badge{margin-bottom:14px}.lp .lp-phs-title{letter-spacing:-.035em;margin:12px 0 18px;font-size:46px;font-weight:600;line-height:1.08}.lp .lp-phs-lead{color:var(--lp-ink-2);max-width:480px;margin:0;font-size:19px;font-weight:400;line-height:1.5}.lp .lp-phs-copy .lp-check-list{margin-top:24px}.lp .lp-phs-copy .lp-hero-actions{margin-top:28px;margin-bottom:0}.lp .lp-phs-visual{perspective:1800px}.lp .lp-phs-visual .lp-mock{transform:none;box-shadow:0 30px 70px -28px #00000038,0 8px 24px -10px #00000014}@media (width<=900px){.lp .lp-phs{padding:36px 0 52px}.lp .lp-phs-inner,.lp .lp-phs-inner.lp-reverse{grid-template-columns:1fr;gap:36px}.lp .lp-phs-inner.lp-reverse .lp-phs-visual{order:0}.lp .lp-phs-title{font-size:34px}.lp .lp-phs-lead{max-width:none;font-size:18px}}@media (width<=560px){.lp .lp-phs-title{font-size:29px}}.lp .lp-steps-4{grid-template-columns:repeat(4,1fr);gap:28px}.lp .lp-steps-4 .lp-step:not(:last-child) .lp-step-n:after{width:56px}.lp .lp-features-2,.lp .lp-testimonials-2{grid-template-columns:repeat(2,1fr);max-width:880px;margin:0 auto}.lp .lp-check-list{flex-direction:column;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:flex}.lp .lp-check-list li{color:var(--lp-ink);padding-left:30px;font-size:16px;line-height:1.5;position:relative}.lp .lp-check-list li:before{content:"";background:#2f9e5e1f;border-radius:50%;width:18px;height:18px;position:absolute;top:4px;left:0}.lp .lp-check-list li:after{content:"";border-left:2px solid var(--lp-green);border-bottom:2px solid var(--lp-green);width:6px;height:3px;position:absolute;top:8px;left:6px;transform:rotate(-45deg)}.lp .lp-worries{grid-template-columns:repeat(2,1fr);gap:20px;max-width:900px;margin:0 auto;display:grid}.lp .lp-worry{border:1px solid var(--lp-line);background:#fff;border-radius:22px;padding:28px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;box-shadow:0 2px 10px -6px #0000000f}.lp .lp-worry:hover{transform:translateY(-4px);box-shadow:0 24px 48px -26px #00000029,0 8px 20px -16px #0000001a}.lp .lp-worry-q{letter-spacing:-.02em;color:var(--lp-ink);align-items:flex-start;gap:11px;margin-bottom:10px;font-size:17px;font-weight:600;display:flex}.lp .lp-worry-q svg{width:19px;height:19px;color:var(--lp-green);flex-shrink:0;margin-top:2px}.lp .lp-worry-a{color:var(--lp-ink-2);margin:0;font-size:15px;line-height:1.55}.lp .lp-testimonials-2 .lp-testimonial{border-radius:22px;padding:32px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;box-shadow:0 2px 10px -6px #0000000f}.lp .lp-testimonials-2 .lp-testimonial:hover{transform:translateY(-4px);box-shadow:0 24px 50px -26px #00000029,0 8px 20px -16px #0000001a}@media (width<=760px){.lp .lp-worries{grid-template-columns:1fr}}.lp .lp-matrix-wrap{border:1px solid var(--lp-line);background:#fff;border-radius:24px;max-width:880px;margin:0 auto;padding:10px 30px 20px;overflow-x:auto;box-shadow:0 2px 12px -6px #0000000f}.lp .lp-matrix{border-collapse:separate;border-spacing:0;width:100%}.lp .lp-matrix th,.lp .lp-matrix td{text-align:center;border-bottom:1px solid var(--lp-line);padding:17px 16px;font-size:15px}.lp .lp-matrix tbody tr:last-child td{border-bottom:none}.lp .lp-matrix thead th{vertical-align:bottom;border-bottom:1px solid var(--lp-line-2);padding:6px 16px 18px}.lp .lp-matrix .lp-matrix-feature{text-align:left;color:var(--lp-ink);letter-spacing:-.01em;width:44%;font-size:15.5px;font-weight:500}.lp .lp-matrix-plan{color:var(--lp-ink);font-size:15px;font-weight:600;display:block}.lp .lp-matrix-price{color:var(--lp-ink-2);margin-top:4px;font-size:13.5px;font-weight:500;display:block}.lp .lp-matrix-price small{color:var(--lp-ink-3);font-size:11px;font-weight:400}.lp .lp-matrix th.is-highlight,.lp .lp-matrix td.is-highlight{background:var(--lp-soft)}.lp .lp-matrix thead th.is-highlight{box-shadow:inset 0 2px 0 var(--lp-ink);border-top-left-radius:16px;border-top-right-radius:16px}.lp .lp-matrix tbody tr:last-child td.is-highlight{border-bottom-right-radius:16px;border-bottom-left-radius:16px}.lp .lp-matrix tbody tr:hover td{background:#1d1d1f06}.lp .lp-matrix tbody tr:hover td.is-highlight{background:#ececf0}.lp .lp-matrix-yes{display:inline-flex}.lp .lp-matrix-yes svg{width:18px;height:18px;color:var(--lp-green)}.lp .lp-matrix-no{color:var(--lp-line-2);font-size:16px}.lp .lp-billing-row{text-align:center;margin-bottom:44px}.lp .lp-billing{border:1px solid var(--lp-line);background:#fff;border-radius:980px;gap:4px;padding:4px;display:inline-flex;box-shadow:0 6px 18px -12px #0000002e}.lp .lp-billing button{cursor:pointer;letter-spacing:-.01em;color:var(--lp-ink-2);background:0 0;border:none;border-radius:980px;align-items:center;gap:8px;padding:9px 20px;font-family:inherit;font-size:14.5px;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.lp .lp-billing button:hover{color:var(--lp-ink)}.lp .lp-billing button.is-active{background:var(--lp-ink);color:#fff}.lp .lp-billing-save{color:var(--lp-ink-2);background:#1d1d1f14;border-radius:980px;padding:2px 7px;font-size:11px;font-weight:600}.lp .lp-billing button.is-active .lp-billing-save{color:#fff;background:#fff3}.lp .lp-plan-sub{color:var(--lp-ink-3);min-height:18px;margin:0 0 18px;font-size:13px}.lp .lp-plan-sub s{color:var(--lp-ink-3);margin-right:6px}.lp .lp-guarantees{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.lp .lp-guarantee{border:1px solid var(--lp-line);border-radius:var(--lp-radius);text-align:center;background:#fff;padding:30px 28px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}.lp .lp-guarantee:hover{transform:translateY(-4px);box-shadow:0 20px 40px -16px #0000001f}.lp .lp-guarantee-ico{background:var(--lp-soft);border:1px solid var(--lp-line);width:48px;height:48px;color:var(--lp-ink);border-radius:13px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.lp .lp-guarantee-ico svg{width:24px;height:24px}.lp .lp-guarantee h3{letter-spacing:-.02em;margin:0 0 8px;font-size:17px;font-weight:600}.lp .lp-guarantee p{color:var(--lp-ink-2);margin:0;font-size:14.5px;line-height:1.5}.lp .lp-faq-more{text-align:center;color:var(--lp-ink-3);margin-top:28px;font-size:14px}.lp .lp-faq-more a{color:var(--lp-link)}.lp .lp-features-2 .lp-feature,.lp .lp-features-cards .lp-feature{border-radius:22px;padding:34px 32px;box-shadow:0 2px 10px -6px #0000000f}.lp .lp-features-2 .lp-feature:hover,.lp .lp-features-cards .lp-feature:hover{transform:translateY(-6px);box-shadow:0 28px 56px -28px #0000002e,0 8px 22px -16px #0000001a}.lp .lp-features-2 .lp-feature-icon,.lp .lp-features-cards .lp-feature-icon{background:var(--lp-soft);border:1px solid var(--lp-line);border-radius:13px;width:48px;height:48px;margin-bottom:20px}.lp .lp-features-2 .lp-feature-icon svg,.lp .lp-features-cards .lp-feature-icon svg{width:24px;height:24px}.lp .lp-steps-cards{gap:24px}.lp .lp-steps-cards .lp-step{border:1px solid var(--lp-line);background:#fff;border-radius:22px;padding:32px 28px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;box-shadow:0 2px 10px -6px #0000000f}.lp .lp-steps-cards .lp-step:hover{transform:translateY(-6px);box-shadow:0 26px 52px -26px #0000002e,0 8px 20px -16px #0000001a}.lp .lp-steps-cards .lp-step-n{margin-bottom:18px}.lp .lp-steps-cards .lp-step:not(:last-child) .lp-step-n:after{display:none}@media (width<=900px){.lp .lp-guarantees{grid-template-columns:1fr}}.lp .lp-faq-group{margin-bottom:44px;scroll-margin-top:88px}.lp .lp-faq-group:last-child{margin-bottom:0}.lp .lp-faq-group-title{letter-spacing:.02em;color:var(--lp-ink-3);text-transform:uppercase;margin:0 0 8px;padding-bottom:0;font-size:15px;font-weight:600}.lp .lp-faq-hero{padding:40px 0 4px}.lp .lp-faq-hero .lp-faq-search{max-width:980px;margin:0 auto}.lp .lp-faq-hero .lp-faq-search input{box-shadow:0 6px 20px -10px #00000029}.lp .lp-faq-search{max-width:980px;margin:0 auto 40px;position:relative}.lp .lp-faq-search svg{width:18px;height:18px;color:var(--lp-ink-3);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.lp .lp-faq-search input{box-sizing:border-box;letter-spacing:-.01em;width:100%;color:var(--lp-ink);border:1px solid var(--lp-line-2);background:#fff;border-radius:980px;outline:none;padding:14px 46px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.lp .lp-faq-search input::placeholder{color:var(--lp-ink-3)}.lp .lp-faq-search input:focus{border-color:var(--lp-ink);box-shadow:0 0 0 4px #1d1d1f0f}.lp .lp-faq-search-clear{background:var(--lp-soft);width:28px;height:28px;color:var(--lp-ink-2);cursor:pointer;border:none;border-radius:50%;font-size:18px;line-height:1;transition:background .2s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.lp .lp-faq-search-clear:hover{background:var(--lp-line);color:var(--lp-ink)}.lp .lp-faq-layout{grid-template-columns:230px 1fr;align-items:start;gap:52px;max-width:980px;margin:0 auto;display:grid}.lp .lp-faq-content{min-width:0}.lp .lp-faq-side{flex-direction:column;gap:20px;display:flex;position:sticky;top:84px}.lp .lp-faq-nav{flex-direction:column;gap:2px;display:flex}.lp .lp-faq-nav a{color:var(--lp-ink-2);border-radius:10px;padding:9px 14px;font-size:14.5px;transition:background .2s,color .2s}.lp .lp-faq-nav a:hover{background:var(--lp-soft);color:var(--lp-ink)}.lp .lp-faq-nav a.is-active{background:var(--lp-soft);color:var(--lp-ink);font-weight:500}.lp .lp-faq-contact{background:var(--lp-soft);border:1px solid var(--lp-line);border-radius:var(--lp-radius);padding:20px}.lp .lp-faq-contact-t{margin-bottom:6px;font-size:15px;font-weight:600}.lp .lp-faq-contact p{color:var(--lp-ink-2);margin:0 0 14px;font-size:13.5px;line-height:1.5}.lp .lp-faq-contact .lp-btn{width:100%;padding:9px 14px;font-size:14px}.lp .lp-faq-found{color:var(--lp-ink-3);margin-bottom:16px;font-size:13.5px}.lp .lp-faq-empty{color:var(--lp-ink-2);margin:0;font-size:16px;line-height:1.6}.lp .lp-faq-empty a{color:var(--lp-link)}@media (width<=900px){.lp .lp-faq-layout{grid-template-columns:1fr;gap:0}.lp .lp-faq-side{display:none}.lp .lp-faq-hero{padding:44px 0 40px}.lp .lp-faq-hero-title{font-size:32px}.lp .lp-faq-hero-sub{font-size:16.5px}.lp .lp-steps-4{grid-template-columns:repeat(2,1fr);gap:28px}.lp .lp-features-2,.lp .lp-testimonials-2{grid-template-columns:1fr}}@media (width<=560px){.lp .lp-steps-4{grid-template-columns:1fr}.lp .lp-matrix th,.lp .lp-matrix td{padding:13px 10px;font-size:14px}}.lp.lp-reveal-on [data-reveal]{opacity:0}.lp.lp-reveal-on [data-reveal].is-in{opacity:1;animation:lp-rise .7s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s) backwards}@keyframes lp-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.lp .lp-sticky-cta{display:none}@media (width<=760px){.lp .lp-sticky-cta{z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--lp-line);background:#ffffffd1;transition:transform .4s cubic-bezier(.22,1,.36,1);display:block;position:fixed;bottom:0;left:0;right:0;transform:translateY(120%)}.lp .lp-sticky-cta.is-visible{transform:translateY(0)}.lp .lp-sticky-cta .lp-btn{white-space:normal;text-align:center;width:100%}.lp .lp-footer{padding-bottom:84px}}@media (width<=400px){.lp .lp-sticky-cta .lp-btn{font-size:16px}}@media (prefers-reduced-motion:reduce){.lp *,.lp :before,.lp :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.lp .lp-mock,.lp .lp-pain-card:hover,.lp .lp-feature:hover,.lp .lp-plan:hover,.lp .lp-worry:hover,.lp .lp-guarantee:hover,.lp .lp-steps-cards .lp-step:hover,.lp .lp-testimonials-2 .lp-testimonial:hover{transform:none!important}}
