@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=DM+Serif+Display:ital@0;1&display=swap";:root{--font-sans: "DM Sans", sans-serif;--font-serif: "DM Serif Display", Georgia, serif;--ink: #0f2033;--ink-2: #4a5d6e;--ink-3: #8a9aaa;--bg: #f4f2ec;--bg-card: #ffffff;--border: #dde3e0;--accent: #e15f41;--gold: #f5b942;--teal: #2b786b;--teal-light: #dff1eb;--radius-card: 24px;--radius-btn: 12px;--shadow-card: 0 16px 48px rgba(15,32,51,.08);--shadow-strong: 0 24px 64px rgba(15,32,51,.16);--c-aritmetica: #3B82F6;--c-algebra: #EAB308;--c-algebra-avanzata: #22C55E;--c-geometria: #F97316;--c-trigonometria: #06B6D4;--c-funzioni-analisi: #8B5CF6;--c-statistica: #EF4444;font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;scrollbar-width:thin;scrollbar-color:rgba(15,32,51,.2) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0f20332e;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#0f203352}html{scroll-behavior:smooth;overflow-x:hidden}body{min-width:320px;min-height:100vh;overflow-x:hidden}button,input{font:inherit;cursor:pointer}p{margin-top:0}h1,h2,h3{margin-top:0;font-family:var(--font-serif);font-weight:400}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:70px;background:#ffffffe6;border-bottom:1px solid rgba(15,32,51,.08);position:sticky;top:0;z-index:100;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 14px #0f203309}.topbar-inner{max-width:1240px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:12px;padding:4px 6px 4px 0;flex-shrink:0;cursor:pointer;text-align:left;transition:opacity .15s ease}.brand:hover{opacity:.9}.brand-symbol-box{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#0f2033,#1e3a5f);display:grid;place-items:center;box-shadow:0 4px 12px #0f20332e,inset 0 1px 1px #fff3;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.brand-symbol{font-family:Georgia,serif;font-size:1.45rem;font-weight:700;color:#f5b942;line-height:1}.brand-symbol.large{width:56px;height:56px;margin:0 auto 20px;font-size:1.8rem;border-radius:18px}.brand-identity{display:flex;flex-direction:column;gap:1px}.brand-title-row{display:flex;align-items:center;gap:6px}.brand-name{font-family:var(--font-sans);font-size:1.15rem;font-weight:800;color:#0f2033;letter-spacing:-.02em}.brand-badge-pro{font-size:.62rem;font-weight:900;letter-spacing:.08em;padding:2px 6px;border-radius:6px;background:linear-gradient(135deg,#f5b942,#f59e0b);color:#0f2033;line-height:1.2}.brand-tagline{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.header-nav{display:flex;align-items:center;gap:6px;background:#0f20330a;padding:4px;border-radius:14px;border:1px solid rgba(15,32,51,.06)}.header-nav-item{display:flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:1px solid transparent;border-radius:10px;background:transparent;color:#4a5d6e;font-size:.88rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1)}.header-nav-item:hover{color:#0f2033;background:#ffffffa6}.header-nav-item.active{background:#fff;color:#0f2033;font-weight:700;border-color:#0f203314;box-shadow:0 2px 8px #0f20330f}.nav-item-icon{font-size:.95rem;line-height:1}.nav-item-text{letter-spacing:-.01em}.header-progress-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#2b786b1f;color:#2b786b;font-size:.72rem;font-weight:800}.header-nav-item.admin-item{color:#854d0e}.header-nav-item.admin-item:hover{background:#fef3c78c;color:#713f12}.header-nav-item.admin-item.active{background:#fff;color:#713f12;border-color:#fde047;box-shadow:0 2px 10px #eab30826}.header-admin-pill{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:6px;background:#fef08a;color:#854d0e;border:1px solid #fde047;line-height:1.2}.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.user-profile-widget{display:flex;align-items:center;gap:10px;padding:4px 6px;background:#fff;border:1px solid rgba(15,32,51,.09);border-radius:999px;box-shadow:0 2px 8px #0f20330a}.user-avatar-wrap{position:relative;width:34px;height:34px;flex-shrink:0}.header-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:80% 55%;border:1.5px solid #3b82f6;display:block}.user-avatar-char{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#2b786b,#43a393);color:#fff;font-weight:800;font-size:.85rem;display:grid;place-items:center}.user-online-pip{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #ffffff}.user-info-text{display:flex;flex-direction:column;padding-right:4px}.user-name{font-size:.84rem;font-weight:800;color:#0f2033;line-height:1.2;white-space:nowrap}.user-role-label{font-size:.68rem;font-weight:600;color:#64748b;line-height:1.1;white-space:nowrap}.logout-action-btn{display:flex;align-items:center;gap:5px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .15s ease}.logout-action-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.logout-icon{font-size:.85rem;line-height:1}.header-login-btn{display:flex;align-items:center;gap:8px;padding:8px 18px;background:#0f2033;color:#fff;border:none;border-radius:999px;font-size:.86rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0f203326;transition:all .15s ease}.header-login-btn:hover{background:#1e3a5f;transform:translateY(-1px);box-shadow:0 6px 16px #0f203333}.login-icon{font-size:.95rem}@media(max-width:960px){.brand-tagline,.user-info-text{display:none}.header-nav-item{padding:0 10px;font-size:.82rem}}@media(max-width:768px){.header-nav{display:none}.topbar{height:62px}.brand-symbol-box{width:34px;height:34px}.brand-symbol{font-size:1.25rem}.brand-name{font-size:1.05rem}}.guest-banner{background:var(--ink);color:#c8d8e8;padding:11px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;gap:12px;font-size:.84rem;position:sticky;top:72px;z-index:9}.guest-banner span{flex:1}.guest-banner button{border:1.5px solid rgba(255,255,255,.3);border-radius:999px;background:transparent;color:#fff;padding:6px 16px;font-weight:700;font-size:.82rem;white-space:nowrap;transition:background .15s}.guest-banner button:hover{background:#ffffff1f}main{max-width:1200px;margin:0 auto;padding:0 24px;flex:1}.hero{min-height:380px;display:grid;grid-template-columns:1.6fr .8fr;align-items:center;gap:60px;padding:56px 0}.eyebrow,.step-label,.panel-label{margin-bottom:12px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;display:block}h1{font-size:clamp(2.8rem,5.5vw,5rem);line-height:.97;letter-spacing:-.035em;margin-bottom:22px}h1 em{color:var(--teal);font-style:italic}h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1}.hero-copy{color:var(--ink-2);font-size:1.05rem;line-height:1.72;max-width:600px}.free-badge{display:inline-flex;align-items:center;gap:4px;background:var(--teal-light);color:var(--teal);font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:99px;margin-right:8px;vertical-align:1px}.hero-card{padding:28px;border-radius:26px;background:var(--ink);color:#fff;box-shadow:var(--shadow-strong)}.hero-card-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.hero-card-top span{color:#8aacbf;font-size:.8rem;font-weight:600}.hero-card-top strong{color:var(--gold);font-size:1.7rem;font-family:var(--font-serif)}.progress-track{height:8px;margin:16px 0 12px;border-radius:99px;background:#ffffff1f;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--gold);transition:width .4s ease}.hero-card p{color:#8aacbf;font-size:.83rem;line-height:1.5;margin-bottom:0}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.hero-stat{background:#ffffff12;border-radius:12px;padding:12px 14px;border:1px solid transparent;font:inherit;text-align:left;cursor:pointer;display:block;width:100%;color:inherit;transition:all .2s ease}.hero-stat:hover{background:#ffffff24;transform:translateY(-2px)}.hero-stat:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hero-stat strong{display:block;color:#fff;font-size:1.2rem;margin-bottom:2px}.hero-stat span{color:#7090a0;font-size:.73rem}.auth-timeout-card{max-width:480px;margin:60px auto;padding:36px 32px;background:#fff;border:1.5px solid #e2e8f0;border-radius:24px;box-shadow:0 16px 40px #0f203314;text-align:center}.auth-timeout-icon{font-size:2.8rem;margin-bottom:16px}.auth-timeout-card h2{font-size:1.35rem;font-weight:700;color:var(--ink);margin-bottom:12px}.auth-timeout-card p{color:var(--ink-2);font-size:.95rem;line-height:1.55;margin-bottom:24px}.auth-timeout-actions{display:flex;flex-direction:column;gap:10px}.auth-timeout-guest-btn{width:100%;padding:14px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#0f2033,#1e3a5f);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.auth-timeout-guest-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0f203333}.auth-timeout-retry-btn{width:100%;padding:12px 20px;border:1.5px solid var(--border);border-radius:12px;background:transparent;color:var(--ink-2);font-weight:600;font-size:.9rem;cursor:pointer}.auth-timeout-retry-btn:hover{background:#0f20330a;color:var(--ink)}.selector-panel{padding:40px;border-radius:var(--radius-card);background:var(--bg-card);box-shadow:var(--shadow-card);margin-bottom:40px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.section-title h2{margin-bottom:0}.mvp-pill,.context-chip,.exercise-context{padding:7px 13px;border-radius:99px;color:var(--teal);background:var(--teal-light);font-size:.73rem;font-weight:800;white-space:nowrap;letter-spacing:.04em}.address-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.address-card{min-height:140px;padding:22px 20px;border:1.5px solid var(--border);border-radius:18px;background:#fafaf7;color:var(--ink);text-align:left;position:relative;transition:transform .18s,border-color .18s,box-shadow .18s}.address-card:hover{transform:translateY(-2px);border-color:#91b9ad;box-shadow:0 8px 28px #2b786b1a}.address-card.selected{border:2px solid var(--teal);background:var(--teal-light)}.address-icon{display:block;margin-bottom:14px;font-size:1.5rem}.address-card strong{display:block;margin-bottom:4px;font-size:.95rem;font-weight:700}.address-card small{color:var(--ink-2);font-size:.8rem}.selection-dot{position:absolute;top:18px;right:18px;width:15px;height:15px;border:2px solid var(--ink-3);border-radius:50%;transition:border-color .15s}.selected .selection-dot{border:4px solid var(--teal)}.nucleus-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.nucleus-tab{display:flex;align-items:center;gap:7px;padding:8px 16px;border:1.5px solid transparent;border-radius:999px;background:var(--bg-card);color:var(--ink-2);font-size:.82rem;font-weight:700;transition:all .18s}.nucleus-tab:hover{border-color:var(--border)}.nucleus-tab.active{color:#fff;border-color:transparent}.nucleus-tab.active.n-aritmetica{background:var(--c-aritmetica)}.nucleus-tab.active.n-algebra{background:var(--c-algebra);color:var(--ink)}.nucleus-tab.active.n-algebra-avanzata{background:var(--c-algebra-avanzata)}.nucleus-tab.active.n-geometria{background:var(--c-geometria)}.nucleus-tab.active.n-trigonometria{background:var(--c-trigonometria)}.nucleus-tab.active.n-funzioni-analisi{background:var(--c-funzioni-analisi)}.nucleus-tab.active.n-statistica{background:var(--c-statistica)}.nucleus-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.year-section-panel{margin-bottom:28px}.current-year-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--teal-light);color:var(--teal);border-radius:999px;font-size:.85rem;font-weight:700}.year-selector-pills-mobile{display:none}@media(max-width:680px){.year-selector-tabs{display:none!important}.year-selector-pills-mobile{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}.year-pill-mobile{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;min-height:48px;border-radius:12px;border:1.5px solid var(--border);background:var(--bg-card);cursor:pointer;transition:all .18s ease;text-align:center}.year-pill-mobile:hover{border-color:var(--teal)}.year-pill-mobile.active{border-color:var(--teal);background:#f0fdf9;box-shadow:0 4px 14px #2b786b29}.pill-year-num{font-size:.85rem;font-weight:800;color:var(--ink);line-height:1.1}.year-pill-mobile.active .pill-year-num{color:var(--teal)}.pill-year-count{font-size:.65rem;font-weight:700;color:var(--ink-3);margin-top:2px}}.year-selector-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}.year-tab-card{padding:18px 16px;border:2px solid var(--border);border-radius:18px;background:var(--bg-card);text-align:left;display:flex;flex-direction:column;gap:8px;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.year-tab-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 24px #0f203314}.year-tab-card.active{border-color:var(--teal);background:#f0fdf9;box-shadow:0 8px 28px #2b786b24}.year-tab-card.active:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--teal)}.year-tab-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.year-cycle-badge{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:6px;background:#0f203312;color:var(--ink-2)}.year-tab-card.active .year-cycle-badge{background:var(--teal-light);color:var(--teal)}.year-count-badge{font-size:.72rem;font-weight:700;color:var(--ink-3)}.year-tab-title{display:flex;align-items:baseline;gap:6px}.year-big-num{font-family:var(--font-serif);font-size:1.6rem;color:var(--teal);line-height:1}.year-tab-title strong{font-size:1.05rem;color:var(--ink)}.year-tab-desc{font-size:.78rem;color:var(--ink-2);line-height:1.4;margin:0}.learning-section{padding:0 0 60px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.unit-count-label{color:var(--ink-3);font-size:.8rem;font-weight:600;margin-top:6px}.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.unit-card{padding:26px;border:1.5px solid var(--border);border-radius:var(--radius-card);background:var(--bg-card);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s}.unit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.unit-card-accent{position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius-card) var(--radius-card) 0 0}.unit-number{position:absolute;right:12px;bottom:0;color:#ebebdf;font:700 4.5rem/1 var(--font-serif);pointer-events:none;line-height:1}.unit-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;margin-top:8px}.nucleus-badge{padding:4px 10px;border-radius:99px;font-size:.68rem;font-weight:800;letter-spacing:.05em;color:#fff}.nucleus-badge.n-algebra{color:var(--ink)}.unit-meta{display:flex;gap:8px;align-items:center;color:var(--ink-3);font-size:.72rem;font-weight:700}.status{padding:4px 9px;border-radius:99px;font-size:.7rem;font-weight:700}.timing-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:.67rem;font-weight:700;background:#f0f4f8;color:#334155;border:1px solid #cbd5e1}.status.not-started{background:#edf0ef;color:var(--ink-2)}.status.consolidating{color:#8b5d00;background:#fff0c4}.status.mastered{color:var(--teal);background:var(--teal-light)}.unit-card h3{font:400 1.45rem/1.15 var(--font-serif);margin-bottom:8px}.unit-card>.unit-theory{color:var(--ink-2);font-size:.85rem;line-height:1.55;max-width:90%;flex:1}.unit-footer{margin-top:20px;display:flex;align-items:center;justify-content:space-between;z-index:1}.prereq-label{color:var(--ink-3);font-size:.71rem}.start-btn{border:0;background:none;color:var(--accent);font-weight:800;font-size:.88rem;display:flex;align-items:center;gap:5px;transition:gap .15s}.start-btn:hover{gap:8px}.locked-btn{border:0;background:none;color:var(--ink-3);font-weight:700;font-size:.88rem}.method-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:10px 0 60px;border-radius:26px;background:var(--ink);overflow:hidden}.method-strip>div{display:flex;align-items:center;gap:14px;padding:26px;border-right:1px solid rgba(255,255,255,.1)}.method-strip>div:last-child{border:0}.method-num{flex-shrink:0;color:var(--gold);font:italic 1.6rem/1 var(--font-serif)}.method-strip p{margin:0;color:#8aacbf;font-size:.75rem}.method-strip strong{display:block;margin-bottom:2px;color:#fff;font-size:.9rem}footer{padding:40px 24px;border-top:1px solid var(--border);font-size:.8rem}.footer-inner{max-width:1200px;margin:0 auto;text-align:center}.footer-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.footer-brand strong{font-size:1rem;color:var(--ink)}footer p{color:var(--ink-2);margin:4px 0 10px}.footer-links{color:var(--ink-3);font-size:.75rem}.lesson-page{padding:40px 0 80px}.back-button,.text-button,.hint-button{border:0;background:none;color:var(--teal);font-weight:700;padding:0;transition:opacity .15s}.back-button:hover,.text-button:hover{opacity:.7}.lesson-top-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin:20px 0 32px}.lesson-header-left{display:flex;flex-direction:column;gap:8px}.lesson-meta-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--ink-2);flex-wrap:wrap}.meta-breadcrumb-item.year{color:var(--ink-2)}.meta-breadcrumb-item.nucleus{font-weight:700}.meta-breadcrumb-item.duration{background:#f1f5f9;padding:3px 10px;border-radius:999px;font-size:.78rem;color:var(--ink-2);border:1px solid var(--border)}.meta-breadcrumb-sep{color:#94a3b8;font-weight:400}.lesson-header h1{font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.1;margin-bottom:0}.lesson-nav{display:flex;align-items:center;gap:8px;margin-top:6px}.lesson-nav button{border:1.5px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--ink);padding:8px 16px;font-size:.84rem;font-weight:700;transition:all .15s}.lesson-nav button:hover:not(:disabled){border-color:var(--teal)}.lesson-nav button:disabled{opacity:.35;cursor:not-allowed}.lesson-nav-action-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:28px}.lesson-nav-action-row .lesson-tabs{margin-bottom:0}.lesson-enrichment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.enrichment-btn-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;font-size:.94rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border:1.5px solid transparent}.enrichment-btn-pill .btn-icon{font-size:1.15rem}.enrichment-btn-pill.deep-dive{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.enrichment-btn-pill.deep-dive:hover{background:#ede9fe;border-color:#8b5cf6;transform:translateY(-2px);box-shadow:0 4px 14px #8b5cf638}.enrichment-btn-pill.curiosity{background:#fefce8;color:#a16207;border-color:#fef08a}.enrichment-btn-pill.curiosity:hover{background:#fef9c3;border-color:#eab308;transform:translateY(-2px);box-shadow:0 4px 14px #eab30840}.lesson-tabs{display:flex;gap:12px;margin-bottom:30px;padding:6px;background:#e6eae5;border-radius:18px;width:fit-content}.lesson-tab-btn{display:flex;align-items:center;gap:10px;padding:12px 28px;border:0;border-radius:14px;background:transparent;color:var(--ink-2);font-size:1rem;font-weight:700;transition:all .2s ease}.lesson-tab-btn:hover{color:var(--ink)}.lesson-tab-btn.active{background:var(--bg-card);color:var(--teal);box-shadow:0 4px 18px #0f20331f}.lesson-tab-btn .tab-icon{font-size:1.25rem}@media(max-width:768px){.lesson-nav-action-row{flex-direction:column;align-items:stretch;gap:12px}.lesson-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:0}.lesson-tab-btn{justify-content:center;padding:10px 12px;font-size:.88rem;gap:6px}.lesson-enrichment-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.enrichment-btn-pill{justify-content:center;padding:9px 12px;font-size:.86rem}}.theory-dashboard-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:20px;align-items:start}@media(max-width:860px){.theory-dashboard-grid{grid-template-columns:1fr;gap:16px}}.theory-col-main,.theory-col-side{display:flex;flex-direction:column;gap:18px}.theory-card{padding:24px 26px;border-radius:var(--radius-card);background:var(--bg-card);border:1.5px solid var(--border);box-shadow:var(--shadow-card)}.card-tag-row{margin-bottom:12px}.card-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.card-badge.teal{background:var(--teal-light);color:var(--teal)}.card-badge.blue{background:#dbeafe;color:#1d4ed8}.card-badge.amber{background:#fef3c7;color:#b45309}.card-badge.green{background:#dcfce7;color:#15803d}.theory-card h2{font-size:1.5rem;line-height:1.25;margin-bottom:12px;color:var(--ink)}.theory-card h3{font-size:1.3rem;line-height:1.25;margin-bottom:12px;color:var(--ink)}.theory-body-text{font-size:1.02rem;line-height:1.75;color:var(--ink-2);margin-bottom:20px}.formula-highlight-box{margin-top:20px;padding:18px 22px;background:#fffbf0;border:1.5px solid #fde68a;border-left:4px solid var(--gold);border-radius:14px}.formula-box-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#92400e;margin-bottom:12px}.formula-render-area{font-size:1.08rem;line-height:1.7;color:var(--ink);overflow-x:auto;overflow-y:hidden;padding:4px 0 6px;scrollbar-width:thin;scrollbar-color:rgba(245,185,66,.4) transparent}.formula-render-area::-webkit-scrollbar{height:5px}.formula-render-area::-webkit-scrollbar-track{background:#00000008;border-radius:99px}.formula-render-area::-webkit-scrollbar-thumb{background:var(--gold);border-radius:99px}.formula-render-area .katex-display{margin:.5em 0!important;text-align:left}.formula-render-area .katex{white-space:normal}.clean-error-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.clean-error-list li{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#fffbeb;border-radius:10px;font-size:.88rem;line-height:1.5;color:#78350f}.error-bullet{color:#dc2626;font-weight:900;font-size:.85rem;flex-shrink:0;margin-top:1px}.error-content{flex:1}.clean-worked-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.clean-worked-list li{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-bottom:1px solid #f0f3f1}.clean-worked-list li:last-child{border-bottom:0}.step-num-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--teal-light);color:var(--teal);font-size:.75rem;font-weight:800;flex-shrink:0;margin-top:2px}.step-line-content{flex:1;font-size:.92rem;line-height:1.55;color:var(--ink)}.quick-action-card{padding:20px;background:linear-gradient(135deg,#eefbf7,#e0f6ef);border:1.5px solid #a7f3d0;border-radius:var(--radius-card);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.quick-action-card p{margin:0;font-weight:700;color:var(--teal);font-size:.95rem}.cta-action-btn{width:100%;padding:12px 20px;font-size:.95rem;box-shadow:0 4px 14px #f5b94266}.exercise-tab-content{max-width:900px;margin:0 auto}.exercise-guest-notice{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;margin-bottom:22px;border-radius:14px;background:#e0f2fe;color:#0369a1;font-size:.9rem;font-weight:600;flex-wrap:wrap}.exercise-guest-notice button{padding:7px 16px;border:1.5px solid #0284c7;border-radius:999px;background:#fff;color:#0284c7;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .15s}.exercise-guest-notice button:hover{background:#0284c7;color:#fff}.practice-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.opt-text{flex:1}.math-rendered{display:inline}.math-rendered .katex-display{margin:.8em 0!important}.theory-submode-switcher{display:flex;gap:10px;margin-bottom:24px}.submode-pill{padding:9px 18px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--ink-2);font-weight:700;font-size:.88rem;transition:all .18s ease}.submode-pill:hover{border-color:var(--teal);color:var(--ink)}.submode-pill.active{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 4px 14px #2b786b40}.animated-tutorial-wrapper,.animated-tutorial-container{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:28px 32px;margin-bottom:24px}@media(max-width:768px){.animated-tutorial-wrapper,.animated-tutorial-container{padding:18px 14px;border-radius:16px;margin-bottom:16px}}.tutorial-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.tutorial-title-meta{display:flex;flex-direction:column;gap:6px}.tutorial-section-tag{display:inline-flex;align-items:center;gap:6px;font-size:1.15rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.tutorial-subtitle-hint{margin:0;font-size:.88rem;color:var(--ink-2)}.tutorial-live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:999px;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;width:fit-content}.tutorial-heading-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tutorial-heading-row h3{margin:0;font-size:1.35rem;color:var(--ink);font-weight:800;letter-spacing:-.01em}.tutorial-nucleus-tag{font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:999px;background:#f8fafc;border:1.5px solid var(--border);color:var(--ink-2)}.lesson-bottom-enrichment-card{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1.5px dashed var(--border);border-radius:var(--radius-card);padding:18px 24px;margin-top:24px;margin-bottom:24px;gap:20px;flex-wrap:wrap}.bottom-enrichment-info{display:flex;align-items:center;gap:14px;flex:1;min-width:260px}.bottom-card-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#fff;border-radius:12px;border:1px solid var(--border);box-shadow:0 2px 6px #0000000a}.bottom-enrichment-info strong{display:block;font-size:.95rem;color:var(--ink);margin-bottom:2px}.bottom-enrichment-info p{margin:0;font-size:.84rem;color:var(--ink-2);line-height:1.35}.bottom-enrichment-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tutorial-actions-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tutorial-mode-toggle{display:flex;background:#f1f5f9;padding:3px;border-radius:10px;border:1px solid var(--border)}.mode-toggle-btn{border:none;background:transparent;padding:6px 14px;border-radius:7px;font-size:.82rem;font-weight:700;color:var(--ink-2);cursor:pointer;transition:all .2s}.mode-toggle-btn.active{background:#fff;color:var(--ink);box-shadow:0 2px 6px #00000014}.mode-toggle-btn:hover:not(.active){color:var(--ink)}.tutorial-player-controls{display:flex;align-items:center;gap:8px}.tutorial-play-btn{padding:7px 16px;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--ink);font-weight:700;font-size:.84rem;transition:all .2s;display:flex;align-items:center;gap:6px;cursor:pointer}.tutorial-play-btn:hover{border-color:var(--teal);color:var(--teal)}.tutorial-play-btn.playing{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.tutorial-speed-selector{display:flex;background:#f1f5f9;padding:2px;border-radius:8px;border:1px solid var(--border)}.speed-pill{border:none;background:transparent;padding:4px 8px;border-radius:6px;font-size:.74rem;font-weight:700;color:var(--ink-3);cursor:pointer;transition:all .15s}.speed-pill.active{background:var(--teal);color:#fff}.tutorial-auto-progress-track{height:4px;background:#e2e8f0;border-radius:99px;margin-bottom:20px;overflow:hidden}.tutorial-auto-progress-fill{height:100%;background:var(--teal);transition:width .05s linear}.tutorial-step-navigator-bar{background:var(--bg-card, #ffffff);border:1.5px solid var(--border, #e2e8f0);border-radius:14px;padding:12px 18px;margin-bottom:24px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;gap:12px}.tutorial-step-segments{display:flex;align-items:center;gap:5px;width:100%}.step-segment-tick{flex:1;height:22px;display:flex;align-items:center;padding:0;border:none;background:transparent;cursor:pointer;transition:transform .15s ease}.step-segment-tick:hover{transform:scaleY(1.35)}.segment-indicator{width:100%;height:6px;border-radius:4px;background:#e2e8f0;transition:background .2s ease,box-shadow .2s ease,height .2s ease}.step-segment-tick.completed .segment-indicator{background:#0d9488;opacity:.8}.step-segment-tick.active .segment-indicator{background:#0f766e;height:8px;box-shadow:0 0 10px #0d94888c}.tutorial-step-controls-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.step-control-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:10px;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap;border:1.5px solid var(--border, #cbd5e1);background:#f8fafc;color:var(--ink-2, #334155)}.step-control-btn:hover:not(:disabled){background:#f1f5f9;border-color:var(--ink-3, #94a3b8);color:var(--ink, #0f172a)}.step-control-btn:disabled{opacity:.35;cursor:not-allowed}.step-control-btn.next-btn{background:var(--teal, #0d9488);border-color:var(--teal, #0d9488);color:#fff}.step-control-btn.next-btn:hover:not(:disabled){background:#0f766e;border-color:#0f766e;color:#fff}.step-control-btn.finish-btn{background:#16a34a;border-color:#16a34a;color:#fff}.step-control-btn.finish-btn:hover:not(:disabled){background:#15803d;border-color:#15803d}.step-current-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;overflow:hidden;padding:0 8px;flex:1}.step-badge-counter{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.step-current-title{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.98rem;font-weight:700;color:var(--ink, #0f172a);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-current-title .step-icon{font-size:1.1rem;flex-shrink:0}.step-current-title .step-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:680px){.tutorial-step-navigator-bar{padding:10px 12px;gap:10px;border-radius:12px}.tutorial-step-segments{gap:3px}.segment-indicator{height:4px}.step-segment-tick.active .segment-indicator{height:6px}.tutorial-step-controls-row{gap:8px}.step-control-btn{padding:8px 12px;min-height:42px;min-width:42px}.step-current-title{font-size:.88rem}}@media(max-width:460px){.step-control-btn .btn-text{display:none}}.tutorial-stepper-dots{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.stepper-dot{flex:1;min-width:90px;height:42px;border:1.5px solid var(--border);border-radius:10px;background:#f8fafc;color:var(--ink-2);font-weight:700;font-size:.78rem;display:flex;align-items:center;gap:6px;padding:0 10px;cursor:pointer;transition:all .2s;white-space:nowrap}.stepper-dot-icon{font-size:.95rem}.stepper-dot-label{overflow:hidden;text-overflow:ellipsis}.stepper-dot:hover{border-color:var(--ink-2);color:var(--ink);background:#f1f5f9}.stepper-dot.active{border-color:var(--teal);background:var(--teal-light);color:var(--teal);font-weight:800;box-shadow:0 2px 8px #2b786b2e}.stepper-dot.visited:not(.active){background:#e2e8f0;color:var(--ink-2)}.tutorial-split-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;min-height:520px;margin-bottom:20px;align-items:stretch}@media(max-width:920px){.tutorial-split-layout{display:flex;flex-direction:column;gap:14px;min-height:auto}.tutorial-focus-col{order:1;min-height:auto!important;padding:18px 16px!important;border-radius:16px!important}.tutorial-whiteboard-col{order:2;padding:12px 14px!important;border-radius:14px!important}}.tutorial-whiteboard-col{background:#f8faf9;border:1.5px solid #dbe2db;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;align-self:start;width:100%;box-sizing:border-box;transition:all .2s ease}.whiteboard-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1.5px solid #e5ebe5;width:100%}.whiteboard-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.whiteboard-mobile-toggle-btn{display:none}.whiteboard-collapsible-body{display:flex;flex-direction:column;gap:14px}@media(max-width:920px){.whiteboard-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:0;border-bottom:none}.whiteboard-mobile-toggle-btn{display:inline-flex;align-items:center;background:#fff;border:1.5px solid #cbd5e1;color:var(--teal);border-radius:8px;padding:5px 10px;font-size:.74rem;font-weight:700;cursor:pointer;transition:all .15s ease}.whiteboard-mobile-toggle-btn:hover{background:#f0fdf9;border-color:var(--teal)}.tutorial-whiteboard-col.is-collapsed .whiteboard-collapsible-body{display:none}.tutorial-whiteboard-col.is-open .whiteboard-header{padding-bottom:10px;border-bottom:1.5px solid #e5ebe5}.tutorial-whiteboard-col.is-open .whiteboard-collapsible-body{display:flex;margin-top:10px}}.whiteboard-title-badge{font-size:.84rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.04em}.whiteboard-status-tag{font-size:.74rem;font-weight:700;background:#e6f4ea;color:#137333;padding:2px 8px;border-radius:999px}.whiteboard-problem-card{background:#fff;border:1.5px solid #cbd5e1;border-left:4px solid var(--teal);border-radius:10px;padding:10px 14px}.problem-card-label{font-size:.68rem;font-weight:800;color:var(--ink-3);letter-spacing:.05em;margin-bottom:4px}.problem-card-math{font-size:.96rem;font-weight:700;color:var(--ink)}.whiteboard-steps-ladder{display:flex;flex-direction:column;gap:8px;flex:1}.whiteboard-step-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1.5px solid transparent;background:#fff;cursor:pointer;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.whiteboard-step-item:hover{border-color:#cbd5e1;transform:translate(2px)}.whiteboard-step-item.is-active{background:#f0fdfa;border-color:var(--teal);box-shadow:0 2px 8px #2b786b29}.whiteboard-step-item.is-done{background:#f8fafc;opacity:.9}.whiteboard-step-item.is-pending{background:#fcfcfc;opacity:.65}.step-item-status-icon{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0;background:#f1f5f9;color:var(--ink-3)}.whiteboard-step-item.is-active .step-item-status-icon{background:var(--teal);color:#fff}.whiteboard-step-item.is-done .step-item-status-icon{background:#dcfce7;color:#15803d}.step-item-body{flex:1}.step-item-math{font-size:.88rem;font-weight:600;color:var(--ink);line-height:1.35}.step-item-mini-note{font-size:.74rem;color:var(--teal);font-weight:600;margin-top:4px}.whiteboard-footer-tip{font-size:.74rem;color:var(--ink-3);text-align:center;font-style:italic;padding-top:6px;border-top:1px dashed #e2e8f0}.tutorial-focus-col{padding:28px 30px;background:#fafaf8;border:1.5px solid #e5e9e5;border-radius:18px;display:flex;flex-direction:column;justify-content:flex-start;min-height:520px;box-sizing:border-box;transition:min-height .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1);position:relative}.tutorial-step-active-content{display:flex;flex-direction:column;flex:1;width:100%;animation:stepFadeInSlide .26s cubic-bezier(.16,1,.3,1) forwards;will-change:opacity,transform}@keyframes stepFadeInSlide{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tutorial-step-tag{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:8px}.badge-icon{margin-right:4px}.tutorial-visual-note{font-size:.82rem;color:var(--ink-2);font-weight:600}.tutorial-step-heading{font-size:1.65rem;color:var(--ink);line-height:1.25;margin-bottom:12px;font-weight:800}.tutorial-step-body{font-size:1.06rem;line-height:1.65;color:var(--ink-2);margin-bottom:16px}.tutorial-formula-highlight{margin:14px 0 18px;padding:16px 20px;background:#fffbeb;border:1.5px solid #fde68a;border-left:4px solid var(--gold);border-radius:12px;min-height:86px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;transition:all .22s cubic-bezier(.16,1,.3,1)}.formula-box-header{margin-bottom:6px}.formula-box-label{font-size:.72rem;font-weight:800;color:#92400e;letter-spacing:.06em;text-transform:uppercase}.formula-render-area{font-size:1.2rem;color:var(--ink);overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.formula-render-area .katex-display{margin:.3em 0!important;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.tutorial-graph-showcase{margin:16px 0 20px;background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;padding:16px;box-shadow:0 4px 12px #0000000a}.graph-showcase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.graph-badge{font-size:.78rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.04em}.graph-caption-text{font-size:.8rem;color:var(--ink-2);font-weight:600}.graph-plot-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;overflow:hidden}.cartesian-plot-container{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.cartesian-svg{width:100%;max-width:460px;height:auto;display:block}.tutorial-pro-tip{background:#f0fdf4;border:1.5px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:12px;padding:14px 18px;margin:12px 0 16px}.tip-header{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#166534;margin-bottom:4px}.tip-body{font-size:.94rem;line-height:1.5;color:#14532d}.tutorial-warning-tip{background:#fff1f2;border:1.5px solid #fecdd3;border-left:4px solid #e11d48;border-radius:12px;padding:14px 18px;margin:12px 0 16px}.warning-header{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#9f1239;margin-bottom:4px}.warning-body{font-size:.94rem;line-height:1.5;color:#881337}.tutorial-checkpoint-container{background:#fefce8;border:2px solid #facc15;border-radius:16px;padding:20px;margin:16px 0}.checkpoint-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.checkpoint-icon{font-size:1.8rem;line-height:1}.checkpoint-header h4{margin:0 0 6px;font-size:1.12rem;color:#854d0e;font-weight:800}.checkpoint-question{margin:0;font-size:1.02rem;font-weight:600;color:var(--ink)}.checkpoint-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}@media(max-width:600px){.checkpoint-options-grid{grid-template-columns:1fr}}.checkpoint-opt-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:var(--ink);cursor:pointer;transition:all .2s;text-align:left}.checkpoint-opt-btn:hover:not(:disabled){border-color:var(--teal);background:#f8fafc}.checkpoint-opt-btn.is-selected{border-color:var(--teal);background:var(--teal-light)}.checkpoint-opt-btn.is-correct{border-color:#22c55e;background:#dcfce7;color:#15803d;font-weight:700}.checkpoint-opt-btn.is-wrong{border-color:#ef4444;background:#fee2e2;color:#b91c1c}.opt-letter{font-weight:800;color:var(--ink-3)}.checkpoint-feedback-box{padding:14px 16px;border-radius:10px;font-size:.92rem;line-height:1.5}.checkpoint-feedback-box.success{background:#dcfce7;border:1.5px solid #86efac;color:#166534}.checkpoint-feedback-box.review{background:#ffedd5;border:1.5px solid #fed7aa;color:#9a3412}.feedback-status-title{font-weight:800;margin-bottom:4px}.tutorial-fullview-layout{display:flex;flex-direction:column;gap:22px;margin-bottom:24px}.fullview-intro-card{background:#fafaf8;border:1.5px solid #e5e9e5;border-radius:16px;padding:24px 28px}.fullview-badge-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.fullview-subtitle{font-size:.84rem;color:var(--ink-2);font-weight:600}.fullview-intro-text{font-size:1.05rem;color:var(--ink-2);line-height:1.6}.section-title{font-size:1.25rem;font-weight:800;color:var(--ink);margin-bottom:14px}.fullview-steps-grid{display:flex;flex-direction:column;gap:12px}.fullview-step-card{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:16px 20px;box-shadow:0 2px 6px #00000008}.fullview-step-num{width:32px;height:32px;border-radius:999px;background:var(--teal-light);color:var(--teal);font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fullview-step-content{flex:1}.fullview-step-math{font-size:1.08rem;font-weight:700;color:var(--ink);margin-bottom:4px}.fullview-step-note{font-size:.84rem;color:var(--teal);font-weight:600}.fullview-graph-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:20px;display:flex;justify-content:center}.fullview-graph-wrapper{display:flex;flex-direction:column;align-items:center}.fullview-graph-caption{margin-top:10px;font-size:.88rem;color:var(--ink-2);font-weight:600;text-align:center}.fullview-traps-list{display:flex;flex-direction:column;gap:8px}.fullview-trap-item{display:flex;align-items:center;gap:10px;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:10px 14px;font-size:.92rem;color:#9f1239;font-weight:600}.trap-bullet{font-weight:800;color:#e11d48}.math-rendered strong{font-weight:700;color:var(--ink)}.math-rendered em{font-style:italic;color:var(--ink-2)}.math-rendered code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;padding:2px 6px;background:#0f203312;border-radius:4px}.math-rendered{max-width:100%;overflow-wrap:anywhere}.math-rendered .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:3px 0 7px;scrollbar-width:thin;scrollbar-color:rgba(43,120,107,.45) transparent;-webkit-overflow-scrolling:touch}.math-rendered .katex-display::-webkit-scrollbar{height:4px}.math-rendered .katex-display::-webkit-scrollbar-thumb{background:#2b786b73;border-radius:999px}.math-rendered .katex-display>.katex{min-width:max-content;white-space:nowrap}.tutorial-nav-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}.tutorial-nav-btn{padding:10px 22px;font-size:.9rem;transition:all .18s ease}.tutorial-nav-btn.success-btn{background:#16a34a;color:#fff}.tutorial-step-indicator{font-weight:700;color:var(--ink-3);font-size:.88rem}@media(max-width:900px){.tutorial-nav-footer{margin-bottom:76px}}@media(max-width:560px){.tutorial-nav-footer{display:flex;flex-direction:column-reverse;align-items:stretch;gap:10px}.tutorial-nav-btn{width:100%;justify-content:center;min-height:46px;font-size:.95rem;text-align:center}.tutorial-step-indicator{text-align:center;padding:4px 0}}.tutorial-mobile-sticky-bar{display:none}@media(max-width:768px){.tutorial-mobile-sticky-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(54px + env(safe-area-inset-bottom,0px));padding:6px 14px;padding-bottom:max(6px,env(safe-area-inset-bottom,0px));background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(15,32,51,.12);box-shadow:0 -4px 20px #0f203317;z-index:100;align-items:center;justify-content:space-between;gap:8px}.mobile-step-btn{height:40px;padding:0 14px;border-radius:10px;font-weight:700;font-size:.86rem;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;transition:all .15s ease;white-space:nowrap}.mobile-step-btn.prev{background:#f1f5f9;color:var(--ink-2)}.mobile-step-btn.prev:disabled{opacity:.3;pointer-events:none}.mobile-step-btn.next{background:var(--teal);color:#fff;box-shadow:0 2px 8px #2b786b40;flex:1;max-width:150px}.mobile-step-btn.finish{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 2px 10px #16a34a4d;flex:1;max-width:160px}.mobile-step-pill-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}.mobile-step-num{font-size:.82rem;font-weight:800;color:var(--ink)}.mobile-step-total{font-size:.68rem;font-weight:600;color:var(--ink-3)}.lesson-page{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}.practice-container{display:flex;flex-direction:column;gap:20px}.exercise-question-navigator{padding:18px 24px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:18px;box-shadow:var(--shadow-card)}.navigator-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.navigator-title-info{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:.95rem}.navigator-icon{font-size:1.25rem}.navigator-progress-tag{font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--teal-light);color:var(--teal)}.score-live-badge{font-size:.88rem;color:var(--ink-2)}.score-live-badge strong{color:var(--teal);font-size:1.1rem}.question-pills-row{display:flex;gap:8px;flex-wrap:wrap}.question-pill-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:40px;padding:0 12px;border-radius:12px;border:1.5px solid var(--border);background:#f8fafc;color:var(--ink-2);font-weight:700;font-size:.88rem;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.question-pill-btn:hover{border-color:var(--teal);color:var(--ink);transform:translateY(-1px)}.question-pill-btn.active-pill{border-color:var(--teal);background:var(--teal-light);color:var(--teal);box-shadow:0 2px 8px #2b786b33;font-weight:800}.question-pill-btn.pill-correct{border-color:#86efac;background:#f0fdf4;color:#166534}.question-pill-btn.pill-wrong{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.pill-check{font-size:.78rem;font-weight:900}.single-question-card{border-radius:var(--radius-card);background:var(--ink);color:#fff;box-shadow:var(--shadow-strong);padding:34px;position:relative}.question-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.question-cat-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.question-sub-title{color:#8aacbf;font-size:.84rem;font-weight:600}.question-prompt-text{font-size:1.7rem;line-height:1.35;color:#fff;margin-bottom:28px}.cartesian-plot-container{display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:18px;border:1.5px solid rgba(226,232,240,.9);box-shadow:0 8px 24px #00000029;padding:16px 20px;overflow:hidden;max-width:540px;margin:18px auto 26px}.cartesian-plot-title{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:#1e293b;margin-bottom:10px;align-self:flex-start;width:100%;border-bottom:1px solid #f1f5f9;padding-bottom:6px}.plot-title-icon{font-size:1.1rem}.cartesian-svg{width:100%;height:auto;max-height:330px;display:block}.cartesian-svg text{-webkit-user-select:none;user-select:none;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-regenerate-bank{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--teal);font-size:.84rem;font-weight:700;cursor:pointer;transition:all .15s ease}.btn-regenerate-bank:hover{background:var(--teal-light);border-color:var(--teal);transform:translateY(-1px)}.direct-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px}.direct-option-btn{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:16px;border:2px solid rgba(255,255,255,.15);background:#ffffff12;color:#fff;text-align:left;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);position:relative}.direct-option-btn:hover:not(:disabled){border-color:var(--gold);background:#ffffff24;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.direct-option-btn:disabled{cursor:default}.direct-option-btn.is-correct{border-color:#22c55e;background:#22c55e38;color:#fff;box-shadow:0 0 16px #22c55e4d}.direct-option-btn.is-wrong{border-color:#ef4444;background:#ef444438;color:#fff}.direct-option-btn.is-neutral{opacity:.5}.opt-marker{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffffff26;color:var(--gold);font-weight:800;font-size:.88rem;flex-shrink:0}.is-correct .opt-marker{background:#22c55e;color:#fff}.is-wrong .opt-marker{background:#ef4444;color:#fff}.opt-content{flex:1;font-size:1.25rem;font-weight:700;color:#fff}.opt-feedback-symbol{font-size:.78rem;font-weight:800;padding:3px 8px;border-radius:6px;background:#16a34a;color:#fff}.opt-feedback-symbol.wrong{background:#dc2626}.answer-explanation-box{padding:20px 24px;border-radius:14px;margin-bottom:24px;line-height:1.55;font-size:.95rem}.answer-explanation-box.success-box{background:#22c55e29;border:1.5px solid rgba(34,197,94,.4);color:#dcfce7}.answer-explanation-box.error-box{background:#ef444429;border:1.5px solid rgba(239,68,68,.4);color:#fee2e2}.explanation-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:1.05rem}.explanation-body{margin:0;font-size:.95rem;color:#f1f5f9}.breakdown-toggle-wrap{margin-top:14px}.steps-breakdown-btn{background:none;border:0;color:var(--gold);font-weight:700;font-size:.84rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.steps-breakdown-btn:hover{opacity:.85}.steps-breakdown-timeline{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px 16px;background:#00000047;border-radius:10px}.breakdown-line-item{display:flex;align-items:baseline;gap:10px;font-size:.88rem;color:#e2e8f0}.breakdown-num{font-weight:800;color:var(--gold);font-size:.78rem}.question-nav-footer{display:flex;justify-content:space-between;align-items:center}.question-nav-btn{padding:11px 24px;font-size:.92rem}.question-nav-btn.highlight-next{box-shadow:0 0 16px #f5b94266}.question-counter-text{font-weight:700;color:#8aacbf;font-size:.88rem}.exercise-completed-stage{text-align:center;padding:32px 24px}.exercise-completed-stage h3{font-family:var(--font-serif);font-size:2rem;color:#fff;margin-bottom:8px}.completed-badge-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:2.2rem;font-weight:900;box-shadow:0 0 28px #f5b94273}.completed-result-lead{font-size:1.15rem;color:#c8e0f0;margin-bottom:26px}.completed-result-lead strong{color:var(--gold);font-size:1.35rem}.completed-score-pills{display:flex;justify-content:center;gap:16px;margin-bottom:30px;flex-wrap:wrap}.score-pill{background:#ffffff17;padding:14px 28px;border-radius:16px;border:1px solid rgba(255,255,255,.16);min-width:120px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.score-num{display:block;font-size:1.75rem;font-weight:800;color:var(--gold)}.score-lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-top:4px}.full-resolution-accordion{margin:20px auto 28px;max-width:600px;text-align:left}.accordion-toggle-btn{width:100%;padding:12px 18px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff0f;color:#c8e0f0;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .15s}.accordion-toggle-btn:hover{background:#ffffff1f;color:#fff}.revealed-steps-timeline{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:16px;background:#00000040;border-radius:14px}.revealed-step-item{display:flex;align-items:flex-start;gap:12px;padding:10px;border-bottom:1px solid rgba(255,255,255,.08)}.revealed-step-item:last-child{border-bottom:0}.step-index-circle{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-size:.8rem;font-weight:800;flex-shrink:0}.step-item-instruction{margin:0 0 4px;font-size:.92rem;color:#fff}.step-item-result{margin:0;font-size:.82rem;color:var(--gold)}.completion-nav-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center}.cta-next-ex-btn{padding:13px 26px;font-size:.98rem;font-weight:700}.exercise-completed-stage .ghost-button{background:#ffffff14;border:1.5px solid rgba(255,255,255,.26);color:#fff;padding:12px 22px;border-radius:var(--radius-btn);font-weight:700;font-size:.88rem;cursor:pointer;transition:all .18s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.exercise-completed-stage .ghost-button:hover{background:#ffffff29;border-color:#ffffff73;transform:translateY(-1px)}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #f5b94266}50%{box-shadow:0 0 0 8px #f5b94200}}.animate-fade-in{animation:fadeInSlide .3s ease-out forwards}.key-step-enter{animation:fadeInSlide .35s cubic-bezier(.2,.9,.3,1) forwards}.animate-pulse-subtle{animation:pulseGlow 2.5s infinite}.animate-pop{animation:fadeInSlide .2s ease-out}.login-gate{position:relative;border-radius:var(--radius-card);overflow:hidden}.login-gate-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:32px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f2033d1;border-radius:var(--radius-card)}.login-gate-overlay .lock-icon{font-size:2.4rem;margin-bottom:4px}.login-gate-overlay h3{font-family:var(--font-serif);font-size:1.8rem;color:#fff;margin-bottom:4px}.login-gate-overlay p{color:#8aacbf;font-size:.88rem;line-height:1.55;max-width:280px;margin-bottom:0}.login-gate-overlay .primary-button{font-size:.95rem}.login-gate-content{filter:blur(3px) brightness(.6);pointer-events:none;-webkit-user-select:none;user-select:none}.recovery-card{padding:18px 20px;margin-top:20px;border-radius:15px;background:#fff3c8;color:#6b4600}.recovery-card strong{display:block;margin-bottom:6px;font-size:.9rem}.recovery-card p{margin:0 0 12px;font-size:.83rem;line-height:1.5}.recovery-card button{border:0;background:none;color:#8b5c00;font-weight:800;padding:0;font-size:.85rem}.completion-card{padding:30px;border-radius:18px;text-align:center;background:#ffffff12}.completion-card .check-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:1.5rem}.completion-card h3{font-family:var(--font-serif);font-size:1.6rem;color:#fff;margin-bottom:8px}.completion-card p{color:#8aacbf;font-size:.87rem;line-height:1.5;margin-bottom:20px}.score-row{display:flex;justify-content:center;gap:24px;margin-bottom:22px}.score-item{text-align:center}.score-item strong{display:block;color:var(--gold);font-size:1.5rem}.score-item span{color:#6a8aa0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.completion-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ghost-button{padding:11px 18px;border:1.5px solid rgba(255,255,255,.25);border-radius:var(--radius-btn);background:transparent;color:#fff;font-weight:700;font-size:.88rem;transition:background .15s}.ghost-button:hover{background:#ffffff1a}.progress-manage-card .ghost-button,.admin-topbar-right .ghost-button{color:var(--ink-2);border-color:var(--border);background:var(--bg-card)}.progress-manage-card .ghost-button:hover,.admin-topbar-right .ghost-button:hover{background:#0f20330d;border-color:var(--ink-3);color:var(--ink)}.quiz-section{padding:34px;border-radius:var(--radius-card);background:var(--bg-card);box-shadow:var(--shadow-card);margin-top:18px}.quiz-header{margin-bottom:24px}.quiz-header h2{font-size:1.6rem;margin-bottom:6px}.quiz-header p{color:var(--ink-2);font-size:.88rem}.quiz-question{margin-bottom:28px}.quiz-question-text{font-weight:700;font-size:1rem;margin-bottom:14px;line-height:1.5}.quiz-options{display:flex;flex-direction:column;gap:9px}.quiz-option{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border:1.5px solid var(--border);border-radius:var(--radius-btn);background:#fafaf7;text-align:left;font-size:.9rem;line-height:1.45;transition:border-color .15s,background .15s}.quiz-option:hover:not(:disabled){border-color:var(--teal);background:var(--teal-light)}.quiz-option.correct{border-color:#22c55e;background:#dcfce7;color:#166534}.quiz-option.wrong{border-color:var(--accent);background:#fee2e2;color:#991b1b}.quiz-option .opt-letter{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--border);font-size:.75rem;font-weight:800;flex-shrink:0}.quiz-option.correct .opt-letter{background:#22c55e;color:#fff}.quiz-option.wrong .opt-letter{background:var(--accent);color:#fff}.quiz-explanation{margin-top:10px;padding:11px 14px;border-radius:10px;background:#f0f9ff;color:#0c4a6e;font-size:.82rem;line-height:1.5}.quiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.quiz-progress-text{color:var(--ink-3);font-size:.8rem;font-weight:700}.access-page{min-height:calc(100vh - 72px);padding:40px 24px 70px;display:flex;flex-direction:column;align-items:center}.access-card{width:min(460px,100%);padding:44px;border-radius:var(--radius-card);background:var(--bg-card);box-shadow:var(--shadow-strong);text-align:center}.access-card h1{font-size:2.8rem;margin-bottom:10px}.access-card>p:not(.step-label){color:var(--ink-2);font-size:.9rem}.google-button{width:100%;margin-top:14px;padding:13px;border:1.5px solid var(--border);border-radius:var(--radius-btn);background:#fff;color:var(--ink);font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;transition:border-color .15s,box-shadow .15s}.google-button:hover{border-color:var(--teal);box-shadow:0 0 0 3px #2b786b1a}.google-icon{width:20px;height:20px}.divider{display:flex;align-items:center;gap:10px;margin:22px 0;color:var(--ink-3);font-size:.76rem}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--border)}.access-card label{display:block;margin-bottom:14px;color:var(--ink-2);text-align:left;font-size:.82rem;font-weight:700}.access-card label input{display:block;margin-top:6px}.access-card .text-button{display:block;margin:16px auto 0;font-size:.85rem}.back-link-access{margin-bottom:28px;display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:.88rem;font-weight:600;border:0;background:none}.back-link-access:hover{color:var(--ink)}@media(max-width:900px){.topbar{gap:14px;padding:0 16px}nav{display:none}.outline-button,.profile-button{margin-left:auto}.hero{grid-template-columns:1fr;gap:20px;padding:28px 0}.hero-card{max-width:100%}.address-grid{grid-template-columns:1fr 1fr}.theory-dashboard-grid,.lesson-layout{grid-template-columns:1fr}}@media(max-width:680px){main{padding:0 12px}.topbar{height:56px;padding:0}.topbar-inner{padding:0 12px;gap:8px}.header-actions{gap:6px}.header-login-btn{min-height:40px;padding:7px 13px}.user-profile-widget{gap:5px;padding:3px 4px}.logout-action-btn{min-height:36px;padding:6px 9px}.logout-action-btn>span:last-child{display:none}.guest-banner{top:56px;padding:7px 12px;font-size:.74rem}.guest-banner button{padding:4px 10px;font-size:.72rem}.hero{min-height:auto;padding:14px 0 16px;gap:12px}.hero .eyebrow{font-size:.68rem;margin-bottom:4px}.hero h1{font-size:1.6rem;line-height:1.18;margin-bottom:6px}.hero-copy{font-size:.82rem;line-height:1.45;margin-top:4px}.hero-card{padding:14px;border-radius:16px}.hero-card-top{font-size:.82rem;margin-bottom:8px}.hero-card p{font-size:.76rem;margin:6px 0}.hero-stats{gap:6px}.hero-stat{padding:8px 10px;border-radius:10px}.hero-stat strong{font-size:1.15rem}.hero-stat span{font-size:.68rem}.method-strip{display:none!important}.year-section-panel{margin-bottom:18px}.section-title{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px}.section-title h2{font-size:1.25rem}.current-year-indicator{font-size:.74rem;padding:4px 10px}.learning-section{padding:0 0 36px}.search-bar-wrap{margin-bottom:12px}.search-input{height:42px;font-size:.85rem;padding-left:36px;border-radius:12px}.search-icon-left{left:12px;font-size:.88rem}.nucleus-filter{gap:5px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:14px}.nucleus-filter::-webkit-scrollbar{display:none}.nucleus-tab{padding:6px 10px;font-size:.74rem;white-space:nowrap;border-radius:8px}.unit-grid{grid-template-columns:1fr;gap:12px}.unit-card{padding:16px 14px;border-radius:16px}.unit-card h3{font-size:1.18rem;line-height:1.25}.unit-card>.unit-theory{font-size:.82rem;line-height:1.45}.unit-number{font-size:3.2rem}.lesson-page{padding:10px 0 calc(76px + env(safe-area-inset-bottom,0px))}.lesson-top-nav{margin-bottom:8px;gap:6px}.back-button{font-size:.8rem}.lesson-nav button{padding:5px 10px;font-size:.76rem}.lesson-header{margin:6px 0 12px;gap:4px;flex-direction:column;align-items:flex-start}.lesson-meta-breadcrumb{font-size:.74rem;gap:4px}.lesson-header h1{font-size:1.4rem!important;line-height:1.25;margin:2px 0 0}.lesson-tabs{width:100%;position:sticky;top:56px;z-index:30;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#e6eae5f2;padding:4px;margin-bottom:12px;border-radius:12px;box-shadow:0 2px 10px #0f20330d}.lesson-tab-btn{flex:1;justify-content:center;padding:8px 6px;font-size:.8rem;border-radius:9px;min-height:38px;gap:4px}.animated-tutorial-wrapper{padding:12px 10px!important;border-radius:14px}.tutorial-header-bar{margin-bottom:10px;gap:6px}.tutorial-section-tag{font-size:.92rem}.tutorial-subtitle-hint{font-size:.76rem}.mode-toggle-btn{padding:5px 8px;font-size:.74rem}.tutorial-step-navigator-bar{padding:8px 10px;margin-bottom:10px;border-radius:10px}.step-control-btn{min-height:36px;padding:4px 8px;font-size:.78rem}.step-current-title{font-size:.8rem}.tutorial-step-heading{font-size:1.2rem;line-height:1.28;margin-bottom:8px}.tutorial-step-body{font-size:.92rem;line-height:1.5;margin-bottom:12px}.tutorial-formula-highlight{margin:10px 0 12px;padding:10px 12px;min-height:auto}.formula-render-area{font-size:1.05rem}.tutorial-pro-tip,.tutorial-warning-tip{padding:10px 12px;margin:10px 0;font-size:.84rem}.exercise-question-navigator{padding:12px;border-radius:14px}.navigator-header-row{gap:8px;margin-bottom:10px}.question-pills-row{gap:5px;overflow-x:auto;padding-bottom:2px}.single-question-card{padding:16px 12px;border-radius:14px}.question-prompt-text{font-size:1.1rem;line-height:1.35;margin-bottom:12px}.direct-options-grid{gap:8px}.direct-option-btn{padding:10px;min-height:44px;border-radius:10px;font-size:.86rem}.answer-explanation-box{padding:12px;border-radius:10px;font-size:.85rem}.question-nav-footer{margin-top:14px}.lesson-bottom-enrichment-card{padding:14px;border-radius:14px;margin-top:14px;flex-direction:column;align-items:stretch;gap:10px}.bottom-enrichment-buttons{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.access-page{min-height:calc(100dvh - 56px);padding:16px 12px calc(88px + env(safe-area-inset-bottom,0px))}.back-link-access{width:100%;min-height:44px;margin-bottom:10px;justify-content:flex-start;line-height:1.35}.access-card{padding:24px 18px;border-radius:18px}.access-card h1{font-size:2rem}.access-card .brand-symbol.large{margin-bottom:14px}.google-button,.access-card .primary-button,.access-card input[type=email],.access-card input[type=password]{min-height:46px}.access-card .text-button{min-height:40px;padding:8px}}.year-total-time{font-size:.72rem;color:var(--teal);font-weight:700;margin:0}.bottom-nav{display:none}@media(max-width:900px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom,0px));background:var(--bg-card);border-top:1px solid var(--border);z-index:20;justify-content:space-around;align-items:center;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f2ecf2;box-shadow:0 -2px 10px #0000000d}.bottom-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;color:var(--ink-2);font-size:.62rem;font-weight:700;padding:6px 10px;border-radius:12px;transition:color .15s,background .15s;flex:1;min-height:48px;cursor:pointer}.bottom-nav-btn.active{color:var(--teal);background:var(--teal-light)}.bottom-nav-btn .nav-icon{font-size:1.3rem;line-height:1}body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.auth-skeleton{padding:40px 24px;max-width:1200px;margin:0 auto}.skeleton-hero{height:300px;border-radius:var(--radius-card);background:linear-gradient(90deg,var(--border) 25%,#e8e5de 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:32px}.skeleton-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skeleton-card{height:160px;border-radius:18px;background:linear-gradient(90deg,var(--border) 25%,#e8e5de 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@media(max-width:600px){.skeleton-cards{grid-template-columns:1fr}}.feedback{padding:12px 16px;border-radius:var(--radius-btn);font-size:.86rem;font-weight:600;line-height:1.45;margin-bottom:14px}.feedback.error{background:#fef2f2;color:#991b1b;border:1.5px solid #fca5a5}.feedback.success{background:#f0fdf4;color:#166534;border:1.5px solid #86efac}.reset-password-btn{display:block;margin:10px auto 0;font-size:.82rem;color:var(--ink-3)}.reset-password-btn:hover{color:var(--teal)}.access-card input[type=email],.access-card input[type=password]{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-btn);background:#fafaf8;color:var(--ink);font-size:.95rem;transition:border-color .15s,box-shadow .15s;outline:none}.access-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2b786b1f;background:#fff}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:0;border-radius:var(--radius-btn);background:var(--gold);color:var(--ink);font-weight:800;font-size:.95rem;cursor:pointer;transition:opacity .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 14px #f5b94259}.primary-button:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #f5b94273}.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.search-bar-wrap{position:relative;display:flex;align-items:center;max-width:480px;width:100%;margin-bottom:22px}.search-input{width:100%;padding:12px 42px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--ink);font-size:.95rem;transition:all .2s ease;outline:none}.search-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2b786b24}.search-icon-left{position:absolute;left:14px;font-size:1.1rem;color:var(--ink-3);pointer-events:none}.search-clear-btn{position:absolute;right:12px;background:none;border:none;font-size:1rem;color:var(--ink-3);cursor:pointer;padding:4px;line-height:1}.search-clear-btn:hover{color:var(--ink)}.search-count-badge{margin-left:14px;font-size:.82rem;font-weight:700;color:var(--ink-2);white-space:nowrap}@media(prefers-color-scheme:dark){:root{--bg: #0f1923;--bg-card: #182230;--border: #28394a;--ink: #dce8f2;--ink-2: #8aacbf;--ink-3: #567288;--teal-light: #16332d;--shadow-card: 0 16px 48px rgba(0,0,0,.45);--shadow-strong: 0 24px 64px rgba(0,0,0,.65)}body{background:var(--bg);color:var(--ink)}.topbar{background:#0f1923f2;border-bottom-color:var(--border)}.guest-banner{background:#0a1520}.guest-banner span{color:#8aacbf}.skeleton-hero,.skeleton-card{background:linear-gradient(90deg,#182230 25%,#223246,#182230 75%);background-size:200% 100%}.selector-panel{background:var(--bg-card);border-color:var(--border)}.address-card{background:#15202e;border-color:var(--border);color:var(--ink)}.address-card:hover{border-color:var(--teal)}.address-card.selected{background:var(--teal-light);border-color:var(--teal)}.address-card small{color:var(--ink-2)}.year-tab-card{background:var(--bg-card);border-color:var(--border)}.year-tab-card:hover{border-color:var(--teal)}.year-tab-card.active{background:#132724;border-color:var(--teal)}.year-cycle-badge{background:#ffffff14;color:var(--ink-2)}.nucleus-tab{background:var(--bg-card);color:var(--ink-2)}.unit-card{background:var(--bg-card);border-color:var(--border)}.unit-card h3{color:var(--ink)}.unit-number{color:#223246}.status.not-started{background:#223246;color:var(--ink-2)}.method-strip{background:#0a1420}.method-strip>div{border-right-color:#ffffff14}.search-input{background:#15202e;border-color:var(--border);color:var(--ink)}.search-input:focus{background:var(--bg-card);border-color:var(--teal)}.theory-card{background:var(--bg-card);border-color:var(--border)}.theory-card h2,.theory-card h3{color:var(--ink)}.theory-body-text{color:var(--ink-2)}.formula-highlight-box{background:#221c08;border-color:#4a3d12;border-left-color:var(--gold)}.formula-box-label{color:#d4a843}.formula-render-area{color:var(--ink)}.clean-error-list li{background:#2a1515;color:#fca5a5}.clean-worked-list li{border-bottom-color:var(--border)}.step-line-content{color:var(--ink)}.quick-action-card{background:linear-gradient(135deg,#132724,#17302c);border-color:#1e453e}.animated-tutorial-container{background:var(--bg-card);border-color:var(--border)}.tutorial-stage-card{background:#15202e;border-color:var(--border)}.tutorial-step-heading{color:var(--ink)}.tutorial-step-body,.tutorial-visual-note{color:var(--ink-2)}.tutorial-live-badge{background:#122820;color:#6ee7b7;border-color:#1e4538}.tutorial-play-btn{background:var(--bg-card);border-color:var(--border);color:var(--ink)}.tutorial-step-navigator-bar{background:var(--bg-card);border-color:var(--border)}.step-control-btn{background:#15202e;border-color:var(--border);color:var(--ink-2)}.step-control-btn:hover:not(:disabled){background:#1e293b;color:var(--ink)}.segment-indicator{background:#223246}.step-current-title{color:var(--ink)}.step-badge-counter{color:var(--ink-3)}.stepper-dot{background:var(--bg-card);border-color:var(--border);color:var(--ink-3)}.stepper-dot.visited:not(.active){background:#223246;color:var(--ink-2)}.submode-pill{background:var(--bg-card);border-color:var(--border);color:var(--ink-2)}.exercise-question-navigator{background:var(--bg-card);border-color:var(--border)}.question-pill-btn{background:#15202e;border-color:var(--border);color:var(--ink-2)}.question-pill-btn:hover{border-color:var(--teal);color:var(--ink)}.exercise-guest-notice{background:#0c2336;color:#7dd3fc}.access-card{background:var(--bg-card)}.access-card h1{color:var(--ink)}.access-card>p{color:var(--ink-2)}.access-card input[type=email],.access-card input[type=password]{background:#101c2a;color:var(--ink);border-color:var(--border)}.google-button{background:var(--bg-card);border-color:var(--border);color:var(--ink)}.divider{color:var(--ink-3)}.divider:before,.divider:after{background:var(--border)}.quiz-section{background:var(--bg-card)}.quiz-option{background:#15202e;border-color:var(--border);color:var(--ink)}.quiz-option:hover:not(:disabled){background:var(--teal-light);border-color:var(--teal)}.quiz-explanation{background:#0a1a28;color:#7dd3fc}.progress-metric-card{background:var(--bg-card);border-color:var(--border)}.status-pill-item.not-started{background:#223246;color:var(--ink-2)}.progress-year-pill{background:var(--bg-card);border-color:var(--border);color:var(--ink-2)}.nucleus-progress-block{background:var(--bg-card);border-color:var(--border)}.nucleus-progress-header{background:#ffffff05;border-bottom-color:var(--border)}.nucleus-title-wrap h2{color:var(--ink)}.nucleus-units-count{background:#101c2a;color:var(--ink-2)}.progress-unit-row{border-bottom-color:var(--border)}.progress-unit-row:hover{background:#1d2a3a}.progress-unit-title{color:var(--ink)}.progress-manage-card{background:var(--bg-card);border-color:var(--border)}.bottom-nav{background:#0f1923f5!important;border-top-color:var(--border)}.outline-button,.profile-button{background:var(--bg-card);border-color:var(--border);color:var(--ink)}.brand{color:var(--ink)}}.footer-creator-banner{max-width:980px;margin:0 auto 36px;padding:0 16px}.creator-card{display:flex;align-items:center;gap:28px;background:linear-gradient(135deg,#fff,#f8fafc);border:1.5px solid #e2e8f0;border-radius:24px;padding:24px 32px;box-shadow:0 10px 30px -10px #0f172a14;position:relative;overflow:hidden}.creator-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#3b82f6,#6366f1)}.creator-photo-wrap{position:relative;width:108px;height:108px;min-width:108px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#06b6d4);box-shadow:0 8px 20px -4px #3b82f659}.creator-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:80% 55%;background-color:#e2e8f0;display:block}.creator-badge-check{position:absolute;bottom:2px;right:2px;width:24px;height:24px;background:#22c55e;color:#fff;border:2.5px solid #ffffff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;box-shadow:0 2px 6px #0003}.creator-details{display:flex;flex-direction:column;gap:4px}.creator-role-tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#3b82f6}.creator-name{font-size:1.38rem;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.02em}.creator-desc{font-size:.92rem;line-height:1.58;color:#475569;margin:6px 0 12px;max-width:720px}.creator-desc p{margin:0 0 8px}.creator-desc p:last-child{margin-bottom:0}.creator-pillars{display:flex;flex-direction:column;gap:8px;margin-top:4px;max-width:720px}.creator-pillar{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:.86rem;line-height:1.48;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px}.creator-pillar-title{font-weight:700;color:#0f172a;white-space:nowrap}.creator-pillar-desc{color:#475569}.creator-meta-chips{display:flex;flex-wrap:wrap;gap:8px}.creator-chip{font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:999px;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.footer-admin-link{background:none;border:none;color:#d97706;font-weight:700;font-size:.85rem;cursor:pointer;padding:0;margin-left:12px;text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.creator-card{flex-direction:column;text-align:center;padding:20px;gap:16px}.creator-photo-wrap{width:96px;height:96px;min-width:96px}.creator-meta-chips{justify-content:center}}
