*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#1e2330;--surface:#2e3445;--card:#424a60;--card2:#4e5870;--card3:#5a6480;--t1:#f2f6fc;--t2:#b8cce0;--t3:#6a8aaa;--b1:#2a3a52;--b2:#3a4e68;--amber:#cf9a48;--amber-bg:#2a1e08;--amber-dim:#1e1608;--blue:#8ec4f0;--blue-bg:#0c1e34;--green:#6ac890;--green-bg:#0c2418;--red:#e07068;--red-bg:#2a0e0c;--purple:#9880c8;--purple-bg:#1c1438;--teal:#60b8a8;--teal-bg:#0c2228;--lime:#94b860;--lime-bg:#182208;--a-class:#0e2030;--a-class-t:#80b4d0;--a-study:#0c2018;--a-study-t:#78b888;--a-bfast:#2a1e08;--a-bfast-t:#d0a860;--a-lunch:#182808;--a-lunch-t:#90b860;--a-dinr:#2a1808;--a-dinr-t:#d08060;--a-gym:#1c1030;--a-gym-t:#9080c8;--a-homework:#0a2828;--a-homework-t:#58c8c0;--a-comm:#0e1a2c;--a-comm-t:#7090b8;--a-sleep:#090d14;--a-sleep-t:#3a5268;--a-chore:#182818;--a-chore-t:#70a878;--a-fun:#281e08;--a-fun-t:#c8b060;--a-exam:#2a1808;--a-exam-t:#d09060}html{font-size:17px;overflow-x:hidden}body{background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;max-width:100vw;min-height:100vh;font-family:Inter,sans-serif;font-weight:400;line-height:1.6;overflow-x:hidden}h1{color:var(--t1);font-size:1.65rem;font-weight:600;line-height:1.3}h2{color:var(--t1);font-size:1.4rem;font-weight:600;line-height:1.3}h3{color:var(--t1);font-size:1.15rem;font-weight:500}p{color:var(--t2);font-size:.95rem}input,select,textarea{background:var(--card2);border:1.5px solid var(--b1);color:var(--t1);border-radius:8px;outline:none;width:100%;padding:10px 13px;font-family:inherit;font-size:16px;font-weight:400;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--amber)}input::placeholder,textarea::placeholder{color:var(--t3)}select option{background:var(--card2)}.select-compact{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236a8aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;width:auto;min-width:110px;max-width:150px;padding:10px 32px 10px 13px}.input-time{flex-shrink:0;width:auto;min-width:128px;max-width:142px}.input-date{flex-shrink:0;width:auto;min-width:148px;max-width:165px}.input-num-sm{width:auto;min-width:78px;max-width:100px}.field-grid{grid-template-columns:minmax(0,max-content) minmax(0,240px);align-items:center;gap:12px 14px;width:max-content;max-width:100%;margin:0 auto;display:grid}.field-grid>label{text-align:right;margin:0}.aligned-fields .field-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);width:100%;max-width:none;margin:0}.aligned-fields .field-grid>.input-time,.aligned-fields .field-grid>.input-date,.aligned-fields .field-grid>.input-num-sm,.aligned-fields .field-grid>.select-compact,.aligned-fields .field-grid>.toggle-group{justify-self:start}.field-grid .align-col-flex{justify-content:flex-end;align-items:center;gap:8px;display:flex}.field-grid .align-col-stacked{flex-direction:column;align-items:flex-end;gap:2px}.field-grid .field-hint{color:var(--t3);margin-top:3px;font-size:11px}@media (max-width:640px){.field-grid,.aligned-fields .field-grid{grid-template-columns:1fr;row-gap:6px;width:100%;max-width:none;margin:0}.field-grid>label{text-align:left;margin-bottom:0}.field-grid>label:not(:first-child),.field-grid>.align-col-label:not(:first-child){margin-top:16px}.field-grid .align-col-flex{justify-content:flex-start}.field-grid .align-col-stacked{align-items:flex-start}}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}label{color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:12px;font-weight:400;display:block}.card{background:var(--card);border-radius:12px;margin-bottom:14px;padding:20px 22px}.card2{background:var(--card2);border-radius:10px;margin-bottom:11px;padding:15px 18px}.card-accent{background:var(--card);border-left:3px solid var(--blue);border-radius:12px;margin-bottom:12px;padding:18px 20px}.card-warn{background:var(--amber-bg);border-left:3px solid var(--amber);border-radius:12px;margin-bottom:12px;padding:16px 20px}.card-critical{background:var(--red-bg);border-left:3px solid var(--red);border-radius:12px;margin-bottom:12px;padding:16px 20px}.sec-head{border-bottom:1px solid var(--b1);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.sec-title{color:var(--t2);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.sec-title i{color:var(--blue);font-size:16px}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:7px;min-height:42px;padding:10px 18px;font-family:inherit;font-size:15px;font-weight:400;transition:opacity .15s,background .15s;display:inline-flex}.btn-action{background:var(--amber);color:#1a0e00}.btn-action:hover{opacity:.85}.btn-action:disabled{opacity:.3;cursor:not-allowed}.btn-action:disabled:has(.spin){opacity:1}.btn-ghost{background:var(--card2);color:var(--t2)}.btn-ghost:hover{background:var(--card3);color:var(--t1)}.btn-ghost:disabled{opacity:.3;cursor:not-allowed}.link-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;text-decoration:none}.link-btn:hover{text-decoration:underline}.tt{position:relative}.tt:after{content:attr(data-tt);color:#e8ecf4;white-space:normal;opacity:0;pointer-events:none;visibility:hidden;z-index:1000;background:#1a1f2e;border:1px solid #ffffff24;border-radius:7px;width:max-content;max-width:280px;padding:6px 10px;font-size:12px;line-height:1.4;transition:opacity .1s;position:absolute;bottom:100%;left:50%;transform:translate(-50%,-6px);box-shadow:0 4px 14px #00000059}.tt:hover:after{opacity:1;visibility:visible}.tt-left:after{left:0;transform:translateY(-6px)}.tt-right:after{left:auto;right:0;transform:translateY(-6px)}.tt-below:after{top:100%;bottom:auto;transform:translate(-50%,6px)}.tt-below.tt-right:after{inset:100% 0 auto auto;transform:translateY(6px)}.btn-del{color:var(--red);background:0 0;border-radius:7px;min-height:34px;padding:7px 10px}.btn-del:hover{background:var(--red-bg)}.btn-sm{border-radius:7px;min-height:32px;padding:6px 12px;font-size:13px}.tab-active{color:var(--amber)!important;border-bottom-color:var(--amber)!important}.toggle-group{background:var(--card2);border-radius:10px;gap:2px;padding:3px;display:flex}.toggle-opt{text-align:center;cursor:pointer;color:var(--t3);background:0 0;border:none;border-radius:8px;flex:1;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:400;transition:all .15s}.toggle-opt.on{background:var(--amber);color:#1a0e00;font-weight:500}.opt-btn{cursor:pointer;border:1.5px solid var(--b1);background:var(--card2);color:var(--t3);border-radius:8px;padding:8px 16px;font-family:inherit;font-size:14px;transition:all .15s}.opt-btn.sel{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}.opt-btn:hover:not(.sel){border-color:var(--b2);color:var(--t2)}.ev-header,.ev-row{grid-template-columns:66px 78px 76px minmax(0,1fr) 108px 54px 30px;align-items:center;gap:6px;display:grid}.ev-header{border-bottom:1px solid var(--b1);color:var(--t3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;padding-bottom:6px;font-size:10.5px}.ev-header>div:nth-child(3),.ev-header>div:nth-child(6),.ev-header>div:nth-child(7){text-align:center}.ev-item{border-bottom:1px solid var(--b1);margin-bottom:4px;padding:10px 0}.ev-item:last-child{border-bottom:none;margin-bottom:0}.ev-row+.ev-row{margin-top:3px}.ev-row select,.ev-row input{box-sizing:border-box;width:100%;min-width:0;padding:5px 6px;font-size:12.5px}.ev-f-tag{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:10.5px;font-weight:600}.ev-f-course{padding-left:4px}.ev-row select.ev-f-course{padding-left:10px}.ev-f-weight{text-align:center}.ev-f-type{gap:3px;min-width:0;display:flex}.ev-f-type button{cursor:pointer;border:1px solid var(--b1);background:var(--card2);color:var(--t3);border-radius:6px;flex:1;padding:5px 0;font-family:inherit;font-size:11px}.ev-f-type button.on{background:var(--b2);color:var(--t1);border-color:var(--b2)}.ev-f-type span{text-align:center;color:var(--t3);flex:1;font-size:11px}.ev-f-title{min-width:0}.ev-f-title input{width:100%;min-width:0}.ev-f-date,.ev-f-weight{min-width:0}.ev-row-saved{opacity:.72}.ev-row-saved .ev-f-tag{color:var(--t3)}.ev-row-new .ev-f-tag{color:var(--blue)}.ev-plain{color:var(--t2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.ev-f-check{justify-self:center}@media (max-width:640px){.ev-header{display:none}.ev-row{grid-template-columns:52px 1fr 70px 30px;grid-template-areas:"tag course type check"".title title title"".date date weight";row-gap:4px}.ev-f-tag{grid-area:tag}.ev-f-course{grid-area:course}.ev-f-type{grid-area:type}.ev-f-check{grid-area:check}.ev-f-title{grid-area:title}.ev-f-date{grid-area:date}.ev-f-weight{grid-area:weight}}.badge{border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:400;display:inline-flex}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-purple{background:var(--purple-bg);color:var(--purple)}.badge-teal{background:var(--teal-bg);color:var(--teal)}.badge-lime{background:var(--lime-bg);color:var(--lime)}.sdot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.sdot-r{background:var(--red)}.sdot-a{background:var(--amber)}.sdot-b{background:var(--blue)}.sdot-g{background:var(--green)}.sdot-d{background:var(--b2)}.li{border-bottom:1px solid var(--b1);align-items:center;gap:13px;padding:11px 0;display:flex}.li:last-child{border-bottom:none}.li-title{color:var(--t1);font-size:15px}.li-sub{color:var(--t3);margin-top:3px;font-size:12px}.g2{grid-template-columns:1fr 1fr;gap:13px;display:grid}.g3{grid-template-columns:1fr 1fr 1fr;gap:13px;display:grid}.g4{grid-template-columns:1fr 1fr 1fr 1fr;gap:11px;display:grid}@media (max-width:480px){.g2,.g3,.g4{grid-template-columns:1fr}}.topbar-row{background:var(--surface);border-bottom:1px solid var(--b1);align-items:center;gap:12px;height:50px;padding:0 20px;display:flex}.nav-row{background:var(--surface);-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--b1);gap:2px;padding:0 20px;display:flex;overflow-x:auto}.nav-tab-btn{cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:5px;margin-bottom:-1px;padding:11px 15px;font-family:inherit;font-size:13px;font-weight:400;display:flex}.mobile-menu-btn{display:none}.header-spacer-nav{height:92px}.topbar-term-inline{display:contents}.topbar-term-row{display:none}@media (max-width:768px){.nav-row{display:none}.mobile-menu-btn{display:flex}.header-spacer-nav{height:50px}}@media (max-width:640px){.topbar-row{gap:8px;padding:0 12px}.topbar-greet,.topbar-api,.topbar-version{display:none}.topbar-missing{text-overflow:ellipsis;max-width:150px;overflow:hidden}.topbar-term-inline{display:none}.topbar-term-row{padding:2px 12px 10px;display:flex}.header-spacer-nav{height:84px}}.schoolinfo-header-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}@media (max-width:640px){.schoolinfo-header-row{flex-direction:column;align-items:flex-start;gap:10px}}.plandrawer-panel{top:92px}@media (max-width:768px){.plandrawer-panel{top:50px}}@media (max-width:640px){.plandrawer-panel{top:84px}}.icon-btn-28{width:28px;height:28px}@media (max-width:640px){.icon-btn-28{width:38px;height:38px}}.ft-actions,.ft-time{grid-row-end:span var(--ft-span,2);border-bottom:var(--cell-border,none);align-items:center;padding-top:12px;padding-bottom:12px}@media (max-width:640px){.ft-actions,.ft-time{--ft-span:1;border-bottom:none;padding-top:0;padding-bottom:0}}.ft-assignment{grid-column-end:span var(--ft-asg-span,1)}@media (max-width:640px){.ft-assignment{--ft-asg-span:3}}.onboard-stepbar{-webkit-overflow-scrolling:touch;overflow-x:auto}.onboard-step-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;display:flex}.onboard-step-connector{flex-shrink:0;width:12px;height:1.5px}.onboard-step-label-short{display:none}@media (max-width:640px){.onboard-step-circle{width:20px;height:20px;font-size:9.5px}.onboard-step-connector{width:7px}.onboard-step-label-full{display:none}.onboard-step-label-short{display:inline}}.acad-tabs-row{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto}.acad-tab-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:400;transition:all .15s;position:relative}.acad-tab-label-short{display:none}@media (max-width:640px){.acad-tab-btn{padding:7px 12px;font-size:13px}}@media (max-width:480px){.acad-tab-btn{padding:6px 8px;font-size:12px}.acad-tab-label-full{display:none}.acad-tab-label-short{display:inline}}.row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.today-greet-short{display:none}@media (max-width:560px){.today-greet-full{display:none}.today-greet-short{display:inline}}.list-item{border-bottom:1px solid var(--b1);align-items:center;gap:10px;padding:9px 0;display:flex}.list-item:last-child{border-bottom:none}.bar{background:var(--card2);border-radius:3px;height:6px;overflow:hidden}.bar-fill{border-radius:3px;height:100%;transition:width .4s}.chk{background:var(--card2);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .15s;display:flex}.chk.on{background:var(--green-bg)}.spin{border:2px solid var(--b2);border-top-color:var(--amber);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite rot;display:inline-block}.btn-action .spin{border-color:#1a0e00 #1a0e0040 #1a0e0040}.toast{z-index:9999;background:var(--card2);color:var(--t2);border-radius:10px;max-width:min(480px,100vw - 32px);padding:12px 16px;font-size:14px;position:fixed;top:116px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000080}.toast span{white-space:normal;overflow-wrap:break-word}@media (max-width:768px){.toast{top:78px}}@media (max-width:640px){.toast{top:110px}}.daily-msg{background:var(--card2);color:var(--t2);white-space:pre-wrap;border-radius:10px;max-width:100%;padding:15px 17px;font-size:14px;line-height:1.7}.feature-card{background:var(--card);border:1px solid var(--b1);border-radius:12px;padding:20px 22px;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 30px #00000040}.feature-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #00000059}.feature-icon{background:var(--amber-bg);width:40px;height:40px;color:var(--amber);border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;font-size:19px;display:flex}.feature-flow{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;margin-bottom:40px;display:grid}.feature-arrow{opacity:.55;flex-shrink:0;align-self:center}@media (max-width:820px){.feature-flow{grid-template-columns:1fr}.feature-arrow{margin:2px auto;transform:rotate(90deg)}}.feature-card-sm{flex-direction:column;padding:14px 16px;display:flex}.feature-icon-sm{border-radius:8px;flex-shrink:0;width:30px;height:30px;margin:0;font-size:14px}.feature-card-title{color:var(--t1);font-size:13px;font-weight:700;line-height:1.3}.feature-card-header{align-items:center;gap:9px;min-height:34px;margin-bottom:8px;display:flex}.feature-card-body{color:var(--t2);font-size:11px;line-height:1.4}.cal-week-label{font-size:13px!important}.cal-block-text{font-size:11px!important}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}@keyframes rot{to{transform:rotate(360deg)}}@keyframes up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade{animation:.25s up}.pace-headline{color:var(--blue);font-size:14.5px;font-weight:600}.pace-metrics{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.pace-metric-row{flex-shrink:0;align-items:center;gap:12px;display:flex}.pace-metric-label{color:var(--t2);white-space:nowrap;flex-shrink:0;width:150px;font-size:13.5px;font-weight:500}.pace-pct{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:40px;font-family:Syne,sans-serif;font-size:15px;font-weight:700}.pace-bonus-slot{flex-shrink:0;align-items:center;width:32px;margin-left:-6px;display:flex}.pace-bonus{color:var(--green);background:var(--green-bg);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700}.pace-bar-wrap{flex:auto;min-width:60px;max-width:240px;padding-bottom:12px;position:relative}@media (min-width:768px){.pace-bar-wrap{flex:0 0 240px}}.pace-bar{background:var(--b1);border-radius:4px;height:8px;overflow:hidden}.pace-bar-fill{border-radius:4px;height:100%;transition:width .4s}.pace-bar-arrow{font-size:9px;line-height:1;transition:left .4s;position:absolute;top:9px;transform:translate(-50%)}.pr-legBack,.pr-legFront,.pr-armBack,.pr-armFront,.pr-shinBack,.pr-shinFront{animation-timing-function:ease-in-out;animation-iteration-count:infinite}.pr-legBack{transform-origin:36px 62px;animation-name:pr-swingA}.pr-legFront{transform-origin:36px 62px;animation-name:pr-swingB}.pr-armBack{transform-origin:38px 32px;animation-name:pr-swingB}.pr-armFront{transform-origin:38px 32px;animation-name:pr-swingA}@keyframes pr-swingA{0%{transform:rotate(36deg)}50%{transform:rotate(-36deg)}to{transform:rotate(36deg)}}@keyframes pr-swingB{0%{transform:rotate(-36deg)}50%{transform:rotate(36deg)}to{transform:rotate(-36deg)}}.pr-shinBack{transform-origin:36px 82px;animation-name:pr-kneeA}.pr-shinFront{transform-origin:36px 82px;animation-name:pr-kneeB}@keyframes pr-kneeA{0%{transform:rotate(112deg)}30%{transform:rotate(38deg)}50%{transform:rotate(0)}75%{transform:rotate(22deg)}to{transform:rotate(112deg)}}@keyframes pr-kneeB{0%{transform:rotate(0)}25%{transform:rotate(22deg)}50%{transform:rotate(112deg)}70%{transform:rotate(38deg)}to{transform:rotate(0)}}.pr-runner{transform-origin:50% 92%;animation-name:pr-hop;animation-timing-function:ease-in-out;animation-iteration-count:infinite;display:block}@keyframes pr-hop{0%{transform:translateY(0)scaleY(.95)}25%{transform:translateY(calc(var(--bounce,4px) * -1)) scaleY(1.05)}50%{transform:translateY(0)scaleY(.95)}75%{transform:translateY(calc(var(--bounce,4px) * -1)) scaleY(1.05)}to{transform:translateY(0)scaleY(.95)}}.pr-hair{transform-origin:41px 8px;animation-name:pr-hairFlop;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes pr-hairFlop{0%,50%,to{transform:rotate(-3deg)}25%,75%{transform:rotate(var(--hair,3deg))}}@media (prefers-reduced-motion:reduce){.pr-runner,.pr-legBack,.pr-legFront,.pr-armBack,.pr-armFront,.pr-shinBack,.pr-shinFront,.pr-hair{animation:none!important}}.nudge-bounce{animation:1s ease-in-out infinite nudge-bounce}@keyframes nudge-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.nudge-bounce{animation:none!important}}.d1,.d2,.d3{background:var(--green-bg);color:var(--green)}.d4,.d5,.d6{background:var(--amber-bg);color:var(--amber)}.d7,.d8{background:var(--red-bg);color:var(--red)}.d9,.d10{background:var(--purple-bg);color:var(--purple)}[class^=d]{border-radius:10px;align-items:center;padding:3px 9px;font-size:12px;display:inline-flex}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--b2);border-radius:3px}
