.courses-page,.course-detail{width:min(100%,1080px);margin-inline:auto}.courses-heading,.course-detail-heading{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding-bottom:32px;display:grid}.courses-heading h1,.course-detail-heading h1{margin-block:8px 16px}.courses-heading p:last-child,.course-detail-heading p:last-child,.course-state,.course-summary-copy span,.hierarchy-meta,.notion-status,.hierarchy-heading span{color:var(--ink-muted)}.course-create,.course-empty a{border:1px solid var(--ink);color:var(--paper);background:var(--ink);border-radius:2px;justify-content:center;align-items:center;padding-inline:20px;font-weight:650;display:inline-flex}.course-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;display:grid}.course-grid>li{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.course-summary{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:104px;padding:20px;display:grid}.course-summary:hover{background:var(--paper-deep)}.mastery-dot{border:1px solid var(--ink-muted);background:0 0;border-radius:50%;width:10px;height:10px;display:inline-block}.mastery-dot.is-learning,.mastery-dot.status-50{border-color:var(--progress);background:color-mix(in srgb, var(--progress) 45%, var(--paper))}.mastery-dot.is-understood,.mastery-dot.status-100{border-color:var(--progress-dark);background:var(--progress-dark)}.course-summary-copy{gap:4px;min-width:0;display:grid}.course-summary-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;overflow:hidden}.course-summary-copy span,.course-progress{font-size:.82rem}.course-progress{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:650}.course-empty,.course-state{border-bottom:1px solid var(--line);padding-block:48px}.course-empty h2{margin-block:8px;font-size:1.5rem}.course-empty a{width:fit-content;margin-top:24px}.course-back{color:var(--ink-muted);align-items:center;margin-bottom:28px;font-size:.86rem;display:inline-flex}.course-overview{border-left:1px solid var(--line);gap:2px;min-width:220px;padding-left:28px;display:grid}.course-overview strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.5rem}.course-overview span{color:var(--ink-muted);font-size:.82rem}.course-tools{border-bottom:1px solid var(--line);align-items:center;gap:6px;min-height:68px;display:flex}.course-tools button,.course-rename button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding-inline:12px}.course-tools .archive-action{color:#7a281b}.course-tools p{color:#7a281b;margin-left:auto;font-size:.85rem}.course-rename{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:8px;display:grid}.course-rename label{color:var(--ink-muted);grid-column:1/-1;font-size:.75rem}.course-rename input{border:1px solid var(--ink);background:0 0;min-height:48px;padding-inline:10px;font-size:1.1rem}.course-hierarchy{padding-top:36px}.course-outline-editor,.change-review{border-block:1px solid var(--ink);margin-top:32px;padding-block:24px}.course-outline-editor>header{justify-content:space-between;align-items:end;gap:20px;display:flex}.edit-chapter{border-bottom:1px solid var(--line);padding-block:18px}.edit-children{border-left:1px solid var(--line);margin-left:24px;padding-left:16px}.edit-row{grid-template-columns:1fr auto;align-items:end;gap:8px;padding-block:8px;display:grid}.edit-row label span{color:var(--ink-muted);font-size:.75rem;display:block}.edit-row input{border:1px solid var(--line);background:0 0;width:100%;min-height:44px;padding:8px 10px}.edit-row button,.course-outline-editor button,.change-review button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:44px;padding-inline:12px}.edit-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.change-review>div{border-bottom:1px solid var(--line);padding-block:12px}.change-danger,.course-edit-error{color:#7a281b}.destructive-confirm{border:1px solid #a44432;gap:10px;margin-top:20px;padding:16px;display:flex}.hierarchy-heading{justify-content:space-between;align-items:baseline;padding-bottom:12px;display:flex}.hierarchy-heading h2{font-size:1.25rem}.chapter-list{border-top:1px solid var(--ink)}.hierarchy-chapter{border-bottom:1px solid var(--ink)}.hierarchy-toggle{width:100%;min-height:64px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:54px minmax(0,1fr) auto 44px;padding:0;display:grid}.hierarchy-toggle:hover{background:var(--paper-deep)}.hierarchy-toggle>span{align-items:center;display:flex}.hierarchy-index,.notion-number{color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem}.hierarchy-title{font-weight:650}.hierarchy-meta{padding-inline:20px;font-size:.78rem}.hierarchy-chevron{border-left:1px solid var(--line);justify-content:center;font-size:1.1rem}.subchapter-list{border-left:1px solid var(--line);margin-left:30px}.hierarchy-subchapter{border-top:1px solid var(--line)}.subchapter-toggle{min-height:58px;padding-left:18px}.notion-list{border-left:1px solid var(--line);margin-left:48px}.notion-list li{border-top:1px solid var(--line)}.notion-list a{grid-template-columns:12px 64px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding-inline:16px;display:grid}.notion-list a:hover{background:var(--paper-deep)}.notion-status{font-size:.76rem}@media (width<=720px){.edit-row{grid-template-columns:1fr}.edit-children{margin-left:8px;padding-left:8px}.courses-heading,.course-detail-heading,.course-grid{grid-template-columns:1fr}.course-create{width:100%}.course-overview{border-top:1px solid var(--line);border-left:0;padding:20px 0 0}.course-rename{grid-template-columns:1fr 1fr}.course-rename input{grid-column:1/-1}.hierarchy-toggle{grid-template-columns:38px minmax(0,1fr) 44px;padding-left:10px}.hierarchy-meta{grid-column:2;padding:0 0 10px}.hierarchy-chevron{grid-area:1/3/span 2}.subchapter-list{margin-left:10px}.notion-list{margin-left:16px}.notion-list a{grid-template-columns:12px 54px minmax(0,1fr);padding-block:8px}.notion-status{grid-column:3}}.today-page{width:min(100%,1080px);margin-inline:auto}.today-heading{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);align-items:end;gap:12px 48px;padding-bottom:32px;display:grid}.today-heading .eyebrow{grid-column:1/-1}.today-heading>p:last-child{color:var(--ink-muted)}.today-list{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);display:grid}.daily-tasks,.daily-suggestions,.completed-tasks,.bulk-tasks{padding-block:32px}.daily-tasks,.bulk-tasks{border-right:1px solid var(--line);grid-column:1;padding-right:36px}.daily-suggestions,.completed-tasks{grid-column:2;padding-left:36px}.daily-suggestions{grid-row:1}.completed-tasks{border-top:1px solid var(--line)}.daily-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.daily-section-heading h2{margin-top:4px;font-size:1.25rem}.daily-section-heading>span,.daily-section-heading>button{color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem}.daily-section-heading>button{cursor:pointer;background:0 0;border:0;padding-inline:8px}.task-list,.daily-suggestions ul,.bulk-preview ol{border-top:1px solid var(--line)}.task-list>li,.daily-suggestions li{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:62px;display:flex}.task-list label{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;min-height:44px;display:flex}.task-list input{width:20px;height:20px;accent-color:var(--progress-dark)}.task-copy,.daily-suggestions li>span:nth-child(2){min-width:0;display:grid}.task-copy small,.daily-suggestions small{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.task-list>li>a,.daily-suggestions button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;align-items:center;padding-inline:10px;font-size:.78rem;display:inline-flex}.task-list.completed strong{color:var(--ink-muted);text-decoration:line-through}.quick-task{margin-top:24px}.quick-task>label,.bulk-tasks>label{margin-bottom:6px;font-size:.78rem;font-weight:650;display:block}.quick-task>div{grid-template-columns:minmax(0,1fr) auto;display:grid}.quick-task input,.bulk-tasks textarea,.bulk-preview select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:0 0;border-radius:0;padding:10px 12px}.quick-task button,.daily-primary{border:1px solid var(--ink);min-height:44px;color:var(--paper);background:var(--ink);cursor:pointer;padding-inline:18px;font-weight:650}.daily-tasks>.text-action{color:var(--ink-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:10px;padding-inline:0;text-decoration:underline}.daily-suggestions li{grid-template-columns:12px minmax(0,1fr) auto;display:grid}.daily-empty,.daily-state,.bulk-preview small,.bulk-preview p{color:var(--ink-muted);font-size:.86rem}.bulk-tasks{border-top:1px solid var(--line)}.bulk-tasks textarea{resize:vertical;min-height:140px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.bulk-tasks>.daily-primary,.bulk-preview>.daily-primary{margin-top:12px}.bulk-preview{margin-top:28px}.bulk-preview li{border-bottom:1px solid var(--line);gap:6px;padding-block:12px;display:grid}.bulk-preview label span{color:var(--ink-muted);margin-bottom:4px;font-size:.72rem;display:block}.daily-error{color:#7a281b;grid-column:1/-1;min-height:24px;font-size:.82rem}@media (width<=720px){.today-heading,.today-list{grid-template-columns:1fr}.daily-tasks,.daily-suggestions,.completed-tasks,.bulk-tasks{border-right:0;grid-area:auto/1;padding-inline:0}.daily-suggestions,.completed-tasks,.bulk-tasks{border-top:1px solid var(--line)}.quick-task>div{grid-template-columns:1fr;gap:6px}}.dashboard-page{width:min(100%,1080px);margin-inline:auto;padding-top:clamp(36px,5vw,64px)}.dashboard-overview{grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);align-items:stretch;gap:16px;margin-bottom:16px;display:grid}.dashboard-heading{flex-direction:column;justify-content:center;display:flex}.dashboard-heading h1{letter-spacing:-.05em;margin-top:6px;font-size:clamp(2.25rem,4vw,3.5rem);line-height:1}.dashboard-empty,.dashboard-summary{color:var(--ink-muted)}.dashboard-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-priority,.dashboard-courses,.dashboard-today,.dashboard-habits{border:1px solid var(--line);min-width:0;padding:24px}.dashboard-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.dashboard-section-heading h2{margin-top:4px;font-size:1.2rem}.dashboard-section-heading a,.dashboard-section-heading button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;align-items:center;padding-inline:8px;font-size:.78rem;display:inline-flex}.dashboard-priority>a{border-block:1px solid var(--line);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:78px;padding-inline:14px;display:grid}.dashboard-priority>a>span:nth-child(2){display:grid}.dashboard-priority small,.dashboard-check-list small,.dashboard-courses small{color:var(--ink-muted);font-size:.73rem}.dashboard-priority b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem}.dashboard-check-list,.dashboard-courses ul{border-top:1px solid var(--line)}.dashboard-courses ul:empty{display:none}.dashboard-check-list li,.dashboard-courses li{border-bottom:1px solid var(--line)}.dashboard-check-list label{cursor:pointer;align-items:center;gap:12px;min-height:54px;display:flex}.dashboard-check-list input{width:19px;height:19px;accent-color:var(--progress-dark)}.dashboard-check-list label>span{min-width:0;display:grid}.dashboard-check-list strong,.dashboard-check-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-summary{margin-top:12px;font-size:.78rem}.dashboard-courses a{justify-content:space-between;align-items:center;gap:18px;min-height:52px;display:flex}.activity-panel{border:1px solid var(--line);min-width:0;padding:8px 10px 6px}.activity-heading{align-items:center;margin-bottom:8px}.activity-heading h2{margin:0;font-size:1rem}.activity-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.activity-block{border:1px solid var(--line);min-width:0;padding:8px}.activity-block h3{margin:0 0 6px;font-size:.8rem}.activity-grid{margin:0;padding:0;list-style:none;display:grid}.activity-block .activity-grid{margin-top:0}.github-grid>tbody,.github-grid>tbody>tr{display:contents}.activity-grid [role=gridcell]{min-width:0;min-height:0;padding:0}.activity-grid-frame{scrollbar-color:var(--line) transparent;scrollbar-width:thin;min-width:0;overflow-x:auto}.activity-grid-shell{min-width:0}.activity-calendar{--activity-cell-size:9px;--activity-gap:2px;grid-template-rows:13px max-content;grid-template-columns:25px max-content;width:max-content;min-width:100%;padding:2px 2px 5px;display:grid}.activity-block .activity-calendar{--activity-cell-size:5px;--activity-gap:1px}.activity-month-labels,.github-grid{grid-template-columns:repeat(var(--activity-columns), var(--activity-cell-size));column-gap:var(--activity-gap);display:grid}.activity-month-labels{color:var(--ink-muted);text-transform:capitalize;grid-area:1/2;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.55rem;line-height:1}.activity-month-labels .activity-month-label{white-space:nowrap}.activity-weekday-labels{grid-area:2/1;grid-template-rows:repeat(7, var(--activity-cell-size));row-gap:var(--activity-gap);color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.5rem;line-height:var(--activity-cell-size);text-align:right;padding-right:5px;display:grid}.github-grid{grid-area:2/2;grid-template-rows:repeat(7, var(--activity-cell-size));row-gap:var(--activity-gap)}.activity-cell{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);background:var(--paper-deep);border-radius:0;width:100%;min-width:0;min-height:0;display:block}.activity-grid:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.activity-cell[data-active=true]{border-color:var(--progress-dark);box-shadow:inset 0 0 0 1px var(--progress-dark)}.activity-cell-detail{min-height:1.25em;color:var(--ink-muted);margin:4px 2px 0;font-size:.62rem;line-height:1.25}.activity-cell[data-intensity="1"],.activity-legend i[data-intensity="1"]{background:#c7dec9}.activity-cell[data-intensity="2"],.activity-legend i[data-intensity="2"]{background:#8fb99a}.activity-cell[data-intensity="3"],.activity-legend i[data-intensity="3"]{background:#4e8c67}.activity-cell[data-intensity="4"],.activity-legend i[data-intensity="4"]{background:var(--progress-dark)}.activity-cell[data-intensity=neutral]{opacity:.42}.activity-legend{color:var(--ink-muted);justify-content:flex-end;align-items:center;gap:5px;padding-top:7px;font-size:.68rem;display:flex}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.activity-legend i{border:1px solid var(--line);background:var(--paper-deep);width:10px;height:10px}.dashboard-state{padding-block:72px}@media (width<=720px){.dashboard-overview,.dashboard-body,.activity-panels{grid-template-columns:1fr}.dashboard-priority,.dashboard-today,.dashboard-habits,.dashboard-courses{padding:20px}.activity-block{padding:8px}}@media (width>=721px) and (width<=900px){.dashboard-overview{grid-template-columns:1fr}}.activity-page{width:min(100%,1080px);margin-inline:auto;padding-top:clamp(36px,5vw,64px)}.activity-page-header{padding-bottom:20px}.activity-page-header h1{margin-top:4px;font-size:clamp(2.25rem,5vw,4rem)}.activity-page-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.activity-page-column{border:1px solid var(--line);min-width:0;padding:20px}.activity-page-column>h2{margin-bottom:16px;font-size:1.25rem}.activity-page-column .activity-calendar{--activity-cell-size:7px;--activity-gap:1px}.activity-history{margin-top:24px}.activity-history>h3{border-bottom:1px solid var(--line);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;padding-bottom:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}.activity-history li{border-bottom:1px solid var(--line);padding-block:12px}.activity-history-heading{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.activity-history-heading a,.activity-history-heading strong{min-width:0;font-size:.9rem;font-weight:650}.activity-history-heading span,.activity-history time,.activity-history p{color:var(--ink-muted);font-size:.7rem}.activity-history p{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.activity-history-empty,.activity-load-error{color:var(--ink-muted);padding-block:18px;font-size:.8rem}.activity-load-more{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;margin-top:12px}.activity-page-state{padding-block:72px}@media (width<=900px){.activity-page-columns{grid-template-columns:1fr}}@media (width<=520px){.activity-page-column{padding:16px}.activity-history-heading{flex-direction:column;align-items:start;gap:2px}}.documents-page{width:min(100%,1080px);margin-inline:auto}.documents-heading{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);align-items:end;gap:32px;padding-bottom:36px;display:grid}.documents-heading h1{margin-top:8px}.documents-heading>p,.upload-manager>p,.document-ledger>p{color:var(--ink-muted)}.upload-manager{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr);gap:32px;padding-block:32px;display:grid}.upload-manager h2,.document-ledger h2,.pdf-viewer h2{margin-top:4px;font-size:1.35rem}.upload-fields{grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) minmax(0,1.2fr) auto;align-items:end;gap:12px;min-width:0;display:grid}.upload-fields label,.image-proof-uploader label{min-width:0;color:var(--ink-muted);gap:6px;font-size:.78rem;display:grid}.upload-fields input,.upload-fields select,.image-proof-uploader input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:0 0;border-radius:2px;padding:8px}.upload-fields button,.document-ledger button,.pdf-viewer button{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:2px;padding-inline:16px}.upload-fields button{color:var(--paper);background:var(--ink)}.upload-fields button:disabled,.pdf-viewer button:disabled{cursor:default;opacity:.45}.upload-message{grid-column:2;min-height:1.5rem;font-size:.8rem}.document-ledger{padding-block:36px}.storage-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.storage-summary div{border-right:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 16px;display:flex}.storage-summary div:last-child{border-right:0}.storage-summary dt{color:var(--ink-muted);font-size:.78rem}.storage-summary dd{margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.document-ledger-heading{margin-bottom:16px}.document-course-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.document-course{border-bottom:1px solid var(--ink)}.document-hierarchy-toggle{width:100%;min-height:68px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:78px minmax(0,1fr) auto 44px;padding:0;display:grid}.document-hierarchy-toggle:hover{background:var(--paper-deep)}.document-hierarchy-toggle>span{align-items:center;display:flex}.document-hierarchy-index{color:var(--ink-muted);text-transform:uppercase;padding-left:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.document-hierarchy-title{font-weight:650}.document-hierarchy-meta{color:var(--ink-muted);padding-inline:20px;font-size:.78rem}.document-hierarchy-chevron{border-left:1px solid var(--line);justify-content:center;font-size:1.1rem}.document-chapter-list{margin-block:0;border-left:1px solid var(--line);margin-left:30px;padding:0;list-style:none}.document-chapter{border-top:1px solid var(--line)}.document-chapter .document-hierarchy-toggle{grid-template-columns:58px minmax(0,1fr) auto 44px;min-height:60px}.document-subchapter-list{margin-block:0;border-left:1px solid var(--line);margin-left:30px;padding:0;list-style:none}.document-subchapter{border-top:1px solid var(--line)}.document-subchapter .document-hierarchy-toggle{min-height:56px}.document-items{border-left:1px solid var(--line);margin-left:48px}.document-items li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:20px;min-height:60px;padding:10px 16px;display:grid}.document-file-copy{align-items:center;gap:12px;min-width:0;display:flex}.document-file-copy strong,.document-items li>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-items li>span{color:var(--ink-muted);font-size:.78rem}.document-file-mark{border:1px solid var(--line);color:var(--ink-muted);letter-spacing:.06em;flex:none;padding:3px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:650}.pdf-viewer{z-index:30;border:1px solid var(--ink);background:var(--paper);grid-template-rows:auto auto minmax(0,1fr);display:grid;position:fixed;inset:20px;overflow:hidden}.pdf-viewer-fullscreen{inset:0}.pdf-viewer:fullscreen{inset:0}.pdf-viewer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.viewer-controls{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 20px;display:flex}.pdf-viewer .viewer-controls span{text-align:center;min-width:58px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem}.pdf-canvas{background:var(--paper-deep);text-align:center;padding:24px;overflow:auto}.pdf-canvas .react-pdf__Page{width:fit-content;box-shadow:0 1px 8px color-mix(in srgb, var(--ink) 12%, transparent);margin-inline:auto}@media (width<=980px){.documents-heading,.upload-manager,.upload-fields,.storage-summary{grid-template-columns:1fr}.storage-summary div{border-right:0;border-bottom:1px solid var(--line)}.upload-message{grid-column:1}.document-hierarchy-toggle{grid-template-columns:58px minmax(0,1fr) auto 40px}.document-hierarchy-meta{padding-inline:10px}.document-chapter-list,.document-subchapter-list{margin-left:14px}.document-items{margin-left:28px}.document-items li{grid-template-columns:minmax(0,1fr) auto;gap:10px}.document-items li button{width:100%}.pdf-viewer{inset:0}.viewer-controls button{flex:120px}.pdf-canvas{padding:12px}}.habits-page{width:min(100%,920px);margin-inline:auto}.habits-heading{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding-bottom:32px;display:grid}.habits-heading h1{margin-block:8px 16px}.habits-heading p:last-child,.habit-state,.habit-empty{color:var(--ink-muted)}.habits-heading>a,.habit-back{color:var(--ink-muted);text-underline-offset:3px;align-items:center;font-size:.84rem;text-decoration:underline;display:inline-flex}.habit-create{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,.35fr) minmax(300px,1fr);align-items:center;gap:20px;padding-block:28px;display:grid}.habit-create>label{font-weight:650}.habit-create>div{grid-template-columns:minmax(0,1fr) auto;display:grid}.habit-create input,.habit-rename input,.habits-heading input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0;padding:9px 12px}.habit-create button,.habit-rename button{border:1px solid var(--ink);min-height:44px;color:var(--paper);background:var(--ink);cursor:pointer;padding-inline:16px;font-weight:650}.habit-today{border-bottom:1px solid var(--ink);padding-block:36px}.habit-section-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.habit-section-heading h2{margin-top:4px;font-size:1.25rem}.habit-section-heading>span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.habit-list{border-top:1px solid var(--line)}.habit-list>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:68px;display:grid}.habit-check{cursor:pointer;align-items:center;gap:14px;min-height:52px;display:flex}.habit-check input{width:22px;height:22px;accent-color:var(--progress-dark)}.habit-check>span{display:grid}.habit-check small{color:var(--ink-muted);font-size:.75rem}.habit-actions{display:flex}.habit-actions button{min-height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding-inline:10px}.habit-actions button:last-child{color:#7a281b}.habit-rename{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding-block:10px;display:grid}.habit-rename label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.habit-rename button:last-child{color:var(--ink-muted);background:0 0}.habit-error{color:#7a281b;min-height:24px;font-size:.82rem}.habit-back{margin-bottom:24px}.habit-history-page .habits-heading>label{color:var(--ink-muted);gap:5px;font-size:.76rem;display:grid}.history-list>li{grid-template-columns:1fr}.habit-today>p[aria-live]{min-height:28px;color:var(--ink-muted);padding-top:12px;font-size:.82rem}@media (width<=720px){.habits-heading,.habit-create{grid-template-columns:1fr}.habits-heading>a{width:fit-content}.habit-create{gap:8px}.habit-create>div,.habit-rename{grid-template-columns:1fr;gap:6px}.habit-list>li{grid-template-columns:1fr;padding-block:8px}.habit-actions{justify-content:flex-end}}.auth-page{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-panel{border:1px solid var(--ink);background:var(--paper);gap:36px;width:min(100%,520px);padding:clamp(28px,6vw,52px);display:grid}.auth-wordmark{align-items:center;width:fit-content;font-size:1.125rem;font-weight:700;display:inline-flex}.auth-wordmark span{color:var(--progress)}.auth-panel h1{margin-block:8px 16px;font-size:clamp(2.6rem,10vw,4.8rem)}.auth-panel>div>p:last-child,.auth-note,.field-hint{color:var(--ink-muted)}.auth-form{gap:10px;display:grid}.auth-form label{margin-top:10px;font-weight:650}.auth-form input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:0 0;border-radius:2px;padding:10px 12px}.auth-form button{border:1px solid var(--ink);min-height:48px;color:var(--paper);background:var(--ink);cursor:pointer;border-radius:2px;margin-top:18px;font-weight:650}.auth-form button:disabled{cursor:wait;opacity:.65}.auth-error{color:#8c2d2d;min-height:24px}.auth-note,.field-hint{font-size:.875rem}@media (width<=560px){.auth-page{place-items:stretch stretch;padding:0}.auth-panel{border:0;min-height:100vh}}.import-page{width:min(100% - 40px,980px);margin-inline:auto;padding-block:clamp(48px,8vw,96px) 120px}.import-heading{border-bottom:1px solid var(--ink);padding-bottom:32px}.import-heading h1{margin-block:8px 16px}.import-heading>p:last-child,.preview-empty,.section-heading-row span{color:var(--ink-muted)}.import-source,.import-preview{border-bottom:1px solid var(--line);padding-block:32px}.import-source h2,.import-preview h2{font-size:1.25rem}.import-source label{grid-template-columns:minmax(150px,.35fr) minmax(280px,1fr);align-items:start;gap:8px 24px;margin-top:24px;font-weight:650;display:grid}.hierarchy-choice{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px;padding:0;display:grid}.hierarchy-choice legend{margin-bottom:8px;font-weight:650}.hierarchy-choice label{border:1px solid var(--line);grid-template-columns:none;align-items:center;gap:10px;margin:0;padding:14px;display:flex}.hierarchy-choice input{width:auto;min-height:auto}.hierarchy-choice small{color:var(--ink-muted);grid-column:1/-1}.ai-prompt{border:1px solid var(--line);gap:16px;margin-top:32px;padding:20px;display:grid}.ai-prompt h3{margin-block:4px}.ai-prompt label{margin:0}.ai-prompt button{border:1px solid var(--ink);cursor:pointer;background:0 0;width:fit-content;min-height:44px;padding-inline:16px}.import-source input,.import-source textarea,.outline-field input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:0 0;border-radius:2px;padding:10px 12px;font-weight:450}.import-source textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.6}.import-source>button,.confirm-import{border:1px solid var(--ink);min-height:44px;color:var(--paper);background:var(--ink);cursor:pointer;border-radius:2px;margin-top:24px;padding-inline:20px;font-weight:650}.section-heading-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.import-error{color:#7a281b;border-block:1px solid #a44432;margin-top:20px;padding:12px 0}.outline-editor{border-top:1px solid var(--line);margin-top:24px}.outline-chapter{border-bottom:1px solid var(--ink);padding-block:20px}.outline-subchapter{border-left:1px solid var(--line);margin-left:28px}.outline-field{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px 20px;padding:12px 0 12px 20px;display:grid}.outline-field label span{color:var(--ink-muted);text-transform:uppercase;margin-bottom:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;display:block}.outline-actions{gap:4px;display:flex}.outline-actions button{min-height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding-inline:10px}.outline-actions button:disabled{cursor:default;opacity:.3}@media (width<=700px){.import-page{width:min(100% - 28px,620px)}.import-source label,.outline-field,.hierarchy-choice{grid-template-columns:1fr}.hierarchy-choice small{grid-column:auto}.outline-subchapter{margin-left:12px}.outline-actions{grid-template-columns:repeat(3,1fr);display:grid}}.notion-page{width:min(100%,1080px);margin-inline:auto}.notion-breadcrumb{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;font-size:.8rem;display:flex}.notion-breadcrumb a{text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.notion-heading{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(360px,.65fr);align-items:end;gap:32px;padding-bottom:32px;display:grid}.notion-heading h1{margin-top:8px}.notion-level{border-left:1px solid var(--line);padding-left:28px}.notion-level h2{margin-bottom:12px;font-size:.86rem}.level-control{border:0;border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.level-option{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:52px;color:var(--ink-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:6px;font-size:.78rem;display:flex}.level-option[aria-pressed=true]{color:var(--paper);background:var(--ink)}.level-option.status-50 .mastery-dot{background:color-mix(in srgb, var(--progress) 45%, var(--paper))}.level-option.status-100 .mastery-dot{background:var(--progress)}.level-option[aria-pressed=true] .mastery-dot{border-color:var(--paper)}.level-message{min-height:42px;color:var(--ink-muted);padding-top:8px;font-size:.78rem}.notion-columns{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);display:grid}.proof-editor,.status-history{padding-block:36px}.proof-editor{border-right:1px solid var(--line);padding-right:36px}.status-history{padding-left:36px}.notion-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.notion-section-heading h2{margin-top:4px;font-size:1.25rem}.notion-section-heading>span{color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.notion-section-heading>span.enough{color:var(--progress-dark);font-weight:700}.proof-editor>p,.status-history>p,.image-proof-note{color:var(--ink-muted);font-size:.86rem}.proof-editor label{margin-block:24px 6px;font-size:.8rem;font-weight:650;display:block}.proof-editor textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:180px;color:var(--ink);background:0 0;border-radius:2px;padding:12px;line-height:1.55}.proof-actions{align-items:center;gap:16px;margin-top:12px;display:flex}.proof-actions button{border:1px solid var(--ink);color:var(--paper);background:var(--ink);cursor:pointer;border-radius:2px;padding-inline:18px;font-weight:650}.proof-actions p{color:var(--ink-muted);font-size:.82rem}.image-proof-note{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.image-proof-uploader{gap:8px;margin-block:12px;display:grid}.image-proof-uploader label{margin:0}.image-proof-uploader input{border:1px solid var(--line);background:0 0;border-radius:2px;width:100%;padding:8px}.image-proof-preview{border:1px solid var(--line);background:var(--paper);border-radius:2px;margin:4px 0 0;overflow:hidden}.image-proof-preview img{object-fit:contain;background:color-mix(in srgb, var(--line) 22%, var(--paper));width:100%;max-height:420px;display:block}.image-proof-preview figcaption{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.image-proof-preview figcaption span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.image-proof-preview button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:2px;padding:6px 10px}.image-proof-preview button:disabled{cursor:default;opacity:.45}.image-proof-uploader p{min-height:1.4rem;color:var(--ink-muted);font-size:.8rem}.status-history ol{border-top:1px solid var(--line)}.status-history li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;gap:8px;padding-block:14px;font-size:.82rem;display:grid}.status-history time{color:var(--ink-muted);grid-column:1/-1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.notion-state{padding-block:72px}@media (width<=720px){.notion-heading,.notion-columns{grid-template-columns:1fr}.notion-level{border-top:1px solid var(--line);border-left:0;padding:24px 0 0}.level-control{grid-template-columns:1fr}.proof-editor,.status-history{border-right:0;padding-inline:0}.status-history{border-top:1px solid var(--line)}.proof-actions{flex-direction:column;align-items:stretch}}.profile-page{width:min(100% - 40px,880px);margin-inline:auto;padding-block:clamp(48px,8vw,96px) 112px}.profile-heading{border-bottom:1px solid var(--ink);padding-bottom:32px}.profile-heading h1{margin-block:8px 16px}.profile-heading>p:last-child,.profile-field p,.profile-actions p{color:var(--ink-muted)}.profile-form{border-bottom:1px solid var(--line)}.profile-field{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,.5fr) minmax(260px,1fr);gap:8px 32px;padding-block:28px;display:grid}.profile-field label{font-weight:650}.profile-field input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0;border-radius:2px;padding:8px 12px}.profile-field input[readonly]{color:var(--ink-muted);background:var(--paper-deep)}.profile-field p,.profile-field .text-action{grid-column:2;font-size:.875rem}.profile-field .text-action{color:var(--progress-dark);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.profile-actions{grid-template-columns:minmax(160px,.5fr) minmax(260px,1fr);align-items:center;gap:8px 32px;padding-block:28px;display:grid}.profile-actions>button,.profile-page>button{border:1px solid var(--ink);min-height:44px;color:var(--paper);background:var(--ink);cursor:pointer;border-radius:2px;grid-column:2;padding-inline:20px;font-weight:650}.profile-actions>button:disabled{cursor:wait;opacity:.65}.profile-actions p{grid-column:2;min-height:24px}.session-section,.access-section{border-bottom:1px solid var(--ink);padding-block:36px}.session-section,.section-heading-row{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.session-section h2,.access-section h2{margin-block:8px 12px}.session-section p,.section-heading-row>p,.access-lists p,.copy-row p{color:var(--ink-muted)}.session-actions{gap:10px;min-width:min(100%,280px);display:grid}.session-actions button,.invite-form button,.copy-row button{border:1px solid var(--ink);min-height:44px;color:var(--paper);background:var(--ink);cursor:pointer;border-radius:2px;padding-inline:16px;font-weight:650}.session-actions .secondary-action{color:var(--ink);background:0 0}.session-actions button:disabled,.invite-form button:disabled,.copy-row button:disabled,.access-lists button:disabled{cursor:wait;opacity:.55}.invite-form,.copy-row{border-bottom:1px solid var(--line);gap:8px;padding-block:28px;display:grid}.invite-form>label,.copy-row>label{font-weight:650}.invite-form>div,.copy-row>div{grid-template-columns:1fr auto;display:grid}.invite-form input,.copy-row input{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);background:0 0;border-right:0;border-radius:2px 0 0 2px;padding:8px 12px}.access-lists{grid-template-columns:1fr 1fr;gap:36px;padding-top:28px;display:grid}.access-lists h3{margin-bottom:12px;font-size:1rem}.access-lists ul{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.access-lists li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-block:14px;display:flex}.access-lists li span{gap:3px;min-width:0;display:grid}.access-lists strong{text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.access-lists small{color:var(--ink-muted)}.access-lists .text-action{color:var(--progress-dark);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;flex:none;padding:0;text-decoration:underline}.access-lists .danger-action{color:#8b2d24}.form-error{color:#8b2d24;min-height:24px;margin-top:12px}@media (width<=640px){.profile-page{width:min(100% - 28px,580px)}.profile-field,.profile-actions{grid-template-columns:1fr}.profile-field p,.profile-field .text-action,.profile-actions>button,.profile-actions p{grid-column:1}.session-section,.section-heading-row{gap:20px;display:grid}.session-actions,.access-lists{grid-template-columns:1fr;width:100%}.invite-form>div,.copy-row>div{grid-template-columns:1fr;gap:8px}.invite-form input,.copy-row input{border-right:1px solid var(--line);border-radius:2px}}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none}body,h1,h2,p,ul{margin:0}body{min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}:root{--paper:#f3f6f2;--paper-deep:#e8ede8;--ink:#173329;--ink-muted:#5d6d66;--line:#c8d2cc;--progress:#2e7d4f;--progress-dark:#1f5c3a;--focus:#0b66c3;color:var(--ink);background:var(--paper);font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-weight:450;line-height:1.5}body{background:var(--paper)}button,a{min-height:44px}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell{width:min(100% - 40px,1180px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;min-height:80px;display:grid}.wordmark{letter-spacing:-.02em;align-items:center;width:fit-content;font-size:1.125rem;font-weight:700;display:inline-flex}.wordmark span{color:var(--progress)}.nav-list{gap:clamp(12px,2.8vw,40px);display:flex}.nav-list a{color:var(--ink-muted);align-items:center;font-size:.875rem;display:inline-flex}.nav-list li:first-child a,.nav-list a:hover{color:var(--ink)}.profile-control{border:1px solid var(--ink);width:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;justify-self:end;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}main{padding-block:clamp(48px,8vw,104px)}.page-intro{border-bottom:1px solid var(--ink);grid-template-columns:minmax(220px,1fr) minmax(280px,.75fr);align-items:end;gap:16px 48px;padding-bottom:40px;display:grid}.eyebrow{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:650}.page-intro .eyebrow{grid-column:1/-1}h1{letter-spacing:-.07em;font-size:clamp(2.75rem,7vw,6rem);font-weight:600;line-height:.92}.intro-copy{max-width:34rem;color:var(--ink-muted);font-size:clamp(1rem,2vw,1.2rem)}.empty-ledger{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) minmax(260px,.8fr) auto;align-items:center;gap:24px 48px;padding-block:32px;display:grid}.empty-ledger h2{letter-spacing:-.025em;margin-top:4px;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:600}.empty-ledger>p{color:var(--ink-muted)}.empty-ledger .primary-action{border:1px solid var(--ink);min-width:148px;color:var(--paper);background:var(--ink);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:0 20px;font-weight:650;display:inline-flex}.empty-ledger .primary-action:hover{background:var(--progress-dark)}@media (width<=780px){.app-shell{width:min(100% - 28px,680px)}.site-header{grid-template-columns:1fr auto;min-height:68px}.site-header nav{z-index:10;border-top:1px solid var(--line);background:color-mix(in srgb, var(--paper) 96%, transparent);order:3;position:fixed;bottom:0;left:0;right:0}.nav-list{justify-content:space-around;gap:0}.nav-list a{justify-content:center;min-width:0;padding-inline:8px;font-size:.76rem}main{padding-block:48px 104px}.page-intro,.empty-ledger{grid-template-columns:1fr}.empty-ledger{gap:16px}.empty-ledger .primary-action{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms}}
