@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17362e;--muted:#64766a;--forest:#143c2f;--lime:#c9f478;--coral:#fa8f78;--cream:#f6f5ee;--paper:#fffef9;--line:#dce4d8;--shadow:0 10px 30px rgba(25,51,39,.07);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}:focus-visible{outline:3px solid #587bb9;outline-offset:3px}::selection{background:var(--lime);color:var(--forest)}
h1,h2,h3{font-family:Manrope,'DM Sans',system-ui,sans-serif;letter-spacing:-.045em;line-height:1.2}h1{font-size:clamp(32px,4.2vw,52px)}h2{font-size:clamp(24px,3vw,32px)}h3{font-size:18px}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.small{font-size:12px}.micro{font-size:11px}.eyebrow{margin:0 0 12px;color:#57806b;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.lede{color:var(--muted);font-size:15px;line-height:1.65;max-width:650px}
.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:16px}.boot-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:20px;background:var(--forest);color:var(--lime);font:800 44px Manrope,sans-serif}.boot p{margin:0;font-weight:800}
.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;background:var(--forest);color:#f7fbef;display:flex;flex-direction:column;padding:27px 17px 23px;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 12px;text-decoration:none;font:800 22px Manrope,sans-serif;letter-spacing:-.06em}.brand-mark{width:34px;height:34px;background:var(--lime);color:var(--forest);display:grid;place-items:center;border-radius:10px;font:800 24px Manrope,sans-serif}.brand-kicker{display:block;font:700 9px 'DM Sans',sans-serif;letter-spacing:.15em;color:#93b7a2;text-transform:uppercase;margin-top:2px}.nav-label{margin:42px 14px 13px;color:#88ae9a;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nav-list{display:grid;gap:5px}.nav-item{display:flex;align-items:center;width:100%;gap:12px;padding:11px 14px;border:0;border-radius:12px;color:#d3e4d7;background:transparent;text-align:left;font-size:13px;font-weight:700;text-decoration:none}.nav-item:hover,.nav-item.active{background:#265745;color:white}.nav-item.active{box-shadow:inset 3px 0 0 var(--lime)}.nav-icon{display:inline-grid;place-items:center;width:21px;font-size:17px;line-height:1}.sidebar-bottom{margin-top:auto;padding:0 11px}.tiny-line{border-top:1px solid #406656;margin-bottom:20px}.sidebar-note{color:#b5ccbb;font-size:11px;line-height:1.55;margin:0}
.main-area{min-width:0}.topbar{height:74px;background:rgba(255,254,249,.84);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3.2vw,54px);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.crumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-weight:700;font-size:12px}.crumb strong{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:8px}.stat-chip{display:inline-flex;align-items:center;gap:7px;min-height:35px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:white;font-size:11px;font-weight:800;white-space:nowrap}.stat-chip b{color:var(--forest)}.stat-icon{font-size:14px}.top-switch{border:1px solid var(--line);color:var(--forest);background:white;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}.top-switch:hover{background:#eaf5de}.page{width:min(1120px,100%);margin:0 auto;padding:34px clamp(20px,4vw,54px) 80px}.page.narrow{width:min(850px,100%)}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:22px}.intro-card{position:relative;overflow:hidden;background:var(--forest);color:white;border-radius:26px;min-height:260px;padding:clamp(25px,3.5vw,42px)}.intro-card:before{content:'';position:absolute;width:290px;height:290px;right:-80px;top:-110px;border:2px solid rgba(201,244,120,.25);border-radius:50%;box-shadow:0 0 0 38px rgba(201,244,120,.04),0 0 0 78px rgba(201,244,120,.04)}.intro-card h1,.intro-card p,.intro-card .hero-actions{position:relative}.intro-card h1{max-width:620px;margin-bottom:16px}.intro-card .eyebrow{color:var(--lime)}.intro-card p{max-width:520px;margin-bottom:26px;color:#d0e2d2;line-height:1.55}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.aside-progress{background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.progress-ring{position:relative;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#a7d958 var(--progress),#e9efe4 0);margin-bottom:22px}.progress-ring:before{content:'';position:absolute;width:68px;height:68px;border-radius:50%;background:var(--paper)}.progress-ring strong{position:relative;font:800 21px Manrope,sans-serif}.aside-progress h3{margin-bottom:5px}.aside-progress p{margin-bottom:0;color:var(--muted);line-height:1.5;font-size:12px}
.btn{border:0;border-radius:14px;padding:13px 19px;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;font-size:12px;text-decoration:none;transition:transform .16s ease,background .16s ease}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn-primary{background:var(--lime);color:var(--forest);box-shadow:0 4px 0 #8cab4d}.btn-primary:not(:disabled):hover{background:#d9ff99}.btn-dark{background:var(--forest);color:white;box-shadow:0 4px 0 #0a251b}.btn-dark:not(:disabled):hover{background:#215443}.btn-outline{border:1px solid var(--line);background:white;color:var(--forest)}.btn-ghost{background:transparent;color:inherit;border:1px solid currentColor}.btn-subtle{background:#edf3e8;color:var(--forest)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:36px 0 15px}.section-head h2,.section-head p{margin:0}.track-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.track-card{position:relative;min-height:154px;text-align:left;padding:19px;background:var(--paper);border:2px solid var(--line);border-radius:19px;color:var(--ink);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.track-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.track-card.selected{border-color:var(--forest);box-shadow:0 4px 0 var(--forest)}.track-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:var(--track-bg,#e4ecd9);margin-bottom:14px}.track-card h3{font-size:15px;margin-bottom:5px}.track-card p{font-size:11px;color:var(--muted);margin:0;line-height:1.45}.track-check{position:absolute;top:13px;right:13px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:var(--forest);background:var(--lime);font-size:11px;font-weight:900}
.path-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:34px 0 18px;overflow-x:auto}.path-tab{border:0;background:transparent;color:var(--muted);padding:12px 15px;font-weight:800;font-size:12px;border-bottom:3px solid transparent;white-space:nowrap}.path-tab.active{border-color:var(--forest);color:var(--forest)}.unit-list{display:grid;gap:15px}.unit-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:15px;padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.unit-number{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#e9f2df;color:var(--forest);font:800 18px Manrope,sans-serif}.unit-content h3{margin:2px 0 4px}.unit-content>p{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:13px}.unit-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.unit-count{font-weight:800;font-size:11px;color:#6b896e;white-space:nowrap}.lesson-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.lesson-pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid var(--line);background:white;border-radius:999px;padding:6px 11px;font-size:10px;font-weight:800;color:var(--ink)}.lesson-pill:hover{border-color:var(--forest);background:#f3f9e9}.lesson-pill.done{background:#e8f6dc;border-color:#b8db9b}.pill-dot{width:13px;height:13px;border:1.7px solid #aac1aa;border-radius:50%;display:grid;place-items:center;font-size:8px}.done .pill-dot{border-color:var(--forest);color:var(--forest)}.course-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:25px}.bottom-card{border:1px solid var(--line);border-radius:19px;background:var(--paper);padding:22px}.bottom-card h3{margin-bottom:6px}.bottom-card p{color:var(--muted);font-size:12px;line-height:1.55;margin-bottom:17px}
.lesson-shell{width:min(860px,100%);margin:0 auto;padding:26px 20px 80px}.lesson-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.close-button{flex:none;border:0;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:transparent;color:var(--muted);font-size:22px}.close-button:hover{background:#e7eee4}.lesson-progress{flex:1;height:12px;border-radius:999px;background:#e0e8db;overflow:hidden}.lesson-progress-fill{height:100%;border-radius:inherit;background:#a7d958;transition:width .25s ease}.lesson-counter{min-width:58px;color:var(--muted);font-size:11px;font-weight:800;text-align:right}.lesson-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(23px,4vw,40px);box-shadow:var(--shadow)}.lesson-card h1{font-size:clamp(25px,3.8vw,38px);margin-bottom:12px}.lesson-card>.lede{margin-bottom:24px}.lesson-tag{display:inline-flex;align-items:center;background:#e7f3d9;color:#30553b;padding:6px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:800;margin-bottom:14px}.teach-box{border-left:4px solid #a7d958;background:#f1f8e8;padding:17px 19px;border-radius:0 14px 14px 0;margin:23px 0;line-height:1.65;font-size:14px}.teach-box strong{display:block;margin-bottom:3px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#558061}.case-box{background:#f7f5ee;border:1px solid #e8e7de;border-radius:15px;padding:17px 19px;margin-bottom:24px}.case-box h3{font-size:13px;margin-bottom:6px}.case-box p{margin:0;font-size:12px;line-height:1.6;color:#58665e}.case-box p+p{margin-top:6px}.case-box em{font-style:normal;font-weight:800;color:var(--ink)}.exercise-context{font-size:13px;line-height:1.6;color:#56675e;padding:15px 18px;background:#f3f5ef;border-radius:13px;margin:0 0 20px}.exercise-instruction{display:block;font-size:11px;color:#63806c;font-weight:800;margin-bottom:12px}.option-list{display:grid;gap:10px;margin:21px 0 23px}.option{width:100%;text-align:left;border:2px solid var(--line);border-radius:14px;padding:15px 16px;display:flex;align-items:center;gap:13px;background:white;color:var(--ink);line-height:1.5;font-size:13px;font-weight:700}.option:not(:disabled):hover{border-color:#94bd7e;background:#fafff4}.option.selected{border-color:#327b50;background:#eff9e6}.option.correct{border-color:#55aa65;background:#e8f8dd}.option.incorrect{border-color:#e08074;background:#fff0e9}.option-key{flex:none;width:27px;height:27px;border-radius:8px;border:1.5px solid #cbdac8;display:grid;place-items:center;font-size:10px;font-weight:800;background:white}.selected .option-key{background:var(--forest);color:white;border-color:var(--forest)}.feedback{margin:22px 0;border-radius:15px;padding:17px 19px;line-height:1.55;font-size:13px}.feedback.good{background:#e8f8df;border:1px solid #b5dfa7}.feedback.try{background:#fff1e9;border:1px solid #f2c4ad}.feedback strong{display:block;font-size:12px;margin-bottom:5px}.feedback p{margin-bottom:0}.feedback p+p{margin-top:7px}.lesson-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}.lesson-actions .btn{min-width:150px}.order-list{display:grid;gap:9px;margin:19px 0 24px}.order-item{display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:2px solid var(--line);border-radius:13px;background:white;font-size:12px;line-height:1.4;font-weight:700}.order-number{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;color:var(--forest);background:#ebf4e1;font-weight:800}.order-controls{display:flex;gap:4px}.order-controls button{border:1px solid var(--line);border-radius:7px;background:#f7faf4;color:var(--forest);width:28px;height:28px;font-size:13px}.order-controls button:hover:not(:disabled){background:#e4f2d9}.complete-symbol{width:76px;height:76px;display:grid;place-items:center;border-radius:23px;background:var(--lime);color:var(--forest);font-size:38px;margin-bottom:23px;box-shadow:0 6px 0 #91bc51}.reward-line{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0}.reward-chip{background:#edf6e4;border-radius:9px;padding:9px 12px;font-weight:800;font-size:11px}.apply-box{background:#f4f1ff;border-left:4px solid #ac93ef;padding:16px 18px;border-radius:0 12px 12px 0;line-height:1.55;font-size:13px;margin:21px 0}.apply-box strong{display:block;margin-bottom:4px}
.practice-list{display:grid;gap:12px;margin-top:23px}.practice-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:19px}.practice-card h3{margin-bottom:4px}.practice-card p{color:var(--muted);font-size:12px;margin-bottom:13px}.empty-card{background:var(--paper);border:1px dashed #adc7ad;border-radius:18px;padding:34px;text-align:center}.empty-card h2{margin-bottom:9px}.empty-card p{color:var(--muted)}.brief-intro{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:24px;margin-bottom:20px}.brief-intro h1{margin-bottom:9px}.brief-intro p{margin-bottom:0}.brief-form{display:grid;gap:15px}.form-card{border:1px solid var(--line);background:var(--paper);border-radius:17px;padding:19px}.form-card label{display:block;font-weight:800;font-size:13px;margin-bottom:6px}.form-card p{color:var(--muted);line-height:1.5;font-size:11px;margin-bottom:11px}.form-card textarea,.form-card input{width:100%;border:1.5px solid #cbd7c9;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink);font-size:13px;line-height:1.5}.form-card textarea{resize:vertical;min-height:80px}.form-card textarea:focus,.form-card input:focus{outline:none;border-color:#46845c;box-shadow:0 0 0 3px #d9efcf}.brief-toolbar{position:sticky;bottom:0;z-index:5;background:rgba(246,245,238,.94);backdrop-filter:blur(8px);padding:16px 0;display:flex;flex-wrap:wrap;gap:9px}.rubric{display:grid;gap:8px;margin-top:20px}.rubric-row{display:flex;gap:10px;align-items:start;background:#f1f8ea;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.5}.rubric-row span{color:#4f8b51;font-weight:900}.sources-list{display:grid;gap:10px}.source-link{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;display:block}.source-link:hover{border-color:#76a174;background:#fbfff7}.source-link strong{display:block;margin-bottom:5px;font-size:12px}.source-link span{display:block;color:var(--muted);font-size:11px;line-height:1.5}.toast{position:fixed;right:20px;bottom:20px;z-index:80;max-width:min(360px,calc(100vw - 40px));background:var(--forest);color:white;padding:12px 16px;border-radius:11px;box-shadow:var(--shadow);font-size:12px;font-weight:700}
@media(max-width:1050px){.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-grid{grid-template-columns:1fr}.aside-progress{min-height:180px;flex-direction:row;align-items:center;gap:20px}.progress-ring{flex:none;margin-bottom:0}}
.form-card select{width:100%;border:1.5px solid #cbd7c9;border-radius:10px;padding:12px 13px;background:white;color:var(--ink);font-size:13px}.form-card select:focus{outline:none;border-color:#46845c;box-shadow:0 0 0 3px #d9efcf}.rubric{margin:25px 0}.rubric>h2{margin-bottom:7px}.rubric>.lede{margin-bottom:17px}
.assessment-results{display:grid;gap:9px;margin:22px 0}.assessment-review{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px}.assessment-review summary{cursor:pointer;list-style:none;padding:14px 0;font-size:12px;font-weight:800;line-height:1.5}.assessment-review summary::-webkit-details-marker{display:none}.assessment-review summary span{color:#47824d;margin-right:5px}.assessment-review[open] summary{border-bottom:1px solid var(--line)}.assessment-review>div{padding:13px 0 2px;color:var(--muted);font-size:12px;line-height:1.55}.assessment-review p{margin-bottom:10px}.assessment-review b{color:var(--ink)}.case-box a{color:#26644a;text-decoration-thickness:1px;text-underline-offset:2px;font-weight:800}
.case-box .case-label{display:inline-block;margin:0 0 9px;padding:3px 7px;border-radius:5px;background:#e7ebe1;color:#455e4d;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.backup-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:23px;border:1px solid var(--line);border-radius:19px;background:var(--paper)}.backup-card h2{font-size:20px;margin-bottom:7px}.backup-card p{max-width:470px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.backup-actions{display:flex;flex-direction:column;gap:8px;flex:none}.backup-actions .btn{min-width:190px}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;width:100%;height:62px;padding:5px 8px;box-shadow:0 -5px 20px rgba(13,36,23,.16)}.sidebar .brand,.sidebar .nav-label,.sidebar-bottom{display:none}.nav-list{height:100%;grid-template-columns:repeat(5,1fr);gap:3px}.nav-item{flex-direction:column;justify-content:center;gap:0;text-align:center;font-size:9px;padding:5px 2px}.nav-icon{font-size:19px}.nav-item.active{box-shadow:inset 0 3px 0 var(--lime)}.topbar{height:59px;padding:0 16px}.topbar .crumb span:not(:last-child){display:none}.top-actions{gap:5px}.stat-chip{padding:0 8px;font-size:10px;min-height:30px}.top-switch{display:none}.page{padding:24px 16px 100px}.intro-card{min-height:auto;padding:25px}.intro-card h1{font-size:33px}.track-grid{gap:9px}.track-card{min-height:146px;padding:14px}.track-icon{margin-bottom:10px}.unit-card{grid-template-columns:43px minmax(0,1fr);gap:10px;padding:15px 12px}.unit-number{width:40px;height:40px;border-radius:11px;font-size:14px}.course-bottom{grid-template-columns:1fr}.lesson-shell{padding:15px 14px 105px}.lesson-card{padding:21px 18px}.lesson-card h1{font-size:25px}.lesson-actions{justify-content:stretch}.lesson-actions .btn{flex:1}.backup-card{display:block}.backup-actions{margin-top:18px}.backup-actions .btn{width:100%}}
@media(max-width:360px){.stat-chip:last-child{display:none}.track-card p{font-size:10px}}
@media(max-width:720px){.brief-toolbar{position:static;bottom:auto;background:transparent;backdrop-filter:none;padding:20px 0 0}.brief-toolbar .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

.sidebar-about{display:inline-block;margin-top:15px;color:#d7f2d6;font-size:11px;font-weight:800;text-decoration:none}.sidebar-about:hover{text-decoration:underline}
.top-about{width:35px;height:35px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:white;color:var(--forest);font-size:18px;font-weight:800;text-decoration:none}.top-about:hover,.top-about.active{background:#e8f5d8;border-color:#a9ce92}
.lab-index-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:21px 0 6px}.lab-filter{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:25px 0 10px;overflow-x:auto}.lab-series{margin-top:18px}.lab-series .section-head{margin-bottom:14px}.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lab-card{display:flex;flex-direction:column;min-height:216px;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:21px;text-decoration:none;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease}.lab-card:hover{transform:translateY(-2px);border-color:#82aa78}.lab-card-top,.lab-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.lab-card-top{margin-bottom:17px}.lab-category,.lab-time{font-size:10px;font-weight:800;color:#4e8059}.lab-category{background:#eaf4e1;border-radius:999px;padding:6px 9px}.lab-card h3{font-size:17px;margin-bottom:8px}.lab-card p{font-size:12px;line-height:1.55;color:var(--muted);margin-bottom:18px}.lab-card-bottom{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;font-size:11px;font-weight:800}.lab-card-bottom span:last-child{font-size:18px}.lab-footnote{line-height:1.6;margin-top:29px}.lab-footnote a,.lab-related a{color:#245f43;font-weight:800}
.lab-back{display:inline-block;margin-bottom:23px;color:#356d49;font-size:12px;font-weight:800;text-decoration:none}.lab-back:hover{text-decoration:underline}.lab-detail-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.lab-detail-head h1{margin-bottom:14px}.lab-detail-head .reward-chip{white-space:nowrap}.lab-outcome{font-size:13px;line-height:1.6;background:#eaf4e1;padding:13px 15px;border-radius:12px}.lab-example{background:#fff5e6;border:1px solid #f0ddbf;border-radius:16px;margin:20px 0;padding:18px 21px}.lab-example summary{cursor:pointer;font-size:12px;font-weight:800}.lab-example[open] summary{margin-bottom:14px}.lab-example p{font-size:12px;line-height:1.6;margin:0 0 8px}.lab-example p:last-child{margin-bottom:0}.lab-review{margin:30px 0 20px;padding:22px;background:#edf6e8;border-radius:17px}.lab-review h2{font-size:21px;margin-bottom:6px}.lab-checks{display:grid;gap:9px;margin-top:16px}.lab-check{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;background:white;font-size:12px;line-height:1.5;font-weight:700;cursor:pointer}.lab-check input{accent-color:#28633f;width:17px;height:17px;flex:none;margin:1px 0 0}.lab-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 34px}.lab-related{border-top:1px solid var(--line);padding-top:23px}.lab-related h2{font-size:20px;margin-bottom:12px}.lab-related>p{line-height:1.7;margin-top:17px}.lesson-lab-link{background:#eef7e8;border-left:4px solid #89bd68;padding:17px 19px;border-radius:0 12px 12px 0;margin:20px 0}.lesson-lab-link strong{display:block;margin-bottom:4px;font-size:12px}.lesson-lab-link p{font-size:12px;color:var(--muted);margin-bottom:12px}.lesson-lab-link .btn{text-align:center}.brief-lab-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 21px;border:1px solid #c9ddc4;background:#eff7e9;border-radius:16px;margin-bottom:19px}.brief-lab-prompt h2{font-size:19px;margin-bottom:6px}.brief-lab-prompt p:not(.eyebrow){font-size:12px;line-height:1.55;color:var(--muted);margin:0}
@media(max-width:780px){.lab-grid{grid-template-columns:1fr}.lab-card{min-height:180px}.lab-detail-head{display:block}.lab-detail-head .reward-chip{display:inline-block;margin-bottom:15px}.brief-lab-prompt{align-items:flex-start;flex-direction:column}.lab-actions .btn{flex:1 1 100%}}
.lab-sprint-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 25px;background:#e8f5d8;border:1px solid #bbdca5;border-radius:18px;margin:24px 0}.lab-sprint-callout h2{font-size:20px;margin-bottom:5px}.lab-sprint-callout p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.55;margin:0}.lab-sprint-callout .btn{flex:none}.brief-lab-actions{display:flex;gap:8px;flex-wrap:wrap;flex:none}
.sprint-choice{min-height:180px}.sprint-choice .track-icon{margin-bottom:8px}.sprint-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:21px 0 8px}.sprint-week{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:25px;margin:18px 0;box-shadow:var(--shadow)}.sprint-week-head{display:flex;align-items:flex-start;gap:15px}.sprint-week-number{flex:none;display:inline-block;background:var(--forest);color:white;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800}.sprint-week h2{font-size:22px;margin:1px 0 7px}.sprint-week-head p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}.sprint-actions{padding-left:22px;margin:19px 0}.sprint-actions li{font-size:12px;line-height:1.65;padding-left:4px;margin:0 0 10px}.sprint-actions li::marker{font-weight:800;color:#4f8059}.sprint-deliverable,.sprint-gate{font-size:12px;line-height:1.6;background:#f0f6e9;padding:12px 14px;border-radius:10px;margin:0 0 10px}.sprint-gate{background:#fff5e9}.sprint-linked{margin:18px 0}.sprint-linked>.small{display:block;font-weight:800;margin-bottom:8px}.sprint-week .form-card{margin-top:15px;background:#f8faf5}.sprint-week .form-card textarea{min-height:105px}.sprint-week .form-card p{margin-bottom:9px}
@media(max-width:780px){.lab-sprint-callout{align-items:flex-start;flex-direction:column}.lab-sprint-callout .btn{width:100%}.sprint-week{padding:18px}.sprint-week-head{display:block}.sprint-week-number{margin-bottom:12px}.brief-lab-actions{width:100%}.brief-lab-actions .btn{flex:1}}
@media(max-width:360px){.top-actions .stat-chip:nth-child(2){display:none}}
.worked-fiction{background:#fff2df;border-left:4px solid #e5aa5f;border-radius:0 12px 12px 0;padding:14px 17px;font-size:12px;line-height:1.6}.worked-fields{display:grid;gap:12px;margin:19px 0 34px}.worked-field{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}.worked-number{display:grid;place-items:center;width:36px;height:36px;background:#eaf4e1;border-radius:10px;font-size:11px;font-weight:800}.worked-field h2{font-size:17px;margin:0 0 8px}.worked-field p{font-size:12px;line-height:1.65;white-space:pre-wrap;margin:0}.worked-review{border-top:1px solid var(--line);padding-top:27px}.worked-review>h2{margin-bottom:17px}.worked-annotations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.worked-annotation{background:#eef5e7;border-radius:12px;padding:17px}.worked-annotation h3{font-size:13px;margin-bottom:7px}.worked-annotation p,.worked-self-review p{font-size:12px;line-height:1.6;margin:0}.worked-self-review{display:grid;gap:9px;background:#f6f2e9;border-radius:14px;padding:19px;margin-top:16px}
.brief-notes{margin-top:13px;border:1px solid #d3e5c7;border-radius:11px;background:#f6faef;padding:11px 13px}.brief-notes summary{cursor:pointer;font-size:12px;font-weight:800;color:#315d3b}.brief-notes summary span{display:inline-grid;place-items:center;margin-left:5px;min-width:20px;height:20px;border-radius:99px;background:#dceecf;color:#285038;font-size:10px}.brief-notes-guidance{margin:12px 0!important}.brief-note{border-top:1px solid #dce8d5;padding:10px 0}.brief-note:last-child{padding-bottom:0}.brief-note strong{display:block;font-size:11px}.brief-note p{white-space:pre-wrap;overflow-wrap:anywhere;color:#46564a!important;margin:5px 0!important}.brief-note a{font-size:11px;font-weight:800;color:#356d49;text-decoration:none}.brief-note a:hover{text-decoration:underline}
.sprint-task{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.sprint-task input{accent-color:#2f7145;flex:none;width:17px;height:17px;margin:2px 0 0}.sprint-task span{display:block;flex:1}.sprint-task input:checked+span{color:#677769;text-decoration:line-through;text-decoration-color:#98ad9b}.sprint-task input:focus-visible{outline:2px solid #2f7145;outline-offset:2px}
.sprint-jump{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 21px}.sprint-jump button{border:1px solid #bdd3b8;background:#f0f8e9;border-radius:9px;color:#245037;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}.sprint-jump button:hover,.sprint-jump button:focus-visible{background:#dfeecd;outline:2px solid #78a67d;outline-offset:1px}.sprint-week{scroll-margin-top:18px}
.lab-path-callout{background:#fff4e5;border-color:#e9d2b1}.lab-path-callout .btn{white-space:nowrap}
.sprint-learn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 2px;padding:11px 13px;background:#eef6e8;border-radius:10px}.sprint-learn span{font-size:11px;font-weight:800;color:#4a6a50}.sprint-learn .lesson-pill{margin:0}
.sprint-week{scroll-margin-top:90px}.sprint-week h2:focus-visible{outline:3px solid #587bb9;outline-offset:4px;border-radius:2px}
@media(max-width:720px){.sprint-week{scroll-margin-top:75px}}
@media(max-width:720px){.worked-annotations{grid-template-columns:1fr}.worked-field{grid-template-columns:1fr}.worked-number{margin-bottom:2px}}
.lesson-application{margin:21px 0;padding:17px 18px;background:#f4f1ff;border-radius:12px}.lesson-application .apply-box{margin:0 0 15px;padding:0;border:0;background:transparent}.lesson-application label{display:block;font-size:12px;font-weight:800;margin-bottom:4px}.lesson-application p{margin-bottom:9px}.lesson-application textarea,.notebook-item textarea{display:block;width:100%;min-height:100px;resize:vertical;padding:11px 12px;border:1.5px solid #cbd7c9;border-radius:9px;background:#fff;color:var(--ink);font-size:12px;line-height:1.55}.lesson-application textarea:focus,.notebook-item textarea:focus{outline:3px solid #d9efcf;border-color:#46845c}.lesson-application a{display:inline-block;margin-top:12px;font-size:11px;font-weight:800;color:#315d55}.notebook-callout{margin-top:18px}.notebook-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.notebook-group{margin:30px 0}.notebook-unit{margin:22px 0}.notebook-unit h2{font-size:20px;margin-bottom:12px}.notebook-item{margin:10px 0}.notebook-item p{font-size:12px;line-height:1.6}
.topbar .crumb{min-width:0;overflow:hidden}.topbar .crumb strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .top-actions{flex:none}
@media(max-width:360px){.topbar .crumb{max-width:calc(100vw - 180px)}}
.notebook-item{scroll-margin-top:90px}@media(max-width:720px){.notebook-item{scroll-margin-top:75px}}
.notebook-next{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:11px}.notebook-next span{color:var(--muted);font-weight:700}.notebook-next a{color:#315d55;font-weight:800;text-decoration:underline;text-underline-offset:2px}
#lab-form .form-card{scroll-margin-top:90px}@media(max-width:720px){#lab-form .form-card{scroll-margin-top:75px}}
.save-warning{border:1px solid #d6966d;background:#fff2e8;color:#6b321f;border-radius:10px;padding:12px 14px;font-size:12px;font-weight:700;line-height:1.55;margin:16px 0 0}
.unsaved-work-banner{position:fixed;top:84px;right:20px;z-index:100;width:min(440px,calc(100vw - 40px));padding:16px 18px;border:2px solid #b65c36;border-radius:14px;background:#fff2e8;color:#592814;box-shadow:0 14px 40px rgba(67,29,13,.25);font-size:12px;line-height:1.5}.unsaved-work-banner strong{display:block;font-size:14px}.unsaved-work-banner p{margin:6px 0 12px}.unsaved-work-banner div{display:flex;flex-wrap:wrap;gap:8px}.unsaved-work-banner .btn{min-height:38px;padding:8px 12px;font-size:11px}@media(max-width:720px){.unsaved-work-banner{top:67px;right:12px;width:calc(100vw - 24px)}}
