:root{--bg: #F6F2EA;--ink: #141416;--ink-2: #6d6a64;--ink-3: #716d66;--inverse: #ffffff;--card: #ffffff;--side: rgba(0, 0, 0, .035);--chip: rgba(0, 0, 0, .05);--line: rgba(0, 0, 0, .06);--shadow: 0 14px 30px rgba(0, 0, 0, .13);--lavender: #DDD7F8;--mint: #D6EBDA;--peach: #FDE0C6;--sky: #D4E5F7;--study: #7CC8BE;--dark-card: #1d1d20;--pro-glow: rgba(255, 192, 140, .45);--series-1: #E07B34;--series-2: #3F8F8B;--tag-bg: #3b2f1f;--tag-ink: #f0c27a;--dot-lavender: #8B78DB;--dot-mint: #3A8A6A;--dot-peach: #D08A3C;--dot-sky: #4C84C4;color-scheme:light}:root[data-scheme=dark]{--bg: #111113;--ink: #F4F1EA;--ink-2: #a5a19a;--ink-3: #8a8680;--inverse: #141416;--card: #1c1c1f;--side: rgba(255, 255, 255, .03);--chip: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .08);--shadow: 0 14px 30px rgba(0, 0, 0, .45);--lavender: #2E2A47;--mint: #1F3326;--peach: #3D2C1E;--sky: #1F2C3D;--study: #2C5F59;--dark-card: #2a2a2e;--pro-glow: rgba(255, 192, 140, .16);--series-1: #F4A261;--series-2: #5FB8B2;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}[tabindex="-1"]:focus{outline:none}h1,h2{margin:0}.small{font-size:14px;color:var(--ink-2)}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:20px}.text-link{background:none;border:0;padding:6px 2px;color:var(--ink-2);font-size:15px;font-weight:500}.text-link:hover{color:var(--ink)}.primary{display:inline-flex;justify-content:center;align-items:center;gap:8px;width:100%;border:0;border-radius:999px;padding:18px 24px;background:var(--ink);color:var(--inverse);font-size:18px;font-weight:600;text-decoration:none}.primary:hover{opacity:.9}.secondary{display:inline-flex;justify-content:center;align-items:center;width:100%;margin-top:10px;border:1px solid var(--line);border-radius:999px;padding:16px 24px;background:var(--card);color:var(--ink);font-size:17px;font-weight:600}.secondary:hover{background:var(--press, rgba(0,0,0,.06))}.signin-pill{border:0;border-radius:999px;padding:10px 20px;background:var(--ink);color:var(--inverse);font-size:15px;font-weight:600}.sample-signin{font-size:13.5px;opacity:.85;white-space:nowrap}.sample-bar .link-button{background:none;padding:0 2px;color:inherit;text-decoration:underline;font-weight:600}@media (max-width: 700px){.sample-signin{display:none}}.welcome{min-height:100vh;display:flex;flex-direction:column}.welcome-top{display:flex;align-items:center;justify-content:space-between;padding:18px 44px}.spacer-80{width:80px}.welcome-body{flex:1;display:flex;align-items:center;justify-content:center;gap:90px;padding:24px 44px 64px}.welcome-copy{width:470px;max-width:100%}.welcome-copy h1{font-size:58px;font-weight:650;letter-spacing:-2.6px;line-height:1.02}.lead{font-size:20px;line-height:1.4;color:var(--ink-2);margin:16px 0 34px}.note{text-align:center;color:var(--ink-2);font-size:15px;margin:16px 0 0}.collage{position:relative;width:540px;height:440px;flex-shrink:0}.wcard{position:absolute;width:340px;padding:20px;border-radius:30px;box-shadow:var(--shadow);opacity:0;animation:drop .6s cubic-bezier(.2,.9,.3,1.2) forwards}.wcard-1{--r: -6deg;background:var(--study);left:0;top:10px}.wcard-2{--r: 4deg;background:var(--dark-card);color:#fff;left:190px;top:140px;z-index:2;animation-delay:.4s}.wcard-2 .small{color:#ffffffb3}.wcard-3{--r: -3deg;background:var(--mint);left:30px;top:290px;animation-delay:.8s}.wcard-title{font-size:25px;font-weight:650;letter-spacing:-.8px;margin:2px 0}.tag{display:inline-block;margin-bottom:8px;padding:4px 11px;border-radius:999px;background:var(--tag-bg);color:var(--tag-ink);font-size:13px;font-weight:600}@keyframes drop{0%{opacity:0;transform:translateY(18px) rotate(var(--r)) scale(.96)}to{opacity:1;transform:rotate(var(--r))}}@media (prefers-reduced-motion: reduce){.wcard{animation:none;opacity:1;transform:rotate(var(--r))}}.soon{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 16px 64px;text-align:center;max-width:480px;margin:0 auto}.soon h1{font-size:34px;letter-spacing:-1.2px}.soon .lead{margin:0 0 16px}.shell{min-height:100vh;display:flex;flex-direction:column}.sample-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;padding:10px 16px;background:#141416;color:#fff;font-size:15px;text-align:center}.sample-bar button{border:0;border-radius:999px;padding:6px 14px;background:#f6f2ea;color:#141416;font-size:14px;font-weight:600}.frame{flex:1;display:flex}.tabs{width:240px;flex-shrink:0;background:var(--side);padding:24px 16px;display:flex;flex-direction:column;gap:4px}.tabs-brand{margin:0 10px 22px}.tab{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:11px 12px;border-radius:12px;font-size:16px;color:var(--ink-2)}.tab:hover{background:var(--chip)}.tab.on{background:var(--ink);color:var(--inverse);font-weight:600}.content{flex:1;min-width:0;padding:30px 44px 60px;max-width:900px}.caption{color:var(--ink-2);font-size:17px}.title{font-size:44px;font-weight:650;letter-spacing:-1.8px;margin:2px 0 18px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.title-actions{display:flex;gap:8px}.round-button{width:44px;height:44px;border-radius:50%;border:0;background:var(--chip);font-size:22px}.section{font-size:17px;font-weight:600;margin:26px 0 12px}.count{color:var(--ink-3);font-weight:500;margin-left:4px}.strip{display:flex;gap:10px;margin-bottom:20px;overflow-x:auto}.strip-day{flex:0 0 auto;width:74px;height:74px;border-radius:999px;border:0;background:var(--chip);display:flex;flex-direction:column;align-items:center;justify-content:center}.strip-day.on{width:110px;background:var(--ink);color:var(--inverse)}.strip-num{font-size:20px;font-weight:600}.strip-name{font-size:12px;opacity:.65}.attention{width:100%;border:0;text-align:left;background:var(--card);border-radius:22px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.attention-title{font-size:19px;font-weight:600;margin-bottom:3px}.round{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--inverse);display:flex;align-items:center;justify-content:center}.agenda{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:16px;align-items:stretch}.row-time{width:70px;flex-shrink:0;color:var(--ink-3);font-size:14px;padding-top:16px}.item{flex:1;min-width:0;border-radius:20px;padding:16px 20px;display:flex;align-items:center;gap:12px}.item-text{flex:1;min-width:0}.item-title{font-size:20px;font-weight:600}.item.done .item-title,.work.done .work-title{text-decoration:line-through;opacity:.55}.tint-lavender{background:var(--lavender)}.tint-mint{background:var(--mint)}.tint-peach{background:var(--peach)}.tint-sky{background:var(--sky)}.tint-study{background:var(--study)}.tint-plain{background:var(--card)}.check{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:2px solid var(--ink-3);background:transparent;color:transparent;display:flex;align-items:center;justify-content:center;padding:0}.check.on{background:var(--ink);border-color:var(--ink);color:var(--inverse)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--ink-3)}.dot-lavender{background:var(--dot-lavender)}.dot-mint{background:var(--dot-mint)}.dot-peach{background:var(--dot-peach)}.dot-sky{background:var(--dot-sky)}.month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;background:var(--card);border-radius:22px;padding:12px}.month-head{text-align:center;font-size:12px;font-weight:600;color:var(--ink-3);padding:4px 0 6px}.month-cell{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;border-radius:12px}.month-cell.blank{min-height:50px}.month-cell:hover:not(.blank){background:var(--chip)}.month-num{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500}.month-cell.today .month-num{box-shadow:inset 0 0 0 1.5px var(--ink);font-weight:700}.month-cell.on .month-num{background:var(--ink);color:var(--inverse);box-shadow:none}.dots{display:flex;gap:3px;height:5px}.dots .dot{width:5px;height:5px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.course{border-radius:26px;padding:22px;min-height:190px;display:flex;flex-direction:column;gap:4px}.course-code{font-size:14px;font-weight:600;color:var(--ink-2)}.course-name{font-size:22px;font-weight:650;letter-spacing:-.5px}.course-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;padding-top:18px}.course-grade{font-size:30px;font-weight:650;letter-spacing:-1px}.work-list{display:flex;flex-direction:column;gap:8px}.work{background:var(--card);border-radius:18px;padding:14px 18px;display:flex;align-items:center;gap:14px}.work-text{flex:1;min-width:0}.work-title{font-size:17px;font-weight:600}.weight{font-weight:600;color:var(--ink-2)}.empty{background:var(--card);border-radius:22px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.empty-pose{width:170px;height:170px;object-fit:contain}.empty-title{font-size:19px;font-weight:600}.tabs-footer{margin-top:auto;padding:16px 10px 0;border-top:1px solid var(--line)}.account{display:flex;flex-direction:column;gap:2px;min-width:0}.account-email{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account .text-link{align-self:flex-start;padding-left:0;font-size:14px}.text-link.danger{color:#c4312a}.text-link:disabled{opacity:.45;cursor:default}.primary:disabled{opacity:.5;cursor:default}.signin{flex:1;width:100%;max-width:440px;margin:0 auto;padding:40px 16px 64px}.signin h1{font-size:40px;letter-spacing:-1.6px}.signin .lead{margin:12px 0 24px;font-size:17px}.field-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.field{width:100%;font:inherit;font-size:18px;color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:16px}.field:focus{outline:none;border-color:var(--ink)}.field.code{font-size:28px;letter-spacing:10px;text-align:center;font-variant-numeric:tabular-nums}.error{color:#c4312a;font-size:15px;margin:-4px 0 14px}.signin-links{display:flex;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}.welcome-back{position:fixed;inset:0;z-index:20;border:0;padding:24px 16px;cursor:pointer;background:var(--bg);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:70px;animation:fade-in .25s ease-out}.welcome-back .collage{text-align:left}.welcome-back-text{text-align:left;width:440px;max-width:100%}.welcome-back-text h1{font-size:54px;font-weight:650;letter-spacing:-2.4px;line-height:1.04}.welcome-back-text .lead{margin:14px 0 0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.content.wide{max-width:1200px}.pill-button{border:0;border-radius:999px;padding:10px 16px;background:var(--ink);color:var(--inverse);font-weight:600}.notes{display:flex;gap:28px;align-items:flex-start}.notes-list{flex:1;min-width:0}.note-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.note-card{text-align:left;border:2px solid transparent;background:var(--card);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:6px;min-height:140px}.note-card.on{border-color:var(--ink)}.note-card-top{display:flex;align-items:center;gap:6px}.note-card-title{font-size:17px;font-weight:600}.note-card-body{font-size:14px;color:var(--ink-2);white-space:pre-line;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.note-editor{width:460px;flex-shrink:0;position:sticky;top:70px;background:var(--card);border-radius:24px;padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 100px);overflow:auto}.note-editor-bar{display:flex;justify-content:space-between}.note-course{align-self:flex-start;font:inherit;font-size:14px;color:var(--ink);background:var(--chip);border:0;border-radius:999px;padding:6px 12px}.note-title{font:inherit;font-size:26px;font-weight:650;letter-spacing:-.6px;border:0;background:none;color:var(--ink);padding:4px 0}.note-title:focus,.note-body:focus{outline:none}.note-body{font:inherit;font-size:16px;line-height:1.55;min-height:360px;resize:vertical;border:0;background:none;color:var(--ink);padding:0}.pages{display:flex;flex-direction:column;gap:12px}.page{margin:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line)}.page img{display:block;width:100%;height:auto}.page-missing{padding:40px 16px;text-align:center}.manage-link{align-self:flex-start;padding-left:0;font-size:14px}.small-pill{align-self:flex-start;margin:6px 0 4px;padding:6px 14px;font-size:14px}.footer-narrow{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pro-backdrop{position:fixed;inset:0;z-index:30;background:#00000073;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:40px 16px}.pro-sheet{position:relative;width:560px;max-width:100%;border-radius:30px;padding:28px 28px 24px;color:var(--ink);background:linear-gradient(180deg,var(--pro-glow) 0%,var(--card) 40%),var(--card)}.pro-close{position:absolute;top:18px;right:18px}.pro-sheet h1{font-size:34px;letter-spacing:-1.2px}.pro-sheet .lead{margin:6px 0 18px;font-size:16px}.pro-table{width:100%;border-collapse:collapse;font-size:14.5px}.pro-table th,.pro-table td{padding:8px 4px;border-bottom:1px solid var(--line)}.pro-table thead th{font-size:13px;color:var(--ink-2);font-weight:600}.pro-table tbody th{text-align:left;font-weight:500}.pro-table td{text-align:center;width:112px;color:var(--ink-2)}.pro-table td.pro-col{color:var(--ink);font-weight:600}.mark{font-weight:700}.mark.off{color:var(--ink-3);font-weight:400}.pro-plans{display:flex;flex-direction:column;gap:8px;margin:20px 0 14px}.pro-plan{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:18px;border:2px solid var(--line)}.pro-plan-name{font-weight:600;display:flex;align-items:center;gap:8px}.save{font-size:11px;font-weight:600;background:#ffc08c;color:#141416;padding:3px 8px;border-radius:999px}.pro-price{font-weight:700;font-size:16px}.fine{text-align:center;font-size:12.5px;color:var(--ink-2);margin:12px 0 0}.fine a{color:inherit}.upload-tab{margin-top:14px}.empty-action{margin-top:16px}.upload-sheet{width:620px}.drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 16px;margin-bottom:18px;border:2px dashed var(--line);border-radius:22px;background:var(--chip)}.drop.on{border-color:var(--ink)}.paste-label{margin-top:4px}.field.paste{min-height:110px;font-size:15px;resize:vertical}.paste-count{margin:-6px 0 12px;color:var(--ink-2)}.error-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 12px;margin:-4px 0 14px}.error-row .error{margin:0}.error-row .text-link{padding:0}.reading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:20px 0 8px}.reading .lead{margin:0 0 12px}.progress{width:220px;height:6px;border-radius:3px;background:var(--chip);overflow:hidden}.progress span{display:block;width:35%;height:100%;background:var(--ink);border-radius:3px;animation:slide 1.4s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion: reduce){.progress span{animation:none;width:100%;opacity:.4}}.progress.determinate span{animation:none;transform:none;transition:width .3s linear}.reading .percent{margin:2px 0 0;font-size:13px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.review-course{display:grid;grid-template-columns:1fr 1.6fr;gap:12px;margin-top:16px}.review-course .field{margin-bottom:6px;font-size:16px;padding:10px 12px}.review-note{margin:2px 0 6px}.review-list{display:flex;flex-direction:column;gap:6px}.review-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--chip);cursor:pointer}.review-row input{margin-top:3px;width:18px;height:18px;accent-color:var(--ink)}.review-text{display:flex;flex-direction:column;gap:1px}.review-title{font-weight:600}.estimate{color:#b26a14}.undated{margin:0 0 16px;padding-left:20px;color:var(--ink-2)}.upload-sheet .primary{margin-top:16px}.dash{display:flex;flex-direction:column;gap:14px}.dash .section{margin:18px 0 0}.dash-note{margin:-6px 0 4px}.dash .title-row{flex-wrap:wrap;gap:10px}.dash-range{display:flex;flex-wrap:nowrap;max-width:100%;gap:4px;background:var(--chip);padding:4px;border-radius:999px}.dash-range button{white-space:nowrap;border:0;background:none;padding:7px 12px;border-radius:999px;font-size:14px;color:var(--ink-2)}.dash-range button.on{background:var(--ink);color:var(--inverse);font-weight:600}.dash-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-tile{background:var(--card);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:2px;min-width:0}.dash-label{font-size:13px;font-weight:600;color:var(--ink-2)}.dash-value{font-size:32px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-card{background:var(--card);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}.dash-card h3{margin:0;font-size:16px}.dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.dash-legend{display:flex;gap:14px;font-size:13px;color:var(--ink-2)}.dash-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.dash-ranked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-ranked li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 52px;align-items:center;gap:10px;font-size:14px}.dash-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-count{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.dash-bar{height:8px;border-radius:4px;background:var(--chip);overflow:hidden}.dash-bar span{display:block;height:100%;border-radius:4px;background:var(--series-1)}.dash-chart{display:block;width:100%;height:160px;border-bottom:1px solid var(--line)}.dash-axis-row{display:flex;justify-content:space-between;gap:8px}.dash-s1{fill:var(--series-1);background:var(--series-1)}.dash-s2{fill:var(--series-2);background:var(--series-2)}@media (max-width: 1000px){.welcome-body{flex-direction:column;gap:40px}.collage{transform:scale(.8);margin:-40px 0}}@media (max-width: 800px){.welcome-top{padding:16px}.welcome-body{padding:8px 16px 48px}.welcome-copy h1{font-size:40px;letter-spacing:-1.6px}.welcome-body{justify-content:flex-start;gap:18px}.collage{transform:none;margin:0 auto;zoom:.62}.frame{flex-direction:column}.tabs{position:fixed;z-index:6;left:50%;bottom:16px;transform:translate(-50%);width:auto;flex-direction:row;padding:6px;border-radius:999px;background:#141416;gap:2px}.tabs-brand{display:none}.tab{flex-direction:column;gap:2px;font-size:11px;padding:8px 12px;border-radius:999px;color:#ffffffb3}.tab:hover{background:#ffffff14}.tab.on{background:#f6f2ea;color:#141416}.content{padding:20px 16px 120px}.title{font-size:34px;letter-spacing:-1.2px}.row-time{display:none}.strip{gap:6px}.strip-day{width:52px;height:64px}.strip-day.on{width:76px}.empty-pose,.tabs-footer{display:none}.footer-narrow{display:block;margin-top:32px;padding:16px;border-radius:20px;background:var(--card)}.pro-sheet{padding:24px 18px}.review-course{grid-template-columns:1fr}.dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}.dash-range button{padding:7px 9px;font-size:13px}.upload-tab span{display:none}.notes{flex-direction:column}.note-editor{position:fixed;inset:0;z-index:8;width:auto;max-height:none;border-radius:0;padding:16px 16px 120px}.welcome-back{flex-direction:column;gap:24px}.welcome-back-text h1{font-size:38px;letter-spacing:-1.4px}}html[data-mascots=off] img[src*="/mascot/"],html[data-mascots=off] .crew,html[data-mascots=off] .study-floor{display:none!important}:root{--sidebar: #EFEAE0;--side-ink: #3d3a34;--hover: rgba(0, 0, 0, .05);--press: rgba(0, 0, 0, .08);--accent: #FFC08C;--on-accent: #141416;--glow: #FFE6CF;--due: #F8DAD5;--due-ink: #8a2b20;--butter: #FCE7A8;--sticky-ink: #2d240a;--danger: #B3261E;--side-width: 264px;--folded-width: 60px}:root[data-scheme=dark]{--sidebar: #18181b;--side-ink: #d9d5ce;--hover: rgba(255, 255, 255, .06);--press: rgba(255, 255, 255, .1);--due: #45231f;--due-ink: #ffb4aa;--butter: #FCE7A8;--danger: #ff8a80}body.dragging,body.dragging *{cursor:grabbing!important;user-select:none}body.has-modal{overflow:hidden}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-frame{flex:1;display:flex;min-height:0}.app-page{flex:1;min-width:0;background:radial-gradient(900px 300px at 70% -160px,var(--glow),transparent 70%),var(--bg)}.main{padding:34px 44px 80px;max-width:1360px}.phone-bar{display:none}.side{position:sticky;top:0;height:100vh;flex-shrink:0;width:var(--side-width);background:var(--sidebar);color:var(--side-ink);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:10px;overflow-y:auto;overflow-x:hidden}.app:has(.sample-bar) .side{top:44px;height:calc(100vh - 44px)}.side-top{display:flex;align-items:center;gap:4px;padding:2px 2px 10px;min-height:48px}.side-brand{display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 8px;border-radius:10px;font-size:20px;font-weight:700;letter-spacing:-.4px;color:var(--ink);flex:1;min-width:0;text-align:left}.side-brand img{border-radius:8px;flex-shrink:0}.icon-button{width:36px;height:36px;flex-shrink:0;border:0;border-radius:10px;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:var(--hover)}.side-close{display:none}.nav{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:var(--side-ink);padding:8px 10px;min-height:38px;border-radius:10px;font-size:15px;text-align:left;white-space:nowrap}.nav:hover{background:var(--hover)}.nav.on{background:var(--press);color:var(--ink);font-weight:600}.nav svg{flex-shrink:0}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--ink-2)}.nav-group{display:flex;flex-direction:column;gap:1px;padding-top:10px}.nav-heading{font-size:12.5px;color:var(--ink-2);padding:8px 10px 4px;white-space:nowrap}.course-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;margin:0 4px;background:var(--ink-3)}.course-dot.dot-lavender{background:var(--dot-lavender)}.course-dot.dot-mint{background:var(--dot-mint)}.course-dot.dot-peach{background:var(--dot-peach)}.course-dot.dot-sky{background:var(--dot-sky)}.side-bottom{margin-top:auto;position:relative;padding-top:10px;border-top:1px solid var(--line)}.account-button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;color:var(--ink);padding:8px;border-radius:10px;text-align:left;min-height:48px}.account-button:hover,.account-button[aria-expanded=true]{background:var(--hover)}.avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--ink);color:var(--inverse);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.account-text{flex:1;min-width:0;white-space:nowrap;font-size:15px}.account-name{font-weight:600}.account-plan{color:var(--ink-2)}.save-state{font-size:12px;color:var(--ink-2);padding:0 10px 2px 50px}.account-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:30;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 16px 40px #0000002e;display:flex;flex-direction:column;min-width:220px}.account-menu-email{font-size:13px;color:var(--ink-2);padding:8px 10px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu button{display:flex;align-items:center;gap:10px;border:0;background:none;padding:9px 10px;border-radius:9px;font-size:15px;text-align:left;color:var(--ink)}.account-menu button:hover{background:var(--hover)}.menu-line{height:1px;background:var(--line);margin:4px 6px}.app.folded .side{width:var(--folded-width);padding-left:8px;padding-right:8px}.app.folded .nav-label,.app.folded .nav-count,.app.folded .nav-heading,.app.folded .save-state{display:none}.app.folded .side-top{flex-direction:column;gap:6px}.app.folded .side-brand{padding:6px;justify-content:center;flex:none}.app.folded .nav{justify-content:center;padding:8px 0}.app.folded .course-dot{margin:0}.app.folded .account-button{justify-content:center;padding:8px 0}.app.folded .account-menu{left:0;right:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-head .title{margin-bottom:4px}.head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.head-nav,.head-more{display:contents}.lead-small{margin:0;color:var(--ink-2);font-size:16px;line-height:1.45}.wide-page{max-width:1240px}.narrow-page{max-width:820px}.hint{margin-top:14px}.dark-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap}.dark-button{border:0;background:var(--ink);color:var(--inverse)}.dark-button:disabled{opacity:.4;cursor:default}.small-dark{min-height:36px;padding:0 14px;font-size:14px}.big-button{min-height:52px;padding:0 28px;font-size:16px}.ghost-button{border:1px solid var(--line);background:var(--card);color:var(--ink)}.ghost-button:hover{background:var(--hover)}.ghost-button.on{background:var(--ink);color:var(--inverse);border-color:var(--ink)}.ghost-button.danger{color:var(--danger)}.ghost-button:disabled{opacity:.45;cursor:default}.danger-button{border:0;background:var(--danger);color:#fff}.as-link{text-decoration:none}.small-round{width:34px;height:34px;font-size:16px}.round-button{display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.seg-group{display:inline-flex;background:var(--chip);border-radius:999px;padding:4px;gap:2px;flex-wrap:wrap}.seg{border:0;background:none;border-radius:999px;padding:0 14px;min-height:36px;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap}.seg.on{background:var(--ink);color:var(--inverse);font-weight:600}.text-link.strong{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.card-box{background:var(--card);border-radius:24px;padding:20px 22px}.box-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.box-head h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-.2px}.box-head.spaced{margin-top:26px}.side-title{margin:0 0 4px;font-size:19px;font-weight:700}.bar{width:8px;align-self:stretch;min-height:34px;border-radius:99px;flex-shrink:0;background:var(--ink-3)}.bar-lavender{background:var(--dot-lavender)}.bar-mint{background:var(--dot-mint)}.bar-peach{background:var(--dot-peach)}.bar-sky{background:var(--dot-sky)}.bar-study{background:var(--study)}.link-like{border:0;background:none;padding:0;text-align:left;font:inherit;font-size:17px;font-weight:600;color:var(--ink)}.link-like:hover{text-decoration:underline}.tint-due{background:var(--due);color:var(--due-ink)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-pair.three{grid-template-columns:1.4fr 1fr 1fr}.field-pair .field,.form-stack .field{margin-bottom:0;font-size:16px;padding:11px 14px}.form-stack{display:flex;flex-direction:column;gap:14px}.line-row{display:flex;align-items:center;gap:12px;margin:6px 0 16px;font-weight:500}.small-field{width:240px;max-width:100%;font-size:15px;padding:10px 12px;margin:0}.empty{gap:8px}.empty .dark-button{margin-top:10px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0a0a0c6b;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:6vh 16px 24px;animation:fade-in .15s ease-out}.modal{position:relative;width:520px;max-width:100%;background:var(--card);color:var(--ink);border-radius:24px;padding:22px 24px;box-shadow:0 30px 80px #0000004d}.modal.confirm{width:440px;margin-top:10vh}.modal.confirm p{line-height:1.5;color:var(--ink-2)}.modal-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.modal-title-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.modal-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.4px}.modal-title.big{font-size:30px;letter-spacing:-.8px}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}.item-window .field-pair{margin-top:6px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:16px;background:#141416;color:#fff;border-radius:14px;padding:12px 16px 12px 18px;font-size:15px;box-shadow:0 14px 30px #0000004d;max-width:calc(100vw - 32px);animation:fade-in .15s ease-out}.toast button{border:0;background:none;color:#ffc08c;font-weight:700;padding:6px 4px}.today{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.today-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}.today-side{flex:1 1 300px;max-width:360px;display:flex;flex-direction:column;gap:16px}.greeting{display:flex;align-items:flex-end;gap:16px}.greeting-text{flex:1;min-width:0}.greeting .title{margin:0 0 6px}.greeting-mascot{width:110px;height:110px;object-fit:contain;margin-bottom:-8px}.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tile{border-radius:24px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:170px}.tile-wide{grid-column:span 2}.tile-accent{background:var(--accent);color:var(--on-accent)}.tile-lavender{background:var(--lavender)}.tile-mint{background:var(--mint)}.tile-sky{background:var(--sky)}.tile-card{background:var(--card)}.tile-label{font-size:13px;font-weight:600;opacity:.75}.tile-big{font-size:30px;font-weight:800;letter-spacing:-.8px;line-height:1.1}.tile-line{font-size:14px;line-height:1.4;opacity:.85}.tile-number{font-size:40px;font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums}.tile-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.chip-dark,.chip-soft{border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600}.chip-dark{background:#141416;color:#fff}.chip-soft{background:#fff9;color:#141416}:root[data-scheme=dark] .chip-soft{background:#ffffff1f;color:var(--ink)}:root .tile-accent .chip-soft{background:#ffffff8c;color:#141416}.ring-row{display:flex;align-items:center;gap:14px;flex:1}.ring{flex-shrink:0}.ring-track{stroke:currentColor;opacity:.12}.ring-fill{stroke:var(--ink)}.ring-text{font-size:19px;font-weight:800;fill:var(--ink);font-family:inherit}.bars{display:flex;align-items:flex-end;gap:6px;height:92px}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.bar-fill{width:100%;border-radius:7px;background:var(--chip);min-height:6px}.bar-fill.now{background:var(--ink)}.bar-fill.peak{background:var(--accent)}.bar-day{font-size:11px;color:var(--ink-2)}.bar-day.now{color:var(--ink);font-weight:700}.due-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}.due-list li{display:flex;flex-direction:column;gap:1px;min-width:0}.due-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-list span{font-size:13px;opacity:.8}.timeline{display:flex;flex-direction:column;gap:10px}.tl-row{display:flex;gap:14px;align-items:stretch}.tl-time{width:70px;flex-shrink:0;font-size:13px;color:var(--ink-2);padding-top:14px;font-variant-numeric:tabular-nums}.tl-card{flex:1;min-width:0;border-radius:18px;padding:12px 16px;display:flex;align-items:center;gap:12px}.tl-card.tint-plain{background:var(--chip)}.tl-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tl-text b{font-size:16px}.tl-text span{font-size:13px;opacity:.8}.tl-card.done b{text-decoration:line-through;opacity:.55}.mini-month .box-head h2{font-size:17px}.mini-arrows{display:flex;gap:6px}.mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;justify-items:center}.mini-head{font-size:12px;font-weight:600;color:var(--ink-2);padding:2px 0 4px}.mini-day{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink)}.mini-day:hover{background:var(--hover)}.mini-day.due{background:var(--peach)}.mini-day.today{background:var(--ink);color:var(--inverse);font-weight:700}.legend{display:flex;align-items:center;gap:8px;margin-top:8px}.legend-swatch{width:10px;height:10px;border-radius:3px;background:var(--peach)}.todo-list{display:flex;flex-direction:column;gap:2px}.todo{display:flex;align-items:center;gap:10px;min-height:42px;padding:4px 6px;border-radius:12px}.todo:hover{background:var(--hover)}.todo-list:not(.compact) .todo{min-height:52px}.box{width:22px;height:22px;flex-shrink:0;border-radius:7px;border:2px solid var(--ink);background:none;color:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0}.box.on{background:var(--ink);color:var(--inverse)}.todo-text{flex:1;min-width:0;font-size:15px;overflow-wrap:anywhere}.todo.done .todo-text{text-decoration:line-through;color:var(--ink-2)}.todo-remove{border:0;background:none;color:var(--ink-2);width:32px;height:32px;border-radius:8px;opacity:0;display:inline-flex;align-items:center;justify-content:center}.todo:hover .todo-remove,.todo-remove:focus-visible{opacity:1}.grip{border:0;background:none;color:var(--ink-3);width:24px;height:32px;padding:0;cursor:grab;touch-action:none;display:inline-flex;align-items:center;justify-content:center}.todo-add{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:6px;padding:8px 6px 0;color:var(--ink-2)}.todo-add input{flex:1;border:0;background:none;font:inherit;font-size:15px;color:var(--ink);min-height:40px;outline:none}.cal-page .title{margin:0}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.cal-layout.with-todos{grid-template-columns:minmax(0,1fr) 280px}.week{background:var(--card);border-radius:24px;padding:14px 14px 0;min-width:0;overflow:hidden}.week-head,.week-due,.week-body{display:grid}.week-day{display:flex;justify-content:center;align-items:center;gap:5px;padding:6px 0 8px;font-size:13px;color:var(--ink-2)}.week-day b{color:var(--ink);font-size:15px}.week-day.today{background:var(--ink);color:var(--inverse);border-radius:999px;margin:0 4px 6px;padding:6px 0}.week-day.today b{color:var(--inverse)}.week-due{border-bottom:1px solid var(--line);padding-bottom:6px;min-height:36px}.due-label{font-size:11px;color:var(--ink-2);text-align:right;padding:8px 8px 0 0}.due-cell{display:flex;flex-direction:column;gap:4px;padding:2px 3px;border-radius:10px;min-width:0}.due-cell.drop{background:var(--chip);outline:2px dashed var(--ink);outline-offset:-2px}.chip-due{border:0;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab;touch-action:none;max-width:100%}.chip-due.done{text-decoration:line-through;opacity:.55}.chip-due.lifted{opacity:.35}.week-scroll{max-height:calc(100vh - 290px);min-height:360px;overflow-y:auto;position:relative}.week-body{position:relative}.hour{font-size:11px;color:var(--ink-2);text-align:right;padding-right:8px;transform:translateY(-7px);font-variant-numeric:tabular-nums}.col{position:relative;border-left:1px solid var(--line);background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% 56px}.col.today{background-color:color-mix(in srgb,var(--accent) 7%,transparent)}.now-line{position:absolute;left:0;right:0;height:2px;background:#d9480f;z-index:3}.now-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#d9480f}.block{position:absolute;border:0;border-radius:12px;padding:6px 8px;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:1px;font-size:12px;color:var(--ink);cursor:grab;touch-action:none;z-index:1}.block b{font-size:12.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.block span{opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block.tint-plain{background:var(--chip)}.block:hover{box-shadow:0 0 0 2px var(--ink) inset}.block.done b{text-decoration:line-through;opacity:.6}.block.moving{opacity:.3}.drop-spot{position:absolute;left:3px;right:3px;border:2px dashed var(--ink);border-radius:12px;background:color-mix(in srgb,var(--study) 25%,transparent);z-index:2;pointer-events:none}.week-empty{position:absolute;left:56px;right:0;top:80px;display:flex;justify-content:center;pointer-events:none}.week-empty .empty{background:transparent}.ghost{position:fixed;z-index:70;pointer-events:none;min-width:160px;max-width:240px;border-radius:14px;padding:9px 12px;display:flex;flex-direction:column;gap:2px;font-size:13px;transform:rotate(3deg);box-shadow:0 24px 40px #14141647,0 4px 10px #14141624;color:var(--ink)}.ghost.tint-plain{background:var(--card)}.ghost span{font-size:12px;font-weight:600}.cal-todos{background:var(--chip);border-radius:24px;padding:18px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:20px}.cal-todos .small{margin:0 6px 6px}.cal-todos h2{margin-left:6px}.cal-todos .todo{background:var(--card);margin-bottom:4px}.cal-todos-bar{display:flex;align-items:center;gap:4px;min-height:30px}.cal-todos-bar .side-title{flex:1;margin:0 0 0 6px}.cal-todos-bar.movable{cursor:grab;touch-action:none}.panel-button{width:30px;height:30px;border:0;border-radius:50%;background:var(--card);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none}.panel-button:hover{box-shadow:inset 0 0 0 1.5px var(--line)}.cal-todos.floating{position:fixed;z-index:38;width:280px;max-height:calc(100vh - 32px);overflow-y:auto;background:linear-gradient(var(--chip),var(--chip)),var(--bg);box-shadow:0 18px 44px #1414162e,0 3px 10px #14141614}.cal-layout.sized{grid-template-columns:minmax(0,var(--cal-w))}.cal-layout.with-todos.sized{grid-template-columns:minmax(0,var(--cal-w)) 280px}.week.resizable{position:relative;padding-bottom:12px}.cal-resize{position:absolute;z-index:4;touch-action:none;display:flex;align-items:center;justify-content:center}.cal-resize:after{content:"";border-radius:999px;background:var(--ink-2);opacity:0;transition:opacity .15s ease}.cal-resize:hover:after,.cal-resize:focus-visible:after{opacity:.55}.cal-resize:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:6px}.cal-resize-x{top:24px;bottom:24px;right:0;width:12px;cursor:ew-resize}.cal-resize-x:after{width:4px;height:44px}.cal-resize-y{left:24px;right:24px;bottom:0;height:12px;cursor:ns-resize}.cal-resize-y:after{width:44px;height:4px}.cal-resize-xy{right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize}.cal-resize-xy:after{width:9px;height:9px;border-radius:0 0 4px;background:none;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);opacity:.35}body.resizing-x,body.resizing-x *{cursor:ew-resize!important;user-select:none}body.resizing-y,body.resizing-y *{cursor:ns-resize!important;user-select:none}body.resizing-xy,body.resizing-xy *{cursor:nwse-resize!important;user-select:none}.month-big{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;background:var(--card);border-radius:24px;padding:14px}.month-box{border:0;background:var(--bg);border-radius:14px;min-height:104px;padding:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;min-width:0;color:var(--ink)}.month-box:hover{box-shadow:0 0 0 2px var(--ink) inset}.month-box.blank{background:none}.month-box .month-num{width:30px;height:30px;font-size:14px}.month-box.today .month-num{background:var(--ink);color:var(--inverse);border-radius:50%}.month-due{font-size:11.5px;font-weight:600;border-radius:7px;padding:3px 6px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticky-layer{position:fixed;inset:0;pointer-events:none;z-index:40}.sticky{border-radius:6px 6px 20px;padding:10px 12px 12px;color:var(--sticky-ink);display:flex;flex-direction:column;gap:6px;box-shadow:0 16px 34px #3c28002e,0 2px 6px #3c28001a}.sticky-butter{background:var(--butter)}.sticky-peach{background:#fde0c6}.sticky-mint{background:#d6ebda}.sticky-sky{background:#d4e5f7}.sticky-lavender{background:#ddd7f8}.sticky.float{position:fixed;width:250px;max-width:calc(100vw - 32px);pointer-events:auto;transform:rotate(-1.5deg)}.sticky.float:focus-within{transform:none}.sticky-bar{display:flex;align-items:center;gap:4px;min-height:30px;cursor:grab;touch-action:none}.sticky-label{flex:1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.75}.sticky-button{width:30px;height:30px;border:0;border-radius:50%;background:#3c28001a;color:inherit;display:inline-flex;align-items:center;justify-content:center;padding:0}.sticky-button:hover{background:#3c28002e}.swatch{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #3c280059}.sticky textarea{border:0;background:none;resize:none;font:inherit;font-size:15px;line-height:1.45;color:inherit;min-height:96px;outline:none}.sticky textarea::placeholder{color:#2d240a80}.sticky.pinned{transform:rotate(-.8deg)}.sticky.pinned+.sticky.pinned{transform:rotate(1deg)}.pin-menu{position:absolute;top:44px;right:8px;z-index:2;width:230px;background:var(--card);color:var(--ink);border-radius:14px;padding:6px;box-shadow:0 16px 40px #0003;display:flex;flex-direction:column}.pin-menu-title{font-size:13px;font-weight:600;color:var(--ink-2);padding:6px 8px}.pin-menu button{display:flex;align-items:center;gap:8px;border:0;background:none;padding:8px;border-radius:9px;text-align:left;font-size:14px;color:var(--ink)}.pin-menu button:hover:not(:disabled){background:var(--hover)}.pin-menu button:disabled{opacity:.45;cursor:default}.pin-menu .small{margin-left:auto}.sticky-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.sticky.card{min-height:180px}.sticky-text{margin:0;flex:1;font-size:15px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}.sticky-actions{display:flex;justify-content:space-between}.sticky-actions .text-link{color:inherit;font-weight:600}.course-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.course-card{position:relative;overflow:hidden;border:0;text-align:left;color:var(--ink);border-radius:26px;padding:22px;min-height:210px;display:flex;flex-direction:column;gap:4px}.course-card:hover{box-shadow:0 0 0 2px var(--ink) inset}.course-card>span{position:relative}.burst{position:absolute;right:-40px;top:-40px;width:420px;height:300px;pointer-events:none}.burst.small{width:260px;height:186px;right:-60px;top:-50px;opacity:.8}.burst-lines{fill:none;stroke-width:1.6;stroke-linecap:round;stroke:var(--ink-3)}.line-lavender{stroke:var(--dot-lavender)}.line-mint{stroke:var(--dot-mint)}.line-peach{stroke:var(--dot-peach)}.line-sky{stroke:var(--dot-sky)}.cover-banner{display:block;aspect-ratio:356 / 112;overflow:hidden;background:var(--ink-3)}.cover-banner img{display:block;width:100%;height:100%;object-fit:cover}.course-card.has-cover{padding-top:0}.course-card.has-cover .cover-banner{margin:0 -22px 14px}.course-banner.has-cover{padding-top:0}.course-banner.has-cover .cover-banner{margin:0 -30px 14px}.course-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-top:18px}.course-foot>span:first-child{display:flex;flex-direction:column}.next-due{text-align:right;max-width:55%}.course-banner{position:relative;overflow:hidden;border-radius:30px;padding:26px 30px;min-height:220px;display:flex;flex-direction:column;gap:10px}.course-banner>:not(.burst){position:relative}.crumbs{display:flex;gap:8px;align-items:center;font-size:14px}.crumbs .text-link{color:inherit;font-weight:600;padding:0}.banner-title{margin:0;font-size:42px;font-weight:800;letter-spacing:-1.3px;line-height:1.05;max-width:680px}.banner-line{font-size:15px;opacity:.8}.banner-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}.as-button{border:0;cursor:pointer}.tint-pick{display:inline-flex;align-items:center;gap:8px}.tint-row{display:inline-flex;gap:8px}.tint-swatch{width:30px;height:30px;border-radius:50%;border:2px solid rgba(20,20,22,.15);padding:0}.tint-swatch.tint-lavender{background:#ddd7f8}.tint-swatch.tint-mint{background:#d6ebda}.tint-swatch.tint-peach{background:#fde0c6}.tint-swatch.tint-sky{background:#d4e5f7}.tint-swatch.on{outline:3px solid var(--ink);outline-offset:2px}.tabs-line{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:18px 0;overflow-x:auto}.tab-link{border:0;background:none;padding:10px 2px;font-size:15px;font-weight:500;color:var(--ink-2);border-bottom:2px solid transparent;white-space:nowrap;min-height:44px}.tab-link.on{color:var(--ink);font-weight:700;border-bottom-color:var(--ink)}.course-body{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.course-main{flex:999 1 460px;min-width:0}.course-side{flex:1 1 280px;max-width:340px;display:flex;flex-direction:column;gap:12px}.add-pinned{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;border:2px dashed var(--line);background:none;border-radius:16px;color:var(--ink-2);font-weight:600}.add-pinned:hover{border-color:var(--ink-3);color:var(--ink)}.inky-card{display:flex;gap:12px;align-items:center;background:var(--card);border-radius:20px;padding:14px 16px}.inky-card img{object-fit:contain}.inky-card p{margin:0 0 8px;font-size:14px}.next-class{margin-top:12px}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.note-tile{border:0;background:var(--card);border-radius:18px;padding:14px 16px;text-align:left;display:flex;flex-direction:column;gap:6px;min-height:104px;color:var(--ink)}.note-tile:hover{box-shadow:0 0 0 2px var(--ink) inset}.note-tile span{font-size:13px;color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.grade-hero{background:var(--card);border-radius:20px;padding:18px 20px;margin-bottom:14px}.grade-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:18px;overflow:hidden}.grade-table th,.grade-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14.5px}.grade-table thead th{font-size:13px;color:var(--ink-2);font-weight:600}.grade-table tbody th{font-weight:600}.breakdown{list-style:none;margin:0;padding:0;background:var(--card);border-radius:18px}.breakdown li{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.breakdown li:last-child{border-bottom:0}.facts{margin:0;background:var(--card);border-radius:18px}.facts div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.facts div:last-child{border-bottom:0}.facts dt{color:var(--ink-2);font-size:14px}.facts dd{margin:0;overflow-wrap:anywhere}.facts a{color:var(--ink)}.policy{background:var(--card);border-radius:14px;padding:12px 16px;margin-bottom:8px}.policy summary{font-weight:600;cursor:pointer}.policy p{margin:8px 0 0;color:var(--ink-2);line-height:1.5}.link-list{padding-left:20px}.link-list a{color:var(--ink);overflow-wrap:anywhere}.main-notes .notes{align-items:flex-start}.main-notes .note-editor{top:24px}.modal.settings-window{width:1040px;height:min(760px,88vh);padding:0;display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden;margin-top:-2vh}.settings-side{border-right:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.settings-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink-2);background:var(--bg)}.settings-search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:15px;min-height:42px;color:var(--ink);outline:none}.settings-heading{font-size:13px;color:var(--ink-2);padding:18px 10px 6px}.settings-link{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:10px;border-radius:10px;font-size:15px;text-align:left;color:var(--ink);min-height:44px}.settings-link:hover{background:var(--hover)}.settings-link.on{background:var(--press);font-weight:600}.settings-content{overflow-y:auto;padding:18px 36px 40px}.settings-top{display:flex;justify-content:flex-end;position:sticky;top:0}.settings-back{display:none;margin-right:auto}.settings-title{margin:0 0 18px;font-size:26px;font-weight:700;letter-spacing:-.5px}.set-row{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.set-text{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:3px}.set-title{font-size:15.5px;font-weight:600;overflow-wrap:anywhere}.set-title.danger{color:var(--danger)}.set-sub{font-size:13.5px;color:var(--ink-2);line-height:1.45}.set-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.set-label{font-size:13px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 10px}.set-note{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:18px 0 0}.set-note.top{margin:0 0 4px}.switch{position:relative;width:52px;height:30px;border-radius:999px;border:0;background:var(--chip);padding:0;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--line)}.switch:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:left .15s ease}.switch.on{background:var(--ink)}.switch.on:after{left:25px;background:var(--inverse)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}.theme-choice{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 4px;border-radius:14px;font-size:13px;color:var(--ink-2)}.theme-choice:hover{background:var(--hover)}.theme-dot{width:52px;height:52px;border-radius:50%;border:6px solid transparent;box-shadow:inset 0 0 0 1px #1414161f;box-sizing:border-box}.theme-choice.on{color:var(--ink);font-weight:700}.theme-choice.on .theme-dot{outline:3px solid var(--ink);outline-offset:3px}.set-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:30px 0}.set-empty img{object-fit:contain}.plan-card{display:flex;align-items:center;gap:18px;padding:8px 0 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.plan-card img{object-fit:contain}.plan-name{font-size:20px;font-weight:700}.plan-sub{color:var(--ink-2);font-size:15px;margin-top:2px}.plan-action{margin-left:auto}.spark{color:#e07b34}.store-line{padding:22px 0 6px}.store-head{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700}.store-line p{margin:10px 0 14px;line-height:1.5}.modal.study-setup{width:600px}.crew{display:flex;justify-content:center;align-items:flex-end;gap:28px}.crew img{height:150px;width:auto;object-fit:contain}.crew img.lead{height:176px}.small-crew{gap:6px;margin:4px 0 8px}.small-crew img{height:92px}.choice{margin-top:4px}.choice .set-label{margin:14px 0 8px}.choice-pair{display:flex;gap:28px;flex-wrap:wrap}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pick{border:1px solid var(--line);background:var(--card);min-height:46px;padding:0 18px;border-radius:999px;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;color:var(--ink)}.pick.on{background:var(--ink);color:var(--inverse);border-color:var(--ink)}.task-picks{display:flex;flex-direction:column;gap:8px}.task-pick{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:10px 14px;text-align:left;min-height:56px;color:var(--ink)}.task-pick>span:last-child{display:flex;flex-direction:column;gap:2px}.task-pick.on{border:2px solid var(--ink)}.study-screen{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;padding:26px 32px 0;overflow:hidden;background:#141416;color:#f4f1ea;animation:fade-in .25s ease-out}.study-screen.break{background:#d6ebda;color:#141416}.study-screen.done{background:var(--accent);color:var(--on-accent)}.study-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.study-task{font-weight:600;font-size:15px}.study-round{font-size:15px;opacity:.7}.study-top .bar{min-height:10px;width:10px;align-self:center}.spacer{flex:1}.study-end{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 30%,transparent);background:none;color:inherit;min-height:44px;padding:0 18px;border-radius:999px;font-weight:600;font-size:14px}.study-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:10px 0 20px;text-align:center}.timer-ring{position:relative;width:min(400px,70vw,46vh);aspect-ratio:1}.timer-ring svg{width:100%;height:100%}.study-screen .ring-track{stroke:currentColor;opacity:.12}.study-screen .ring-fill{stroke:#f49a52}.study-screen.break .ring-fill{stroke:#141416}.timer-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.timer-time{font-size:clamp(56px,11vh,112px);font-weight:800;letter-spacing:-4px;font-variant-numeric:tabular-nums;line-height:1}.timer-sub{font-size:15px;opacity:.7}.study-line{margin:0;font-size:26px;font-weight:700;letter-spacing:-.4px}.study-sub{margin:-8px 0 0;opacity:.75}.study-big{font-size:clamp(48px,9vh,96px);font-weight:800;letter-spacing:-3px}.study-controls{display:flex;gap:12px;align-items:center}.study-round-button{width:64px;height:64px;border-radius:50%;border:0;background:currentColor;display:inline-flex;align-items:center;justify-content:center}.study-round-button svg{color:#141416}.study-screen.break .study-round-button svg{color:#fff}.study-pill{min-height:56px;padding:0 22px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:none;color:inherit;font-weight:600;font-size:15px}.study-pill.solid{background:currentColor;border:0}.study-screen .study-pill.solid{color:inherit}.study-screen.break .study-pill.solid,.study-screen.done .study-pill.solid{background:#141416;color:#fff}.study-screen:not(.break):not(.done) .study-pill.solid{background:#f4f1ea;color:#141416}.round-bars{display:flex;gap:8px}.round-bars span{width:36px;height:8px;border-radius:99px;background:currentColor;opacity:.15}.round-bars span.on{opacity:1}.study-floor{height:22px;margin:0 -32px;background:#ffffff0d}.study-screen.break .study-floor{background:#0000000d}@media (max-width: 1100px){.main{padding:28px 28px 80px}.cal-layout.with-todos{grid-template-columns:minmax(0,1fr)}.cal-todos{position:static}.cal-layout.with-todos.sized{grid-template-columns:minmax(0,var(--cal-w))}.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 800px){.side{position:fixed;z-index:45;left:0;top:0;height:100vh;width:min(300px,86vw);transform:translate(-102%);transition:transform .2s ease;box-shadow:0 0 40px #0003}.app:has(.sample-bar) .side{height:100vh}.app.drawer-open .side{transform:none}.app.folded .side{width:min(300px,86vw)}.app.folded .nav-label,.app.folded .nav-count,.app.folded .nav-heading{display:initial}.app.folded .nav{justify-content:flex-start;padding:8px 10px}.side-fold{display:none}.side-close{display:inline-flex}.drawer-scrim{position:fixed;inset:0;z-index:44;border:0;background:#00000059}.phone-bar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:20;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--line)}.phone-logo{border-radius:7px}.phone-title{font-weight:700;font-size:17px}.main{padding:18px 16px 90px}.greeting-mascot{width:76px;height:76px}.bento{grid-template-columns:minmax(0,1fr)}.tile-wide{grid-column:auto}.today-side{max-width:none}.tl-time{display:none}.head-actions{width:100%}.cal-page .page-head{margin-bottom:14px;gap:12px}.cal-page .title{font-size:30px}.cal-page .head-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.cal-page .seg-group{display:flex;flex-wrap:nowrap}.cal-page .seg-group .seg{flex:1}.cal-page .head-nav{display:flex;gap:6px}.cal-page .head-more{display:flex;gap:8px;grid-column:1 / -1}.cal-page .head-more>*{flex:1}.cal-page .head-more .ghost-button.on{background:var(--card);color:var(--ink);border-color:var(--line)}.week{padding:8px 6px 0}.week-scroll{max-height:70vh}.month-box{min-height:64px;padding:4px}.month-due{display:none}.banner-title{font-size:30px}.course-banner{padding:20px}.course-side{max-width:none}.facts div{grid-template-columns:1fr;gap:2px}.modal.settings-window{width:100%;height:92vh;grid-template-columns:minmax(0,1fr);margin-top:0}.settings-side{display:none}.settings-window.show-list .settings-side{display:flex}.settings-window.show-list .settings-content{display:none}.settings-back{display:inline-flex}.settings-content{padding:12px 18px 30px}.crew{gap:6px}.crew img{height:82px}.crew img.lead{height:96px}.study-screen{padding:18px 18px 0}.study-line{font-size:21px}.sticky-layer{display:none}.field-pair,.field-pair.three{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.side,.switch:after{transition:none}.study-screen,.modal-backdrop,.toast{animation:none}}.sync-notice{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin:20px 44px 0;padding:12px 16px 12px 18px;background:#141416;color:#fff;border-radius:14px;font-size:15px;max-width:1272px}.sync-notice>div{flex:1 1 320px}.sync-notice p{margin:0}.sync-notice p+p{margin-top:6px}.sync-notice button{border:0;border-radius:999px;padding:7px 16px;background:#f6f2ea;color:#141416;font-size:14px;font-weight:600}@media (max-width: 1100px){.sync-notice{margin:16px 28px 0}}@media (max-width: 800px){.sync-notice{margin:12px 16px 0}}.crash{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px 16px}.crash.in-page{min-height:60vh}.crash-title{font-size:24px;font-weight:650;letter-spacing:-.4px}.crash .lead-small{max-width:420px;margin-bottom:8px}.modal.walkthrough{width:560px;margin-top:4vh;padding:18px 26px 24px;background:radial-gradient(520px 220px at 70% -60px,var(--glow),transparent 70%),var(--bg)}.tour{display:flex;flex-direction:column}.tour-top{display:flex;justify-content:flex-end}.tour-picture{position:relative;display:flex;justify-content:center;margin:4px 0 56px;animation:fade-in .2s ease-out}.tour-picture.no-mascot{margin-bottom:8px}.tour-picture.no-mascot .tour-preview{transform:scale(1.04)}.tour-mascot{position:absolute;right:18px;bottom:-58px;width:120px;height:120px}.tour-mascot img{width:100%;height:100%;object-fit:contain}.tour-crew{position:absolute;left:0;right:0;bottom:-54px;display:flex;justify-content:center;align-items:flex-end;gap:6px}.tour-crew img{height:66px}.tour-crew img.lead{height:76px}.tour-preview{width:340px;max-width:100%;min-height:190px;padding:16px;border-radius:24px;background:var(--card);box-shadow:0 14px 36px #0000001a;display:flex;flex-direction:column;gap:8px;transition:transform .2s}.tour-preview.center{align-items:center;justify-content:center}.tour-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.8px}.tour-text{margin:8px 0 0;font-size:16px;line-height:1.45;color:var(--ink-2);min-height:46px}.tour-dots{display:flex;justify-content:center;gap:8px;margin:22px 0 16px}.tour-dots span{width:7px;height:7px;border-radius:4px;background:var(--line);transition:width .2s}.tour-dots span.on{width:18px;background:var(--ink)}.tour-next{height:50px;border-radius:25px;font-size:16px;font-weight:600;width:100%;justify-content:center}.tour-month{font-size:26px;font-weight:700;letter-spacing:-.8px}.tour-days{display:flex;gap:6px;margin-top:4px}.tour-days span{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 0;border-radius:999px;background:var(--chip);font-size:11px}.tour-days span b{font-size:16px}.tour-days span.on{background:var(--ink);color:var(--inverse)}.tour-file{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;margin-bottom:4px}.tour-doc{width:30px;height:34px;border-radius:6px;background:var(--chip)}.tour-check{margin-left:auto;color:var(--accent);font-size:18px}.tour-row{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:14px;background:var(--chip);font-size:13.5px;font-weight:500}.tour-row span:first-child{flex:1}.tour-weight{padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:12.5px;font-weight:600}.tour-upnext{padding:18px;border-radius:22px;background:var(--accent);color:var(--on-accent)}.tour-upnext-time{font-size:13px;opacity:.75}.tour-upnext-title{font-size:24px;font-weight:700;letter-spacing:-.6px;margin:6px 0 10px}.tour-upnext-foot{display:flex;align-items:center;gap:10px;font-size:12.5px}.tour-round{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--inverse);display:grid;place-items:center}.tour-week{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto repeat(6,22px);gap:4px 6px}.tour-weekday{text-align:center;font-size:12px;font-weight:600;color:var(--ink-2)}.tour-block{border-radius:10px;padding:6px 7px;font-size:11.5px;font-weight:600;line-height:1.25}.tour-block.filled{background:var(--accent);color:var(--on-accent)}.tour-block.study{border:1.2px dashed var(--accent);background:var(--glow);color:var(--ink)}.tour-block small{font-weight:400}.tour-ring{position:relative;width:140px;height:140px}.tour-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.tour-ring circle{fill:none;stroke-width:10}.tour-ring .track{stroke:var(--chip)}.tour-ring .done{stroke:var(--accent);stroke-linecap:round}.tour-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.tour-ring b{font-size:30px;font-variant-numeric:tabular-nums}.tour-note-title{font-weight:700;font-size:16px}.tour-note{display:flex;gap:12px}.tour-note>div:first-child{flex:1;display:flex;flex-direction:column;gap:8px}.tour-ink{width:100%;height:26px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.tour-ink.faint{width:60%;opacity:.7}.tour-line{height:6px;border-radius:3px;background:var(--line)}.tour-line.short{width:65%}.tour-note-hand{width:110px;height:76px;border-radius:10px;background:var(--glow);padding:10px;display:flex;align-items:flex-end}.tour-todos{display:flex;gap:12px;align-items:flex-start}.tour-todos>div:first-child{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.tour-todo{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--chip);font-size:12.5px;font-weight:500}.tour-todo.lifted{background:var(--bg);box-shadow:0 8px 18px #00000024;transform:rotate(-2deg) translate(6px)}.tour-todo.done{color:var(--ink-2);text-decoration:line-through}.tour-box{flex:none;width:16px;height:16px;border-radius:5px;border:1.6px solid var(--ink);display:grid;place-items:center;font-size:10px}.tour-box.on{background:var(--ink);color:var(--inverse)}.tour-sticky{flex:none;width:104px;min-height:104px;padding:10px;border-radius:4px 4px 14px;background:var(--butter);color:var(--sticky-ink);font-size:12px;line-height:1.35;transform:rotate(2deg);box-shadow:0 8px 18px #3c280029}@media (max-width: 600px){.modal.walkthrough{margin-top:0;padding:14px 18px 20px}.tour-title{font-size:24px}}
