:root{--ink:#25223a;--muted:#77748a;--line:#e9e7ee;--purple:#5b4ad6;--lav:#f0edff;--peach:#ffdfd3;--cream:#fffaf2;--green:#1b9d75;--shadow:0 14px 42px rgba(40,28,91,.08)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;background:#fbfafc}button,input{font:inherit}button{cursor:pointer;border:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 16px 18px;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:25px;font-weight:700;text-decoration:none;margin:0 13px 43px}.brand-mark{background:var(--purple);width:30px;height:30px;border-radius:10px;color:white;display:grid;place-items:center;font-family:Fraunces;font-size:20px}.dot{color:#ff8267}.nav{display:grid;gap:5px}.nav-link{background:transparent;color:#69667b;text-align:left;border-radius:10px;padding:13px 14px;font-weight:600;font-size:14px}.nav-link span{display:inline-block;width:27px;font-size:20px;vertical-align:-2px}.nav-link.active{background:#eeebff;color:var(--purple)}.sidebar-bottom{margin-top:auto}.support-card{background:#fff2d5;border-radius:14px;padding:15px;font-size:12px;line-height:1.4;margin:0 4px 18px}.support-card>span{color:#ff8d5b;font-size:18px}.support-card p{margin:4px 0 9px}.support-card button{color:#8b4c26;background:transparent;padding:0;font-size:12px;text-decoration:underline}.profile-mini{width:100%;background:transparent;display:flex;gap:9px;align-items:center;text-align:left;padding:8px 4px;color:var(--ink);font-size:13px}.profile-mini b{margin-left:auto}.profile-mini small{color:var(--muted)}.avatar{width:31px;height:31px;display:inline-grid;place-items:center;border-radius:50%;font-size:10px;color:#5b3e2f;background:#ffcfbb;margin-right:9px;vertical-align:middle}.avatar.coral{background:#ffbaa6}.avatar.amber{background:#ffdb9e}.avatar.blue{background:#b7d6ff}.avatar.lilac-a{background:#d9ccff}.main{margin-left:252px;width:calc(100% - 252px)}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:#fff}.crumb{font-size:13px;color:#77748a}.crumb span{padding:0 8px;color:#bbb7c9}.top-actions{display:flex;align-items:center;gap:17px}.round-btn{position:relative;background:transparent;font-size:21px;color:#58556b}.round-btn i{width:6px;height:6px;background:#fa755e;border-radius:50%;position:absolute;right:2px;top:0}.role-switch{border-left:1px solid var(--line);background:transparent;padding-left:18px;color:#5f5c70;font-size:13px}.role-switch span{padding-left:8px}.view{display:none;padding:43px 48px 56px;max-width:1450px;margin:auto}.view.active{display:block}.hero{min-height:276px;background:#6b5ae0;border-radius:20px;color:white;padding:36px 49px;display:flex;position:relative;overflow:hidden;justify-content:space-between}.eyebrow{letter-spacing:1.15px;font-size:10px;font-weight:700;color:#878399;margin:0 0 10px}.hero .eyebrow{color:#d3cdff}.hero h1,.page-heading h1,.lesson-modal h1{font:700 38px/1.05 Fraunces,Georgia,serif;margin:0}.hero h1 span{color:#ffcb68;font-size:22px}.lead{max-width:430px;line-height:1.5;font-size:14px;color:#edeaff;margin:14px 0 20px}.primary,.secondary{background:#fff;color:var(--purple);font-weight:700;border-radius:9px;padding:12px 17px;font-size:13px}.primary span{font-size:17px;padding-left:12px}.hero .primary{box-shadow:0 6px 0 #4b3bb9}.hero-art{width:355px;position:relative}.circle{border-radius:50%;position:absolute}.circle.one{width:325px;height:325px;background:#8173e8;right:-22px;top:-115px}.circle.two{width:190px;height:190px;background:#9185ec;right:65px;bottom:-130px}.book{position:absolute;right:102px;top:65px;background:#ffce63;color:#5f50ca;width:125px;height:138px;border-radius:8px 14px 14px 8px;display:grid;place-items:center;font:700 70px Fraunces;transform:rotate(8deg);box-shadow:-12px 13px 0 #dec250}.spark{position:absolute;color:#ffe48e}.s1{right:49px;top:38px;font-size:30px}.s2{right:250px;top:183px;font-size:19px}.bubble{background:white;color:#5a4ad0;position:absolute;right:13px;bottom:20px;padding:11px 16px;border-radius:20px 20px 4px 20px;font-weight:700;font-size:12px;transform:rotate(-4deg)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:39px 0 18px}.section-heading h2{font:700 25px Fraunces;margin:0}.text-btn{background:transparent;color:var(--purple);font-size:13px;font-weight:700;padding:5px}.text-btn span{font-size:18px;padding-left:5px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;padding-bottom:17px}.course-illustration{height:130px;display:grid;place-items:center;font:700 45px Fraunces}.peach .course-illustration{background:#ffd4c8;color:#824b5c}.lilac .course-illustration{background:#ded6ff;color:#6653bd}.mint .course-illustration{background:#caeee3;color:#338478}.course-illustration small{display:block;font:700 15px 'DM Sans';letter-spacing:2px}.travel{gap:0}.course-meta{margin:17px 17px 8px;display:flex;justify-content:space-between;color:#8d899c;font-size:9px;font-weight:700;letter-spacing:.65px}.course-meta button,.icon-btn{background:transparent;color:#858195}.course-card h3,.course-card p,.progress-row,.continue{margin-left:17px;margin-right:17px}.course-card h3{font:700 18px Fraunces;margin-top:0;margin-bottom:6px}.course-card p{color:var(--muted);font-size:12px;margin-top:0}.progress-row{display:flex;gap:9px;align-items:center;font-size:11px;color:#6d6a7f;margin-top:16px}.progress{height:5px;flex:1;background:#ecebf1;border-radius:9px;overflow:hidden}.progress i,.mini-progress i,.modal-progress i{height:100%;display:block;background:var(--purple);border-radius:8px}.continue{background:transparent;color:var(--purple);font-weight:700;font-size:12px;padding:12px 0 0}.continue span{font-size:18px;padding-left:6px}.continue.muted{color:#a8a4b1}.lower-grid{display:grid;grid-template-columns:2fr 1fr;gap:19px;margin-top:38px}.schedule,.streak,.table-card,.import-card,.migration-side section{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px}.schedule .section-heading{margin:0 0 13px}.schedule .section-heading h2{font-size:20px}.lesson-row{padding:15px 0;display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);font-size:13px}.date-block{width:40px;height:43px;text-align:center;background:#f1effd;border-radius:8px;color:var(--purple);padding:4px}.date-block b{display:block;font-size:18px}.date-block span{font-size:8px;font-weight:700}.lesson-row p{margin:3px 0 0;color:var(--muted);font-size:11px}.time{margin-left:auto;text-align:right;font-size:12px;font-weight:600}.time small{color:var(--muted);font-weight:400}.join{background:#f1effd;color:var(--purple);border-radius:7px;font-size:11px;padding:9px 11px;font-weight:700}.streak{background:#fff7e9;border-color:#faedcf}.streak-number{font:700 42px Fraunces;color:#ed8559}.streak-number span{font:600 15px 'DM Sans';color:#767182}.streak>p:not(.eyebrow){font-size:12px;color:#706c7b;line-height:1.5}.week{display:flex;gap:7px;margin-top:18px}.week i{font-style:normal;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eee8de;color:#9a9287;font-size:10px}.week i.done{background:#f7a971;color:#fff}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.page-heading h1{color:var(--ink)}.page-heading>div>p:not(.eyebrow){margin:9px 0 0;color:var(--muted);font-size:13px}.page-heading .primary{background:var(--purple);color:white;margin-left:9px}.secondary{background:#f0eff5;color:#5d596c}.editor-layout{display:grid;grid-template-columns:220px 1fr 238px;gap:18px;align-items:start}.lesson-tree,.editor,.properties{background:#fff;border:1px solid var(--line);border-radius:14px}.lesson-tree{padding:13px 9px}.tree-top{display:flex;justify-content:space-between;padding:5px 9px 14px}.tree-top button{color:var(--purple);background:#eeeafe;border-radius:6px}.tree-item{font-size:12px;padding:9px;border-radius:7px;color:#5d596c}.tree-item small{float:right;color:#a6a1af}.course-title{font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);margin-bottom:7px}.tree-item .check{color:var(--green)}.tree-item.sub{font-size:11px;padding-left:24px}.tree-item.selected{background:#f0edff;color:var(--purple);font-weight:700}.tree-item.current{color:var(--purple);font-weight:700}.new-lesson{background:transparent;color:var(--purple);font-size:12px;font-weight:700;padding:12px 9px}.editor{padding:26px;min-height:620px}.editor-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.editor-head h2{font:700 26px Fraunces;margin:7px 0 0}.draft{background:#fff1d6;color:#a66a19;border-radius:15px;font-size:10px;padding:5px 9px;font-weight:700}.block-list{display:grid;gap:13px}.content-block{border:1px solid var(--line);border-radius:11px;padding:17px;display:flex;gap:13px}.content-block:hover{border-color:#bcb2fb}.drag{color:#bbb6c6;font-size:17px}.block-body{flex:1}.block-label{color:#8a8498;letter-spacing:.7px;font-size:9px;font-weight:700}.block-body h3{font:700 16px Fraunces;margin:6px 0}.block-body p{font-size:12px;color:#716d7d;line-height:1.5;margin:0}.exercise{background:#fdfcff;border:1.5px solid #bdb4fa}.exercise-preview mark{background:#ffe1a2;border-radius:3px;padding:1px 3px}.tags{display:flex;gap:6px;margin-top:13px}.tags span{background:#eeebff;color:#6051c4;border-radius:5px;padding:5px 8px;font-size:10px}.add-block{width:100%;border:1px dashed #bdb6cd;background:transparent;color:var(--purple);padding:12px;margin-top:14px;border-radius:9px;font-weight:700;font-size:12px}.properties{padding:21px}.properties h3{font:700 20px Fraunces;margin:5px 0}.small{font-size:11px;color:var(--muted);line-height:1.5}.block-types{display:grid;gap:5px;margin-top:17px}.block-types button{background:#faf9fc;border-radius:7px;padding:10px;text-align:left;color:var(--purple);font-size:15px}.block-types button span{color:#595565;font-size:11px;margin-left:9px;font-weight:600}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:20px}.stat-row>div{border:1px solid var(--line);border-radius:13px;background:white;padding:19px}.stat-row span{display:block;font-size:12px;color:var(--muted)}.stat-row b{font:700 31px Fraunces;display:inline-block;margin:7px 10px 0 0}.stat-row em{font-style:normal;color:var(--green);font-size:10px}.stat-row .warn{color:#d9724d}.table-card{padding:0;overflow:hidden}.table-tools{padding:17px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.search{border:1px solid var(--line);padding:7px 10px;border-radius:7px;color:#898499;font-size:14px}.search input{border:0;outline:0;font-size:12px;width:220px}.filter{background:#f2f0f6;padding:8px 12px;border-radius:7px;font-size:11px;color:#5c5868}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#9590a1;font-size:9px;letter-spacing:.5px;padding:14px 19px}td{border-top:1px solid var(--line);padding:14px 19px;color:#656172}td b{color:var(--ink);margin-right:8px}td small{display:block;color:#9995a4;margin:3px 0 0 41px;font-size:10px}.mini-progress{display:inline-block;width:90px;height:5px;background:#ededf2;border-radius:4px;margin-right:7px;vertical-align:middle}.attention{color:#d66d50;background:#fff0ea;padding:5px 7px;border-radius:5px}.migration-badge{background:#e5f8f0;color:#187a5d;font-weight:700;font-size:11px;border-radius:20px;padding:8px 11px}.migration-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:27px;max-width:940px}.step{display:flex;gap:10px;align-items:center;position:relative}.step:not(:last-child):after{content:"";height:1px;background:#dedbe7;position:absolute;left:38px;right:-3px;top:17px;z-index:-1}.step>span{background:#eeeaf6;color:#8c8796;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:12px;font-weight:700}.step b{font-size:12px}.step p{font-size:10px;color:var(--muted);margin:4px 0}.step.done>span{background:#7b6be4;color:white}.step.done i{color:var(--green);font-style:normal;font-weight:700}.step.active>span{background:var(--purple);color:white;box-shadow:0 0 0 5px #eae7ff}.migration-grid{display:grid;grid-template-columns:minmax(550px,2fr) minmax(250px,1fr);gap:19px}.card-head{display:flex;justify-content:space-between;align-items:start;padding-bottom:14px}.card-head h2{font:700 23px Fraunces;margin:0}.card-head p{color:var(--muted);font-size:12px;margin:6px 0}.import-option{display:flex;align-items:center;gap:11px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer}.import-option input{accent-color:var(--purple)}.option-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:8px;font-size:16px}.peach-icon{background:#ffe0d4;color:#cf765b}.blue-icon{background:#dcebff;color:#628fc7}.lilac-icon{background:#ebe4ff;color:#876fc2}.yellow-icon{background:#fff0bf;color:#bd9037}.import-option span:nth-child(3){flex:1}.import-option b{font-size:12px;display:block}.import-option small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.import-option em{font-style:normal;color:var(--green);font-size:10px;font-weight:700}.notice{background:#f4f2ff;display:flex;gap:10px;padding:12px;border-radius:8px;margin:14px 0}.notice span{color:var(--purple);border:1px solid #9488ef;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px}.notice p{font-size:11px;line-height:1.45;color:#69637b;margin:0}.wide{width:100%;background:var(--purple);color:#fff}.migration-foot{text-align:center;color:#9691a0;font-size:10px}.migration-side{display:grid;gap:17px}.migration-side h3{font:700 18px/1.3 Fraunces;margin:5px 0 16px}.compat{display:grid;gap:9px;font-size:11px;color:#676375}.compat span{display:flex;align-items:center}.compat i{width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:7px}.compat i.review{background:#f4af52}.compat b{margin-left:auto;font-size:10px;color:#494556}.help-move{background:#fff3d8;border-color:#ffebbf}.help-move>span{color:#f39950;font-size:20px}.help-move p{font-size:11px;color:#756a58;line-height:1.5}.help-move button{font-size:11px;background:transparent;color:#9b622c;text-decoration:underline;font-weight:700;padding:0}.modal{display:none;position:fixed;inset:0;background:rgba(38,32,61,.5);z-index:5;place-items:center;padding:20px}.modal.open{display:grid}.lesson-modal{position:relative;width:min(620px,100%);background:#fff;border-radius:18px;padding:40px}.modal-close{position:absolute;right:18px;top:15px;background:transparent;font-size:28px;color:#817c8d}.modal-progress{height:6px;background:#eeedf2;border-radius:5px;overflow:hidden;margin-bottom:30px}.lesson-modal h1{font-size:34px}.lesson-copy{color:var(--muted);font-size:14px;margin:11px 0 28px}.gap-task{background:#fbfafe;border-radius:12px;padding:24px}.gap-task p{font:600 17px Fraunces}.gap{background:#f0edff;color:var(--purple);border-bottom:2px solid #8474e2;border-radius:4px;padding:4px 15px;min-width:100px}.gap.filled{background:#dff6eb;color:#187957;border-bottom-color:#50b68e}.word-bank{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.word-bank button{background:white;border:1px solid #ded9ee;color:#5e576e;padding:8px 12px;border-radius:7px;font-size:12px}.word-bank button.used{opacity:.3}.lesson-footer{margin-top:27px;display:flex;justify-content:space-between;align-items:center;color:#888394;font-size:12px}.lesson-footer .primary{background:var(--purple);color:white}.toast{display:none;position:fixed;right:28px;bottom:28px;background:#272340;color:#fff;padding:14px 18px;border-radius:10px;font-size:13px;box-shadow:var(--shadow);z-index:9}.toast.show{display:block}@media(max-width:1050px){.properties{display:none}.editor-layout{grid-template-columns:210px 1fr}.course-grid{grid-template-columns:repeat(2,1fr)}.migration-grid{grid-template-columns:1fr}.hero-art{width:260px}.sidebar{width:215px}.main{margin-left:215px;width:calc(100% - 215px)}}@media(max-width:760px){.sidebar{display:none}.main{margin:0;width:100%}.topbar,.view{padding-left:20px;padding-right:20px}.view{padding-top:28px}.hero{padding:28px;min-height:250px}.hero-art{display:none}.course-grid,.lower-grid,.stat-row,.editor-layout{grid-template-columns:1fr}.course-grid{gap:12px}.lower-grid{gap:12px}.lesson-tree{display:none}.page-heading{align-items:flex-start;gap:10px}.page-heading h1,.hero h1{font-size:30px}.migration-steps{grid-template-columns:1fr;gap:9px}.step:not(:last-child):after{display:none}.top-actions .role-switch{display:none}table{min-width:650px}.table-card{overflow:auto}}
