@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{color:#1f2921;font-synthesis:none;background:#faf9f4;font-family:DM Sans,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #eab84b}.brand{letter-spacing:-.4px;color:#1e3529;align-items:center;gap:9px;font-size:20px;font-weight:700;display:flex}.brand-mark{color:#fff;background:#215b40;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.landing{background:radial-gradient(circle at 82% 17%,#efe6c9 0,#efe6c959 20%,#0000 42%),#faf9f4;min-height:100vh}.landing nav,.upload-page nav,.review header{justify-content:space-between;align-items:center;max-width:1180px;height:78px;margin:auto;padding:0 28px;display:flex}.text-button,.icon-text{color:#28583f;background:0 0;border:0;align-items:center;gap:6px;font-weight:600;display:inline-flex}.hero{text-align:center;max-width:860px;margin:106px auto 112px;padding:0 24px}.eyebrow{text-transform:uppercase;letter-spacing:1.1px;color:#3b7658;font:500 11px DM Mono,monospace}.hero h1,.upload-shell h1,.course-head h1,.processing h1{letter-spacing:-1.5px;font-family:Playfair Display,serif}.hero h1{color:#1e3326;margin:14px 0 21px;font-size:clamp(54px,8vw,92px);line-height:1}.hero h1 em{color:#236342}.hero>p{color:#5f695f;max-width:590px;margin:0 auto;font-size:20px;line-height:1.55}.hero-actions{justify-content:center;gap:12px;margin-top:32px;display:flex}.primary,.secondary{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 19px;font-weight:700;display:inline-flex}.primary{color:#fff;background:#256447;box-shadow:0 3px #17402c}.primary:hover{background:#1d563b}.secondary{color:#284431;background:#fff;border-color:#d6dbd1}.privacy{color:#657068;justify-content:center;gap:6px;margin-top:24px;font-size:13px;display:flex}.steps{border-top:1px solid #dedfd8;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1060px;margin:auto;padding:31px 24px 60px;display:grid}.steps div{position:relative}.steps span{color:#b3861e;font:500 12px DM Mono,monospace}.steps h2{color:#203127;margin:7px 0;font-size:16px}.steps p{color:#6a726b;margin:0;font-size:14px}.upload-page{min-height:100vh}.upload-shell{text-align:center;max-width:620px;margin:60px auto;padding:0 24px}.upload-shell h1{margin:11px 0;font-size:48px;line-height:1.05}.subcopy{color:#667069;margin:0 auto 28px;font-size:17px}.mode-toggle{background:#eceee8;border-radius:8px;max-width:290px;margin:0 auto 18px;padding:4px;display:flex}.mode-toggle button{color:#5d675f;background:0 0;border:0;border-radius:5px;flex:1;padding:8px;font-size:14px}.mode-toggle .active{color:#28543b;background:#fff;font-weight:700;box-shadow:0 1px 3px #00000010}.dropzone{color:#294a37;background:#f4f7f1;border:1.5px dashed #9ab29e;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:214px;display:flex}.dropzone strong{font-size:16px}.dropzone small,.file-note{color:#6f776f}.upload-icon{color:#286044;background:#deebdf;border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:4px;display:grid}.remove-file,.demo-link{color:#2f6c4c;background:0 0;border:0;align-items:center;gap:4px;margin:10px auto 0;font-size:13px;text-decoration:underline;display:flex}.file-note{text-align:left;margin:13px 0 20px;font-size:12px}.upload-shell textarea{resize:vertical;text-align:left;background:#fff;border:1px solid #cbd3c9;border-radius:8px;width:100%;height:214px;padding:14px}.error{color:#a13127;margin-top:12px;font-size:14px}.extract{width:100%;margin-top:22px}.demo-link{margin-top:16px}.processing{flex-direction:column;align-items:center;min-height:100vh;padding-top:30px;display:flex}.processing>div:first-child{align-self:flex-start;margin-left:5vw}.spinner{border:4px solid #d7e7d8;border-top-color:#2e7a55;border-radius:50%;width:48px;height:48px;margin:180px 0 22px;animation:1s linear infinite spin}.processing h1{margin:0;font-size:38px}.processing p{color:#667069;margin:6px}.progress{background:#e1e6df;border-radius:5px;width:260px;height:5px;margin-top:26px;overflow:hidden}.progress i{background:#3e8962;height:100%;animation:1.1s ease-in-out infinite progress;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{width:12%}to{width:100%}}.review{background:#f8f8f3;min-height:100vh}.review header{background:#fff;border-bottom:1px solid #e1e3dc;max-width:none;padding:0 max(28px,50vw - 610px)}.header-actions{align-items:center;gap:16px;display:flex}.compact{min-height:40px;padding:0 15px}.review-wrap{grid-template-columns:minmax(0,1fr) 285px;gap:38px;max-width:1220px;margin:auto;padding:42px 28px 70px;display:grid}.course-head{justify-content:space-between;align-items:flex-start;display:flex}.course-head h1{margin:6px 0 2px;font-size:37px;line-height:1.12}.course-head p{color:#67726a;margin:0}.found{text-align:right;color:#31573e;background:#eaf1e9;border-radius:7px;padding:9px 13px}.found strong{font-size:20px;line-height:1;display:block}.found span{font-size:12px}.confidence-row{color:#657069;gap:18px;margin:25px 0 22px;font-size:13px;display:flex}.dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.high{background:#4c9b68}.medium{background:#d59e30}.low{background:#be6c57}.toolbar{border-top:1px solid #e1e3dc;border-bottom:1px solid #e1e3dc;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.filters{gap:6px;display:flex;overflow:auto}.filters button{white-space:nowrap;color:#606a63;background:0 0;border:0;border-radius:5px;padding:7px 9px;font-size:13px}.filters button.active{color:#245738;background:#e4eee4;font-weight:700}.events{margin-top:8px}.event-row{border-bottom:1px solid #e4e5df;grid-template-columns:19px 34px minmax(0,1fr) auto 66px;align-items:start;gap:12px;padding:18px 7px;display:grid}.event-row input{accent-color:#2e754e;margin-top:6px}.type-icon{color:#35644a;background:#e1eee2;border-radius:7px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.type-icon.exam{color:#906515;background:#f5e7c3}.type-icon.project{color:#525b8c;background:#e5e7f2}.type-icon.office_hours{color:#287065;background:#e2ecea}.event-title{align-items:center;gap:8px;display:flex}.event-title h2{margin:0;font-size:15px;font-weight:700}.event-info p{color:#59675d;margin:2px 0;font-size:13px}.event-info small{color:#788078;white-space:nowrap;text-overflow:ellipsis;max-width:480px;font-size:12px;display:block;overflow:hidden}.review-badge{color:#9d4f3c;background:#f8e3dc;border-radius:3px;padding:3px 5px;font:500 10px DM Mono,monospace}.needs-review{background:linear-gradient(90deg,#fcf7f4,#0000)}.pill{color:#386248;white-space:nowrap;background:#e6eee5;border-radius:999px;padding:5px 8px;font-size:11px}.pill.exam{color:#8e651a;background:#f6eaca}.pill.project{color:#535e92;background:#e7e9f4}.pill.office_hours{color:#2a6a60;background:#e2efed}.row-actions{justify-content:flex-end;gap:3px;display:flex}.row-actions button,.modal-head button{color:#718076;background:0 0;border:0;padding:5px}.row-actions button:hover{color:#23543b}.add-event{color:#326545;background:#fbfcfa;border:1px dashed #a4b5a5;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:45px;margin-top:18px;font-weight:700;display:flex}.side-card{background:#fff;border:1px solid #dde2db;border-radius:8px;margin-bottom:16px;padding:19px}.side-title{color:#294a36;align-items:center;gap:8px;font-weight:700;display:flex}.side-card p{color:#657068;font-size:13px;line-height:1.55}.full{width:100%;min-height:42px;font-size:13px}.primary:disabled{cursor:not-allowed;box-shadow:none;background:#9aac9e}.export-success{color:#33633f;background:#e7f2e6;border-radius:6px;gap:6px;margin-top:13px;padding:10px;font-size:12px;line-height:1.45;display:flex}.details p{color:#3c4d42;justify-content:space-between;gap:8px;margin:12px 0 0;display:flex}.details p span{color:#7a837c}.empty{text-align:center;color:#6e766f;padding:55px}.empty h2{color:#2f4336;margin:10px 0 3px;font-size:17px}.empty p{margin:0;font-size:14px}.modal-backdrop{z-index:10;background:#19332366;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(575px,100%);padding:25px;box-shadow:0 20px 60px #11221844}.modal-head{justify-content:space-between;align-items:start;margin-bottom:20px;display:flex}.modal h2{margin:4px 0 0;font-family:Playfair Display,serif;font-size:26px}.modal label{color:#445247;margin-top:13px;font-size:13px;font-weight:600;display:block}.modal input:not([type=checkbox]),.modal select,.modal textarea{color:#263b2e;background:#fff;border:1px solid #c9d2c9;border-radius:6px;width:100%;margin-top:5px;padding:9px;font-weight:400}.modal textarea{resize:vertical;height:77px}.form-grid{grid-template-columns:repeat(2,1fr);gap:0 14px;display:grid}.check-label{align-items:center;gap:7px;font-weight:400!important;display:flex!important}.check-label input{accent-color:#27724c}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@media (width<=780px){.landing nav,.upload-page nav,.review header{padding:0 18px}.hero{margin:76px auto}.steps{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.review-wrap{padding:28px 17px 45px;display:block}.review aside{margin-top:24px}.header-actions .text-button{display:none}.course-head h1{font-size:31px}.event-row{grid-template-columns:18px 30px minmax(0,1fr) 53px;gap:8px}.event-row .pill{display:none}.row-actions{grid-area:1/4}.event-info small{white-space:normal}.confidence-row{flex-wrap:wrap;gap:9px}.toolbar{flex-direction:column;align-items:flex-start}.filters{max-width:100%}.hero-actions{flex-direction:column;align-items:stretch;max-width:280px;margin-left:auto;margin-right:auto}.processing h1{text-align:center;font-size:31px}.spinner{margin-top:145px}.upload-shell{margin-top:42px}.form-grid{grid-template-columns:1fr}.found{padding:7px}.course-head{gap:10px}}.workspace-tabs{background:#eef0eb;border-radius:7px;gap:3px;padding:4px;display:flex}.workspace-tabs button{color:#647067;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:7px 11px;display:flex}.workspace-tabs button.active{color:#24583d;background:#fff;font-weight:700}.workspace-layout{grid-template-columns:190px minmax(0,1fr);gap:38px;max-width:1220px;margin:auto;padding:35px 28px 70px;display:grid}.course-rail{border-right:1px solid #e0e4dd;padding-right:18px}.rail-heading{text-transform:uppercase;letter-spacing:1px;color:#78907f;margin:6px 9px 10px;font:500 11px DM Mono,monospace}.course-choice{text-align:left;color:#465a4b;background:0 0;border:0;border-radius:6px;width:100%;margin-bottom:4px;padding:10px 9px;display:block}.course-choice strong,.course-choice span{display:block}.course-choice strong{font-size:12px}.course-choice span{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.course-choice.active{color:#24563b;background:#e5efe5}.new-course{color:#2d704d;background:0 0;border:0;align-items:center;gap:6px;padding:10px 9px;font-size:13px;font-weight:700;display:flex}.account-callout{background:#fff8e7;border-left:4px solid #d8a92c;justify-content:space-between;align-items:center;gap:15px;margin:23px 0 20px;padding:15px 16px;display:flex}.account-callout strong,.account-callout span{display:block}.account-callout span{color:#687269;margin-top:3px;font-size:13px}.save-schedule{color:#2c6a47;background:0 0;border:0;margin-top:12px;font-weight:700;text-decoration:underline}.calendar-title{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.calendar-title h1{margin:5px 0;font-family:Playfair Display,serif;font-size:37px}.calendar-title p{color:#667168;margin:0}.calendar-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:#708071;text-transform:uppercase;padding:8px;font:500 11px DM Mono,monospace}.calendar-day{background:#fff;border:1px solid #e0e5dc;min-height:125px;padding:8px;overflow:hidden}.calendar-day>strong{color:#536459;font-size:12px}.calendar-day.muted{background:#fafbf8}.calendar-event{color:#286040;white-space:nowrap;text-overflow:ellipsis;background:#e4eee5;border-radius:3px;margin-top:5px;padding:4px;font-size:10px;line-height:1.25;overflow:hidden}.calendar-event.exam{color:#855f19;background:#f7ebcd}.calendar-event.project{color:#545d90;background:#e6e8f3}.calendar-event.quiz{color:#3c657c;background:#e5edf3}.calendar-day small{color:#597062;font-size:10px}.auth-modal>p{color:#637067;font-size:14px}.auth-message{color:#375e3d;background:#eef4ea;border-radius:5px;margin:14px 0;padding:9px;font-size:13px}@media (width<=780px){.workspace-layout{padding:22px 17px 45px;display:block}.course-rail{border-bottom:1px solid #e0e4dd;border-right:0;align-items:center;gap:7px;margin-bottom:22px;padding:0 0 13px;display:flex;overflow:auto}.rail-heading{display:none}.course-choice{min-width:130px}.new-course{white-space:nowrap}.workspace-tabs{position:absolute;left:50%;transform:translate(-50%)}.calendar-day{min-height:88px;padding:5px}.calendar-event{font-size:8px}.calendar-title h1{font-size:28px}.calendar-weekdays span{padding:5px;font-size:9px}.account-callout{flex-direction:column;align-items:flex-start}.calendar-title{align-items:flex-start;gap:10px}.calendar-title .primary{white-space:nowrap}}.calendar-month{margin-top:34px}.calendar-month h2{margin:0;font-family:Playfair Display,serif;font-size:26px}.month-nav{justify-content:center;align-items:center;gap:14px;margin:0 0 8px;display:flex}.month-nav button{color:#2d6849;background:#fff;border:1px solid #d9e0d8;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.month-nav button:hover{background:#e5efe5}.calendar-day>strong.today{color:#fff;background:#256447;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.auth-modal .full{margin-top:18px}.nav-actions{align-items:center;gap:16px;display:flex}.nav-actions .text-button:first-child,.header-actions>.text-button{color:#245c3e;background:#edf5ed;border:1px solid #2d704d;border-radius:6px;padding:8px 11px}.nav-actions .text-button:first-child:hover,.header-actions>.text-button:hover{background:#dcecdc}.course-head-actions{align-items:flex-start;gap:9px;display:flex}.class-actions{gap:3px;display:flex}.class-actions button{color:#326247;background:#fff;border:1px solid #d7e0d6;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.class-actions button:last-child{color:#a34e43}.class-actions button:hover{background:#edf5ed}.calendar-day{position:relative;overflow:visible}.calendar-day:hover,.calendar-day:focus-within{z-index:2}.calendar-event{cursor:default;position:relative;overflow:visible}.calendar-event-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-event:focus{outline-offset:2px;outline:2px solid #2d704d}.calendar-event-details{z-index:5;box-sizing:border-box;color:#34473a;white-space:normal;background:#fff;border:1px solid #d7dfd5;border-radius:6px;width:220px;padding:10px 11px;font-size:12px;line-height:1.35;display:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 20px #1d362529}.calendar-event:hover .calendar-event-details,.calendar-event:focus .calendar-event-details,.calendar-event-details strong,.calendar-event-details span{display:block}.calendar-event-details strong{color:#1f3026;margin-bottom:4px;font-size:13px}.calendar-event-details span{color:#607066;margin-top:2px}.calendar-event-details p{color:#46554b;margin:7px 0 0}@media (width<=780px){.calendar-event-details{width:min(220px,100vw - 34px);font-size:11px}}
