:root{--ink:#20231f;--muted:#6f746c;--paper:#f4f1ea;--surface:#fffdf8;--line:#d9d5ca;--green:#1f6b54;--green-soft:#dfece5;--orange:#d76635;--shadow:0 24px 70px rgba(37,38,32,.09);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}body{margin:0;min-width:320px;background:var(--paper)}button,input,textarea{font:inherit}.wordmark{font-weight:900;letter-spacing:.16em;color:var(--ink);text-decoration:none}.eyebrow,.step-label,.box-label{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--green)}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);padding:36px}.login-story,.login-panel{border:1px solid var(--line)}.login-story{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,110px);border-radius:28px 0 0 28px;background:#e9e3d7}.login-story .wordmark{position:absolute;top:62px}.login-story h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5.6vw,6rem);line-height:.96;letter-spacing:-.055em;margin:18px 0 28px;max-width:900px}.lead,.lesson-intro{font-size:1.18rem;line-height:1.65;color:#50554e;max-width:700px}.route-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:38px}.route-preview span{padding:10px 15px;border:1px solid #bdb6a7;border-radius:999px;background:rgba(255,255,255,.45);font-weight:700}.route-preview i{font-style:normal;color:#8d8b83}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,6vw,90px);border-left:0;border-radius:0 28px 28px 0;background:var(--surface)}.login-panel h2{font-family:Georgia,serif;font-size:2.2rem;margin:8px 0}.login-panel>p{color:var(--muted);line-height:1.55}.login-panel form{display:grid;gap:12px;margin-top:24px}.login-panel label,.task-block>form>label{font-weight:800}.login-panel input{height:58px;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:1.1rem}.login-panel input:focus,textarea:focus{outline:3px solid rgba(31,107,84,.16);border-color:var(--green)}.primary{min-height:54px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800;padding:15px 20px;cursor:pointer}.primary:hover{background:#185541}.primary:disabled{opacity:.6;cursor:wait}.error{min-height:24px;color:#b33a25!important;font-weight:700}.privacy{font-size:.82rem;margin-top:22px}.course-shell{min-height:100vh;display:grid;grid-template-columns:340px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:32px 28px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#ece8de}.sidebar-caption{font-size:.85rem;color:var(--muted);margin:8px 0 30px}.progress-block{padding:18px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.progress-block>div:first-child{display:flex;justify-content:space-between;font-size:.85rem}.progress-track{height:6px;background:#d3cfc5;border-radius:6px;margin-top:12px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--orange);border-radius:6px}.modules{list-style:none;padding:0;margin:22px 0;overflow:auto}.module{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:13px 0;color:#8b8e87}.module strong{display:block;font-size:.92rem}.module small{display:block;line-height:1.35;margin-top:4px}.module-number{font:700 .74rem ui-monospace,monospace;padding-top:2px}.module-state{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.module.current{color:var(--ink)}.module.current .module-number{color:var(--orange)}.module.completed{color:var(--green)}.text-button{border:0;background:none;padding:8px 0;text-align:left;color:var(--muted);cursor:pointer}.lesson-area{padding:clamp(32px,5vw,78px)}.lesson-card{max-width:880px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.lesson-meta{display:flex;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;font-weight:700}.lesson-card>h1,.lesson-card>.eyebrow,.lesson-card>.lesson-intro{margin-left:clamp(24px,6vw,64px);margin-right:clamp(24px,6vw,64px)}.lesson-card>h1{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em;margin-top:58px;margin-bottom:24px}.example-box{margin:38px clamp(24px,6vw,64px);padding:22px 24px;background:var(--green-soft);border-radius:14px}.example-box p{margin:10px 0 0;line-height:1.6}.task-block{padding:38px clamp(24px,6vw,64px) 48px;border-top:1px solid var(--line)}.task-block h2{font-family:Georgia,serif;font-size:1.75rem;line-height:1.25;margin:10px 0 22px}.template-box{position:relative;border:1px solid var(--line);border-radius:14px;background:#f7f5ef;overflow:hidden}.template-box pre{white-space:pre-wrap;font:500 .94rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;margin:0;padding:22px 22px 60px}.template-box button{position:absolute;right:12px;bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 12px;font-size:.8rem;font-weight:700;cursor:pointer}.task-block form{display:grid;gap:14px;margin-top:28px}.task-block textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:14px;padding:16px;line-height:1.55;background:#fff}.checks{display:grid;gap:9px;padding:18px;border:1px solid var(--line);border-radius:14px}.checks strong{margin-bottom:4px}.checks label{display:flex;gap:10px;align-items:flex-start;color:#555a53}.checks input{margin-top:4px;accent-color:var(--green)}.hint{display:none;margin:0;padding:14px;border-left:3px solid var(--orange);background:#fff4ed;color:#635249}.hint.visible{display:block}.hint-button{color:var(--green);font-weight:700}.notice{min-height:20px;margin:0;color:var(--green);font-weight:700}.outcome{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(24px,6vw,64px);background:#272c27;color:#fff}.outcome span{color:#bfc6bd}.outcome strong{text-align:right}.mobile-header{display:none}.complete-card{padding:70px clamp(24px,6vw,64px)}.complete-card>h1,.complete-card>.eyebrow,.complete-card>.lesson-intro{margin-left:0;margin-right:0}.completion-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:40px 0}.completion-grid div{padding:24px;border-radius:14px;background:var(--green-soft)}.completion-grid strong{display:block;font:700 2.5rem Georgia,serif}.completion-grid span{color:var(--muted)}.final-note{padding:20px;border-left:3px solid var(--orange);background:#fff4ed;line-height:1.6}@media(max-width:850px){.login-layout{grid-template-columns:1fr;padding:14px}.login-story,.login-panel{border-radius:20px;border:1px solid var(--line)}.login-story{min-height:52vh;padding:38px 28px}.login-story .wordmark{position:static}.login-story h1{font-size:3rem}.login-panel{margin-top:12px;padding:32px 24px}.course-shell{display:block}.sidebar{display:none}.lesson-area{padding:0 12px 28px}.mobile-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.lesson-card{border-radius:18px}.lesson-meta{padding:17px 20px}.lesson-card>h1{margin-top:38px}.outcome{display:block}.outcome strong{display:block;text-align:left;margin-top:7px}.completion-grid{grid-template-columns:1fr}.route-preview{gap:8px}.route-preview i{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
