:root{--bg: #fef7ff;--bg-soft: #f3e8ff;--card: #ffffff;--ink: #1e293b;--ink-muted: #64748b;--accent: #6366f1;--accent-soft: #e0e7ff;--accent-deep: #4338ca;--hero-bg: #4c1d95;--hero-ink: #f8fafc;--hero-muted: #ddd6fe;--ok: #10b981;--ok-soft: #d1fae5;--bad: #ef4444;--bad-soft: #fee2e2;--warn: #f59e0b;--warn-soft: #fef3c7;--pink: #ec4899;--pink-soft: #fce7f3;--shape-fill: #ede9fe;--shape-stroke: #6d28d9;--identify-fill: #fde047;--identify-board: #fff7d6;--tone-geometry: #6366f1;--tone-geometry-soft: #e0e7ff;--tone-geometry-bg: #eef2ff;--tone-fractions: #f59e0b;--tone-fractions-soft: #fef3c7;--tone-fractions-bg: #fffbeb;--tone-multiply: #10b981;--tone-multiply-soft: #d1fae5;--tone-multiply-bg: #ecfdf5;--tone-divide: #06b6d4;--tone-divide-soft: #cffafe;--tone-divide-bg: #ecfeff;--tone-formulas: #a855f7;--tone-formulas-soft: #f3e8ff;--tone-formulas-bg: #faf5ff;--tone-identify: #f59e0b;--tone-identify-soft: #fef9c3;--tone-identify-bg: #fefce8;--tone-game: #ec4899;--tone-game-soft: #fce7f3;--tone-game-bg: #fdf2f8;--border: rgba(99, 102, 241, .2);--shadow: 0 18px 40px rgba(99, 102, 241, .12);--shadow-pop: 0 24px 50px rgba(99, 102, 241, .18);--radius: 22px;--radius-lg: 28px;font-family:DM Sans,system-ui,sans-serif;line-height:1.5;color:var(--ink);background:radial-gradient(circle at top left,rgba(99,102,241,.14),transparent 30%),radial-gradient(circle at top right,rgba(236,72,153,.12),transparent 28%),radial-gradient(circle at 30% 75%,rgba(16,185,129,.08),transparent 30%),var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}#app,.shell{min-height:100vh}.shell{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 3rem}.shell-wide{max-width:none;padding-inline:0}.shell-wide .topbar{max-width:1100px;margin-inline:auto;padding-inline:1rem}.shell-wide .main{padding-inline:0}.shell-wide .home-body{padding-inline:1rem}.shell-wide .sections-page,.shell-wide .page-header,.shell-wide .study-page{max-width:1100px;margin-inline:auto;padding-inline:1rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;position:relative;z-index:2;flex-wrap:wrap}.lang-switch{display:inline-flex;padding:.2rem;border-radius:999px;background:var(--card);box-shadow:var(--shadow);gap:.15rem}.lang-btn{border:0;border-radius:999px;padding:.45rem .7rem;background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;color:var(--ink-muted)}.lang-btn.active{background:var(--accent-soft);color:var(--accent-deep)}.brand,.nav button{border:0;background:transparent;cursor:pointer}.brand{display:inline-flex;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;color:var(--ink)}.brand em{font-style:normal;color:var(--accent)}.brand-icon{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--accent-deep),var(--accent));color:#fff;font-family:Fraunces,serif;font-size:1.2rem;box-shadow:var(--shadow)}.nav{display:flex;gap:.35rem;flex-wrap:wrap}.nav button{padding:.55rem .9rem;border-radius:999px;color:var(--ink-muted);transition:background .2s,color .2s}.nav button:hover{background:var(--card);color:var(--ink)}.main{animation:fadeIn .35s ease;padding-bottom:8rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero{max-width:720px;margin-bottom:2rem}.home-hero{position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:2.5rem;padding:clamp(2.5rem,6vw,4.5rem) 1.5rem clamp(2rem,5vw,3.5rem);color:var(--hero-ink);background:radial-gradient(circle at 15% 20%,rgba(56,189,248,.22),transparent 28%),radial-gradient(circle at 85% 10%,rgba(99,102,241,.28),transparent 24%),radial-gradient(circle at 70% 85%,rgba(37,99,235,.18),transparent 30%),linear-gradient(145deg,#0b1220,#111827 45%,#1e1b4b)}.home-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:#93c5fd}.home-shapes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.formula-float{position:absolute;font-family:JetBrains Mono,monospace;font-weight:600;color:#ffffff1f;-webkit-user-select:none;user-select:none;animation:floatFormula 8s ease-in-out infinite}.formula-float.f1{top:12%;left:8%;font-size:1.4rem;animation-delay:0s}.formula-float.f2{top:18%;right:12%;font-size:2rem;animation-delay:-1s}.formula-float.f3{top:55%;left:5%;font-size:1.1rem;animation-delay:-2s}.formula-float.f4{top:70%;right:18%;font-size:2.4rem;animation-delay:-3s}.formula-float.f5{top:40%;left:18%;font-size:1.8rem;animation-delay:-1.5s}.formula-float.f6{top:8%;left:42%;font-size:1.6rem;animation-delay:-2.5s}.formula-float.f7{top:78%;left:35%;font-size:1.3rem;animation-delay:-4s}.formula-float.f8{top:30%;right:8%;font-size:1.5rem;animation-delay:-.5s}.formula-float.f9{top:62%;right:6%;font-size:.95rem;animation-delay:-3.5s}.formula-float.f10{top:48%;left:48%;font-size:1.2rem;animation-delay:-2.2s}@keyframes floatFormula{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}.home-hero-inner{position:relative;z-index:1;max-width:900px;margin:0 auto;text-align:center;padding-right:140px}.hero-character-wrap{position:absolute;right:-160px;top:35%;transform:translateY(-50%);width:180px;height:180px;margin:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;animation:floatFormula 6s ease-in-out infinite;z-index:2}.hero-character-img{width:220px;height:auto;position:absolute;bottom:-20px;filter:drop-shadow(0 15px 20px rgba(0,0,0,.3))}.assistant-bubble{position:absolute;bottom:180px;right:-100px;background:#fff;color:var(--ink);padding:.6rem 1rem;border-radius:14px;font-size:.85rem;font-weight:600;box-shadow:0 4px 15px #00000026;white-space:nowrap;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.5s;opacity:0;transform-origin:bottom center}.assistant-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;margin-left:-6px;border-width:6px 6px 0;border-style:solid;border-color:white transparent transparent;display:block}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.assistant-float-popup{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:flex-end;gap:1rem;z-index:100;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275) forwards}.assistant-float-avatar{width:80px;height:80px;border-radius:50%;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;overflow:visible;position:relative;border:3px solid var(--accent)}.assistant-float-avatar img{width:100px;height:auto;position:absolute;bottom:-5px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.assistant-float-bubble{background:#fff;color:var(--ink);padding:1rem;border-radius:16px 16px 0;font-size:.95rem;font-weight:500;box-shadow:var(--shadow);max-width:250px;line-height:1.4;position:relative;border:2px solid var(--accent-soft)}.assistant-float-bubble:after{content:"";position:absolute;bottom:0;right:-8px;border-width:8px 0 0 8px;border-style:solid;border-color:transparent transparent transparent white}.hero-badge{display:inline-block;margin:0 0 1rem;padding:.4rem .85rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff0f;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hero-muted)}.hero-title{margin:0 0 1rem;font-family:Fraunces,Georgia,serif;font-size:clamp(2.2rem,5.5vw,4rem);line-height:1.08;font-weight:700;color:var(--hero-ink)}.hero-highlight{display:block;margin-top:.2rem;background:linear-gradient(90deg,#93c5fd,#c4b5fd,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{max-width:58ch;margin-inline:auto;color:var(--hero-muted);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin:1.75rem 0 2rem}.btn-lg{padding:.9rem 1.35rem;font-weight:600}.hero-secondary{background:#ffffff14;color:var(--hero-ink);border:1px solid rgba(255,255,255,.16)}.hero-secondary:hover{background:#ffffff24}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:640px;margin:0 auto}.stat{padding:.9rem .75rem;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.stat strong{display:block;font-family:Fraunces,serif;font-size:1.8rem;line-height:1;color:#bfdbfe}.stat span{display:block;margin-top:.35rem;font-size:.82rem;color:var(--hero-muted)}.home-body{max-width:1100px;margin:0 auto}.section-head{margin-bottom:1.25rem}.section-head h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.6rem,3vw,2.2rem)}.home-note{text-align:center}.home-more{display:flex;justify-content:center;margin:1.25rem 0 .5rem}.card-badge{display:inline-block;margin-bottom:.5rem;padding:.2rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.page-header{margin-bottom:1.5rem}.page-header .lead{max-width:62ch}.sections-grid{display:grid;gap:1rem}.section-group{padding:1.25rem}.section-group-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.section-group-icon{width:3rem;height:3rem;display:grid;place-items:center;border-radius:14px;background:var(--accent-soft);font-size:1.35rem;flex-shrink:0}.section-group-head h2{margin:0 0 .35rem;font-family:Fraunces,Georgia,serif}.section-group-head p{margin:0;color:var(--ink-muted)}.section-items{display:grid;gap:.75rem}.section-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:14px;background:var(--bg-soft)}.section-item-body{flex:1}.section-item-top{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.section-item h3{margin:0;font-size:1.05rem}.section-item p{margin:.35rem 0 .55rem;color:var(--ink-muted)}.practice-actions{display:flex;flex-wrap:wrap;gap:.5rem}.identify-board{padding:1.25rem;background:linear-gradient(180deg,#fffdf5,var(--identify-board));border:2px solid #111827}.identify-instructions{margin:0 0 1rem;color:var(--ink-muted);text-align:center}.identify-stage{display:grid;gap:1rem;justify-items:center;margin-bottom:1.25rem}.identify-figure-wrap{width:min(100%,360px);padding:1rem;border-radius:16px;background:#fff;border:2px solid #111827}.identify-plaque{min-width:min(100%,320px);padding:.85rem 1.2rem;border-radius:14px;background:var(--identify-fill);border:2px solid #111827;text-align:center;font-weight:700;box-shadow:inset 0 -3px #00000014}.identify-plaque.ok{background:var(--ok-soft);color:var(--ok)}.identify-plaque.bad{background:var(--bad-soft);color:var(--bad)}.name-chips{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.name-chip,.name-chip-option span{padding:.7rem 1rem;border-radius:999px;border:2px solid #111827;background:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease}.name-chip{font:inherit}.name-chip:hover:not(:disabled){transform:translateY(-1px);background:#fef9c3}.name-chip.selected{background:var(--accent-soft)}.name-chip.correct{background:var(--ok-soft);border-color:var(--ok)}.name-chip.wrong{background:var(--bad-soft);border-color:var(--bad)}.name-chip:disabled{cursor:default;opacity:.95}.name-chip-option{display:inline-flex}.name-chip-option input{position:absolute;opacity:0;pointer-events:none}.name-chip-option:has(input:checked) span{background:var(--accent-soft)}.name-chips.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.identify-card .figure-wrap{background:#fff;border:2px solid #111827}.identify-svg{max-width:280px}.study-page{padding-bottom:2rem}.study-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.1rem;margin-bottom:1.25rem}.study-toolbar-text{margin:0;color:var(--ink-muted);font-weight:600}.study-toolbar-actions,.study-footer-actions{display:flex;flex-wrap:wrap;gap:.65rem}.study-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.study-tab{border:1px solid #d6dde5;border-radius:999px;padding:.55rem .95rem;background:#fff;cursor:pointer;font:inherit;font-weight:600;color:var(--ink-muted)}.study-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.tab-count{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;margin-left:.35rem;padding:0 .35rem;border-radius:999px;background:#fffc;font-size:.75rem}.study-panel{display:none}.study-panel.active{display:block}.study-panel-intro{margin:0 0 1rem;color:var(--ink-muted)}.study-hub-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-bottom:1.25rem}.study-hub-card{text-align:left;cursor:pointer;border:2px solid transparent;padding:1.1rem 1.15rem;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.study-hub-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.study-hub-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:14px;font-size:1.25rem;font-weight:700}.study-hub-card h3{margin:0 0 .45rem}.study-hub-card p{margin:0 0 .85rem;color:var(--ink-muted);font-size:.92rem}.study-hub-card .mode-formula{display:inline-block}.study-hub-card.tone-geometry{background:linear-gradient(180deg,#fff,var(--tone-geometry-bg));border-color:#2563eb2e}.study-hub-card.tone-geometry .study-hub-icon,.study-hub-card.tone-geometry .card-badge{background:var(--tone-geometry-soft);color:var(--tone-geometry)}.study-hub-card.tone-fractions{background:linear-gradient(180deg,#fff,var(--tone-fractions-bg));border-color:#d977062e}.study-hub-card.tone-fractions .study-hub-icon,.study-hub-card.tone-fractions .card-badge{background:var(--tone-fractions-soft);color:var(--tone-fractions)}.study-hub-card.tone-multiply{background:linear-gradient(180deg,#fff,var(--tone-multiply-bg));border-color:#0596692e}.study-hub-card.tone-multiply .study-hub-icon,.study-hub-card.tone-multiply .card-badge{background:var(--tone-multiply-soft);color:var(--tone-multiply)}.study-hub-card.tone-divide{background:linear-gradient(180deg,#fff,var(--tone-divide-bg));border-color:#0891b22e}.study-hub-card.tone-divide .study-hub-icon,.study-hub-card.tone-divide .card-badge{background:var(--tone-divide-soft);color:var(--tone-divide)}.study-hub-card.tone-formulas{background:linear-gradient(180deg,#fff,var(--tone-formulas-bg));border-color:#7c3aed2e}.study-hub-card.tone-formulas .study-hub-icon,.study-hub-card.tone-formulas .card-badge{background:var(--tone-formulas-soft);color:var(--tone-formulas)}.study-hub-card.tone-identify{background:linear-gradient(180deg,#fff,var(--tone-identify-bg));border-color:#ca8a042e}.study-hub-card.tone-identify .study-hub-icon,.study-hub-card.tone-identify .card-badge{background:var(--tone-identify-soft);color:var(--tone-identify)}.study-hub-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px #1f29331a}.study-hub-tabs{flex:1}.study-tab.tone-geometry.active{background:var(--tone-geometry-soft);border-color:var(--tone-geometry);color:var(--tone-geometry)}.study-tab.tone-fractions.active{background:var(--tone-fractions-soft);border-color:var(--tone-fractions);color:var(--tone-fractions)}.study-tab.tone-multiply.active{background:var(--tone-multiply-soft);border-color:var(--tone-multiply);color:var(--tone-multiply)}.study-tab.tone-divide.active{background:var(--tone-divide-soft);border-color:var(--tone-divide);color:var(--tone-divide)}.study-tab.tone-formulas.active{background:var(--tone-formulas-soft);border-color:var(--tone-formulas);color:var(--tone-formulas)}.study-hub-page .study-toolbar{background:linear-gradient(180deg,#fffdf8,#f8fafc)}.study-subtabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem 1rem;margin-bottom:1rem}.study-subpanel{display:none}.study-subpanel.active{display:block}.study-panel-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}.review-expression{font-size:1.35rem;font-weight:700;text-align:center;margin:0}.study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.study-grid-compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.study-card{padding:1rem;display:grid;gap:.85rem}.study-card-compact{grid-template-rows:auto 1fr}.study-card-figure{display:grid;place-items:center;min-height:180px;padding:.75rem;border-radius:14px;background:linear-gradient(180deg,#ffffffe6,#eff6ffe6)}.study-card-figure.identify{background:#fff;border:2px solid #111827;min-height:150px}.study-card-body h2{margin:0 0 .5rem;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.study-card-body p{margin:0;color:var(--ink-muted)}.study-vars{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-wrap:wrap;gap:.45rem}.study-vars li{padding:.35rem .55rem;border-radius:8px;background:var(--bg-soft);font-family:JetBrains Mono,monospace;font-size:.82rem}.study-vars li span{color:var(--ink-muted);text-transform:capitalize}.study-formulas{display:grid;gap:.65rem}.study-formula-box{padding:.75rem;border-radius:12px;background:var(--bg-soft)}.study-formula-label{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.study-formula-box code{display:block;margin-bottom:.25rem;font-family:JetBrains Mono,monospace;font-size:1rem;color:var(--accent-deep)}.study-formula-box p{font-size:.92rem}.study-example{margin-top:.75rem!important;font-size:.88rem;font-weight:600;color:var(--ok)!important}.formula-list{display:grid;gap:1rem;margin-bottom:1rem}.formula-card{display:grid;grid-template-columns:auto 280px 1fr;gap:1rem;padding:1rem;align-items:center}.formula-card-index{width:2rem;height:2rem;display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.formula-card-figure{display:grid;place-items:center;min-height:180px;padding:.5rem;border-radius:14px;background:linear-gradient(180deg,#ffffffe6,#eff6ffe6)}.formula-card-body h2{margin:0 0 .65rem;font-family:Fraunces,Georgia,serif}.formula-highlight{display:grid;gap:.25rem;margin-bottom:.5rem;padding:.85rem 1rem;border-radius:12px;background:linear-gradient(135deg,var(--accent-soft),#eef2ff);border:1px solid rgba(37,99,235,.15)}.formula-highlight span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.formula-highlight code{font-family:JetBrains Mono,monospace;font-size:clamp(1.1rem,2vw,1.45rem);color:var(--accent-deep)}.formula-readable{margin:0 0 .35rem;font-weight:600}.formula-hint{margin:0 0 .65rem;color:var(--ink-muted)}.study-vars.inline{margin-bottom:0}.study-footer{padding:1.25rem;text-align:center}.study-footer h2{margin:0 0 .5rem;font-family:Fraunces,Georgia,serif}.study-footer p{margin:0 0 1rem;color:var(--ink-muted)}.study-footer-actions{justify-content:center}.fraction-study-card{padding:1.25rem}.fraction-study-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.fraction-study-example{font-family:JetBrains Mono,ui-monospace,monospace;font-size:1.25rem;padding:.35rem .65rem;border-radius:10px;background:var(--bg-soft)}.fraction-study-body{display:grid;gap:.85rem;margin-bottom:1rem}.fraction-study-block h3{margin:0 0 .35rem;font-size:.92rem}.fraction-study-block p{margin:0;color:var(--ink-muted)}.fraction-study-block.highlight{padding:.85rem;border-radius:12px;background:var(--accent-soft)}.fraction-study-result{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:600;color:var(--ink)!important}.times-table-wrap{overflow-x:auto;margin-bottom:1rem;border-radius:14px;border:1px solid var(--border);background:#fff}.times-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}.times-table th,.times-table td{padding:.55rem .45rem;text-align:center;border:1px solid var(--border)}.times-table thead th{background:var(--bg-soft);font-weight:700}.times-table tbody th{background:var(--accent-soft);font-weight:700}.times-table tbody tr:nth-child(2n) td{background:#f8fafccc}.divide-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin-bottom:1rem}.divide-group{padding:1rem}.divide-group h3{margin:0 0 .65rem;font-size:1rem}.divide-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.divide-fact{display:flex;align-items:center;gap:.35rem;padding:.4rem .5rem;border-radius:8px;background:var(--bg-soft);font-size:.85rem}.divide-expr{font-family:JetBrains Mono,ui-monospace,monospace}.divide-eq{color:var(--ink-muted)}.arithmetic-board .fraction-expression{font-size:clamp(2.5rem,6vw,3.5rem)}.classify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.classify-card{padding:1rem}.classify-card-figure{display:grid;place-items:center;min-height:130px;margin-bottom:.75rem;padding:.5rem;border-radius:14px;background:#fff;border:2px solid #111827}.classify-card h3{margin:0 0 .35rem;font-family:Fraunces,Georgia,serif;font-size:1.05rem}.classify-card p{margin:0;color:var(--ink-muted);font-size:.92rem}.classify-highlight{display:grid;grid-template-columns:220px 1fr;gap:1.25rem;align-items:center;padding:1.25rem;margin-top:1rem}.classify-highlight-figure{display:grid;place-items:center;min-height:180px;padding:.75rem;border-radius:14px;background:#fff;border:2px solid #111827}.classify-highlight h2{margin:0 0 .5rem;font-family:Fraunces,Georgia,serif}.classify-highlight p{margin:0 0 1rem;color:var(--ink-muted)}.eyebrow{margin:0 0 .4rem;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}h1{margin:0 0 .75rem;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.lead,.mode-card p,.note,.question-text{color:var(--ink-muted)}.lead{font-size:1.08rem;max-width:62ch}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.mode-card,.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.mode-card{padding:1.4rem;transition:transform .2s ease,box-shadow .2s ease}.mode-card-math:hover{transform:translateY(-4px);box-shadow:0 22px 48px #1f29331f}.mode-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.mode-formula{padding:.35rem .55rem;border-radius:8px;background:var(--bg-soft);font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--accent-deep)}.mode-icon{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:1rem;border-radius:14px;background:var(--accent-soft);font-size:1.4rem}.mode-card h2{margin:0 0 .5rem}.mode-card p{min-height:3.2rem;margin:0 0 1.2rem}.note{margin-top:1.5rem;font-size:.95rem}.btn{border:0;border-radius:12px;padding:.75rem 1rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 10px 20px #2563eb38}.btn.ghost{background:var(--bg-soft);color:var(--ink)}.practice-header,.exam-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.practice-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.level-panel{margin-bottom:1rem;padding:1rem 1.1rem}.level-panel-label{margin:0 0 .75rem;font-size:.92rem;font-weight:600;color:var(--ink-muted)}.level-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.level-chip{display:grid;gap:.15rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.level-chip strong{font-size:.95rem}.level-chip small{color:var(--ink-muted);font-size:.78rem;line-height:1.3}.level-chip:hover{transform:translateY(-1px)}.level-chip.active{border-color:var(--accent);background:var(--accent-soft)}.fraction-grid{grid-template-columns:1fr 1fr}.fraction-board{display:grid;place-content:center;min-height:240px;text-align:center;padding:1.5rem}.fraction-prompt{margin:0 0 .75rem;color:var(--ink-muted)}.fraction-expression{margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2}.fraction-answer{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:0}.fraction-field{flex:1;margin:0}.fraction-slash{font-size:2rem;font-weight:700;line-height:1;padding-bottom:.55rem;color:var(--ink-muted)}.figure-card,.question-card,.results{padding:1.25rem}.figure-wrap{display:grid;place-items:center;min-height:240px;padding:.5rem;border-radius:14px;background:linear-gradient(180deg,#fffc,#eff6ffcc)}.figure-svg{width:100%;max-width:320px;height:auto}.params{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;margin:1rem 0 0}.params div{padding:.7rem .8rem;border-radius:12px;background:var(--bg-soft)}.params dt{margin:0;font-size:.78rem;text-transform:capitalize;color:var(--ink-muted)}.params dd{margin:.15rem 0 0;font-family:JetBrains Mono,monospace;font-weight:600}.question-text{font-size:1.05rem;margin:0 0 1rem}.field{display:grid;gap:.45rem;margin-bottom:1rem}.field span{font-size:.92rem;color:var(--ink-muted)}.field input{width:100%;padding:.85rem .95rem;border:1px solid #d6dde5;border-radius:12px;background:#fff}.field input:focus{outline:2px solid rgba(37,99,235,.25);border-color:var(--accent)}.field select{width:100%;padding:.85rem .95rem;border:1px solid #d6dde5;border-radius:12px;background:#fff}.field select:focus{outline:2px solid rgba(37,99,235,.25);border-color:var(--accent)}.btn-sm{padding:.45rem .75rem;font-size:.88rem}.exam-setup-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:start}.exam-setup-panel{padding:1.25rem}.exam-setup-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.exam-setup-head h2,.exam-setup-side h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.exam-setup-quick{display:flex;gap:.45rem}.exam-topic-list{display:grid;gap:1.1rem}.exam-topic-group{display:grid;gap:.55rem}.exam-topic-group-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.exam-topic{display:grid;grid-template-columns:auto auto 1fr;gap:.75rem;align-items:start;padding:.9rem 1rem;border:2px solid #d6dde5;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.exam-topic:has(input:checked),.exam-topic.checked{border-color:var(--accent);background:var(--accent-soft)}.exam-topic input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--accent)}.exam-topic-icon{width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:10px;background:var(--bg-soft);font-size:1.1rem}.exam-topic-body{display:grid;gap:.15rem}.exam-topic-body strong{font-size:1rem}.exam-topic-body small{color:var(--ink-muted)}.exam-topic-body em{font-style:normal;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.exam-summary{margin:1rem 0;padding:.9rem 1rem;border-radius:12px;background:var(--bg-soft)}.exam-summary p{margin:0 0 .35rem;color:var(--ink-muted);font-size:.92rem}.exam-summary p:last-child{margin-bottom:0}.exam-summary [data-topic-preview]{color:var(--ink);font-weight:500}.exam-setup-side .btn-lg{width:100%;margin-bottom:.65rem}.exam-setup-side .btn.ghost{width:100%}.exam-config-note,.exam-result-config{margin:.35rem 0 0;color:var(--ink-muted);font-size:.88rem}.exam-header-actions{display:grid;gap:.65rem;justify-items:end}.exam-timer{display:grid;gap:.15rem;padding:.65rem .9rem;border-radius:12px;background:var(--bg-soft);text-align:center;min-width:6.5rem}.exam-timer-label{font-size:.75rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.exam-timer strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.exam-timer.urgent{background:#ef44441f;color:var(--bad)}.exam-timer.urgent strong{color:var(--bad)}.history-page{max-width:760px;margin:0 auto}.history-layout{display:grid;gap:1rem}.history-page .history-session{margin-bottom:0;padding:1.1rem 1.25rem}.history-session-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.65rem}.session-id{margin-left:.5rem;padding:.15rem .45rem;border-radius:8px;background:var(--bg-soft);font-size:.85rem}.session-expiry{color:var(--ink-muted);font-size:.92rem}.history-session-note,.history-session-count,.history-meta{margin:.35rem 0 0;color:var(--ink-muted);font-size:.92rem}.history-session-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.history-empty{padding:1.5rem;text-align:center;color:var(--ink-muted)}.history-list{display:grid;gap:.75rem;margin-bottom:1.5rem}.history-item{padding:1rem 1.1rem}.history-item.ok{border-left:4px solid var(--ok)}.history-item.bad{border-left:4px solid var(--bad)}.history-item h3{margin:.15rem 0 0;font-size:1.05rem}.history-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.history-result{font-weight:700;white-space:nowrap;flex-shrink:0}.history-item-main{min-width:0;flex:1}.history-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.history-topics{margin:.35rem 0 0;color:var(--ink-muted);font-size:.82rem;line-height:1.45;word-break:break-word}.history-item-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.history-stats{padding:1.1rem 1.25rem}.history-stats h2{margin:0 0 .85rem;font-size:1.1rem}.history-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.history-stat{display:grid;gap:.15rem;padding:.85rem;border-radius:12px;background:var(--bg-soft)}.history-stat strong{font-size:1.5rem}.history-stat span{color:var(--ink-muted);font-size:.88rem}.history-stat em{font-style:normal;color:var(--accent-deep);font-weight:600}.history-weak h3{margin:0 0 .65rem;font-size:.95rem}.weak-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.weak-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-radius:10px;background:var(--bg-soft);font-size:.92rem}.history-stats-empty{margin:0;color:var(--ink-muted);font-size:.92rem}.exam-insights{margin:1rem 0 1.25rem;padding:1rem 1.1rem}.exam-insights.ok{border-left:4px solid var(--ok)}.exam-insights h3{margin:0 0 .5rem;font-size:1.05rem}.exam-insights-lead{margin:0 0 .75rem;color:var(--ink-muted)}.insight-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.insight-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border-radius:10px;background:var(--bg-soft)}.insight-item span{display:block;color:var(--ink-muted);font-size:.85rem}.review-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.review-filter{border:1px solid var(--border);border-radius:999px;padding:.45rem .85rem;background:#fff;cursor:pointer;font-size:.88rem}.review-filter.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.review-empty{margin:0 0 1rem;color:var(--ink-muted)}.history-actions{margin-top:.5rem}.exam .exam-review-panel{max-width:900px;margin:0 auto}.exam-review-panel,.exam-review-panel .review-grid{max-width:100%}.options{display:grid;gap:.65rem;margin-bottom:1rem}.exam .options,.exam .fraction-answer,.exam .exam-name-chips{margin-bottom:0}.exam-answer-footer{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid var(--bg-soft)}.exam-answer-footer .btn.primary{flex:1;min-width:9rem}.exam-cancel-top{color:var(--bad);border-color:#dc262640}.exam-cancel-top:hover{background:var(--bad-soft);border-color:var(--bad)}.option{display:flex;align-items:center;gap:.75rem;padding:.85rem .95rem;border:1px solid #d6dde5;border-radius:12px;cursor:pointer;background:#fff}.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.option span{font-family:JetBrains Mono,monospace;font-size:.92rem}.feedback{margin-top:1rem;padding:.9rem 1rem;border-radius:12px}.feedback.ok{background:var(--ok-soft);color:var(--ok)}.feedback.bad{background:var(--bad-soft);color:var(--bad)}.feedback p{margin:.35rem 0 0;color:inherit}.tag{display:inline-block;margin-bottom:.75rem;padding:.25rem .55rem;border-radius:999px;background:var(--bg-soft);font-size:.78rem;font-weight:600;color:var(--ink-muted)}.progress-wrap{width:min(220px,100%);height:8px;margin-top:.75rem;border-radius:999px;background:var(--bg-soft);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),#38bdf8);transition:width .25s ease}.results{max-width:760px;margin:0 auto}.score-ring{display:grid;gap:.25rem;justify-items:center;margin:1rem 0 1.5rem;padding:1.5rem;border-radius:16px;background:linear-gradient(180deg,var(--accent-soft),white)}.score-value{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:700;line-height:1}.score-label{color:var(--ink-muted)}.review-list{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.75rem}.review-list li{display:grid;grid-template-columns:auto 1fr;gap:.85rem;padding:.9rem 1rem;border-radius:12px;background:var(--bg-soft)}.review-list li.ok{border-left:4px solid var(--ok)}.review-list li.bad{border-left:4px solid var(--bad)}.review-num{width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:999px;background:#fff;font-weight:700}.review-list p,.review-list small{margin:.2rem 0 0;color:var(--ink-muted)}.review-heading{margin:1.5rem 0 1rem;font-size:1.15rem}.review-grid{display:grid;gap:1rem;margin-bottom:1.5rem}.review-card{padding:0;overflow:hidden}.review-card.ok{border-left:4px solid var(--ok)}.review-card.bad{border-left:4px solid var(--bad)}.review-card-head{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--bg-soft);border-bottom:1px solid var(--border)}.review-card-head .tag{margin-left:.35rem}.review-status{margin-left:auto;font-weight:600;font-size:.9rem}.review-card.ok .review-status{color:var(--ok)}.review-card.bad .review-status{color:var(--bad)}.review-card-body{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:1rem;padding:1rem;align-items:start}.review-figure-wrap{display:flex;align-items:center;justify-content:center;min-height:120px;padding:.5rem;background:var(--bg-soft);border-radius:12px}.review-figure-wrap svg{max-width:100%;height:auto}.review-details p{margin:0 0 .5rem}.review-details .question-text{margin-bottom:.75rem;font-weight:500}.actions{display:flex;flex-wrap:wrap;gap:.75rem}.progress-page{max-width:820px;margin:0 auto;padding-bottom:2rem}.progress-hero{position:relative;overflow:hidden;text-align:center;padding:2rem 1.5rem 1.75rem;background:radial-gradient(circle at top,rgba(255,237,153,.45),transparent 55%),linear-gradient(180deg,#fffef8,#f0f9ff)}.progress-hero-orbit{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.progress-orbit-dot{position:absolute;font-size:1.1rem;opacity:.55;animation:progress-float 4s ease-in-out infinite}.progress-orbit-dot.d1{top:12%;left:10%}.progress-orbit-dot.d2{top:18%;right:12%;animation-delay:1s}.progress-orbit-dot.d3{bottom:16%;left:18%;animation-delay:2s}@keyframes progress-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.progress-hero-badge{position:relative;width:7.5rem;height:7.5rem;margin:0 auto 1rem;display:grid;place-items:center;border-radius:999px;border:4px solid rgba(255,255,255,.9);box-shadow:0 16px 36px #1f29331f}.progress-hero-emoji{font-size:3.5rem;line-height:1}.progress-hero-badge.tone-mint{background:linear-gradient(180deg,#ecfdf5,#bbf7d0)}.progress-hero-badge.tone-sun{background:linear-gradient(180deg,#fef9c3,#fde68a)}.progress-hero-badge.tone-sky{background:linear-gradient(180deg,#e0f2fe,#bae6fd)}.progress-hero-badge.tone-ocean{background:linear-gradient(180deg,#cffafe,#67e8f9)}.progress-hero-badge.tone-grape{background:linear-gradient(180deg,#ede9fe,#c4b5fd)}.progress-hero-badge.tone-coral{background:linear-gradient(180deg,#ffe4e6,#fda4af)}.progress-hero-badge.tone-gold{background:linear-gradient(180deg,#fef3c7,#fcd34d)}.progress-hero-badge.tone-rainbow{background:linear-gradient(135deg,#fecaca,#fde68a,#bbf7d0,#bae6fd,#ddd6fe)}.progress-hero-level{margin:0 0 .35rem;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted)}.progress-hero h2{margin:0 0 .45rem;font-size:clamp(1.7rem,4vw,2.4rem)}.progress-hero-desc{margin:0 auto 1rem;max-width:36ch;color:var(--ink-muted)}.progress-xp-meta{display:inline-flex;align-items:baseline;gap:.4rem;margin-bottom:1rem;padding:.45rem .85rem;border-radius:999px;background:#ffffffbf}.progress-xp-meta strong{font-size:1.35rem;color:var(--accent-deep)}.progress-xp-track{height:14px;border-radius:999px;background:#fffc;border:2px solid rgba(37,99,235,.12);overflow:hidden}.progress-xp-fill{height:100%;border-radius:inherit;transition:width .35s ease}.progress-xp-fill.tone-sun{background:linear-gradient(90deg,#fde68a,#f59e0b)}.progress-xp-fill.tone-sky{background:linear-gradient(90deg,#7dd3fc,#2563eb)}.progress-xp-fill.tone-ocean{background:linear-gradient(90deg,#67e8f9,#0891b2)}.progress-xp-fill.tone-grape{background:linear-gradient(90deg,#c4b5fd,#7c3aed)}.progress-xp-fill.tone-coral{background:linear-gradient(90deg,#fda4af,#e11d48)}.progress-xp-fill.tone-gold{background:linear-gradient(90deg,#fcd34d,#d97706)}.progress-xp-fill.tone-rainbow{background:linear-gradient(90deg,#f472b6,#fbbf24,#34d399,#60a5fa)}.progress-xp-next,.progress-max-note{margin:.85rem 0 0;color:var(--ink-muted);font-size:.95rem}.progress-stats,.progress-trail,.progress-footer{margin-top:1rem;padding:1.25rem}.progress-stats h2,.progress-trail-head h2,.progress-footer h2{margin:0 0 .75rem}.progress-trail-head p,.progress-footer p{margin:0;color:var(--ink-muted)}.progress-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.level-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;background:var(--bg-soft);border:2px solid transparent;transition:all .2s ease}.level-card.unlocked{background:#fff;border-color:#d6dde5}.level-card.current{border-color:var(--accent);background:var(--accent-soft)}.level-card.locked{opacity:.5;filter:grayscale(1)}.level-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.level-icon.tone-mint{background:linear-gradient(180deg,#ecfdf5,#bbf7d0)}.level-icon.tone-sun{background:linear-gradient(180deg,#fef9c3,#fde68a)}.level-icon.tone-sky{background:linear-gradient(180deg,#e0f2fe,#bae6fd)}.level-icon.tone-ocean{background:linear-gradient(180deg,#cffafe,#67e8f9)}.level-icon.tone-grape{background:linear-gradient(180deg,#ede9fe,#c4b5fd)}.level-icon.tone-coral{background:linear-gradient(180deg,#ffe4e6,#fda4af)}.level-icon.tone-gold{background:linear-gradient(180deg,#fef3c7,#fcd34d)}.level-icon.tone-rainbow{background:linear-gradient(135deg,#fef08a,#fbcfe8,#bfdbfe,#a7f3d0)}.level-info{display:flex;flex-direction:column;gap:.15rem}.level-info strong{font-size:.95rem;color:var(--ink)}.level-info span{font-size:.8rem;color:var(--ink-muted);font-family:JetBrains Mono,monospace}.progress-stat{display:grid;gap:.15rem;padding:.85rem;border-radius:16px;background:var(--bg-soft);text-align:center}.progress-stat-icon,.progress-stat strong{font-size:1.35rem}.progress-stat span{font-size:.82rem;color:var(--ink-muted)}.progress-stats-note{margin:1rem 0 0;color:var(--ink-muted)}.progress-path{display:grid;gap:0;margin-top:1.25rem}.progress-step{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}.progress-step.right{grid-template-columns:1fr auto}.progress-step.right .progress-node{order:2}.progress-step.right .progress-node-card{order:1;text-align:right}.progress-node{position:relative;width:4.5rem;height:4.5rem;display:grid;place-items:center;border-radius:999px;border:3px solid white;box-shadow:0 10px 24px #1f29331a}.progress-node-icon{font-size:2rem;line-height:1}.progress-node.tone-mint{background:#d1fae5}.progress-node.tone-sun{background:#fef08a}.progress-node.tone-sky{background:#bae6fd}.progress-node.tone-ocean{background:#a5f3fc}.progress-node.tone-grape{background:#ddd6fe}.progress-node.tone-coral{background:#fecdd3}.progress-node.tone-gold{background:#fde68a}.progress-node.tone-rainbow{background:linear-gradient(135deg,#fecaca,#fde68a,#bbf7d0,#bae6fd)}.progress-node.locked{filter:grayscale(.85);opacity:.72}.progress-node.current{transform:scale(1.08);box-shadow:0 0 0 4px #2563eb2e,0 14px 28px #1f293324}.progress-node-pulse{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:inherit;border:2px dashed rgba(37,99,235,.35);animation:progress-pulse 2s ease-in-out infinite}@keyframes progress-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.55}}.progress-node-lock{position:absolute;bottom:-.2rem;right:-.2rem;font-size:.95rem}.progress-node-card{padding:.9rem 1rem;border-radius:16px;background:#fff;border:2px solid var(--bg-soft)}.progress-node-card.current{border-color:#2563eb59;background:linear-gradient(180deg,#fff,#eff6ff)}.progress-node-card.unlocked{border-color:#05966940}.progress-node-card.locked{opacity:.78}.progress-node-xp{display:inline-block;margin-bottom:.25rem;font-size:.75rem;font-weight:700;color:var(--ink-muted)}.progress-node-card strong{display:block;margin-bottom:.2rem}.progress-node-card p{margin:0 0 .55rem;color:var(--ink-muted);font-size:.92rem}.progress-node-tag{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.progress-node-tag.ok{background:var(--ok-soft);color:var(--ok)}.progress-node-tag.current{background:var(--accent-soft);color:var(--accent-deep)}.progress-node-tag.locked{background:var(--bg-soft);color:var(--ink-muted)}.progress-connector{width:4px;height:1.35rem;margin-left:2.15rem;border-radius:999px;background:#d6dde5}.progress-connector.right{margin-left:auto;margin-right:2.15rem}.progress-connector.active{background:linear-gradient(180deg,#34d399,#2563eb)}.progress-footer{text-align:center}.progress-footer-art{font-size:1.5rem;letter-spacing:.35rem;margin-bottom:.75rem}.progress-footer-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:1rem}@media (max-width: 820px){.practice-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch}.nav{justify-content:center}.hero-stats{grid-template-columns:1fr}.section-item{flex-direction:column;align-items:stretch}.section-item .btn{width:100%}.formula-card{grid-template-columns:1fr}.formula-card-index{justify-self:start}.study-toolbar{flex-direction:column;align-items:stretch}.study-toolbar-actions{width:100%}.study-toolbar-actions .btn{flex:1}.exam-setup-grid,.review-card-body,.level-picker,.fraction-grid{grid-template-columns:1fr}.exam-header-actions{width:100%;justify-items:stretch}.progress-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-step,.progress-step.right{grid-template-columns:auto 1fr}.progress-step.right .progress-node,.progress-step.right .progress-node-card{order:initial;text-align:left}.progress-connector,.progress-connector.right{margin-left:2.15rem;margin-right:0}.classify-highlight{grid-template-columns:1fr}.lang-switch{width:100%;justify-content:center}.home-hero-inner{padding-right:0}}@media (max-width: 520px){.practice-header,.exam-header{flex-direction:column}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out forwards}.modal-dialog{background:#fff;padding:1.75rem;border-radius:16px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 10px 40px #00000026;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275) forwards}.modal-message{margin:0;font-size:1.15rem;color:var(--ink);line-height:1.5;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.card{transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-2px)}.btn{transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease}.btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--pink));box-shadow:0 8px 18px #6366f159;color:#fff;border:0}.btn.primary:hover:not(:disabled){box-shadow:0 12px 24px #ec489966}.brand-icon{background:linear-gradient(135deg,var(--accent),var(--pink));animation:brandPulse 4s ease-in-out infinite}@keyframes brandPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.reward-hud{display:inline-flex;align-items:center;gap:.4rem;background:var(--card);padding:.45rem .85rem;border-radius:999px;box-shadow:var(--shadow);font-weight:700;color:var(--ink);font-size:.92rem}.reward-hud-group{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.reward-hud .icon{font-size:1.1rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}.reward-hud.coins{background:linear-gradient(135deg,#fff7d6,#fef3c7);color:#b45309}.reward-hud.streak{background:linear-gradient(135deg,#ffe4e6,#fce7f3);color:#be185d}.reward-hud.level{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b21b6}.reward-toast-wrap{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.reward-toast{pointer-events:auto;background:var(--card);border-radius:var(--radius);padding:.7rem 1rem;box-shadow:var(--shadow-pop);display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--ink);min-width:180px;animation:toastIn .35s cubic-bezier(.34,1.56,.64,1),toastOut .4s ease 2.6s forwards;border:2px solid var(--accent-soft)}.reward-toast.coin{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e}.reward-toast.streak{border-color:#fbcfe8;background:linear-gradient(135deg,#fdf2f8,#fce7f3);color:#9d174d}.reward-toast.level{border-color:#c4b5fd;background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#5b21b6}.reward-toast.badge{border-color:#6ee7b7;background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46}.reward-toast .icon{font-size:1.4rem}@keyframes toastIn{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastOut{to{transform:translate(120%);opacity:0}}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:9998}.confetti-piece{position:absolute;width:10px;height:16px;border-radius:2px;top:-20px;animation:confettiFall 1.6s cubic-bezier(.55,0,.45,1) forwards}@keyframes confettiFall{0%{transform:translateY(-50px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:1}}.daily-mission-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:1.4rem 1.4rem 1.4rem 1.6rem;background:linear-gradient(135deg,#fef3c7,#fde68a 60%,#fbbf24);color:#78350f;box-shadow:var(--shadow-pop)}.daily-mission-card .ribbon{position:absolute;top:14px;right:-38px;transform:rotate(35deg);background:var(--pink);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.06em;padding:.35rem 3rem;box-shadow:0 4px 10px #ec489966}.daily-mission-card h2{margin:0 0 .25rem;font-family:Fraunces,serif;font-size:1.5rem}.daily-mission-card p{margin:0 0 1rem;color:#92400e;font-weight:500}.daily-mission-progress{height:12px;background:#78350f2e;border-radius:999px;overflow:hidden;margin:.6rem 0 .8rem}.daily-mission-fill{height:100%;background:linear-gradient(90deg,#b45309,#d97706,#f59e0b);border-radius:999px;transition:width .5s ease}.daily-mission-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.daily-mission-reward{display:inline-flex;align-items:center;gap:.35rem;background:#ffffff8c;padding:.35rem .7rem;border-radius:999px;font-weight:800;color:#92400e}.daily-mission-card.done{background:linear-gradient(135deg,#d1fae5,#a7f3d0 60%,#34d399);color:#065f46}.daily-mission-card.done p{color:#047857}.daily-mission-card.done .daily-mission-fill{background:#047857}.mini-games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1.5rem 0}.mini-game-card{position:relative;border-radius:var(--radius-lg);padding:1.4rem;color:#fff;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:.4rem;border:0;text-align:left;font:inherit;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;box-shadow:0 12px 30px #0000001f}.mini-game-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 36px #0000002e}.mini-game-card.speed{background:linear-gradient(135deg,#ec4899,#ef4444)}.mini-game-card.memory{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.mini-game-card.adventure{background:linear-gradient(135deg,#10b981,#06b6d4)}.mini-game-card.daily{background:linear-gradient(135deg,#f59e0b,#ef4444)}.mini-game-emoji{font-size:2.4rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.mini-game-card h3{margin:0;font-family:Fraunces,serif;font-size:1.4rem}.mini-game-card p{margin:0;font-size:.92rem;opacity:.95}.mini-game-card:after{content:"→";position:absolute;bottom:14px;right:18px;font-size:1.4rem;font-weight:700;opacity:.85;transition:transform .2s}.mini-game-card:hover:after{transform:translate(4px)}.speed-page{max-width:720px;margin:0 auto}.speed-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem}.speed-hud-item{background:var(--card);border-radius:var(--radius);padding:.9rem;text-align:center;box-shadow:var(--shadow)}.speed-hud-item strong{display:block;font-size:1.8rem;font-family:Fraunces,serif;color:var(--accent-deep)}.speed-hud-item.time strong{color:#ef4444}.speed-hud-item.score strong{color:#10b981}.speed-hud-item.streak strong{color:#ec4899}.speed-hud-item span{font-size:.85rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.speed-question-card{background:linear-gradient(135deg,#ede9fe,#fce7f3);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;margin-bottom:1rem;box-shadow:var(--shadow-pop);position:relative;overflow:hidden}.speed-question-card.flash-ok{animation:flashOk .4s ease}.speed-question-card.flash-bad{animation:flashBad .4s ease}@keyframes flashOk{0%{background:linear-gradient(135deg,#ede9fe,#fce7f3)}40%{background:linear-gradient(135deg,#a7f3d0,#6ee7b7);transform:scale(1.02)}to{background:linear-gradient(135deg,#ede9fe,#fce7f3);transform:scale(1)}}@keyframes flashBad{0%{background:linear-gradient(135deg,#ede9fe,#fce7f3)}40%{background:linear-gradient(135deg,#fecaca,#fca5a5);transform:scale(.98)}to{background:linear-gradient(135deg,#ede9fe,#fce7f3);transform:scale(1)}}.speed-question{font-family:Fraunces,serif;font-size:3rem;font-weight:700;color:var(--accent-deep);margin:0;letter-spacing:.05em}.speed-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.speed-option-btn{background:var(--card);border:3px solid var(--accent-soft);border-radius:var(--radius);padding:1.25rem;font-family:Fraunces,serif;font-size:1.6rem;font-weight:700;color:var(--ink);cursor:pointer;transition:transform .15s,border-color .15s,background .15s;box-shadow:var(--shadow)}.speed-option-btn:hover{transform:translateY(-3px) scale(1.03);border-color:var(--accent);background:var(--accent-soft)}.speed-option-btn.ok{background:linear-gradient(135deg,#6ee7b7,#34d399);border-color:#10b981;color:#fff}.speed-option-btn.bad{background:linear-gradient(135deg,#fca5a5,#f87171);border-color:#ef4444;color:#fff}.speed-timer-bar{height:14px;background:#6366f126;border-radius:999px;overflow:hidden;margin-bottom:1rem}.speed-timer-fill{height:100%;background:linear-gradient(90deg,#10b981,#f59e0b 60%,#ef4444);border-radius:999px;transition:width 1s linear}.speed-intro,.speed-result{text-align:center;background:var(--card);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;box-shadow:var(--shadow-pop)}.speed-intro h1,.speed-result h1{font-family:Fraunces,serif;margin:0 0 .5rem;font-size:2rem;color:var(--accent-deep)}.speed-intro .mascot,.speed-result .mascot{font-size:4.5rem;margin-bottom:.5rem;animation:floatY 3s ease-in-out infinite}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.speed-mode-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin:1rem 0 1.5rem}.speed-mode-pick{border:3px solid var(--accent-soft);background:var(--card);border-radius:var(--radius);padding:.9rem .5rem;cursor:pointer;font-weight:700;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:transform .15s,border-color .15s,background .15s}.speed-mode-pick:hover{transform:translateY(-2px);border-color:var(--accent)}.speed-mode-pick.active{background:linear-gradient(135deg,var(--accent),var(--pink));border-color:transparent;color:#fff;box-shadow:var(--shadow-pop)}.speed-mode-pick .em{font-size:1.6rem}.speed-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0}.speed-result-stats div{background:var(--bg-soft);border-radius:var(--radius);padding:.9rem .4rem}.speed-result-stats strong{display:block;font-size:1.6rem;color:var(--accent-deep);font-family:Fraunces,serif}.speed-result-stats span{font-size:.78rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.memory-page{max-width:760px;margin:0 auto}.memory-hud{display:flex;justify-content:center;gap:.8rem;margin-bottom:1rem;flex-wrap:wrap}.memory-grid{display:grid;gap:.7rem;margin:0 auto 1rem;perspective:1000px}.memory-grid.cols-4{grid-template-columns:repeat(4,1fr);max-width:560px}.memory-grid.cols-3{grid-template-columns:repeat(3,1fr);max-width:420px}.memory-card{aspect-ratio:3/4;position:relative;cursor:pointer;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.6,.05,.2,1)}.memory-card.flipped,.memory-card.matched{transform:rotateY(180deg)}.memory-card.matched{animation:matchedGlow .6s ease}@keyframes matchedGlow{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.08);filter:brightness(1.15)}to{transform:rotateY(180deg) scale(1)}}.memory-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;text-align:center;padding:.5rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:var(--shadow);font-weight:700}.memory-back{background:linear-gradient(135deg,var(--accent),var(--pink));color:#fff;font-size:2rem;font-family:Fraunces,serif}.memory-back:before{content:"?"}.memory-front{background:var(--card);border:3px solid var(--accent-soft);transform:rotateY(180deg);flex-direction:column;gap:.3rem;font-size:1rem;color:var(--ink)}.memory-card.matched .memory-front{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.memory-front svg{max-width:70%;max-height:70%}.memory-front .label{font-family:Fraunces,serif;font-size:.95rem}.memory-front .formula{font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700;color:var(--accent-deep)}.fun-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;margin:1.25rem 0 1.5rem}.fun-stat-tile{background:var(--card);border-radius:var(--radius);padding:.85rem;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.fun-stat-tile .emoji{font-size:1.7rem;display:block}.fun-stat-tile strong{display:block;font-family:Fraunces,serif;font-size:1.6rem;color:var(--accent-deep)}.fun-stat-tile span{font-size:.78rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.fun-stat-tile.coins{background:linear-gradient(135deg,#fff7d6,#fef3c7)}.fun-stat-tile.coins strong{color:#b45309}.fun-stat-tile.streak{background:linear-gradient(135deg,#ffe4e6,#fce7f3)}.fun-stat-tile.streak strong{color:#be185d}.fun-stat-tile.xp{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.fun-stat-tile.xp strong{color:#5b21b6}.fun-stat-tile.best{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.fun-stat-tile.best strong{color:#047857}.section-head h2,.page-header h1{font-family:Fraunces,serif}.section-group{border-radius:var(--radius-lg)!important}.section-group-icon{background:linear-gradient(135deg,var(--accent-soft),var(--pink-soft))}.lang-switch:before{content:"🌐";margin-left:.5rem;margin-right:.25rem;font-size:.95rem}.topbar-extras{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}@media (max-width: 740px){.topbar{flex-direction:column;align-items:stretch;gap:.6rem}.speed-question{font-size:2.4rem}.speed-options{grid-template-columns:1fr 1fr}.memory-grid.cols-4{gap:.5rem}.speed-hud-item strong{font-size:1.4rem}}.feedback{animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}.feedback.ok strong{animation:bounceIn .5s ease}@keyframes bounceIn{0%{transform:scale(.5)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.tip-bubble{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;padding:.8rem 1rem;border-radius:18px;border:2px dashed #f59e0b;font-weight:600;margin:1rem 0;display:flex;gap:.6rem;align-items:center}.tip-bubble .tip-emoji{font-size:1.5rem}.mini-game-card.areas{background:linear-gradient(135deg,#06b6d4,#0ea5e9)}.mini-game-card.race{background:linear-gradient(135deg,#f59e0b,#ef4444)}.mini-game-card.pizza{background:linear-gradient(135deg,#fb923c,#f43f5e)}.areas-game-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.areas-figure-card{background:linear-gradient(135deg,#ede9fe,#fce7f3);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;box-shadow:var(--shadow-pop)}.areas-figure-prompt{margin:0;font-weight:700;color:var(--accent-deep);font-family:Fraunces,serif;font-size:1.15rem}.areas-figure-svg{width:100%;max-width:280px}.areas-figure-svg svg{width:100%;height:auto}.areas-params{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin:0;padding:0}.areas-params div{background:#ffffffb3;padding:.35rem .7rem;border-radius:999px;display:inline-flex;gap:.3rem;align-items:center;font-weight:700;font-size:.9rem}.areas-params dt{margin:0;color:var(--ink-muted);font-weight:600;text-transform:capitalize}.areas-params dd{margin:0;color:var(--accent-deep)}.areas-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;align-content:start}.areas-option-btn{background:var(--card);border:3px solid var(--accent-soft);border-radius:var(--radius);padding:1.1rem .6rem;font:inherit;color:var(--ink);cursor:pointer;transition:transform .15s,border-color .15s,background .15s;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:.2rem}.areas-option-btn:hover{transform:translateY(-3px) scale(1.03);border-color:var(--accent);background:var(--accent-soft)}.areas-option-btn .opt-val{font-family:Fraunces,serif;font-size:1.5rem;font-weight:700;color:var(--accent-deep)}.areas-option-btn .opt-unit{font-size:.78rem;color:var(--ink-muted);text-transform:uppercase;font-weight:600}.areas-option-btn.ok{background:linear-gradient(135deg,#6ee7b7,#34d399);border-color:#10b981}.areas-option-btn.ok .opt-val,.areas-option-btn.ok .opt-unit{color:#fff}.areas-option-btn.bad{background:linear-gradient(135deg,#fca5a5,#f87171);border-color:#ef4444}.areas-option-btn.bad .opt-val,.areas-option-btn.bad .opt-unit{color:#fff}@media (max-width: 740px){.areas-game-grid{grid-template-columns:1fr}.areas-options{grid-template-columns:1fr 1fr}}.pizza-page{max-width:880px;margin:0 auto}.pizza-question-card{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:3px dashed #fb923c;border-radius:var(--radius-lg);padding:1.4rem 1rem;text-align:center;margin-bottom:1rem;box-shadow:var(--shadow-pop)}.pizza-prompt{margin:0 0 1rem;font-family:Fraunces,serif;font-size:1.25rem;color:#9a3412;font-weight:700}.pizza-expression{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.pizza-piece{display:flex;flex-direction:column;align-items:center;gap:.25rem;max-width:240px}.pizza-piece svg{display:block;filter:drop-shadow(0 6px 10px rgba(180,83,9,.15));animation:floatY 4s ease-in-out infinite}.pizza-piece:nth-child(3) svg{animation-delay:-1s}.pizza-label{background:#ffffffd9;padding:.25rem .7rem;border-radius:999px;font-family:JetBrains Mono,monospace;font-weight:700;color:#9a3412;font-size:1rem;border:2px solid #fb923c}.pizza-op{font-family:Fraunces,serif;font-size:2.4rem;font-weight:700;color:#c2410c;padding:0 .4rem}.pizza-mystery .pizza-mystery-shape{width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at center,rgba(251,146,60,.15),transparent 70%),repeating-conic-gradient(#fde68a,#fde68a 30deg,#fef3c7 30deg,#fef3c7 60deg);border:3px dashed #fb923c;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:3rem;color:#9a3412;font-weight:700;animation:brandPulse 2s ease-in-out infinite}.pizza-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.pizza-option{background:var(--card);border:3px solid var(--accent-soft);border-radius:var(--radius-lg);padding:1rem .6rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .15s,background .15s;box-shadow:var(--shadow)}.pizza-option:hover{transform:translateY(-4px) scale(1.03);border-color:var(--pink);background:var(--pink-soft)}.pizza-option svg{max-width:110px}.pizza-option.ok{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;animation:matchedGlow .5s ease}.pizza-option.bad{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}@media (max-width: 740px){.pizza-options{grid-template-columns:1fr 1fr}.pizza-op{font-size:1.8rem}.pizza-prompt{font-size:1rem}.pizza-mystery .pizza-mystery-shape{width:80px;height:80px;font-size:2rem}}.study-conversions-page{max-width:1100px;margin:0 auto}.conv-rule-card{border-radius:var(--radius-lg);padding:1.5rem;background:linear-gradient(135deg,#f5f3ff,#fce7f3);border:2px solid var(--accent-soft);margin-bottom:1.5rem}.conv-rule-head{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem}.conv-rule-head h2{margin:0 0 .25rem;font-family:Fraunces,serif;color:var(--accent-deep)}.conv-rule-head p{margin:0;color:var(--ink-muted)}.conv-rule-icon{font-size:2.2rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}.conv-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.5rem}.conv-rule-tile{background:var(--card);border-radius:var(--radius);padding:1rem;text-align:center;box-shadow:var(--shadow);border:3px solid transparent}.conv-rule-tile.down{border-color:#fda4af;background:linear-gradient(135deg,#fff7ed,#fed7aa)}.conv-rule-tile.up{border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#bfdbfe)}.conv-rule-tile .big{font-size:2rem;display:block}.conv-rule-tile strong{display:block;font-family:Fraunces,serif;font-size:1.15rem;margin:.3rem 0;color:var(--ink)}.conv-rule-tile p{margin:0 0 .5rem;font-size:.92rem;color:var(--ink-muted)}.conv-rule-tile code{font-family:JetBrains Mono,monospace;background:#ffffffd9;padding:.3rem .6rem;border-radius:999px;font-weight:700;font-size:.85rem;color:var(--accent-deep)}.conv-rule-trick{margin-top:1rem;background:#ffffffb3;padding:.9rem 1rem;border-radius:var(--radius);border-left:4px solid var(--pink)}.conv-rule-trick strong{display:block;font-family:Fraunces,serif;margin-bottom:.25rem;color:var(--accent-deep)}.conv-rule-trick p{margin:0;font-size:.93rem;color:var(--ink)}.conv-magnitudes-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-bottom:1.5rem}@media (min-width: 980px){.conv-magnitudes-grid{grid-template-columns:repeat(3,1fr)}}.conv-magnitude{border-radius:var(--radius-lg);padding:1.25rem;overflow:hidden;background:var(--card)}.conv-magnitude.tone-geometry{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.conv-magnitude.tone-divide{background:linear-gradient(135deg,#ecfeff,#cffafe)}.conv-magnitude.tone-fractions{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.conv-magnitude-head{display:flex;gap:.8rem;margin-bottom:1rem;align-items:flex-start}.conv-magnitude-icon{font-size:2.2rem;background:var(--card);width:56px;height:56px;border-radius:18px;display:grid;place-items:center;flex-shrink:0;box-shadow:var(--shadow)}.conv-magnitude-eyebrow{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:700}.conv-magnitude h2{margin:0;font-family:Fraunces,serif;font-size:1.25rem}.conv-magnitude-desc{margin:.25rem 0 0;font-size:.9rem;color:var(--ink)}.conv-ladder{background:var(--card);border-radius:var(--radius);padding:.9rem;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;gap:.2rem;margin-bottom:.8rem;box-shadow:inset 0 0 0 1px #0000000a}.ladder-step{background:linear-gradient(135deg,var(--accent),var(--pink));color:#fff;padding:.42rem .7rem;border-radius:12px;font-weight:700;font-size:.88rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;box-shadow:0 3px 6px #6366f12e;width:auto;margin-left:calc(var(--step, 0) * 5.5%);transform:none}.ladder-step.unit{background:linear-gradient(135deg,#f59e0b,#ef4444);font-size:.95rem;padding:.55rem .7rem;box-shadow:0 6px 12px #ef444447;transform:none}.ladder-jump{display:flex;align-items:center;gap:.5rem;margin-left:calc((var(--step, 0) + .5) * 5.5%);padding-left:.55rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;line-height:1}.ladder-jump-down{color:#c2410c}.ladder-jump-up{color:var(--accent-deep)}.ladder-step-name{text-transform:lowercase}.ladder-step-unit{font-family:JetBrains Mono,monospace;background:#ffffff40;padding:.15rem .5rem;border-radius:999px;font-size:.78rem}.conv-arrows{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.conv-arrow{background:var(--card);padding:.55rem .7rem;border-radius:var(--radius);font-size:.85rem;text-align:center;box-shadow:var(--shadow)}.conv-arrow.down{color:#b45309}.conv-arrow.up{color:#1e40af}.conv-examples-title{margin:1rem 0 .5rem;font-family:Fraunces,serif;font-size:1.05rem;color:var(--ink)}.conv-examples{display:flex;flex-direction:column;gap:.6rem}.conv-example{background:var(--card);border-radius:var(--radius);padding:.8rem 1rem;box-shadow:var(--shadow);border-left:4px solid var(--accent)}.conv-example-q{margin:0;font-family:JetBrains Mono,monospace;font-weight:700;color:var(--accent-deep);font-size:1rem}.conv-example-jumps{margin:.25rem 0;font-size:.85rem;color:var(--ink-muted)}.conv-example-a{margin:.25rem 0;font-size:1rem}.conv-example-a span{color:var(--ink-muted);font-weight:700;margin-right:.25rem}.conv-example-a strong{font-family:JetBrains Mono,monospace;color:var(--ok);font-size:1.05rem}.conv-example-tip{margin:.4rem 0 0;font-size:.82rem;color:var(--ink);font-style:italic;background:var(--bg-soft);padding:.4rem .6rem;border-radius:10px}.conv-comparison{border-radius:var(--radius-lg);padding:1.5rem;background:linear-gradient(135deg,#ecfeff,#f0fdf4)}.conv-comparison h2{margin:0 0 .25rem;font-family:Fraunces,serif}.conv-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-top:1rem}.conv-compare-grid>div{background:var(--card);padding:.9rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:.2rem}.conv-compare-grid>div span{font-size:1.8rem}.conv-compare-grid>div strong{font-family:Fraunces,serif;font-size:1.15rem;color:var(--accent-deep)}.conv-compare-grid>div small{color:var(--ink-muted);font-weight:600}.conv-compare-grid>div em{margin-top:.3rem;font-style:normal;font-size:.82rem;color:var(--ink);background:var(--bg-soft);padding:.25rem .6rem;border-radius:999px}.hero-animated{overflow:hidden}.math-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.hero-grid-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(circle at 50% 40%,rgba(0,0,0,.9),transparent 72%);-webkit-mask-image:radial-gradient(circle at 50% 40%,rgba(0,0,0,.9),transparent 72%);animation:gridDrift 22s linear infinite}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:56px 56px,56px 56px}}.orbit-spin{transform-origin:980px 120px;animation:spinSlow 26s linear infinite}.orbit-spin-slow{transform-origin:915px 415px;animation:spinSlow 40s linear infinite reverse}.orbit-drift{transform-origin:220px 400px;animation:driftShape 9s ease-in-out infinite}.wave-dash{stroke-dasharray:14 10;animation:dashFlow 6s linear infinite}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes driftShape{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(8deg)}}@keyframes dashFlow{to{stroke-dashoffset:-120}}.hero-live{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;margin:1.6rem auto 0;max-width:640px}.live-board{flex:1 1 300px;min-width:260px;min-height:132px;padding:1rem 1.15rem;border-radius:18px;background:#0f172a59;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:left;font-family:JetBrains Mono,monospace;box-shadow:inset 0 1px #ffffff1a}.live-board-line{font-size:1.35rem;font-weight:600;color:#fff;min-height:1.6em;letter-spacing:.02em;transition:color .3s ease}.live-board-line.typing:after{content:"▌";color:#a5b4fc;animation:caretBlink .9s steps(1) infinite}.live-board-line.solved{color:#86efac}@keyframes caretBlink{50%{opacity:0}}.live-board-steps{display:flex;flex-direction:column;gap:.2rem;margin-top:.5rem}.live-board-step{font-size:.95rem;color:#ede9feb8;opacity:0;transform:translate(-8px);transition:opacity .35s ease,transform .35s ease}.live-board-step.visible{opacity:1;transform:translate(0)}.live-board-step.final{color:#6ee7b7;font-weight:700;font-size:1.05rem}.hero-morph{position:relative;width:150px;height:168px;display:grid;place-items:center}.shape-morph-svg{width:140px;height:140px;overflow:visible}.shape-morph-orbit{fill:none;stroke:#ffffff29;stroke-width:1;stroke-dasharray:5 7;animation:spinSlow 30s linear infinite;transform-origin:center}.shape-morph-poly{fill:#a5b4fc29;stroke:#c7d2fe;stroke-width:2.5;stroke-linejoin:round;filter:drop-shadow(0 0 12px rgba(165,180,252,.45))}.shape-morph-label{position:absolute;bottom:0;font-family:JetBrains Mono,monospace;font-size:.8rem;color:#ede9fee6;background:#0f172a59;border-radius:999px;padding:.2rem .7rem;white-space:nowrap}.shape-morph-label.flash{animation:labelPop .5s ease}@keyframes labelPop{0%{transform:scale(.85);opacity:.2}60%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1}}.hero-stats .stat strong{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.hero-grid-lines,.orbit-spin,.orbit-spin-slow,.orbit-drift,.wave-dash,.shape-morph-orbit,.formula-float{animation:none}}.stage-list{display:grid;gap:1.5rem}.stage-block{padding:1.5rem;border-top:5px solid var(--accent)}.stage-block.tone-multiply{border-top-color:var(--tone-multiply)}.stage-block.tone-geometry{border-top-color:var(--tone-geometry)}.stage-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.stage-head h2{margin:.1rem 0 .35rem;font-family:Fraunces,serif}.stage-head p{margin:0;color:var(--ink-muted)}.stage-icon{font-size:2rem;width:62px;height:62px;flex:0 0 62px;display:grid;place-items:center;border-radius:18px;background:var(--bg-soft)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.course-card{display:flex;flex-direction:column;gap:.5rem;padding:1.15rem;border-radius:18px;background:var(--bg-soft);border:1px solid rgba(99,102,241,.16);transition:transform .2s ease,box-shadow .2s ease}.course-card:not(.locked):hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}.course-card.tone-multiply{background:var(--tone-multiply-bg);border-color:#10b98133}.course-card.tone-geometry{background:var(--tone-geometry-bg);border-color:#6366f133}.course-card.locked{opacity:.72;background:#f8fafc;border-style:dashed}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.course-card-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--accent-deep)}.course-card-lock{font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:var(--warn-soft);color:#92400e}.course-card h3{margin:0;font-family:Fraunces,serif;font-size:1.2rem}.course-card p{margin:0;color:var(--ink-muted);font-size:.9rem;flex:1}.course-card-meta,.course-card-note{font-size:.78rem;color:var(--ink-muted);margin:0}.course-card-note{font-style:italic}.course-card .btn{margin-top:.35rem}.course-header .btn{margin-top:.75rem}.course-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0 0 1.5rem}.course-tab{display:grid;justify-items:center;gap:.15rem;padding:.9rem .6rem;border:2px solid transparent;border-radius:16px;background:var(--card);box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.course-tab:hover{transform:translateY(-2px)}.course-tab strong{font-size:1rem}.course-tab small{font-size:.75rem;color:var(--ink-muted);background:var(--bg-soft);border-radius:999px;padding:.05rem .5rem}.course-tab-icon{font-size:1.3rem}.course-tab.active{border-color:var(--accent);background:var(--accent-soft)}.course-panel{display:none;animation:fadeIn .3s ease}.course-panel.active{display:block}.course-panel-head{margin-bottom:1rem}.course-panel-head h2{margin:0 0 .2rem;font-family:Fraunces,serif}.course-panel-head p{margin:0;color:var(--ink-muted)}.course-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}.course-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:.6rem .8rem;padding:1rem;border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.course-item .btn{grid-column:1 / -1;justify-self:start}.course-item-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.course-item-body{flex:1;min-width:0}.course-item-body h3{margin:0 0 .2rem;font-size:1rem}.course-item-body p{margin:0 0 .35rem;font-size:.85rem;color:var(--ink-muted)}.course-exam{display:flex;align-items:center;gap:1rem;padding:1.2rem;margin-bottom:1.1rem;flex-wrap:wrap;border-left:5px solid var(--warn)}.course-exam-icon{font-size:2rem}.course-exam-body{flex:1 1 240px}.course-exam-body h3{margin:0 0 .2rem;font-family:Fraunces,serif}.course-exam-body p{margin:0;color:var(--ink-muted);font-size:.9rem}.course-exam-actions{display:flex;gap:.5rem;flex-wrap:wrap}.course-empty{padding:2.5rem;text-align:center;display:grid;gap:1rem;justify-items:center}.course-empty-icon{font-size:3rem}.home-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.home-course-card{padding:1.3rem;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);border-top:5px solid var(--accent)}.home-course-card.tone-multiply{border-top-color:var(--tone-multiply)}.home-course-card.tone-geometry{border-top-color:var(--tone-geometry)}.home-course-icon{font-size:1.8rem}.home-course-card h3{margin:.4rem 0 .2rem;font-family:Fraunces,serif}.home-course-card>p{margin:0 0 .8rem;color:var(--ink-muted);font-size:.9rem}.home-course-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.home-course-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .7rem;border-radius:12px;background:var(--bg-soft);font-size:.9rem;font-weight:600}.home-course-list li.locked{background:#f8fafc;color:var(--ink-muted);font-weight:500}.home-course-list li em{font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#92400e;background:var(--warn-soft);border-radius:999px;padding:.15rem .5rem}.lesson-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start}.lesson-toc{padding:1.2rem;position:sticky;top:1rem}.lesson-toc h2{margin:0 0 .2rem;font-family:Fraunces,serif;font-size:1.15rem}.lesson-toc-hint{margin:0 0 .8rem;font-size:.8rem;color:var(--ink-muted)}.lesson-toc-list{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.3rem;counter-reset:none}.lesson-toc-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:0;border-radius:12px;background:transparent;cursor:pointer;text-align:left;transition:background .15s ease,transform .15s ease}.lesson-toc-item:hover{background:var(--bg-soft);transform:translate(2px)}.lesson-toc-item.active{background:var(--accent-soft)}.lesson-toc-index{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--card);box-shadow:0 1px 3px #0f172a1f;font-size:.8rem;font-weight:700;color:var(--accent-deep)}.lesson-toc-item.active .lesson-toc-index{background:var(--accent);color:#fff}.lesson-toc-text{display:grid;min-width:0}.lesson-toc-text strong{font-size:.9rem}.lesson-toc-text small{font-size:.72rem;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-toc-back{width:100%}.lesson-panel{display:none}.lesson-panel.active{display:block;animation:fadeIn .3s ease}.lesson-card{padding:1.6rem;margin-bottom:1.25rem}.lesson-head{display:flex;gap:1rem;align-items:center;margin-bottom:.9rem}.lesson-badge{flex:0 0 56px;width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:var(--tone-fractions-soft);color:#92400e;font-size:1.5rem;font-weight:700}.lesson-counter{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-weight:700}.lesson-head h2{margin:.1rem 0 0;font-family:Fraunces,serif;font-size:1.5rem;line-height:1.2}.lesson-intro{margin:0 0 1rem;font-size:1.02rem;color:var(--ink)}.lesson-rule{position:relative;padding:1.1rem 1.1rem 1rem;border-radius:16px;background:var(--accent-soft);border-left:5px solid var(--accent);margin-bottom:1.2rem}.lesson-rule p{margin:0}.lesson-rule-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.35rem}.lesson-formula{display:block;margin-top:.7rem;padding:.6rem .8rem;border-radius:10px;background:#ffffffbf;font-family:JetBrains Mono,monospace;font-size:.95rem;color:var(--accent-deep);overflow-x:auto}.lesson-block{margin-bottom:1.3rem}.lesson-block-title{display:flex;align-items:center;gap:.45rem;margin:0 0 .6rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.lesson-block-icon{font-size:1.05rem}.lesson-steps{margin:0;padding-left:0;list-style:none;counter-reset:lesson-step;display:grid;gap:.5rem}.lesson-steps li{counter-increment:lesson-step;position:relative;padding:.65rem .9rem .65rem 2.6rem;border-radius:12px;background:var(--bg-soft);line-height:1.45}.lesson-steps li:before{content:counter(lesson-step);position:absolute;left:.7rem;top:.6rem;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700}.lesson-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}.lesson-example{border-radius:16px;border:1px solid rgba(99,102,241,.18);background:#fff;overflow:hidden}.lesson-example-head{padding:.6rem .9rem;background:var(--tone-formulas-bg);border-bottom:1px solid rgba(168,85,247,.18)}.lesson-example-head code{font-family:JetBrains Mono,monospace;font-weight:600;color:#6b21a8}.lesson-example-steps{margin:0;padding:.7rem .9rem .7rem 2rem;display:grid;gap:.3rem;font-size:.88rem;color:var(--ink)}.lesson-example-result{margin:0;padding:.6rem .9rem;background:var(--ok-soft);color:#065f46;font-weight:700;display:flex;gap:.45rem;align-items:baseline;font-size:.92rem}.lesson-example-result span{font-family:JetBrains Mono,monospace;opacity:.6}.lesson-terms{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}.lesson-terms>div{padding:.7rem .9rem;border-radius:12px;background:var(--bg-soft)}.lesson-terms dt{font-weight:700;margin-bottom:.15rem}.lesson-terms dd{margin:0;font-size:.85rem;color:var(--ink-muted)}.lesson-notes{display:grid;gap:.7rem;margin-bottom:1.2rem}.lesson-note{padding:.85rem 1rem;border-radius:14px;border-left:5px solid}.lesson-note strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.25rem}.lesson-note p{margin:0;font-size:.92rem}.lesson-note.tip{background:var(--tone-divide-bg);border-color:var(--tone-divide);color:#0e7490}.lesson-note.tip p{color:var(--ink)}.lesson-note.warn{background:var(--bad-soft);border-color:var(--bad);color:#b91c1c}.lesson-note.warn p{color:var(--ink)}.lesson-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;border-top:1px solid rgba(99,102,241,.14);padding-top:1rem}.lesson-pager{display:flex;gap:.4rem}.lesson-pager .btn[disabled]{opacity:.4;cursor:default;transform:none}.lesson-visual{display:grid;gap:.75rem;padding:1rem;border-radius:16px;background:linear-gradient(180deg,#ffffff,var(--bg-soft));border:1px dashed rgba(99,102,241,.25)}.frac-visual-row{display:flex;align-items:center;gap:.8rem}.frac-visual-graphic{flex:1;min-width:0}.frac-visual-bar{display:block;border-radius:8px;overflow:hidden}.frac-visual-label{flex:0 0 auto;display:inline-grid;justify-items:center;font-family:JetBrains Mono,monospace;font-weight:700;line-height:1.05;min-width:2.2rem}.frac-visual-label .frac-line{display:block;width:1.5rem;height:2px;background:currentColor;margin:2px 0}.frac-visual-caption{font-size:.8rem;color:var(--ink-muted)}.frac-visual-op{display:grid;gap:.35rem}.frac-visual-sign{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700;color:var(--accent-deep);text-align:center}.frac-visual-equiv{display:grid;gap:.35rem}.frac-visual-pies{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.frac-visual-pie-item{margin:0;display:grid;justify-items:center;gap:.35rem}.frac-visual-pie-item figcaption{display:grid;justify-items:center;font-size:.78rem;color:var(--ink-muted)}.frac-visual-common{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.frac-visual-common-col{display:grid;gap:.3rem;padding:.6rem;border-radius:12px;background:#ffffffb3}.frac-visual-arrow{text-align:center;font-family:JetBrains Mono,monospace;font-weight:700;color:var(--accent-deep);font-size:.9rem}.frac-visual-arrow span{display:block;font-family:DM Sans,sans-serif;font-weight:500;font-size:.72rem;color:var(--ink-muted)}.option-panel{margin-top:1rem;padding-top:.9rem;border-top:1px dashed rgba(99,102,241,.22)}.option-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.5rem}.option-chip{display:grid;gap:.15rem;padding:.7rem .85rem;border:1px solid rgba(99,102,241,.2);border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.option-chip:hover:not([disabled]){transform:translateY(-1px)}.option-chip strong{font-size:.92rem}.option-chip small{font-size:.76rem;color:var(--ink-muted);line-height:1.3}.option-chip.active{border-color:var(--tone-fractions);background:var(--tone-fractions-soft)}.option-chip[disabled]{opacity:.6;cursor:default}.option-note{margin:.5rem 0 0;font-size:.78rem;color:var(--ink-muted);font-style:italic}@media (max-width: 900px){.lesson-layout{grid-template-columns:1fr}.lesson-toc{position:static}.lesson-toc-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}}@media (max-width: 700px){.hero-live{flex-direction:column}.course-tabs{grid-template-columns:1fr}.course-tab{grid-template-columns:auto 1fr auto;display:grid;justify-items:start;align-items:center;gap:.6rem}.lesson-card{padding:1.1rem}.lesson-head{gap:.7rem}.lesson-badge{flex-basis:46px;width:46px;height:46px;font-size:1.2rem}}.factor-ladder-group{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.factor-ladder{display:inline-grid;gap:.15rem;padding:.6rem .8rem;border-radius:12px;background:#ffffffbf;vertical-align:top}.factor-ladder-row{display:grid;grid-template-columns:3.2rem 2px 2.4rem;align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace;font-weight:700;font-size:.92rem}.factor-ladder-value{text-align:right;color:var(--ink)}.factor-ladder-bar{width:2px;height:100%;min-height:1.3rem;background:var(--accent);border-radius:2px}.factor-ladder-prime{color:var(--accent-deep)}.prime-venn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;align-items:stretch}.venn-zone{padding:.7rem .6rem;border-radius:14px;text-align:center;display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center;align-content:flex-start;border:2px dashed transparent}.venn-zone.left{background:var(--tone-geometry-bg);border-color:#6366f159}.venn-zone.middle{background:var(--ok-soft);border-color:#10b98173}.venn-zone.right{background:var(--tone-fractions-bg);border-color:#f59e0b66}.venn-title{width:100%;margin:0 0 .2rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.venn-chip{display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .45rem;border-radius:999px;background:var(--card);box-shadow:0 2px 5px #0f172a1f;font-family:JetBrains Mono,monospace;font-weight:700;font-size:.9rem;color:var(--accent-deep)}.venn-chip.empty{color:var(--ink-muted);opacity:.7}.venn-result{width:100%;margin:.45rem 0 0;font-weight:800;font-size:.85rem;color:#065f46}.venn-total{grid-column:1 / -1;margin:.2rem 0 0;text-align:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:.88rem;color:var(--accent-deep);background:#ffffffbf;border-radius:10px;padding:.45rem .6rem}.multiple-lines{display:grid;gap:.5rem}.multiple-line{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.multiple-line-label{font-family:JetBrains Mono,monospace;font-weight:800;font-size:.85rem;color:var(--accent-deep);min-width:3.6rem}.multiple-line.tone-b .multiple-line-label{color:#b45309}.multiple-line-items{display:flex;flex-wrap:wrap;gap:.3rem}.multiple-chip{padding:.2rem .5rem;border-radius:999px;background:var(--card);box-shadow:0 1px 3px #0f172a1f;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.multiple-chip.hit{background:var(--ok);color:#fff;box-shadow:0 3px 8px #10b98159}.multiple-chip.more{background:transparent;box-shadow:none;color:var(--ink-muted)}@media (max-width: 640px){.prime-venn{grid-template-columns:1fr}}.learn-block .section-group-head{align-items:flex-start;gap:.9rem}.learn-block-count{margin-left:auto;align-self:center;padding:.3rem .7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:.76rem;font-weight:700;white-space:nowrap}.learn-sub-label{margin:1.1rem 0 .6rem;font-size:.85rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted)}.course-item.is-theory{border-left:4px solid var(--accent)}.learn-practice-chips{display:flex;flex-wrap:wrap;gap:.5rem}.learn-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border:1px solid rgba(99,102,241,.22);border-radius:999px;background:#fff;color:var(--ink);font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.learn-chip:hover{transform:translateY(-1px);background:var(--accent-soft);border-color:var(--accent)}.learn-chip-icon{font-weight:800;color:var(--accent-deep)}.exam-level-panel{padding:.9rem 0;border-top:1px dashed rgba(99,102,241,.25);border-bottom:1px dashed rgba(99,102,241,.25);margin:.75rem 0}.exam-level-panel .level-picker{grid-template-columns:1fr;gap:.5rem}.exam-config-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0}.exam-config-badge{padding:.22rem .65rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:.74rem;font-weight:700}.speed-setup{margin:1.25rem auto;max-width:620px;text-align:left}.speed-setup .option-panel+.option-panel{margin-top:.9rem}.speed-setup .level-picker{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.speed-question-index{margin:0 0 .4rem;font-size:.85rem;font-weight:700;color:var(--ink-muted)}.speed-timeout{margin:.6rem 0 0;font-weight:800;color:var(--bad)}.speed-timer-fill.express{transition:width .1s linear}.speed-grade{display:inline-grid;gap:.15rem;justify-items:center;margin:1.1rem auto .4rem;padding:1rem 2.2rem;border-radius:var(--radius);background:var(--ok-soft);color:var(--ok)}.speed-grade.fail{background:var(--bad-soft);color:var(--bad)}.speed-grade strong{font-size:3rem;line-height:1;font-weight:800}.speed-grade span{font-size:.8rem;font-weight:700;color:var(--ink-muted)}.speed-grade-msg{margin:.2rem 0 .6rem;font-weight:600;color:var(--ink-muted)}.badge-homework{background:#fef3c7;color:#b45309;border:1px solid #fde68a;font-weight:700;font-size:.72rem;padding:.15rem .5rem;border-radius:999px}.homework-page{max-width:1040px;margin:0 auto;padding:1.5rem 1rem 4rem}.homework-header{text-align:center;margin-bottom:2rem}.homework-badge-row{display:flex;justify-content:center;gap:.6rem;margin-bottom:.8rem;flex-wrap:wrap}.homework-pill{display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;padding:.3rem .8rem;border-radius:999px;background:var(--surface-2, #f1f5f9);color:var(--ink, #1e293b);border:1px solid var(--border, #cbd5e1)}.homework-pill.accent{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.homework-pill.success{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.homework-actions-bar{display:flex;justify-content:center;gap:.8rem;margin-top:1.2rem;flex-wrap:wrap}.homework-tabs-container{overflow-x:auto;margin-bottom:2rem;padding-bottom:.5rem}.homework-tabs{display:flex;gap:.75rem;min-width:max-content;border-bottom:2px solid var(--border, #e2e8f0);padding-bottom:.5rem}.homework-tab{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.1rem;border-radius:12px;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);color:var(--ink, #1e293b);cursor:pointer;transition:all .2s ease;text-align:left}.homework-tab:hover{background:var(--surface-hover, #f8fafc);transform:translateY(-1px)}.homework-tab.active{background:#6366f1;color:#fff;border-color:#4f46e5;box-shadow:0 4px 12px #6366f140}.homework-tab.active .homework-tab-num{background:#ffffff40;color:#fff}.homework-tab.active small{color:#ffffffd9}.homework-tab.completed{border-color:#10b981}.homework-tab-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-2, #f1f5f9);font-weight:800;font-size:.85rem}.homework-tab-text{display:flex;flex-direction:column}.homework-tab-text strong{font-size:.92rem}.homework-tab-text small{font-size:.76rem;color:var(--ink-muted, #64748b)}.homework-block-card{padding:2rem;border-radius:16px}.homework-block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem;border-bottom:1px solid var(--border, #e2e8f0);padding-bottom:1.2rem;flex-wrap:wrap;gap:1rem}.homework-block-title-box{display:flex;align-items:center;gap:1rem}.homework-block-icon{font-size:2.2rem}.homework-block-head h2{margin:0 0 .25rem;font-size:1.4rem}.homework-block-head p{margin:0;color:var(--ink-muted, #64748b);font-size:.9rem}.homework-exercises-list{display:flex;flex-direction:column;gap:2rem}.homework-ex{padding:1.6rem;border-radius:12px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);box-shadow:0 2px 8px #00000008}.homework-ex-header{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.2rem}.homework-ex-badge{background:#e0e7ff;color:#4338ca;font-weight:800;font-size:.9rem;padding:.35rem .65rem;border-radius:8px;white-space:nowrap}.homework-ex-header h3{margin:0 0 .3rem;font-size:1.15rem}.homework-instruction{margin:0;color:var(--ink-muted, #475569);font-size:.9rem}.homework-input{padding:.45rem .7rem;border-radius:8px;border:2px solid var(--border, #cbd5e1);font-size:1rem;font-weight:700;text-align:center;outline:none;transition:all .2s;background:var(--surface, #ffffff);color:var(--ink, #1e293b)}.homework-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.homework-input.xs{width:52px;padding:.35rem}.homework-input.sm{width:75px}.homework-input.correct{border-color:#10b981!important;background:#f0fdf4!important;color:#166534!important}.homework-input.error{border-color:#ef4444!important;background:#fef2f2!important;color:#991b1b!important}.homework-select{padding:.5rem .8rem;border-radius:8px;border:2px solid var(--border, #cbd5e1);font-size:.95rem;font-weight:600;outline:none;background:var(--surface, #ffffff)}.fraction-input-pair{display:inline-flex;align-items:center;gap:4px}.frac-box{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1;font-weight:700}.frac-box .bar{display:block;width:100%;height:2px;background:currentColor;margin:3px 0}.homework-matching-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.homework-matching-card{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:10px;background:var(--surface-2, #f8fafc);border:1px solid var(--border, #e2e8f0)}.matching-visual{min-height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.matching-input-wrap{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.homework-factor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.factor-row{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.factor-arrow{display:flex;align-items:center;gap:6px;font-weight:800;color:#6366f1}.homework-missing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.missing-card{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.missing-letter{font-weight:700;color:#64748b;font-size:.85rem}.frac-display{display:flex;align-items:center;gap:8px}.homework-error-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.error-item-card{padding:1rem;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px}.error-expr{font-size:1.1rem;font-weight:700;color:#be123c;margin-bottom:.5rem}.error-correction{display:flex;align-items:center;gap:8px;font-size:.85rem}.radio-option{display:flex;align-items:center;gap:10px;margin:8px 0;cursor:pointer;font-size:.92rem}.maze-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:10px}.maze-cell{padding:.9rem .5rem;border-radius:10px;background:#fff;border:2px solid #cbd5e1;font-weight:800;font-size:1.1rem;color:#1e293b;cursor:pointer;transition:all .15s ease}.maze-cell:hover{border-color:#6366f1;transform:translateY(-2px)}.maze-cell.selected{background:#ede9fe;border-color:#7c3aed;color:#5b21b6}.syrups-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem}.syrup-card{padding:1.2rem;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;text-align:center}.syrup-card h4{margin:0 0 .3rem;color:#92400e}.syrup-convert{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px}.compare-rows{display:flex;flex-direction:column;gap:1rem}.compare-card{padding:1rem 1.2rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.visual-sums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.visual-sum-card{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.diff-den-sums{display:flex;flex-direction:column;gap:1rem}.diff-den-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;flex-wrap:wrap;gap:10px}.calc-sums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.calc-card{padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.fraction-of-number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}.of-number-card{display:flex;flex-direction:column;align-items:center;padding:1.2rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;text-align:center}.frac-of-frac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.2rem}.frac-of-frac-card{display:flex;flex-direction:column;align-items:center;padding:1.2rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.rectangles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}.rect-card{display:flex;flex-direction:column;align-items:center;padding:1.2rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.direct-mul-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.direct-mul-card{display:flex;flex-direction:column;align-items:center;padding:1.2rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.homework-block-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--border, #e2e8f0)}.linear-grid-visual,.pie-slice-visual,.grid-fraction-visual{display:block}.ld-pair{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.ld{--ld-cell: 1.35em;display:inline-grid;grid-template-columns:auto auto;grid-template-areas:"left right" "legend legend";align-items:start;gap:0 .15rem;padding:1rem 1.25rem;background:var(--tone-divide-bg);border:1px solid var(--tone-divide-soft);border-radius:18px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:1.35rem;line-height:1.55;color:var(--ink);justify-self:center}.ld-left{grid-area:left;display:grid;grid-auto-rows:1.55em;position:relative}.ld-cell{text-align:center;position:relative;z-index:1}.ld-dividend{font-weight:600;color:var(--accent-deep)}.ld-dividend.used{color:var(--accent);text-decoration:underline 2px var(--accent-soft);text-underline-offset:4px}.ld-minus,.ld-product{color:var(--bad)}.ld-rest{color:var(--ink);font-weight:600}.ld-rest.ld-final{color:var(--warn)}.ld-line{align-self:start;border-top:2px solid var(--ink);height:0;margin-top:-1px}.ld-arrow{justify-self:center;width:0;border-left:2px dashed var(--tone-divide);opacity:.45;margin:1.2em 0 .2em;z-index:0}.ld-active{animation:ldPop .35s ease}.ld-cell.ld-active{background:#06b6d41f;border-radius:4px}@keyframes ldPop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ld-right{grid-area:right;min-width:3.2em}.ld-divisor{border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:0 .5em;font-weight:700;color:var(--tone-divide)}.ld-quotient{padding:0 .5em;font-weight:700;color:var(--ok);letter-spacing:.08em}.ld-legend{grid-area:legend;list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-family:DM Sans,system-ui,sans-serif;font-size:.8rem;color:var(--ink-muted)}.ld-legend .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.3rem;vertical-align:middle}.ld-legend .dot.dividend{background:var(--accent)}.ld-legend .dot.divisor{background:var(--tone-divide)}.ld-legend .dot.quotient{background:var(--ok)}.ld-legend .dot.rest{background:var(--warn)}.share{display:grid;gap:.6rem;padding:1rem;border-radius:18px;background:var(--tone-multiply-bg);border:1px solid var(--tone-multiply-soft);max-width:340px}.share-pool{font-weight:700;color:var(--ink)}.share-boxes{display:flex;gap:.5rem;flex-wrap:wrap}.share-box{flex:1 1 80px;background:#fff;border:2px dashed var(--tone-multiply);border-radius:14px;padding:.4rem;text-align:center}.share-box-tag{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--tone-multiply);color:#fff;font-size:.75rem;font-weight:700}.share-items{display:flex;flex-wrap:wrap;justify-content:center;gap:.1rem;font-size:1.15rem}.share-left{display:flex;gap:.2rem;font-size:1.15rem;padding:.3rem .6rem;border-radius:10px;background:var(--warn-soft);width:fit-content}.share-caption{margin:0;font-size:.85rem;color:var(--ink-muted)}.ld-lab{margin-top:1.25rem;padding:1.5rem;display:grid;gap:1rem;border:2px solid var(--tone-divide-soft)}.ld-lab-head{display:flex;gap:.9rem;align-items:center}.ld-lab-head h2{margin:0}.ld-lab-head p{margin:.2rem 0 0;color:var(--ink-muted)}.ld-lab-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem}.ld-lab-form label{display:grid;gap:.25rem;font-size:.8rem;font-weight:600;color:var(--ink-muted)}.ld-lab-form input{width:8rem;padding:.6rem .75rem;border-radius:12px;border:2px solid var(--border);font-family:JetBrains Mono,monospace;font-size:1.1rem}.ld-lab-form input:focus{outline:none;border-color:var(--accent)}.ld-lab-sign{font-size:1.6rem;font-weight:700;padding-bottom:.4rem}.ld-lab-error{margin:0;color:var(--bad);font-weight:600}.ld-lab-body{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:1.25rem;align-items:start}.ld-lab-board{overflow-x:auto;max-width:100%}.ld-lab-counter{margin:0 0 .5rem;font-weight:700;color:var(--tone-divide)}.ld-lab-steps{margin:0;padding-left:1.3rem;display:grid;gap:.5rem}.ld-lab-steps li{color:var(--ink-muted)}.ld-lab-steps li span{display:block}.ld-lab-steps li.current{color:var(--ink)}.ld-lab-steps li.current::marker{color:var(--tone-divide);font-weight:700}.ld-lab-result{margin-top:.75rem;padding:.75rem 1rem;border-radius:14px;background:var(--ok-soft);display:grid;gap:.2rem}.ld-lab-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}@media (max-width: 740px){.ld{font-size:1.1rem;padding:.8rem}.ld-lab{padding:1rem}.ld-lab-body{grid-template-columns:1fr}.ld-lab-form input{width:6.5rem}}.tutor{--tutor-grad: linear-gradient(135deg, var(--accent-deep), var(--accent) 45%, var(--pink));position:fixed;right:1.25rem;bottom:1.25rem;z-index:300;font-family:DM Sans,system-ui,sans-serif}.tutor-fab{position:relative;display:flex;align-items:center;gap:.6rem;padding:.35rem 1.1rem .35rem .35rem;border:0;border-radius:999px;background:var(--tutor-grad);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 14px 30px #6366f159,0 0 0 4px #ffffffb3;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.tutor-fab:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 18px 36px #ec489966,0 0 0 4px #fffc}.tutor-fab:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px}.tutor-fab-face{width:3rem;height:3rem;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden}.tutor-fab-face img{width:118%;margin-top:18%}.tutor-fab-badge{position:absolute;top:-.35rem;left:2.2rem;padding:.05rem .4rem;border-radius:999px;background:var(--warn);color:var(--ink);font-size:.65rem;font-weight:800;letter-spacing:.05em;border:2px solid white}.tutor.open .tutor-fab{display:none}.tutor-panel{position:absolute;right:0;bottom:0;width:min(400px,calc(100vw - 2rem));height:min(620px,calc(100vh - 2.5rem));display:flex;flex-direction:column;background:var(--card);border-radius:24px;box-shadow:0 30px 70px #4c1d9547;border:1px solid var(--border);overflow:hidden;transform-origin:bottom right;opacity:0;transform:scale(.9) translateY(12px);pointer-events:none;visibility:hidden;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .25s}.tutor.open .tutor-panel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.tutor-head{display:flex;align-items:center;gap:.75rem;padding:.9rem .9rem .9rem 1rem;background:var(--tutor-grad);color:#fff}.tutor-head-avatar{position:relative;width:2.8rem;height:2.8rem;border-radius:50%;background:#fff;flex:none}.tutor-head-avatar img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%}.tutor-online{position:absolute;right:0;bottom:0;width:.75rem;height:.75rem;border-radius:50%;background:var(--ok);border:2px solid white}.tutor-head-text{flex:1;min-width:0}.tutor-title{margin:0;font-family:Fraunces,serif;font-size:1.15rem}.tutor-subtitle{margin:0;font-size:.78rem;color:#ffffffd9}.tutor-icon-btn{width:2.1rem;height:2.1rem;border:0;border-radius:50%;background:#ffffff2e;color:#fff;font-size:1rem;cursor:pointer}.tutor-icon-btn:hover{background:#ffffff4d}.tutor-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:radial-gradient(circle at top right,rgba(236,72,153,.07),transparent 40%),var(--bg)}.tutor-msg{display:flex;gap:.5rem;align-items:flex-end;max-width:100%}.tutor-msg.user{justify-content:flex-end}.tutor-msg-avatar{width:1.9rem;height:1.9rem;flex:none;border-radius:50%;background:#fff;border:2px solid var(--accent-soft);overflow:hidden}.tutor-msg-avatar img{width:100%;height:100%;object-fit:cover;object-position:top}.tutor-bubble{max-width:85%;padding:.65rem .85rem;border-radius:18px;font-size:.93rem;line-height:1.5;overflow-wrap:anywhere}.tutor-msg.bot .tutor-bubble{background:#fff;color:var(--ink);border:1px solid var(--accent-soft);border-bottom-left-radius:6px;box-shadow:0 6px 16px #6366f114}.tutor-msg.user .tutor-bubble{background:var(--tutor-grad);color:#fff;border-bottom-right-radius:6px;white-space:pre-wrap}.tutor-msg.error .tutor-bubble{background:var(--bad-soft);border-color:#ef44444d}.tutor-bubble p{margin:0 0 .45rem}.tutor-bubble p:last-child{margin-bottom:0}.tutor-bubble ol,.tutor-bubble ul{margin:.2rem 0 .5rem;padding-left:1.2rem}.tutor-bubble li{margin:.15rem 0}.tutor-bubble strong{color:var(--accent-deep)}.tutor-msg.user .tutor-bubble strong{color:inherit}.tutor-bubble code{font-family:JetBrains Mono,monospace;font-size:.88em;background:var(--accent-soft);padding:.05rem .3rem;border-radius:6px}.tutor-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;padding-left:2.4rem}.tutor-suggestions p{width:100%;margin:0;font-size:.78rem;font-weight:600;color:var(--ink-muted)}.tutor-chip{border:1px solid var(--border);background:#fff;color:var(--accent-deep);border-radius:999px;padding:.35rem .75rem;font-size:.82rem;cursor:pointer;text-align:left;transition:background .15s ease,transform .15s ease}.tutor-chip:hover{background:var(--accent-soft);transform:translateY(-1px)}.tutor-dots{display:inline-flex;gap:.25rem;padding:.2rem 0}.tutor-dots i{width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);animation:tutorDot 1s ease-in-out infinite}.tutor-dots i:nth-child(2){animation-delay:.15s;background:#a855f7}.tutor-dots i:nth-child(3){animation-delay:.3s;background:var(--pink)}@keyframes tutorDot{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.tutor-form{display:flex;gap:.5rem;align-items:flex-end;padding:.75rem .75rem .35rem;border-top:1px solid var(--border);background:var(--card)}.tutor-input{flex:1;resize:none;min-height:2.6rem;max-height:120px;padding:.6rem .85rem;border-radius:16px;border:2px solid var(--accent-soft);font:inherit;font-size:.95rem;line-height:1.35;color:var(--ink);background:var(--bg)}.tutor-input:focus{outline:none;border-color:var(--accent);background:#fff}.tutor-send{width:2.6rem;height:2.6rem;flex:none;border:0;border-radius:50%;background:var(--tutor-grad);color:#fff;display:grid;place-items:center;cursor:pointer}.tutor-send:disabled{opacity:.5;cursor:wait}.tutor-disclaimer{margin:0;padding:0 .9rem .6rem;font-size:.7rem;color:var(--ink-muted);text-align:center;background:var(--card)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.assistant-float-popup{bottom:5.5rem;cursor:pointer}.tutor-open .assistant-float-popup{display:none}@media (max-width: 640px){.tutor{right:.75rem;bottom:.75rem}.tutor-fab{padding-right:.35rem}.tutor-fab-label{display:none}.tutor-panel{position:fixed;inset:auto 0 0 0;width:100vw;height:min(88vh,100dvh);border-radius:22px 22px 0 0}.assistant-float-popup{bottom:5rem}}@media (prefers-reduced-motion: reduce){.tutor-fab,.tutor-panel,.ld-active,.tutor-dots i{animation:none;transition:none}}.tutor.blocked{display:none}.tutor-ask{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;padding:.35rem .9rem .35rem .35rem;border:1.5px solid transparent;border-radius:999px;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,var(--accent),var(--pink)) border-box;color:var(--accent-deep);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;width:fit-content;transition:transform .15s ease,box-shadow .15s ease}.tutor-ask img{width:1.7rem;height:1.7rem;border-radius:50%;object-fit:cover;object-position:top;background:var(--accent-soft)}.tutor-ask:hover{transform:translateY(-1px);box-shadow:0 8px 18px #6366f133}.tutor-ask:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.question-card>.tutor-ask,.identify-board>.tutor-ask,.homework-ex>.tutor-ask{display:flex}.speed-question-card>.tutor-ask{margin-inline:auto;display:flex}.tutor-icon-btn[aria-pressed=true]{background:#fff;color:var(--accent-deep)}.tutor.history-view .tutor-form,.tutor.history-view .tutor-disclaimer{opacity:.6}.tutor-history{display:grid;gap:.6rem}.tutor-history-title{margin:0;font-weight:700;color:var(--ink)}.tutor-history ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.tutor-history-item{display:flex;align-items:stretch;background:#fff;border:1px solid var(--accent-soft);border-radius:14px;overflow:hidden}.tutor-history-item.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.tutor-history-open{flex:1;min-width:0;display:grid;gap:.15rem;padding:.6rem .75rem;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}.tutor-history-open:hover{background:var(--bg-soft)}.tutor-history-name{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-history-name em{font-style:normal;font-size:.7rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--pink));border-radius:999px;padding:.05rem .45rem;margin-right:.4rem;vertical-align:1px}.tutor-history-open small{color:var(--ink-muted);font-size:.75rem}.tutor-history-delete{border:0;border-left:1px solid var(--accent-soft);background:none;padding:0 .75rem;cursor:pointer;font-size:.95rem}.tutor-history-delete:hover{background:var(--bad-soft)}.tutor-history-clear{justify-self:center;border:0;background:none;color:var(--bad);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;padding:.4rem}.tutor-history-empty{margin:auto;text-align:center;color:var(--ink-muted);max-width:260px}.tutor-history-empty span{font-size:2.2rem}.pmath{margin-top:2rem;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);overflow:hidden;padding:0;border-radius:var(--radius-lg);background:#0f0a2e;color:#e0e7ff;border:1px solid rgba(129,140,248,.35);box-shadow:0 30px 60px #4c1d9547}.pmath-stage{position:relative;min-height:380px;cursor:pointer;touch-action:pan-y}.particle-math-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.pmath-formula{position:absolute;left:1rem;bottom:1rem;padding:.35rem .8rem;border-radius:999px;background:#0f0a2eb8;border:1px solid rgba(244,114,182,.45);color:#fbcfe8;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:600;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1}.pmath-formula.show{animation:pmathIn .6s ease both}@keyframes pmathIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pmath-info{display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1.75rem 1.5rem;background:linear-gradient(160deg,#6366f138,#ec489924);border-left:1px solid rgba(129,140,248,.25)}.pmath-info .eyebrow{color:#f9a8d4;margin:0}.pmath-heading{margin:0;color:#fff;font-family:Fraunces,serif;font-size:1.45rem;line-height:1.2}.pmath-scene{min-height:8.5rem}.pmath-scene h3{margin:.25rem 0 .35rem;color:#fde68a;font-size:1.1rem}.pmath-scene p{margin:0;color:#c7d2fe;line-height:1.55}.pmath-dots{display:flex;gap:.45rem;flex-wrap:wrap}.pmath-dot{width:.7rem;height:.7rem;border-radius:999px;border:0;padding:0;background:#c7d2fe59;cursor:pointer;transition:width .25s ease,background .25s ease}.pmath-dot.active{width:1.8rem;background:linear-gradient(90deg,var(--accent),var(--pink))}.pmath-dot:focus-visible{outline:2px solid white;outline-offset:2px}.pmath-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.pmath-actions .btn.ghost{background:#ffffff1a;color:#fff}.pmath-actions .btn.ghost:hover{background:#ffffff2e}.pmath-hint{margin:0;font-size:.78rem;color:#a5b4fc}@media (max-width: 860px){.pmath{grid-template-columns:1fr}.pmath-stage{min-height:280px}.pmath-info{border-left:0;border-top:1px solid rgba(129,140,248,.25);padding:1.25rem}.pmath-scene{min-height:0}}.hero-pmath{position:relative;z-index:1;width:min(760px,100%);margin:1.4rem auto 0;display:grid;gap:.6rem;justify-items:center}.hero-pmath-stage{position:relative;width:100%;height:340px;cursor:pointer;touch-action:pan-y;-webkit-mask-image:radial-gradient(ellipse 75% 85% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 75% 85% at 50% 50%,#000 70%,transparent 100%)}.hero-pmath-caption{display:flex;align-items:center;gap:.85rem;width:100%;max-width:680px;padding:.6rem .6rem .6rem .75rem;border-radius:18px;background:#0f172a73;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left}.hero-pmath-caption.show{animation:pmathIn .5s ease both}.hero-pmath-formula{flex:none;padding:.35rem .75rem;border-radius:12px;background:linear-gradient(135deg,#6366f159,#ec489959);color:#fff;font-family:JetBrains Mono,monospace;font-weight:600;font-size:.95rem;white-space:nowrap}.hero-pmath-text{flex:1;min-width:0;display:grid;gap:.1rem;font-size:.85rem;line-height:1.4;color:var(--hero-muted)}.hero-pmath-text strong{color:#fde68a;font-size:.95rem}.hero-pmath-ask{flex:none;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem .3rem .3rem;border:0;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--pink));color:#fff;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:transform .15s ease}.hero-pmath-ask:hover{transform:translateY(-1px)}.hero-pmath-ask img{width:1.7rem;height:1.7rem;border-radius:50%;background:#fff;object-fit:cover;object-position:top}.hero-pmath-controls{display:flex;align-items:center;gap:.6rem}.hero-pmath-btn{width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;cursor:pointer;font-size:.8rem}.hero-pmath-btn:hover{background:#ffffff2e}.hero-pmath-dots{display:flex;gap:.4rem}.hero-pmath-dot{width:.6rem;height:.6rem;padding:0;border:0;border-radius:999px;background:#ddd6fe59;cursor:pointer;transition:width .25s ease,background .25s ease}.hero-pmath-dot.active{width:1.6rem;background:linear-gradient(90deg,var(--accent),var(--pink))}.hero-pmath-dot:focus-visible,.hero-pmath-btn:focus-visible,.hero-pmath-ask:focus-visible{outline:2px solid white;outline-offset:2px}.hero-pmath-hint{margin:0;font-size:.75rem;color:#ddd6feb3}@media (max-width: 640px){.hero-pmath-stage{height:240px}.hero-character-wrap{display:none}.hero-pmath-caption{flex-wrap:wrap}.hero-pmath-text{flex-basis:100%;order:3}.hero-pmath-ask{margin-left:auto}}.hero2{--hero2-bg: #110b2e;--hero2-ink: #f5f3ff;--hero2-muted: #c4bfe6;--hero2-line: rgba(196, 181, 253, .16);--hero2-board: #171040;position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:2.5rem;color:var(--hero2-ink);background:radial-gradient(60rem 30rem at 85% 40%,rgba(99,102,241,.22),transparent 70%),var(--hero2-bg);overflow:hidden}.hero2:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--hero2-line) 1px,transparent 1px),linear-gradient(90deg,var(--hero2-line) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.55),transparent 55%);mask-image:linear-gradient(90deg,rgba(0,0,0,.55),transparent 55%);pointer-events:none}.hero2-inner{position:relative;max-width:1200px;margin:0 auto;padding:clamp(2.5rem,6vh,4rem) 1.5rem clamp(2.5rem,6vh,4rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(2rem,4vw,4rem);align-items:center}.hero2-copy{max-width:34rem}.hero2-eyebrow{margin:0 0 1rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f9a8d4}.hero2-title{margin:0;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:clamp(2.3rem,4.6vw,3.9rem);line-height:1.04;letter-spacing:-.02em;color:var(--hero2-ink);overflow-wrap:break-word}.hero2-title-accent{display:block;color:#c4b5fd;text-decoration:underline;text-decoration-color:#f472b6a6;text-decoration-thickness:.07em;text-underline-offset:.16em}.hero2-lead{margin:1.25rem 0 0;max-width:32rem;font-size:1.08rem;line-height:1.6;color:var(--hero2-muted)}.hero2-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:2rem}.hero2-actions .btn{white-space:nowrap}.hero2-ghost{background:#f5f3ff14;color:var(--hero2-ink);border:1px solid rgba(245,243,255,.22)}.hero2-ghost:hover{background:#f5f3ff24}.hero2-link{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem;border:0;background:none;color:var(--hero2-ink);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-color:#f5f3ff59;text-underline-offset:4px;white-space:nowrap}.hero2-link:hover{text-decoration-color:#f9a8d4}.hero2-link img{width:2rem;height:2rem;border-radius:50%;background:#ede9fe;object-fit:cover;object-position:top}.hero2-ghost:focus-visible,.hero2-link:focus-visible,.hero2-tab:focus-visible,.hero2-icon-btn:focus-visible,.hero2-ask:focus-visible{outline:2px solid #f9a8d4;outline-offset:3px}.hero2-stats{display:flex;gap:0;margin:2.5rem 0 0;padding:0}.hero2-stats div{display:flex;flex-direction:column-reverse;padding:0 1.5rem;border-left:1px solid rgba(245,243,255,.16)}.hero2-stats div:first-child{padding-left:0;border-left:0}.hero2-stats dd{margin:0;font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:600;color:var(--hero2-ink)}.hero2-stats dt{font-size:.82rem;color:var(--hero2-muted)}.hero2-board{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;border-radius:24px;background:linear-gradient(rgba(196,181,253,.07) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,rgba(196,181,253,.07) 1px,transparent 1px) 0 0 / 24px 24px,var(--hero2-board);border:1px solid rgba(196,181,253,.22);box-shadow:0 40px 80px #08041e8c}.hero2-board-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1rem 0 1.25rem}.hero2-board-label{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1rem;color:var(--hero2-ink)}.hero2-icon-btn{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(245,243,255,.2);background:#f5f3ff0f;color:var(--hero2-ink);cursor:pointer;transition:background-color .15s ease}.hero2-icon-btn:hover{background:#f5f3ff24}.hero2-tabs{display:flex;gap:.4rem;padding:.75rem 1.25rem 0;overflow-x:auto;scrollbar-width:none}.hero2-tabs::-webkit-scrollbar{display:none}.hero2-tab{flex:none;min-height:2.1rem;padding:.3rem .85rem;border-radius:999px;border:1px solid rgba(245,243,255,.16);background:transparent;color:var(--hero2-muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.hero2-tab:hover{color:var(--hero2-ink);border-color:#f5f3ff59}.hero2-tab[aria-selected=true]{background:#f472b6;border-color:#f472b6;color:#2a0a1f}.hero2-stage{position:relative;height:clamp(250px,36vh,330px);cursor:pointer;touch-action:pan-y}.hero2-hint{margin:0;padding:0 1.25rem .5rem;font-size:.75rem;color:#c4bfe6bf;text-align:right}.hero2-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin:0 .75rem .75rem;padding:.9rem 1rem;border-radius:16px;background:#110b2ec7;border:1px solid rgba(196,181,253,.16)}.hero2-note.show{animation:hero2Note .4s ease both}@keyframes hero2Note{0%{opacity:0}to{opacity:1}}.hero2-note-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem}.hero2-formula{padding:.15rem .55rem;border-radius:8px;background:#c4b5fd24;color:#ede9fe;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;white-space:nowrap}.hero2-note-text strong{color:#fde68a;font-size:.95rem}.hero2-note-text p{margin:.2rem 0 0;font-size:.85rem;line-height:1.45;color:var(--hero2-muted)}.hero2-ask{padding:.55rem 1rem;border-radius:12px;border:0;background:#f472b6;color:#2a0a1f;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background-color .15s ease}.hero2-ask:hover{background:#f9a8d4}.hero2-ask:active{background:#ec4899}.hero2-newton{position:absolute;top:-3.4rem;right:4.5rem;width:92px;height:auto;filter:drop-shadow(0 10px 18px rgba(8,4,30,.5));pointer-events:none}@media (max-width: 960px){.hero2-inner{grid-template-columns:1fr}.hero2-copy{max-width:none}.hero2-board{margin-top:2.5rem}}@media (max-width: 560px){.hero2-inner{padding:2rem 1rem 2.5rem}.hero2-actions .btn{flex:1 1 auto}.hero2-stats div{padding:0 1rem}.hero2-stats dd{font-size:1.3rem}.hero2-note{grid-template-columns:1fr}.hero2-ask{justify-self:start}.hero2-newton{width:72px;top:-2.6rem;right:3.75rem}.hero2-hint{text-align:left}}@media (prefers-reduced-motion: reduce){.hero2-note.show{animation:none}}
