:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17221e;font-synthesis:none;--ink:#17221e;--muted:#66716c;--line:#dfe2d9;--paper:#fffef9;--forest:#163a30;--forest-2:#225746;--mint:#b8e5cf;--lime:#d8ef8f;--amber:#f0c36b;--red:#bd574d;--shadow:0 14px 38px #19302714;background:#f4f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #3f806959}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--forest);color:#fff;flex-direction:column;gap:34px;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--lime);width:40px;height:40px;color:var(--forest);border-radius:12px 4px;place-items:center;font:800 20px/1 Georgia,serif;display:grid;box-shadow:inset 0 0 0 1px #fff6}.brand-mark.large{width:54px;height:54px;margin-bottom:20px;font-size:28px}.brand strong,.brand span{display:block}.brand strong{letter-spacing:.02em;font-size:15px}.brand span{color:#abc7bc;margin-top:3px;font-size:12px}.sidebar nav{gap:6px;display:grid}.sidebar nav a{color:#bad0c7;border-radius:9px;padding:11px 13px;font-size:14px;font-weight:650;text-decoration:none;transition:all .15s}.sidebar nav a:hover{color:#fff;background:#ffffff12}.sidebar nav a.active{color:var(--forest);background:var(--lime)}.sidebar-progress{background:#ffffff0b;border:1px solid #ffffff1c;border-radius:14px;margin-top:auto;padding:16px}.sidebar-progress>span,.sidebar-progress>strong{display:block}.sidebar-progress>span{color:#abc7bc;font-size:12px}.sidebar-progress>strong{margin:6px 0 9px;font:700 26px/1 Georgia,serif}.sidebar-progress small{color:#abc7bc;margin-top:8px;font-size:11px;display:block}.quiet-button{color:#abc7bc;cursor:pointer;text-align:left;background:0 0;border:0;padding:7px;font-size:12px}.quiet-button:hover{color:#fff}main{min-width:0;padding:0 44px 64px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:122px;margin-bottom:32px;display:flex}.topbar h1{color:var(--forest);margin:3px 0 0;font:700 34px/1.08 Georgia,serif}.eyebrow{color:#648071;text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:11px;font-weight:800}.target-chip{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:0 5px 15px #1930270a}.target-chip span,.target-chip strong{display:block}.target-chip span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px}.target-chip strong{margin-top:3px;font-size:13px}.page-stack{gap:24px;max-width:1440px;margin:auto;display:grid}.hero-grid{grid-template-columns:minmax(0,2.1fr) minmax(230px,.9fr);gap:18px;display:grid}.hero-card{color:#fff;box-shadow:var(--shadow);background:radial-gradient(circle at 92% 12%,#d8ef8f3d,#0000 32%),linear-gradient(135deg,#163a30,#245846);border-radius:20px;padding:30px 32px}.hero-card h2{max-width:720px;margin:8px 0 10px;font:700 30px/1.15 Georgia,serif}.hero-card>p:not(.eyebrow){color:#d4e1dc;max-width:820px;margin:0;line-height:1.55}.hero-card .eyebrow{color:var(--lime)}.context-link{color:inherit;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.hero-card .context-link{color:var(--lime);text-align:left;margin-top:12px;font-size:11px}.hero-meter{color:#bcd1c8;grid-template-columns:minmax(120px,350px) auto;align-items:center;gap:12px;margin-top:24px;font-size:12px;display:grid}.forecast-card{background:#f2f5cf;border:1px solid #d8dcae;border-radius:20px;flex-direction:column;justify-content:center;padding:25px;display:flex}.forecast-card.warn{background:#fff1d8;border-color:#ead0a3}.forecast-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800}.forecast-card strong{color:var(--forest);margin:10px 0 5px;font:700 27px/1.1 Georgia,serif}.forecast-card small{color:var(--muted)}.catchup-button{color:#5e4b22;cursor:pointer;background:#ffffff8c;border:1px solid #51442333;border-radius:8px;align-self:flex-start;margin-top:14px;padding:7px 9px;font-size:10px;font-weight:800}.catchup-button:hover{background:#fff}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:18px}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.stat-card strong{color:var(--forest);margin:7px 0 2px;font:700 25px/1 Georgia,serif}.stat-card small{color:#818b86;font-size:11px}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);align-items:start;gap:20px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 7px 22px #19302709}.task-panel,.checkin-panel,.focus-panel,.settings-card{padding:24px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel-heading h2,.focus-panel h2,.overview-strip h2,.search-panel h2,.settings-card h2{color:var(--forest);margin:5px 0 0;font:700 21px/1.25 Georgia,serif}.count-badge,.saved-badge{min-width:28px;height:28px;color:var(--forest);background:#e7efe9;border-radius:99px;place-items:center;padding:0 8px;font-size:11px;font-weight:800;display:grid}.saved-badge{background:#e9f3c6}.task-list{gap:8px;display:grid}.task-row{border-top:1px solid #e8e9e3;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.task-check{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #aeb8b2;border-radius:7px;width:25px;height:25px}.status-done .task-check{background:var(--forest-2);border-color:var(--forest-2)}.task-copy{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;gap:4px;padding:2px;display:grid}.task-copy>strong{font-size:14px}.task-copy>span:not(.task-meta):not(.progress){color:var(--muted);font-size:12px;line-height:1.4}.task-meta{color:#6f7a74;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.status-done .task-copy>strong{color:#738078;text-decoration:line-through}.status-blocked{border-left:3px solid var(--red);padding-left:10px}.mini-button{border:1px solid var(--line);cursor:pointer;background:#f7f7f2;border-radius:8px;padding:7px 10px;font-size:11px}.mini-button:hover{border-color:var(--forest-2)}.progress{background:#6c867933;border-radius:99px;height:7px;display:block;overflow:hidden}.progress i{border-radius:inherit;background:var(--lime);height:100%;transition:width .25s;display:block}.progress.compact{height:4px}.task-copy .progress{background:#e1e6df;max-width:280px;margin-top:5px}.task-copy .progress i,.summary-progress .progress i,.day-card .progress i{background:var(--forest-2)}.checkin-panel form,.settings-card form,.task-modal form,.login-card form{gap:14px;display:grid}label{color:#45524c;gap:6px;font-size:12px;font-weight:700;display:grid}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd2cc;border-radius:9px;padding:10px 11px;font-weight:450}textarea{resize:vertical;line-height:1.45}input[type=range]{accent-color:var(--forest-2);padding:0}.checkin-panel form>small{color:var(--muted);line-height:1.4}.primary-button,.secondary-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;min-height:39px;padding:9px 14px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.primary-button{color:#fff;background:var(--forest-2);border:1px solid var(--forest-2)}.primary-button:hover{background:var(--forest)}.primary-button:disabled{opacity:.6;cursor:wait}.secondary-button{color:var(--forest);background:#fff;border:1px solid #bfcac3}.secondary-button:hover{border-color:var(--forest)}.button-row{flex-wrap:wrap;gap:9px;display:flex}.focus-panel{border-left:5px solid var(--lime)}.focus-panel h2{max-width:1000px}.focus-panel>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.5}.empty-state{text-align:center;min-height:150px;color:var(--muted);place-content:center;display:grid}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:var(--ink);margin-bottom:5px}.empty-state span{font-size:12px}.overview-strip,.search-panel{justify-content:space-between;align-items:center;gap:30px;padding:22px 25px;display:flex}.overview-strip>p{max-width:620px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.phase-section{gap:14px;display:grid}.phase-heading{grid-template-columns:35px 1fr;align-items:start;gap:13px;padding:10px 4px;display:grid}.phase-heading>span{background:var(--forest);width:32px;height:32px;color:var(--lime);border-radius:10px;place-items:center;font:700 15px/1 Georgia,serif;display:grid}.phase-heading h2{color:var(--forest);margin:0;font:700 24px/1.2 Georgia,serif}.phase-heading p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.sprint-list{gap:10px;display:grid}.sprint-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden}.sprint-card.focused{border-color:var(--forest-2);box-shadow:0 0 0 3px #1f644a1f, var(--shadow)}.sprint-card summary{cursor:pointer;grid-template-columns:45px minmax(0,1fr) 140px;align-items:center;gap:13px;padding:16px 18px;list-style:none;display:grid}.sprint-card summary::-webkit-details-marker{display:none}.sprint-card[open] summary{border-bottom:1px solid var(--line);background:#f7f8f2}.week-number{width:38px;height:38px;color:var(--forest);background:#e8eee9;border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.summary-copy strong,.summary-copy small{display:block}.summary-copy strong{font-size:14px}.summary-copy small{color:var(--muted);margin-top:4px;font-size:11px}.summary-progress{grid-template-columns:1fr 30px;align-items:center;gap:7px;display:grid}.summary-progress small{color:var(--muted);text-align:right;font-size:10px}.sprint-body{gap:18px;padding:20px;display:grid}.sprint-brief{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.sprint-brief p{color:var(--muted);background:#f5f6f0;border-radius:10px;margin:0;padding:14px;font-size:12px;line-height:1.45}.sprint-brief strong{color:var(--forest);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:9px;display:block}.roadmap-tasks{display:grid}.roadmap-task{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-top:1px solid #e9eae4;grid-template-columns:10px minmax(0,1fr) 35px;align-items:center;gap:10px;padding:11px 5px;display:grid}.roadmap-task:hover{background:#fafaf6}.roadmap-task>span:nth-child(2) strong,.roadmap-task>span:nth-child(2) small{display:block}.roadmap-task>span:nth-child(2) strong{font-size:13px}.roadmap-task>span:nth-child(2) small{color:var(--muted);margin-top:4px;font-size:10px}.roadmap-task>span:last-child{color:var(--muted);font-size:10px}.status-dot{background:#bdc6c0;border-radius:50%;width:8px;height:8px}.roadmap-task.status-in_progress .status-dot{background:var(--amber)}.roadmap-task.status-done .status-dot{background:var(--forest-2)}.roadmap-task.status-blocked .status-dot{background:var(--red)}.roadmap-task.status-skipped .status-dot{background:#9d9d9d}.sprint-learning-plans{background:#eef3ee;border-radius:12px;gap:14px;padding:17px;display:grid}.sprint-learning-plans>header h3{color:var(--forest);margin:4px 0 0;font:700 17px/1.2 Georgia,serif}.learning-task-list{gap:12px;display:grid}.task-learning-plan{background:var(--paper);border:1px solid #dbe3dc;border-radius:11px;gap:13px;min-width:0;padding:16px;display:grid}.task-learning-plan-heading h3,.task-learning-plan-heading h4{color:var(--forest);margin:4px 0 0;font:700 17px/1.25 Georgia,serif}.task-learning-plan-heading>p:last-child:not(.eyebrow){color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.5}.learning-assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.learning-assignment{border:1px solid var(--line);background:#fff;border-radius:10px;align-content:start;gap:12px;min-width:0;padding:15px;display:grid}.assignment-badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.assignment-badges span{color:#52615a;text-transform:uppercase;letter-spacing:.07em;background:#edf0ec;border-radius:99px;padding:4px 7px;font-size:10px;font-weight:850;line-height:1}.assignment-badges .required{color:#31532c;background:#dff0ca}.assignment-badges .optional{color:#5c5272;background:#ece9f5}.learning-assignment h4,.learning-assignment h5{color:var(--forest);overflow-wrap:anywhere;margin:0;font:700 15px/1.3 Georgia,serif}.assignment-source{color:#718078;text-transform:uppercase;letter-spacing:.05em;margin:4px 0 0;font-size:10px}.assignment-instructions{gap:9px;margin:0;display:grid}.assignment-instructions>div{border-top:1px solid #e9ece6;padding-top:9px}.assignment-instructions dt{color:var(--forest-2);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:850;line-height:1.2}.assignment-instructions dd{color:var(--ink);overflow-wrap:anywhere;white-space:pre-line;margin:4px 0 0;font-size:12px;line-height:1.5}.assignment-note{color:var(--muted);white-space:pre-line;background:#f6f6f1;border-radius:8px;margin:0;padding:10px;font-size:11px;line-height:1.45}.assignment-note strong{color:#56635d;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:10px;display:block}.assignment-footer{border-top:1px solid #e9ece6;flex-wrap:wrap;justify-content:space-between;align-self:end;align-items:center;gap:8px;padding-top:11px;display:flex}.assignment-footer a{color:var(--forest-2);text-underline-offset:3px;font-size:11px;font-weight:800}.assignment-footer small{color:#718078;font-size:10px}.learning-plan-empty{color:var(--muted);background:#f6f6f1;border-radius:8px;margin:0;padding:12px;font-size:11px}.exit-box{border-left:4px solid var(--lime);background:#fafbe9;padding:15px 17px}.exit-box strong{color:var(--forest);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.exit-box p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.kind{color:#456054;text-transform:uppercase;letter-spacing:.07em;background:#e8ede9;border-radius:99px;padding:3px 6px;font-size:8px;font-weight:850;line-height:1;display:inline-block}.kind-build{color:#285a3a;background:#dcefdc}.kind-design{color:#554578;background:#e6e2f4}.kind-test{color:#735b25;background:#f4e7c9}.kind-deploy{color:#2d5672;background:#dce9f3}.kind-review{color:#665247;background:#eee8e3}.kind-lab{color:#315f56;background:#dcefeb}.calendar-list{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.day-card{border:1px solid var(--line);background:var(--paper);border-radius:13px;min-height:170px;padding:15px}.day-card.today{border:2px solid var(--forest-2);box-shadow:var(--shadow)}.day-card.rest{opacity:.65;background:#eeefea}.day-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.day-heading div span,.day-heading div strong{display:block}.day-heading span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.day-heading strong{color:var(--forest);font:700 18px/1.2 Georgia,serif}.day-heading small{color:var(--muted);font-size:10px}.day-allocations{gap:4px;margin-top:10px;display:grid}.day-allocations>span{color:#8a948f;padding:14px 2px;font-size:11px}.day-allocations button{color:var(--ink);cursor:pointer;text-align:left;background:#f3f5ef;border:0;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:7px;display:grid}.day-allocations button:hover{background:#e9eee8}.day-allocations button span{font-size:10px;line-height:1.25}.day-allocations button small{color:var(--muted);font-size:9px}.search-panel .search-box{min-width:320px}.resource-task-groups{gap:16px;display:grid}.resource-task-group{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:16px;padding:21px;display:grid}.resource-task-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.resource-task-heading>div{min-width:0}.resource-week{color:#62806f;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:800}.resource-task-heading h3{color:var(--forest);margin:7px 0 5px;font:700 20px/1.25 Georgia,serif}.resource-task-heading p{max-width:900px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.resource-task-heading .secondary-button{flex:none}.settings-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:18px;max-width:1200px;margin:auto;display:grid}.settings-card>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.5}.override-list{margin-top:18px;display:grid}.override-list>div{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.override-list span strong,.override-list span small{display:block}.override-list span strong{font-size:12px}.override-list span small{color:var(--muted);margin-top:3px;font-size:10px}.override-list button{color:var(--red);cursor:pointer;background:0 0;border:0;font-size:10px}.settings-card dl{margin:17px 0 0;display:grid}.settings-card dl>div{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:11px 0;display:flex}.settings-card dt{color:var(--muted);font-size:11px}.settings-card dd{text-align:right;margin:0;font-size:11px;font-weight:700}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a191494;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.task-modal{background:var(--paper);border-radius:18px;width:min(780px,100%);max-height:calc(100vh - 44px);padding:28px;position:relative;overflow:auto;box-shadow:0 28px 80px #00000047}.modal-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#f0f1eb;border:0;border-radius:50%;font-size:23px;position:absolute;top:13px;right:17px}.task-modal h2{color:var(--forest);margin:9px 38px 7px 0;font:700 25px/1.2 Georgia,serif}.task-modal>p{color:var(--muted);font-size:13px;line-height:1.5}.task-facts{color:#64746b;gap:14px;margin:14px 0 21px;font-size:10px;display:flex}.task-sprint-context{border:1px solid var(--line);background:#fafbf6;border-radius:13px;gap:11px;margin:0 0 21px;padding:16px;display:grid}.task-sprint-context h3{color:var(--forest);margin:4px 0 0;font:700 17px/1.25 Georgia,serif}.task-sprint-context>.secondary-button{justify-self:start}.task-modal>.task-learning-plan{background:#f8faf5;margin:0 0 18px}.task-modal .learning-assignment-list{grid-template-columns:1fr}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #8cb93fbf}.toast{z-index:30;color:#fff;background:var(--forest);max-width:420px;box-shadow:var(--shadow);border-radius:10px;padding:12px 16px;font-size:12px;position:fixed;bottom:24px;right:24px}.toast.error{background:#8b3732}.login-page,.loading-page{background:radial-gradient(circle at 15% 12%, #d8ef8f38, transparent 25%), var(--forest);place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{background:var(--paper);border-radius:20px;width:min(420px,100%);padding:34px;box-shadow:0 30px 80px #00000040}.login-card h1{color:var(--forest);margin:5px 0 8px;font:700 34px/1 Georgia,serif}.login-card>p:not(.eyebrow){color:var(--muted);margin-bottom:25px}.login-card>small{color:var(--muted);margin-top:18px;line-height:1.4;display:block}.form-error{color:var(--red);margin:0;font-size:11px}.loading-page{color:#fff;text-align:center}.loader{border:3px solid #ffffff40;border-top-color:var(--lime);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.app-shell{grid-template-columns:210px minmax(0,1fr)}main{padding-left:28px;padding-right:28px}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.calendar-list{grid-template-columns:repeat(2,1fr)}.sprint-brief{grid-template-columns:1fr}}@media (width<=760px){.app-shell{padding-bottom:64px;display:block}.sidebar{z-index:10;border-top:1px solid #ffffff26;height:62px;padding:8px;display:block;position:fixed;inset:auto 0 0}.sidebar .brand,.sidebar-progress,.quiet-button{display:none}.sidebar nav{grid-template-columns:repeat(5,1fr);gap:3px;height:100%;display:grid}.sidebar nav a{text-align:center;place-items:center;padding:6px 2px;font-size:10px;display:grid}main{padding:0 15px 30px}.topbar{min-height:94px;margin-bottom:20px}.topbar h1{font-size:28px}.target-chip{display:none}.hero-grid,.stats-grid,.calendar-list,.settings-grid{grid-template-columns:1fr}.hero-card{padding:24px}.hero-card h2{font-size:25px}.hero-meter{grid-template-columns:1fr}.overview-strip,.search-panel{gap:15px;display:grid}.search-panel .search-box{min-width:0}.sprint-card summary{grid-template-columns:40px minmax(0,1fr)}.summary-progress{grid-column:2}.learning-assignment-list{grid-template-columns:1fr}.resource-task-heading{gap:12px;display:grid}.resource-task-heading .secondary-button{justify-self:start}.assignment-footer{flex-direction:column;align-items:flex-start}.task-row{grid-template-columns:26px minmax(0,1fr)}.task-row .mini-button{grid-column:2;justify-self:start}.modal-backdrop{padding:10px}.task-modal{max-height:calc(100vh - 20px);padding:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
