:root{--ink: #171714;--ink-soft: #292924;--paper: #f4f1e9;--paper-deep: #eae4d7;--white: #fffdf8;--gold: #a67c3a;--gold-light: #d8b66d;--sage: #6d7964;--rust: #8f5c42;--line: rgba(23, 23, 20, .13);--muted: #6d6b63;--success: #4d7459;--danger: #985247;--shadow: 0 22px 60px rgba(35, 28, 18, .1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{margin:0;min-height:100vh;background:var(--paper)}button,input,select{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p{margin-top:0}h1,h2{letter-spacing:-.045em}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(166,124,58,.28);outline-offset:2px}.eyebrow{color:var(--gold);display:block;font-size:10px;font-weight:800;letter-spacing:.22em;margin-bottom:12px}.eyebrow--light{color:var(--gold-light)}.muted{color:var(--muted)}.brand{display:flex;align-items:center;gap:13px;color:var(--white)}.brand-mark{align-items:center;display:flex;height:50px;justify-content:center;width:52px}.brand-mark svg{height:100%;overflow:visible;width:100%}.brand-mark path{fill:none;stroke-linecap:square;stroke-linejoin:bevel;stroke-width:6}.brand-mark .monogram-v{stroke:var(--gold-light)}.brand-mark .monogram-a{stroke:var(--white)}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font-family:Georgia,serif;font-size:18px;font-weight:500;letter-spacing:.13em}.brand-copy small{color:var(--gold-light);font-size:8px;font-weight:800;letter-spacing:.32em}.brand--compact{gap:10px}.brand--compact .brand-mark{height:41px;width:43px}.brand--compact .brand-copy strong{font-size:15px}.login-page{display:grid;grid-template-columns:minmax(520px,1.08fr) minmax(460px,.92fr);min-height:100vh}.login-story{background:radial-gradient(circle at 30% 75%,rgba(166,124,58,.13),transparent 31%),linear-gradient(145deg,#10110f,#20201c);color:var(--white);display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:42px 7vw 36px;position:relative}.login-story:after{border:1px solid rgba(216,182,109,.13);border-radius:50%;bottom:-35vw;content:"";height:58vw;position:absolute;right:-28vw;width:58vw}.login-story__content{margin:auto 0;max-width:670px;position:relative;z-index:1}.login-story__content h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,5.2vw,86px);font-weight:400;line-height:.98;margin-bottom:30px}.login-story__content h1 em{color:var(--gold-light);font-weight:400}.login-story__content>p{color:#c5c2b9;font-family:Georgia,serif;font-size:clamp(18px,1.5vw,24px);line-height:1.55;max-width:560px}.story-stats{border-top:1px solid rgba(255,255,255,.13);display:flex;gap:clamp(28px,5vw,80px);margin-top:62px;max-width:610px;padding-top:26px}.story-stats div{display:grid}.story-stats strong{color:var(--gold-light);font-family:Georgia,serif;font-size:28px;font-weight:400}.story-stats span{color:#aaa79f;font-size:11px;margin-top:5px;text-transform:uppercase}.login-story__footer{color:#77776f;font-size:10px;letter-spacing:.16em;margin:0;position:relative;z-index:1}.login-panel{align-items:center;background:var(--paper);display:flex;justify-content:center;padding:55px}.login-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);max-width:470px;padding:clamp(38px,5vw,62px);width:100%}.login-card h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin-bottom:8px}.login-card>p{margin-bottom:36px}label{color:#4f4d46;display:grid;font-size:12px;font-weight:700;gap:8px;margin-bottom:19px}input,select{background:#fff;border:1px solid #cfc9bc;border-radius:2px;color:var(--ink);min-height:49px;padding:0 14px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #a67c3a1a;outline:none}label small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.5}.primary-button,.secondary-button,.light-button{align-items:center;border:0;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:10px;justify-content:center;letter-spacing:.02em;min-height:46px;padding:0 20px;transition:transform .18s,background .18s,opacity .18s}.primary-button{background:var(--ink);color:var(--white)}.primary-button:hover,.light-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.login-card .primary-button{margin-top:7px;width:100%}.secondary-button{background:transparent;border:1px solid var(--line)}.secondary-button:hover{background:#1717140a}.light-button{background:var(--white);color:var(--ink)}.secure-note{align-items:center;color:#8a877f;display:flex;font-size:10px;gap:7px;justify-content:center;margin-top:18px}.form-error{background:#faece9;border-left:3px solid var(--danger);color:#733c34;font-size:12px;line-height:1.5;margin:4px 0 16px;padding:10px 12px}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#e9e6de;display:flex;flex-direction:column;height:100vh;padding:28px 18px 20px;position:sticky;top:0;z-index:30}.sidebar__head{align-items:center;display:flex;justify-content:space-between;margin:0 9px 40px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{align-items:center;background:transparent;border:0;border-left:2px solid transparent;color:#aaa89f;cursor:pointer;display:flex;font-size:13px;font-weight:650;gap:13px;min-height:45px;padding:0 13px;text-align:left;transition:.2s;width:100%}.sidebar nav button:hover{color:#fff}.sidebar nav button.active{background:#d8b66d17;border-left-color:var(--gold-light);color:var(--white)}.sidebar nav button i{background:#d8b66d26;color:var(--gold-light);font-size:7px;font-style:normal;letter-spacing:.08em;margin-left:auto;padding:4px 5px}.sidebar__quote{border-top:1px solid rgba(255,255,255,.08);color:#85837c;margin:auto 10px 24px;padding-top:25px}.sidebar__quote svg{color:var(--gold)}.sidebar__quote p{font-family:Georgia,serif;font-size:13px;font-style:italic;line-height:1.55;margin:10px 0 0}.sidebar__user{align-items:center;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:10px;grid-template-columns:35px 1fr auto;padding:20px 8px 0}.sidebar__user>span{align-items:center;background:var(--gold);color:var(--ink);display:flex;font-family:Georgia,serif;height:35px;justify-content:center;width:35px}.sidebar__user div{display:grid;gap:2px;min-width:0}.sidebar__user strong{font-size:11px;overflow:hidden;text-overflow:ellipsis}.sidebar__user small{color:#77766f;font-size:9px}.icon-button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;justify-content:center;padding:5px}.app-main{min-width:0}.page{margin:0 auto;max-width:1480px;padding:48px clamp(28px,4vw,72px) 80px}.page-header{align-items:flex-end;display:flex;gap:30px;justify-content:space-between;margin-bottom:34px}.page-header h1{font-family:Georgia,serif;font-size:clamp(34px,3.2vw,52px);font-weight:400;margin-bottom:9px}.page-header p{color:var(--muted);font-family:Georgia,serif;font-size:16px;margin:0}.mobile-header,.mobile-only{display:none}.hero-progress{align-items:center;background:linear-gradient(135deg,#24241f,#171714);color:var(--white);display:grid;gap:30px;grid-template-columns:1fr auto;margin-bottom:18px;min-height:255px;overflow:hidden;padding:clamp(32px,4vw,58px);position:relative}.hero-progress:after{border:1px solid rgba(216,182,109,.14);border-radius:50%;content:"";height:390px;position:absolute;right:-115px;top:-140px;width:390px}.hero-progress>div:first-child{position:relative;z-index:2}.hero-progress h2{font-family:Georgia,serif;font-size:clamp(30px,3vw,46px);font-weight:400;margin-bottom:7px}.hero-progress p{color:#b9b6ad;margin-bottom:25px}.progress-ring{align-items:center;background:conic-gradient(var(--gold-light) var(--value),rgba(255,255,255,.12) 0);border-radius:50%;display:flex;height:148px;justify-content:center;position:relative;width:148px;z-index:2}.progress-ring:before{background:var(--ink-soft);border-radius:50%;content:"";height:118px;position:absolute;width:118px}.progress-ring>div{align-items:center;display:flex;flex-direction:column;position:relative;z-index:1}.progress-ring strong{color:var(--white);font-family:Georgia,serif;font-size:30px;font-weight:400}.progress-ring span{color:#99968d;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.metrics-grid{display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.metric{align-items:center;background:var(--white);border:1px solid var(--line);display:flex;gap:16px;min-height:125px;padding:22px}.metric__icon{align-items:center;background:#a67c3a1c;color:var(--gold);display:flex;height:43px;justify-content:center;width:43px}.metric>div:last-child{display:grid}.metric span{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.metric strong{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:3px 0}.metric small{color:#8c8981;font-size:9px}.metric--rust .metric__icon{background:#8f5c421c;color:var(--rust)}.metric--sage .metric__icon{background:#6d79641f;color:var(--sage)}.metric--ink .metric__icon{background:#17171414;color:var(--ink)}.dashboard-columns{display:grid;gap:18px;grid-template-columns:1fr 1fr}.panel{background:var(--white);border:1px solid var(--line);padding:26px}.panel-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.panel-title .eyebrow{margin-bottom:6px}.panel-title h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0}.panel-title>strong{font-size:12px}.activity-list{display:grid}.activity-list>div{align-items:center;border-top:1px solid var(--line);display:grid;gap:12px;grid-template-columns:39px 1fr auto;min-height:67px}.score-dot{align-items:center;border:1px solid;display:flex;font-size:10px;font-weight:800;height:34px;justify-content:center;width:34px}.score-dot.passed{border-color:#4d74594d;color:var(--success)}.score-dot.retry{border-color:#9852474d;color:var(--danger)}.activity-list strong{display:block;font-size:12px}.activity-list small{color:var(--muted);display:block;font-size:9px;margin-top:4px}.achievement-grid{display:grid;gap:9px;grid-template-columns:1fr 1fr}.achievement-grid>div{border:1px solid var(--line);display:grid;gap:5px;min-height:115px;padding:16px}.achievement-grid svg{color:var(--gold);margin-bottom:5px}.achievement-grid strong{font-family:Georgia,serif;font-size:14px}.achievement-grid small{color:var(--muted);font-size:9px;line-height:1.4}.achievement-grid .locked{filter:grayscale(1);opacity:.35}.empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:210px;text-align:center}.empty p{font-size:12px}.course-total{border-left:1px solid var(--line);display:grid;padding-left:25px}.course-total strong{font-family:Georgia,serif;font-size:28px;font-weight:400}.course-total span{color:var(--muted);font-size:9px;text-transform:uppercase}.course-map{display:grid;gap:12px}.module-card{background:var(--white);border:1px solid var(--line);transition:box-shadow .2s}.module-card.open{box-shadow:var(--shadow)}.module-head{align-items:center;background:transparent;border:0;cursor:pointer;display:grid;gap:25px;grid-template-columns:54px 1fr auto;padding:clamp(22px,3vw,34px);text-align:left;width:100%}.module-number{color:var(--gold);font-family:Georgia,serif;font-size:28px}.module-tags{display:flex;gap:8px;margin-bottom:8px}.module-tags span{background:var(--paper);color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.1em;padding:5px 7px;text-transform:uppercase}.module-head h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 5px}.module-head p{color:var(--muted);font-size:12px;margin:0}.module-meta{align-items:center;display:flex;gap:20px}.module-meta>span{align-items:center;color:var(--muted);display:flex;font-size:10px;gap:6px}.module-meta strong{font-size:12px}.module-meta svg{transition:transform .2s}.module-meta svg.rotate{transform:rotate(180deg)}.lesson-list{border-top:1px solid var(--line);padding:0 34px 20px 113px}.lesson-list button{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer;display:grid;gap:14px;grid-template-columns:31px 1fr auto auto;min-height:72px;padding:10px 0;text-align:left;width:100%}.lesson-list button:last-child{border-bottom:0}.lesson-state{align-items:center;border:1px solid #cbc6ba;color:var(--muted);display:flex;font-size:10px;height:26px;justify-content:center;width:26px}.lesson-state.done{background:var(--success);border-color:var(--success);color:#fff}.lesson-list strong{display:block;font-size:12px}.lesson-list small{color:var(--muted);display:block;font-size:10px;margin-top:4px}.lesson-list b{color:var(--success);font-size:10px}.back-link{align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;display:flex;font-size:11px;gap:7px;margin-bottom:32px;padding:0}.lesson-layout{align-items:start;display:grid;gap:26px;grid-template-columns:minmax(0,1fr) 275px}.lesson-content{min-width:0}.lesson-intro,.examples,.practice{background:var(--white);border:1px solid var(--line);margin-bottom:18px;padding:clamp(28px,4vw,52px)}.lesson-intro p{font-family:Georgia,serif;font-size:clamp(17px,1.5vw,21px);line-height:1.65}.lesson-intro p:last-child{margin-bottom:0}.examples{background:var(--ink-soft);color:var(--white)}.examples>div{border-top:1px solid rgba(255,255,255,.12);display:grid;gap:25px;grid-template-columns:130px 1fr;padding:19px 0}.examples>div>span{color:var(--gold-light);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.examples p{font-family:Georgia,serif;font-size:18px;margin:0}.practice-head h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin-bottom:7px}.practice-head p{color:var(--muted);font-size:12px}.question-card{border-top:1px solid var(--line);display:grid;grid-template-columns:36px 1fr;padding:30px 0}.question-number{color:var(--gold);font-family:Georgia,serif;font-size:13px}.question-card>p{font-family:Georgia,serif;font-size:18px;grid-column:2;line-height:1.5}.choices,.answer-input{grid-column:2}.choices{display:grid;gap:8px}.choices button{align-items:center;background:transparent;border:1px solid #d2cdc1;cursor:pointer;display:flex;gap:12px;min-height:50px;padding:9px 13px;text-align:left;transition:.18s}.choices button:hover{border-color:var(--gold)}.choices button.selected{background:#a67c3a12;border-color:var(--gold)}.choices button>span{align-items:center;border:1px solid #bfb9ac;display:flex;flex:0 0 auto;height:20px;justify-content:center;width:20px}.choices button.selected>span{background:var(--gold);border-color:var(--gold);color:#fff}.answer-input{width:100%}.submit-lesson{grid-column:2;margin-left:36px}.lesson-aside{position:sticky;top:30px}.lesson-aside>div{background:var(--white);border:1px solid var(--line);padding:24px}.lesson-aside ol{color:var(--muted);counter-reset:lesson;display:grid;font-size:10px;gap:17px;list-style:none;margin:20px 0 0;padding:0}.lesson-aside li{align-items:center;counter-increment:lesson;display:flex;gap:10px}.lesson-aside li:before{align-items:center;border:1px solid #ccc6b9;content:counter(lesson);display:flex;height:23px;justify-content:center;width:23px}.lesson-aside li.active{color:var(--ink);font-weight:800}.lesson-aside li.active:before{background:var(--gold);border-color:var(--gold);color:#fff}.lesson-aside>p{align-items:flex-start;color:var(--muted);display:flex;font-size:10px;gap:8px;line-height:1.5;padding:18px 6px}.lesson-aside>p svg{color:var(--gold);flex:0 0 auto}.result-hero{align-items:center;background:var(--success);color:#fff;display:flex;gap:38px;margin-bottom:18px;min-height:235px;padding:48px}.result-hero.retry{background:var(--rust)}.result-score{align-items:baseline;border:1px solid rgba(255,255,255,.3);display:flex;font-family:Georgia,serif;font-size:64px;height:140px;justify-content:center;min-width:140px}.result-score small{font-size:20px}.result-hero h1{font-family:Georgia,serif;font-size:44px;font-weight:400;margin-bottom:6px}.result-hero p{color:#ffffffb8;margin:0}.feedback-list{background:var(--white);border:1px solid var(--line);padding:30px}.feedback-list article{border-top:1px solid var(--line);display:grid;gap:14px;grid-template-columns:30px 1fr;padding:24px 0}.feedback-list article>span{align-items:center;border:1px solid;display:flex;height:28px;justify-content:center;width:28px}.feedback-list article>span svg{height:15px}.feedback-list article.correct>span{border-color:var(--success);color:var(--success)}.feedback-list article.incorrect>span{border-color:var(--danger);color:var(--danger)}.feedback-list h4{margin-bottom:8px}.feedback-list p{font-size:12px;margin-bottom:5px}.feedback-list small{color:var(--muted);display:block;font-family:Georgia,serif;font-size:14px;line-height:1.5;margin-top:10px}.result-actions{display:flex;justify-content:space-between;margin-top:18px}.review-progress{background:#ddd7ca;height:3px;margin-bottom:22px}.review-progress span{background:var(--gold);display:block;height:100%;transition:width .3s}.review-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);margin:0 auto;max-width:850px;padding:clamp(30px,5vw,62px)}.review-context{display:grid;gap:3px;margin-bottom:45px}.review-context span{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.review-context small{color:var(--muted)}.review-card h2{font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);font-weight:400;line-height:1.35;margin-bottom:34px}.review-card .choices,.review-card .answer-input{grid-column:auto}.review-actions{border-top:1px solid var(--line);display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px}.review-feedback{align-items:flex-start;border:1px solid;display:grid;gap:14px;grid-template-columns:31px 1fr;padding:20px}.review-feedback>span{align-items:center;border:1px solid;display:flex;height:30px;justify-content:center;width:30px}.review-feedback svg{height:16px}.review-feedback.correct{background:#4d74590f;border-color:#4d745947;color:var(--success)}.review-feedback.incorrect{background:#9852470f;border-color:#98524747;color:var(--danger)}.review-feedback p{color:var(--ink);font-family:Georgia,serif;line-height:1.5;margin:8px 0}.review-feedback small{opacity:.75}.empty-state{align-items:center;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;min-height:420px;padding:45px;text-align:center}.empty-state>div{align-items:center;border:1px solid var(--gold);color:var(--gold);display:flex;height:68px;justify-content:center;margin-bottom:25px;transform:rotate(45deg);width:68px}.empty-state svg{transform:rotate(-45deg)}.empty-state h2{font-family:Georgia,serif;font-size:32px;font-weight:400}.empty-state p{color:var(--muted);max-width:480px}.progress-summary{align-items:center;background:var(--ink-soft);color:#fff;display:flex;gap:40px;margin-bottom:18px;padding:35px 45px}.progress-summary .progress-ring{flex:0 0 auto;height:130px;width:130px}.progress-summary .progress-ring:before{height:104px;width:104px}.progress-summary>div:last-child>span{color:var(--gold-light);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.progress-summary h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:6px 0}.progress-summary p{color:#aaa79e;margin:0}.module-progress-list{display:grid}.module-progress-list>div{align-items:center;border-top:1px solid var(--line);display:grid;gap:20px;grid-template-columns:minmax(170px,1fr) minmax(140px,2fr) 40px;min-height:68px}.module-progress-list strong{display:block;font-size:12px}.module-progress-list span{color:var(--muted);display:block;font-size:9px;margin-top:3px}.bar{background:var(--paper-deep);height:6px;overflow:hidden}.bar span,.bar i{background:var(--gold);display:block;height:100%}.module-progress-list b{font-size:10px}.page>.panel+.panel{margin-top:18px}.activity-grid{display:grid;gap:7px;grid-template-columns:repeat(14,1fr)}.activity-grid>div{aspect-ratio:1;background:#e6e1d7;position:relative}.activity-grid>div.level-1{background:#d7c9aa}.activity-grid>div.level-2{background:#c5a86e}.activity-grid>div.level-3{background:#a67c3a}.activity-grid>div.level-4{background:#725027}.activity-grid span{display:none}.tabs{border-bottom:1px solid var(--line);display:flex;gap:6px;margin-bottom:18px}.tabs button{align-items:center;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;display:flex;font-size:11px;font-weight:800;gap:8px;padding:13px 16px}.tabs button.active{border-color:var(--gold);color:var(--ink)}.table-panel{overflow-x:auto;padding:0}.admin-table{min-width:900px}.admin-row{align-items:center;border-top:1px solid var(--line);display:grid;font-size:10px;gap:15px;grid-template-columns:1.4fr .6fr .8fr .7fr 1fr;min-height:76px;padding:0 22px}.admin-head{background:var(--ink-soft);border:0;color:#c4c1b8;font-size:8px;font-weight:800;letter-spacing:.1em;min-height:45px;text-transform:uppercase}.person{align-items:center;display:flex;gap:10px}.person>i{align-items:center;background:var(--paper-deep);color:var(--gold);display:flex;font-family:Georgia,serif;font-size:15px;font-style:normal;height:34px;justify-content:center;width:34px}.person strong,.person small{display:block}.person small{color:var(--muted);font-size:9px;margin-top:3px}.status-active,.status-off{border-radius:20px;color:var(--success);font-size:8px;padding:5px 8px;text-transform:uppercase}.status-active{background:#4d74591a}.status-off{background:#9852471a;color:var(--danger)}.row-actions{display:flex;gap:6px;justify-content:flex-end}.row-actions button{background:transparent;border:1px solid var(--line);cursor:pointer;font-size:8px;padding:7px 8px}.metrics-grid--admin{grid-template-columns:repeat(3,1fr)}.analytics-bars{display:grid;gap:18px}.analytics-bars>div{align-items:center;display:grid;gap:10px;grid-template-columns:130px 1fr 35px}.analytics-bars>div>span{font-size:10px}.analytics-bars .bar i{background:var(--sage)}.analytics-bars b{font-size:10px}.notice{align-items:center;background:#6d796421;border-left:3px solid var(--sage);cursor:pointer;display:flex;font-size:11px;justify-content:space-between;margin-bottom:18px;padding:12px 14px}.modal-backdrop{align-items:center;background:#0f0f0da6;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:25px;position:fixed;z-index:100}.modal{background:var(--white);box-shadow:0 35px 100px #0000004d;max-height:calc(100vh - 50px);max-width:520px;overflow-y:auto;padding:36px;width:100%}.modal-head{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.modal-head h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:0}.modal-head p{color:var(--muted);font-size:11px;margin-top:7px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:28px}.loading{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:15px;justify-content:center;min-height:100vh}.loading span{animation:pulse 1s infinite alternate;border:1px solid var(--gold);height:34px;transform:rotate(45deg);width:34px}.loading p{font-family:Georgia,serif;font-size:14px}@keyframes pulse{to{background:var(--gold);transform:rotate(135deg)}}@media(max-width:1100px){.login-page{grid-template-columns:1fr 1fr}.login-story{padding-left:55px;padding-right:55px}.metrics-grid{grid-template-columns:1fr 1fr}.lesson-layout{grid-template-columns:1fr}.lesson-aside{display:none}.module-head{grid-template-columns:45px 1fr}.module-meta{grid-column:2;justify-content:flex-start}.lesson-list{padding-left:97px}}@media(max-width:820px){.login-page{display:block}.login-story{min-height:44vh;padding:26px}.login-story__content{margin:auto 0 0}.login-story__content h1{font-size:42px;margin:45px 0 16px}.login-story__content>p{font-size:16px;margin-bottom:0}.story-stats,.login-story__footer{display:none}.login-panel{min-height:56vh;padding:25px}.login-card{box-shadow:none;padding:30px}.login-card h2{font-size:34px}.app-shell{display:block}.sidebar{left:0;max-width:280px;position:fixed;transform:translate(-100%);transition:transform .25s;width:82vw}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{background:#00000073;top:0;right:0;bottom:0;left:0;position:fixed;z-index:20}.mobile-only{display:flex}.mobile-header{align-items:center;background:var(--ink);color:#fff;display:flex;justify-content:space-between;min-height:64px;padding:0 18px}.mobile-header .brand-copy{display:none}.mobile-header .brand-mark{height:38px;width:40px}.page{padding:32px 18px 60px}.page-header{align-items:flex-start;flex-direction:column;gap:18px}.page-header h1{font-size:35px}.hero-progress{grid-template-columns:1fr}.hero-progress .progress-ring{display:none}.dashboard-columns{grid-template-columns:1fr}.module-head{gap:14px;padding:22px 18px}.module-head p{line-height:1.5}.module-meta{flex-wrap:wrap}.lesson-list{padding:0 18px 14px}.lesson-list button{grid-template-columns:31px 1fr auto}.lesson-list button>b{display:none}.lesson-list button>svg{display:none}.question-card{display:block}.question-number{display:block;margin-bottom:12px}.question-card>p{font-size:17px}.submit-lesson{margin-left:0;width:100%}.result-hero{align-items:flex-start;flex-direction:column;padding:30px}.result-score{font-size:48px;height:100px;min-width:100px}.result-hero h1{font-size:34px}.progress-summary{align-items:flex-start;flex-direction:column;padding:30px}.module-progress-list>div{grid-template-columns:1fr 40px;padding:14px 0}.module-progress-list .bar{grid-column:1 / -1;grid-row:2}.activity-grid{grid-template-columns:repeat(7,1fr)}.metrics-grid--admin{grid-template-columns:1fr}}@media(max-width:540px){.metrics-grid{grid-template-columns:1fr}.metric{min-height:100px}.hero-progress{min-height:275px;padding:28px}.hero-progress h2{font-size:31px}.achievement-grid{grid-template-columns:1fr}.examples>div{gap:8px;grid-template-columns:1fr}.lesson-intro,.examples,.practice{padding:25px 20px}.feedback-list{padding:22px 18px}.result-actions{flex-direction:column-reverse;gap:8px}.result-actions button{width:100%}.review-card{padding:28px 20px}.review-actions .primary-button{width:100%}.modal{padding:26px 20px}}
