:root{color-scheme:light;--paper:#f6f4ec;--sheet:#fffefa;--ink:#172c40;--ink-soft:#405668;--muted:#637785;--line:#d8e0dc;--teal:#087b78;--teal-dark:#075e5d;--teal-pale:#e1f1ed;--orange:#d96a37;--error:#a13730;--shadow:0 16px 40px rgb(23 44 64/8%),0 2px 8px rgb(23 44 64/4%)}*{box-sizing:border-box}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:16px;line-height:1.55;text-rendering:optimizeLegibility}::selection{color:var(--ink);background:#b7dfd6}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}:focus-visible{outline:3px solid #e88956;outline-offset:3px}button:disabled{cursor:wait;opacity:.72}.app-shell{width:min(1100px,100%);margin:0 auto;padding:0 32px 72px}.page-transition.page-turning:before{content:"";position:fixed;z-index:1000;inset:0;pointer-events:none;transform-origin:left center;transform-style:preserve-3d;background:linear-gradient(90deg,#fffefa,#f7f3e9 49.3%,#d6cbb9 49.8%,#fffefa 50.5%,#f8f5ed);box-shadow:13px 0 34px rgb(23 44 64/18%);animation:book-page-turn .65s cubic-bezier(.17,.84,.28,1) both}@keyframes book-page-turn{0%{transform:perspective(1400px) rotateY(0deg);filter:brightness(1)}42%{box-shadow:25px 0 40px rgb(23 44 64/22%);filter:brightness(.94)}to{transform:perspective(1400px) rotateY(-178deg);filter:brightness(1);opacity:0}}@media (prefers-reduced-motion:reduce){.page-transition.page-turning:before{content:none;animation:none}}.topbar{min-height:88px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:11px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:700;letter-spacing:-.035em;text-decoration:none}.brand img{display:block;width:42px;height:42px;border-radius:13px}.topbar nav{display:flex;align-items:center;gap:7px}.nav-link{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:var(--sheet);color:var(--ink-soft);font-size:14px;font-weight:650;text-decoration:none;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out}.nav-link:hover{border-color:#9cb8af;color:var(--teal-dark);background:#fff}.nav-link.active{border-color:#b8d1c9;color:var(--teal-dark);background:var(--teal-pale)}.count{display:grid;min-width:22px;height:22px;place-items:center;padding:0 5px;border-radius:99px;background:#fff;color:var(--teal-dark);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.workspace{margin:0 auto}.theme-default{--subject-accent:var(--teal);--subject-ink:var(--teal-dark);--subject-pale:var(--teal-pale);--subject-border:#b4d4cd;--subject-action-ink:#fff}.theme-reading{--subject-accent:#315e98;--subject-ink:#24466f;--subject-pale:#edf3fc;--subject-border:#c7d6eb;--subject-action-ink:#fff}.theme-math{--subject-accent:#ae403a;--subject-ink:#7e2d2a;--subject-pale:#fbefed;--subject-border:#e7c5c1;--subject-action-ink:#fff}.theme-science{--subject-accent:#347a50;--subject-ink:#245739;--subject-pale:#ebf5ee;--subject-border:#c2ddca;--subject-action-ink:#fff}.theme-history{--subject-accent:#855a3b;--subject-ink:#60412d;--subject-pale:#f5eee7;--subject-border:#dfcdbb;--subject-action-ink:#fff}.theme-ap{--subject-accent:#8a6804;--subject-ink:#4a3607;--subject-pale:#fff4cf;--subject-border:#e7cf88;--subject-action-ink:#3a2b08}.form-workspace{max-width:620px;padding:68px 0 0}.page-heading{margin-bottom:30px}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,5vw,52px);font-weight:600;letter-spacing:-.045em;line-height:1.08;text-wrap:balance}.intro{max-width:48ch;margin:0;color:var(--ink-soft);font-size:17px}.guide-form{display:grid;grid-gap:11px;gap:11px;padding:28px;border:1px solid #e3e5dc;border-radius:18px;background:var(--sheet);box-shadow:var(--shadow)}.guide-form>label:not(.check-row){margin-top:8px;color:var(--ink);font-size:14px;font-weight:700}.chat-form input,.guide-form input[type=text],.guide-form select{width:100%;min-height:52px;padding:0 15px;border:1px solid #c9d4d1;border-radius:10px;background:#fff;color:var(--ink)}.chat-form input::placeholder,.guide-form input::placeholder{color:#637785;opacity:1}.chat-form input:hover,.guide-form input:hover,.guide-form select:hover{border-color:#8aa6a2}.custom-course-field{display:grid;grid-gap:7px;gap:7px;padding:13px;border:1px solid #d8e2df;border-radius:8px;background:#f7faf9}.custom-course-field label{color:var(--ink);font-size:14px;font-weight:700}.custom-course-field small{color:var(--muted);font-size:13px;line-height:1.45}.study-planner{display:grid;grid-gap:14px;gap:14px;margin:12px 0 5px;padding:18px;border:1px solid #d8e2df;border-radius:12px;background:#f8fbfa}.planner-heading h2{margin:0 0 4px;color:var(--ink);font-size:20px}.planner-heading p{margin:0;color:var(--muted);font-size:13px}.planner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:11px;gap:11px}.planner-fields label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:13px;font-weight:700}.planner-fields label:nth-child(2){grid-column:1/-1}.planner-fields input,.planner-fields select{width:100%;min-width:0;min-height:43px;padding:0 10px;border:1px solid #c9d4d1;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.routine-fields{min-width:0;margin:0;padding:12px;border:1px solid #d8e2df;border-radius:9px}.routine-fields legend{padding:0 5px;color:var(--ink);font-size:13px;font-weight:750}.routine-fields>p{margin:-2px 0 8px;color:var(--muted);font-size:12px;line-height:1.45}.routine-time-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.routine-time-fields label{display:grid;grid-gap:5px;gap:5px;min-width:0;color:var(--ink);font-size:12px;font-weight:700}.routine-time-fields input{width:100%;min-width:0;min-height:42px;padding:0 9px;border:1px solid #c9d4d1;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.routine-error{margin:0!important;color:var(--error)!important;font-size:12px!important}.activity-list button,.planner-add{width:-moz-fit-content;width:fit-content;min-height:40px;padding:0 13px;border:1px solid #9dbab4;border-radius:8px;background:#fff;color:#175e59;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.activity-list button:hover,.planner-add:hover{background:#e9f3f1}.planner-error{margin:-4px 0 0;color:var(--error);font-size:13px}.activity-list,.study-suggestions ul{display:grid;grid-gap:7px;gap:7px;margin:0;padding:0;list-style:none}.activity-list li,.study-suggestions li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;background:#fff;color:var(--ink-soft);font-size:13px}.activity-list li strong,.study-suggestions li strong{color:var(--ink)}.activity-list button{min-height:32px;padding:0 9px;font-size:12px}.study-suggestions{display:grid;grid-gap:9px;gap:9px;padding-top:13px;border-top:1px solid #d8e2df}.study-suggestions h3{margin:0;color:var(--ink);font-size:16px}.study-suggestions>p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.5}.study-suggestions .planner-method{color:var(--muted);font-size:11px}.form-workspace:has(.study-planner){max-width:980px}.calendar-week-controls{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.calendar-week-controls button{min-height:34px;padding:0 9px;border:1px solid #c9d8d2;border-radius:7px;background:#fff;color:#175e59;font:inherit;cursor:pointer}.calendar-week-controls button:hover{background:#e9f3f1}.calendar-add-fields{grid-template-columns:minmax(120px,.9fr) minmax(180px,1.8fr) repeat(2,minmax(100px,1fr))}.calendar-add-fields label:nth-child(2),.calendar-add-fields label:nth-child(3),.calendar-add-fields label:nth-child(4){grid-column:auto}.calendar-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;border:1px solid #d8e2df;border-radius:10px;background:#fff}.calendar-grid{display:grid;min-width:620px;grid-template-columns:130px minmax(490px,1fr)}.calendar-corner{position:-webkit-sticky;position:sticky;left:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid #d8e2df;background:#f4f8f6;color:var(--ink);font-size:12px;font-weight:750}.calendar-corner span{color:var(--muted);font-size:10px}.calendar-axis{position:relative;height:42px;border-bottom:1px solid #d8e2df;background:#f4f8f6}.calendar-axis span{position:absolute;top:14px;transform:translateX(-50%);color:var(--muted);font-size:10px;white-space:nowrap}.calendar-axis span:first-child{transform:none}.calendar-axis span:last-child{transform:translateX(-100%)}.calendar-week-group{display:grid;grid-column:1/-1;grid-template-columns:inherit}.calendar-week-heading{grid-column:1/-1;margin:0;padding:9px 12px;border-bottom:1px solid #d8e2df;background:#edf4f1;color:var(--ink-soft);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.calendar-row{display:grid;grid-column:1/-1;min-height:54px;grid-template-columns:inherit}.calendar-day-label{position:-webkit-sticky;position:sticky;left:0;z-index:2;display:grid;align-content:start;grid-gap:5px;gap:5px;padding:6px 8px;border-bottom:1px solid #e5ebe7;background:#f9fbf9;color:var(--ink-soft);font-size:12px}.calendar-activities input,.calendar-day-heading input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--teal)}.calendar-day-heading input:disabled{opacity:.35}.calendar-activities{display:grid;grid-gap:3px;gap:3px;margin:0;padding:0;list-style:none}.calendar-activities li{min-width:0;list-style:none}.calendar-activities li::marker{content:""}.calendar-activities label{display:flex;align-items:center;gap:5px;min-width:0;color:var(--ink-soft);font-size:10px;font-weight:650}.calendar-activities label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-track{position:relative;min-width:0;min-height:54px;height:100%;border-bottom:1px solid #e5ebe7;background-color:#fff;background-image:linear-gradient(90deg,#e7ede9 1px,transparent 0);background-size:4.166667% 100%}.calendar-track.is-drop-target{background-color:#f0f8f5}.calendar-event{position:absolute;top:5px;bottom:5px;z-index:1;display:flex;min-width:22px;align-items:center;gap:3px;overflow:hidden;padding:3px 5px;border:1px solid #9fc5b6;border-radius:6px;background:#dff0e8;color:#205c48;font-size:11px;font-weight:700;cursor:-webkit-grab;cursor:grab}.calendar-event:active{cursor:-webkit-grabbing;cursor:grabbing}.calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.is-done{border-color:#c6d0ca;background:#e9eeeb;color:#65736c}.calendar-event.is-done span{text-decoration:line-through}.calendar-hint{margin:-4px 0 0;color:var(--muted);font-size:12px}.calendar-move-tools{padding:11px 12px;border:1px solid #d8e2df;border-radius:9px;background:#fff}.calendar-move-tools summary{color:#175e59;font-size:13px;font-weight:750;cursor:pointer}.calendar-move-fields{align-items:end;margin-top:12px}.calendar-move-fields label{grid-column:auto!important}.planner-remove{justify-self:start;min-height:40px;padding:0 12px;border:1px solid #d7bdb7;border-radius:8px;background:#fff;color:#8a3932;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.planner-remove:disabled{opacity:.55;cursor:not-allowed}.check-row{display:flex;align-items:center;gap:11px;margin:14px 0 3px;color:var(--ink-soft);font-size:15px;font-weight:600;cursor:pointer}.check-row input{width:19px;height:19px;accent-color:var(--teal)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:-moz-fit-content;width:fit-content;min-height:50px;margin-top:13px;padding:0 19px;border:1px solid var(--teal-dark);border-radius:8px;background:var(--teal);color:white;font-weight:750;text-decoration:none;cursor:pointer;transition:background-color .16s ease-out,transform .16s ease-out}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button:disabled:hover{transform:none}.form-note{margin:1px 0 0;color:var(--muted);font-size:12px}.form-error{margin:8px 0 2px;color:var(--error);font-size:14px;font-weight:650}.guide-workspace{padding-top:30px}.guide-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.back-link{color:var(--ink-soft);font-size:14px;font-weight:650;text-decoration:none}.back-link:hover{color:var(--teal-dark);text-decoration:underline}.message-button{display:inline-flex;align-items:center;min-height:43px;padding:0 15px;border:1px solid var(--subject-border);border-radius:8px;background:var(--subject-pale);color:var(--subject-ink);font-size:14px;font-weight:750;text-decoration:none;transition:background-color .16s ease-out,border-color .16s ease-out}.message-button:hover{border-color:var(--subject-accent);background:var(--subject-border)}.guide-columns{display:grid;grid-template-columns:minmax(0,740px);justify-content:center;align-items:start;grid-gap:22px;gap:22px}.guide-columns.chat-is-open{grid-template-columns:minmax(0,1fr) 320px;justify-content:stretch}.guide-reading{min-width:0;padding:clamp(24px,4vw,44px);border:1px solid #e3e5dc;border-radius:18px;background:var(--sheet);box-shadow:var(--shadow)}.guide-reading h1{max-width:19ch;color:var(--subject-ink);font-size:clamp(34px,4vw,46px)}.guide-meta{margin-bottom:19px;color:var(--subject-ink);font-weight:650}.guide-meta span,.guide-row-copy small span{padding:0 4px;color:var(--subject-accent)}.source-note{padding:14px 16px;border-radius:10px;background:#edf3ff;color:#244d80;font-size:14px}.official-info{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.official-info h2{margin-bottom:7px;color:var(--subject-ink);font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:600;letter-spacing:-.025em}.official-info-message{max-width:68ch;margin-bottom:6px;color:var(--ink-soft);font-size:14px}.official-source{padding:15px 0;border-top:1px solid var(--line)}.official-source>a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--subject-accent);font-weight:750;text-decoration:none}.official-source>a:hover{text-decoration:underline}.official-source>a span{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:600}.official-source ul{display:grid;grid-gap:5px;gap:5px;margin:10px 0 0;padding-left:19px;color:var(--ink-soft);font-size:14px}.source-check-date,.source-empty{margin:10px 0 0;color:var(--muted);font-size:12px}.source-check-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.guide-sections{margin-top:27px}.reading-section{padding:20px 0;border-top:1px solid var(--line)}.reading-section h2{margin-bottom:6px;color:var(--subject-ink);font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:600;letter-spacing:-.02em}.reading-section p{max-width:65ch;margin:0;color:var(--ink-soft)}.privacy-notice{margin:26px 0 0;padding-top:17px;border-top:1px solid var(--line);color:#4d626d;font-size:13px}.saved-workspace{max-width:760px;padding-top:62px}.compact-heading{margin-bottom:28px}.guide-list{overflow:hidden;border:1px solid #e0e4dd;border-radius:15px;background:var(--sheet);box-shadow:var(--shadow)}.guide-row{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;grid-gap:13px;gap:13px;min-height:82px;padding:14px 19px;border-bottom:1px solid var(--line);text-decoration:none;transition:background-color .15s ease-out}.guide-row:last-child{border-bottom:0}.guide-row:hover{background:var(--subject-pale)}.guide-row-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--subject-pale);color:var(--subject-accent)}.guide-row-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.guide-row-copy{display:grid;grid-gap:3px;gap:3px;min-width:0}.guide-row-copy strong{overflow:hidden;color:var(--subject-ink);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.guide-row-copy small{color:var(--muted);font-size:13px}.row-arrow{color:var(--subject-accent);font-size:19px}.empty-state{display:grid;justify-items:start;padding:30px;border:1px dashed #a9beb5;border-radius:15px;background:#fbfcf7}.empty-state p{margin-bottom:2px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600}.empty-state>span{color:var(--ink-soft)}.chat-panel{position:-webkit-sticky;position:sticky;top:20px;display:flex;min-height:490px;max-height:calc(100vh - 40px);flex-direction:column;overflow:hidden;border:1px solid #d8e0dc;border-radius:16px;background:var(--sheet);box-shadow:var(--shadow)}.chat-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 18px 15px;border-bottom:1px solid var(--line)}.chat-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:600}.chat-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.live-dot{width:9px;height:9px;margin-top:8px;border:3px solid var(--teal-pale);border-radius:50%;background:var(--teal)}.chat-messages{display:flex;flex:1 1;flex-direction:column;align-items:flex-start;gap:10px;overflow-y:auto;padding:17px}.chat-empty{max-width:29ch;margin:auto;color:var(--muted);font-size:14px;text-align:center}.chat-message{max-width:91%;padding:10px 12px 8px;border-radius:12px 12px 12px 3px;background:#edf4ef}.chat-message p{margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:14px}.chat-message time{display:block;margin-top:3px;color:var(--muted);font-size:10px;text-align:right}.chat-form{display:flex;gap:7px;padding:12px;border-top:1px solid var(--line)}.chat-form input{min-height:43px;padding:0 11px;font-size:13px}.chat-form button{flex:0 0 auto;padding:0 12px;border:1px solid var(--teal-dark);border-radius:8px;background:var(--teal);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.chat-form button:disabled{background:#a8bbb6}.chat-safety{margin:0;padding:0 13px 14px;color:var(--muted);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.topbar>form{margin:0}.sign-out-button{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--sheet);color:var(--ink-soft);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.sign-out-button:hover{border-color:#9cb8af;color:var(--teal-dark)}.public-entry{max-width:760px;margin:58px auto 0;padding:clamp(24px,5vw,48px);border:1px solid #e3e5dc;border-radius:18px;background:var(--sheet);box-shadow:var(--shadow)}.public-entry h1{margin-top:38px}.public-entry>p{max-width:55ch;color:var(--ink-soft)}.sign-in-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa}.sign-in-card p{margin:0;color:var(--ink-soft)}.sign-in-card .primary-button{flex:0 0 auto;margin:0}.public-sample{margin-top:26px;padding:20px;border:1px solid #c7d6eb;border-radius:12px;background:#edf3fc;color:#24466f}.public-sample span{font-size:12px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.public-sample h2{margin:5px 0;font-family:Georgia,Times New Roman,serif;font-size:23px}.public-sample p{margin:0}.public-error{margin:12px 0;color:var(--error);font-weight:650}.landing-shell{width:min(1160px,100%);margin:0 auto;padding:0 32px 64px}.landing-topbar{display:flex;min-height:88px;align-items:center;border-bottom:1px solid var(--line)}.landing-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);align-items:center;grid-gap:clamp(36px,7vw,88px);gap:clamp(36px,7vw,88px);padding:74px 0 80px}.landing-copy h1{max-width:12ch;margin-bottom:22px;font-size:clamp(46px,6.2vw,72px)}.landing-copy>p:not(.landing-audience){max-width:55ch;margin-bottom:0;color:var(--ink-soft);font-size:18px}.landing-cta{min-height:56px;margin-top:28px;padding:0 22px;border-radius:10px;font-size:16px}.landing-audience{margin:13px 0 0;color:var(--muted);font-size:13px}.landing-proof{padding:clamp(22px,3.5vw,34px);border:1px solid var(--subject-border);border-radius:16px;background:var(--sheet);box-shadow:var(--shadow)}.landing-proof-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line);color:var(--teal-dark);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.landing-proof-heading span:last-child{color:var(--subject-ink)}.landing-proof-course{margin:20px 0 5px;color:var(--ink-soft);font-size:13px;font-weight:700}.landing-proof h2{max-width:20ch;margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,3vw,32px);font-weight:600;letter-spacing:-.035em;line-height:1.16}.landing-proof-body{margin:12px 0 0;color:var(--ink-soft);font-size:14px}.ratio-diagram{display:block;width:100%;max-width:360px;height:auto;margin:20px auto 17px}.ratio-label{fill:var(--subject-ink);font:700 12px Avenir Next,Avenir,sans-serif}.ratio-caption{fill:var(--ink-soft);font:12px Avenir Next,Avenir,sans-serif}.landing-guide-practice{padding:15px 16px;border:1px solid var(--subject-border);border-radius:10px;background:var(--subject-pale);color:var(--subject-ink)}.landing-guide-practice>span,.landing-source-note>strong{color:var(--subject-ink);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.landing-guide-practice>p{margin:4px 0 8px;font-size:14px}.landing-guide-practice details{border-top:1px solid var(--subject-border);padding-top:8px}.landing-guide-practice summary{color:var(--subject-ink);cursor:pointer;font-size:13px;font-weight:750}.landing-guide-practice details p{margin:6px 0 0;font-size:13px}.landing-source-note{display:grid;grid-gap:3px;gap:3px;margin-top:15px;font-size:12px}.landing-source-note>span{color:var(--ink-soft)}.landing-error{margin:15px 0 -38px}.landing-story{padding-top:30px;border-top:1px solid var(--line)}.landing-story>h2{max-width:25ch;margin-bottom:26px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,40px);font-weight:600;letter-spacing:-.035em;line-height:1.15}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:30px;gap:30px}.landing-steps article{padding-top:13px;border-top:1px solid #aacdc4}.landing-steps h3{margin:8px 0 5px;font-size:17px}.landing-steps p{max-width:33ch;margin:0;color:var(--ink-soft);font-size:14px}.landing-footnote{margin:28px 0 0;color:var(--muted);font-size:12px}.landing-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;grid-gap:clamp(30px,6vw,76px);gap:clamp(30px,6vw,76px);padding:46px 0;border-top:1px solid var(--line)}.landing-feature-copy h2{max-width:15ch;margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,4vw,40px);font-weight:600;letter-spacing:-.035em;line-height:1.12}.landing-feature-copy p{max-width:50ch;margin:0;color:var(--ink-soft)}.landing-feature-copy .landing-feature-note{margin-top:13px;color:var(--muted);font-size:12px}.peer-preview,.week-preview{padding:clamp(18px,3vw,27px);border:1px solid #d5dfda;border-radius:14px;background:var(--sheet);box-shadow:var(--shadow)}.peer-preview-label,.week-preview-label{margin:0 0 16px;color:var(--teal-dark);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.peer-message{width:min(88%,410px);margin:0 0 12px;padding:11px 14px;border-radius:12px}.peer-message span{display:block;margin-bottom:3px;font-size:11px;font-weight:800}.peer-message p{margin:0;font-size:14px;line-height:1.45}.peer-message-one{background:#edf3fc;color:#24466f}.peer-message-two{margin-left:auto;background:var(--teal-pale);color:var(--teal-dark)}.peer-preview-safety{margin:15px 0 0;color:var(--muted);font-size:11px}.week-diagram{display:block;width:100%;height:auto}.week-axis{fill:var(--muted);font:700 10px Avenir Next,Avenir,sans-serif}.week-block-title{fill:var(--ink);font:700 12px Avenir Next,Avenir,sans-serif}.week-block-time,.week-caption{fill:var(--ink-soft);font:11px Avenir Next,Avenir,sans-serif}.week-caption{text-anchor:end}.custom-course-row{display:grid;grid-gap:10px;gap:10px}.course-share-button,.tour-button{justify-self:start;min-height:42px;padding:0 13px;border:1px solid #9dbab4;border-radius:8px;background:#fff;color:#175e59;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.course-share-button:hover,.tour-button:hover{background:#e9f3f1}.tour-button:disabled{cursor:wait;opacity:.7}.ai-tour{display:grid;justify-items:start;grid-gap:7px;gap:7px;margin:12px 0}.ai-data-note{max-width:62ch;margin:0;color:var(--ink-soft);font-size:12px;line-height:1.5}.ai-answer{max-width:62ch;margin:4px 0;padding:11px 13px;border:1px solid #b8d1c9;border-radius:9px;background:#f5faf7;color:var(--ink);white-space:pre-wrap}.ai-error{margin:2px 0;color:var(--error);font-size:13px}.ai-reminder{display:grid;grid-gap:10px;gap:10px;margin:22px 0 8px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ai-reminder h2{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:600}.ai-opt-in{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-weight:700}.ai-opt-in input{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0;accent-color:var(--teal)}.ai-guide-select{margin-top:2px;color:var(--ink);font-size:13px;font-weight:700}.ai-reminder select{width:100%;min-height:44px;padding:0 11px;border:1px solid #c9d4d1;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.ai-reminder .tour-button{justify-self:start}.welcome-tour{display:flex;align-items:flex-start;gap:15px;margin:20px 0 24px;padding:17px;border:1px solid #b8d1c9;border-radius:12px;background:var(--teal-pale)}.welcome-tour h2{margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:22px}.welcome-tour p{margin:0 0 10px;color:var(--ink-soft)}.wave-hand{display:inline-block;font-size:31px;transform-origin:70% 70%;animation:welcome-wave 1.2s ease-in-out 3}@keyframes welcome-wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(18deg)}20%,40%{transform:rotate(-10deg)}}.typing-book{display:flex;width:110px;height:66px;margin:3px 0 0 auto;perspective:500px}.typing-book__cover{position:relative;display:flex;width:100%;height:100%;align-items:center;justify-content:center;overflow:hidden;border:1px solid #164f4e;border-radius:4px 9px 9px 4px;background:linear-gradient(90deg,#075e5d 0 8px,#087b78 8px 100%);color:#fff;font-size:11px;font-weight:750;box-shadow:2px 3px 0 #b7c7bd}.typing-book__cover:after{position:absolute;top:5px;bottom:5px;left:11px;width:1px;background:rgb(255 255 255/40%);content:""}.typing-book.is-open .typing-book__cover{background:#f5ebcf;color:#35545a}.typing-book__page{position:absolute;top:4px;right:3px;bottom:4px;left:14px;border-radius:2px 5px 5px 2px;background:repeating-linear-gradient(180deg,#fffef6 0 10px,#d7e1dc 11px 12px);transform-origin:left center;box-shadow:1px 1px 2px rgb(23 44 64/20%);animation-duration:var(--turn-speed,.32s)}.typing-book.is-open .typing-book__page{animation:mini-page-turn var(--turn-speed,.32s) ease-out both}.typing-book__spine{position:absolute;top:3px;bottom:3px;left:9px;width:3px;border-radius:3px;background:#dfc88e}@keyframes mini-page-turn{0%{transform:rotateY(0)}to{transform:rotateY(-150deg)}}.success-note{margin:12px 0;color:var(--teal-dark);font-size:14px;font-weight:700}.message-action{display:grid;justify-items:end;grid-gap:4px;gap:4px}.peer-presence{margin:0;color:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.saved-study-plan{margin:24px 0;padding:18px 20px;border:1px solid var(--subject-border);border-radius:12px;background:var(--subject-pale);color:var(--subject-ink)}.saved-study-plan h2{margin:0 0 9px;font-family:Georgia,Times New Roman,serif;font-size:21px}.saved-study-plan ol{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:20px}.saved-study-plan li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3px 12px;gap:3px 12px;padding:7px 0;border-bottom:1px solid var(--subject-border)}.saved-study-plan li strong{grid-column:1/-1;font-size:13px}.saved-plan-context{margin:0 0 8px;font-size:13px}.saved-study-plan li span,.saved-study-plan time{font-size:13px;font-weight:650}.saved-study-plan>p{margin:0;font-size:14px}.practice-problems{margin-top:24px;padding-top:23px;border-top:1px solid var(--line)}.practice-problems>h2{margin-bottom:7px;color:var(--subject-ink);font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:600;letter-spacing:-.025em}.practice-intro{max-width:68ch;margin:0 0 14px;color:var(--ink-soft);font-size:14px}.practice-problems>ol{display:grid;grid-gap:0;gap:0;margin:0;padding-left:25px}.practice-problems>ol>li{padding:14px 0 14px 6px;border-top:1px solid var(--line);color:var(--ink)}.practice-problems h3{margin:0 0 5px;color:var(--subject-ink);font-size:16px}.practice-problems li p{max-width:68ch;margin:6px 0 0;font-size:14px}.practice-problems .practice-topic{color:var(--subject-ink);font-size:12px;font-weight:700}.practice-problems .practice-topic a{color:var(--subject-accent);text-underline-offset:3px}.practice-problems .practice-check{color:var(--ink-soft)}.practice-problems .practice-check strong{color:var(--ink)}.chat-message{background:hsl(var(--peer-hue) 52% 93%);color:hsl(var(--peer-hue) 44% 27%)}.chat-message-author{display:block;margin-bottom:3px;color:hsl(var(--peer-hue) 52% 30%);font-size:11px;font-weight:800}.chat-message time{color:hsl(var(--peer-hue) 20% 38%)}.chat-message.is-own-message{align-self:flex-end;border-radius:12px 12px 3px 12px}.friend-panel{padding:0 15px;border-bottom:1px solid var(--line)}.friend-panel>summary{padding:12px 2px;color:var(--ink);font-size:13px;font-weight:750;cursor:pointer}.friend-panel>summary span{margin-left:4px;color:var(--teal-dark)}.friend-panel-body{display:grid;grid-gap:9px;gap:9px;padding-bottom:12px}.friend-code-label,.friend-empty,.friend-status{margin:0;color:var(--muted);font-size:12px}.friend-code-row,.friend-request-form>div{display:flex;align-items:center;gap:7px}.friend-code-row code{flex:1 1;padding:8px;border-radius:6px;background:#f0f5f2;color:var(--ink);letter-spacing:.08em}.friend-panel button{min-height:34px;padding:0 9px;border:1px solid #9dbab4;border-radius:7px;background:#fff;color:#175e59;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.friend-panel button:disabled{cursor:wait;opacity:.55}.friend-request-form{display:grid;grid-gap:5px;gap:5px}.friend-request-form label{color:var(--ink-soft);font-size:12px;font-weight:700}.friend-request-form input{min-width:0;min-height:36px;padding:0 8px;font-size:12px}.friend-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:7px 0;border-top:1px solid var(--line);color:var(--ink-soft);font-size:12px}.friend-refresh{justify-self:start}.tour-card{position:fixed;z-index:20;right:max(18px,calc((100vw - 1160px) / 2));bottom:20px;width:min(360px,calc(100vw - 32px));padding:18px;border:1px solid #a9c8bd;border-radius:12px;background:var(--sheet);color:var(--ink);box-shadow:0 12px 32px rgb(26 48 55/20%)}.tour-card-actions,.tour-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-card-top{color:var(--teal-dark);font-size:12px;font-weight:750}.tour-card h2{margin:9px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:22px}.tour-card>p{margin:0 0 14px;color:var(--ink-soft);font-size:14px}.tour-card-actions button{min-height:36px;padding:0 10px;border:1px solid #a9beb5;border-radius:7px;background:white;color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.tour-card-actions .tour-next{border-color:var(--teal);background:var(--teal);color:#fff}.tour-highlight{position:relative;z-index:10;outline:3px solid #23877e!important;outline-offset:4px;box-shadow:0 0 0 8px rgb(35 135 126/15%)!important;scroll-margin:100px}.test-date-box{display:grid;grid-gap:6px;gap:6px;padding:13px 14px;border:1px solid #b7d1c8;border-radius:9px;background:#eff7f3}.test-date-box label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:13px;font-weight:750}.test-date-box input[type=date]{width:100%;min-height:42px;padding:0 9px;border:1px solid #b9cbc5;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.test-date-box>p{margin:0;color:var(--ink-soft);font-size:12px}.test-date-box .study-plan-count{color:var(--teal-dark);font-weight:750}.calendar-day-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.calendar-day-heading>span{display:grid;grid-gap:2px;gap:2px}.calendar-day-heading small{color:var(--muted);font-size:10px}.calendar-event-study{border-color:#649c8c;background:#cee7dd;color:#174f43;cursor:default}.calendar-event-study:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:#247a65;content:""}.calendar-event-study.is-done{text-decoration:line-through}@media (prefers-reduced-motion:reduce){.typing-book.is-open .typing-book__page,.wave-hand{animation:none}}@media (max-width:760px){.app-shell{padding:0 20px 44px}.topbar{min-height:74px;flex-wrap:wrap;padding:10px 0}.brand{gap:8px;font-size:21px}.brand img{width:36px;height:36px;border-radius:11px}.topbar nav{order:3;width:100%;gap:5px}.topbar>form{order:2;margin-left:auto}.public-entry{margin-top:34px;padding:23px}.sign-in-card{align-items:flex-start;flex-direction:column}.typing-book{width:92px;height:58px}.planner-heading{display:grid;grid-gap:10px;gap:10px}.calendar-week-controls{justify-content:space-between}.calendar-grid{min-width:520px;grid-template-columns:110px minmax(410px,1fr)}.calendar-add-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-add-fields label:nth-child(2){grid-column:1/-1}.routine-time-fields{grid-template-columns:minmax(0,1fr)}.calendar-move-fields label{grid-column:1/-1!important}.nav-link{min-height:40px;padding:0 10px;font-size:12px}.form-workspace{padding-top:48px}.guide-form{padding:21px}.saved-workspace{padding-top:48px}.landing-shell{padding:0 20px 44px}.landing-topbar{min-height:74px}.landing-hero{grid-template-columns:minmax(0,1fr);gap:34px;padding:44px 0 48px}.landing-copy h1{max-width:13ch;font-size:clamp(42px,11vw,56px)}.landing-copy>p:not(.landing-audience){font-size:16px}.landing-steps{grid-template-columns:minmax(0,1fr);gap:22px}.landing-steps p{max-width:52ch}.landing-feature{gap:20px;padding:34px 0}.landing-feature,.landing-feature-planner{grid-template-columns:minmax(0,1fr)}.landing-feature-copy h2{max-width:20ch}.guide-columns.chat-is-open{grid-template-columns:minmax(0,1fr)}.chat-panel{position:static;min-height:380px;max-height:65vh}.guide-reading{padding:24px 21px}.guide-row{grid-template-columns:38px minmax(0,1fr) 17px;gap:10px;padding:13px}.guide-row-icon{width:36px;height:36px}}@media (max-width:390px){.app-shell{padding-right:15px;padding-left:15px}.brand{font-size:19px}.topbar nav{gap:4px}.nav-link{min-height:38px;gap:6px;padding:0 8px;font-size:11px}.guide-form{padding:18px}}