@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans SC,Microsoft YaHei UI,PingFang SC,sans-serif;color:#182235;background:#f4f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #182235;--muted: #687286;--faint: #929bad;--navy: #12233f;--navy-soft: #1b3154;--blue: #2d63e2;--blue-dark: #1f4fbd;--orange: #ff754a;--green: #1f9d74;--canvas: #f4f6f8;--surface: #ffffff;--line: #dfe4eb;--line-soft: #ebeff4;--shadow: 0 18px 50px rgba(28, 43, 69, .08);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(45,99,226,.22);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:244px;display:flex;flex-direction:column;overflow-y:auto;padding:30px 22px 24px;color:#fff;background:var(--navy)}.sidebar__top{display:flex;align-items:center;justify-content:space-between}.brand-mark{display:flex;align-items:center;gap:12px;color:#fff;font-size:15px;font-weight:700;letter-spacing:-.01em}.brand-mark i{width:37px;height:37px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--navy);background:#fff;font-family:DM Mono,monospace;font-size:13px;font-style:normal;letter-spacing:-.08em}.brand-mark span{display:flex;flex-direction:column;gap:1px}.brand-mark small{color:#8fa1ba;font-size:10px;font-weight:500;letter-spacing:.12em}.primary-nav{display:grid;gap:7px;margin-top:54px}.primary-nav button{width:100%;min-height:47px;display:flex;align-items:center;gap:13px;padding:0 14px;border:0;border-radius:11px;color:#9eabc0;background:transparent;cursor:pointer;font-size:14px;font-weight:500;text-align:left;transition:color .16s ease,background .16s ease,transform .16s ease}.primary-nav button:hover{color:#fff;background:#ffffff0f;transform:translate(2px)}.primary-nav button.is-active{color:#fff;background:var(--navy-soft);box-shadow:inset 3px 0 0 var(--orange)}.sidebar__principle{margin-top:auto;padding:20px 14px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar__principle p{margin:0 0 9px;color:#8fa1ba;font-size:11px}.sidebar__principle strong{color:#dbe4ef;font-size:13px;font-weight:500;line-height:1.75}.sidebar__data{padding:17px 14px 0}.sidebar__data p{margin:0 0 10px;color:#7185a1;font-size:10px}.sidebar__data>div{display:flex;gap:6px}.sidebar__data button{border:0;cursor:pointer}.sidebar__data>div button{display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:7px;color:#aebbcf;background:#ffffff0f;font-size:11px}.sidebar__data>div button:hover{color:#fff;background:#ffffff1a}.sidebar__data .sidebar__reset{margin-top:10px;padding:0;color:#7487a2;background:transparent;font-size:10px;text-decoration:underline;text-underline-offset:3px}.sidebar__data .sidebar__reset:hover{color:#ffb29a}.cloud-sync{display:grid;gap:10px;margin:16px 0 0;padding:13px 12px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#ffffff0b}.cloud-sync__heading{display:flex;align-items:center;gap:9px}.cloud-sync__icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#b9caff;background:#5179dd3d}.cloud-sync h2{margin:0 0 3px;color:#eaf0fa;font-size:11px;font-weight:600}.cloud-sync__status{display:inline-flex;align-items:center;gap:5px;color:#8fa1ba;font-size:9px}.cloud-sync__status i{width:6px;height:6px;display:block;border-radius:50%;background:#8293aa}.cloud-sync__status--synced i{background:#51c499}.cloud-sync__status--syncing i,.cloud-sync__status--offline i{background:#f4ae61}.cloud-sync__status--error i{background:#ef8066}.cloud-sync__status--signed-out i{background:#8293aa}.cloud-sync__copy p,.cloud-sync__form p,.cloud-sync__account p{margin:0;color:#9aabc0;font-size:9px;line-height:1.55}.cloud-sync__copy small{display:block;margin-top:4px;color:#7185a1;font-size:8px}.cloud-sync__form{display:grid;gap:7px}.cloud-sync__form label{display:grid;gap:4px}.cloud-sync__form label span{color:#8fa1ba;font-size:8px}.cloud-sync__form input{width:100%;height:30px;padding:0 8px;border:1px solid rgba(255,255,255,.14);border-radius:7px;outline:0;color:#eaf0fa;background:#08142770;font-size:10px}.cloud-sync__form input::placeholder{color:#60738f}.cloud-sync__form input:focus{border-color:#7798ef;box-shadow:0 0 0 2px #7798ef29}.cloud-sync__submit,.cloud-sync__action{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#eaf0fa;background:#3d5ea67a;cursor:pointer;font-size:9px;font-weight:600}.cloud-sync__submit:hover,.cloud-sync__action:hover{background:#476dbead}.cloud-sync__submit:disabled,.cloud-sync__action:disabled{cursor:wait;opacity:.62}.cloud-sync__switch{justify-self:start;padding:0;border:0;color:#9eb6ef;background:transparent;cursor:pointer;font-size:8px}.cloud-sync__switch:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}.cloud-sync__user{min-width:0;display:flex;align-items:center;gap:6px;color:#cbd8ec;font-size:9px}.cloud-sync__user svg{flex:0 0 auto;color:#66cda7}.cloud-sync__user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-sync__account{display:grid;gap:7px}.cloud-sync__actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cloud-sync__action{min-height:28px;color:#b9caff;background:#ffffff0f;font-size:8px}.cloud-sync__action--quiet{color:#8fa1ba;background:transparent}.cloud-sync__message{margin:0;padding-top:7px;border-top:1px solid rgba(255,255,255,.09);color:#ffb29a;font-size:8px;line-height:1.5}.spin{animation:cloud-sync-spin .9s linear infinite}@keyframes cloud-sync-spin{to{transform:rotate(360deg)}}.sidebar__close,.mobile-header,.bottom-nav{display:none}.main-content{min-height:100vh;margin-left:244px}.page{width:min(1240px,100%);margin:0 auto;padding:52px 48px 64px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}.page-header h1{max-width:780px;margin:0 0 10px;color:var(--ink);font-size:clamp(28px,3vw,43px);line-height:1.18;letter-spacing:-.055em}.page-header p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;border:1px solid transparent;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.button:hover{transform:translateY(-1px)}.button--primary{color:#fff;background:var(--blue);box-shadow:0 8px 18px #2d63e233}.button--primary:hover{background:var(--blue-dark)}.button--outline{border-color:var(--line);background:#fff}.button--outline:hover{border-color:#bdc8d6}.button--ghost{color:var(--muted);background:transparent}.button--light{color:var(--navy);background:#fff}.button--full{width:100%}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.icon-button--on-dark{color:#b7c6d8;border-color:#ffffff29;background:transparent}.icon-button--large{width:46px;height:46px}.sidebar__close{display:none}.text-link{display:inline-flex;align-items:center;gap:8px;padding:9px 0;border:0;color:var(--blue);background:transparent;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap}.text-link svg{transition:transform .15s ease}.text-link:hover svg{transform:translate(3px)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{margin:0 0 5px;font-size:19px;letter-spacing:-.025em}.section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.section-heading--compact h2{font-size:16px}.section-heading--compact>svg{color:var(--orange)}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:22px;align-items:stretch}.today-panel{padding:28px 30px 22px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.progress-ring{position:relative;display:grid;place-items:center;flex:0 0 auto}.progress-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:7}.progress-ring__track{stroke:#ebeff5}.progress-ring__value{stroke:var(--blue);stroke-linecap:round;transition:stroke-dashoffset .3s ease}.progress-ring strong{color:var(--ink);font-family:DM Mono,monospace;font-size:15px}.daily-task-list{margin-top:22px}.daily-task{min-height:65px;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line-soft)}.daily-task:first-child{border-top:0}.check-control{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1.5px solid #bdc6d3;border-radius:7px;color:#fff;background:#fff;cursor:pointer;transition:background .14s ease,border-color .14s ease}.daily-task.is-complete .check-control,.phase-task-list .is-complete .check-control,.weekly-checklist .is-complete .check-control{border-color:var(--green);background:var(--green)}.daily-task__body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0;border:0;background:transparent;cursor:pointer;text-align:left}.daily-task__body span{font-size:14px;font-weight:600}.daily-task__body small{color:var(--faint);font-size:11px}.daily-task.is-complete .daily-task__body span{color:#9aa3b0;text-decoration:line-through}.daily-task__delete{width:32px;height:32px;visibility:hidden;color:#9aa4b3;border:0}.daily-task:hover .daily-task__delete{visibility:visible}.add-task-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:1px dashed #cfd7e2;border-radius:10px;color:var(--blue);background:#f9fbff;cursor:pointer;font-size:12px;font-weight:600}.add-task-button:hover{border-color:#9eb5ec;background:#f3f7ff}.add-task-form{display:grid;grid-template-columns:minmax(0,1fr) 102px auto auto;gap:9px;align-items:end;padding:14px;border:1px solid #cfdcf7;border-radius:12px;background:#f6f9ff}.add-task-form label{display:grid;gap:5px}.add-task-form label span{color:var(--muted);font-size:10px}.add-task-form input{width:100%;height:39px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px}.add-task-form .button{min-height:39px;padding:0 12px}.minimum-mode{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line-soft)}.minimum-mode div{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.minimum-mode div svg{color:var(--orange)}.minimum-mode>button{padding:0;border:0;color:var(--blue);background:transparent;cursor:pointer;font-size:11px;font-weight:600}.dashboard-rail{display:grid;grid-template-rows:auto 1fr;gap:22px}.focus-timer{min-height:266px;display:flex;flex-direction:column;padding:25px;border-radius:var(--radius-lg);color:#fff;background:var(--navy);box-shadow:0 20px 40px #12233f2e}.focus-timer__heading{display:flex;justify-content:space-between;gap:15px}.focus-timer h2{margin:0 0 4px;font-size:16px}.focus-timer p{margin:0;color:#8fa1ba;font-size:11px}.focus-timer__choices{display:flex;gap:4px}.focus-timer__choices button{width:30px;height:27px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#8295b0;background:transparent;cursor:pointer;font-family:DM Mono,monospace;font-size:10px}.focus-timer__choices button.is-active{color:var(--navy);border-color:#fff;background:#fff}.focus-timer__display{margin:auto 0;font-family:DM Mono,monospace;font-size:clamp(46px,5vw,64px);font-weight:500;letter-spacing:-.085em;line-height:1}.focus-timer__display span{padding:0 6px 0 2px;color:var(--orange)}.focus-timer__controls{display:flex;gap:8px}.focus-timer__controls .button{flex:1}.progress-summary{padding:24px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff}.progress-summary dl{display:grid;gap:0;margin:18px 0}.progress-summary dl div{display:flex;align-items:baseline;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line-soft)}.progress-summary dt{color:var(--muted);font-size:12px}.progress-summary dd{margin:0;color:var(--ink);font-family:DM Mono,monospace;font-size:22px;font-weight:500}.progress-summary dd small{color:var(--faint);font-size:11px}.current-stage-strip{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(240px,.8fr) auto;align-items:center;gap:25px;margin-top:22px;padding:24px 28px;border:1px solid var(--line);border-radius:var(--radius-md);background:#e9eef4}.stage-number{color:#a1adbb;font-family:DM Mono,monospace;font-size:39px;font-weight:500;letter-spacing:-.08em}.current-stage-strip p{margin:0 0 4px;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.08em}.current-stage-strip h2{margin:0 0 5px;font-size:18px}.current-stage-strip span{color:var(--muted);font-size:12px}.stage-deliverable{padding-left:24px;border-left:1px solid #cfd7e1}.stage-deliverable small{display:block;margin-bottom:5px;color:var(--faint);font-size:10px}.stage-deliverable strong{display:block;font-size:12px;line-height:1.55}.overall-progress{min-width:180px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px}.overall-progress>span{height:6px;overflow:hidden;border-radius:6px;background:#dfe5ed}.overall-progress>span i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.overall-progress strong{font-family:DM Mono,monospace;font-size:18px}.overall-progress small{grid-column:1 / -1;color:var(--faint);font-size:10px;text-align:right}.roadmap-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:25px;align-items:start}.phase-nav{display:grid;gap:4px;padding:8px 0}.phase-nav button{min-height:67px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border:0;border-left:3px solid transparent;border-radius:0 10px 10px 0;background:transparent;cursor:pointer;text-align:left}.phase-nav button:hover{background:#eceff4}.phase-nav button.is-selected{border-left-color:var(--blue);background:#fff;box-shadow:0 8px 24px #1f304b0f}.phase-nav button.is-current .phase-nav__index{color:#fff;background:var(--blue)}.phase-nav__index{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:#7e8999;background:#e5e9ef;font-family:DM Mono,monospace;font-size:11px}.phase-nav__copy{min-width:0;display:flex;flex-direction:column;gap:3px}.phase-nav__copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.phase-nav__copy small{color:var(--faint);font-size:10px}.phase-nav__percent{color:var(--faint);font-family:DM Mono,monospace;font-size:10px}.phase-detail{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.phase-detail__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:29px 32px 24px}.phase-detail__number{color:var(--blue);font-family:DM Mono,monospace;font-size:46px;font-weight:500;letter-spacing:-.09em}.phase-detail__header p{margin:0 0 3px;color:var(--faint);font-size:10px}.phase-detail__header h2{margin:0 0 4px;font-size:25px;letter-spacing:-.035em}.phase-detail__header span{color:var(--muted);font-size:12px}.current-phase-label{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;color:var(--blue);background:#eff4ff;font-size:10px;font-weight:700}.phase-description{margin:0;padding:20px 32px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);color:#515d70;background:#f8fafc;font-size:13px;line-height:1.8}.topic-row{display:flex;flex-wrap:wrap;gap:8px;padding:18px 32px 2px}.topic-row span{padding:6px 9px;border:1px solid var(--line);border-radius:7px;color:#596579;background:#fff;font-size:10px}.learning-guide{overflow:hidden;margin:22px 32px 0;border:1px solid #dbe3ed;border-radius:18px;background:#f5f7fa}.learning-guide__header{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:22px 24px;color:#fff;background:var(--navy)}.learning-guide__header>div{max-width:650px}.learning-guide__header p{display:flex;align-items:center;gap:7px;margin:0 0 6px;color:#8fa7c7;font-size:9px;font-weight:700;letter-spacing:.08em}.learning-guide__header h3{margin:0 0 6px;font-size:19px;letter-spacing:-.025em}.learning-guide__header span{display:block;color:#aab9cc;font-size:10px;line-height:1.7}.learning-guide__header>strong{flex:0 0 auto;color:var(--orange);font-family:DM Mono,monospace;font-size:27px;font-weight:500}.learning-guide__header>strong small{color:#9eafc3;font-family:Noto Sans SC,sans-serif;font-size:9px;font-weight:500}.learning-guide__body{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:stretch}.learning-unit-tabs{padding:9px;border-right:1px solid #dbe3ed;background:#f1f4f8}.learning-unit-tabs button{width:100%;display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:9px;padding:11px 9px;border:0;border-radius:10px;color:#697689;background:transparent;cursor:pointer;text-align:left}.learning-unit-tabs button:hover{background:#e9eef5}.learning-unit-tabs button.is-active{color:var(--ink);background:#fff;box-shadow:0 6px 18px #1c2d4614}.learning-unit-tabs button i{width:29px;height:29px;display:grid;place-items:center;border:1px solid #d4dce7;border-radius:8px;color:#8a96a6;background:#ffffffb3;font-family:DM Mono,monospace;font-size:8px;font-style:normal}.learning-unit-tabs button.is-active i{color:#fff;border-color:var(--blue);background:var(--blue)}.learning-unit-tabs button span{min-width:0;display:flex;flex-direction:column;gap:3px}.learning-unit-tabs button strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.learning-unit-tabs button small{color:#96a1b0;font-size:8px;line-height:1.45}.learning-unit-panel{min-width:0;padding:23px 24px 24px;background:#fff}.learning-unit-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.learning-unit-panel>header p{margin:0 0 4px;color:var(--blue);font-family:DM Mono,monospace;font-size:9px}.learning-unit-panel>header h4{margin:0;font-size:17px;letter-spacing:-.02em}.learning-unit-panel>header svg{color:#7a9ce7}.learning-unit-objective{margin:13px 0 18px;padding:11px 13px;border-left:3px solid var(--orange);color:#5d697b;background:#fff8f4;font-size:10px;line-height:1.7}.learning-unit-objective strong{margin-right:5px;color:#bd532f}.learning-unit-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.learning-unit-grid section{padding:15px;border:1px solid var(--line-soft);border-radius:12px;background:#fafbfd}.learning-unit-panel h5{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:#334055;font-size:10px}.learning-unit-panel h5 svg{color:var(--blue)}.learning-unit-grid ul,.learning-unit-grid ol{display:grid;gap:7px;margin:0;padding-left:18px;color:#626e80;font-size:9px;line-height:1.6}.learning-unit-grid li::marker{color:#8da2c5}.learning-self-check{margin-top:12px;padding:15px;border:1px dashed #b8c7de;border-radius:12px;background:#f6f9ff}.learning-self-check>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.learning-self-check p{margin:0;padding:9px 10px;border-radius:8px;color:#526079;background:#fff;font-size:9px;line-height:1.55}.learning-self-check p:before{content:"?";width:17px;height:17px;display:inline-grid;place-items:center;margin-right:6px;border-radius:50%;color:var(--blue);background:#edf3ff;font-family:DM Mono,monospace;font-size:8px}.learning-unit-footer{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;margin-top:12px}.learning-unit-footer>section{padding:15px;border-radius:12px;background:var(--navy)}.learning-unit-footer>section:first-child span{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:#88a2c5;font-size:8px}.learning-unit-footer>section:first-child strong{display:block;color:#fff;font-size:10px;line-height:1.65}.learning-resources{display:grid;gap:10px;color:var(--ink);background:#f1f4f8!important}.learning-resources div{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:baseline}.learning-resources span{padding:3px 5px;border-radius:5px;color:var(--blue);background:#e3ebff;font-size:8px;font-weight:700}.learning-resources strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.learning-resources small{grid-column:2;margin-top:3px;color:#778396;font-size:8px;line-height:1.5}.parallel-practice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dbe3ed;background:#f8fafc}.parallel-practice div{min-width:0;padding:15px 17px;border-right:1px solid #e1e7ef}.parallel-practice div:last-child{border-right:0}.parallel-practice strong{color:var(--blue);font-size:9px}.parallel-practice p{margin:5px 0 0;color:#697689;font-size:8px;line-height:1.65}.phase-section{padding:28px 32px}.phase-section+.phase-section{border-top:1px solid var(--line-soft)}.phase-section__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.phase-section__heading>div{display:flex;align-items:center;gap:9px}.phase-section__heading svg{color:var(--blue)}.phase-section__heading h3{margin:0;font-size:15px}.phase-section__heading>span{color:var(--faint);font-family:DM Mono,monospace;font-size:11px}.phase-task-list{display:grid}.phase-task-list>button{min-height:64px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:10px 0;border:0;border-top:1px solid var(--line-soft);background:transparent;cursor:pointer;text-align:left}.phase-task-list>button:first-child{border-top:0}.phase-task-list>button>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.phase-task-list strong{font-size:13px}.phase-task-list small{color:var(--muted);font-size:11px;line-height:1.5}.phase-task-list em{padding:4px 7px;border-radius:6px;color:#7b8798;background:#f0f3f6;font-size:9px;font-style:normal}.phase-task-list>button.is-complete strong{color:#96a0ae;text-decoration:line-through}.acceptance-section{background:#f8fafc}.acceptance-section>p{margin:-5px 0 13px 28px;color:var(--muted);font-size:10px}.acceptance-list{display:grid;gap:8px}.acceptance-list button{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:12px;text-align:left}.acceptance-list button>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:var(--blue);background:#eef3ff}.acceptance-list button.is-complete{color:#718075;border-color:#bcdaca;background:#f3fbf7}.acceptance-list button.is-complete>span{color:#fff;background:var(--green)}.phase-deliverable{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 32px;color:#fff;background:var(--navy)}.phase-deliverable span{color:#8fa1ba;font-size:10px}.phase-deliverable strong{font-size:13px;text-align:right}.date-control{display:grid;gap:5px;color:var(--muted);font-size:10px}.date-control input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-family:DM Mono,monospace;font-size:12px}.journal-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.65fr);gap:24px;align-items:start}.journal-form{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.journal-field{display:grid;grid-template-columns:42px 190px minmax(0,1fr);gap:16px;align-items:start;padding:24px 28px;border-bottom:1px solid var(--line-soft)}.journal-field__number{color:#b0bac8;font-family:DM Mono,monospace;font-size:14px}.journal-field__label{display:flex;flex-direction:column;gap:6px}.journal-field__label strong{font-size:13px}.journal-field__label small{color:var(--muted);font-size:10px;line-height:1.6}.journal-field textarea,.monthly-question-list textarea{width:100%;resize:vertical;padding:12px 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fafbfd;font-size:12px;line-height:1.75}.journal-field textarea:focus,.monthly-question-list textarea:focus{border-color:#91aceb;background:#fff}.journal-save{margin:20px 28px 24px auto}.journal-history{padding:25px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff}.history-list{display:grid;margin-top:17px}.history-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border:0;border-top:1px solid var(--line-soft);background:transparent;cursor:pointer;text-align:left}.history-list button>span{min-width:0;display:flex;flex-direction:column;gap:3px}.history-list strong{font-size:11px}.history-list small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.history-list svg{flex:0 0 auto;color:var(--faint)}.empty-state{min-height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--faint);text-align:center}.empty-state svg{margin-bottom:13px;color:#aeb9c8}.empty-state strong{color:#5b6678;font-size:12px}.empty-state p{max-width:200px;margin:7px 0;font-size:10px;line-height:1.6}.journal-history blockquote{margin:18px 0 0;padding:15px 0 0;border-top:1px solid var(--line-soft);color:#7c8798;font-size:10px;line-height:1.7}.weekly-review{display:grid;grid-template-columns:250px 1fr;overflow:hidden;margin-bottom:24px;border-radius:var(--radius-lg);background:var(--navy);box-shadow:0 20px 45px #12233f26}.weekly-review__intro{padding:28px 30px;color:#fff}.weekly-review__intro p{margin:0 0 10px;color:#8fa1ba;font-size:11px}.weekly-review__intro strong{display:block;font-family:DM Mono,monospace;font-size:42px;letter-spacing:-.08em}.weekly-review__intro strong span{color:#7187a4;font-size:19px}.weekly-review__intro small{display:block;margin-top:10px;color:#9aabc0;font-size:10px;line-height:1.6}.weekly-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#ffffff14}.weekly-checklist button{min-height:70px;display:flex;align-items:center;gap:11px;padding:12px 18px;border:0;color:#c6d1df;background:var(--navy-soft);cursor:pointer;font-size:11px;text-align:left}.weekly-checklist button:hover{background:#203a60}.weekly-checklist .check-control{border-color:#657b97;background:transparent}.weekly-checklist button.is-complete{color:#fff}.review-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:24px;align-items:start}.monthly-review{padding:29px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.monthly-question-list{display:grid;gap:17px;margin:25px 0}.monthly-question-list label{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start}.monthly-question-list label>span{display:flex;gap:9px;padding-top:9px;font-size:12px;line-height:1.55}.monthly-question-list label i{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:var(--blue);background:#eef3ff;font-family:DM Mono,monospace;font-size:9px;font-style:normal}.ai-rules{position:sticky;top:28px;padding:27px;border-radius:var(--radius-lg);color:#fff;background:var(--navy)}.ai-rules h2{margin:0 0 7px;font-size:18px}.ai-rules>p{margin:0;color:#9aabc0;font-size:11px;line-height:1.65}.ai-rules pre{margin:21px 0 16px;padding:15px;overflow-x:auto;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#cfd9e6;background:#00000021;font-family:DM Mono,Noto Sans SC,monospace;font-size:10px;line-height:1.9;white-space:pre-wrap}.ai-rules .button--outline{color:#fff;border-color:#ffffff2b;background:transparent}.ai-output-rules{margin-top:23px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.ai-output-rules strong{font-size:12px}.ai-output-rules ol{margin:13px 0 0;padding-left:19px;color:#9eafc3;font-size:10px;line-height:2}.toast{position:fixed;z-index:100;right:25px;bottom:25px;display:flex;align-items:center;gap:15px;padding:13px 15px;border-radius:11px;color:#fff;background:var(--navy);box-shadow:0 15px 40px #12233f40;font-size:12px}.toast button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;color:#b3c1d2;background:#ffffff14;cursor:pointer}@media (max-width: 1080px){.page{padding-inline:32px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 300px}.add-task-form{grid-template-columns:1fr 95px}.add-task-form .button{grid-row:2}.journal-field{grid-template-columns:35px 1fr}.journal-field textarea{grid-column:2}.monthly-question-list label{grid-template-columns:1fr;gap:7px}}@media (max-width: 860px){.sidebar{transform:translate(-100%);transition:transform .2s ease}.sidebar.is-open{transform:translate(0)}.sidebar__close{display:inline-grid;color:#fff;border-color:#ffffff1f;background:transparent}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;background:#0a152680;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-header{position:sticky;top:0;z-index:20;height:60px;display:flex;align-items:center;gap:13px;padding:0 20px;border-bottom:1px solid var(--line);background:#f4f6f8eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-mark--mobile{color:var(--ink);font-size:13px}.brand-mark--mobile i{width:30px;height:30px;color:#fff;background:var(--navy);font-size:10px}.main-content{margin-left:0}.page{padding-top:34px}.dashboard-layout,.journal-layout,.review-layout{grid-template-columns:1fr}.dashboard-rail{grid-template-columns:1fr 1fr;grid-template-rows:auto}.current-stage-strip{grid-template-columns:auto 1fr auto}.stage-deliverable{grid-column:2;padding-left:0;border-left:0}.roadmap-layout{grid-template-columns:1fr}.phase-nav{grid-template-columns:repeat(9,180px);overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory}.phase-nav button{scroll-snap-align:start;border-left:0;border-bottom:3px solid transparent;border-radius:10px 10px 0 0}.phase-nav button.is-selected{border-bottom-color:var(--blue)}.ai-rules{position:static}}@media (max-width: 640px){body{padding-bottom:68px}.page{padding:26px 17px 35px}.cloud-sync{margin-top:14px}.page-header{align-items:flex-start;margin-bottom:25px}.page-header h1{font-size:30px}.dashboard-header{display:grid}.dashboard-header .text-link{justify-self:start}.dashboard-layout{gap:15px}.today-panel{padding:22px 18px 18px;border-radius:18px}.section-heading{align-items:flex-start}.daily-task{min-height:62px}.daily-task__delete{visibility:visible}.minimum-mode{align-items:flex-start;flex-direction:column;gap:9px}.add-task-form{grid-template-columns:1fr 82px}.dashboard-rail{grid-template-columns:1fr}.focus-timer,.progress-summary{border-radius:18px}.focus-timer__display{font-size:58px}.current-stage-strip{grid-template-columns:auto 1fr auto;gap:15px;padding:20px 18px}.stage-number{font-size:31px}.current-stage-strip h2{font-size:16px}.stage-deliverable{grid-column:1 / -1;padding-top:14px;border-top:1px solid #cfd7e1}.overall-progress{width:100%}.roadmap-header{display:grid}.phase-nav{grid-template-columns:repeat(9,164px)}.phase-detail{border-radius:18px}.phase-detail__header{grid-template-columns:auto 1fr;gap:14px;padding:22px 18px 18px}.phase-detail__number{font-size:35px}.phase-detail__header h2{font-size:20px}.phase-detail__header .button,.current-phase-label{grid-column:1 / -1;justify-self:start}.phase-description{padding:17px 18px}.topic-row{padding:15px 18px 0}.learning-guide{margin:18px 18px 0}.learning-guide__header{display:grid;gap:13px;padding:20px 18px}.learning-guide__header>strong{justify-self:start}.learning-guide__body{grid-template-columns:1fr}.learning-unit-tabs{display:flex;gap:7px;overflow-x:auto;padding:9px;border-right:0;border-bottom:1px solid #dbe3ed;scroll-snap-type:x mandatory}.learning-unit-tabs button{min-width:175px;flex:0 0 175px;scroll-snap-align:start}.learning-unit-panel{padding:20px 16px}.learning-unit-grid,.learning-unit-footer{grid-template-columns:1fr}.learning-self-check>div{grid-template-columns:1fr}.parallel-practice{grid-template-columns:1fr}.parallel-practice div{border-right:0;border-bottom:1px solid #e1e7ef}.parallel-practice div:last-child{border-bottom:0}.phase-section{padding:24px 18px}.phase-task-list>button{grid-template-columns:auto 1fr}.phase-task-list em{grid-column:2;justify-self:start}.acceptance-section>p{margin-left:0}.phase-deliverable{align-items:flex-start;flex-direction:column}.phase-deliverable strong{text-align:left}.journal-page .page-header{display:grid}.date-control{justify-self:start}.journal-field{grid-template-columns:29px 1fr;gap:10px;padding:20px 17px}.journal-field textarea{grid-column:1 / -1}.journal-save{width:calc(100% - 34px);margin:17px}.weekly-review{grid-template-columns:1fr;border-radius:18px}.weekly-review__intro{padding:23px}.weekly-checklist{grid-template-columns:1fr}.monthly-review{padding:22px 17px;border-radius:18px}.ai-rules{border-radius:18px}.bottom-nav{position:fixed;z-index:20;inset:auto 0 0;height:66px;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 8px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:9px;color:#8b95a4;background:transparent;font-size:9px}.bottom-nav button.is-active{color:var(--blue);background:#f0f4fc}.toast{right:14px;bottom:78px;left:14px;justify-content:space-between}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.weekly-header{align-items:center}.week-summary{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--line)}.week-summary div{min-width:78px;padding:13px 14px;background:#fff;text-align:center}.week-summary strong{display:block;font-family:DM Mono,monospace;font-size:19px}.week-summary span{display:block;margin-top:3px;color:var(--faint);font-size:9px}.weekly-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.week-source-panel{position:sticky;top:24px;padding:24px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.week-source-panel .section-heading>svg{color:var(--blue)}.week-source-list{display:grid;margin:18px 0;border-top:1px solid var(--line-soft)}.week-source-list>button{min-height:61px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border:0;border-bottom:1px solid var(--line-soft);background:transparent;cursor:pointer;text-align:left}.week-source-list>button>span{min-width:0;display:flex;flex-direction:column;gap:4px}.week-source-list strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.week-source-list small{color:var(--faint);font-size:9px}.week-source-list i{width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--blue);background:#eef3ff;font-size:9px;font-style:normal}.week-source-list>button:disabled{opacity:1}.week-source-list>button:disabled strong{color:#a4adba}.week-source-list>button:disabled i{color:var(--faint);background:#f0f2f5}.custom-week-task{display:grid;gap:11px;padding:17px;border-radius:13px;background:#f5f7fa}.custom-week-task h3{margin:0;font-size:12px}.custom-week-task>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.custom-week-task label{display:grid;gap:5px}.custom-week-task label span{color:var(--muted);font-size:9px}.custom-week-task input,.custom-week-task select,.week-plan-item select{width:100%;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;font-size:10px}.carry-forward{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:13px;padding:11px;border:1px dashed #b8c8e8;border-radius:10px;color:var(--blue);background:#f7f9ff;cursor:pointer;font-size:10px;font-weight:600}.week-board{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.week-board__heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-bottom:1px solid var(--line-soft)}.week-board__heading h2{margin:0 0 4px;font-size:18px}.week-board__heading p{margin:0;color:var(--muted);font-size:10px}.week-board__heading>span{display:flex;align-items:center;gap:6px;color:var(--blue);font-family:DM Mono,monospace;font-size:11px}.week-day{display:grid;grid-template-columns:100px minmax(0,1fr);border-bottom:1px solid var(--line-soft)}.week-day:last-child{border-bottom:0}.week-day>header{padding:18px 14px 18px 20px;border-right:1px solid var(--line-soft);background:#f8fafc}.week-day>header div{display:flex;align-items:baseline;gap:6px}.week-day>header strong{font-size:12px}.week-day>header span{color:var(--faint);font-family:DM Mono,monospace;font-size:9px}.week-day>header small{display:block;margin-top:7px;color:var(--faint);font-size:9px}.week-day.is-today>header{box-shadow:inset 3px 0 0 var(--orange);background:#fff7f3}.week-day.is-today>header strong{color:#d85a33}.week-day__tasks{min-height:78px;padding:9px 13px}.week-day__empty{margin:19px 5px;color:#aab3bf;font-size:10px}.week-plan-item{min-height:62px;display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:15px;padding:8px 7px;border-bottom:1px solid var(--line-soft)}.week-plan-item:last-child{border-bottom:0}.week-plan-item__copy{min-width:0;display:flex;flex-direction:column;gap:4px}.week-plan-item__copy strong{font-size:12px}.week-plan-item__copy small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.week-plan-item__meta{display:flex;align-items:center;gap:7px}.week-plan-item__meta label{width:65px}.week-plan-item__meta>span{color:var(--faint);font-size:9px;white-space:nowrap}.week-plan-item__remove{width:30px;height:30px;color:#a0a9b6;border:0}.mastery-badge{min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:9px;font-weight:700;white-space:nowrap}.mastery-badge.mastery-planned{color:#788395;background:#f3f5f7}.mastery-badge.mastery-learned{color:#2456b8;border-color:#c9d7f5;background:#eff4ff}.mastery-badge.mastery-independent{color:#9d5b0d;border-color:#f0d3a9;background:#fff7e9}.mastery-badge.mastery-verified{color:#147654;border-color:#b9dfcf;background:#eef9f4}.evidence-button{width:30px;height:30px;color:#8c97a7}.evidence-button.has-evidence{color:var(--green);border-color:#b9dfcf;background:#eef9f4}.phase-task-list--evidence{display:grid}.phase-task-row{min-height:67px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;border-top:1px solid var(--line-soft)}.phase-task-row:first-child{border-top:0}.mastery-marker{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--faint);background:#fff;font-family:DM Mono,monospace;font-size:9px}.phase-task-row.mastery-learned .mastery-marker{color:#fff;border-color:var(--blue);background:var(--blue)}.phase-task-row.mastery-independent .mastery-marker{color:#fff;border-color:#cf861e;background:#cf861e}.phase-task-row.mastery-verified .mastery-marker{color:#fff;border-color:var(--green);background:var(--green)}.phase-task-row__copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 0;border:0;background:transparent;cursor:pointer;text-align:left}.phase-task-row__copy strong{font-size:12px}.phase-task-row__copy small{color:var(--muted);font-size:10px;line-height:1.45}.phase-task-row em{padding:4px 7px;border-radius:6px;color:#7b8798;background:#f0f3f6;font-size:9px;font-style:normal}.evidence-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.evidence-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#0c182b7a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default}.evidence-drawer{position:absolute;inset:0 0 0 auto;width:min(530px,94vw);overflow-y:auto;color:var(--ink);background:#f5f7fa;box-shadow:-24px 0 60px #0f1e3638}.evidence-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:27px 28px;color:#fff;background:var(--navy)}.evidence-drawer__header p{margin:0 0 5px;color:#8fa1ba;font-size:9px;letter-spacing:.12em}.evidence-drawer__header h2{margin:0 0 5px;font-size:21px;letter-spacing:-.025em}.evidence-drawer__header span{display:block;color:#aab9cc;font-size:10px;line-height:1.6}.evidence-drawer__header .icon-button{color:#fff;border-color:#ffffff29;background:transparent}.evidence-section{margin:15px;padding:21px;border:1px solid var(--line-soft);border-radius:15px;background:#fff}.evidence-section__heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:17px}.evidence-section__heading>svg{flex:0 0 auto;color:var(--blue)}.evidence-section__heading h3{margin:0 0 3px;font-size:13px}.evidence-section__heading p{margin:0;color:var(--muted);font-size:9px}.mastery-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mastery-selector button{min-height:57px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px;border:1px solid var(--line);border-radius:10px;color:#7f8a99;background:#fff;cursor:pointer;font-size:9px}.mastery-selector button i{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#edf0f4;font-family:DM Mono,monospace;font-size:8px;font-style:normal}.mastery-selector button.is-active{color:var(--blue);border-color:#9bb4ec;background:#f0f5ff;box-shadow:inset 0 0 0 1px #9bb4ec}.mastery-selector button.is-active i{color:#fff;background:var(--blue)}.mastery-selector button.mastery-independent.is-active{color:#9d5b0d;border-color:#e2b86f;background:#fff8eb;box-shadow:inset 0 0 0 1px #e2b86f}.mastery-selector button.mastery-independent.is-active i{background:#cf861e}.mastery-selector button.mastery-verified.is-active{color:#147654;border-color:#8fcbb4;background:#effaf5;box-shadow:inset 0 0 0 1px #8fcbb4}.mastery-selector button.mastery-verified.is-active i{background:var(--green)}.evidence-fields{display:grid;gap:13px;margin-bottom:16px}.evidence-fields label,.evidence-review label{display:grid;gap:6px}.evidence-fields label span,.evidence-review label span{color:var(--muted);font-size:9px}.evidence-fields input,.evidence-fields textarea,.evidence-review textarea{width:100%;padding:10px 11px;resize:vertical;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fafbfd;font-size:10px;line-height:1.6}.evidence-review textarea{margin-bottom:11px}.evidence-message{position:sticky;bottom:0;margin:15px;padding:13px 15px;border-radius:10px;color:#fff;background:var(--navy);box-shadow:0 12px 30px #12233f33;font-size:10px;line-height:1.5}.review-queue{overflow:hidden;margin-bottom:24px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.review-queue__header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 30px;color:#fff;background:var(--navy)}.review-queue__header p{margin:0 0 5px;color:var(--orange);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em}.review-queue__header h2{margin:0 0 4px;font-size:22px}.review-queue__header span{color:#9eafc3;font-size:10px}.review-queue__header>svg{color:#7190ba}.review-queue__body{display:grid;grid-template-columns:minmax(0,1fr) 265px}.review-card-list{min-height:230px;padding:7px 26px 17px}.review-card{padding:20px 0;border-bottom:1px solid var(--line-soft)}.review-card:last-child{border-bottom:0}.review-card>header{display:flex;justify-content:space-between;gap:20px}.review-card>header>div{min-width:0}.review-card>header span{display:inline-block;margin-bottom:5px;color:var(--blue);font-size:9px;font-weight:700}.review-card>header span.is-due{color:#d85a33}.review-card h3{margin:0 0 5px;font-size:14px}.review-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.review-card>header>small{flex:0 0 auto;color:var(--faint);font-family:DM Mono,monospace;font-size:9px}.review-card__actions{display:flex;align-items:center;gap:8px;margin-top:13px}.review-card__actions .button{min-height:36px;padding-inline:13px;font-size:10px}.review-card__actions .icon-button{width:36px;height:36px;color:#98a2b1}.active-review{display:grid;gap:11px;margin-top:16px;padding:16px;border-radius:12px;background:#f5f7fa}.active-review>label{display:grid;gap:6px}.active-review>label span{color:var(--muted);font-size:9px}.active-review textarea{width:100%;padding:11px 12px;resize:vertical;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px;line-height:1.6}.active-review>.button{justify-self:start;min-height:37px;font-size:10px}.review-cancel{justify-self:start;font-size:9px}.review-result{display:grid;gap:12px}.review-evidence-reference,.review-evidence-empty{padding:13px;border:1px solid #d9e1eb;border-radius:10px;background:#fff}.review-evidence-reference strong{display:block;margin-bottom:6px;font-size:10px}.review-evidence-reference p{margin:0 0 6px;color:var(--ink)}.review-evidence-reference span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.review-evidence-empty{color:var(--muted);font-size:9px}.review-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.review-ratings button{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;font-size:10px;font-weight:700}.review-ratings button small{font-size:8px;font-weight:400}.review-ratings .rating-forgot{color:#b94c34;border-color:#e8c5bd;background:#fff7f5}.review-ratings .rating-hinted{color:#9d6618;border-color:#ead3ae;background:#fff9ef}.review-ratings .rating-independent{color:#147654;border-color:#b9dfcf;background:#eff9f4}.review-queue-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--faint);text-align:center}.review-queue-empty svg{margin-bottom:10px}.review-queue-empty strong{color:#566173;font-size:11px}.review-queue-empty p{max-width:220px;margin:6px 0;font-size:9px;line-height:1.6}.custom-review-form{display:flex;flex-direction:column;gap:11px;padding:23px;border-left:1px solid var(--line-soft);background:#f7f9fb}.custom-review-form h3{margin:0;font-size:13px}.custom-review-form>p{margin:-6px 0 4px;color:var(--muted);font-size:9px}.custom-review-form label{display:grid;gap:5px}.custom-review-form label span{color:var(--muted);font-size:9px}.custom-review-form input,.custom-review-form textarea{width:100%;padding:10px;resize:vertical;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px;line-height:1.6}.custom-review-form .button{margin-top:auto}@media (max-width: 1080px){.week-summary{grid-template-columns:repeat(2,1fr)}.weekly-layout{grid-template-columns:260px minmax(0,1fr)}.week-plan-item{grid-template-columns:1fr;gap:7px}.week-plan-item__meta{justify-content:flex-start;flex-wrap:wrap}.review-queue__body{grid-template-columns:minmax(0,1fr) 230px}}@media (max-width: 860px){.weekly-layout{grid-template-columns:1fr}.week-source-panel{position:static}.week-source-list{grid-template-columns:repeat(2,1fr);column-gap:16px}.review-queue__body{grid-template-columns:1fr}.custom-review-form{border-top:1px solid var(--line-soft);border-left:0}}@media (max-width: 640px){.weekly-header{display:grid}.week-summary{width:100%}.weekly-layout{gap:15px}.week-source-panel,.week-board,.review-queue{border-radius:18px}.week-source-panel{padding:20px 17px}.week-source-list{grid-template-columns:1fr}.week-board__heading{padding:21px 18px}.week-day{grid-template-columns:72px minmax(0,1fr)}.week-day>header{padding:16px 8px 16px 12px}.week-day>header div{align-items:flex-start;flex-direction:column;gap:2px}.week-day__tasks{padding:7px 9px}.week-plan-item{grid-template-columns:1fr}.week-plan-item__meta label{width:72px}.phase-task-row{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:10px 0}.phase-task-row__copy{padding:2px 0}.phase-task-row em,.phase-task-row .mastery-badge{grid-column:2;justify-self:start}.phase-task-row .evidence-button{grid-column:3;grid-row:1 / span 3}.evidence-drawer{width:100%}.evidence-drawer__header{padding:22px 18px}.evidence-section{margin:11px;padding:17px}.mastery-selector{grid-template-columns:repeat(2,1fr)}.review-queue__header{padding:23px 19px}.review-card-list{padding:4px 18px 14px}.review-card>header{flex-direction:column;gap:7px}.review-ratings{grid-template-columns:1fr}.custom-review-form{padding:20px 18px}}
