@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--ink:#17352f;--muted:#66766f;--paper:#f7f4eb;--surface:#fffdf7;--line:#dcd7c9;--accent:#e95f3c;--accent-dark:#c94326;--green:#2d6a5b;--green-soft:#dceae2;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#f7f4ebeb;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,5vw,76px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;font:700 22px Fraunces,serif;text-decoration:none;display:flex}.brand-glyph{background:var(--ink);width:35px;height:35px;color:var(--paper);border-radius:50% 50% 45% 55%/55% 45%;place-items:center;display:grid}.topbar nav{align-items:center;gap:26px;font-size:14px;font-weight:600;display:flex}.topbar nav>a:not(.button){text-decoration:none}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 0}.topbar-language{color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.topbar-language select{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fff;border-radius:10px;padding:5px 28px 5px 10px}.mobile-menu-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:42px;height:42px;display:none}.mobile-menu-button span{background:var(--ink);width:18px;height:2px;margin:4px auto;display:block}.mobile-nav-backdrop{z-index:50;background:#17352f61;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-nav{background:var(--surface);align-content:start;gap:18px;width:min(340px,100vw - 36px);height:100%;padding:22px;display:grid;box-shadow:-12px 0 40px #17352f2e}.mobile-nav nav{gap:16px;font-weight:700;display:grid}.mobile-nav a{text-decoration:none}.mobile-nav-close{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;justify-self:end;width:38px;height:38px;font-size:24px}.button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:100px;justify-content:center;align-items:center;min-height:46px;padding:0 22px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px #e95f3c33}.button:hover{background:var(--accent-dark)}.button-small{min-height:38px;padding:0 17px}.button-secondary{color:var(--green);background:var(--green-soft);box-shadow:none}.button-secondary:hover{background:#cde0d5}.hero{background:radial-gradient(circle at 78% 38%,#e95f3c1f 0 8%,#0000 8.2%),radial-gradient(circle at 86% 66%,#2d6a5b1f 0 14%,#0000 14.2%);grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:center;gap:clamp(40px,8vw,130px);min-height:510px;padding:72px clamp(24px,9vw,140px);display:grid}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:800}h1,h2,h3{font-family:Fraunces,Georgia,serif}.hero h1{letter-spacing:-.045em;max-width:720px;margin:0;font-size:clamp(54px,7vw,94px);line-height:.96}.hero-copy{max-width:600px;color:var(--muted);margin:28px 0;font-size:18px;line-height:1.65}.hero-card{background:var(--ink);color:#fff;width:280px;box-shadow:20px 24px 0 var(--green-soft);border-radius:48% 52% 46% 54%/52% 42% 58% 48%;justify-self:center;padding:38px;transform:rotate(2deg)}.hero-card span{font:700 56px/1 Fraunces,serif;display:block}.hero-card p{color:#bcd1c9;margin:4px 0 24px}.hero-card p:last-child{margin-bottom:0}.course-section{padding:80px clamp(24px,9vw,140px) 110px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:36px;display:flex}.section-heading h2{margin:0;font-size:42px}.set-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;display:grid}.set-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px}.set-number{color:var(--accent);letter-spacing:.15em;font-size:12px;font-weight:800}.set-card h3{margin:12px 0 8px;font-size:26px}.set-card>p{min-height:48px;color:var(--muted);line-height:1.5}.set-card ol{border-top:1px solid var(--line);margin:24px 0 0;padding:0;list-style:none}.set-card li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:15px 0;font-weight:600;display:flex}.set-card small{color:var(--muted);white-space:nowrap;font-weight:500}.set-card li.completed{color:var(--green)}.set-card li a{text-decoration:none}.set-cover{aspect-ratio:16/9;object-fit:cover;border-radius:16px;width:100%;margin-bottom:18px}.course-layers{gap:28px;display:grid}.section-actions{flex-wrap:wrap;gap:10px;display:flex}.builder-page{grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.builder-sidebar{overscroll-behavior-y:contain;scrollbar-gutter:stable;color:#fff;background:var(--ink);flex-direction:column;align-self:start;height:calc(100vh - 76px);padding:52px 36px;display:flex;position:sticky;top:76px;overflow-y:auto}.builder-sidebar h1{margin:0 0 16px;font-size:38px;line-height:1.05}.builder-sidebar>p:not(.eyebrow){color:#b9cbc5;line-height:1.6}.builder-sidebar nav{margin-top:42px;display:grid}.builder-sidebar nav a{color:#fff;border-top:1px solid #3c5951;gap:12px;padding:14px 0;font-weight:600;text-decoration:none;display:flex}.builder-sidebar nav span{color:#88a49b}.full-builder{grid-template-columns:360px minmax(0,1fr)}.lesson-set-workspace{min-width:0;padding:0 0 100px}.builder-sticky-toolbar{z-index:12;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f4ebf5;justify-content:flex-end;align-items:center;gap:10px;min-height:72px;padding:12px clamp(20px,4vw,56px);display:flex;position:sticky;top:76px}.builder-sticky-toolbar>div:first-child{margin-right:auto;display:grid}.builder-sticky-toolbar button,.builder-section button,.builder-sidebar button{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;padding:7px 12px}.builder-sticky-toolbar button:disabled,.builder-section button:disabled,.builder-sidebar button:disabled{opacity:.45;cursor:not-allowed}.danger-button,.danger{color:#a83929!important}.save-state.dirty{color:var(--accent)}.builder-section{border:1px solid var(--line);background:var(--surface);border-radius:26px;width:min(1080px,100% - 40px);margin:32px auto;padding:clamp(22px,4vw,38px)}.section-heading.compact{align-items:center;margin-bottom:22px}.section-heading.compact h3{margin:0;font-size:28px}.field{gap:7px;min-width:0;display:grid}.field>span,.media-input label>span{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:700}.field input,.field select,.field textarea,.library-picker input,.library-picker select,.course-language-settings input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:10px;padding:9px 12px}.field textarea{resize:vertical;line-height:1.45}.field-hint{color:var(--muted);font-size:12px;line-height:1.4}.field-error{color:#ffb8aa;font-size:12px;font-weight:700}.grow{flex:1}.two-column-fields,.translation-grid,.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.translation-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:18px 0}.media-grid{margin-top:18px}.media-input{gap:9px;display:grid}.media-input label{gap:7px;display:grid}.file-picker-row{border:1px dashed var(--line);cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:5px;display:grid;position:relative}.file-picker-row input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-picker-row input:disabled{cursor:not-allowed}.file-picker-button{background:var(--green);border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex;color:#fff!important}.file-picker-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden;color:var(--muted)!important}.media-preview{align-items:center;gap:12px;display:flex}.media-preview img{object-fit:cover;border-radius:10px;width:110px;height:76px}.media-preview audio{max-width:240px}.audio-recorder{flex-wrap:wrap;align-items:center;gap:9px;margin-top:6px;display:flex}.audio-recorder button,.media-preview button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-height:34px;padding:6px 11px}.audio-recorder audio{width:min(280px,100%)}.recording-state{color:var(--accent);font-size:13px;font-weight:800}.recording-error{color:#a83929;width:100%;font-size:12px}.preview-link{border:1px solid var(--line);white-space:nowrap;border-radius:10px;padding:9px 12px;text-decoration:none}.vocab-list{gap:14px;margin-top:20px;display:grid}.vocab-editor{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px}.vocab-toolbar{align-items:center;gap:8px;display:flex}.vocab-toolbar strong{margin-right:auto}.vocabulary-page{width:min(1180px,100% - 40px);margin:0 auto;padding:64px 0 110px}.vocabulary-header{justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;display:flex}.vocabulary-header h1{margin:0;font-size:clamp(44px,6vw,72px)}.vocabulary-header p:not(.eyebrow){max-width:680px;color:var(--muted);line-height:1.6}.vocabulary-controls{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:24px;padding:18px;display:grid}.course-vocabulary-list{gap:16px;display:grid}.library-vocab-card{padding:clamp(20px,3vw,30px)}.library-vocab-card .vocab-toolbar>div{gap:4px;margin-right:auto;display:grid}.library-vocab-card .vocab-toolbar strong{font:700 25px Fraunces,serif}.library-vocab-card .vocab-toolbar small{color:var(--muted)}.vocab-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.vocab-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:38px;padding:0 15px}.vocab-actions .button{background:var(--accent);border:0}.vocab-actions button:disabled{opacity:.5;cursor:not-allowed}.library-picker{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lesson-editor{margin:18px 0}.lesson-heading{flex-wrap:wrap;align-items:center}.checkbox-field{white-space:nowrap;align-items:center;gap:8px;display:flex}.unit-card.unit-editor{min-height:auto;padding:0;display:block;overflow:hidden}.unit-editor-heading{grid-template-columns:36px 34px minmax(180px,1fr) auto auto;align-items:center;gap:8px;padding:12px 14px;display:grid}.unit-summary{text-align:left;justify-items:start;background:0 0!important;border:0!important;min-height:auto!important;padding:0!important;display:grid!important}.unit-editor-body{border-top:1px solid var(--line);background:#fcfbf6;gap:16px;padding:18px 22px 24px;display:grid}.activity-validation{color:#8f321f;background:#fff2ee;border:1px solid #efb4a6;border-radius:10px;gap:3px;padding:11px 13px;font-size:12px;display:grid}.unit-config{gap:15px;display:grid}.choice-grid{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;padding:14px;display:grid}.choice-grid label,.inline-options label{align-items:center;gap:8px;display:flex}.inline-options{flex-wrap:wrap;gap:20px;display:flex}.fill-blank-choice-editor{border:1px solid var(--line);border-radius:12px;gap:10px;padding:14px;display:grid}.fill-blank-choice{border:1px solid var(--green);background:var(--green-soft);border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.fill-blank-choice span{gap:2px;display:grid}.fill-blank-choice small{color:var(--green);font-size:12px}.add-activity-row{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.course-language-settings{border:1px solid #3c5951;border-radius:14px;gap:10px;margin-top:24px;padding:16px;display:grid}.course-language-settings label{color:#b9cbc5;gap:5px;font-size:12px;display:grid}.locale-chip-editor{gap:8px;display:grid}.locale-chip-list{flex-wrap:wrap;gap:6px;min-height:28px;display:flex}.locale-chip{color:#12332b;background:#dceae2;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 7px 4px 10px;font-size:12px;font-weight:800;display:inline-flex}.locale-chip.invalid{color:#8f321f;background:#fff2ee}.locale-chip button{width:18px;min-height:18px;color:inherit;background:#ffffff8c;border:0;border-radius:50%;padding:0;line-height:1}.lesson-set-nav{flex:none;gap:12px}.layout-layer{border:1px solid #3c5951;border-radius:12px;padding:10px}.layer-label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.lesson-set-nav-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;display:grid}.lesson-set-nav-item>button{color:#fff;text-align:left;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;background:0 0;border-color:#0000;min-width:0;overflow:hidden}.lesson-set-nav-item.active>button{background:#284b42;border-color:#88a49b}.lesson-set-nav-item>div{display:flex}.lesson-set-nav-item>div button{color:#b9cbc5;background:0 0;border:0;min-width:25px;padding:3px}.sidebar-add{width:100%;margin-top:16px;color:#fff!important;background:#284b42!important;border-color:#56766c!important}.empty-state{color:var(--muted);text-align:center;padding:80px}.builder-workspace{width:min(920px,100%);padding:58px clamp(24px,6vw,82px) 110px}.builder-title{margin-bottom:42px}.builder-title h2{margin:0;font-size:44px}.lesson-editor{background:var(--surface);border:1px solid var(--line);border-radius:26px;margin-bottom:46px;padding:32px;scroll-margin-top:105px}.lesson-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.lesson-heading h2{margin:0;font-size:29px}.save-state{min-height:20px;color:var(--green);font-size:13px;font-weight:700}.builder-hint{color:var(--muted);font-size:14px}.unit-list{gap:10px;margin-top:22px;display:grid}.unit-card{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:28px 40px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:100px;padding:14px 20px 14px 14px;display:grid;box-shadow:0 4px 14px #17352f0a}.unit-card.is-dragging{z-index:10;border-color:var(--accent);opacity:.92;box-shadow:0 16px 35px #17352f2e}.drag-handle{cursor:grab;touch-action:none;background:0 0;border:0;grid-template-columns:repeat(2,4px);gap:4px;padding:13px 8px;display:grid}.drag-handle:active{cursor:grabbing}.drag-handle span{background:#94a39e;border-radius:50%;width:4px;height:4px}.unit-index{color:#9baaa4;font-size:13px;font-weight:800}.unit-kind{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.unit-copy h4{margin:4px 0;font-size:16px}.unit-copy p{color:var(--muted);margin:0;font-size:13px}.unit-answer{color:var(--green);background:var(--green-soft);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:700}.add-unit{width:100%;color:var(--green);cursor:pointer;background:0 0;border:1px dashed #aab6b1;border-radius:15px;margin-top:12px;padding:16px;font-weight:700}.add-unit:hover{border-color:var(--green);background:#f4f8f5}.add-unit span{font-size:18px}.empty-training{text-align:center;place-content:center;justify-items:center;min-height:calc(100vh - 76px);padding:32px;display:grid}.empty-training h1{max-width:720px;margin:0 0 28px;font-size:clamp(38px,6vw,72px)}.levels-page{width:min(1440px,100% - 40px);margin:0 auto;padding:52px 0 96px}.levels-header{justify-content:space-between;align-items:end;gap:26px;margin-bottom:28px;display:flex}.levels-header h1{margin:0;font-size:clamp(42px,5vw,66px);line-height:1}.levels-header p:not(.eyebrow){max-width:720px;color:var(--muted);line-height:1.55}.level-view-controls{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.level-view-controls button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:999px;padding:0 13px;font-size:13px;font-weight:800}.level-view-controls button[aria-pressed=true]{color:var(--green);border-color:var(--green);background:var(--green-soft)}.levels-layout{grid-template-columns:292px minmax(0,1fr);align-items:start;gap:22px;display:grid}.levels-layout.levels-list-collapsed{grid-template-columns:minmax(0,1fr)}.level-list{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:10px;padding:12px;display:grid;position:sticky;top:98px}.level-list-item{width:100%;min-height:72px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;gap:4px;padding:14px;display:grid}.level-list-item.active{border-color:var(--green);background:var(--green-soft)}.level-list-item span{font-weight:800}.level-list-item small,.level-empty span,.level-panel-heading span,.muted-line{color:var(--muted);font-size:13px}.level-empty{gap:5px;padding:18px;display:grid}.level-workspace{gap:22px;min-width:0;display:grid}.level-overview{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:18px;padding:clamp(20px,3vw,30px);display:grid}.level-title-block{gap:12px;min-width:0;display:grid}.level-title-block h2{margin:0;font-size:36px}.level-title-block p{color:var(--muted);margin:0;line-height:1.5}.level-metrics{grid-template-columns:repeat(2,minmax(96px,1fr));align-content:start;gap:10px;display:grid}.level-metrics span{border:1px solid var(--line);min-height:70px;color:var(--muted);text-transform:uppercase;background:#fff;border-radius:12px;gap:2px;padding:12px;font-size:12px;font-weight:800;display:grid}.level-metrics strong{color:var(--ink);font:700 27px/1 Fraunces,serif}.level-settings-grid{grid-column:1/-1;grid-template-columns:minmax(140px,1fr) minmax(100px,.5fr) auto auto auto;align-items:end;gap:12px;display:grid}.switch-field{min-height:42px;color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:800;display:inline-flex}.switch-field input{width:18px;height:18px;accent-color:var(--green)}.level-actions{flex-wrap:wrap;gap:8px;display:flex}.level-actions .button{min-height:42px;padding:0 16px}.level-join-panel{align-content:start;justify-items:start;gap:10px;display:grid}.level-join-panel p{color:var(--muted);margin:0}.level-columns{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start;gap:22px;display:grid}.level-columns.enrollment-collapsed{grid-template-columns:minmax(0,1fr)}.level-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-width:0;padding:clamp(18px,3vw,26px)}.level-panel-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.level-panel-heading h2{margin:0;font-size:30px}.session-editor,.student-editor{border:1px solid var(--line);background:#fcfbf6;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:20px;padding:14px;display:grid}.session-editor .field:nth-child(3),.student-editor .field:first-child{grid-column:1/-1}.session-editor button,.student-editor button{align-self:end;min-height:42px}.timeline-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.timeline-item{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:12px;min-height:88px;padding:15px;display:grid}.timeline-item.cancelled{color:var(--muted);background:#f2eee4}.timeline-dot{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:900;display:grid}.timeline-item strong,.enrollment-row strong{margin-bottom:3px;display:block}.timeline-item small,.enrollment-row small{color:var(--muted);line-height:1.35;display:block}.timeline-item p{color:var(--ink);margin:9px 0 0;line-height:1.45}.timeline-content{min-width:0}.timeline-item em{color:var(--accent);margin-top:8px;font-size:12px;font-style:normal;font-weight:900;display:inline-block}.timeline-actions,.enrollment-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.timeline-actions button,.enrollment-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-height:34px;padding:0 11px}.level-panel details{color:var(--muted);gap:5px;margin-top:9px;font-size:12px;display:grid}.level-panel details span{margin-top:4px;display:block}.session-inline-editor{border:1px solid var(--green);background:var(--green-soft);border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px;padding:14px;display:grid}.session-inline-editor .field:nth-child(3){grid-column:1/-1}.session-inline-actions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.session-inline-actions .button{min-height:38px;padding:0 14px}.session-inline-actions button:not(.button){border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-height:38px;padding:0 12px}.enrollment-group{gap:9px;margin-top:19px;display:grid}.enrollment-group h3{margin:0;font-size:20px}.enrollment-row{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.lesson-player{min-height:calc(100vh - 76px);padding:34px clamp(20px,8vw,120px) 80px}.lesson-player>header{max-width:900px;color:var(--muted);justify-content:space-between;align-items:center;gap:18px;margin:0 auto 22px;display:flex}.player-exit{color:var(--muted);font-weight:800;text-decoration:none}.player-progress{text-align:right;gap:7px;width:min(520px,100%);font-size:13px;font-weight:800;display:grid}.progress-track{background:var(--green-soft);border-radius:999px;height:8px;overflow:hidden}.progress-track div{border-radius:inherit;background:var(--green);height:100%;transition:width .2s}.activity-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:32px;width:min(900px,100%);min-height:480px;margin:auto;padding:clamp(24px,5vw,58px);box-shadow:0 18px 60px #17352f14}.activity-card h1{margin:0 0 12px;font-size:clamp(44px,8vw,82px);line-height:1}.activity-card .translation{color:var(--muted);font-size:24px}.activity-card>button{margin-top:20px}.generated-unit-image{object-fit:contain;border-radius:18px;width:min(100%,480px);max-height:340px;margin-bottom:20px}.auth-notice{color:var(--muted);font-size:14px;font-weight:700}.error-text{color:#a83929;font-size:14px;font-weight:800}.mistake-feedback{color:#a83929;font-size:14px;font-weight:700}.mistake-feedback p{margin:4px 0}.mistakes{color:var(--accent);font-size:13px;font-weight:700}.image-answer{cursor:pointer;background:0 0;border:0}.image-answer img{object-fit:cover;border-radius:24px;width:min(420px,100%);max-height:290px}.quiz-options,.pair-options,.word-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0;display:grid}.pair-options{align-items:start}.pair-column{gap:10px;display:grid}.pair-column>span{color:var(--muted);letter-spacing:.08em;font-size:12px;font-weight:800}.quiz-options button,.pair-options button,.word-options button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:16px;min-height:70px;padding:14px}.quiz-options button.selected,.pair-options button.selected,.word-options button.selected{border-color:var(--accent);background:#fff7ed;box-shadow:0 0 0 3px #d977062e}.quiz-options button.correct,.pair-options button.matched{color:var(--green);border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px #1d7f5b33}.quiz-options img{object-fit:cover;border-radius:10px;width:100%;height:150px;margin-bottom:8px}.pair-options button:disabled{cursor:default}.blank-prompt{margin:32px;font:600 clamp(26px,4vw,42px) Fraunces,serif}.completed-screen{text-align:center;place-content:center;justify-items:center;display:grid}.completed-screen h1{margin:0;font-size:clamp(58px,9vw,110px)}.completion-score{color:var(--green);font-weight:800}.completion-actions{gap:12px;margin-top:20px;display:flex}.completion-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:0 22px}.center{min-height:70vh;color:var(--muted);place-content:center;justify-items:center;display:grid}.spinner{border:3px solid var(--green-soft);border-top-color:var(--green);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}.error-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;max-width:520px;padding:32px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=820px){.topbar{padding:0 20px}.desktop-nav{display:none!important}.mobile-menu-button{display:block}.hero{background:var(--paper);grid-template-columns:1fr;gap:28px;min-height:auto;padding:44px 20px 56px}.hero h1{letter-spacing:0;font-size:48px;line-height:1.02}.hero-copy{margin:20px 0}.hero-card{width:min(260px,100%);box-shadow:none;border-radius:24px;justify-self:start;padding:28px;transform:none}.section-heading{flex-direction:column;align-items:start;gap:22px}.levels-page{width:min(100% - 28px,1440px);padding-top:32px}.levels-header,.level-panel-heading{flex-direction:column;align-items:start}.levels-layout,.level-overview,.level-columns,.level-settings-grid,.session-editor,.student-editor,.session-inline-editor{grid-template-columns:1fr}.level-list{position:static}.level-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item,.enrollment-row{grid-template-columns:1fr}.timeline-dot{width:32px;height:32px}.builder-page{display:block}.builder-sidebar{width:100%;height:auto;position:static;overflow:visible}.builder-sidebar nav{display:grid}.builder-workspace{padding:38px 16px 80px}.lesson-editor{padding:22px 14px}.unit-card{grid-template-columns:28px 28px minmax(0,1fr)}.unit-answer{grid-column:1/-1;justify-self:start}.builder-sticky-toolbar{flex-wrap:wrap;top:76px}.builder-section{width:calc(100% - 20px);padding:18px 12px}.two-column-fields,.media-grid,.library-picker{grid-template-columns:1fr}.vocabulary-header{flex-direction:column;align-items:start}.vocabulary-controls{grid-template-columns:1fr}.unit-editor-heading{grid-template-columns:34px 28px minmax(100px,1fr)}.unit-editor-heading>.text-button{display:none}.add-activity-row{grid-template-columns:repeat(2,1fr)}.quiz-options,.pair-options{grid-template-columns:1fr}.lesson-player{padding:24px 14px 60px}.lesson-player>header{align-items:stretch}.activity-card h1{font-size:40px}.completion-actions{flex-direction:column}}
