:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color-scheme:dark;--bg:#101011;--surface:#19181b;--ink:#f5f1eb;--muted:#c0b8bf;--line:#3c343d;--accent:#e7a3d1;--button-ink:#241320;--soft:#2a202a;--violet:#b997dc;--radius:5px;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0;line-height:1.55;background:var(--bg)}button,input,textarea,select{font:inherit}button,a,input,textarea,summary,select{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus,textarea:focus,select:focus{outline:2px solid var(--accent)}button{padding:11px 17px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:7px;cursor:pointer;font-size:14px}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}.primary{background:var(--accent);color:var(--button-ink);font-weight:650;border-color:var(--accent)}.primary:hover{filter:brightness(1.08)}a{color:var(--accent)}h1,h2,h3,h4{line-height:1.3}h1{font-size:34px;font-weight:600;letter-spacing:-1px;margin:10px 0 15px}h2{font-size:23px;font-weight:600;letter-spacing:-.4px}h3{font-size:19px}p{color:var(--muted);line-height:1.8}small,.hint{font-size:12px;color:var(--muted)}[hidden]{display:none!important}aside{position:fixed;inset:0 auto 0 0;width:248px;background:var(--surface);border-right:1px solid var(--line);padding:32px 23px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;font-size:14px;font-weight:650;line-height:1.4}.brand-mark{display:grid;place-items:center;flex:none;width:38px;height:43px;background:var(--accent);color:var(--button-ink);border-radius:6px}.brand small{display:block;font-size:7px;letter-spacing:1.2px;margin-top:8px}.nav-label{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin:50px 0 14px}.main-nav{display:grid;gap:7px}.main-nav button{text-align:left;border:0;background:transparent;padding:14px 12px}.main-nav button.active{border-left:3px solid var(--accent);background:var(--soft);border-radius:4px}.side-note{margin-top:auto;padding:22px 15px;background:var(--soft);border-radius:var(--radius)}.side-note p{font-size:22px;line-height:1.4;color:var(--ink);margin:18px 0}.side-note .eyebrow{font-size:8px}.side-note small{font-size:11px}.profile{display:flex;gap:9px;align-items:center;font-size:11px;margin-top:28px;flex-wrap:wrap}.profile small{display:block;font-size:9px}.profile button{font-size:10px;padding:6px;margin-left:auto}.avatar{display:grid;place-items:center;background:var(--soft);border-radius:50%;width:29px;height:29px}main{margin-left:248px;padding:0 42px 60px;max-width:1600px}header{height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);gap:15px;margin-bottom:30px}.header-note{font-size:10px}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:1.7px;font-weight:600}.page-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:25px 0 30px}.page-title p{font-size:14px;max-width:750px}.page-title .actions{max-width:430px;justify-content:flex-end}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.course-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.course-cover{position:relative;overflow:hidden;height:130px;background:linear-gradient(110deg,#35243f,#211e2b);padding:24px}.course-cover .eyebrow{font-size:8px;position:relative;z-index:1}.cover-art{position:absolute;right:25px;top:-25px;width:180px;height:180px;transform:rotate(-20deg)}.cover-art i{position:absolute;inset:18px;border:2px solid var(--violet);border-radius:25px;transform:rotate(15deg)}.cover-art i:nth-child(2){inset:40px;border-color:var(--accent);transform:rotate(35deg)}.cover-art i:nth-child(3){inset:60px;background:#b782f71f;transform:rotate(55deg)}.course-body{padding:28px}.course-body h2{font-size:25px;margin-top:12px}.course-body p{font-size:14px}.course-body>.primary{width:100%;margin-top:8px}.progress-caption{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-top:25px}.progress-caption b{color:var(--ink)}progress{display:block;width:100%;height:5px;border:0;border-radius:8px;appearance:none;background:var(--soft);margin:12px 0;accent-color:var(--accent)}progress::-webkit-progress-bar{background:var(--soft);border-radius:8px}progress::-webkit-progress-value{background:var(--accent);border-radius:8px}progress::-moz-progress-bar{background:var(--accent);border-radius:8px}.resume-label{min-height:45px;color:var(--muted);font-size:12px!important}.support-note{border-top:1px solid var(--line);padding-top:25px;margin-top:40px}.support-note b{font-size:15px;font-weight:550}.support-note p{font-size:13px}.archive{margin:25px 0}.archive button{display:block;margin-top:12px}.badge{display:inline-block;padding:4px 9px;border:1px solid var(--line);border-radius:5px;font-size:10px;color:var(--muted)}.badge.published{color:var(--accent);border-color:#78506f}.badge.draft{color:#d6bef4}.badge.archived{color:var(--muted)}.text-button{border:0;padding-left:0;background:transparent;color:var(--accent)}.course-progress{border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:20px;font-size:13px;background:var(--surface)}.course-progress small{display:block;margin-top:10px}.lesson-stack{display:grid;gap:13px}.lesson{background:var(--surface);border:1px solid var(--line);border-radius:10px;scroll-margin-top:20px;overflow:hidden}.lesson[open]{border-color:#6c4d79}.lesson>summary{display:flex;align-items:center;gap:16px;padding:22px;cursor:pointer;list-style:none}.lesson>summary::-webkit-details-marker{display:none}.lesson-number{display:grid;place-items:center;flex-shrink:0;width:33px;height:33px;border:1px solid var(--line);color:var(--accent);font-size:13px;border-radius:50%}.completed .lesson-number{background:var(--soft);border-color:var(--accent)}.lesson-heading{display:grid;gap:5px}.lesson-heading b{font-size:16px;font-weight:550}.lesson-heading small{font-size:10px}.toggle-label{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.lesson-content{padding:0 28px 28px}.lesson-content h2{margin-top:20px}.lesson-summary{font-size:14px}.reorder{display:flex;align-items:center;gap:8px;margin:0 25px 15px}.reorder [draggable]{font-size:24px;padding:0 7px;cursor:grab;color:var(--accent)}.reorder button{padding:4px 12px}video{display:block;width:100%;max-height:600px;background:#08070b;border-radius:9px;margin:20px 0}.video-empty{background:var(--soft);padding:30px;text-align:center;border-radius:8px;margin-top:20px}.video-empty span{font-size:40px;color:var(--accent)}.video-empty p{font-size:12px}.body-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:16px;margin:24px 0}.lesson-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line)}.practice,.prompt,.mistakes{border:1px solid var(--line);padding:22px;border-radius:9px;margin:22px 0}.practice{background:var(--soft);border-left:3px solid var(--accent)}.practice .body-text,.mistakes .body-text{font-size:15px}.prompt>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.prompt h4{margin:0}.prompt pre{font:14px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);padding:18px;border-radius:6px;color:var(--ink)}.prompt p{font-size:13px}.prompt button{font-size:12px}.download{display:block;color:var(--ink);background:var(--soft);padding:14px;border-radius:6px;text-decoration:none;overflow-wrap:anywhere;margin:10px 0}.upload-box{margin-top:30px;border-top:1px solid var(--line);padding-top:18px}.upload-box p{font-size:12px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;font-size:12px;overflow-wrap:anywhere}.file-row button{font-size:11px;padding:6px 10px}.upload-state{color:var(--accent)}label{display:block;color:var(--muted);font-size:13px;margin-bottom:20px}input,textarea,select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:7px;padding:12px;background:var(--bg);color:var(--ink);font-size:15px}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{width:auto;margin:0;accent-color:var(--accent)}input[type=file]{font-size:12px;max-width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}fieldset{border:1px solid var(--line);border-radius:8px;padding:20px;margin:20px 0}legend{color:var(--ink);font-weight:550;padding:0 8px;font-size:14px}.auth{max-width:1000px;margin:auto;padding:40px 25px;min-height:100vh;background:radial-gradient(ellipse at top right,#2d2535,transparent 65%)}.auth-brand{font-size:21px;color:var(--ink);font-weight:650;text-decoration:none}.auth-card{max-width:430px;margin:65px auto}.auth-card h1{font-size:36px}.auth-card p{font-size:14px}.auth-card form{margin-top:28px}.auth-card .primary{width:100%}.auth-card .text-button{margin-top:20px}.form-error{color:#f5a5d9;font-size:13px;white-space:pre-wrap}.students{display:grid;gap:20px}.student{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:25px}.student-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.student h2{font-size:20px;margin:0}.student p{font-size:13px}.student details{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.student summary{cursor:pointer;font-size:14px}.student-progress li{padding:7px 0;font-size:13px;color:var(--muted)}.access-list{display:grid;gap:12px;margin-top:20px}.access-list label{display:flex;align-items:center;gap:10px;margin:0}.search{max-width:500px}.account-card{max-width:600px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.account-card p{font-size:13px}.banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:var(--soft);border:1px solid #78506f;border-radius:7px;font-size:13px;margin:20px 0}.banner button{flex-shrink:0}.empty{padding:45px;border:1px dashed var(--line);border-radius:12px;text-align:center}.empty p{font-size:14px}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:28px;width:720px;max-width:95vw;max-height:90vh}dialog::backdrop{background:#08060cbf;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.dialog-head h2{font-size:23px;margin:0}.close{border:0;font-size:25px;padding:0 7px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}#notice:not(:empty){position:fixed;z-index:50;bottom:24px;left:50%;transform:translateX(-50%);padding:15px 24px;max-width:90vw;background:var(--ink);color:var(--bg);box-shadow:0 8px 40px #0006;border-radius:8px;font-size:13px}#notice.error{border:2px solid var(--accent)}@media(min-width:1450px){main{padding-left:65px;padding-right:65px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){aside{width:215px;padding:28px 17px}main{margin-left:215px;padding:0 25px 45px}.course-grid{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}.page-title .actions{justify-content:flex-start;max-width:none}}@media(max-width:760px){aside{position:static;width:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line);gap:16px}.brand{font-size:14px}.brand small{font-size:7px}.nav-label,.side-note{display:none}.main-nav{display:flex;flex-wrap:wrap;gap:5px}.main-nav button{font-size:12px;padding:10px}.profile{margin:0;position:absolute;right:16px;top:23px}.profile>span{display:none}.profile button{font-size:10px}.brand{padding-right:50px}main{margin:0;padding:0 18px 40px}header{height:60px;margin-bottom:24px}.header-note{display:none}h1{font-size:29px}.page-title{margin:20px 0;gap:10px}.page-title p{font-size:13px}.course-body{padding:23px}.course-body h2{font-size:23px}.course-cover{height:115px}.lesson>summary{padding:17px 13px;gap:10px;flex-wrap:wrap}.lesson-heading{max-width:calc(100% - 48px)}.lesson-heading b{font-size:15px}.toggle-label{width:100%;text-align:right;font-size:10px}.lesson-content{padding:0 16px 23px}.lesson-content h2{font-size:22px}.body-text{font-size:15px}.form-grid{grid-template-columns:1fr;gap:0}.lesson-actions{gap:10px}.lesson-actions button{font-size:12px}.prompt,.practice,.mistakes{padding:17px}.student{padding:20px}.student-top{align-items:flex-start;flex-direction:column;gap:5px}.banner{align-items:flex-start;flex-direction:column}.auth-card{margin-top:50px}.auth-card h1{font-size:31px}.account-card{padding:20px}dialog{padding:22px}.empty{padding:28px}.course-progress{padding:16px}.support-note{margin-top:30px}}

