.promo-strip{margin:22px 0 0;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 10px 30px rgba(26,38,62,.05)}.promo-copy{display:flex;align-items:center;gap:14px;min-width:0}.promo-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em}.promo-text{font-size:13px;color:var(--muted);line-height:1.5}.promo-text strong{color:var(--text)}.auth-links{display:flex;align-items:center;gap:8px}.auth-link{height:40px;padding:0 15px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:13px;font-weight:800;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.auth-link.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--blue) 24%,transparent)}.hero-cta{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}.hero-cta a,.hero-cta button{padding:12px 17px;border-radius:12px;font:inherit;font-size:13px;font-weight:800;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.hero-cta .primary{background:var(--blue);border-color:var(--blue);color:#fff}.hero-points{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:12px}.hero-points span:before{content:'✓';color:var(--teal);font-weight:900;margin-right:6px}.sample-wrap{padding:4px}.sample-head{padding:16px 18px 20px;border-bottom:1px solid var(--line)}.sample-head>span{font-size:10px;letter-spacing:.18em;color:var(--blue);font-weight:900}.sample-head p{max-width:620px;margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.sample-list{display:grid;gap:12px;padding:18px}.sample-lesson{display:flex;gap:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent)}.sample-number{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;place-items:center;background:var(--surface2);color:var(--blue);font-size:11px;font-weight:900}.sample-copy{min-width:0}.sample-copy small{display:block;color:var(--muted);font-size:10px;letter-spacing:.06em}.sample-copy h3{margin:5px 0 12px;font-size:16px}.sample-actions{display:flex;gap:8px;flex-wrap:wrap}.sample-actions a,.sample-actions button{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.sample-actions button{background:var(--blue);border-color:var(--blue);color:#fff}.sample-gate{margin:0 18px 18px;padding:18px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 10%,var(--surface2)),var(--surface2));display:flex;align-items:center;justify-content:space-between;gap:18px}.sample-gate>div{display:grid;gap:5px}.sample-gate b{font-size:14px}.sample-gate span{color:var(--muted);font-size:11px}.sample-gate button{border:0;border-radius:11px;padding:11px 14px;background:var(--blue);color:#fff;font:inherit;font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap}
body.auth-open{overflow:hidden}.auth-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.auth-modal.open{opacity:1;visibility:visible}.auth-backdrop{position:absolute;inset:0;border:0;background:rgba(2,8,18,.72);backdrop-filter:blur(14px);cursor:pointer}.auth-card{position:relative;width:min(540px,100%);max-height:calc(100dvh - 28px);overflow:auto;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:28px;padding:38px 40px 32px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 99%,transparent),color-mix(in srgb,var(--surface2) 95%,transparent));box-shadow:0 38px 120px rgba(0,0,0,.42);transform:translateY(16px) scale(.985);transition:transform .25s ease}.auth-modal.open .auth-card{transform:translateY(0) scale(1)}.auth-card:before{content:"";position:absolute;width:280px;height:280px;right:-130px;top:-130px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 19%,transparent),transparent 68%);pointer-events:none}.auth-close{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font:inherit;font-size:24px;line-height:1;cursor:pointer}.auth-brand{display:flex;align-items:center;gap:12px;font-family:Georgia,"Times New Roman",serif;font-size:18px;letter-spacing:.13em;font-weight:700}.auth-brand .brand-mark{width:30px;height:28px;transform:scale(.82);transform-origin:left center}.auth-brand small{display:block;font-family:Inter,ui-sans-serif,sans-serif;font-size:7px;letter-spacing:.26em;color:var(--blue);margin-top:4px}.auth-kicker{margin-top:30px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.19em}.auth-card h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,5vw,42px);letter-spacing:-.035em;margin:9px 0 8px;line-height:1.04}.auth-card>p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.auth-tabs{margin:26px 0 22px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);display:grid;grid-template-columns:1fr 1fr}.auth-tabs button{border:0;border-radius:10px;padding:11px 12px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:850;cursor:pointer}.auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 5px 16px rgba(19,37,70,.08)}.auth-form{display:grid;gap:15px}.auth-form[hidden]{display:none}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-form label{display:grid;gap:7px;font-size:11px;font-weight:850;color:var(--text);letter-spacing:.02em}.auth-form input{box-sizing:border-box;width:100%;height:50px;border:1px solid var(--line);border-radius:13px;padding:0 14px;background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--text);font:inherit;font-size:14px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.auth-form input::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}.auth-form input:focus{border-color:color-mix(in srgb,var(--blue) 65%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 10%,transparent);background:var(--surface)}.password-field{position:relative}.password-field input{padding-right:68px}.password-toggle{position:absolute;right:7px;top:8px;height:34px;border:0;border-radius:9px;padding:0 10px;background:var(--surface2);color:var(--blue);font:inherit;font-size:10px;font-weight:850;cursor:pointer}.auth-submit{margin-top:3px;height:52px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 72%,#7857d8));color:#fff;font:inherit;font-weight:850;font-size:14px;cursor:pointer;box-shadow:0 12px 28px color-mix(in srgb,var(--blue) 27%,transparent);transition:transform .15s,filter .15s}.auth-submit:hover{transform:translateY(-1px);filter:brightness(1.04)}.auth-submit:disabled{opacity:.62;cursor:wait;transform:none}.auth-message{min-height:0;font-size:12px;line-height:1.45;padding:0}.auth-message:not(:empty){padding:10px 12px;border-radius:10px;border:1px solid var(--line)}.auth-message.error{color:#e56570;background:color-mix(in srgb,#e45a65 8%,var(--surface));border-color:color-mix(in srgb,#e45a65 28%,var(--line))}.auth-message.success{color:var(--teal);background:color-mix(in srgb,var(--teal) 8%,var(--surface));border-color:color-mix(in srgb,var(--teal) 28%,var(--line))}.auth-fine{font-size:10px!important;text-align:center;color:var(--muted)!important;margin:0 18px!important}.auth-switch{font-size:12px!important;text-align:center;color:var(--muted)!important;margin:2px 0 0!important}.auth-switch button{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-weight:850;cursor:pointer}.user-menu{position:relative}.user-pill{height:44px;padding:4px 10px 4px 5px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;align-items:center;gap:9px;color:var(--text);cursor:pointer;box-shadow:0 7px 20px rgba(20,35,62,.06)}.user-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),color-mix(in srgb,var(--blue) 65%,#7960dd));color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em}.user-copy{display:grid;text-align:left;line-height:1.05;max-width:120px}.user-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{font-size:9px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chevron{color:var(--muted);font-size:12px}.user-dropdown{position:absolute;right:0;top:52px;width:220px;padding:9px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.15s;z-index:50}.user-dropdown.open{opacity:1;visibility:visible;transform:none}.user-dropdown>div{padding:10px 10px 12px;border-bottom:1px solid var(--line);display:grid;gap:4px}.user-dropdown b{font-size:12px}.user-dropdown span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.user-dropdown button{width:100%;margin-top:7px;padding:10px;border:0;border-radius:10px;background:transparent;text-align:left;color:var(--text);font-weight:750;cursor:pointer}.user-dropdown button:hover{background:var(--surface2)}
.student-dashboard{margin:34px 0 26px;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,transparent),var(--surface2));box-shadow:var(--shadow)}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.dash-head h2{margin:6px 0 4px;font-size:clamp(26px,4vw,38px)}.dash-head p{margin:0;color:var(--muted);font-size:13px}.continue-btn{padding:12px 15px;border-radius:12px;background:var(--blue);color:#fff;font-size:12px;font-weight:850;white-space:nowrap}.dash-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px}.overall-card,.stat-card,.subject-progress-card,.activity-card{border:1px solid var(--line);background:var(--surface);border-radius:18px}.overall-card{display:flex;align-items:center;gap:18px;padding:18px}.overall-ring{width:88px;height:88px;flex:0 0 88px;border-radius:50%;display:grid;place-items:center;align-content:center;background:color-mix(in srgb,var(--blue) 11%,var(--surface2));border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line))}.overall-ring strong{font-size:23px}.overall-ring span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.overall-copy{flex:1;display:grid;gap:9px}.overall-copy small{color:var(--muted);font-size:10px}.dash-bar{height:7px;border-radius:999px;background:var(--surface2);overflow:hidden}.dash-bar span,.mini-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--teal))}.dash-bar.large{height:9px}.stat-card{padding:18px;display:grid;align-content:space-between;min-height:112px}.stat-card span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.stat-card strong{font-size:26px}.dash-lower{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;margin-top:12px}.subject-progress-card,.activity-card{padding:18px}.dash-section-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.dash-section-title span{font-size:10px;color:var(--muted)}.subject-progress-row{display:grid;gap:6px;margin:12px 0}.subject-progress-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11px}.activity-chart{height:150px;display:flex;align-items:flex-end;gap:8px;padding-top:12px}.activity-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.activity-col span{width:100%;max-width:28px;min-height:8px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--blue),var(--teal))}.activity-col small{font-size:9px;color:var(--muted)}.progress-leaf{padding:14px 0}.leaf-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.lesson-percent{font-size:10px;font-weight:850;color:var(--blue)}.mini-progress{height:5px;margin:9px 0 10px;border-radius:999px;background:var(--surface2);overflow:hidden}.lesson-states{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.lesson-states span{font-size:9px;padding:5px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--surface)}.lesson-states .viewed{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 32%,var(--line))}.lesson-states .done{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 32%,var(--line));background:color-mix(in srgb,var(--teal) 6%,var(--surface))}
@media(max-width:1100px){.topbar{gap:18px}.brand{min-width:auto}.topbar nav{gap:16px}.user-copy{display:none}.dash-grid{grid-template-columns:2fr repeat(2,1fr)}.overall-card{grid-row:span 2}.dash-lower{grid-template-columns:1fr}}@media(max-width:900px){.promo-strip{align-items:flex-start;flex-direction:column}.promo-copy{align-items:flex-start}.topbar{height:auto;min-height:74px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.topbar nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto}.actions{margin-left:auto}.auth-links{margin-left:auto}.promo-text{font-size:12px}.dash-grid{grid-template-columns:1fr 1fr}.overall-card{grid-column:1/-1;grid-row:auto}}@media(max-width:620px){.topbar{padding:10px 16px;gap:10px}.topbar nav{display:none}.lang{display:none}.actions{margin-left:auto}.auth-links{margin-left:0;gap:6px}.auth-link{height:38px;padding:0 12px;font-size:12px}.promo-strip{margin-top:14px;padding:12px}.promo-copy{gap:9px}.promo-badge{font-size:9px}.hero-cta a,.hero-cta button{flex:1 1 140px;text-align:center}.hero-points{gap:9px 14px}.sample-list{padding:12px}.sample-lesson{padding:14px;gap:12px}.sample-gate{margin:0 12px 12px;align-items:flex-start;flex-direction:column}.sample-gate button{width:100%}.auth-modal{padding:8px;align-items:end}.auth-card{width:100%;max-height:92dvh;padding:28px 20px 24px;border-radius:24px 24px 18px 18px}.auth-grid{grid-template-columns:1fr}.auth-card h2{font-size:30px}.auth-brand{padding-right:38px}.auth-kicker{margin-top:24px}.auth-tabs{margin:20px 0 18px}.auth-close{right:14px;top:14px}.student-dashboard{padding:16px;margin-top:20px}.dash-head{align-items:flex-start;flex-direction:column}.continue-btn{width:100%;text-align:center}.dash-grid{grid-template-columns:1fr 1fr}.overall-card{grid-column:1/-1;padding:14px}.overall-ring{width:72px;height:72px;flex-basis:72px}.stat-card{min-height:94px;padding:14px}.stat-card strong{font-size:22px}.dash-lower{grid-template-columns:1fr}.dash-section-title{flex-direction:column}.lesson-states{gap:5px}.lesson-states span{font-size:8px}}
