body:not(.account-ready)>:not(#account-gate):not(#public-intro):not(#public-landing):not(script){display:none!important}
#account-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg,#101114)}
#account-gate[hidden]{display:none!important}
.account-ready #account-gate{position:fixed;inset:0;z-index:1000;overflow:auto;background:#101114ed;align-items:start}
.account-card{width:min(100%,610px);margin:auto;background:var(--panel,#191a20);border:1px solid #ffffff18;border-radius:24px;padding:32px}
.account-card h1{font-size:clamp(15px,4.7vw,28px);line-height:1.25;letter-spacing:-.6px;white-space:nowrap;margin:16px 0 28px}.account-card h2{font-size:22px}.account-card form{display:grid;gap:16px}.account-card input,.account-card select,.account-card textarea{width:100%}.account-card .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.account-card .actions>*{flex:1}.account-card p{line-height:1.6}.account-card label{display:grid;gap:8px}.account-card hr{border:0;border-top:1px solid #ffffff20;margin:24px 0}.account-card small{display:block;color:var(--muted,#999);line-height:1.5}.account-card button{white-space:normal}.account-card code{display:block;overflow-wrap:anywhere;font-size:18px;padding:18px;background:#0004;border-radius:12px;user-select:all}.account-card [role=status]{color:#cebaff;white-space:pre-wrap}.account-row{padding:16px 0;border-bottom:1px solid #ffffff18;overflow-wrap:anywhere}.account-row button{margin-top:10px}.cloud-alert{margin:12px 0;padding:12px 16px;border:1px solid #b29aff66;border-radius:12px;color:#d3c4ff}.cloud-alert[hidden]{display:none}.account-link{width:100%;text-align:left;margin-top:16px}
@media(max-width:600px){.account-card{padding:23px;border-radius:18px}#account-gate{padding:14px}}

.topbar{gap:12px}.topbar .account-link{width:auto;margin:0;flex-shrink:0}

.account-logo{display:block;width:64px;height:64px}
.account-card{position:relative}.account-card .account-close{position:absolute;right:14px;top:12px;width:36px;height:36px;padding:0;display:grid;place-items:center;font-size:27px;background:transparent;border:0}.account-card .account-signout{display:block;margin:22px auto 0;min-width:180px;text-align:center;color:#ffb4b4;border-color:#a64a55;background:#46252d}.account-card .account-signout:hover{background:#65303b}.account-card .danger{color:#ffb4b4;border-color:#a64a55}
:root[data-theme=light]{color-scheme:light;--bg:#f6f5fa;--panel:#fff;--line:#dedbe7;--text:#242130;--muted:#625e70;--accent:#7043c2;--green:#267547;--amber:#895914}
[data-theme=light] button{background:#eeeaf5;border-color:#d1cadd;color:var(--text)}[data-theme=light] button:hover{background:#e1d9ee}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:#fff;border-color:#c9c3d3;color:var(--text)}[data-theme=light] .primary{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=light] .primary:hover{background:#6034ae}[data-theme=light] .sidebar{background:#eeebf4}[data-theme=light] .sidebar nav button{background:transparent;color:var(--muted)}[data-theme=light] .sidebar nav button.active,[data-theme=light] .segmented button.active{background:#e2d8f6;color:#6034ae}[data-theme=light] .account-ready #account-gate{background:#eeebf4ee}[data-theme=light] .account-card,[data-theme=light] .account-row{border-color:var(--line)}[data-theme=light] .account-card code{background:#efebf6}[data-theme=light] .account-card [role=status],[data-theme=light] .cloud-alert{color:#6034ae}[data-theme=light] .account-card .account-signout,[data-theme=light] .danger{background:#fce8e8;color:#a52032;border-color:#e4a0a8}[data-theme=light] .timer-bar{background:#f0e8ff}[data-theme=light] .progress,[data-theme=light] .day span,[data-theme=light] .nav-count{background:#ded9e8}[data-theme=light] .day.worked span,[data-theme=light] .save-status.saved{background:#e7f3e9;color:#267547}[data-theme=light] .notice,[data-theme=light] .save-status{background:#fff4df;color:#895914}[data-theme=light] .notice strong,[data-theme=light] .notice button{color:#895914}[data-theme=light] .avatar{background:#e5dcf6;color:#6034ae;border-color:#c8b8e2}
.note-images{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.note-images img{display:block;max-width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.note-images a,.note-images figure{margin:0;max-width:100%;width:220px}.note-images figure button{margin-top:6px}.image-editor{margin:20px 0}.image-editor small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.image-status{color:var(--accent)}
[data-theme=light] .status{background:#eeeaf5;color:#625e70}[data-theme=light] .status.ongoing{background:#e3edfc;color:#315a8c}[data-theme=light] .status.review{background:#fbe5e1;color:#943b2b}[data-theme=light] .status.done{background:#e4f2e7;color:#267547}[data-theme=light] .passage-chip{background:#eeeaf5}[data-theme=light] .guide p,[data-theme=light] .guide li{color:var(--muted)}[data-theme=light] .guide code{background:#eeeaf5}[data-theme=light] .note-card .eyebrow{color:var(--accent)}[data-theme=light] .specialty-row{background:transparent}[data-theme=light] .specialty-row:hover,[data-theme=light] .item-row:hover{background:#7043c209}
.note-images .image-preview{background:transparent;padding:0;border:0;width:220px;max-width:100%}#image-viewer{width:min(1100px,95vw);max-width:1100px}#image-viewer>button{display:block;margin:0 0 12px auto;font-size:24px}#image-viewer>img{display:block;width:100%;height:auto}
[data-theme=light] .specialty-initial{color:var(--accent);background:#efe7fa}
/* Item rows: explicit, readable metrics at every width. */
.item-row{padding:18px 12px;grid-template-columns:40px minmax(0,1fr) 110px 105px 150px;gap:16px;box-sizing:border-box}.item-description{min-width:0;overflow-wrap:anywhere}.item-row .pass-count{display:block;color:var(--text);font-size:14px;text-align:right;min-width:0}.pass-count strong{display:block;font-weight:650}.last-passage{display:block;font-size:12px;color:var(--muted);margin-top:4px;white-space:normal}.item-row .mastery{display:block;font-size:14px}.mastery-label{display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:4px}.item-row .status{font-size:12px;white-space:normal}.item-meta{font-size:13px}.item-title{font-size:15px}[data-theme=light] .item-row{background:var(--panel);border:0;border-bottom:1px solid var(--line);color:var(--text)}[data-theme=light] .item-row:hover{background:#f5f1fc}[data-theme=light] .item-row .mastery{color:#8a8395}[data-theme=light] .item-row .filled{color:#7043c2}.account-switch{display:block;margin:18px auto 0;min-height:44px;text-align:center}.verification-help{margin:20px 0}.verification-help summary{cursor:pointer;color:var(--accent);padding:10px 0}.verification-help form{margin-top:12px}.account-card{overflow-wrap:anywhere}.account-card .actions>button{min-height:44px}
@media(max-width:1200px){.item-row{grid-template-columns:34px minmax(0,1fr) 120px;gap:10px 14px}.item-row .item-no{grid-column:1;grid-row:1;align-self:start;padding-top:3px}.item-description{grid-column:2;grid-row:1}.item-row>.status{grid-column:3;grid-row:1;justify-self:end}.item-row .mastery{display:block;grid-column:2;grid-row:2}.item-row .pass-count{display:block;grid-column:3;grid-row:2}.item-row .last-passage{font-size:12px}}
@media(max-width:800px){.sidebar{padding:16px}.sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sidebar nav button{justify-content:center;text-align:center;min-height:44px;font-size:13px;padding:8px 4px;line-height:1.3}.topbar{height:auto;min-height:62px;padding:10px 16px;flex-wrap:wrap;justify-content:space-between}.topbar .save-status{font-size:12px;max-width:65%;white-space:normal}.topbar .account-link{min-height:44px}.rotation-strip{margin:16px 16px 0}main{padding:24px 16px!important}.page-heading h1{font-size:30px}.page-heading{gap:12px}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.filters .search-label{grid-column:1/-1}.filters select{width:100%;max-width:100%;font-size:14px}.card{padding:16px;min-width:0}.section-title{flex-wrap:wrap;gap:10px}.specialty-name{flex-wrap:wrap;gap:4px}.specialty-name small,.specialty-percent{font-size:13px}.specialty-row{grid-template-columns:32px minmax(0,1fr) 42px;gap:10px}.form-grid{grid-template-columns:1fr}.account-card input,.account-card select,.account-card textarea,dialog input,dialog select,dialog textarea{font-size:16px}dialog{padding:20px;max-height:92dvh}.dialog-footer button{min-height:44px}.account-card .actions{display:grid;grid-template-columns:1fr}.results-line{gap:12px;align-items:center}.results-line button{white-space:normal;text-align:right}}
@media(max-width:520px){.item-row{grid-template-columns:32px minmax(0,1fr);padding:18px 0;gap:10px}.item-description{grid-column:2;grid-row:1}.item-row>.status{grid-column:2;grid-row:2;justify-self:start}.item-row .mastery{grid-column:2;grid-row:3}.item-row .pass-count{grid-column:2;grid-row:4;text-align:left;border-left:3px solid var(--accent);padding-left:10px}.item-row .item-title{font-size:15px}.item-row .mastery-label{display:inline;margin-left:9px}.last-passage{font-size:13px!important}.account-card h1{white-space:normal;font-size:clamp(16px,4.7vw,23px);letter-spacing:-.5px}.weekly-card .section-title{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.timer-bar{max-height:42dvh;overflow:auto}.timer-buttons{gap:6px}.timer-buttons button{min-height:44px}.rotation-control select{font-size:14px}.item-row .status{font-size:13px}.sidebar .brand-name{font-size:21px}.specialty-name{font-size:14px}}
.college-references{display:grid;gap:4px;font-size:13px;line-height:1.5;margin-top:10px;color:var(--muted)}.college-references b{color:var(--text);font-weight:600;margin-right:6px}
.references-source{font-size:13px;color:var(--muted);margin-top:8px}.references-source a,.lisa-link{color:var(--accent);text-decoration:underline}.lisa-link{display:inline-block;font-size:14px;margin:10px 0 20px}.college-references{border-left:2px solid var(--line);padding-left:10px}.college-references>span{display:block}.college-references b{display:inline-block;min-width:65px}
/* Shared light surfaces and control states. */
[data-theme=light]{--bg:#f5f4fa;--panel:#fff;--line:#ddd7e9;--text:#282238;--muted:#655c75;--accent:#7544ca;--green:#24754d;--amber:#916119}
[data-theme=light] .card,[data-theme=light] .stat{box-shadow:0 3px 16px #30214d05}[data-theme=light] .stat.accent{background:#f4edff;border-color:#d9c6f7}[data-theme=light] .stat.green{background:#eef8f2;border-color:#c4e2d0}[data-theme=light] .rotation-strip{background:#f0e9fc;border-color:#d9c8f1}[data-theme=light] .sidebar{background:#eeebf6}[data-theme=light] .text-button,[data-theme=light] .icon-button{background:transparent;border-color:transparent;color:var(--accent)}[data-theme=light] .text-button:hover,[data-theme=light] .icon-button:hover{background:#eae2f6}[data-theme=light] .review-actions button{background:#f5f0fc;color:#6335b0;border-color:#d9c8ed}[data-theme=light] .review-actions [data-grade=good]{background:#e8f5ed;color:#236d46;border-color:#b8dcc6}[data-theme=light] .review-actions [data-grade=redo]{background:#fff1e5;color:#87541f;border-color:#ebd0b0}[data-theme=light] .mini-item{background:transparent;color:var(--text)}[data-theme=light] .mini-item:hover{background:#f4effb}[data-theme=light] button:disabled{opacity:.55}[data-theme=light] .account-card{box-shadow:0 16px 60px #3822520a}.session-errors{margin:20px 0;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--panel)}.session-errors>summary{font-weight:600;cursor:pointer;padding:4px 0}.session-error-draft{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:10px;min-width:0}.session-error-draft label{display:grid;gap:7px;margin:12px 0}.session-error-draft .section-title{margin-bottom:8px}.session-error-draft legend{font-weight:600}.session-error-draft textarea,.session-error-draft input,.session-error-draft select{width:100%}[data-theme=light] .session-error-draft{background:#faf7ff}
/* Constrain overlays to the viewport; scroll only their contents vertically. */
html:has(dialog[open]),html:has(.account-ready #account-gate:not([hidden])){overflow:hidden;overscroll-behavior:none}
body:has(dialog[open]),body.account-ready:has(#account-gate:not([hidden])){overflow:hidden;overscroll-behavior:none}
dialog,#account-gate{overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;overflow-wrap:anywhere}
dialog{position:fixed;inset:0;box-sizing:border-box;max-width:min(660px,calc(100vw - 24px));overflow-y:auto;-webkit-overflow-scrolling:touch}
dialog form,dialog fieldset,dialog .form-grid,dialog .dialog-footer,.account-card,.account-card form{min-width:0;max-width:100%}
dialog input,dialog select,dialog textarea{max-width:100%;min-width:0}
.account-ready #account-gate{min-height:0;height:100dvh;overflow-y:auto}.account-card{flex-shrink:1}
@media(max-width:800px){dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px;margin:auto}.dialog-footer,.passage-add{flex-wrap:wrap}.dialog-footer>*{min-width:0}.dialog-footer .primary{white-space:normal}.account-ready #account-gate{padding:12px}.account-card{padding:22px 18px}.account-card select{max-width:100%}#image-viewer{max-width:calc(100vw - 24px)}}
.portal .page-heading{align-items:flex-start}.portal-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.portal-tabs button[aria-selected=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.portal .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.portal .filters{margin-bottom:20px}.portal label{display:grid;gap:6px}.portal form{display:grid;gap:16px}.portal input,.portal select,.portal textarea{width:100%;max-width:100%}.portal .portal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center;overflow-wrap:anywhere}.portal small{display:block;color:var(--muted)}.portal .row-actions{display:flex;gap:8px;flex-wrap:wrap}.portal code{display:block;overflow-wrap:anywhere;padding:12px;background:var(--bg);border-radius:8px;user-select:all}.portal details>summary{cursor:pointer;color:var(--accent);padding:10px 0}.portal details form{margin:12px 0 24px}.portal .pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px}.portal .ticket-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.portal .ticket-message{padding:16px;margin:12px 0;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px}.portal .ticket-message small{margin-bottom:8px}.portal .portal-notice{color:var(--accent);white-space:pre-wrap;margin:12px 0}.portal .portal-empty{padding:32px 0;color:var(--muted)}.portal .support-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}.portal .support-head label{min-width:160px}.portal button{min-height:44px}.portal .ticket-open{background:none;border:0;padding:0;text-align:left;color:var(--accent);font-size:1rem}.portal .portal-total{color:var(--muted);margin:12px 0}.portal .portal-refresh{margin:10px 0}.portal .ticket-message p{margin:0}.portal [role=status]{overflow-wrap:anywhere}.portal .stats button{text-align:left;font-weight:400}.portal .stats button:hover{border-color:var(--accent)}
[data-theme=light] .portal-tabs button[aria-selected=true]{color:white}.portal .danger{color:#ffb4b4;border-color:#a64a55}[data-theme=light] .portal .danger{color:#a52032}
@media(max-width:800px){.portal .stats{grid-template-columns:1fr}.portal .stat{padding:14px 18px}.portal .stat-number{font-size:1.6rem;margin-top:4px}.portal .portal-row{grid-template-columns:1fr}.portal .row-actions button{flex:1}.portal .filters{grid-template-columns:1fr}.portal .filters .search-label{grid-column:auto}.portal-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.portal-tabs button{padding:10px 6px;font-size:13px}.portal .pagination{flex-wrap:wrap}.portal .page-heading{flex-wrap:wrap}}
.completion-item{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0;margin:16px 0}.completion-item legend{font-weight:650}.completion-item .form-grid{margin:12px 0}.completion-item label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center}.completion-item input[type=checkbox]{width:20px;flex:0 0 20px}.passage-add #add-passage{padding:15px 22px;min-height:48px}.passage-section{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.sidebar{overflow-y:auto}.sidebar-label{margin-top:28px}.sidebar nav{gap:4px}body:has(#view-admin:not([hidden])) .rotation-strip,body:has(#view-support:not([hidden])) .rotation-strip{display:none}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0}.calendar-header h2{text-transform:capitalize}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{text-align:center;font-size:12px;color:var(--muted);margin-bottom:10px}.calendar-day{height:85px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:var(--panel);font-weight:500;min-width:0}.calendar-day.outside{opacity:.45}.calendar-day.selected{outline:2px solid var(--accent);outline-offset:-2px}.calendar-day .today{background:var(--accent);color:var(--bg);padding:0 6px;border-radius:5px}.calendar-dots{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center}.calendar-dots i{width:7px;height:7px;border-radius:50%;display:inline-block}.calendar-agenda{margin-top:24px}.calendar-event{border:1px solid var(--line);border-left:4px solid var(--accent);padding:16px;border-radius:10px;margin:16px 0;display:flex;justify-content:space-between;gap:16px}.calendar-event .row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}#plan-form{display:grid;gap:16px}.calendar-event .text-button{color:var(--accent)}.calendar-event>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.calendar-day{height:62px;padding:6px 2px}.calendar-grid{gap:3px}.calendar-dots{gap:2px}.calendar-dots i{width:5px;height:5px}.calendar-header{flex-wrap:wrap}.calendar-header h2{font-size:15px}.calendar-header button{padding:8px 10px}.calendar-event{flex-direction:column}}
#view-library .portal-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}#view-library small{display:block;color:var(--muted)}.library-link{display:inline-block;padding:12px 18px;border:1px solid var(--line);border-radius:9px;color:var(--accent)}.library-upload{display:block;margin:20px 0}.library-upload input{max-width:100%;width:100%}#view-library .filters{margin:24px 0}#library-reader{margin-top:24px}#library-external{color:var(--accent)}@media(max-width:600px){#view-library .portal-row{align-items:flex-start;flex-direction:column}.library-upload input{font-size:14px}}
.nav-icon{width:22px;height:22px;flex:0 0 22px;display:block}.settings-tabs{display:flex;gap:10px;margin-bottom:24px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-grid .card{min-width:0}.settings-grid label,.settings-grid button{margin-top:16px}.settings-grid select{width:100%}.activity-tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.plan-items{min-width:0;border:1px solid var(--line);border-radius:10px;padding:14px}.plan-items summary{cursor:pointer;padding:8px 0;color:var(--accent)}#plan-item-options{max-height:260px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.plan-item-choice{display:flex;gap:12px;align-items:flex-start;padding:10px 2px;border-bottom:1px solid var(--line)}.plan-item-choice input{width:18px;flex:0 0 18px;margin:3px 0}.plan-item-choice span{min-width:0;overflow-wrap:anywhere}#plan-selected-items{margin-top:12px;max-height:140px;overflow-y:auto}#plan-item-search{width:100%;margin-bottom:10px}
@media(max-width:800px){.sidebar nav button:has(.nav-icon){gap:5px}.nav-icon{width:18px;height:18px;flex-basis:18px}.settings-grid{grid-template-columns:1fr}.sidebar nav button:has(.nav-icon){flex-direction:column}}
.topbar-actions{display:flex;gap:10px;align-items:center;margin-left:auto}.settings-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.settings-link .nav-icon{width:20px;height:20px;flex-basis:20px}.calendar-event .row-actions{max-width:380px}.calendar-event .row-actions button{white-space:normal}#question-details{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:10px}#question-details summary{cursor:pointer;font-weight:600;color:var(--accent)}#session-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media(max-width:520px){.topbar-actions{gap:6px}.settings-link>span{display:none}.settings-link{padding:10px}.topbar .save-status{max-width:45%}.topbar-actions .account-link{padding:10px}.calendar-event .row-actions{max-width:100%}}

/* Every account stage owns a viewport scroll area, including first registration. */
#account-gate,.account-ready #account-gate{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100vh;height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 16px;padding-bottom:max(24px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
#account-gate[hidden]{display:none}#account-gate .account-card{flex:0 0 auto;min-width:0;max-width:100%;margin:auto 0}#stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){#stats{grid-template-columns:1fr}}

.review-sections{margin-bottom:24px}.flashcard{padding:24px;margin:16px 0;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.flashcard-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.flashcard h3{font-size:1.15rem;line-height:1.5;overflow-wrap:anywhere}.flashcard-answer{margin:20px 0;padding:18px;border-radius:10px;background:var(--bg)}.flashcard .row-actions{display:flex;gap:16px;margin-top:18px}.flashcard .review-actions{display:flex;flex-wrap:wrap;gap:8px}.flashcard .review-actions button{flex:1;min-width:110px}.flashcard p{overflow-wrap:anywhere}.review-preferences{margin:18px 0;border:1px solid var(--line);padding:16px;border-radius:12px}.review-preferences form{display:grid;gap:12px}.review-preferences label{display:grid;gap:8px}

.overview-planning{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.overview-planning .card{min-width:0}.overview-planning h2{font-size:16px}.overview-number{font-size:30px;font-weight:650;margin:12px 0}.overview-next{font-size:18px;text-align:left;overflow-wrap:anywhere}
.review-sections{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:28px;background:var(--panel)}.review-sections button{border:0;border-radius:0;padding:22px 14px;background:transparent;display:grid;gap:7px;text-align:center}.review-sections button+button{border-left:1px solid var(--line)}.review-sections strong{font-size:20px}.review-sections small{font-weight:400;color:var(--muted)}.review-sections button.active{background:var(--accent-soft,#eee8fa);color:var(--accent);box-shadow:inset 0 -4px var(--accent)}[data-theme=dark] .review-sections button.active{background:#302741}.review-preferences h3{margin:0 0 12px}.event-title{border:0;padding:0;background:transparent;text-align:left;color:var(--text);font:inherit}.event-title:hover{color:var(--accent);text-decoration:underline}.activity-tags button{cursor:pointer}.activity-tags button:hover{border-color:var(--accent)}
.time-horizontal{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:12px}.time-head,.all-day,.hour-grid{display:grid;grid-template-columns:56px repeat(var(--days),minmax(0,1fr))}.time-head{background:var(--panel);border-bottom:1px solid var(--line)}.time-head strong{text-align:center;padding:12px 4px;font-size:12px}.all-day{border-bottom:1px solid var(--line);background:var(--bg)}.all-day>span{font-size:10px;padding:10px 3px;color:var(--muted)}.all-day>div{padding:4px;border-left:1px solid var(--line)}.general-event{display:block;width:100%;padding:6px;font-size:11px;text-align:left;white-space:normal;margin-bottom:4px;overflow-wrap:anywhere}.add-general{width:100%;padding:4px;background:transparent;color:var(--accent)}.hour-scroll{max-height:550px;overflow-y:auto;overscroll-behavior:contain}.hour-labels span{height:48px;display:block;font-size:11px;color:var(--muted);padding:4px}.hour-column{position:relative;border-left:1px solid var(--line);height:1152px}.hour-slot{display:block;width:100%;height:48px;border:0;border-top:1px solid var(--line);border-radius:0;padding:0;background:transparent}.hour-slot:hover{background:var(--accent-soft,#eee8fa)}.timed-event{position:absolute;z-index:1;padding:3px 5px;border-left:3px solid var(--accent);border-radius:5px;text-align:left;font-size:11px;overflow:hidden;background:var(--panel);box-shadow:0 1px 4px #0002}.timed-event strong,.timed-event span{display:block;overflow-wrap:anywhere}.timed-event.completed{opacity:.6}.hour-slot:focus-visible,.timed-event:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:800px){.overview-planning{grid-template-columns:1fr}.review-sections strong{font-size:16px}.review-sections button{padding:18px 8px}.review-sections small{font-size:12px}}

[data-theme=dark] .hour-slot:hover{background:#302741}
/* Color families distinguish progress, planning, training and reflection. */
:root{--ocean:#94d8ed;--ocean-bg:#182f39;--mint:#94dfbd;--mint-bg:#19332b;--sun:#f3cb85;--sun-bg:#382d1d;--rose:#f3abc5;--rose-bg:#392330;--iris:#c2adff;--iris-bg:#302741}
[data-theme=light]{--ocean:#12647d;--ocean-bg:#e2f3fa;--mint:#206744;--mint-bg:#e2f5e9;--sun:#84510c;--sun-bg:#fff1d3;--rose:#97365c;--rose-bg:#fce6ee;--iris:#6241b0;--iris-bg:#eee6ff}
#stats .stat:nth-child(1){background:var(--mint-bg);border-color:var(--mint);color:var(--mint)}#stats .stat:nth-child(2){background:var(--ocean-bg);border-color:var(--ocean);color:var(--ocean)}#stats .stat:nth-child(3){background:var(--sun-bg);border-color:var(--sun);color:var(--sun)}#stats .stat-label,#stats .stat-number{color:inherit}
.overview-planning .card:nth-child(1){background:var(--ocean-bg);border-top:4px solid var(--ocean)}.overview-planning .card:nth-child(2){background:var(--rose-bg);border-top:4px solid var(--rose)}.overview-planning .card:nth-child(3){background:var(--mint-bg);border-top:4px solid var(--mint)}.overview-planning .card:nth-child(1) h2,.overview-next{color:var(--ocean)}.overview-planning .card:nth-child(2) h2{color:var(--rose)}.overview-planning .card:nth-child(3) h2{color:var(--mint)}.weekly-card{background:var(--sun-bg);border-top:4px solid var(--sun)}.countdown-card{background:var(--iris-bg);border-top:4px solid var(--iris)}#analysis-card{border-top:4px solid var(--ocean)}.work-strip{background:var(--mint-bg);border-color:var(--mint)}
.sidebar nav [data-view=overview]{--nav-color:var(--iris);--nav-bg:var(--iris-bg)}.sidebar nav [data-view=items]{--nav-color:var(--ocean);--nav-bg:var(--ocean-bg)}.sidebar nav [data-view=weak]{--nav-color:var(--sun);--nav-bg:var(--sun-bg)}.sidebar nav [data-view=errors]{--nav-color:var(--rose);--nav-bg:var(--rose-bg)}.sidebar nav [data-view=sessions]{--nav-color:var(--mint);--nav-bg:var(--mint-bg)}.sidebar nav [data-view=calendar]{--nav-color:var(--ocean);--nav-bg:var(--ocean-bg)}.sidebar nav button .nav-icon{color:var(--nav-color,var(--accent))}.sidebar nav button.active{background:var(--nav-bg,var(--iris-bg));color:var(--nav-color,var(--accent))}
.status.ongoing{background:var(--ocean-bg);color:var(--ocean)}.status.review{background:var(--sun-bg);color:var(--sun)}.status.done{background:var(--mint-bg);color:var(--mint)}.completion-item{border:1px solid var(--ocean);border-left:4px solid var(--ocean);border-radius:14px;background:var(--ocean-bg)}.completion-item legend{color:var(--ocean);font-weight:700}.completion-item .passage-action{width:100%;margin-top:18px;background:var(--mint-bg);color:var(--mint);border-color:var(--mint);padding:14px}.completion-item .passage-action[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--mint)}.completion-item details{margin-top:16px}
.flashcard{border-top:4px solid var(--rose)}.flashcard-head .eyebrow{color:var(--rose)}.flashcard-answer{background:var(--iris-bg)}.review-sections button:first-child.active{background:var(--ocean-bg);color:var(--ocean);box-shadow:inset 0 -4px var(--ocean)}.review-sections button:last-child.active{background:var(--rose-bg);color:var(--rose);box-shadow:inset 0 -4px var(--rose)}.review-actions button:nth-child(1){background:var(--rose-bg);color:var(--rose);border-color:var(--rose)}.review-actions button:nth-child(2){background:var(--sun-bg);color:var(--sun);border-color:var(--sun)}.review-actions button:nth-child(3){background:var(--ocean-bg);color:var(--ocean);border-color:var(--ocean)}.review-actions button:nth-child(4){background:var(--mint-bg);color:var(--mint);border-color:var(--mint)}
.settings-grid .card:nth-child(4n+1){border-top:4px solid var(--iris)}.settings-grid .card:nth-child(4n+2){border-top:4px solid var(--ocean)}.settings-grid .card:nth-child(4n+3){border-top:4px solid var(--rose)}.settings-grid .card:nth-child(4n){border-top:4px solid var(--sun)}.timed-event{background:var(--ocean-bg);color:var(--ocean)}.general-event{background:var(--iris-bg);color:var(--iris)}
#widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;margin:22px 0;align-items:start}.home-widget{min-width:0;grid-column:span 4}.home-widget[data-size=large]{grid-column:span 8}.home-widget[data-size=wide]{grid-column:span 12}.home-widget .card,.home-widget .work-strip{margin:0;height:100%}.home-widget #stats{margin:0}.home-widget #stats .stat{min-width:0}.home-widget[data-widget=next] .card{background:var(--ocean-bg)}.home-widget[data-widget=due] .card{background:var(--rose-bg)}.home-widget[data-widget=weekTime] .card{background:var(--mint-bg)}.widget-tools{padding:10px;background:var(--iris-bg);border-radius:10px 10px 0 0;display:grid;gap:8px}.widget-tools>div{display:flex;gap:4px;flex-wrap:wrap}.widget-tools select{min-width:0;max-width:100%}.widget-handle{cursor:grab;font-size:13px;font-weight:650}.editing .home-widget{outline:2px dashed var(--accent);outline-offset:3px;border-radius:10px}.editing .widget-disabled{opacity:.5}#widget-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}#widget-gallery label{display:flex;gap:8px;align-items:center}#widget-editor .row-actions{display:flex;flex-wrap:wrap;gap:10px}.recent-session{display:grid;width:100%;text-align:left;margin-top:10px;overflow-wrap:anywhere}.recent-session small{color:var(--muted)}.home-widget progress{width:100%;accent-color:var(--mint)}.personal-settings{grid-column:1/-1}.personal-settings form{display:grid;gap:16px;margin-top:20px}.personal-settings h3{margin-top:18px}.personal-settings label{display:grid;gap:8px}.personal-settings input[type=color]{width:100%;height:46px}.personal-settings .row-actions{display:flex;gap:10px;flex-wrap:wrap}#focus-reminder{flex-basis:100%;padding:12px;background:var(--sun-bg);color:var(--sun);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.timer-bar{flex-wrap:wrap}[data-density=compact] .card{padding:16px}[data-density=compact] .specialty-row,[data-density=compact] .item-row{padding-top:10px;padding-bottom:10px}[data-text-size=large]{font-size:18px}[data-text-size=larger]{font-size:20px}
@media(max-width:800px){#widget-grid{grid-template-columns:1fr}.home-widget,.home-widget[data-size=large],.home-widget[data-size=wide]{grid-column:1}.widget-tools>div{flex-wrap:wrap}#widget-editor{scroll-margin-top:12px}}
/* A restrained home: neutral surfaces, a single primary accent. */
#view-overview .card,#view-overview .work-strip,#view-overview #stats .stat{background:var(--panel);border:1px solid var(--line);color:var(--text)}#view-overview .card h2,#view-overview #stats .stat-label{color:var(--text)}#view-overview #stats .stat-number{color:var(--text)}#view-overview #stats .stat:first-child .stat-number,#view-overview .overview-next{color:var(--accent)}#view-overview .countdown-card{border-top:2px solid var(--accent)}#view-overview .overview-number{color:var(--text)}

@media(min-width:801px){#widget-grid{grid-auto-rows:8px}.home-widget{align-self:start}}@media(max-width:800px){.home-widget{grid-row:auto!important}}.widget-handle{touch-action:none;user-select:none}.widget-moving{opacity:.6}
#widget-gallery input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0}.personal-settings input[type=checkbox]{width:18px;height:18px}.personal-settings .check-label{display:flex;align-items:center}
.widget-drag-ghost{position:fixed;z-index:3000;pointer-events:none;max-height:240px;overflow:hidden;border:2px solid var(--accent);border-radius:12px;background:var(--panel);box-shadow:0 18px 40px #0004;opacity:.95;transform:rotate(1deg)}.widget-drag-ghost .widget-content{pointer-events:none}.editing .widget-moving{opacity:.2;outline:3px dashed var(--accent)}.is-dragging{cursor:grabbing}.widget-handle{padding:8px;min-height:40px;display:block}.widget-tools [data-widget-remove]{margin-left:auto;color:var(--muted)}.settings-compact{display:block!important;max-width:850px;margin:0 auto}.settings-compact>.personal-settings{padding:22px;border:1px solid var(--line)}.settings-group{border-bottom:1px solid var(--line);margin:0}.settings-group>summary{font-weight:600;cursor:pointer;padding:16px 2px;list-style-position:inside}.settings-group-body{padding:0 0 18px;display:grid;gap:14px}.settings-group-body>label{max-width:100%}.settings-group .review-preferences{margin:0;border:0;padding:0}.settings-group .review-preferences h3{display:none}.personal-settings #personal-form{gap:0}.settings-save{margin:16px 0}.settings-inline-action{display:flex}.settings-compact .personal-settings>h2{margin-bottom:14px}.settings-compact #subject-color-form{margin-top:0}.settings-compact .form-grid{align-items:start}#widget-gallery{margin-bottom:14px}
@media(max-width:600px){.settings-compact>.personal-settings{padding:14px}.widget-drag-ghost{max-height:180px}}

/* Public tour and one-time access offer. */
.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin-bottom:24px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:16px;background:var(--panel)}
.preview-banner strong{font-size:18px}.preview-banner p{margin:8px 0;color:var(--muted);line-height:1.5}.preview-banner small{color:var(--muted)}.preview-banner button{flex-shrink:0}
.access-offer{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}.access-offer h3{margin-top:0}.access-offer .offer-price{font-size:24px;font-weight:700;color:var(--accent);margin:12px 0}.access-offer button{width:100%;margin:16px 0 8px}.access-offer a{color:var(--accent)}.access-offer .check-label{display:flex;flex-wrap:wrap;gap:6px;font-size:13px}.access-offer input[type=checkbox]{width:auto}.access-divider{text-align:center;color:var(--muted);padding-top:8px}.access-offer button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:700px){.preview-banner{flex-direction:column;align-items:stretch;padding:16px}.public-preview .topbar{flex-wrap:wrap}.public-preview .topbar-actions{width:100%;display:flex}.public-preview .topbar-actions button{flex:1}.access-offer{padding:14px}}

.calendar-grid .calendar-day{height:auto;min-height:85px;justify-content:flex-start;gap:3px;border:1px solid var(--line);border-radius:8px}.calendar-day-entry{flex-shrink:0;min-height:26px}.calendar-grid .calendar-dots{display:none}@media(max-width:600px){.calendar-grid .calendar-day{min-height:62px}.calendar-day-entry{font-size:10px;padding:4px 2px}}

.account-error,#account-message.account-error{color:#b42318;font-weight:650}.terms-invalid{border:2px solid #b42318!important;border-radius:8px;padding:10px;background:#fff0ee;color:#8e2018}.locked-profile{padding:20px;border-radius:16px;background:#f1edfa;margin:20px 0}.locked-profile span{color:#6841ba;font-weight:600}

.account-card .actions{align-items:stretch}.account-card .actions>button{align-self:stretch;min-height:48px;margin-top:0;margin-bottom:0;display:flex;align-items:center;justify-content:center}.account-card .actions>.account-signout{margin:0;align-self:stretch}

.account-card .actions>button{min-width:0;flex:1 1 0;padding:12px 16px}.account-card .actions>.account-signout{min-width:0}

.account-card [data-account-action="signout"]{color:#b42345!important;background:#fbeaf0!important;border:1px solid #eaa3b5!important}.account-card [data-account-action="signout"]:hover{background:#f7dce5!important}
.unlock-offers{display:grid;grid-template-columns:1fr 1fr;gap:14px}.unlock-offers .access-offer{display:flex;flex-direction:column}.unlock-offers .access-offer>button{margin-top:auto}.unlock-offers .offer-selected{border:2px solid #7544ca;box-shadow:0 0 0 3px #7544ca16}.unlock-offers~.check-label{padding:10px;font-size:14px}@media(max-width:650px){.unlock-offers{grid-template-columns:1fr}}

.unlock-offers .access-offer{border-width:2px}.unlock-offers [data-offer=monthly]{background:#f8f8fb;color:#292536}.unlock-offers [data-offer=annual]{background:linear-gradient(135deg,#f0e8ff,#ddc9ff);color:#292536;border-color:#8b60d6}.unlock-offers .offer-price{font-size:30px;line-height:1.25;margin:12px 0 18px}.unlock-offers .offer-price span{font-size:17px;white-space:nowrap}.unlock-offers [data-offer=monthly] .offer-price{color:#292536}.unlock-offers h3{font-size:17px;min-height:42px;margin-bottom:0}.unlock-offers .offer-discount{font-size:13px;color:#6536b5;margin:0 0 12px}.unlock-offers .muted{color:#686075}.account-card .check-label>span{display:inline;line-height:1.5}.account-card .check-label a{color:#1766c2;text-decoration:underline}.account-card .check-label input{flex:0 0 18px}