/* Editorial direction: generous type, cinematic imagery and quiet navigation. */
html{scroll-behavior:smooth}aside{position:static;inset:auto;max-width:1440px;width:auto;margin:auto;padding:25px 42px;flex-direction:row;align-items:center;gap:30px;border-right:0;border-bottom:1px solid var(--line);background:var(--bg)}.brand{min-width:260px;font-weight:500}.brand-mark{font:23px Georgia,serif;border:1px solid #c99dbb;background:transparent;color:var(--accent);width:47px;height:47px;border-radius:50%}.brand>span{font-size:13px}.brand small{font-size:7px;letter-spacing:1.5px}.nav-label,.side-note{display:none}.main-nav{display:flex;gap:20px;margin-left:auto}.main-nav button{padding:11px 0;background:transparent;font-size:12px;border-radius:0;white-space:nowrap;color:var(--muted)}.main-nav button.active{border-left:0;border-bottom:1px solid var(--accent);background:transparent;color:var(--ink)}.profile{margin:0;flex-wrap:nowrap}.profile>.avatar,.profile>span:not(.avatar){display:none}.profile button{padding:9px 13px;font-size:10px;background:transparent}.brand{padding-right:0}main{max-width:1440px;margin:0 auto;padding:0 42px 60px}header{height:52px;margin-bottom:20px;font-size:10px}.editorial-hero{position:relative;isolation:isolate;min-height:390px;display:flex;align-items:center;overflow:hidden;background:#131014 url('/images/school-editorial.png') center 57%/cover no-repeat;border:1px solid #3d303d}.editorial-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100e12d9 0%,#100e1280 40%,transparent 72%)}.editorial-copy{padding:44px 48px;max-width:66%}.editorial-copy h2{font:52px/1.08 Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.8px;margin:25px 0 22px}.editorial-copy h2 em{font-weight:400;color:#e6b9d4}.editorial-copy .eyebrow{font-size:8px;letter-spacing:2.4px;color:#dec8d9}.editorial-copy p{font-size:13px;color:#ded5dc;line-height:1.8}.hero-link{display:inline-flex;align-items:center;gap:30px;text-decoration:none;color:#f5e5ef;border-bottom:1px solid #b388a8;font-size:10px;letter-spacing:1.4px;padding:12px 0;margin-top:8px;text-transform:uppercase}.hero-link span{font-size:20px}.hero-caption{position:absolute;right:24px;bottom:20px;color:#d6c1d1;font-size:7px;letter-spacing:2px}.page-title{margin-top:36px}.page-title h1{font-size:30px;font-weight:500;letter-spacing:-.8px}.course-grid:has(>.course-card:only-child){grid-template-columns:1fr}.course-grid:has(>.course-card:only-child)>.course-card{display:grid;grid-template-columns:.7fr 1fr}.course-cover{height:auto;min-height:200px;background:#191319 url('/images/school-editorial.png') 78% center/cover no-repeat}.course-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0c090c40,#0c090c00 60%,#0c090c40)}.course-cover .eyebrow{color:#f1dce9;text-shadow:0 1px 8px #000}.cover-art{display:none}.course-body{padding:30px 35px}.course-body h2{font:29px/1.2 Georgia,serif;letter-spacing:-.5px}.course-body>.primary{width:auto;min-width:210px;border-radius:0;padding:13px 22px}.progress-caption{margin-top:20px}.resume-label{min-height:0;margin:14px 0}.course-card{border-radius:0}.primary{border-radius:2px}.support-note{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:25px;margin-top:38px}.support-note b{font:22px Georgia,serif;font-style:italic}.support-note p{max-width:480px;font-size:12px}.course-progress,.lesson,.practice,.prompt,.account-card,.student{border-radius:4px}.lesson>summary{padding:24px}.lesson-number{border-radius:0;border:0;font:25px Georgia,serif}.lesson-heading b{font-weight:450}.lesson-heading small{letter-spacing:.5px}.auth{max-width:none;display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(90deg,#101011f2,#1010119c),url('/images/school-editorial.png') center/cover fixed;padding:38px 7vw}.auth-brand{font:23px Georgia,serif;letter-spacing:.3px}.auth-card{padding:35px;background:#141215ed;border:1px solid var(--line);margin:60px 0 20px auto;width:460px;max-width:100%}.auth-card h1{font:40px/1.15 Georgia,serif;font-weight:400}.auth-card .eyebrow{font-size:8px}.lesson-content h2{font:29px/1.2 Georgia,serif}.banner{border-radius:2px}#your-courses{scroll-margin-top:20px}
@media(min-width:1450px){main{padding-left:55px;padding-right:55px}}
@media(max-width:1100px){aside{padding:22px 25px;gap:20px}.brand{min-width:225px}.main-nav{gap:15px}.main-nav button{font-size:11px}main{margin:0;padding:0 25px 50px}.editorial-copy{padding:35px;max-width:70%}.editorial-copy h2{font-size:44px}.course-grid:has(>.course-card:only-child)>.course-card{grid-template-columns:.6fr 1fr}.support-note{align-items:flex-start;flex-direction:column;gap:0}}
@media(max-width:760px){aside{padding:20px 18px;flex-wrap:wrap;gap:12px}.brand{min-width:0;margin-right:auto;padding-right:50px}.brand-mark{width:39px;height:39px;font-size:20px}.brand>span{font-size:12px}.main-nav{order:3;width:100%;margin-left:0;justify-content:space-between;gap:12px}.main-nav button{font-size:11px;padding:10px 0}.profile{position:absolute;top:26px;right:18px}.profile button{padding:7px 10px}main{padding:0 18px 40px}header{height:44px;margin-bottom:14px}.editorial-hero{min-height:410px;background-position:63% center;align-items:flex-start}.editorial-hero:before{background:linear-gradient(90deg,#100e12e8,#100e129e 60%,#100e1240)}.editorial-copy{padding:30px 22px;max-width:100%}.editorial-copy h2{font-size:36px;letter-spacing:-1px;margin:25px 0}.editorial-copy p{font-size:12px}.editorial-copy .eyebrow{font-size:7px;letter-spacing:1.6px}.hero-caption{font-size:6px;right:16px;bottom:14px}.page-title h1{font-size:27px}.course-grid:has(>.course-card:only-child)>.course-card{display:block}.course-cover{height:160px;min-height:0;background-position:75% 65%}.course-body{padding:24px}.course-body h2{font-size:27px}.course-body>.primary{width:100%;min-width:0}.support-note b{font-size:20px}.auth{padding:25px 18px;background-position:65% center}.auth-brand{font-size:20px}.auth-card{padding:25px;margin:45px auto 20px}.auth-card h1{font-size:34px}.lesson>summary{padding:18px 13px}.lesson-content h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important}}

/* Original portrait cutout: transparent silhouette, no rectangular frame. */
.editorial-hero{min-height:450px;background-image:radial-gradient(ellipse at 75% 55%,#48233880,transparent 58%);background-color:var(--bg);border:0;border-bottom:1px solid var(--line);overflow:hidden}.editorial-hero:before{display:none}.editorial-copy{max-width:64%;position:relative;z-index:1;padding-left:0}.teacher-portrait{position:absolute;right:3%;bottom:0;height:425px;width:auto;max-width:42%;object-fit:contain;object-position:bottom;mask-image:linear-gradient(to bottom,#000 0%,#000 77%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 77%,transparent 100%)}.hero-caption{display:none}.editorial-copy h2{font-size:50px}.course-cover{background-image:url('/images/school-editorial.png')}
@media(max-width:1100px){.editorial-copy h2{font-size:43px}.teacher-portrait{max-width:42%;height:390px;right:0}.editorial-hero{min-height:420px}}
@media(max-width:760px){.editorial-hero{min-height:620px;display:block;background-image:radial-gradient(ellipse at 55% 80%,#48233870,transparent 60%)}.editorial-copy{padding:25px 0 0;max-width:100%}.editorial-copy h2{font-size:35px;margin-top:20px}.editorial-copy p{font-size:12px}.teacher-portrait{height:320px;max-width:95%;right:50%;transform:translateX(50%);bottom:-5px;mask-image:linear-gradient(to bottom,#000 0%,#000 73%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 73%,transparent 100%)}.hero-link{margin-top:0}}

.teacher-portrait{mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 77%,transparent 100%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 77%,transparent 100%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);-webkit-mask-composite:source-in}
/* Independent rental schools use the same design without the owner's portrait. */
.rental-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rental-card{padding:30px;background:var(--surface);border:1px solid var(--line)}.rental-card h2{font:29px Georgia,serif}.rental-card .actions{margin-top:25px}.school-link{display:inline-block;margin:10px 0 15px;text-decoration:none;font-size:13px}.rental-school .editorial-hero{background:#131014 url('/images/school-editorial.png') center/cover no-repeat}.rental-school .editorial-hero:before{display:block;background:linear-gradient(90deg,#101011eb,#10101185 55%,transparent)}.rental-school .editorial-copy{padding-left:30px}.rental-school .auth{background-image:linear-gradient(90deg,#101011f2,#1010119c),url('/images/school-editorial.png')}.rental-school .side-note{display:none}
@media(max-width:1100px){aside{flex-wrap:wrap}.main-nav{gap:16px}.rental-grid{grid-template-columns:1fr}}
@media(max-width:760px){.rental-card{padding:22px}.rental-school .editorial-hero{min-height:390px}.rental-school .editorial-copy{padding:30px 20px}.main-nav{flex-wrap:wrap;justify-content:flex-start;gap:16px}}
.rental-account,.rental-archives{margin-top:30px}.rental-archives{border-top:1px solid var(--line);padding-top:25px}.rental-archives p{font-size:13px}.archive-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}@media(max-width:760px){.archive-row{align-items:flex-start;flex-direction:column;gap:12px}}
/* Usability: one immediate next step, optional editor sections and fixed actions. */
.quick-start{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);margin:0 0 24px}.quick-start>div{display:grid;gap:5px;min-width:0}.quick-start b{font-size:16px;line-height:1.4;font-weight:550;overflow-wrap:anywhere}.quick-start .eyebrow{font-size:8px;letter-spacing:1.5px}.quick-start small{font-size:12px}.quick-start button{white-space:nowrap;min-height:46px;flex-shrink:0}.lesson-tools{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;margin:24px 0 8px}.lesson-tools label{margin:0}.lesson-tools input,.lesson-tools select{min-height:46px}.editor-dialog{padding:0;width:760px;max-width:96vw;max-height:92dvh;overflow:hidden}.editor-dialog[open]{display:flex;flex-direction:column}.dialog-form{display:flex;flex-direction:column;max-height:92dvh;min-height:0;width:100%}.editor-dialog .dialog-head{padding:20px 25px;margin:0;border-bottom:1px solid var(--line);flex-shrink:0}.editor-dialog .dialog-head h2{font-size:22px}.editor-dialog .close{width:44px;height:44px;flex-shrink:0}.dialog-content{overflow-y:auto;min-height:0;padding:22px 25px;overscroll-behavior:contain}.editor-dialog .dialog-actions{padding:16px 25px;margin:0;border-top:1px solid var(--line);background:var(--surface);flex-shrink:0;position:sticky;bottom:0;z-index:1}.editor-dialog .dialog-actions button{min-height:44px}.editor-group{margin:16px 0;border:1px solid var(--line);padding:0 18px;border-radius:5px}.editor-group>summary{cursor:pointer;padding:17px 0;font-size:14px;line-height:1.5;min-height:48px}.editor-group>summary small{margin-left:10px;font-size:11px;font-weight:400;color:var(--muted)}.editor-group fieldset{border:0;padding:0;margin:8px 0 0}.editor-group legend{display:none}.editor-group[open]>label{margin-top:15px}.draft-state{font-size:11px;padding:12px 14px;background:var(--soft);border-left:2px solid var(--accent);margin:0 0 22px;line-height:1.7}.check-label{display:flex;align-items:flex-start;gap:12px;margin:12px 0;font-size:14px;line-height:1.6}.check-label input{width:20px;height:20px;flex-shrink:0;margin:2px 0}.check-label small{font-size:11px}.dialog-content .form-grid:has(>label:only-child){grid-template-columns:1fr}.editor-dialog:has(.dialog-content:focus-within){border-color:#6c4d79}
@media(max-width:760px){.quick-start{padding:17px;gap:14px;align-items:stretch;flex-direction:column;margin-bottom:20px}.quick-start b{font-size:15px}.quick-start small{font-size:11px}.quick-start .primary{width:100%;font-size:13px}.lesson-tools{grid-template-columns:1fr;gap:12px}.editor-dialog{max-width:100vw;width:100vw;max-height:95dvh;border-radius:10px 10px 0 0;margin:auto 0 0}.dialog-form{max-height:95dvh}.editor-dialog .dialog-head{padding:14px 18px}.editor-dialog .dialog-head h2{font-size:20px}.dialog-content{padding:18px}.editor-dialog .dialog-actions{padding:14px 18px}.editor-group{padding:0 14px}.editor-group>summary small{display:block;margin:4px 0 0}.check-label{flex-wrap:wrap}.check-label input{margin-right:0}.quick-start .eyebrow{font-size:8px}}
.lesson-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:22px;border-bottom:1px solid var(--line);padding-bottom:18px}.lesson-navigation span{text-align:center;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.lesson-navigation button{min-height:44px;font-size:12px}.request-pending:before{content:"";position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);opacity:.8;z-index:200}button[aria-busy=true]{cursor:progress}#connection-status{background:var(--soft);border-bottom:1px solid var(--accent);padding:12px 20px;font-size:12px;color:var(--ink)}@media(max-width:760px){.lesson-navigation{gap:9px;grid-template-columns:1fr 1fr}.lesson-navigation span{grid-column:1/-1;grid-row:1;font-size:12px;text-align:left}.lesson-navigation button{font-size:12px;width:100%}}
button[aria-busy=true]{pointer-events:none;opacity:.65}
@media(max-width:760px){button{min-height:44px}.access-list label,.check-label{min-height:44px}.profile button{min-height:40px;min-width:52px}}
/* Communication: quiet school-wide chat and private help without leaving a lesson. */
.communication-nav{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 20px;margin-top:-8px}.communication-nav button{background:transparent;min-height:42px;font-size:12px;border-color:var(--line)}.unread-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:20px;background:var(--accent);color:var(--button-ink);font-size:10px;font-weight:650;padding:0 5px;margin-left:5px}.conversation-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.conversation-layout.school-conversation{grid-template-columns:1fr;max-width:1050px;margin:auto}.thread-list{display:grid;gap:8px;max-height:720px;overflow:auto}.thread-list>button{display:grid;gap:7px;text-align:left;padding:16px;position:relative}.thread-list b{font-size:13px;font-weight:550;overflow-wrap:anywhere}.thread-list small{font-size:10px}.thread-list button.active{background:var(--soft);border-color:var(--accent)}.thread-list .unread-badge{position:absolute;right:10px;bottom:10px}.conversation-panel{background:var(--surface);border:1px solid var(--line);padding:22px;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:15px}.conversation-header h2{font-size:22px;margin:0 0 8px;overflow-wrap:anywhere}.conversation-header p{font-size:12px}.conversation-header label{margin:0;min-width:175px}.conversation-header button{font-size:11px;padding:8px 13px}.message-log{height:430px;overflow:auto;overscroll-behavior:contain;padding:8px 10px 8px 0;scrollbar-gutter:stable}.chat-message{border:1px solid var(--line);padding:14px 16px;margin:0 0 14px;max-width:94%;background:var(--bg);border-radius:6px}.chat-message.own{margin-left:auto;background:var(--soft)}.chat-message>header{height:auto;min-height:0;padding:0 0 9px;margin:0 0 8px;border:0;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:10px}.chat-message header>b{font-size:12px;color:var(--ink)}.chat-message header time{margin-left:auto;font-size:9px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.75}.chat-message blockquote{font-size:11px;line-height:1.6;margin:0 0 10px;padding:8px 11px;border-left:2px solid var(--accent);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.message-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.message-controls button{font-size:10px;min-height:28px;padding:4px 8px;background:transparent}.message-hidden p{font-size:12px;font-style:italic;margin:0}.chat-message .download{font-size:12px;background:var(--surface);margin-bottom:0}.pinned{padding:12px 15px;background:var(--soft);border-left:2px solid var(--accent);margin-bottom:16px;font-size:13px}.pinned summary{cursor:pointer}.pinned>div{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.pinned p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.empty-chat{padding:40px 20px;text-align:center;font-size:14px}.conversation-panel form{border-top:1px solid var(--line);padding-top:18px;margin-top:15px}.conversation-panel textarea{font-size:15px;min-height:95px}.conversation-panel label{margin-bottom:12px}.message-compose-actions{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.attachment-label{font-size:11px;max-width:70%}.attachment-label input{font-size:11px;padding:8px;max-width:100%}.conversation-panel .hint{font-size:10px;margin-bottom:0}#reply-preview{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--soft);padding:10px 13px;margin:12px 0;font-size:11px}#reply-preview span{overflow-wrap:anywhere}#reply-preview button{font-size:10px;padding:6px 10px;flex-shrink:0}#load-older,#jump-latest{width:100%;margin:8px 0;font-size:12px}.communication-settings{margin-top:30px;max-width:900px}.feature-switch{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);background:var(--bg);border-radius:6px;margin:15px 0}.feature-switch input{width:21px;height:21px;flex-shrink:0;margin-top:3px;accent-color:var(--accent)}.feature-switch b{display:block;color:var(--ink);font-size:14px}.feature-switch small{display:block;font-size:12px;margin-top:6px}.team-settings{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.team-settings summary{cursor:pointer;font-size:16px}.staff-row{border:1px solid var(--line);padding:18px;margin-top:18px}.staff-row p{font-size:12px}.staff-row button{font-size:12px;margin:8px 5px 0 0}.communication-disabled .empty{margin:20px 0}.communication-settings>p,.team-settings>p{font-size:13px}
@media(max-width:1100px){.conversation-layout{grid-template-columns:210px minmax(0,1fr)}.conversation-header{flex-wrap:wrap}}
@media(max-width:760px){.communication-nav{gap:7px;padding-bottom:18px}.communication-nav button{font-size:11px;padding:10px 12px;min-height:44px}.conversation-layout{grid-template-columns:1fr}.thread-list{max-height:240px}.conversation-panel{padding:16px}.conversation-header{gap:12px}.conversation-header h2{font-size:20px}.conversation-header label{width:100%;min-width:0}.message-log{height:360px;max-height:48dvh;padding-right:2px}.chat-message{padding:12px;max-width:98%}.message-body{font-size:14px}.chat-message header time{width:100%;margin-left:0}.message-controls button{min-height:36px;font-size:11px}.message-compose-actions{align-items:stretch;flex-direction:column;gap:8px}.attachment-label{max-width:100%}.message-compose-actions .primary{width:100%}.feature-switch{padding:14px}.feature-switch small{font-size:11px}.staff-row{padding:15px}.team-settings .check-label{font-size:12px}#reply-preview{align-items:flex-start;flex-direction:column;gap:8px}}
.communication-nav button.active{border-color:var(--accent);background:var(--soft)}

/* Private homework workflow and lesson resources. */
.homework-block,.useful-links{margin:28px 0;padding:24px;border:1px solid var(--line,#49434b);border-radius:12px;scroll-margin-top:24px}
.homework-block textarea{width:100%;min-height:130px;resize:vertical}
.homework-block .actions{flex-wrap:wrap;gap:10px}
.homework-status{color:#eedbfc}
.homework-feedback{padding:18px;margin:16px 0;border-left:3px solid #c89fe7;background:#27222c;border-radius:6px}
.homework-feedback small{display:block;margin-top:6px}
.homework-history{margin:24px 0}
.homework-history article{padding:18px 0;border-top:1px solid #49434b;overflow-wrap:anywhere}
.homework-block .body-text{overflow-wrap:anywhere}
.homework-error{color:#f4bde6}
.homework-queue-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #49434b}
.homework-queue-row h2{font-size:24px;margin-bottom:8px}
.lesson-switches label{display:flex;align-items:center;gap:12px;margin:12px 0}
.lesson-switches select{width:145px;flex-shrink:0}
.useful-link-row{border-bottom:1px solid #49434b;padding:14px 0;margin-bottom:14px}
@media(max-width:600px){.homework-block,.useful-links{padding:16px}.homework-queue-row{align-items:stretch;flex-direction:column}.lesson-switches label{align-items:flex-start;flex-direction:column}.homework-block .actions button{width:100%}}
.lesson-switches input[role=switch]{appearance:none;position:relative;width:46px;height:26px;min-height:26px;flex-shrink:0;border-radius:20px;background:#423b46;border:1px solid #807083;padding:0;cursor:pointer}
.lesson-switches input[role=switch]::after{content:'';position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:#f4eee9;transition:transform .15s}
.lesson-switches input[role=switch]:checked{background:#ab78bb;border-color:#d9b0e6}
.lesson-switches input[role=switch]:checked::after{transform:translateX(20px)}
.lesson-switches input[role=switch]:focus-visible{outline:2px solid #f2d1f3;outline-offset:3px}

.attention-panel{border:1px solid #615065;border-radius:10px;padding:16px 20px;margin:18px 0;background:#211c25}
.attention-panel summary{cursor:pointer;font-weight:600}
.attention-panel button{display:block;margin-top:10px;text-align:left;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.lesson-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.lesson-shortcuts button{min-height:42px}
[data-section]{scroll-margin-top:24px}
.queue-pages{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}
.homework-update{padding:12px;border:1px solid #c89fe7;border-radius:8px;overflow-wrap:anywhere}
.review-draft-state,.message-draft-state,.homework-file-state,.message-file-state{font-size:13px;color:#d4bfdb;overflow-wrap:anywhere}
#homework-queue-filters{border-bottom:1px solid #49434b;padding-bottom:20px}
@media(max-width:600px){.queue-pages{flex-wrap:wrap}.queue-pages button{flex:1}.attention-panel{padding:14px}.lesson-shortcuts button{flex:1}}
.rental-overview{display:flex;flex-wrap:wrap;gap:12px 24px;border:1px solid #615065;border-radius:10px;padding:18px;margin:20px 0}
.owner-help{margin:18px 0 26px;max-width:900px}.owner-help summary{cursor:pointer}.owner-help p{line-height:1.6}
video{object-fit:contain}
video:fullscreen{width:100%;height:100%;max-height:none;object-fit:contain;background:#000;margin:0;border-radius:0}
video:-webkit-full-screen{width:100%;height:100%;max-height:none;object-fit:contain;background:#000;margin:0;border-radius:0}
.legal-page{max-width:1000px;margin:0 auto;padding:32px 24px;line-height:1.65}.legal-page h1{font-size:clamp(28px,5vw,46px);margin:24px 0}.legal-page form,.contract-document{margin:24px 0;padding:24px;border:1px solid #615065;border-radius:10px}.legal-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7;max-height:65vh;overflow:auto;padding:18px;background:#1b181e;border:1px solid #49434b}.legal-footer{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;border-top:1px solid #49434b;padding:24px;font-size:13px}.complaint-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-notice,.legal-notice{border-top:1px solid #49434b;padding:20px 0;margin-top:20px}.legal-page input,.legal-page textarea,.legal-page select{max-width:100%}#legal-operator{max-width:800px;margin-bottom:28px}#complaint-decision{margin:24px 0}#complaint-decision .actions{flex-wrap:wrap}#tenant-legal-slot .legal-text{max-height:45vh}@media(max-width:600px){.legal-page{padding:20px 16px}.legal-page form,.contract-document{padding:16px}.legal-footer{gap:14px}.legal-page .check-label{align-items:flex-start}}
.backup-card,.backup-info{border:1px solid #615065;border-radius:12px;padding:24px;margin:20px 0}.backup-card .actions{flex-wrap:wrap}.backup-info{background:#211c25}.backup-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid #49434b;overflow-wrap:anywhere}.backup-row p{margin:8px 0}#backup-progress{color:#edc4e9;font-weight:600}@media(max-width:600px){.backup-card,.backup-info{padding:18px}.backup-row{flex-direction:column;align-items:stretch}.backup-card .actions button{width:100%}}
.main-nav:has(.nav-group){align-items:flex-start;gap:16px}.nav-group{flex:1;min-width:180px}.nav-group summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--accent);padding:9px 0}.nav-group-links{display:flex;flex-wrap:wrap;gap:4px 12px}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.management-grid .account-card{margin:0}.payment-row,.version-row,.audit-row,.session-card{padding:18px 0;border-bottom:1px solid var(--line)}.payment-row{display:flex;gap:16px;align-items:center;justify-content:space-between}.session-card p,.audit-row p{overflow-wrap:anywhere}.security-codes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;padding:16px;background:#211c25}.version-row button{margin:8px 8px 0 0}#account-security-slot button{margin:6px 8px 6px 0}.management-grid p{overflow-wrap:anywhere}@media(max-width:899px){.main-nav:has(.nav-group){display:block}.nav-group{min-width:0}.nav-group summary{padding:10px 0}.nav-group-links{padding-bottom:12px}.management-grid{grid-template-columns:1fr}.payment-row{flex-direction:column;align-items:flex-start}}

.finance-tabs{flex-wrap:wrap;margin:20px 0;gap:8px}.finance-tabs button[aria-current=page]{border-color:var(--accent)}#finance-settings{max-width:800px}#finance-settings textarea{min-height:100px}.finance-tabs button{white-space:normal}#finance-month{max-width:240px}.account-card code{overflow-wrap:anywhere}

.usage-guide{max-width:960px}.guide-group{border:1px solid #ffffff26;border-radius:12px;margin:14px 0;padding:0 20px}.guide-group>summary{padding:18px 0;font-size:1.1rem;cursor:pointer}.guide-row{padding:18px 0;border-top:1px solid #ffffff1a}.guide-row h3{font-size:1.05rem;margin:0 0 12px}.guide-path{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 10px}.guide-path li{display:flex;align-items:baseline;gap:8px;max-width:100%;overflow-wrap:anywhere}.guide-path li>span:last-child{background:#ffffff0a;border:1px solid #ffffff18;border-radius:6px;padding:5px 9px}.guide-arrow{color:#e5a5c4}.guide-row .hint{margin-bottom:6px}.guide-row[hidden],.guide-group[hidden]{display:none}

/* Shared workspace navigation and role-specific overview. */
.school-menu{display:contents}#mobile-menu-toggle{display:none}#notification-bell{font-size:12px;white-space:nowrap}.notification-row.is-unread{border-left:3px solid var(--accent)}.notification-row h2{font-size:1.1rem}.notification-row .eyebrow{font-size:10px}.notification-row button{margin:6px 10px 0 0}.analytics-lesson{padding:18px 0;border-bottom:1px solid var(--line)}.analytics-lesson h3{margin-bottom:6px}.course-cover.has-custom-cover{position:relative;background:none;overflow:hidden}.course-cover.has-custom-cover .cover-art,.course-cover.has-custom-cover .eyebrow{display:none}.course-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-preview{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:8px}
@media(max-width:760px){
 aside{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.brand{flex:1 1 180px;padding-right:0!important;margin:0!important}.profile{position:static!important;order:3;margin:0!important}.profile button{padding:8px;font-size:12px}#notification-bell{order:1;padding:9px;font-size:12px}#mobile-menu-toggle{display:inline-block;order:2;padding:9px;font-size:12px}.school-menu{display:none!important;order:4;flex-basis:100%;width:100%;max-height:65vh;overflow:auto}.school-menu.is-open{display:block!important}.school-menu .main-nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px 0}.school-menu .main-nav>button{text-align:left;font-size:14px;padding:12px}.school-menu .nav-group{width:100%;flex:none}.school-menu .nav-group-links{display:flex;flex-direction:column}.school-menu .nav-group-links button{text-align:left;font-size:14px;padding:10px}.school-menu .side-note{display:none}.teaching-view .editorial-hero{display:none}.editorial-hero{max-height:280px}.editorial-copy{padding:22px!important}.editorial-copy h2{font-size:30px!important}.editorial-copy p{font-size:13px!important}#notification-list .account-card{padding:18px}.notification-row .eyebrow{white-space:normal;line-height:1.6}
}
.analytics-explanation{font-size:13px;max-width:800px}.analytics-explanation summary{cursor:pointer;color:var(--accent);padding:8px 0}.analytics-explanation p{line-height:1.7}.experience-metrics .account-card h2{font-size:20px}.experience-metrics .account-card>b{font-size:28px}.experience-metrics .account-card button{margin:4px 4px 0 0}@media(max-width:760px){.experience-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.experience-metrics .account-card{padding:14px}.experience-metrics .account-card h2{font-size:16px;line-height:1.4}.experience-metrics .account-card p{font-size:12px}.experience-metrics .account-card button{font-size:12px;padding:8px;white-space:normal}.experience-metrics .account-card>b{font-size:25px}}
.group-settings-row{justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}#student-group-filter{max-width:460px}
