:root{color:#25241f;font-synthesis:none;--ink:#25241f;--muted:#77746b;--paper:#f4f2ec;--cream:#ebe6da;--line:#d9d4c8;--teal:#31675d;--teal-dark:#224e47;--gold:#d39b55;background:#f4f2ec;font-family:Inter,Avenir,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400}.boot-screen{place-items:center;min-height:70vh;display:grid}.brand{align-items:center;gap:.7rem;font-size:1.05rem;font-weight:700;display:inline-flex}.brand--large{font-size:1.25rem}.brand-mark{color:#fff;background:var(--teal);border-radius:50% 50% 50% 18%;place-items:center;width:3.5rem;height:3.5rem;font-family:Georgia,serif;font-size:2rem;display:grid;box-shadow:inset -8px -8px 18px #1f5048}.brand-mark--small{width:2.15rem;height:2.15rem;font-size:1.15rem}.eyebrow{color:var(--teal);letter-spacing:.17em;text-transform:uppercase;margin-bottom:.7rem;font-size:.7rem;font-weight:700}.primary-button,.secondary-button,.complete-button,.danger-button{cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.25rem;font-weight:700;transition:all .18s}.primary-button{color:#fff;background:var(--teal);justify-content:center;display:inline-flex}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{border:1px solid var(--line);background:0 0}.text-button,.icon-button{cursor:pointer;background:0 0;border:0}.icon-button{border:1px solid var(--line);border-radius:50%;width:2.35rem;height:2.35rem;font-size:1.1rem}.form-error{color:#a14237;font-size:.86rem}.muted{color:var(--muted)}.login-page{background:var(--paper);grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.login-intro{background:var(--cream);flex-direction:column;justify-content:space-between;min-height:100vh;padding:3.5rem clamp(2rem,7vw,7rem);display:flex;position:relative;overflow:hidden}.login-copy{z-index:1;max-width:680px;padding:5rem 0;position:relative}.login-copy h1{letter-spacing:-.045em;margin-bottom:1.5rem;font-size:clamp(3.4rem,6vw,6.8rem);line-height:.93}.login-copy em{color:var(--teal);font-weight:400}.login-copy>p:last-child{max-width:520px;color:var(--muted);font-size:1.1rem;line-height:1.7}.course-lines{align-items:end;gap:.7rem;height:70px;display:flex}.course-lines i{background:var(--teal);border-radius:4px;width:min(150px,18vw);height:10px;display:block;transform:rotate(-2deg)}.course-lines i:nth-child(2){background:var(--gold);height:14px;transform:rotate(2deg)}.course-lines i:nth-child(3){background:#b85d4c;height:9px}.login-panel{background:#fff;place-items:center;padding:2rem;display:grid}.login-card{width:min(390px,100%)}.login-card h2{margin-bottom:2.5rem;font-size:2.5rem}label{color:#555249;letter-spacing:.04em;gap:.45rem;margin-bottom:1.1rem;font-size:.78rem;font-weight:700;display:grid}input,select{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;outline:none;width:100%;padding:.85rem .9rem}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #31675d1a}.login-card .primary-button{width:100%;margin-top:.8rem}.privacy-note{text-align:center;color:var(--muted);margin-top:1.4rem;font-size:.76rem}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f2ecf0;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(1rem,4vw,3.5rem);display:flex;position:sticky;top:0}.top-actions{align-items:center;gap:.7rem;display:flex}.user-name{color:var(--muted);font-size:.86rem}.page-wrap{width:min(1400px,100% - 3rem);margin:0 auto}.library-page{padding:5rem 0}.library-heading{justify-content:space-between;align-items:end;margin-bottom:3rem;display:flex}.library-heading h1{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(2.8rem,5vw,5.4rem)}.course-count{color:var(--muted)}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.course-card{border:1px solid var(--line);background:#fff;border-radius:16px;transition:all .2s;overflow:hidden}.course-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px #3d372c1a}.course-cover{aspect-ratio:16/9;color:#ffffffe0;background:linear-gradient(135deg,#315f57,#8ba59e) 50%/cover;place-items:center;font-family:Georgia,serif;font-size:4rem;display:grid;position:relative}.course-cover small{background:#141e1bc2;border-radius:999px;padding:.35rem .65rem;font:600 .68rem Inter,system-ui,sans-serif;position:absolute;bottom:.8rem;right:.8rem}.course-card-body{padding:1.4rem}.course-card-body h2{min-height:2.5em;margin-bottom:1.5rem;font-size:1.65rem;line-height:1.15}.course-card-body>p:last-child{color:var(--muted);margin:.65rem 0 0;font-size:.76rem}.progress-track{background:#dedbd2;border-radius:99px;height:5px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--teal);height:100%;display:block}.empty-library{text-align:center;max-width:620px;margin:6rem auto}.empty-library h2{font-size:2.7rem}.empty-library>p:not(.eyebrow){color:var(--muted);line-height:1.7}.empty-symbol{border:1px solid var(--line);width:5rem;height:5rem;color:var(--teal);border-radius:50%;place-items:center;margin:0 auto 2rem;font-size:2rem;display:grid}.loading-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.loading-grid i{background:linear-gradient(100deg,#e4e0d6 20%,#efede7 40%,#e4e0d6 60%) 0 0/200% 100%;border-radius:16px;height:360px;animation:1.5s infinite shimmer}@keyframes shimmer{to{background-position-x:-200%}}.study-page{background:#1f211f;grid-template-columns:minmax(270px,22vw) minmax(440px,1fr);height:calc(100vh - 68px);display:grid;overflow:hidden}.course-outline{border-right:1px solid var(--line);background:#f7f5f0;grid-column:1;height:calc(100vh - 68px);padding:2rem 1.5rem;overflow-y:auto}.study-content{background:#1f211f;grid-column:2;width:100%;min-width:0;height:calc(100vh - 68px);overflow-y:auto}.back-link{color:var(--muted);margin-bottom:2.2rem;font-size:.8rem;display:inline-block}.course-outline>h1{margin-bottom:1.2rem;font-size:1.85rem;line-height:1.1}.outline-progress{color:var(--teal);grid-template-columns:auto 1fr;align-items:center;gap:.7rem;margin-bottom:2rem;font-size:.72rem;font-weight:700;display:grid}.module-section{border-bottom:1px solid #e5e0d6;margin-bottom:.55rem;padding-bottom:.4rem}.module-toggle{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.72rem .5rem;display:grid}.module-toggle>span{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700;line-height:1.4}.module-toggle small{color:var(--teal);font-size:.68rem;font-weight:700}.module-toggle:hover,.module-toggle[aria-expanded=true]{background:#ece8df}.module-lessons{padding-bottom:.25rem}.lesson-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:1.5rem 1fr;align-items:start;gap:.6rem;width:100%;padding:.62rem .5rem;display:grid}.lesson-row:hover,.lesson-row.selected{background:#e8e3d7}.lesson-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;line-height:1.35;display:block;overflow:hidden}.lesson-row small{color:var(--muted);font-size:.66rem}.lesson-check{color:#fff;border:1px solid #aaa69c;border-radius:50%;place-items:center;width:1.12rem;height:1.12rem;margin-top:.1rem;font-size:.65rem;display:grid}.lesson-check.done{border-color:var(--teal);background:var(--teal)}.lesson-stage{color:#fff;background:#1f211f;width:100%;min-width:0}.lesson-toolbar{background:#252724;border-bottom:1px solid #353936;justify-content:flex-end;padding:.55rem 1rem;display:flex}.index-visibility-button{color:#dbe2df;cursor:pointer;background:0 0;border:1px solid #545a56;border-radius:99px;padding:.45rem .8rem;font-size:.7rem}.index-visibility-button:hover{color:#bde0d8;border-color:#8eb2aa}.video-wrap{background:#111;place-items:center;width:100%;min-height:min(62vh,740px);display:grid}.video-wrap video{width:100%;max-height:min(62vh,740px)}.pdf-wrap{background:#303230;grid-template-rows:auto 1fr;height:min(70vh,860px);display:grid}.pdf-toolbar{color:#d9dcd9;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;font-size:.72rem;display:flex}.pdf-toolbar a{color:#bde0d8}.pdf-wrap iframe{background:#fff;border:0;width:100%;height:100%}.document-wrap{background:#f8f6f0;grid-template-rows:auto 1fr;height:min(70vh,860px);display:grid}.document-toolbar{color:#d9dcd9;background:#303230;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;font-size:.72rem;display:flex}.document-toolbar a{color:#bde0d8}.document-wrap iframe{background:#fff;border:0;width:100%;height:100%}.image-preview{background:#111;place-items:center;min-height:min(62vh,740px);padding:1.5rem;display:grid}.image-preview img{object-fit:contain;max-width:100%;max-height:min(58vh,700px)}.lesson-heading{justify-content:space-between;align-items:center;gap:2rem;padding:2rem 2.4rem;display:flex}.lesson-heading h2{margin-bottom:0;font-size:2rem}.lesson-heading .eyebrow{color:#9fbdb7}.complete-button{color:#fff;background:0 0;border:1px solid #5e625f;flex:none}.complete-button.done{color:#bde0d8;border-color:#78a99e}.material-preview{text-align:center;place-content:center;justify-items:center;min-height:60vh;padding:2rem;display:grid}.notes-panel{border-top:1px solid var(--line);background:#fbfaf6;flex-direction:column;width:100%;min-height:360px;padding:2rem 2.4rem;display:flex}.notes-panel h2{margin-bottom:1.2rem;font-size:1.55rem}.notes-panel textarea{resize:none;border:0;border-top:1px solid var(--line);min-height:280px;color:var(--ink);background:0 0;outline:none;flex:1;padding:1.2rem 0;font-family:Georgia,serif;font-size:1.15rem;line-height:1.75}.notes-panel textarea:focus{box-shadow:none}.autosave-label{color:var(--muted);margin:1rem 0 0;font-size:.68rem}.mobile-tabs{display:none}@media (width>=721px){.study-page.index-hidden{grid-template-columns:minmax(0,1fr)}.study-page.index-hidden .course-outline{display:none}.study-page.index-hidden .study-content{grid-column:1}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1c1c1999;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.admin-panel{background:#fbfaf7;border-radius:18px;width:min(900px,100%);max-height:88vh;overflow:auto;box-shadow:0 24px 80px #00000040}.admin-panel--wide{width:min(1180px,100%)}.admin-panel>header{justify-content:space-between;align-items:center;padding:1.5rem 1.8rem 1rem;display:flex}.admin-panel h2{margin:0;font-size:2rem}.admin-tabs{border-bottom:1px solid var(--line);gap:1.5rem;padding:0 1.8rem;display:flex}.admin-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.9rem 0}.admin-tabs button.active{border-color:var(--teal);color:var(--teal);font-weight:700}.admin-content{padding:1.8rem}.admin-lead{justify-content:space-between;gap:2rem;display:flex}.admin-lead p{max-width:540px;color:var(--muted);font-size:.86rem;line-height:1.6}.button-row{align-items:start;gap:.6rem;display:flex}.job-list{border-top:1px solid var(--line)}.job-list article{border-bottom:1px solid var(--line);grid-template-columns:.7rem 1fr auto;align-items:center;gap:.8rem;padding:1rem .2rem;display:grid}.job-list p,.user-list p{color:var(--muted);margin:.2rem 0 0;font-size:.75rem}.job-list small{color:var(--muted);text-transform:uppercase;font-size:.6rem}.status-dot{background:#aaa;border-radius:50%;width:.55rem;height:.55rem}.status-dot.completed{background:var(--teal)}.status-dot.error{background:#b85d4c}.status-dot.analyzing{background:var(--gold)}.users-layout{grid-template-columns:.8fr 1.2fr;gap:3rem;display:grid}.check-label{grid-template-columns:auto 1fr;align-items:center;display:flex}.check-label input{width:auto}.user-list article{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:.8rem 0;display:flex}.user-details{flex:1;min-width:0}.user-details>strong>small{color:var(--teal);background:#e4eee9;border-radius:99px;margin-left:.35rem;padding:.12rem .4rem;font-size:.62rem}.user-actions{gap:.45rem;display:flex}.user-actions button{padding:.55rem .75rem}.user-form label small{color:var(--muted);margin:.15rem 0 .4rem;font-weight:400;display:block}.form-help{color:var(--muted);margin:-.25rem 0 .8rem;font-size:.72rem;line-height:1.5}.avatar{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;display:grid}.panel-message{color:var(--teal);background:#e4eee9;margin:0;padding:.8rem 1.8rem;font-size:.82rem}.admin-course-list{border-top:1px solid var(--line);margin-top:1.2rem}.admin-course-list article{border-bottom:1px solid var(--line);grid-template-columns:4.4rem 1fr auto;align-items:center;gap:1rem;padding:.9rem 0;display:grid}.admin-course-list p{color:var(--muted);margin:.22rem 0 0;font-size:.75rem}.admin-course-cover{aspect-ratio:16/10;color:#fff;background:linear-gradient(135deg, var(--teal), #8ba59e);background-position:50%;background-size:cover;border-radius:8px;place-items:center;font:1.6rem Georgia,serif;display:grid}.course-editor{grid-template-columns:minmax(250px,.72fr) minmax(480px,1.6fr);gap:2rem;padding:0 1.8rem 1.8rem;display:grid}.editor-metadata{border:1px solid var(--line);background:#f4f1e9;border-radius:12px;align-self:start;padding:1.5rem;position:sticky;top:0}.editor-metadata textarea{resize:vertical;border:1px solid var(--line);background:#fcfbf8;border-radius:8px;outline:none;width:100%;min-height:130px;padding:.8rem}.editor-help{color:var(--muted);margin:1.3rem 0 0;font-size:.72rem;line-height:1.55}.danger-zone{border-top:1px solid #d8c0ba;margin-top:1.5rem;padding-top:1.2rem}.danger-zone strong{color:#8f4034;font-size:.82rem}.danger-zone p{color:var(--muted);margin:.35rem 0 .8rem;font-size:.7rem;line-height:1.5}.danger-button{color:#8f4034;background:#fff5f3;border:1px solid #c98c82}.section-heading{justify-content:space-between;align-items:end;margin-bottom:1rem;display:flex}.section-heading h3{margin:0}.section-heading>span{color:var(--muted);font-size:.72rem}.editor-module{border:1px solid var(--line);background:#fff;border-radius:11px;margin-bottom:.9rem;overflow:hidden}.editor-module-heading{background:#ece8de;grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.6rem;padding:.7rem;display:grid}.editor-module-heading input{background:#ffffffa3;border:0;padding:.55rem .65rem;font-weight:700}.order-number{color:var(--teal);text-align:center;font-size:.72rem;font-weight:700}.order-buttons{gap:.25rem;display:flex}.order-buttons button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;width:1.9rem;height:1.9rem}.order-buttons button:disabled{opacity:.3;cursor:default}.editor-lessons{padding:.4rem .7rem}.editor-lesson{border-bottom:1px solid #ece9e1;grid-template-columns:1.25rem minmax(160px,1fr) minmax(120px,.55fr) auto auto;align-items:center;gap:.5rem;padding:.45rem 0;display:grid}.editor-lesson:last-child{border-bottom:0}.editor-lesson input,.editor-lesson select{padding:.55rem .6rem;font-size:.75rem}.editor-lesson--hidden{opacity:.58;background:#f5f3ee}.lesson-kind{color:var(--teal);text-align:center;font-size:.68rem}.visibility-button{color:var(--teal);cursor:pointer;background:#edf5f2;border:1px solid #9bb6b0;border-radius:99px;padding:.42rem .65rem;font-size:.65rem}.visibility-button.hidden{border-color:var(--line);color:var(--muted);background:0 0}.empty-module{color:var(--muted);margin:.6rem;font-size:.72rem}.editor-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;gap:.7rem;padding-top:1rem;display:flex}@media (width<=1050px){.login-page{grid-template-columns:1fr 1fr}.login-copy h1{font-size:4rem}.course-grid{grid-template-columns:repeat(2,1fr)}.study-page{grid-template-columns:minmax(240px,28vw) minmax(0,1fr)}}@media (width<=720px){.login-page{background:var(--cream);display:block}.login-intro{min-height:auto;padding:1.5rem 1.3rem 2.4rem}.login-copy{padding:4rem 0 2rem}.login-copy h1{font-size:3.55rem}.course-lines{display:none}.login-panel{border-radius:22px 22px 0 0;padding:2.2rem 1.3rem}.topbar{height:60px}.topbar .user-name{display:none}.text-button{font-size:.78rem}.library-page{padding:3rem 0}.library-heading{display:block}.library-heading h1{font-size:3rem}.course-count{margin-top:1rem}.course-grid,.loading-grid{grid-template-columns:1fr}.study-page{height:calc(100vh - 60px);display:block;position:relative;overflow:hidden}.course-outline,.study-content{height:auto;position:absolute;inset:0}.course-outline{display:none}.course-outline.mobile-active{display:flex}.study-content{display:block;overflow:hidden}.study-content.mobile-index-active{display:none}.lesson-stage,.notes-panel{display:none;position:absolute;inset:0}.notes-panel.mobile-active{display:flex}.lesson-stage.mobile-active{display:block}.course-outline{flex-direction:column;height:auto}.lesson-stage{overflow-y:auto}.lesson-toolbar{display:none}.video-wrap{min-height:48vh}.lesson-heading{flex-direction:column;align-items:start;padding:1.5rem}.notes-panel{inset:0}.mobile-tabs{z-index:12;background:#252724;border:1px solid #555;border-radius:99px;padding:.25rem;display:flex;position:fixed;bottom:1rem;right:50%;transform:translate(50%);box-shadow:0 8px 25px #00000040}.mobile-tabs button{color:#bbb;background:0 0;border:0;border-radius:99px;padding:.55rem .8rem}.mobile-tabs button.active{color:#222;background:#fff}.admin-lead,.users-layout{display:block}.user-list{margin-top:2rem}.user-list article{flex-wrap:wrap;align-items:flex-start}.user-actions{width:100%;padding-left:3.1rem}.course-editor{display:block}.editor-metadata{margin-bottom:1.5rem;position:static}.editor-lesson{grid-template-columns:1.1rem 1fr auto auto}.editor-lesson select{grid-column:2/-1}.editor-actions{margin-top:1.2rem}.admin-course-list article{grid-template-columns:3.5rem 1fr}.admin-course-list article .secondary-button{grid-column:2;justify-self:start}.button-row{margin:1rem 0}}
