:root{--green:#143d35;--ink:#20382f;--muted:#788078;--paper:#f6f7f2;--border:#e2e7dc;--lime:#d5f28b;--accent:#2f6b52;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7cb36b;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:42px;line-height:1.18;letter-spacing:-1.8px;font-weight:650;margin-bottom:15px}h2{font-size:25px;letter-spacing:-.7px;font-weight:650;margin-bottom:12px}h3{font-size:19px;letter-spacing:-.35px;margin-bottom:10px}p{line-height:1.65}small,.small{font-size:12px}strong{font-weight:650}.muted{color:var(--muted)}.eyebrow,.tiny-label{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#758276;margin-bottom:13px}.light{color:#adc5a9}.pill{display:inline-block;font-size:9px;letter-spacing:1.5px;font-weight:750;border:1px solid #b4c5a6;border-radius:5px;padding:7px 10px;color:#496144;margin-bottom:22px}.button{border:0;padding:14px 20px;border-radius:9px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:45px}.primary,.dark{background:var(--green);color:#fff}.button:hover{filter:brightness(1.08)}.subtle{background:#edf1e8;color:var(--green)}.full{width:100%}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.brand{display:flex;gap:11px;align-items:center;color:var(--lime);font-size:23px;font-weight:650;letter-spacing:-.7px}.brand svg{width:40px;height:40px}.brand small{display:block;color:#a8bfaf;font-size:8px;letter-spacing:3px;margin-top:4px;font-weight:600}.brand span{color:#f4f8ec}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--green);color:#c5d2c8;padding:32px 23px 20px;display:flex;flex-direction:column;z-index:5}.nav-label{font-size:9px;letter-spacing:1.7px;color:#87a69a;margin:53px 12px 17px}nav{display:grid;gap:6px}nav a{display:flex;align-items:center;gap:12px;padding:14px;font-size:13px;border-radius:8px;color:#b5c9bf}nav a>span{font-size:20px;line-height:16px}nav a b{font-size:10px;margin-left:auto;background:#ffffff14;padding:3px 7px;border-radius:5px}nav a:hover{background:#ffffff08}nav a.active{background:#ffffff12;color:#e3f6ba}nav a.active:before{content:'';height:16px;width:3px;background:var(--lime);position:absolute;left:0;border-radius:0 3px 3px 0}.sidebar-tip{margin:auto 12px 38px;padding-top:35px}.sidebar-tip>span{color:var(--lime);font-size:43px}.sidebar-tip p{font-size:13px;line-height:1.8;color:#abc4b6;margin:12px 0}.sidebar-progress{padding:0 12px 25px;border-bottom:1px solid #ffffff15}.sidebar-progress>div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:12px}.sidebar-progress strong{color:var(--lime)}.sidebar-progress .track{background:#ffffff15}.sidebar-progress .track i{background:var(--lime)}.sidebar-progress small{font-size:10px;color:#8aaa99;display:block;margin-top:9px}.track{height:5px;background:#eaf0e4;border-radius:5px;overflow:hidden}.track i{display:block;height:100%;border-radius:5px;background:#58865a}.profile{display:flex;align-items:center;gap:10px;padding:22px 6px 13px}.avatar{height:36px;width:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e0ecca;color:#244b37;font-size:14px;font-weight:700;flex-shrink:0}.profile strong{font-size:12px;color:#ecf1e8}.profile small{display:block;font-size:9px;margin-top:4px;color:#8fae9c}.profile a{margin-left:auto;font-size:20px;color:#98b4a1}.logout{background:none;border:0;color:#91afa0;font-size:11px;text-align:left;padding:8px 12px}.workspace{margin-left:240px}.topbar{height:85px;background:#fbfcf8;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 48px;gap:20px}.breadcrumb{font-size:12px;color:#798477}.breadcrumb b{margin:0 14px;color:#b1b9ad;font-weight:400}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:9px 12px;width:300px}.search>span{font-size:25px;line-height:18px;color:#6f7e70}.search input{width:100%;border:0;background:none;font-size:11px;outline:0;color:var(--ink)}kbd{font:10px inherit;background:#f5f7f0;border:1px solid var(--border);border-radius:3px;padding:1px 4px;color:#8c9686}.main{max-width:1280px;margin:auto;padding:42px 48px 48px;min-height:calc(100vh - 147px)}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.heading-row p:last-child{font-size:13px;margin-bottom:0}.heading-dot{color:#639b55}.date-pill{background:#fff;border:1px solid var(--border);border-radius:20px;font-size:10px;padding:10px 14px;white-space:nowrap;color:#68735f}.welcome-card{border:1px solid #dce7cc;background:#eaf2de;border-radius:14px;padding:35px 32px;display:grid;grid-template-columns:1.4fr 1fr;overflow:hidden;min-height:245px}.welcome-card .pill{margin-bottom:17px}.welcome-card h2{font-size:30px;letter-spacing:-1px}.welcome-card p{font-size:12px;color:#66745c;max-width:390px;margin-bottom:24px}.welcome-card .button{font-size:11px;padding:12px 17px;min-height:40px}.welcome-art{position:relative;min-height:180px;display:flex;align-items:center;justify-content:center}.orbit{border:1px solid #c8d7b8;border-radius:50%;position:absolute;width:245px;height:245px}.orbit:after{content:'';position:absolute;inset:24px;border:1px dashed #c8d7b8;border-radius:50%}.code-sheet{background:#fcfff7;box-shadow:0 12px 30px #4c6f3c12;border:1px solid #d0ddc2;width:220px;border-radius:11px;padding:18px 23px;transform:rotate(-7deg);z-index:1}.code-sheet>div{display:flex;gap:4px;margin-bottom:22px}.code-sheet i{height:5px;width:5px;border-radius:50%;background:#aebea0}.code-sheet span{font:13px Consolas,monospace;display:block;color:#54754b}.code-sheet em{font-size:11px;display:block;margin:14px 0;padding-left:10px;color:#829075;font-style:normal}.floating-check{background:var(--green);color:var(--lime);position:absolute;bottom:8px;right:35px;z-index:2;width:51px;height:51px;border:5px solid #eaf2de;border-radius:15px;display:grid;place-items:center;font-size:22px;transform:rotate(9deg)}.floating-star{position:absolute;right:25px;top:0;font-size:45px;color:#71945b}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 40px}.stats>div{background:#fff;border:1px solid var(--border);border-radius:11px;padding:20px;display:flex;align-items:center;gap:14px}.stat-icon{width:43px;height:43px;border-radius:11px;display:grid;place-items:center;font-size:23px}.stats strong{display:block;font-size:23px;letter-spacing:-.5px;line-height:1.2}.stats strong small{font-size:13px;color:#8d9784;font-weight:400}.stats div div>span{display:block;font-size:10px;color:#89907f;margin-top:7px}.mint{background:#e6f0d8;color:#436943}.peach{background:#fae9dc;color:#aa7654}.lilac{background:#eee9f6;color:#8c74a5}.yellow{background:#f5efd3;color:#9f8c3c}.blue{background:#e1edf3;color:#5b8499}.rose{background:#f4e4e6;color:#a2747d}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:21px}.section-heading h2{font-size:23px;margin-bottom:0}.section-heading .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:9px}.section-heading>.muted{font-size:10px;padding-bottom:3px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}.course-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #233b3010;border-color:#bbd0ac}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.course-icon{height:43px;width:43px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;font-family:Consolas,monospace;font-weight:700;font-size:15px}.card-number{font:10px Consolas,monospace;color:#b3baad}.course-card .tiny-label{font-size:8px;letter-spacing:1.2px;margin-bottom:9px}.course-card h3{font-size:17px;min-height:22px}.card-description{color:#84907c;font-size:11px;line-height:1.8;min-height:40px;flex:1;margin-bottom:22px}.card-progress>div:first-child{display:flex;justify-content:space-between;font-size:9px;color:#8b9684;margin-bottom:9px}.card-progress strong{color:#5a7450;font-size:9px}.card-progress .track{height:4px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e7;margin-top:20px;padding-top:14px;font-size:10px;font-weight:600;color:#526b47}.round-arrow{border:1px solid #e1e8d8;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:14px}.page-footer{padding:22px 48px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:10px;color:#99a18f}.page-footer b{margin:0 8px}.back-link{font-size:12px;color:#68805c;display:inline-block;margin-bottom:27px}.course-heading{max-width:800px;margin-bottom:40px}.course-heading>.course-icon{margin-bottom:20px}.course-summary{display:flex;justify-content:space-between;font-size:12px;margin:26px 0 12px}.lesson-list{display:grid;gap:10px;margin-top:25px}.lesson-row{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px}.lesson-row:hover{border-color:#a9c497;background:#fdfff8}.lesson-number{width:42px;height:42px;flex-shrink:0;border-radius:10px;background:#f1f4ea;color:#75856a;display:grid;place-items:center;font-size:12px;font-weight:650}.completed{background:#e0efcd;color:#457040}.lesson-row h3{font-size:15px;margin-bottom:5px}.lesson-row p{font-size:11px;color:#85907b;margin-bottom:0}.lesson-row .eyebrow{font-size:9px;margin-bottom:7px}.row-arrow{margin-left:auto;color:#8f9e81}.lesson-heading{display:flex;justify-content:space-between;align-items:start;gap:25px}.lesson-heading h1{font-size:30px;letter-spacing:-1px}.status-pill{display:inline-block;font-size:10px;border-radius:15px;padding:8px 12px;white-space:nowrap;background:#ecefe6;color:#7c866f}.is-done{background:#e0edcf;color:#527942}.lesson-frame{width:100%;height:600px;border:1px solid var(--border);border-radius:12px;background:#fff;margin-top:20px}.notes-panel,.admin-create{background:#fff;border:1px solid var(--border);border-radius:13px;padding:30px;margin-top:30px}.notes-panel p,.admin-create p{font-size:12px}.notes-panel form{margin-top:25px}label{display:block;font-size:12px;font-weight:600;margin-bottom:19px}input:not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #dce3d5;border-radius:8px;padding:13px 14px;background:#fcfdf9;color:var(--ink);margin-top:9px;font-size:13px}input::placeholder,textarea::placeholder{color:#a0a793}textarea{resize:vertical;line-height:1.6}.check-label{display:flex;align-items:center;gap:10px;font-weight:450;font-size:12px;margin:12px 0}.check-label input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}form small{display:block;color:#87927f;line-height:1.7;margin-top:7px;font-weight:400}.error{color:#a84136;background:#fff2ee;padding:12px;border-radius:7px;font-size:12px;line-height:1.6}.error[hidden]{display:none}.notes-panel .actions{margin-top:22px}.notes-panel .small{margin:15px 0 0}.settings-card{max-width:520px;background:#fff;border:1px solid var(--border);padding:35px;border-radius:14px;margin:30px auto}.large{width:53px;height:53px;font-size:21px;margin-bottom:20px}.settings-card form{margin-top:30px}.page-heading{max-width:700px}.page-heading .muted{font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-create{margin:0 0 30px}.admin-create form{margin-top:25px}fieldset{padding:0;border:0;margin:10px 0 20px}legend{font-size:11px;font-weight:700;margin-bottom:9px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.user-grid{display:grid;gap:20px}.user-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:25px}.user-heading{display:flex;align-items:center;gap:13px;margin-bottom:25px}.user-heading h3{margin:0 0 5px;font-size:17px}.user-heading .muted{font-size:11px}.user-heading>.status-pill{margin-left:auto}.text-button{background:none;border:0;color:#7d806e;font-size:11px;padding:12px}.credential-box{padding:28px;background:#e8f2d8;border:1px solid #bdd2a7;border-radius:12px;margin-bottom:30px}.credential-box p{font-size:13px}.credential-box code{font-size:17px;padding:7px 10px;background:#fff;border-radius:5px;overflow-wrap:anywhere}.empty{text-align:center;padding:50px 25px;background:#fff;border:1px dashed #cad7bf;border-radius:12px}.empty>span{font-size:40px;color:#7c996a}.empty h3{margin-top:18px}.empty p{max-width:500px;margin:0 auto 20px;color:#85907c;font-size:13px}.empty h1{font-size:28px}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:var(--green);color:#f0f7e5;padding:42px 55px;display:flex;flex-direction:column;position:relative;overflow:hidden}.story-copy{margin:auto 0;max-width:520px;padding:60px 0 40px}.story-copy h1{font-size:52px;line-height:1.15;letter-spacing:-2px;margin:22px 0 25px}.story-copy>p:not(.eyebrow){font-size:14px;color:#abc5b4;max-width:360px;line-height:1.9}.story-art{position:relative;margin:55px 0 25px;max-width:350px;height:150px}.art-bracket{position:absolute;left:0;top:-40px;font:150px Georgia,serif;color:#527657;transform:rotate(-12deg)}.art-card{position:absolute;background:#eaf3dc;color:var(--green);width:245px;right:0;padding:25px;transform:rotate(-5deg);border-radius:12px;box-shadow:0 20px 40px #0001}.art-card .tiny-label{font-size:8px;color:#7b9369}.art-line{height:5px;background:#bacfa7;margin-top:14px;width:85%;border-radius:3px}.art-line.short{width:60%;margin-top:9px}.art-check{font-size:16px;display:flex;gap:10px;align-items:center;margin-top:23px}.art-check span{font-size:11px}.art-star{position:absolute;top:-25px;right:-25px;color:var(--lime);font-size:60px}.story-footer{color:#87a792;font-size:11px;margin:20px 0 0}.login-panel{padding:60px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fafbf6}.login-form{width:100%;max-width:355px;margin:auto 0}.login-form>.pill{font-size:8px;border-color:#d7e2cc;padding:7px 9px}.login-form h2{font-size:29px;letter-spacing:-1px}.login-form>.muted{font-size:12px;margin-bottom:33px;line-height:1.9}.login-form input{padding:14px;background:#fff}.login-form button{margin-top:7px}.login-help{border-top:1px solid var(--border);padding-top:23px;margin-top:35px}.login-help strong{font-size:11px}.login-help p{font-size:11px;color:#8c9682;line-height:1.8;margin:8px 0}.login-foot{font-size:8px;color:#a4ad98;letter-spacing:2px;padding-top:40px}.loading{display:grid;place-items:center;height:100vh;color:#7b916d;font-size:15px}#toast{position:fixed;bottom:25px;left:calc(50% + 80px);transform:translateX(-50%);border-radius:10px;background:var(--green);color:#eff6e7;padding:14px 22px;box-shadow:0 4px 20px #0002;font-size:12px;max-width:90%;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}#toast.visible{opacity:1}.skip{position:fixed;top:-100px;left:260px;z-index:100;background:var(--lime);padding:12px}.skip:focus{top:12px}@media(min-width:1550px){.main{padding-top:50px}.welcome-card{min-height:270px}.course-card{padding:27px}.card-description{font-size:12px}}@media(max-width:1150px){.sidebar{width:210px;padding-left:16px;padding-right:16px}.workspace{margin-left:210px}.main{padding:32px 28px}.topbar{padding:0 28px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-card{padding:26px}.welcome-card h2{font-size:26px}.welcome-art{transform:scale(.85)}.welcome-card{grid-template-columns:1.5fr 1fr}.stats>div{padding:17px;gap:10px}.stats{gap:12px}.stat-icon{width:36px;height:36px}.page-footer{padding:22px 28px}.login-story{padding:35px}.story-copy h1{font-size:43px}.login-panel{padding:40px}.date-pill{font-size:9px}.heading-row h1{font-size:36px}}@media(max-width:800px){.sidebar{position:relative;width:100%;padding:18px 22px;display:grid;grid-template-columns:1fr auto;gap:14px}.brand{font-size:20px}.brand svg{width:33px;height:33px}.sidebar .brand{grid-column:1}.sidebar nav{grid-column:1/-1;grid-row:2;display:flex;gap:6px;overflow:auto}nav a{padding:9px 12px;font-size:11px;white-space:nowrap}nav a.active:before{display:none}.nav-label,.sidebar-tip,.sidebar-progress,.profile{display:none}.logout{grid-column:2;grid-row:1;text-align:right}.workspace{margin-left:0}.topbar{height:66px;padding:0 22px}.breadcrumb{font-size:10px}.search{width:235px}.main{padding:28px 22px}.heading-row{gap:10px}.heading-row h1{font-size:34px}.date-pill{display:none}.welcome-card{padding:24px;grid-template-columns:1.5fr 1fr;min-height:230px}.welcome-art{transform:scale(.75);transform-origin:center}.welcome-card h2{font-size:25px}.stats{margin-bottom:30px}.stats>div{padding:16px 12px;gap:9px}.stats strong{font-size:20px}.stats div div>span{font-size:9px}.stat-icon{width:32px;height:32px;font-size:18px}.lesson-heading{display:block}.lesson-heading .status-pill{margin-top:7px}.lesson-heading h1{font-size:27px}.page-footer{padding:20px 22px}#toast{left:50%}.login-layout{grid-template-columns:1fr}.login-story{padding:28px;min-height:260px}.story-copy{padding:35px 0 5px;max-width:none}.story-copy h1{font-size:35px;margin:12px 0 15px}.story-copy>p:not(.eyebrow){max-width:460px;font-size:12px}.story-art,.story-footer{display:none}.story-copy .eyebrow{font-size:8px}.login-panel{padding:40px 28px}.login-form{max-width:440px}.login-foot{padding-top:35px}.skip{left:20px}}@media(max-width:520px){.main{padding:25px 18px}.topbar{padding:12px 18px;height:auto;display:block}.breadcrumb{display:none}.search{width:100%;padding:8px 11px}.course-grid{grid-template-columns:1fr}.heading-row{margin-bottom:23px}.heading-row h1{font-size:32px}.heading-row .eyebrow{font-size:8px}.welcome-card{display:block;padding:25px}.welcome-art{display:none}.welcome-card h2{font-size:26px}.welcome-card p{max-width:none}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 30px}.stats>div{padding:14px 10px;display:block}.stat-icon{height:27px;width:27px;font-size:15px;margin-bottom:12px}.stats strong{font-size:21px}.stats strong small{font-size:10px}.stats div div>span{font-size:8px;line-height:1.5}.section-heading>.muted{display:none}.course-card{padding:22px}.card-top{margin-bottom:18px}.card-description{min-height:0}.lesson-row{padding:17px;gap:13px}.lesson-row h3{font-size:13px}.lesson-row p{font-size:10px}.lesson-number{height:33px;width:33px;font-size:10px}.notes-panel,.admin-create,.user-card{padding:22px 18px}.two-col,.check-grid{grid-template-columns:1fr}.settings-card{padding:25px}.page-heading h1{font-size:31px}.page-footer{font-size:8px;padding:20px 18px}.credential-box code{display:block;margin-top:10px}.actions .button{width:100%;justify-content:center}.user-heading{gap:8px}.user-heading .status-pill{font-size:8px;padding:6px 8px}.user-heading h3{font-size:15px}.user-heading .muted{font-size:10px}.login-story{min-height:250px}.story-copy h1{font-size:33px}.login-form h2{font-size:26px}.story-copy>p:not(.eyebrow){font-size:11px}.login-panel{padding:35px 25px}}
