:root{--bg: #faf8f5;--surface: #fffefb;--surface-alt: #f4f0f5;--text: #433b4b;--muted: #706677;--line: #e9e3e9;--primary: #7b668f;--primary-hover: #665276;--lavender: #eee7f3;--pink: #f6e9e8;--sage: #e9efe6;--shadow: 0 5px 24px #54405e07;--space: 24px;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;font-weight:400;line-height:1.5;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:8px 13px;transition:background .15s,box-shadow .15s;line-height:1.45}button:hover{background:var(--surface-alt);border-color:#c9bdcf}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a08ab4;outline-offset:3px}a{color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;gap:5px}input,select,textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--text);min-width:0}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin:0}input[type=color]{width:70px;height:40px;padding:4px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}textarea{resize:vertical}h1,h2,h3,p{margin:0}h1{font-family:Georgia,Times New Roman,serif;font-size:35px;line-height:1.23;font-weight:400;letter-spacing:-1px}h2{font-size:18px;font-weight:550;display:flex;align-items:center;gap:9px}h3{font-size:16px;font-weight:550}p{margin:8px 0 12px}small{font-size:11px;line-height:1.5}em{font-size:18px;font-style:normal;font-weight:400}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:600;margin:0 0 11px}.primary{background:var(--primary);border-color:var(--primary);color:#fff}.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.icon{width:33px;height:33px;padding:6px;border:0;background:transparent;flex-shrink:0}.plain{padding:0;border:0;background:none}.link,.text-button{border:0;background:none;color:var(--primary);padding:3px 0;text-align:left;justify-content:flex-start}.link:hover,.text-button:hover{text-decoration:underline;background:none}.danger{color:#a35161}.pill{font-size:10px;display:inline-flex;padding:4px 9px;background:var(--surface-alt);border-radius:20px;color:var(--muted);white-space:nowrap;font-weight:450}.dot{height:10px;width:10px;border-radius:50%;display:inline-block;flex-shrink:0;border:1px solid #62546c25}.tiny-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9bac96;flex-shrink:0}.app{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.sidebar{padding:33px 19px 15px;background:#f3eef3;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:35px;color:var(--primary);letter-spacing:-1px;padding:0 10px}.brand small{font-family:Inter,Segoe UI,sans-serif;display:block;font-size:8px;letter-spacing:1.6px;color:var(--muted);margin-top:-3px}.sidebar-year{margin:32px 9px 25px}.sidebar-year small{font-size:8px;letter-spacing:1.4px}.sidebar-year select{font-size:12px;margin-top:5px;background:transparent;border:0;padding:3px 0;font-weight:550}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{border:0;background:transparent;justify-content:flex-start;padding:11px 12px;font-size:12px;color:#6e6278;gap:12px;white-space:normal;text-align:left;border-radius:9px;min-height:42px}.sidebar nav button.active{background:#e6ddeb;color:#6a527f;font-weight:600}.sidebar nav button:hover{background:#ebe4ee}.sidebar nav button b{margin-left:auto;font-size:10px;background:#ded2e6;border-radius:4px;padding:0 5px}.sidebar-bottom{margin-top:auto}.botanical{text-align:center;color:#74617f;padding:18px 0}.botanical p{font-family:Georgia,serif;font-style:italic;font-size:14px}.local-mode{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px;padding:0 10px}.collapse-button{border:0;background:none;font-size:10px;color:var(--muted);width:100%;justify-content:flex-start;padding:10px}.collapsed{grid-template-columns:76px minmax(0,1fr)}.collapsed .sidebar{padding:30px 12px 14px}.collapsed .brand{padding:0 10px}.collapsed .brand span,.collapsed .sidebar-year,.collapsed .sidebar nav span,.collapsed .sidebar nav b,.collapsed .sidebar-bottom span,.collapsed .botanical{display:none}.collapsed .sidebar nav{margin-top:55px}.collapsed .sidebar nav button{padding:12px;justify-content:center}.collapsed .local-mode{justify-content:center}.topbar{height:66px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 35px;gap:15px;background:var(--surface)}.breadcrumbs{display:flex;gap:14px;color:var(--muted);font-size:11px}.breadcrumbs b{color:var(--text);font-weight:450}.topbar-right{display:flex;align-items:center;gap:20px}.topbar-right>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.avatar{border-radius:50%;width:29px;height:29px;background:#eadfe8;color:#795e78;padding:0;font-family:Georgia,serif}.main-shell{min-width:0}main{padding:33px 34px 18px;min-height:calc(100vh - 117px);max-width:1900px;margin:auto}.page-fieldset{border:0;padding:0;margin:0;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading h1{margin-bottom:9px}.page-heading p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.heading-flower{font-family:Georgia,serif;color:#bbaa92;margin-left:20px;font-size:29px;vertical-align:middle}.page-heading>.primary{font-size:11px;padding:10px 14px}.calendar-toolbar,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.calendar-toolbar{padding:15px 0 18px;border-top:1px solid var(--line)}.date-navigation{display:flex;align-items:center;gap:5px}.date-navigation h2{font-family:Georgia,serif;font-weight:400;font-size:21px;margin:0 13px 0 7px}.date-navigation>button:not(.icon){font-size:10px;padding:6px 10px}.date-navigation input{width:117px;font-size:10px;padding:6px;margin-left:5px}.toolbar-actions{display:flex;align-items:center;gap:8px}.segmented{display:inline-flex;background:#f0ebf1;border:1px solid var(--line);padding:3px;border-radius:9px}.segmented button{border:0;font-size:11px;padding:6px 13px;background:transparent;border-radius:6px;color:var(--muted)}.segmented .selected{background:var(--surface);color:var(--primary);box-shadow:0 1px 5px #44344e10}.calendar-filters{display:flex;align-items:center;gap:12px;margin-bottom:15px}.calendar-filters select{width:140px;font-size:10px;border:0;background:transparent;padding:3px 5px}.calendar-filters>span{display:flex;align-items:center;gap:5px;font-size:9px;margin-left:auto}.calendar-filters .check{font-size:10px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:20px}.calendar-layout.no-panel{grid-template-columns:minmax(0,1fr)}.calendar-export{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;position:relative;box-shadow:var(--shadow);align-self:start;min-width:0}.export-caption{padding:10px 15px;font-size:11px;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--line)}.calendar-day-headers{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));height:79px;border-bottom:1px solid var(--line)}.timezone-label{font-size:8px;color:var(--muted);align-self:center;text-align:center}.day-header{flex-direction:column;gap:3px;border:0;border-left:1px solid var(--line);border-radius:0;padding:11px 1px;background:transparent;position:relative}.day-header span{font-size:8px;letter-spacing:1px;color:var(--muted)}.day-header b{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.3}.day-header.today{background:#f4eff7}.day-header.today b{background:#9a84ac;color:#fff;border-radius:50%;width:33px;height:33px;display:flex;align-items:center;justify-content:center;font-size:21px}.timeline{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));position:relative;height:577px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cfc5d4 transparent;scroll-padding:100px}.time-labels>div{height:48px;font-size:8px;text-align:center;color:var(--muted);padding-top:3px;border-top:1px solid var(--line)}.timeline-day{position:relative;min-width:0;height:1152px;border-left:1px solid var(--line);background:linear-gradient(to bottom,transparent 23px,#e9e3e940 24px,transparent 25px);background-size:100% 48px}.hour-slot{display:block;height:48px;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:0}.hour-slot:hover{background:#b8a2cd12}.event-block{position:absolute;left:4px;right:4px;border:1px solid #7e6b9414;border-left:2px solid #9a84ab;border-radius:6px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:5px 6px;overflow:auto;gap:1px;color:#534658;z-index:2;box-shadow:0 1px 3px #62546b05;min-height:32px;scrollbar-width:none}.event-block:hover{filter:brightness(.98)}.event-block small{font-size:8px;line-height:1.35}.event-block strong{font-size:10px;font-weight:550;line-height:1.3;overflow-wrap:anywhere}.event-block>span{font-size:8px}.completed{opacity:.65}.completed strong{text-decoration:line-through}.goals-heading{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f9f6fa;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.goals-heading span:first-child{font-size:8px;letter-spacing:1.2px;font-weight:600;color:#776181}.goals-heading span:last-child{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--muted)}.goal-grid{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));min-height:127px}.goal-icon{display:flex;align-items:flex-start;justify-content:center;padding-top:14px;color:#a48cb4}.goal-day{border-left:1px solid var(--line);padding:9px 5px;min-width:0}.goal-card{width:100%;padding:5px 2px;display:flex;align-items:flex-start;justify-content:flex-start;gap:4px;text-align:left;border:0;background:transparent;min-width:0}.goal-card strong{font-size:9px;font-weight:500;line-height:1.4;display:block;overflow-wrap:anywhere}.goal-card small{font-size:8px;color:var(--muted);display:block;margin-top:3px}.goal-check{color:#9b88a8;font-size:12px}.add-goal{font-size:8px;border:0;background:transparent;color:#716477;padding:7px 1px;gap:3px;white-space:nowrap}.calendar-empty-note{font-size:11px;color:var(--muted);background:var(--surface-alt);padding:12px 15px;display:flex;align-items:center;gap:10px}.calendar-footer{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:9px;color:var(--muted)}.calendar-footer span{display:flex;align-items:center;gap:5px}.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 16px;margin-bottom:17px;box-shadow:var(--shadow)}.panel-card .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:5px}.panel-card h3{font-family:Georgia,serif;font-size:19px;font-weight:400;display:flex;align-items:center;gap:9px}.panel-card>p.muted{font-size:11px;line-height:1.8;margin-top:16px}.panel-card .text-button{font-size:10px;margin-top:10px}.exam-summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;width:100%;border:0;background:transparent;padding:12px 0;border-bottom:1px solid var(--line);border-radius:0;gap:3px}.exam-summary strong{font-size:11px;font-weight:500}.exam-summary small{font-size:9px;color:var(--muted)}.exam-date{font-size:9px;color:#825361;background:#f4e7e9;padding:2px 7px;border-radius:5px}.inbox-mini{width:100%;font-size:11px;align-items:flex-start;flex-direction:column;background:#faf7fb;margin:5px 0;gap:2px;padding:9px}.inbox-mini small{color:var(--muted);font-size:9px;padding-left:12px}.gentle-note{text-align:center;padding:15px 5px;color:#78685f}.gentle-note>span{font-size:32px;color:#c5b2a2}.gentle-note p{font-family:Georgia,serif;font-size:17px;font-style:italic;line-height:1.6}.gentle-note small{font-size:9px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekday{padding:12px 5px;text-align:center;color:var(--muted);font-size:10px}.month-cell{min-height:125px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:6px;min-width:0}.month-cell.today{background:var(--lavender)}.day-number{border:0;padding:4px 7px;background:transparent;font-family:Georgia,serif}.month-event{font-size:9px;color:#514559;display:block;text-align:left;padding:3px 5px;width:100%;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px}.month-cell .plain{font-size:9px}.single-day .calendar-day-headers,.single-day .timeline,.single-day .goal-grid{grid-template-columns:60px minmax(0,1fr)}.single-day .event-block{max-width:calc(100% - 12px);font-size:14px}.single-day .event-block strong{font-size:14px}.single-day .event-block small{font-size:11px}.single-day .goal-card strong{font-size:13px}.single-day .goal-card small,.single-day .add-goal{font-size:11px}.app-footer{display:flex;align-items:center;gap:6px;padding:13px 35px 20px;color:#746a7b;font-size:9px}.app-footer button{margin-left:auto;padding:0;border:0;font-size:9px;background:transparent;color:var(--muted)}.toolbar{justify-content:flex-start;margin:0 0 20px}.toolbar input{max-width:340px}.toolbar select{max-width:220px}.search{max-width:500px;margin-bottom:18px}.check{display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0}.card,.course-card{border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow);padding:var(--space);margin-bottom:20px}.card h2{margin-bottom:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}.section-heading h2{margin:0}.course-card{padding:0;overflow:hidden}.course-card>header{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#faf7fb}.course-card header>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.course-card>header h2{font-size:16px}.course-card>header button{font-size:11px}.course-card>.notice{margin:10px 20px}.subject-block{border-top:1px solid var(--line)}.subject-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px}.subject-heading>.plain{font-weight:550;font-size:13px}.subject-heading>div{display:flex;align-items:center;gap:6px}.subject-heading>div>button:not(.icon){font-size:10px}.table-scroll,.syllabus-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:9px;letter-spacing:.7px;font-weight:550;color:var(--muted);padding:12px 15px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 15px;border-bottom:1px solid var(--line);font-size:12px}td small{display:block;color:var(--muted);font-size:10px}td select{font-size:11px;min-width:110px;padding:6px}.syllabus td:first-child{min-width:190px}.syllabus td .link{font-weight:500}.syllabus td:nth-child(3){min-width:140px}.row-actions{display:flex;gap:4px}.row-actions button:not(.icon){font-size:10px;padding:4px 6px}.row-actions .icon{width:25px}.inline-empty{padding:10px 25px 20px;color:var(--muted);font-size:12px}.topic-row{background:var(--bg)}.topic-row td:first-child{padding-left:30px}.topic-row td{font-size:11px}progress{width:100%;height:5px;appearance:none;border:0;background:var(--lavender);border-radius:5px;display:block;margin:7px 0}progress::-webkit-progress-bar{background:var(--lavender);border-radius:5px}progress::-webkit-progress-value{background:#b39bc4;border-radius:5px}progress::-moz-progress-bar{background:#b39bc4;border-radius:5px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat-card{border:1px solid var(--line);background:var(--lavender);border-radius:13px;padding:22px}.stat-card small{color:var(--muted);font-size:11px}.stat-card strong{font-family:Georgia,serif;font-weight:400;font-size:38px;display:block;margin:9px 0}.stat-card>span{font-size:11px;color:var(--muted)}.stat-card p{font-family:Georgia,serif;font-size:18px;line-height:1.7}.soft-pink{background:var(--pink)}.soft-sage{background:var(--sage)}.grade-card table input{min-width:95px;max-width:125px;font-size:12px}.grade-summary{display:flex;gap:25px;flex-wrap:wrap;margin-top:20px;font-size:12px}.target-result{font-family:Georgia,serif;font-size:25px;color:var(--primary);margin:20px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0 17px;font-size:12px}.field>span,.field>label{font-weight:550}.field small{color:var(--muted);font-size:10px}.field>input,.field>select,.field>textarea{font-size:13px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.form-utilities{display:flex;align-items:center;gap:9px;margin-top:15px;flex-wrap:wrap}.form-utilities button{font-size:11px}.notice,.success-note{border:1px solid #e4d7be;background:#fbf5e8;color:#836b44;padding:12px 15px;border-radius:9px;font-size:12px;line-height:1.7;margin:16px 0}.success-note{background:var(--sage);color:#52614e;border-color:#dbe5d7}.overlay{position:fixed;inset:0;z-index:100;background:#392c4555;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadein .15s ease}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:26px;width:min(540px,calc(100vw - 28px));max-height:90dvh;overflow-y:auto;z-index:101;box-shadow:0 30px 90px #2e20363b;animation:fadein .15s ease}.modal.wide{width:min(1080px,calc(100vw - 35px))}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-header h2{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.3}.modal-header .icon{margin-top:-4px;margin-right:-7px}.modal .modal{z-index:105}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);padding:12px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 8px 35px #3d294521;display:flex;align-items:center;gap:9px;z-index:120;font-size:12px;max-width:90vw}.empty{text-align:center;padding:58px 25px;margin:18px 0;border:1px dashed #dcd0e2;border-radius:14px;background:var(--surface)}.empty-flower{background:var(--lavender);color:#a38cb3;display:inline-flex;padding:15px;border-radius:50%;margin-bottom:16px}.empty h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.empty p{color:var(--muted);font-size:12px;max-width:430px;margin:12px auto 22px;line-height:1.8}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:25px}.tabs button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;color:var(--muted);padding:9px 4px 13px;font-size:12px}.tabs button.active{border-bottom-color:var(--primary);color:var(--primary)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.exam-card>h2{font-family:Georgia,serif;font-size:24px;margin-top:14px;font-weight:400}.exam-card>p{font-size:12px}.paper-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:flex-start;gap:8px;min-height:210px;width:100%}.paper-card>svg{color:#ab96bb}.paper-card>p,.paper-card>small{color:var(--muted);font-size:11px}.paper-card>p{margin:0}.question-bank-row,.question-review-row{width:100%;display:flex;align-items:flex-start;text-align:left;padding:17px;margin:8px 0;gap:14px;font-size:12px;justify-content:flex-start}.question-bank-row>div{flex:1}.question-bank-row small,.question-review-row small{display:block;color:var(--muted);margin-top:7px}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;align-items:start}.source-original{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--bg);position:sticky;top:0}.source-original .section-heading{padding:10px 12px;margin:0;font-size:9px}.source-original object{width:100%;height:65vh;display:block}.source-original img{max-width:100%;max-height:70vh;display:block;object-fit:contain}.extracted-text{font-size:10px;white-space:pre-wrap;max-height:300px;overflow:auto}.check-list{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;max-height:220px;overflow:auto;font-size:12px}.check-list label{display:flex;align-items:center;gap:7px}.check-list .indent{margin:8px 0 0 20px}.weekday-choices{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.weekday-choices label{display:flex;align-items:center;gap:4px}.plan-preview{max-height:350px;overflow:auto;border:1px solid var(--line);border-radius:9px}.plan-preview>div{display:grid;grid-template-columns:100px 1fr auto;gap:15px;padding:12px;border-bottom:1px solid var(--line);font-size:12px}.plan-preview small{color:var(--muted)}.practice-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,1fr);gap:28px;align-items:start}.practice-layout>section>h2{margin-bottom:18px}.practice-modes{margin:10px 0}.attempt-row{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:20px;width:100%;padding:18px;margin-top:15px}.attempt-row>span{display:flex;align-items:flex-start;flex-direction:column;gap:8px}.attempt-row strong{font-size:12px;font-weight:500}.attempt-row small{color:var(--muted)}.attempt-row>b{font-size:12px;color:var(--primary);white-space:nowrap}.exam-top{display:flex;align-items:center;gap:15px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.timer{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.question-palette{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.question-palette button{width:33px;height:33px;padding:0;font-size:11px}.question-palette .answered{background:var(--sage)}.question-palette .selected{outline:2px solid var(--primary);outline-offset:0}.question-palette .flagged{border-color:#b99469}.question-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.5px;color:var(--muted);margin:22px 0 12px}.question-heading button{font-size:10px}.question-stem{font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.6;white-space:pre-wrap;margin-bottom:20px;display:block}.answer-choices{display:flex;flex-direction:column;gap:10px;margin:20px 0}.answer-choices button{justify-content:flex-start;text-align:left;padding:14px 18px;gap:15px;white-space:pre-wrap}.answer-choices button>span{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-alt);border-radius:50%;font-size:11px}.answer-choices .chosen{background:var(--lavender);border-color:#a68ab9}.answer-choices .correct{background:var(--sage);border-color:#9bac96}.answer-choices button:disabled{opacity:1}.feedback{padding:14px 18px;border-radius:10px;background:var(--surface-alt);font-size:12px;margin:15px 0}.question-source{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}.question-source button{font-size:10px}.exam-navigation{justify-content:space-between}.exam-navigation>div{display:flex;gap:10px}.results-banner{background:var(--sage);display:flex;gap:17px;padding:20px;border-radius:10px;margin-top:20px}.results-banner p{font-size:12px;margin-bottom:0}.progress-pair{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:20px 0}.progress-pair strong{display:block;font-family:Georgia,serif;font-size:29px;font-weight:400}.progress-pair p:not(.eyebrow){font-size:11px;color:var(--muted)}.progress-subject h2{font-family:Georgia,serif;font-size:22px;font-weight:400}.history-row{width:100%;display:flex;justify-content:space-between;margin:10px 0;font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid>.card{margin-bottom:0}.settings-grid .card>p{font-size:12px}.button-stack{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin:18px 0}.file-button{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-size:12px;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.availability{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.availability .field{font-size:10px;align-items:center}.availability input{padding:6px;text-align:center;font-size:11px}.backup-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:11px}.focus-card{width:min(650px,100%);margin:30px auto 0;padding:40px;background:var(--surface);border:1px solid var(--line);border-radius:22px;display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow)}.focus-card>svg{color:#a1ae99;margin-bottom:22px}.focus-clock{font-family:Georgia,serif;font-size:100px;line-height:1.2;margin:30px 0 5px;font-weight:400;color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:1px}.focus-clock span{color:#c4b4cf}.focus-controls{display:flex;gap:10px;margin:15px 0 25px}.focus-card .fields{width:100%}.focus-card>small{text-align:center;margin-top:20px}.focus-total{text-align:center;margin-top:24px;font-family:Georgia,serif;font-style:italic;color:var(--muted)}.inbox-row{display:flex;align-items:center;gap:18px;width:100%;text-align:left;padding:20px}.inbox-row>div{flex:1}.inbox-row strong{font-weight:500}.inbox-row p{font-size:11px;color:var(--muted);margin:5px 0 0}.inbox-row>svg{color:#beb0c7}.schedule-label{font-size:11px;display:flex;align-items:center;gap:7px;color:var(--primary)}details{margin:15px 0;font-size:12px}details p{color:var(--muted);font-size:12px}summary{cursor:pointer;color:var(--primary);padding:5px 0}.setup-backdrop{position:fixed;inset:0;z-index:80;background:var(--bg);overflow:auto;padding:40px 25px}.setup-card{max-width:920px;margin:0 auto;padding:30px 40px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 90px #5e457310}.setup-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.setup-top .brand{padding:0;font-size:29px}.setup-top>button{border:0;background:transparent;font-size:11px;color:var(--muted)}.setup-card>h1{font-size:38px}.setup-steps{display:flex;list-style:none;justify-content:space-between;padding:0;gap:12px;margin:30px 0 35px}.setup-steps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;flex:1}.setup-steps li>span{border:1px solid var(--line);border-radius:50%;width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}.setup-steps li.active{color:var(--primary)}.setup-steps li.active>span{background:var(--lavender);border-color:#d1bedf}.setup-content .page-heading{display:none}.setup-content .toolbar{margin-bottom:14px}.setup-content>.course-card{box-shadow:none}.setup-banner{padding:11px 15px;border:1px solid var(--line);background:var(--lavender);border-radius:9px;font-size:11px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center}.setup-banner button{border:0;background:transparent;color:var(--primary);font-size:11px}.reminders{padding:12px 16px;background:var(--pink);border:1px solid var(--line);border-radius:9px;margin-bottom:20px;display:flex;gap:12px;align-items:center;font-size:12px}.reminders span{flex:1}.reminders button{font-size:10px}.mobile-menu,.mobile-shade{display:none}.loading,.fatal{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px;text-align:center}.loading svg{color:var(--primary)}.loading-inline{padding:40px;color:var(--muted)}.fatal p{max-width:600px}.page-fieldset:disabled{opacity:.8}.page-fieldset:disabled button{cursor:default}[data-theme=dark]{--bg: #24212a;--surface: #2d2933;--surface-alt: #36303e;--text: #ece5ef;--muted: #b6aabf;--line: #43394c;--primary: #bda3d0;--primary-hover: #a68cbb;--lavender: #3b3145;--pink: #443139;--sage: #303d33;--shadow: none;color-scheme:dark}[data-theme=dark] .primary{color:#251e2b}[data-theme=dark] .sidebar{background:#2b2532}[data-theme=dark] .sidebar nav button{color:#c3b6ce}[data-theme=dark] .sidebar nav button.active{background:#45374f;color:#e2c9f2}[data-theme=dark] .sidebar nav button:hover{background:#3b3045}[data-theme=dark] .course-card>header,[data-theme=dark] .goals-heading,[data-theme=dark] .inbox-mini{background:#322b3a}[data-theme=dark] .day-header.today{background:#3b3045}[data-theme=dark] .segmented{background:#332b3b}[data-theme=dark] .notice{background:#423a2d;border-color:#675335;color:#e5d1aa}[data-theme=dark] .success-note{color:#b8cbb1;border-color:#455741}[data-theme=dark] .card.paper-card{color:var(--text)}[data-theme=dark] .goal-card:hover{background:#3b3045}[data-density=spacious]{--space: 30px}[data-density=spacious] td{padding-top:18px;padding-bottom:18px}[data-density=compact]{--space: 17px}[data-density=compact] td{padding-top:8px;padding-bottom:8px}[data-density=compact] .page-heading{margin-bottom:18px}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media(min-width:1450px){.calendar-layout{grid-template-columns:minmax(0,1fr) 235px}.timeline{height:625px}.event-block strong{font-size:12px}.event-block small{font-size:9px}.goal-card strong{font-size:11px}.goal-card small{font-size:9px}.calendar-filters>span{font-size:10px}}@media(max-width:1150px){.app{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.sidebar nav button{font-size:11px;padding:10px}.topbar{padding:0 22px}main{padding:25px 22px 15px}.calendar-layout{grid-template-columns:minmax(0,1fr)}.right-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gentle-note{display:none}.date-navigation input{width:105px}.calendar-toolbar{gap:12px}h1{font-size:31px}.collapsed{grid-template-columns:76px minmax(0,1fr)}.summary-grid{gap:12px}.stat-card{padding:17px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:760px){.app,.collapsed{display:block}.sidebar,.collapsed .sidebar{position:fixed;left:-260px;top:0;height:100dvh;width:235px;transition:left .2s;padding:25px 17px}.sidebar.mobile-open{left:0}.collapsed .brand span,.collapsed .sidebar-year,.collapsed .sidebar nav span,.collapsed .sidebar-bottom span,.collapsed .botanical{display:block}.collapsed .sidebar nav{margin-top:0}.collapsed .sidebar nav button{justify-content:flex-start}.collapsed .brand{padding:0 10px}.collapsed .sidebar nav b{display:none}.sidebar nav button{font-size:12px;padding:11px}.mobile-shade{display:block;position:fixed;inset:0;border:0;background:#392c4544;z-index:19}.mobile-menu{display:inline-flex}.topbar{height:58px;padding:0 16px;justify-content:flex-start}.topbar-right{margin-left:auto;gap:12px}.topbar-right>span{font-size:8px}.breadcrumbs{font-size:10px;gap:7px}.breadcrumbs>b{display:none}.breadcrumbs>span{display:none}main{padding:25px 16px 15px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}.page-heading h1{font-size:29px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.page-heading>.primary{font-size:10px;padding:8px;flex-shrink:0}.calendar-heading{flex-direction:column}.calendar-heading .heading-flower{font-size:22px;margin-left:9px}.calendar-heading h1{font-size:28px}.calendar-toolbar{padding-top:15px;gap:15px}.date-navigation{flex-wrap:wrap}.date-navigation h2{font-size:19px;margin-right:6px}.date-navigation input{width:111px;margin-left:2px;font-size:10px}.toolbar-actions{justify-content:space-between;width:100%}.toolbar-actions .segmented{margin-right:auto}.calendar-filters{flex-wrap:wrap;gap:6px}.calendar-filters>span{display:none}.calendar-filters select{width:135px}.calendar-day-headers,.timeline,.goal-grid{grid-template-columns:36px repeat(7,minmax(0,1fr))}.calendar-day-headers{height:65px}.day-header span{font-size:7px;letter-spacing:0}.day-header b{font-size:18px}.day-header.today b{width:26px;height:26px;font-size:17px}.timeline{height:430px}.event-block{left:1px;right:1px;padding:4px 2px}.event-block strong{font-size:8px}.event-block small{font-size:6px}.event-block>span{font-size:6px}.time-labels>div{font-size:7px}.goal-day{padding:6px 2px}.goal-card{gap:1px;flex-direction:column}.goal-card strong{font-size:8px}.goal-card small{font-size:7px}.goal-grid .add-goal{font-size:0}.add-goal svg{width:14px}.goal-grid{min-height:100px}.single-day .goal-card{flex-direction:row;gap:8px;padding:9px}.single-day .add-goal{font-size:11px}.calendar-footer{font-size:8px;flex-direction:column}.right-panel{gap:12px}.panel-card{padding:14px 12px}.panel-card .eyebrow{font-size:7px;letter-spacing:.7px}.panel-card h3{font-size:18px}.month-cell{min-height:85px;padding:4px 2px}.month-event{font-size:7px;padding:2px}.month-cell .day-number{font-size:12px;padding:3px}.month-weekday{font-size:8px;padding:10px 0}.month-cell .plain{font-size:7px}.export-caption{font-size:9px}.app-footer{padding:14px 16px;font-size:8px;flex-wrap:wrap}.app-footer button{font-size:8px}.summary-grid{grid-template-columns:1fr 1fr;gap:12px}.summary-grid>.stat-card:last-child{grid-column:1/-1}.stat-card strong{font-size:31px}.stat-card small,.stat-card>span{font-size:10px}.stat-card p{font-size:17px}.fields.four{grid-template-columns:1fr 1fr}.settings-grid,.practice-layout{grid-template-columns:1fr;gap:20px}.review-layout{grid-template-columns:1fr}.source-original{position:static}.source-original object{height:350px}.source-original img{max-height:350px}.source-original .section-heading{font-size:8px}.modal{padding:20px;max-height:93dvh;border-radius:13px}.modal.wide{width:calc(100vw - 22px)}.modal-header h2{font-size:23px}.fields{gap:0 12px}.field{font-size:11px}.field>input,.field>select,.field>textarea{font-size:14px}.form-actions{gap:8px}.form-actions button{font-size:12px}.course-card>header{padding:14px;flex-wrap:wrap}.course-card>header h2{font-size:14px}.subject-heading{padding:12px;gap:5px;flex-wrap:wrap}.subject-heading>.plain{font-size:12px}.syllabus th{font-size:8px}.course-card>.notice{margin:10px 12px;font-size:11px}.progress-pair{gap:25px;grid-template-columns:1fr}.progress-pair strong{font-size:27px}.history-row{flex-wrap:wrap;font-size:10px;gap:10px}.inbox-row{padding:16px;gap:10px;flex-wrap:wrap}.inbox-row>div{min-width:60%}.inbox-row>.muted{font-size:10px;margin-left:auto}.schedule-label{font-size:10px}.tabs{gap:15px}.tabs button{font-size:11px}.focus-card{padding:30px 20px;margin-top:20px}.focus-clock{font-size:78px}.focus-card>.fields{grid-template-columns:1fr}.focus-card>small{font-size:10px}.setup-backdrop{padding:15px 12px}.setup-card{padding:20px}.setup-top{margin-bottom:28px}.setup-card>h1{font-size:30px}.setup-card>.eyebrow{font-size:8px}.setup-steps{gap:6px;margin:25px 0}.setup-steps li{font-size:8px;flex-direction:column;gap:5px;align-items:flex-start}.setup-steps li>span{width:23px;height:23px}.setup-banner{gap:10px;font-size:10px;flex-wrap:wrap}.setup-banner button{padding:0}.availability{gap:4px}.availability input{font-size:11px;padding:6px 1px}.availability .field>span{font-size:9px}.plan-preview>div{grid-template-columns:80px 1fr;gap:8px;font-size:10px}.plan-preview small{grid-column:2}.question-stem{font-size:22px}.answer-choices button{font-size:12px;padding:12px;gap:10px}.results-banner{padding:16px;gap:10px}.results-banner h2{font-size:18px}.results-banner p{font-size:10px}.question-bank-row{padding:12px;gap:8px;flex-wrap:wrap}.question-bank-row>div{min-width:75%}.exam-top{gap:10px}.exam-top button{font-size:10px;padding:7px}.exam-top .pill{font-size:9px}.timer{font-size:20px}.question-heading,.question-heading button{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{@page{size:landscape;margin:8mm}body{background:#fff!important;color:#302935!important}.sidebar,.topbar,.page-heading,.calendar-toolbar,.calendar-filters,.right-panel,.calendar-footer,.app-footer,.toast,.setup-banner,.reminders{display:none!important}.app,.main-shell,main,.calendar-layout{display:block!important;padding:0!important;margin:0!important}.calendar-export{border:1px solid #ddd!important;overflow:visible!important;border-radius:0!important;box-shadow:none!important}.timeline{height:1152px!important;overflow:visible!important}.calendar-export,.event-block,.goal-card{break-inside:avoid}.calendar-export{zoom:.68}.goal-grid{min-height:130px}.export-caption{font-size:16px}.add-goal{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.heading-flower{display:inline-flex;color:#b6a191}.resize-handle{position:absolute;bottom:0;left:20%;right:20%;height:10px;text-align:center;line-height:6px;cursor:ns-resize;touch-action:none;opacity:.7}.resize-handle:focus-visible{outline:2px solid var(--primary)}.event-block{padding-bottom:11px}@media(max-width:760px){.calendar-export{overflow-x:auto;overscroll-behavior-x:contain}.week-calendar:not(.single-day){min-width:820px}.calendar-export[data-view=Week] .export-caption:after{content:"Swipe across the week to see every day";display:block;margin-top:4px;font-size:10px}.week-calendar:not(.single-day) .event-block strong{font-size:11px}.week-calendar:not(.single-day) .event-block small{font-size:9px}.week-calendar:not(.single-day) .goal-card strong{font-size:11px}.week-calendar:not(.single-day) .goal-card small{font-size:9px}.week-calendar:not(.single-day) .goal-card{flex-direction:row;gap:4px}}.blueprint{padding:18px;background:var(--surface-alt);border-radius:12px;margin:20px 0}.blueprint-weights{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.quota-list{display:flex;flex-wrap:wrap;gap:7px}.assistant-card{padding:16px;margin:18px 0}.assistant-card>button{margin:6px 0}.revision-row{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:15px;flex-wrap:wrap;align-items:center}.revision-row>div:first-child{flex:1;min-width:230px}.revision-row strong,.revision-row small{display:block;margin-top:8px}.revision-row small{color:var(--muted)}.review-answer{width:100%;background:var(--surface-alt);padding:15px;border-radius:10px;font-size:12px}.trend-chart{width:100%;height:auto;color:var(--muted);margin:15px 0}.trend-chart text{font-size:11px;fill:currentColor}.recommendation{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-top:1px solid var(--line);font-size:12px}@media(max-width:760px){.blueprint-weights{grid-template-columns:1fr}.recommendation{align-items:flex-start;flex-direction:column}.revision-row>div:first-child{min-width:100%}}.question-images{margin:18px 0}.question-images figure{margin:0 0 16px}.question-images img{display:block;max-width:100%;height:auto;background:#fff;border:1px solid var(--border);border-radius:12px}.question-images figcaption{font-size:.75rem;color:var(--muted);margin-top:7px}.question-images .notice{max-width:100%}.revision-row strong{overflow-wrap:anywhere}.settings-grid code{overflow-wrap:anywhere;white-space:normal}.recommendation>span{min-width:0;overflow-wrap:anywhere}.inline-cell{min-width:6rem;max-width:100%;padding:.4rem .5rem;background:var(--bg)}.inline-range{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.inline-range input{width:4.5rem;min-width:0;padding:.4rem}.inline-range button{padding:.35rem .5rem}.google-connect{margin-block:1rem;padding:1.2rem;border-radius:16px;background:var(--surface-alt, #f2edf6)}.unfinished-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding:1.2rem 0}.unfinished-row .button-stack{max-width:25rem}@media(max-width:700px){.unfinished-row{align-items:stretch;flex-direction:column}}.google-connect{color:var(--text)}[data-theme=dark] .google-connect{background:#302b3a}.daily-agenda{padding:1rem}.daily-agenda h3{margin-top:1.4rem}.agenda-activity{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:.35rem;width:100%;margin:.6rem 0;padding:1rem;border-inline-start:5px solid var(--primary);border-radius:12px}.agenda-activity span,.agenda-activity small{font-size:.8rem;color:var(--muted)}[data-theme=dark] .botanical p,[data-theme=dark] .gentle-note p,[data-theme=dark] .app-footer,[data-theme=dark] .goals-heading,[data-theme=dark] .add-goal{color:var(--muted)}.sidebar nav .nav-item{position:relative}.sidebar nav .nav-item>button{width:100%}.sidebar nav .nav-item>b{position:absolute;right:12px;top:13px;pointer-events:none;font-size:10px;background:var(--lavender);border-radius:4px;padding:0 5px}.app.collapsed .nav-item>b{display:none}.manual-results{display:grid;gap:.7rem;margin-top:1rem}.manual-result{display:grid;grid-template-columns:minmax(0,2fr) minmax(6rem,.6fr) minmax(5rem,1fr) auto;align-items:center;gap:.8rem;padding:.85rem 1rem;background:var(--surface, #fffdfb);border:1px solid var(--border, #e9ddeb);border-radius:14px}.manual-result small{display:block;margin-top:.2rem;color:var(--muted, #716779)}.manual-result-track{height:.55rem;background:#eee5f0;border-radius:1rem;overflow:hidden}.manual-result-track span{display:block;height:100%;background:#987ab3;border-radius:inherit}@media(max-width:700px){.manual-result{grid-template-columns:1fr auto}.manual-result-track,.manual-result .form-utilities{grid-column:1 / -1}}
