:root{color-scheme:dark;--bg:#101114;--panel:#191b20;--line:#2b2d33;--text:#f2f2f4;--muted:#a4a7b1;--accent:#b29aff;--green:#8bceab;--amber:#e8bd80;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:1px solid #3c3f49;border-radius:9px;background:#24262d;color:var(--text);padding:10px 15px;font-size:.875rem;cursor:pointer;font-weight:550}button:hover{background:#32353f}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select,textarea{min-width:0;border:1px solid #3c3f49;background:#121418;color:var(--text);border-radius:8px;padding:10px 12px;font-size:.875rem}textarea{resize:vertical;width:100%}h1,h2,h3,p{margin:0}h1{font-size:2.55rem;letter-spacing:-1.4px;line-height:1.2;font-weight:650}h2{font-size:1.05rem;font-weight:600;line-height:1.4}h3{font-size:.95rem}p{margin-top:8px}.muted,.footnote{color:var(--muted)}.muted{font-size:.875rem}.footnote{font-size:.8rem;line-height:1.6;margin-top:20px}.eyebrow,.sidebar-label{font-size:.75rem;letter-spacing:1.8px;font-weight:600;color:var(--muted)}.eyebrow{margin-bottom:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;border-right:1px solid var(--line);padding:35px 22px;display:flex;flex-direction:column;background:#141519}.brand{display:flex;gap:12px;align-items:center;font-size:1.6rem;font-weight:650;letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:38px;height:43px;background:var(--accent);color:#151619;border-radius:10px;font-size:1.8rem}.brand-sub{display:block;font-size:.62rem;letter-spacing:1.25px;color:var(--muted);margin-top:0}.sidebar-label{margin:54px 12px 17px;font-size:.65rem}.sidebar nav{display:grid;gap:8px}.sidebar nav button{border:0;background:none;text-align:left;padding:12px 10px;font-weight:500;display:flex;align-items:center;gap:12px;color:#adb0ba}.sidebar nav button>span:first-child{font-size:1.3rem;line-height:1}.sidebar nav button.active{color:var(--accent);background:#b29aff14}.nav-count{font-size:.7rem;background:#292b32;color:var(--muted);border-radius:5px;padding:1px 5px;margin-left:auto}.sidebar-bottom{margin-top:auto;font-size:.8rem;color:var(--muted)}.profile{border-top:1px solid var(--line);padding-top:24px;margin-top:24px;display:flex;gap:12px;align-items:center;color:var(--text);font-size:.875rem}.profile small{display:block;color:var(--muted);font-size:.75rem}.avatar{border:1px solid #484046;background:#292126;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;color:#ccbaff}.workspace{margin-left:230px}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--muted);gap:16px}.slash{padding:0 14px;color:#555965}.save-status{font-size:.75rem;padding:7px 11px;border-color:#56412d;color:var(--amber);background:#211e1b}.save-status.saved{color:var(--green);border-color:#314a3c;background:#17221d}main{max-width:1600px;margin:auto;padding:38px}main:focus{outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading .muted{margin-top:12px}.primary{background:var(--accent);border-color:var(--accent);color:#171719;font-weight:650}.primary:hover{background:#c4b1ff}.page-heading .primary{padding:12px 18px}.primary span{margin-left:15px}.notice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border:1px solid #51402f;border-radius:10px;background:#211d19;margin-bottom:22px;font-size:.8rem;color:#c6b8a8}.notice strong{color:#f0d8bb;font-weight:550}.notice button{white-space:nowrap;background:none;border:0;color:#f0d8bb}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{border:1px solid var(--line);background:var(--panel);padding:21px 23px;border-radius:12px}.stat-label{color:var(--muted);font-size:.8rem}.stat-number{font-size:2.2rem;letter-spacing:-1px;margin-top:12px;line-height:1.2;font-variant-numeric:tabular-nums}.stat-number small{font-size:1rem;color:var(--muted);letter-spacing:0}.stat-note{font-size:.75rem;color:var(--muted);margin-top:9px}.stat.accent .stat-number{color:var(--accent)}.stat.green .stat-number{color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}.card{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.section-title p{font-size:.75rem}.section-title select{max-width:190px;font-size:.75rem}.specialty-row{display:grid;grid-template-columns:34px minmax(0,1fr) 54px;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);width:100%;background:none;border-radius:0;border-top:0;border-left:0;border-right:0;text-align:left;font-weight:400}.specialty-row:hover{background:#ffffff03}.specialty-initial{width:32px;height:32px;display:grid;place-items:center;background:var(--tint);color:var(--color);border-radius:9px;font-size:.75rem;font-weight:600}.specialty-info{min-width:0}.specialty-name{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;margin-bottom:9px}.specialty-name small{font-size:.75rem;color:var(--muted);white-space:nowrap}.progress{height:5px;background:#2a2d34;border-radius:4px;overflow:hidden}.progress span{display:block;height:100%;background:var(--color,var(--accent));border-radius:4px}.specialty-percent{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8rem}.right-column{display:grid;gap:22px}.text-button{border:0;background:none;color:var(--muted);padding:0;font-size:.8rem;white-space:nowrap}.text-button:hover{background:none;color:var(--text)}.weekly-card .section-title{margin-bottom:25px}.weekly-number{font-size:2.7rem;letter-spacing:-1px}.weekly-number small{font-size:1.3rem;color:var(--muted)}.weekly-card .progress{height:7px;margin-top:17px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:22px}.day{text-align:center;color:var(--muted);font-size:.7rem}.day span{display:grid;place-items:center;aspect-ratio:1;border-radius:7px;background:#24262d;margin-top:6px;border:1px solid transparent}.day.today span{border-color:#8e79c4;color:var(--accent)}.day.worked span{background:#2a4034;color:var(--green)}.empty{padding:26px 12px;text-align:center;color:var(--muted);font-size:.875rem}.empty-symbol{font-size:1.7rem;display:block;margin-bottom:10px;color:#727680}.note-card{border-left:2px solid var(--accent);padding:8px 20px}.note-card .eyebrow{font-size:.65rem;color:#b8a6e2;letter-spacing:1.3px}.note-card p{font-size:1.15rem;line-height:1.7;margin-bottom:12px}.tag{font-size:.8rem;border:1px solid var(--line);padding:8px 12px;border-radius:7px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap}.search-label{flex:1 1 250px}.search-label input{width:100%}.filters select{flex:1 1 145px;max-width:250px}.results-line{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin:22px 0 8px}.item-row{display:grid;grid-template-columns:52px minmax(0,1fr) 90px 80px 90px;align-items:center;gap:18px;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:none;width:100%;text-align:left;border-radius:0;font-weight:400}.item-row:hover{background:#ffffff04}.item-no{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--muted)}.item-title{font-size:.875rem;display:block;line-height:1.55}.item-meta{font-size:.75rem;color:var(--muted);display:block;margin-top:4px}.status{font-size:.7rem;border-radius:5px;padding:4px 7px;display:inline-block;text-align:center;white-space:nowrap;background:#2b2d34;color:#bcc0ca}.status.ongoing{background:#273340;color:#a7c1e4}.status.review{background:#422d2b;color:#f5b0a5}.status.done{background:#273c30;color:var(--green)}.mastery{letter-spacing:2px;font-size:.8rem;color:#4b4e59;white-space:nowrap}.mastery .filled{color:var(--accent)}.pass-count{font-size:.75rem;color:var(--muted);text-align:right}.mini-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 0;font-size:.8rem}.mini-item small{display:block;color:var(--muted);margin-top:5px}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.backup-grid+.card,.view>.card+.card{margin-top:24px}.backup-grid p{color:var(--muted);font-size:.875rem;line-height:1.8;margin-bottom:20px}.step{display:block;font-size:1.5rem;color:var(--accent);margin-bottom:20px;font-variant-numeric:tabular-nums}.backup-grid h2{font-size:1.15rem}hr{border:0;border-top:1px solid var(--line);margin:25px 0}ol{padding-left:22px;color:var(--muted);font-size:.875rem}li{padding:7px 0}.backup-grid button+button{margin-top:12px}footer{padding:24px 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;gap:20px}dialog{background:var(--panel);color:var(--text);border:1px solid #424550;border-radius:15px;padding:28px;max-width:660px;width:calc(100% - 32px);max-height:90dvh;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#050608ba;backdrop-filter:blur(4px)}dialog h2{font-size:1.3rem;line-height:1.55}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-head .eyebrow{margin:0;color:var(--accent)}.icon-button{background:none;border:0;padding:4px 8px;font-size:1.2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}label{font-size:.875rem;display:block}label select,label input,label textarea{display:block;width:100%;margin-top:7px}.passage-section{border-top:1px solid var(--line);padding-top:22px;margin-bottom:22px}.passage-add{display:flex;gap:12px;align-items:flex-end}.passage-add label{flex:1}.passage-chip{display:inline-flex;align-items:center;gap:10px;background:#282b33;padding:4px 9px;border-radius:6px;font-size:.8rem;margin:10px 8px 0 0}.passage-chip button{padding:0 3px;background:none;border:0}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:28px}.dialog-footer .muted{font-size:.75rem;flex:1}.dialog-footer .primary{white-space:nowrap}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:#f0f0f3;color:#18191c;padding:14px 22px;border-radius:10px;z-index:100;font-size:.875rem;box-shadow:0 8px 35px #0006}.skip{position:fixed;left:10px;top:-80px;z-index:200;background:var(--accent);color:black;padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.guide{max-width:850px;margin:auto;padding:50px 24px}.guide h1{margin-bottom:25px}.guide h2{font-size:1.35rem;margin:40px 0 15px}.guide h3{margin:25px 0 12px}.guide p,.guide li{color:#c6c8ce;line-height:1.85}.guide a{color:var(--accent);text-decoration:underline}.guide code{background:#262930;padding:2px 5px;border-radius:4px;font-size:.85em;overflow-wrap:anywhere}@media(min-width:1500px){main{padding:42px 55px}.topbar{padding-inline:55px}}@media(max-width:1100px){.sidebar{width:200px;padding-inline:16px}.workspace{margin-left:200px}main{padding:26px}.topbar{padding-inline:26px}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr);gap:18px}.card{padding:20px}.stats{gap:10px}.stat{padding:18px 16px}.section-title{align-items:flex-start;flex-wrap:wrap}.item-row{grid-template-columns:40px minmax(0,1fr) 85px;gap:12px}.item-row .mastery,.item-row .pass-count{display:none}}@media(max-width:800px){.sidebar{position:static;width:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-label,.sidebar-bottom{display:none}.brand{font-size:1.3rem}.brand-mark{width:31px;height:34px;font-size:1.4rem}.brand-sub{font-size:.58rem}.sidebar nav{display:flex;gap:4px;margin-top:20px;justify-content:space-between}.sidebar nav button{font-size:.8rem;padding:9px 8px;gap:6px}.sidebar nav button>span:first-child{display:none}.nav-count{display:none}.workspace{margin:0}.topbar{height:58px;padding:0 20px;font-size:.7rem}.topbar>span{display:none}.topbar{justify-content:flex-end}main{padding:25px 20px}.page-heading{align-items:flex-start}h1{font-size:2rem}.page-heading .primary{font-size:.8rem;padding:10px 12px}.page-heading .primary span{display:none}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.note-card{grid-column:1/-1}.backup-grid{grid-template-columns:1fr}.notice{align-items:flex-start;font-size:.8rem;padding:14px}.notice button{padding:0;white-space:normal}.stat-number{font-size:2rem}.filters select{max-width:none}.card{padding:18px}.item-row{gap:10px;grid-template-columns:30px minmax(0,1fr) 80px}footer{padding:22px 20px}footer span{display:none}}@media(max-width:450px){.sidebar nav button{font-size:.75rem;padding:8px 5px}.page-heading{flex-wrap:wrap}.page-heading .primary{margin-top:0}.right-column{grid-template-columns:1fr}.form-grid{gap:12px}.passage-add{align-items:stretch;flex-direction:column}.dialog-footer{flex-wrap:wrap}.dialog-footer .muted{flex-basis:100%}.item-row{grid-template-columns:27px minmax(0,1fr)}.item-row>.status{grid-column:2;justify-self:start}.item-row .item-title{font-size:.875rem}.weekly-card .section-title{flex-wrap:nowrap}.notice{flex-direction:column;gap:10px}.stat{padding:16px}.stat-label{font-size:.8rem}}
/* Work, review and time */
.work-strip{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border:1px solid var(--line);border-radius:14px;margin:20px 0 28px;background:var(--panel)}#work-totals{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px}#work-totals strong,.countdown-value{font-size:30px;font-weight:650;letter-spacing:-1px}#work-totals small{color:var(--muted)}.countdown-value{color:var(--accent);margin-top:18px}.insight{font-size:13px;line-height:1.65;border-top:1px solid var(--line);padding-top:14px}.segmented{display:flex;gap:6px;margin-bottom:22px}.segmented button.active{background:#b29aff22;border-color:var(--accent);color:var(--accent)}.error-card,.session-card,.review-item{border-top:1px solid var(--line)}.error-card summary,.session-card summary,.review-item summary{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:22px 0;cursor:pointer;list-style:none}.error-card summary:after,.session-card summary:after,.review-item summary:after{content:'＋';color:var(--muted)}details[open]>summary:after{content:'−'}.error-card summary>span:first-child,.session-card summary>span:first-child{flex:1;min-width:0}.error-card summary strong,.session-card summary strong{font-size:15px}.error-card summary small,.session-card summary small,.summary-text{display:block;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.5}.error-detail,.session-detail,.review-detail{padding:0 0 24px;font-size:14px;line-height:1.65}.review-actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.review-actions button{border-color:#b29aff55}.review-point{display:block;width:100%;text-align:left;margin:12px 0;padding:15px}.review-point span{display:block;font-size:13px;margin-top:6px;white-space:pre-wrap}.preserve,.note-excerpt{white-space:pre-wrap;overflow-wrap:anywhere}.session-duration{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}.picker{border:1px solid var(--line);padding:16px;border-radius:10px;margin:20px 0}.picker legend{font-size:12px;color:var(--muted);padding:0 6px}.picker-inputs{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.picker-inputs input,.picker-inputs select{min-width:0;width:100%}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.picker-results{max-height:220px;overflow:auto}.picker-results button{display:block;text-align:left;width:100%;margin-top:6px}.check-label{display:flex!important;align-items:center;gap:10px;margin:18px 0}.check-label input{width:18px!important;min-height:18px!important;height:18px;accent-color:var(--accent)}.chrono-start{display:flex;gap:14px;align-items:center;margin:20px 0}.chrono-start span{font-size:12px}.support-details{margin:18px 0;padding:14px;background:#ffffff03;border-radius:8px}.support-details summary{cursor:pointer;font-size:13px;margin-bottom:15px}.item-work{margin:24px 0;border-top:1px solid var(--line);padding-top:20px}.timer-bar{position:fixed;bottom:18px;left:calc(240px + 3vw);right:3vw;z-index:20;background:#23202e;border:1px solid #b29aff77;box-shadow:0 10px 50px #0009;border-radius:14px;padding:16px 22px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.timer-bar>div:first-child{flex:1}.timer-bar strong{display:block;margin-top:5px}.timer-value{font-size:25px;font-variant-numeric:tabular-nums}.timer-buttons{display:flex;gap:8px;align-items:center}.timer-bar .eyebrow{font-size:10px}.timer-bar p{width:100%;margin:0}.has-timer main{padding-bottom:150px!important}[hidden]{display:none!important}#session-dialog,#error-dialog{width:min(720px,calc(100% - 24px))}#error-form>label{margin:12px 0}.review-item summary>span:nth-child(2){flex:1} .review-item .item-no{flex:none}
@media(max-width:900px){.timer-bar{left:16px;right:16px;bottom:12px}.timer-buttons{flex-wrap:wrap}.timer-bar{gap:12px}.timer-buttons button{padding:9px 12px}.has-timer main{padding-bottom:230px!important}.work-strip{gap:16px;flex-wrap:wrap}.picker-inputs{grid-template-columns:1fr}.chrono-start{align-items:flex-start;flex-direction:column}.error-card summary{gap:8px}.error-card .tag{font-size:10px}.segmented button{padding:10px}}
.rotation-strip{margin:22px 38px 0;padding:16px 20px;border:1px solid #b29aff44;background:#b29aff09;border-radius:12px}.rotation-control{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.rotation-control label{color:var(--accent);font-size:13px;font-weight:650}.rotation-control select{max-width:100%;flex:1;min-width:180px}.rotation-strip details{margin-top:10px}.rotation-strip summary{cursor:pointer;font-size:13px;color:var(--muted)}.rotation-courses{font-size:13px;margin:15px 0}.rotation-books{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;font-size:13px;padding-left:18px;line-height:1.6}.rotation-strip .footnote{margin-top:12px}main{padding-top:30px!important}@media(max-width:700px){.rotation-strip{margin:16px 20px 0;padding:14px}.rotation-control{gap:8px}.rotation-control select{order:3;flex-basis:100%;font-size:12px}.rotation-books{grid-template-columns:1fr}}
.brand{gap:10px;align-items:center}.brand-name{font-size:20px;line-height:1.18;letter-spacing:-.6px;white-space:normal}.brand-mark{flex-shrink:0;width:32px;height:38px}.brand-sub{display:none}@media(max-width:900px){.brand-name{font-size:21px}}
.rotation-strip summary:after{content:none}

.brand .wave-mark{background:none;border-radius:0;width:40px;height:40px;object-fit:contain}

/* Keep the avatar circular independently of profile text length. */
.profile .avatar{flex:0 0 36px;min-width:36px;aspect-ratio:1;overflow:hidden}.profile>span:last-child{min-width:0}.profile small{overflow-wrap:anywhere}
.calendar-day-entry{display:block;width:100%;text-align:left;font-size:.7rem;padding:4px;margin-top:3px;border-left:3px solid var(--event-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-number{padding:2px 5px;border:0;background:none}.calendar-day{min-width:0}.timed-event.history-event{border-style:solid;opacity:.88}.calendar-agenda[hidden]{display:none}
