@charset "UTF-8";html[data-color-theme]{background:var(--page)}html[data-color-theme] body{background:var(--page);color:var(--text)}html[data-color-theme] .primary,html[data-color-theme] .hero{background:var(--accent-bg);color:var(--on-accent)}html[data-color-theme] .hero p,html[data-color-theme] .hero-note{color:var(--on-accent)}html[data-color-theme] .logo{background:var(--accent-bg);color:var(--on-accent)}html[data-color-theme] .panel,html[data-color-theme] .diagram,html[data-color-theme] .chapter,html[data-color-theme] .stat,html[data-color-theme] .lesson-row{border-radius:var(--theme-radius)}html[data-color-theme] .panel p,html[data-color-theme] .panel li,html[data-color-theme] .lesson-block p{font-size:calc(14px * var(--font-scale))}html[data-color-theme] .question-title{font-size:calc(24px * var(--font-scale))}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}.theme-option{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px}.theme-select{padding:0;text-align:left;width:100%}.theme-select[aria-pressed=true]{outline:2px solid var(--purple);outline-offset:5px;border-radius:7px}.theme-select>b,.theme-select>small{display:block;margin-top:10px}.theme-mini{height:115px;padding:12px;display:flex;gap:12px;border-radius:8px;border:1px solid var(--line)}.theme-mini>div{width:22%;border-radius:5px}.theme-mini section{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme-mini i{grid-column:span 2;border-radius:5px}.theme-mini span{border-radius:5px}.theme-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:15px 0 25px}.theme-colors input[type=color]{width:100%;height:48px;border:1px solid var(--line);border-radius:8px;padding:3px;cursor:pointer;background:var(--bg)}.theme-preview{padding:24px;margin:24px 0}.theme-preview>div{padding:24px;max-width:500px}.theme-preview h3{margin-top:16px}.theme-preview span{display:inline-block;padding:12px 18px}.owner-login{max-width:550px}.owner-login [role=alert]{margin-top:20px}.owner-columns{display:grid;grid-template-columns:2fr 1fr;gap:20px}.stats-bars{display:grid;gap:10px}.stats-bars>div{display:grid;grid-template-columns:95px 1fr 45px;gap:12px;align-items:center;font-size:12px}.stats-bars i{display:block;height:17px;border-radius:4px;background:var(--accent-bg)}.stats-bars b{text-align:right}@media(max-width:760px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-colors{gap:10px}.theme-preview{padding:15px}.theme-preview>div{padding:18px}.owner-columns{grid-template-columns:1fr}.owner-columns .panel{margin:0 0 15px}.theme-option .actions{gap:4px}.theme-option .text-button{font-size:11px}}:root{font-family:Inter,Segoe UI,sans-serif;color:#20243d;background:#f7f8fc;font-synthesis:none;--bg:#fff;--line:#e5e7f1;--muted:#666c86;--purple:#6d61e9;--text:#20243d;--soft:#f0edff;--page:#f7f8fc}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;transition:background .18s,transform .18s}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){filter:brightness(.96)}:focus-visible{outline:3px solid #b78d27;outline-offset:4px}a{color:var(--purple)}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px;font-weight:720;margin:8px 0 12px}h2{font-size:22px;font-weight:680}h3{font-size:17px;font-weight:650}p,li{line-height:1.8}small{font-size:12px;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.app{display:flex;min-height:100vh}.app aside{width:244px;position:fixed;inset:0 auto 0 0;background:var(--bg);border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;align-items:center;font-size:22px;font-weight:750;letter-spacing:-.8px;padding:0}.brand>span:last-child{color:var(--purple)}.logo{display:grid;place-items:center;width:37px;height:39px;color:#fff;background:var(--purple);border-radius:11px;margin-right:9px}.nav-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin:42px 10px 17px}nav{display:grid;gap:6px}nav button{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:9px;font-size:13px;color:var(--muted);text-align:left;font-weight:550}nav button.active{background:var(--soft);color:var(--purple)}.pill{font-size:11px;background:var(--soft);padding:3px 6px;border-radius:5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:40px}.tip{padding:18px 15px;background:var(--page);border:1px solid var(--line);border-radius:12px}.tip>span{font-size:25px;display:block;margin-bottom:12px;color:var(--purple)}.tip b{font-size:13px}.tip p{font-size:12px;color:var(--muted);margin-top:8px}.theme{display:flex;gap:9px;align-items:center;margin:24px 6px 20px;font-size:13px;color:var(--muted)}.sidebar-bottom>small{font-size:11px;display:block;text-align:center}.dot{height:6px;width:6px;border-radius:50%;background:#39976d;display:inline-block;margin-right:4px}.workspace{margin-left:244px;width:calc(100% - 244px)}header{height:82px;padding:0 42px;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px}header>span,header>div{display:flex;align-items:center;gap:15px}.local{color:var(--muted);font-size:11px}.avatar{background:var(--soft);color:var(--purple);font-weight:700;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}main{max-width:1400px;padding:36px 42px 48px;margin:auto;min-height:calc(100vh - 145px)}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--muted)}.hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;min-height:285px;border-radius:17px;background:linear-gradient(115deg,#6259d2,#8572eb);color:#fff;padding:33px 36px}.hero-tag{font-size:10px;letter-spacing:1px}.hero h2{font-size:29px;letter-spacing:-.6px;margin:18px 0 12px;line-height:1.3}.hero p{font-size:13px;color:#fff}.white-button{display:inline-flex;align-items:center;gap:22px;background:#fff;padding:13px 19px;border-radius:8px;color:#5545b5;font-size:13px;font-weight:650;margin-top:22px}.hero-note{font-size:11px;margin-left:15px;color:#fff}.hero-art{position:relative;width:270px;flex-shrink:0}.orbit{position:absolute;width:275px;height:275px;border:1px solid #ffffff25;border-radius:50%;top:-30px;left:5px;box-shadow:0 0 0 35px #ffffff08,0 0 0 70px #ffffff05}.word-card{position:absolute;color:#3d3b64;background:#fff;border:1px solid #ffffff66;box-shadow:0 12px 30px #3f36852e;border-radius:13px}.small-card{right:5px;top:8px;transform:rotate(10deg);padding:19px 24px;font-weight:700;font-size:21px;background:#e8e4ff}.small-card span{display:block;font-size:11px;font-weight:400;color:#605779;margin-top:6px}.large-card{top:75px;left:0;transform:rotate(-8deg);padding:20px 24px;font-weight:700;font-size:24px;width:210px}.fr-flag{display:block;font-size:27px;margin-bottom:8px}.large-card small{display:block;font-size:11px;font-weight:400;margin:6px 0 20px;color:#655d7a}.card-check{font-size:11px;font-weight:500;display:flex;align-items:center;gap:5px;color:#267c5c}.spark{position:absolute;right:0;bottom:0;color:#e4ddff;font-size:45px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0 32px}.stat{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:20px;overflow:hidden}.stat>.muted{display:block;font-size:11px}.stat>span{font-size:12px}.stat strong{display:block;font-size:30px;margin:12px 0 3px;letter-spacing:-1px}.stat .date-stat{font-size:18px;letter-spacing:-.3px;margin:22px 0 10px}.stat small{font-size:11px}.stat-icon{position:absolute;right:12px;top:14px;color:var(--purple);background:var(--soft);padding:6px;border-radius:9px;width:29px;height:29px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 22px;gap:20px}.section-heading p{font-size:13px;margin-top:5px}.text-button{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--purple);padding:6px 0}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.chapter{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:22px;text-align:left}.chapter:hover{box-shadow:0 8px 24px #37326b08}.chapter-top{display:flex;align-items:center;gap:10px;margin-bottom:18px}.chapter-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--soft);color:#9170da;border-radius:10px;font-size:23px}.c1{background:#edf4e7}.c2{background:#fce8ef;color:#bf5574}.c3{background:#e7f8f4;color:#39927b}.c4{background:#e9f1ff;color:#587caf}.chapter h3{min-height:44px;line-height:1.4}.chapter p{font-size:12px;margin:6px 0 21px;color:var(--muted)}.progress-track{background:var(--line);height:6px;border-radius:9px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--purple);border-radius:9px;transition:width .4s}.chapter-footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:11px;gap:8px}.chapter-footer b{color:var(--purple)}.chapter>.text-button{margin-top:17px}footer{border-top:1px solid var(--line);padding:22px 42px;font-size:11px;color:var(--muted)}footer span{float:right}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:8px;font-size:13px;font-weight:600;min-height:44px}.primary{background:var(--purple);color:#fff}.secondary{border:1px solid var(--line);background:var(--bg)}.panel{background:var(--bg);padding:28px;border:1px solid var(--line);border-radius:14px;margin:22px 0}.panel h2{margin-bottom:17px}.panel h3{margin-bottom:12px}.panel p{font-size:14px;margin-bottom:17px;max-width:85ch}.panel li{font-size:14px;margin-bottom:8px}.panel p:last-child{margin-bottom:0}input:not([type=checkbox]):not([type=file]):not([type=range]),select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:12px;width:100%;min-width:0}textarea{min-height:125px;resize:vertical;line-height:1.7}label{display:block;font-size:13px;line-height:1.7}label>input,label>select,label>textarea{display:block;margin:7px 0 14px}input[type=checkbox]{accent-color:var(--purple);width:18px;height:18px;flex-shrink:0}input[type=range]{width:100%;accent-color:var(--purple);min-height:30px}.check-line{display:flex;gap:10px;align-items:center}.check-line input{margin:0}.full{width:100%}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.centered{justify-content:center;margin:16px auto}.alert{padding:15px;border-radius:8px;font-size:13px;margin-bottom:20px;background:#ecf7ef;border:1px solid #bad9c4}.alert.error{background:#ffefef;border-color:#e8aaaa;color:#86373e}.search{display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:var(--bg);margin:20px 0}.search input{border:0!important;margin:0!important}.lesson-list{margin-bottom:24px}.lesson-row{display:flex;gap:20px;align-items:center;width:100%;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:20px;margin:10px 0;min-width:0}.number{display:grid;place-items:center;background:var(--soft);color:var(--purple);border-radius:9px;min-width:53px;height:45px;font-size:14px;font-weight:700}.lesson-name{flex:1;min-width:0}.lesson-name b{font-size:14px;line-height:1.5;display:block}.lesson-name small,.lesson-count small{display:block;margin-top:5px}.lesson-count{font-size:11px;text-align:right;flex-shrink:0;color:var(--muted)}.tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{padding:14px 17px;font-size:13px;border-bottom:3px solid transparent;white-space:nowrap}.tabs [aria-selected=true]{color:var(--purple);border-color:var(--purple);font-weight:650}.learning-start{display:flex;gap:25px;align-items:center;justify-content:space-between;background:var(--soft)}.learning-start h2{margin:12px 0}.learning-start .primary{flex-shrink:0}.lesson-block h2{margin-top:15px}.recall{background:var(--page);padding:20px;border-radius:10px;margin-top:23px;border-left:3px solid var(--purple)}.recall small{display:block;margin-top:12px}.callout{padding:15px;background:var(--soft);border-left:3px solid var(--purple);border-radius:5px;font-size:13px!important;margin:20px 0}.terms{display:grid;grid-template-columns:1fr 1fr;gap:16px}.terms .panel{margin:0}details{border:1px solid var(--line);border-radius:9px;margin:15px 0;padding:16px}summary{cursor:pointer;font-size:14px;line-height:1.7}details p{margin:16px 0}.diagram{padding:28px;background:var(--bg);border:1px solid var(--line);border-radius:14px;margin:22px 0}.diagram h3{font-size:21px;margin:12px 0 20px}.diagram p{font-size:13px;margin:17px 0}.diagram svg{width:100%;max-height:320px;display:block;margin:16px auto}.diagram svg text{font-family:inherit;font-size:16px;fill:var(--text)}.diagram svg text[fill=white]{fill:#fff}.control-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.control-row label{flex:1;min-width:170px}.control-row select{min-width:100px}.punnett{max-width:450px;margin:20px auto}.punnett td{text-align:center;font-size:25px}.punnett th{text-align:center}.punnett .recessive{background:#e7f4e9;color:#216742}table{border-collapse:collapse;width:100%;font-size:13px}caption{padding:12px;font-size:12px;color:var(--muted);caption-side:bottom}th,td{border:1px solid var(--line);padding:14px}th{background:var(--soft);text-align:left}.table-wrap{overflow:auto}.route-chips{display:flex;gap:8px;flex-wrap:wrap}.route-chips button{padding:10px;border:1px solid var(--line);border-radius:8px;font-size:12px}.selected{background:var(--soft)!important;border-color:var(--purple)!important;color:var(--purple)}.feedback{padding:18px;border:1px solid var(--line);background:var(--soft);border-radius:9px;font-size:14px;margin:18px 0}.feedback h3{margin-bottom:8px}.feedback p{margin:7px 0}.good{background:#e6f7ee;color:#216e50}.bad{background:#fff0ef;color:#a33d48}.manual{background:var(--soft)}.training-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:12px;margin:0 0 20px}.train-card{max-width:850px;margin:30px auto;background:var(--bg);border:1px solid var(--line);padding:36px;border-radius:18px;box-shadow:0 15px 50px #3c346d05}.train-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.4px;gap:15px}.question-title{font-size:24px;line-height:1.55;letter-spacing:-.35px;margin:28px 0}.confidence{display:flex;justify-content:flex-end;align-items:center;gap:15px;color:var(--muted);font-size:12px;margin:15px 0 25px}.confidence select{max-width:160px;margin:0}.answer-choices{display:grid;gap:12px;margin:24px 0}.answer-choices button{border:1px solid var(--line);border-radius:9px;text-align:left;padding:17px;display:flex;gap:16px;align-items:center;font-size:14px;line-height:1.6}.answer-choices span{width:27px;height:27px;flex-shrink:0;border-radius:6px;background:var(--page);display:grid;place-items:center;font-size:12px}.answer-label input{font-size:22px!important}.enter-note{display:block;text-align:center;margin:14px 0}.training-actions{display:flex;justify-content:space-between;gap:18px;font-size:12px;color:var(--purple);margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.hint{padding:14px;background:var(--soft);color:var(--purple);font-size:13px;margin:17px 0}.rubric{margin:20px 0;display:grid;gap:15px}.rubric label{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px}.rubric input{margin:3px 0}.solution{line-height:1.9;font-size:15px;margin:22px 0}.ordering>div{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;margin:9px 0;border-radius:8px}.ordering span{flex:1;font-size:14px;line-height:1.5}.ordering button:not(.secondary){border:1px solid var(--line);border-radius:6px;min-height:38px;min-width:38px}.ordering>p{font-size:13px;color:var(--muted);margin-bottom:15px}.ordering>.secondary{margin:10px 0 20px}.completion{text-align:center;padding:40px 20px}.completion>label{text-align:left;max-width:750px;margin:25px auto}.completion p{margin:20px auto;max-width:650px;color:var(--muted)}.celebrate{font-size:60px;display:block;margin-bottom:20px;color:var(--purple)}.file-label{display:block;border:1px dashed var(--muted);border-radius:9px;padding:16px;margin:20px 0}.file-label input{display:block;margin-top:12px;max-width:100%;font-size:12px}.stat-chapter{margin:24px 0}.stat-chapter>div:first-child{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:12px}.stat-chapter span{color:var(--muted);text-align:right;font-size:12px}.focus aside,.focus header,.focus footer{display:none}.focus .workspace{margin:0;width:100%}.focus main{max-width:1050px}.skip{position:fixed;left:10px;top:-100px;z-index:10;background:var(--bg);padding:15px}.skip:focus{top:10px}[data-theme=dark]{--bg:#202337;--line:#3c4059;--muted:#b0b4cb;--text:#eeeefa;--soft:#343052;--page:#181a2c;--purple:#b0a5ff;background:var(--page);color:var(--text)}[data-theme=dark] .primary{background:#7161d6;color:#fff}[data-theme=dark] .good{background:#1e4438;color:#a0e0c0}[data-theme=dark] .bad{background:#4e2b36;color:#ffd1d8}[data-theme=dark] .diagram svg rect:not([fill="var(--bg)"]){stroke:#777}[data-theme=dark] .diagram svg text{fill:#eeeefa}[data-theme=dark] .diagram svg rect+text,[data-theme=dark] .diagram svg rect+text+text{fill:#20243d}@media(min-width:1500px){main{padding-top:45px}.hero{min-height:305px}.chapter{padding:25px}}@media(max-width:1150px){.app aside{width:210px;padding:28px 16px}.workspace{margin-left:210px;width:calc(100% - 210px)}main{padding:30px 25px}header{padding:0 25px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{width:225px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat>.muted{font-size:12px}}@media(max-width:760px){.app{display:block}.app aside{position:relative;width:100%;padding:18px 16px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.logo{width:32px;height:34px}.nav-label,.sidebar-bottom .tip,.sidebar-bottom>small{display:none}nav{display:flex;overflow:auto;margin-top:18px;gap:5px;padding-bottom:5px}nav button{white-space:nowrap;padding:11px 12px;font-size:12px}nav svg{width:16px;flex-shrink:0}.sidebar-bottom{position:absolute;right:14px;top:14px;padding:0}.theme{font-size:0;margin:0;padding:10px}.theme svg{width:20px;height:20px}.workspace{margin:0;width:100%}header{height:55px;padding:0 18px}header>span{font-size:10px;gap:5px}.local{font-size:10px}.avatar{display:none}main{padding:25px 17px;min-height:70vh}h1{font-size:28px}.hero{padding:25px;min-height:275px}.hero h2{font-size:25px}.hero-art,.hero-note{display:none}.hero-tag{font-size:9px}.chapter-grid{grid-template-columns:1fr}.chapter h3{min-height:0}.stats-grid{gap:10px}.stat{padding:17px 13px}.stat strong{font-size:27px}.stat-icon{display:none}.stat .date-stat{font-size:16px}.page-heading{margin-bottom:23px}.panel,.diagram{padding:21px;margin:18px 0}.learning-start{display:block}.learning-start .primary{margin-top:18px}.terms{grid-template-columns:1fr}.lesson-row{padding:15px 12px;gap:12px;flex-wrap:wrap}.lesson-count{width:100%;text-align:left;padding-left:65px}.lesson-row>svg{display:none}.lesson-name b{font-size:13px}.lesson-name small{font-size:11px}.tabs button{padding:12px}.train-card{padding:22px 18px;margin-top:20px}.question-title{font-size:20px;margin-top:23px}.confidence{display:block}.confidence select{max-width:100%;margin-top:5px}.training-meta{align-items:flex-start;font-size:11px}.training-meta>span{text-align:right}.training-actions{flex-wrap:wrap;font-size:12px}.focus main{padding:20px 14px}.stat-chapter>div:first-child{display:block}.stat-chapter span{display:block;text-align:left;margin-top:8px}.control-row{gap:10px}.control-row label{min-width:120px}.diagram svg text{font-size:16px}footer{padding:20px 18px;line-height:1.8}footer span{float:none;display:block}.completion{padding:25px 0}.completion h1{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-color-theme] body{color:var(--canvas-text)}html[data-color-theme] aside,html[data-color-theme] header,html[data-color-theme] .panel,html[data-color-theme] .diagram,html[data-color-theme] .chapter,html[data-color-theme] .stat,html[data-color-theme] .lesson-row,html[data-color-theme] .theme-option,html[data-color-theme] .train-card{color:var(--text)}html[data-color-theme] .page-heading .muted,html[data-color-theme] footer{color:var(--canvas-muted)}@media(max-width:760px){html[data-color-theme] .question-title{font-size:calc(20px * var(--font-scale))}}
