:root{--r-lg: 32px;--r-card: 24px;--r-inner: 16px;--r-chip: 12px;--ink-strong: #121729;--ink-muted: #737d94;--divider: #e6ebf5;--live-green: #52c78c;--glass-shadow: 0 2px 4px rgba(18, 23, 41, .04), 0 14px 26px -8px rgba(18, 23, 41, .07)}.app-body{background:var(--canvas);color:var(--ink-strong);min-height:100dvh;overflow-x:hidden}.app-body button{font-family:inherit;color:inherit}.app-body button:focus-visible,.app-body input:focus-visible,.app-body select:focus-visible,.app-body textarea:focus-visible,.app-body a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}body.modal-open{overflow:hidden}#app-splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--canvas);z-index:200}#app-splash svg{animation:splashBreathe 1.6s ease-in-out infinite}.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.ambient-blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}.ab-indigo{width:56vmax;height:56vmax;top:-18vmax;right:-12vmax;background:radial-gradient(circle,rgba(207,209,246,.85) 0%,transparent 65%);animation:drift1 26s ease-in-out infinite alternate}.ab-lavender{width:48vmax;height:48vmax;bottom:-16vmax;left:-14vmax;background:radial-gradient(circle,rgba(234,227,251,.9) 0%,transparent 65%);animation:drift2 32s ease-in-out infinite alternate}.ab-mint{width:38vmax;height:38vmax;top:38%;left:52%;background:radial-gradient(circle,rgba(224,241,232,.8) 0%,transparent 65%);animation:drift3 38s ease-in-out infinite alternate}.glass{position:relative;background:linear-gradient(135deg,#ffffff85,#ffffffe0);border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px #ffffff59,var(--glass-shadow);-webkit-backdrop-filter:blur(14px) saturate(1.35);backdrop-filter:blur(14px) saturate(1.35);border-radius:var(--r-card)}.app-shell{position:relative;z-index:1;min-height:100dvh}.app-main{width:100%;max-width:680px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 16px 158px}.head-bubbles{position:fixed;top:0;left:50%;transform:translate(-50%);width:min(100%,680px);height:320px;overflow:hidden;pointer-events:none;z-index:0}.head-bubbles span{position:absolute;left:50%;top:160px;border-radius:50%;background:#ffffff12;transform:translate(-50%,-50%)}.head-bubbles .hb-small{background:#ffffff0e}.hb-today .hb-big{width:260px;height:260px;margin-left:80px;margin-top:-60px}.hb-today .hb-small{width:90px;height:90px;margin-left:-140px;margin-top:60px}.hb-calendar .hb-big{width:200px;height:200px;margin-left:-100px;margin-top:-60px}.hb-calendar .hb-small{width:130px;height:130px;margin-left:120px;margin-top:30px}.hb-courses .hb-big{width:160px;height:160px;margin-left:40px;margin-top:-50px}.hb-courses .hb-small{width:80px;height:80px;margin-left:-120px;margin-top:20px}.glow-glass{position:relative;border:1px solid rgba(255,255,255,.55);background:radial-gradient(85px 85px at 16% 0%,var(--gg-tint),transparent 72%),#ffffff8c;-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 5px 10px #00000014,0 3px 10px var(--gg-glow)}.gg-pill{--gg-tint: rgba(179, 204, 255, .55);--gg-glow: rgba(199, 214, 255, .2)}.gg-add{--gg-tint: rgba(189, 168, 255, .55);--gg-glow: rgba(179, 158, 255, .2)}.gg-flow{--gg-tint: rgba(158, 189, 255, .55);--gg-glow: rgba(158, 179, 255, .2)}.tabbar-cluster{position:fixed;left:50%;transform:translate(-50%);bottom:max(16px,env(safe-area-inset-bottom));width:min(100% - 32px,648px);display:flex;align-items:flex-end;gap:12px;z-index:60}.tab-pill{--pill-inset: 12px;position:relative;flex:1 1 auto;display:flex;align-items:stretch;height:68px;padding:0 var(--pill-inset);border-radius:999px;cursor:default;transition:height .38s cubic-bezier(.25,1,.4,1)}.tab-well{position:absolute;top:9px;bottom:9px;left:var(--pill-inset);width:calc((100% - var(--pill-inset) * 2) / 3);border-radius:999px;background:linear-gradient(135deg,#4d66e62e,#4d66e61a);box-shadow:inset 0 0 0 .8px #4d66e633;transition:transform .42s cubic-bezier(.3,1.45,.45,1),opacity .2s ease;pointer-events:none}.tab{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:transparent;color:#8e8e938c;cursor:pointer;transition:color .25s ease,transform .28s cubic-bezier(.34,1.4,.64,1)}.tab:active{transform:scale(.95)}.tab .tab-ico{display:inline-flex;transition:transform .42s cubic-bezier(.3,1.45,.45,1)}.tab.active{color:#4d66e6}.tab.active .tab-ico{transform:scale(1.18)}.tab-label{font-size:9px;font-weight:600;letter-spacing:.01em}.bar-right{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto}.add-fab{width:48px;height:48px;border-radius:50%;color:#6657c2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}.add-fab svg{filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}.add-fab.open{transform:rotate(45deg)}.add-fab:active{transform:scale(.95)}.add-fab.open:active{transform:rotate(45deg) scale(.95)}.flow-fab{width:64px;height:64px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.flow-fab:active{transform:scale(.95)}.flow-fab svg{filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}.flow-fab-ring{position:absolute;inset:0;border-radius:50%;border:3px solid #475cd1;animation:flowFabRing 1.5s ease-out infinite;pointer-events:none}@keyframes flowFabRing{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}@media(prefers-reduced-motion:reduce){.flow-fab-ring{animation:none;opacity:.6}}.tabbar-cluster.collapsed{width:min(100% - 32px,648px);justify-content:space-between}.tabbar-cluster.collapsed .tab-pill{--pill-inset: 8px;flex:0 0 auto;height:64px}.tabbar-cluster.collapsed .tab{flex:0 0 auto;padding:0 14px}.fab-scrim{position:fixed;inset:0;z-index:59;background:transparent}.fab-menu{position:fixed;z-index:61;left:50%;transform:translate(-50%);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 139px);width:min(100% - 32px,648px);display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.fab-row{display:flex;align-items:center;gap:10px;margin-right:10px;pointer-events:auto;transform-origin:bottom right;animation:fabRowIn .32s cubic-bezier(.25,1.35,.45,1) both}.fab-row:nth-child(2){animation-delay:.04s}@keyframes fabRowIn{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.fab-row-label{font-size:13px;font-weight:700;color:#262633;background:#fff;padding:8px 14px;border-radius:999px;box-shadow:0 3px 6px #0000001f}.fab-row-btn{width:44px;height:44px;border-radius:50%;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.fab-row-btn:active{transform:scale(.95)}.fab-event{background:#618cf2;box-shadow:0 4px 8px #618cf266}.fab-todo{background:#4d66e6;box-shadow:0 4px 8px #4d66e666}.view-fade{animation:viewIn .4s cubic-bezier(.16,1,.3,1) both}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 20px}.view-title{margin:2px 0 0;font-size:clamp(1.7rem,3.4vw,2.2rem);font-weight:800;letter-spacing:-.025em;line-height:1.12}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-subtle)}.head-add{white-space:nowrap}.btn[disabled]{opacity:.45;pointer-events:none}.term-chip{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 13px;border:1px solid rgba(89,91,205,.22);border-radius:999px;background:#595bcd14;color:var(--accent-deep);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}.term-chip:hover{background:#595bcd24;transform:translateY(-1px)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:linear-gradient(135deg,#fff9,#ffffffeb);box-shadow:var(--glass-shadow);color:var(--ink-mid);cursor:pointer;transition:transform .2s ease,color .2s ease,box-shadow .2s ease}.icon-btn:hover{transform:translateY(-1px);color:var(--accent-deep)}.icon-btn.danger{color:var(--coral)}.icon-btn.ghost{border:none;background:transparent;box-shadow:none}.btn-quiet{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:none;border-radius:999px;background:#595bcd17;color:var(--accent-deep);font-size:.86rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s ease,transform .2s ease}.btn-quiet:hover{background:#595bcd26;transform:translateY(-1px)}.btn-quiet.btn-xs{padding:6px 11px;font-size:.78rem}.btn-quiet.danger-text{color:#d96a6a;background:#ef8e8e1f}.btn-quiet.danger-text:hover{background:#ef8e8e33}.btn.btn-danger{background:linear-gradient(135deg,#f29a9a,#e06565);box-shadow:0 10px 24px -8px #e065658c}.gate{position:relative;z-index:1;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.gate-card{position:relative;width:100%;max-width:420px;overflow:hidden;border-radius:var(--r-lg);background:linear-gradient(180deg,#ffffffb8,#fbfbfe 40%);border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px #ffffff59,0 30px 70px -28px #3f3fb459,0 8px 24px #3f3fb41f;display:flex;flex-direction:column;animation:viewIn .6s cubic-bezier(.16,1,.3,1) both}.ocean-wrap{position:relative;height:260px}.ocean-canvas{position:absolute;inset:0;width:100%;height:100%}.ocean-fade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(251,251,254,.55) 80%,#fbfbfe 100%);pointer-events:none}.gate-body{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 34px 30px}.gate-mark{margin-top:-26px;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8f90ed,#595bcd 55%,#4c4ebe);border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 24px #3f3fb459}.gate-title{margin:16px 0 8px;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;color:var(--ink-strong)}.gate-title span{background:linear-gradient(90deg,#8f90ed,#595bcd,#4c4ebe);-webkit-background-clip:text;background-clip:text;color:transparent}.gate-title.dark{color:var(--ink-strong)}.gate-sub{margin:0 0 24px;color:var(--ink-mid);font-size:.95rem;line-height:1.55}.gate-sub.dark{color:var(--ink-mid)}.gate-demo{margin-top:14px;font-size:.86rem;font-weight:700;color:var(--accent-deep);text-decoration:none}.gate-demo:hover{text-decoration:underline}.gate-fine{margin:18px 0 0;font-size:.78rem;color:var(--ink-subtle)}.gate-fine a{color:var(--accent-deep)}.gate-alert{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#f6be732e;color:#c98a2e}.gate-card-plain{padding:44px 34px 30px;text-align:center;align-items:center;background:linear-gradient(135deg,#ffffff85,#ffffffe0);border:1px solid rgba(255,255,255,.7);box-shadow:var(--glass-shadow)}.gate-card-plain .gate-sub{color:var(--ink-mid)}.apple-pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px 20px;border:none;border-radius:999px;background:#000;color:#fff;font-size:1.02rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.app-body .apple-pill{color:#fff}.app-body .apple-pill svg{color:var(--accent)}.apple-pill:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px #0006}.splash{display:flex;flex-direction:column;align-items:center;gap:18px}.splash-coin{animation:splashBreathe 1.6s ease-in-out infinite;filter:drop-shadow(0 10px 22px rgba(63,63,180,.35))}.splash-label{font-size:.86rem;font-weight:600;color:var(--ink-subtle)}.flow-coin{filter:drop-shadow(0 4px 10px rgba(63,63,180,.3))}.structure-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;border-radius:18px;margin-bottom:14px;flex-wrap:wrap}.structure-stats{font-size:.86rem;color:var(--ink-mid);font-weight:600}.structure-stats strong{color:var(--accent-deep);font-weight:800}.win-picker{display:inline-flex;align-items:center;gap:5px;color:var(--ink-subtle);font-size:.82rem;font-weight:700}.win-picker select{appearance:none;-webkit-appearance:none;border:none;background:#595bcd17;color:var(--accent-deep);font-weight:800;font-size:.8rem;font-family:inherit;padding:4px 8px;border-radius:9px;cursor:pointer}.allday-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.allday-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .2s ease}.allday-chip:hover{transform:translateY(-1px)}.wt{position:relative;margin-top:4px}.wt-spine{position:absolute;inset:0;pointer-events:none}.wt-dot-now{animation:nowDotPulse 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.wt-time{position:absolute;left:0;text-align:right;font-size:.66rem;font-weight:800;color:var(--ink-mid);letter-spacing:.02em;pointer-events:none}.wt-time.dim{color:var(--ink-subtle);opacity:.75}.wt-card{position:absolute;right:4px;display:flex;align-items:center;gap:12px;padding:10px 14px;text-align:left;cursor:pointer;border-radius:18px;animation:rowIn .5s cubic-bezier(.16,1,.3,1) both;transition:transform .22s ease,box-shadow .22s ease,opacity .3s ease}.wt-card:hover{transform:translateY(-1.5px);z-index:5}.wt-card.past{opacity:.55}.wt-now{flex-direction:column;align-items:stretch;justify-content:center;gap:5px;border-radius:var(--r-card);padding:14px 18px;box-shadow:inset 0 0 0 1px #ffffff59,0 4px 8px #3f3fb40f,0 18px 34px -10px #3f3fb42e}.wt-now-eyebrow{display:flex;align-items:center;gap:7px;font-size:.64rem;font-weight:800;letter-spacing:.16em;color:var(--accent-deep)}.wt-now-left{margin-left:auto;color:var(--ink-subtle);letter-spacing:.04em}.pulse-dot{width:8px;height:8px;border-radius:999px;position:relative}.pulse-dot:after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid currentColor;opacity:0;animation:ping 2.2s ease-out infinite}.wt-now-title{font-size:1.18rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt-now-sub{font-size:.74rem;font-weight:600;color:var(--ink-mid)}.wt-progress{height:6px;border-radius:999px;background:#12172912;overflow:hidden;margin-top:4px}.wt-progress-fill{height:100%;border-radius:999px;transition:width .6s ease}.wt-now-times{font-size:.68rem;font-weight:700;color:var(--ink-subtle)}.wt-event .wt-bar{width:3.5px;align-self:stretch;border-radius:2px;flex:0 0 auto}.wt-event-main{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}.wt-event-title{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt-chip{flex:0 0 auto;font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#595bcd1a;color:var(--accent-deep)}.wt-done-check{color:var(--mint);flex:0 0 auto}.wt-event.done .wt-event-title{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--ink-mid)}.wt-event-sub{font-size:.69rem;font-weight:600;color:var(--ink-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt-pill{flex:0 0 auto;font-size:.68rem;font-weight:800;padding:4px 9px;border-radius:999px}.wt-task{border:1.2px dashed;border-radius:16px;background-clip:padding-box}.wt-task-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.wt-task-title{font-size:.82rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt-task.done .wt-task-title{text-decoration:line-through;color:var(--ink-mid)}.wt-task.done{opacity:.55}.wt-task.overdue .wt-task-title{color:#c95252}.wt-task-sub{font-size:.67rem;font-weight:600;color:var(--ink-subtle)}.wt-task-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:800;cursor:pointer;padding:4px 6px;border-radius:8px}.wt-task-badge:hover{background:#1217290d}.wt-gap{border:1.3px dashed rgba(158,159,234,.6);background:#ffffff40;border-radius:15px;color:var(--ink-mid)}.wt-gap.past{opacity:.35}.wt-gap-label{font-size:.74rem;font-weight:800;color:var(--accent-deep)}.wt-gap-range{font-size:.68rem;font-weight:600;color:var(--ink-subtle)}.wt-gap-plan{margin-left:auto;font-size:.74rem;font-weight:800;color:var(--accent)}.wt-gap:hover{background:#595bcd0f;border-color:#595bcd80}.wt-menu-backdrop{position:fixed;inset:0;z-index:50}.wt-menu{position:absolute;z-index:60;width:224px;padding:10px;border-radius:20px;animation:menuIn .22s cubic-bezier(.2,1.2,.4,1) both;transform-origin:top left}.wt-menu-title{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-subtle);padding:4px 10px 7px}.wt-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:11px 10px;border:none;border-radius:13px;background:transparent;color:var(--accent-deep);font-size:.84rem;font-weight:700;cursor:pointer;transition:background .16s ease}.wt-menu-item:hover{background:#595bcd17}.wt-menu-item.danger{color:var(--coral)}.wt-menu-item.danger:hover{background:#ef8e8e1f}.wt-menu-empty{padding:8px 10px 6px;font-size:.78rem;color:var(--ink-subtle)}.modal-backdrop{position:fixed;inset:0;z-index:130;background:#12172957;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease both}.modal-card{width:100%;max-width:460px;max-height:min(86dvh,760px);overflow:auto;padding:20px 22px 22px;border-radius:26px;background:linear-gradient(135deg,#ffffffd1,#fffffff5);animation:sheetIn .35s cubic-bezier(.16,1,.3,1) both}.modal-card.modal-wide{max-width:560px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-title{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}@media(max-width:640px){.modal-backdrop{align-items:flex-end;padding:0}.modal-card,.modal-card.modal-wide{max-width:none;border-radius:26px 26px 0 0;max-height:92dvh;padding-bottom:max(22px,env(safe-area-inset-bottom))}}.sheet-title{display:inline-flex;align-items:center;gap:9px}.sheet-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.sheet-grid{display:flex;flex-direction:column;gap:14px}.sheet-input{width:100%;box-sizing:border-box;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--ink-strong);padding:11px 14px;border:1px solid rgba(76,78,190,.16);border-radius:14px;background:#ffffffbf;transition:border-color .2s ease,box-shadow .2s ease}.sheet-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #595bcd24}.sheet-title-input{font-size:1.1rem;font-weight:700;padding:13px 16px}.sheet-notes{min-height:76px;resize:vertical;line-height:1.5}select.sheet-input{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-subtle) 50%),linear-gradient(135deg,var(--ink-subtle) 50%,transparent 50%);background-position:calc(100% - 19px) 55%,calc(100% - 14px) 55%;background-size:5px 5px;background-repeat:no-repeat}.mini-label{display:block;font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-subtle);margin:0 0 6px 3px}.field-row{min-width:0}.field-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:27px;height:27px;border:none;border-radius:999px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.swatch:hover{transform:scale(1.12)}.swatch.on{box-shadow:0 0 0 2.5px #fff,0 0 0 5px #12172980;transform:scale(1.06)}.time-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:start}.time-cell{display:flex;flex-direction:column}.steppers{display:flex;gap:6px;margin-top:6px}.steppers button{flex:1;padding:5px 0;border:none;border-radius:9px;background:#595bcd17;color:var(--accent-deep);font-size:.72rem;font-weight:800;cursor:pointer;transition:background .18s ease}.steppers button:hover{background:#595bcd29}.time-duration{align-items:flex-start;min-width:72px}.duration-value{padding:11px 0;font-size:.95rem;font-weight:800;color:var(--accent-deep)}.day-chips{display:flex;gap:7px;flex-wrap:wrap}.day-chip{width:32px;height:32px;border:1px solid rgba(76,78,190,.2);border-radius:999px;background:#ffffffb3;color:var(--ink-mid);font-size:.72rem;font-weight:800;cursor:pointer;transition:all .18s ease}.day-chip.on{background:linear-gradient(135deg,var(--logo-1),var(--logo-2));border-color:transparent;color:#fff}.sheet-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.sheet-spacer{flex:1}.segmented{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:#595bcd14}.segment{border:none;background:transparent;padding:7px 14px;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--ink-mid);cursor:pointer;transition:all .18s ease}.segment.on{background:#fff;color:var(--accent-deep);box-shadow:0 2px 8px -2px #1217292e}.segmented.small .segment{padding:5px 11px;font-size:.72rem}.confirm-text{margin:0 0 16px;color:var(--ink-mid);font-size:.94rem;line-height:1.55}.editor-section{border-top:1px solid var(--line);padding-top:13px}.editor-section-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.editor-section-head .mini-label{margin:0 auto 0 3px}.editor-hint{font-size:.82rem;color:var(--ink-subtle);padding:2px 3px 6px}.editor-hint.pad{padding:14px 4px}.weight-total{font-size:.74rem;font-weight:800;color:var(--amber)}.weight-total.ok{color:var(--mint)}.meeting-row{display:flex;flex-direction:column;gap:8px;padding:11px;border:1px solid var(--line);border-radius:16px;margin-bottom:8px;background:#ffffff73}.meeting-times{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--ink-subtle);flex-wrap:wrap}.meeting-times .sheet-input{width:auto;flex:0 1 116px;padding:8px 10px}.meeting-times .meeting-loc{flex:1 1 90px}.weight-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.weight-pct{flex:0 0 76px}.weight-sign{font-weight:800;color:var(--ink-subtle)}.toasts{position:fixed;left:50%;bottom:max(26px,calc(env(safe-area-inset-bottom) + 14px));transform:translate(-50%);z-index:150;display:flex;flex-direction:column;align-items:center;gap:8px}@media(max-width:900px){.toasts{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 86px)}}.toast{display:flex;align-items:center;gap:14px;padding:11px 18px;border-radius:999px;font-size:.86rem;font-weight:700;color:var(--ink-strong);animation:toastIn .35s cubic-bezier(.16,1,.3,1) both;white-space:nowrap}.toast-undo{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--accent);font-size:.84rem;font-weight:800;cursor:pointer}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 28px;border-radius:var(--r-lg)}.empty-ico{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:19px;background:linear-gradient(135deg,#595bcd24,#b79ef224);color:var(--accent);margin-bottom:16px}.empty-title{font-size:1.12rem;font-weight:800;letter-spacing:-.01em}.empty-sub{max-width:380px;margin-top:6px;color:var(--ink-mid);font-size:.9rem;line-height:1.55}.empty-action{margin-top:18px}.sf-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#6466e6,#4c4eb0);color:#fff;font-weight:800;overflow:hidden;flex:0 0 auto}.sf-avatar img{width:100%;height:100%;object-fit:cover}.ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.ring svg{display:block}.ring-fg{transition:stroke-dashoffset .9s cubic-bezier(.16,1,.3,1)}.ring-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center}.detail-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px}.detail-bar-spacer{flex:1}.pin-on{color:var(--amber);fill:var(--amber)}.detail-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 28px;border-radius:var(--r-lg);margin-bottom:24px;flex-wrap:wrap}.detail-hero-main{min-width:0;flex:1}.detail-title{margin:8px 0 10px;font-size:clamp(1.5rem,3vw,1.95rem);font-weight:800;letter-spacing:-.025em;line-height:1.15}.detail-meets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.meet-chip{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:var(--ink-mid);background:#1217290d;padding:6px 11px;border-radius:999px}.detail-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:.84rem;color:var(--ink-subtle);font-weight:600}.detail-stats strong{color:var(--ink-strong);font-weight:800;font-size:.95rem}.detail-ring strong{font-size:1.05rem;font-weight:800}.detail-section{margin-bottom:26px}.detail-section-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.section-h{display:inline-flex;align-items:center;gap:8px;margin:0 auto 0 0;font-size:1.02rem;font-weight:800;letter-spacing:-.01em}.assign-list{display:flex;flex-direction:column;gap:8px}.assign-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:17px;animation:rowIn .4s cubic-bezier(.16,1,.3,1) both}.assign-row.done{opacity:.6}.assign-check{width:23px;height:23px;flex:0 0 auto;border:2px solid;border-radius:999px;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease}.assign-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;border:none;background:transparent;text-align:left;cursor:pointer;padding:0}.assign-title{font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-row.done .assign-title{text-decoration:line-through}.assign-sub{font-size:.71rem;font-weight:600;color:var(--ink-subtle)}.assign-diff{display:inline-flex;gap:3px;flex:0 0 auto}.assign-diff i{width:5px;height:5px;border-radius:999px}.weights{padding:16px 18px;border-radius:22px;display:flex;flex-direction:column;gap:12px}.weight-line{display:grid;grid-template-columns:minmax(80px,150px) 1fr 44px;align-items:center;gap:13px}.weight-name{font-size:.84rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weight-bar{height:9px;border-radius:999px;background:#1217290f;overflow:hidden;display:block}.weight-bar span{display:block;height:100%;border-radius:999px;transition:width .7s cubic-bezier(.16,1,.3,1)}.weight-val{font-size:.78rem;font-weight:800;color:var(--ink-mid);text-align:right}.about{padding:16px 18px;border-radius:22px}.about-mail{display:inline-flex;align-items:center;gap:7px;color:var(--accent-deep);font-size:.86rem;font-weight:700;text-decoration:none}.about-mail:hover{text-decoration:underline}.about-text{margin:10px 0 0;font-size:.9rem;color:var(--ink-mid);line-height:1.6;white-space:pre-wrap}.profile-hero{display:flex;align-items:center;gap:30px;padding:30px 32px;border-radius:var(--r-lg);margin-bottom:18px;flex-wrap:wrap}.profile-id{flex:1;min-width:280px;display:flex;gap:22px;align-items:flex-start}.profile-avatar{position:relative;width:104px;height:104px;flex:0 0 auto;border:none;border-radius:999px;background:linear-gradient(135deg,#6466e6,#4c4eb0);color:#fffffff0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 16px 32px -14px #4c4ebe99;transition:transform .25s ease}.profile-avatar:hover{transform:scale(1.03)}.profile-avatar img{position:absolute;inset:0;width:100%;height:100%;border-radius:999px;object-fit:cover}.profile-avatar-edit{position:absolute;right:2px;bottom:2px;width:30px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:2.5px solid #fff}.profile-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.profile-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:.78rem;color:var(--ink-subtle);font-weight:600}.profile-save-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.profile-sync-hint{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;color:var(--ink-subtle)}.profile-gpa{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto}.profile-gpa-center{display:flex;flex-direction:column;align-items:center;line-height:1.1}.profile-gpa-center strong{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(120deg,var(--logo-1),var(--accent-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.profile-gpa-center span{font-size:.62rem;font-weight:800;letter-spacing:.16em;color:var(--ink-subtle)}.profile-gpa-cap{font-size:.72rem;font-weight:600;color:var(--ink-subtle)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-bottom:16px}.panel{padding:22px 24px;border-radius:var(--r-card)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-tag{font-size:.72rem;font-weight:800;color:var(--accent-deep);background:#595bcd1a;padding:5px 11px;border-radius:999px}.panel-hint{margin:0;font-size:.88rem;color:var(--ink-mid);line-height:1.55}.term-track{height:11px;border-radius:999px;background:#595bcd1a;overflow:hidden}.term-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--logo-1),var(--accent-deep));transition:width .9s cubic-bezier(.16,1,.3,1)}.term-dates{display:flex;justify-content:space-between;gap:8px;margin-top:9px;font-size:.72rem;font-weight:700;color:var(--ink-subtle)}.panel-stats{display:flex;gap:22px;flex-wrap:wrap;font-size:.86rem;font-weight:600;color:var(--ink-subtle)}.panel-stats strong{font-size:1.25rem;font-weight:800;color:var(--ink-strong);letter-spacing:-.02em}.profile-account{margin-bottom:16px}.account-actions{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}.dim{color:var(--ink-subtle)}.flow-view{max-width:760px;margin:0 auto}.flow-head-actions{display:flex;align-items:center;gap:10px}.flow-head-actions .segment{display:inline-flex;align-items:center;gap:6px}.flow-stage{margin-bottom:16px}.flow-immersive{position:relative;height:clamp(420px,56vh,520px);border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(180deg,var(--canvas) 0%,var(--canvas-deep) 100%);border:1px solid rgba(18,23,41,.05);box-shadow:var(--glass-shadow)}.flow-stage-top{position:absolute;inset:0 0 auto;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 16px 0;pointer-events:none}.flow-state-name{font-size:.95rem;font-weight:600;letter-spacing:.02em;color:var(--ink-mid)}.flow-session-name{font-size:.8rem;font-weight:700;color:var(--ink-subtle)}.flow-scene{position:absolute;inset:0}.flow-dots,.flow-blob{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.flow-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;will-change:opacity,transform}.flow-time{display:inline-flex;align-items:baseline;color:var(--ink-strong);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.flow-mmss{font-size:clamp(3.6rem,13vw,4.8rem);font-weight:800;letter-spacing:-.04em;line-height:1}.flow-centi{font-size:clamp(1.45rem,4.8vw,2rem);font-weight:500;color:var(--accent);opacity:.6;margin-left:2px}.flow-status{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-subtle)}.flow-controls{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.flow-controls-live{margin-bottom:18px}.flow-ctl{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;border:none;cursor:pointer;color:var(--ink-mid);background:#fff;box-shadow:-5px -5px 12px #ffffffe6,5px 5px 14px #1217291a;transition:transform .18s ease,box-shadow .18s ease}.flow-ctl:hover{transform:translateY(-1px)}.flow-ctl:active{transform:scale(.94)}.flow-ctl-main{width:80px;height:80px;color:#fff}.flow-ctl-main:active{transform:scale(.96)}.flow-break-skip{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;border:none;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--ink-mid);background:#fff;box-shadow:-3px -3px 8px #ffffffe6,3px 3px 8px #12172914}.flow-setup{border-radius:var(--r-lg);background:var(--canvas-deep);border:1px solid rgba(18,23,41,.04);padding:26px 22px 24px;margin-bottom:18px;display:flex;flex-direction:column;gap:16px}.flow-setup-head{text-align:center;display:flex;flex-direction:column;gap:4px}.flow-setup-head h2{font-size:1.4rem;font-weight:800;letter-spacing:-.01em;color:var(--ink-strong)}.flow-setup-head p{font-size:.85rem;font-weight:500;color:var(--ink-mid)}.flow-name-field{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-inner);background:var(--canvas-deep);box-shadow:-4px -4px 8px #ffffffd9,4px 4px 10px #12172912}.flow-name-chip{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border-radius:999px;background:color-mix(in srgb,var(--nf-tint, var(--accent)) 12%,transparent);color:var(--nf-tint, var(--accent))}.flow-name-field input{flex:1;min-width:0;border:none;background:none;font-family:inherit;font-size:.95rem;font-weight:500;color:var(--ink-strong)}.flow-name-field input::placeholder{color:#12172961}.flow-name-field input:focus{outline:none}.flow-steppers{display:flex;flex-direction:column;gap:10px}.stepper-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-inner);background:var(--canvas-deep);box-shadow:-4px -4px 8px #ffffffd9,4px 4px 10px #12172912}.stepper-chip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 auto;border-radius:999px}.stepper-label{font-size:.92rem;font-weight:600;color:var(--ink-mid)}.stepper-ctl{margin-left:auto;display:inline-flex;align-items:center;gap:12px}.stepper-ctl button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;border:none;cursor:pointer;color:var(--ink-mid);background:#fff;box-shadow:1px 1px 3px #12172914;transition:transform .12s ease}.stepper-ctl button:active{transform:scale(.9)}.stepper-value{min-width:56px;text-align:center;font-size:.9rem;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.flow-start-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:17px;margin-top:4px;border:none;cursor:pointer;border-radius:999px;font-size:1rem;font-weight:700;color:#fff;background:#4d59d9;animation:flowPulse 2.2s ease-in-out infinite}.flow-start-cta.endless{background:linear-gradient(90deg,#8c47eb,#db5cb8)}@keyframes flowPulse{0%,to{transform:scale(1);box-shadow:0 6px 16px -4px #595bcd66}50%{transform:scale(1.025);box-shadow:0 14px 30px -6px #595bcd99}}.lap-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:18px}.lap-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--ink-mid)}.flow-stats{margin-bottom:22px}.stat-ico.flame{background:#f6be732e;color:#e09a3e}.flow-history{display:flex;flex-direction:column;gap:8px}.flow-row{display:flex;align-items:center;gap:13px;padding:11px 15px;border-radius:16px;animation:rowIn .4s cubic-bezier(.16,1,.3,1) both}.flow-row-ico{width:34px;height:34px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:#595bcd1a;color:var(--accent)}.flow-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.flow-row-name{font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-row-sub{font-size:.72rem;font-weight:600;color:var(--ink-subtle)}.flow-row-dur{font-size:.84rem;font-weight:800;color:var(--accent-deep)}.demo-pill{position:fixed;left:50%;transform:translate(-50%);top:max(10px,env(safe-area-inset-top));z-index:80;padding:9px 15px;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--accent-deep);text-decoration:none;white-space:nowrap;transition:transform .2s ease}.demo-pill:hover{transform:translate(-50%) translateY(1px)}@keyframes drift1{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-7vmax,9vmax,0) scale(1.12)}}@keyframes drift2{0%{transform:translateZ(0) scale(1.05)}to{transform:translate3d(9vmax,-7vmax,0) scale(.95)}}@keyframes drift3{0%{transform:translateZ(0) scale(.95)}to{transform:translate3d(-9vmax,-5vmax,0) scale(1.1)}}@keyframes splashBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes viewIn{0%{opacity:0;transform:translateY(14px)}}@keyframes rowIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes menuIn{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetIn{0%{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes ping{0%{transform:scale(.6);opacity:.8}70%,to{transform:scale(1.6);opacity:0}}@keyframes nowDotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}@media(prefers-reduced-motion:reduce){.app-body *,.app-body *:before,.app-body *:after{animation:none!important;transition:none!important}}.eyebrow-muted{color:var(--ink-muted)}.home-view{display:flex;flex-direction:column;gap:18px}.home-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px 0}.home-greeting{margin:2px 0 0;white-space:nowrap;font-size:clamp(23px,8.2vw,32px);font-weight:700;letter-spacing:-.6px;line-height:1.1;color:var(--ink-strong)}.home-icons{display:flex;gap:6px}.glass-ico{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb);color:var(--ink-strong);cursor:pointer;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.glass-ico:active{transform:scale(.96)}.cta-capsule{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 18px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));box-shadow:inset 0 0 0 1px #ffffff2e;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.4,.64,1),filter .2s ease}.cta-capsule:hover{filter:brightness(1.05)}.cta-capsule:active{transform:scale(.97)}.hero-card{position:relative;border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:14px;overflow:hidden}.hero-wash{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(140% 140% at 100% -30%,rgba(158,159,234,.32),transparent 60%);pointer-events:none}.hero-card>*{position:relative}.hero-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.streak-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb)}.streak-flame{color:var(--amber)}.streak-chip strong{font-size:13px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.streak-day{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-muted)}.hero-headline{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px;line-height:1.25;color:var(--ink-strong)}.hero-empty{display:flex;gap:16px;min-height:100px}.hero-empty .wavy-line{position:relative;width:26px;flex:0 0 26px}.hero-empty p{margin:6px 0 0;font-size:14px;font-weight:500;color:var(--ink-muted);line-height:1.55}.hero-body{position:relative;display:flex;flex-direction:column}.hero-body>.wavy-line{position:absolute;left:56px;top:0;bottom:0;width:26px;pointer-events:none}.wavy-line svg{width:26px;height:100%;display:block}.hero-row{display:flex;align-items:flex-start;padding:5px 0}.hero-row.past{opacity:.6}.hero-time{width:56px;flex:0 0 56px;display:flex;flex-direction:column;align-items:flex-end;padding:14px 10px 0 0}.hero-time strong{font-size:12px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.hero-time.dim strong{color:var(--ink-subtle)}.hero-time.live strong{color:var(--accent)}.hero-time span{font-size:10px;font-weight:500;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.hero-node{width:26px;flex:0 0 26px;display:flex;align-items:flex-start;justify-content:center;padding-top:16px;position:relative;z-index:1}.hero-node>*{box-shadow:0 0 0 4px var(--canvas)}.hero-node-done{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff}.hero-node-ring{width:14px;height:14px;border-radius:50%;border:2.5px solid;background:#fff}.hero-task{flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin-left:4px;padding:10px 13px;border:1.3px solid;border-radius:16px;cursor:pointer;text-align:left;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.hero-task:active{transform:scale(.98)}.hero-task.done{opacity:.55}.hero-task-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hero-task-title{font-size:13px;font-weight:700;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-task.done .hero-task-title{text-decoration:line-through}.hero-task-sub{font-size:10.5px;font-weight:500;color:var(--ink-subtle)}.hero-task-pill{flex:0 0 auto;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;padding:3px 7px;border:1.2px solid;border-radius:999px}.hero-event{flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin-left:4px;padding:9px 12px 9px 9px;border-radius:18px;cursor:pointer;text-align:left;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.hero-event:active{transform:scale(.98)}.hero-event-bar{width:3.5px;align-self:stretch;margin:2px 0;border-radius:2px;flex:0 0 3.5px}.hero-event-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hero-event-title{font-size:13.5px;font-weight:700;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-event-sub{font-size:10.5px;font-weight:500;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.hero-event-pill{flex:0 0 auto;font-size:10px;font-weight:700;padding:3px 7px;border-radius:999px;color:var(--ink-subtle)}.now-card{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;margin-left:4px;padding:13px 15px 12px;border-radius:var(--r-card);cursor:pointer;text-align:left}.now-head{display:flex;align-items:center;gap:7px}.now-eyebrow{color:var(--accent)}.now-left{margin-left:auto;font-size:11.5px;font-weight:700}.now-title{font-size:19px;font-weight:700;letter-spacing:-.4px;color:var(--ink-strong)}.now-sub{font-size:11px;font-weight:500;color:var(--ink-muted)}.now-track{height:6px;margin-top:4px;border-radius:999px;background:#9ea4b342;overflow:hidden}.now-fill{display:block;height:100%;border-radius:999px;transition:width 1s linear}.now-foot{display:flex;justify-content:space-between;margin-top:3px;font-size:10.5px;font-weight:600;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.pulse-dot.sm{width:8px;height:8px}.hero-gap{display:flex;align-items:center;padding:6px 0;border:none;background:transparent;cursor:pointer;width:100%;text-align:left}.hero-gap-plus{margin-left:58px;width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#595bcd1a;color:var(--accent);position:relative;z-index:1;box-shadow:0 0 0 4px var(--canvas)}.hero-gap-chip{margin-left:8px;padding:7px 10px 7px 8px;border:1px dashed rgba(158,164,179,.45);border-radius:12px;font-size:10.5px;font-weight:500;color:var(--ink-subtle)}.hero-gap-chip strong{font-weight:700;color:var(--accent);margin-right:5px}.hero-overflow{display:flex;align-items:center;gap:10px;padding:14px 0 4px 62px;border:none;background:transparent;font-size:11px;font-weight:600;color:var(--ink-muted);cursor:pointer}.hero-overflow-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.5px #595bcd99}.hero-cta{margin-top:2px}@property --live-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.live-banner{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:999px;background:#fff9;-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 6px 14px #52c78c29}.live-banner:before{content:"";position:absolute;inset:0;border-radius:999px;padding:1.6px;background:conic-gradient(from var(--live-angle),transparent 0% 62%,rgba(82,199,140,.85) 78%,rgba(82,199,140,.3) 92%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:liveSpin 3s linear infinite;pointer-events:none}@keyframes liveSpin{to{--live-angle: 360deg}}.live-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--live-green);box-shadow:0 0 10px 3px #52c78c80;animation:liveBreathe .95s ease-in-out infinite alternate}@keyframes liveBreathe{0%{opacity:1}to{opacity:.3}}.live-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.live-title-row{display:flex;align-items:center;gap:8px}.live-title{font-size:16px;font-weight:600;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-chip{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--live-green);background:#52c78c2e;padding:2px 7px;border-radius:999px}.live-sub{font-size:11px;font-weight:500;color:var(--ink-muted);font-variant-numeric:tabular-nums}.live-left{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--live-green);background:#52c78c1f;padding:4px 9px;border-radius:999px;font-variant-numeric:tabular-nums}.insight-card{border-radius:var(--r-card);padding:20px;display:flex;flex-direction:column;gap:14px}.insight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.insight-title{margin-top:3px;font-size:15px;font-weight:700;color:var(--ink-strong)}.insight-start{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:.8px solid rgba(89,91,205,.22);border-radius:999px;background:#595bcd24;color:var(--accent-deep);font-size:12px;font-weight:700;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.insight-start:active{transform:scale(.96)}.insight-metrics{display:flex;align-items:center;gap:14px}.insight-metric{flex:1;display:flex;flex-direction:column;gap:3px}.insight-value{font-size:17px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.insight-label{font-size:9px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-muted)}.insight-rule{width:1px;height:32px;background:var(--divider)}.insight-chart{display:flex;align-items:flex-end;gap:7px}.insight-col{position:relative;flex:1;display:flex;flex-direction:column;align-items:stretch;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.insight-track{position:relative;display:block;height:34px;border-radius:4px;background:#595bcd12;overflow:hidden;transition:background .2s ease,transform .25s cubic-bezier(.34,1.4,.64,1);transform-origin:bottom}.insight-track.held{background:#595bcd29;transform:scaleY(1.08)}.insight-bar{position:absolute;left:0;right:0;bottom:0;border-radius:4px;background:#595bcd4d}.insight-track.held .insight-bar{background:#595bcd8c}.insight-bar.today{background:linear-gradient(180deg,var(--accent-soft),var(--accent))}.insight-dow{text-align:center;font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--ink-muted)}.insight-dow.on{color:var(--accent-deep)}.insight-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:11px;font-weight:700;color:#fff;background:var(--accent-deep);padding:5px 9px;border-radius:999px;box-shadow:0 3px 6px #595bcd66;z-index:2;pointer-events:none}.ti-section{display:flex;flex-direction:column;gap:12px}.ti-eyebrow{padding:0 4px}.ti-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ti-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:var(--r-inner);cursor:pointer;overflow:hidden;text-align:left;transition:transform .28s cubic-bezier(.34,1.4,.64,1),box-shadow .25s ease}.ti-tile:active{transform:scale(.97)}.ti-tile.open{box-shadow:inset 0 0 0 1.4px color-mix(in srgb,var(--tile-tint) 55%,transparent),var(--glass-shadow)}.ti-glow{position:absolute;top:-16px;left:-16px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--tile-tint) 42%,transparent);filter:blur(42px);pointer-events:none}.ti-tile-head{position:relative;width:100%;display:flex;align-items:center;justify-content:space-between}.ti-tile-ico{color:var(--tile-tint)}.ti-caret{color:var(--ink-subtle);transition:transform .3s ease}.ti-tile.open .ti-caret{transform:rotate(180deg)}.ti-count{position:relative;font-size:26px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums;line-height:1}.ti-label{position:relative;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-muted)}.ti-list{border-radius:var(--r-card);overflow:hidden;animation:viewIn .35s cubic-bezier(.16,1,.3,1) both}.ti-row{position:relative;display:flex;align-items:center;gap:12px;padding:12px 18px}.ti-row+.ti-row:before{content:"";position:absolute;top:0;left:56px;right:0;height:1px;background:var(--divider)}.ti-check{width:22px;height:22px;flex:0 0 22px;border:1.5px solid rgba(158,164,179,.5);border-radius:6px;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.4,.64,1),background .2s ease}.ti-check:active{transform:scale(.92)}.ti-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ti-row-title{font-size:15px;font-weight:600;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ti-row-title.done{text-decoration:line-through;color:var(--ink-muted)}.ti-row-meta{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--ink-muted)}.ti-row-meta i{width:6px;height:6px;border-radius:50%}.ti-row-code{font-weight:700}.ti-row-dotsep{color:var(--ink-subtle)}.ti-empty{display:flex;align-items:center;gap:10px;padding:18px;font-size:14px;font-weight:500;color:var(--ink-muted)}.ti-empty-ico{color:var(--mint);flex:0 0 auto}.jobs-card{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r-card);cursor:pointer;text-align:left;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.jobs-card:active{transform:scale(.98)}.jobs-rail{position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:0 3px 3px 0;background:var(--amber)}.jobs-tile{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--amber);background:repeating-linear-gradient(45deg,transparent 0 4px,rgba(246,190,115,.32) 4px 6px),#f6be7329}.jobs-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.jobs-title{font-size:15px;font-weight:700;letter-spacing:-.2px;color:var(--ink-strong)}.jobs-sub{font-size:11.5px;font-weight:500;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jobs-plus{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--amber);background:#f6be7329}.lists-section{display:flex;flex-direction:column;gap:8px}.lists-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px;border:none;background:transparent;cursor:pointer}.lists-count{font-size:11px;font-weight:700;color:var(--ink-muted);padding:2px 8px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb)}.lists-empty{margin:0;padding:0 4px 8px;font-size:14px;font-weight:500;color:var(--ink-muted);cursor:pointer}.soon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:10px 6px 6px}.soon-glyph{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);background:linear-gradient(135deg,#ffffffe6,#595bcd1a);border:1px solid rgba(255,255,255,.75);box-shadow:0 8px 18px #595bcd2e;margin-bottom:4px}.soon-eyebrow{color:var(--accent)}.soon-title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.4px;color:var(--ink-strong)}.soon-sub{margin:0 0 10px;font-size:15px;font-weight:500;line-height:1.55;color:var(--ink-muted)}.explore-overlay{position:fixed;inset:0;z-index:70;background:var(--canvas);overflow-y:auto;animation:exploreIn .45s cubic-bezier(.2,1,.35,1) both}@keyframes exploreIn{0%{opacity:0;transform:scale(.97) translateY(18px)}to{opacity:1;transform:none}}.explore-inner{max-width:680px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px 60px;display:flex;flex-direction:column;gap:14px}.explore-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.explore-title{margin:2px 0 0;font-size:28px;font-weight:700;letter-spacing:-.5px;color:var(--ink-strong)}.cal-view{display:flex;flex-direction:column;gap:14px}.cal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 4px 0}.cal-title{margin:2px 0 0;font-size:32px;font-weight:700;letter-spacing:-.5px;color:var(--ink-strong)}.cal-today-pill{display:inline-flex;align-items:center;gap:6px;height:36px;margin-top:4px;padding:0 12px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb);color:var(--accent);font-size:12px;font-weight:700;cursor:pointer}.cal-nav-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal-pill{display:inline-flex;align-items:center;height:36px;padding:0 2px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb)}.cal-pill-nav{display:inline-flex;align-items:center;justify-content:center;width:32px;height:34px;border:none;background:transparent;color:var(--ink-strong);cursor:pointer;border-radius:999px}.cal-pill-month{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 6px;border:none;background:transparent;cursor:pointer}.cal-pill-month strong{font-size:15px;font-weight:700;color:var(--ink-strong)}.cal-pill-month span{font-size:15px;font-weight:500;color:var(--ink-muted)}.cal-pill-caret{color:var(--accent);transition:transform .3s ease}.cal-pill-caret.up{transform:rotate(180deg)}.cal-controls{padding:0 4px}.cal-flip{display:inline-flex;align-items:center;justify-content:center;width:42px;height:28px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;cursor:pointer;box-shadow:0 2px 3px #595bcd52;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.cal-flip:active{transform:scale(.94)}.cal-pill-div{width:1px;height:16px;margin:0 4px;background:#9ea4b34d}.cal-strip{border-radius:22px;padding:14px}.cal-week{position:relative;display:flex;gap:6px}.cal-daycell{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;border:none;background:transparent;cursor:pointer}.cal-dc-letter{font-size:9px;font-weight:700;letter-spacing:.6px;color:var(--ink-subtle)}.cal-daycell.today .cal-dc-letter{color:#595bcdd9}.cal-daycell.selected .cal-dc-letter{color:var(--accent)}.cal-dc-num{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px;font-weight:600;color:var(--ink-strong);font-variant-numeric:tabular-nums;transition:background .25s ease,color .25s ease,box-shadow .25s ease}.cal-daycell.out .cal-dc-num{color:#9ea4b38c}.cal-daycell.today:not(.selected) .cal-dc-num{color:var(--accent);box-shadow:inset 0 0 0 1.6px #595bcda6}.cal-daycell.selected .cal-dc-num{color:#fff;font-weight:700;background:linear-gradient(135deg,var(--accent-soft),var(--accent) 55%,var(--accent-deep));box-shadow:0 0 6px #595bcd73}.cal-dc-dots{display:flex;gap:2px;height:5px}.cal-dc-dots i{width:4px;height:4px;border-radius:50%}.cal-rail{position:absolute;bottom:-8px;height:4px;border-radius:999px;background:linear-gradient(90deg,rgba(158,159,234,.85),var(--accent),rgba(158,159,234,.85));box-shadow:0 1px 3.5px #595bcd8c;transition:left .35s cubic-bezier(.3,1.3,.5,1),width .35s cubic-bezier(.3,1.3,.5,1)}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);column-gap:4px;row-gap:2px;animation:viewIn .35s cubic-bezier(.16,1,.3,1) both}.cal-grid-dow{text-align:center;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--ink-subtle);padding-bottom:4px}.cal-structure{display:flex;align-items:center;gap:8px}.cal-summary{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb);font-size:11px;font-weight:600;color:var(--ink-muted);white-space:nowrap}.cal-summary-ico{color:var(--accent)}.cal-summary strong{font-size:12.5px;font-weight:700;color:var(--ink-strong)}.cal-structure-spacer{flex:1}.cal-zoom-wrap{position:relative}.cal-zoom{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 11px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb);cursor:pointer;color:var(--ink-subtle)}.cal-zoom-arrows{color:var(--accent)}.cal-zoom strong{font-size:12px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.cal-zoom-pop{position:absolute;top:44px;right:0;z-index:30;width:188px;padding:10px;border-radius:var(--r-inner);display:flex;flex-direction:column;gap:8px;animation:viewIn .25s cubic-bezier(.16,1,.3,1) both}.cal-zoom-row{display:flex;flex-direction:column;gap:4px}.cal-zoom-row .eyebrow{font-size:9px}.cal-zoom-opts{display:flex;gap:3px}.cal-zoom-opts button{flex:1;padding:5px 0;border:none;border-radius:8px;background:#9ea4b324;color:var(--ink-muted);font-size:10.5px;font-weight:700;cursor:pointer}.cal-zoom-opts button.on{background:var(--accent);color:#fff}.td-scroll{height:min(66vh,720px);overflow-y:auto;border-radius:var(--r-inner)}.td-board{position:relative;display:flex;gap:8px;padding:6px 2px 20px 36px;height:1274px}.td-gutter{position:absolute;left:0;top:6px;bottom:0;width:34px}.td-hour{position:absolute;right:6px;transform:translateY(-6px);font-size:8.5px;font-weight:500;color:#9ea4b399;font-variant-numeric:tabular-nums}.td-hour.major{font-size:9.5px;font-weight:800;color:var(--ink-muted)}.td-hour.now{font-size:9.5px;font-weight:800;color:var(--coral)}.td-col{position:relative;flex:1;min-width:0;border-radius:14px;background:#ffffff38;border:1px solid rgba(255,255,255,.5)}.td-col.center{background:#ffffff6b;border-color:#595bcd29}.td-col.today{background:linear-gradient(180deg,#595bcd12,#595bcd04)}.td-line{position:absolute;left:0;right:0;height:.6px;background:#9ea4b321;pointer-events:none}.td-line.major{height:1px;background:#9ea4b338}.td-block{position:absolute;left:2px;right:2px;display:flex;align-items:stretch;gap:6px;padding:5px 7px 5px 5px;border-radius:var(--r-inner);border-width:1px;border-style:solid;cursor:pointer;text-align:left;overflow:hidden;z-index:2}.td-block.live{border-width:1.4px;z-index:3}.td-block.past{opacity:.5}.td-block-bar{width:3.5px;flex:0 0 3.5px;border-radius:2px}.td-block-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.td-block-title{font-size:12.5px;font-weight:700;letter-spacing:-.2px;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-block-now{font-style:normal;font-size:8px;font-weight:800;letter-spacing:.8px;margin-left:5px}.td-block-time{font-size:9.5px;font-weight:500;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.td-block-progress{position:absolute;left:8px;right:8px;bottom:4px;height:3px;border-radius:999px;background:#9ea4b32e;overflow:hidden}.td-block-progress span{display:block;height:100%;border-radius:999px}.td-nowline{position:absolute;left:0;right:0;height:1.6px;background:var(--coral);box-shadow:0 0 2.5px #ef8e8eb3;z-index:8;pointer-events:none}.td-nowline i{position:absolute;left:-2px;top:-2.7px;width:7px;height:7px;border-radius:50%;background:var(--coral)}.td-nowline em{position:absolute;right:2px;top:-8px;transform:translateY(-50%);font-style:normal;font-size:8.5px;font-weight:800;color:#fff;background:var(--coral);padding:1px 6px;border-radius:999px;font-variant-numeric:tabular-nums}.courses-view{display:flex;flex-direction:column;gap:18px}.week-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:linear-gradient(135deg,#ffffff57,#ffffffdb);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink-muted);cursor:pointer}.week-chip-cal{color:var(--accent)}.week-chip-sliders{color:var(--ink-subtle)}.term-zone{display:block;width:100%;padding:4px 0;border:none;background:transparent;cursor:pointer;text-align:left}.term-endpoints{display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-muted);margin-bottom:9px}.term-line{position:relative;display:flex;align-items:center}.term-line-track{position:absolute;left:0;right:0;height:6px;border-radius:999px;background:#9ea4b329}.term-line-fill{position:absolute;left:0;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-deep))}.term-tick{position:absolute;transform:translate(-50%);width:3px;height:15px;border-radius:1.5px}.term-now{position:absolute;transform:translate(-50%);width:13px;height:13px}.term-now-halo{position:absolute;left:50%;top:50%;width:25px;height:25px;transform:translate(-50%,-50%);border-radius:50%;background:#595bcd3b;animation:termBreathe 3.1s ease-in-out infinite}@keyframes termBreathe{0%,to{transform:translate(-50%,-50%) scale(.8);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}.term-now-core{position:absolute;inset:0;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 5px #595bcd99}.term-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:9px;font-size:11.5px;font-weight:500;color:var(--ink-muted)}.term-thisweek{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.4px;color:var(--accent)}.hero-hint{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12.5px;font-weight:500;color:var(--ink-muted)}.hero-hint svg{color:var(--ink-subtle)}.hero-classes{display:flex;flex-direction:column;gap:12px}.hero-class{display:flex;align-items:center;min-height:34px;border:none;background:transparent;cursor:pointer;text-align:left}.hero-class.past{opacity:.55}.hero-class .hero-time{padding-top:0;align-items:flex-end;justify-content:center}.hero-class .hero-node{padding-top:0;align-items:center}.hero-node-live{width:14px;height:14px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1.6px currentColor}.hero-class-name{flex:1;min-width:0;margin-left:8px;display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-mini{font-style:normal;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:2px 6px;border-radius:999px}.live-mini-accent{color:var(--accent);background:#595bcd2e}.hero-class-dur{flex:0 0 auto;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;padding:3px 7px;border-radius:999px}.metric-strip{display:flex;align-items:center;padding:16px 8px;border-radius:var(--r-card)}.metric-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.metric-cell+.metric-cell{border-left:1px solid rgba(158,164,179,.18)}.metric-cell strong{font-size:20px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.metric-cell span{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-subtle)}.courses-list-head{padding:0 4px}.explore-section-head{display:flex;align-items:center;justify-content:space-between}.course-rows{display:flex;flex-direction:column;gap:12px}.course-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--r-card);border-width:1px;border-style:solid;cursor:pointer;text-align:left;transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.course-row:active{transform:scale(.98)}.course-row.live{border-width:1.2px}.course-row-bar{align-self:stretch;width:5px;flex:0 0 5px;border-radius:4px}.course-row.live .course-row-bar{width:6px;flex-basis:6px}.course-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.course-row-name{display:flex;align-items:center;gap:6px;min-width:0}.course-row-name strong{font-size:16px;font-weight:700;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-row-pin{flex:0 0 auto;color:var(--accent)}.grade-chip{font-style:normal;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;flex:0 0 auto}.course-row-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meta-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:4px 8px;border-radius:999px;white-space:nowrap}.meta-chip.subtle{color:var(--ink-subtle);background:#9ea4b31f}.meta-chip.coral{color:var(--coral);background:#ef8e8e1f}.ring-pct{font-size:11px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.courses-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 32px;border-radius:var(--r-lg);text-align:center}.courses-empty-title{margin-top:10px;font-size:17px;font-weight:600;color:var(--ink-strong)}.courses-empty-sub{font-size:13px;color:var(--ink-muted)}.term-setup{display:flex;flex-direction:column;gap:8px}.term-weeks{display:flex;align-items:center;gap:14px}.term-weeks strong{font-size:15px;font-variant-numeric:tabular-nums}.explore-arc{padding:18px;border-radius:var(--r-card)}.explore-section{display:flex;flex-direction:column;gap:10px}.explore-section .explore-section-head{padding:0 4px}.explore-course{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-inner);border:none;cursor:pointer;text-align:left}.explore-course-bar{align-self:stretch;width:5px;flex:0 0 5px;border-radius:4px}.explore-course-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.explore-course-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-course-sub{font-size:11px;font-weight:500;color:var(--ink-muted)}.explore-course-sub.overdue{color:var(--coral)}.ahead-row{display:flex;align-items:center;gap:12px;padding:8px 4px}.ahead-date{width:38px;flex:0 0 38px;display:flex;flex-direction:column;align-items:center}.ahead-date strong{font-size:16px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.ahead-date span{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--ink-muted)}.ahead-div{width:1px;height:30px;opacity:.7}.ahead-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ahead-title{font-size:15px;font-weight:600;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ahead-sub{font-size:11px;font-weight:500;color:var(--ink-muted)}.ahead-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%}.flow-view{display:flex;flex-direction:column}.flow-picker{display:flex;flex-direction:column;gap:18px;padding-top:4px}.flow-back-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;border:1px solid var(--divider);background:#fff;color:var(--ink-strong);font-size:13px;font-weight:600;cursor:pointer}.flow-hero{position:relative;overflow:hidden;border-radius:var(--r-card);background:linear-gradient(135deg,#5c70d1,#475cbd);padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 14px #5c70d159;animation:viewIn .5s cubic-bezier(.16,1,.3,1) both}.flow-hero-deco{position:absolute;border-radius:50%;background:#ffffff1f;pointer-events:none}.flow-hero-deco.d1{width:140px;height:140px;right:-30px;top:-30px}.flow-hero-deco.d2{width:80px;height:80px;left:40px;bottom:-26px;background:#ffffff1a}.flow-hero-head{display:flex;align-items:center;gap:10px}.flow-hero-mark{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#ffffff38;display:inline-flex;align-items:center;justify-content:center}.flow-hero-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fffc}.flow-hero-title{display:block;font-size:26px;font-weight:700;color:#fff;line-height:1.15}.flow-hero-sub{margin:0;font-size:13px;font-weight:500;color:#ffffffd9}.flow-hero-chips{display:flex;gap:10px}.flow-hero-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#ffffff2e;color:#ffffffb3;font-size:10px;font-weight:600}.flow-hero-chip strong{font-size:14px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.flow-modes{display:flex;flex-direction:column;gap:12px}.flow-mode-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:20px;border:1px solid var(--divider);background:#fff;cursor:pointer;text-align:left;transition:transform .25s cubic-bezier(.34,1.4,.64,1);animation:viewIn .5s cubic-bezier(.16,1,.3,1) both}.flow-mode-card:active{transform:scale(.975)}.flow-mode-tile{width:56px;height:56px;flex:0 0 56px;border-radius:var(--r-inner);display:inline-flex;align-items:center;justify-content:center;color:#fff}.flow-mode-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.flow-mode-title{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:700;color:var(--ink-strong)}.flow-mode-title em{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#5c70d1;background:#5c70d124;padding:2px 6px;border-radius:999px}.flow-mode-sub{font-size:12px;font-weight:500;color:var(--ink-muted)}.flow-mode-arrow{width:33px;height:33px;flex:0 0 33px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#5c70d1;background:#5c70d11a}.lockin-card{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-inner);border:1.5px solid transparent;background:var(--canvas-deep);box-shadow:-4px -4px 8px #ffffffd9,4px 4px 10px #12172912;cursor:pointer;text-align:left}.lockin-card.on{border-color:color-mix(in srgb,var(--li-tint) 45%,transparent)}.lockin-tile{width:40px;height:40px;flex:0 0 40px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;color:var(--li-tint);background:color-mix(in srgb,var(--li-tint) 16%,transparent);transition:background .25s ease,color .25s ease}.lockin-card.on .lockin-tile{color:#fff;background:var(--li-tint)}.lockin-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lockin-title{font-size:15px;font-weight:700;color:var(--ink-strong)}.lockin-sub{font-size:11px;font-weight:500;color:#12172980}.lockin-switch{position:relative;width:46px;height:28px;flex:0 0 46px;border-radius:999px;background:#1217291f;transition:background .25s ease}.lockin-card.on .lockin-switch{background:var(--li-tint)}.lockin-switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000026;transition:transform .25s cubic-bezier(.34,1.4,.64,1)}.lockin-card.on .lockin-switch i{transform:translate(18px)}.lockin-badge{align-self:center;display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;border-radius:999px;color:var(--accent);background:#595bcd1f;border:1px solid rgba(89,91,205,.35);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;animation:lockGlow 2.9s ease-in-out infinite}@keyframes lockGlow{0%,to{border-color:#595bcd40}50%{border-color:#595bcd8c}}.flow-session{position:fixed;inset:0;z-index:65;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--canvas) 0%,var(--canvas-deep) 100%);animation:viewIn .35s cubic-bezier(.16,1,.3,1) both}.flow-session-top{display:flex;align-items:center;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) 20px 4px;z-index:3}.flow-session-back{width:44px;height:44px;border:none;background:transparent;color:#000000d9;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.flow-session-titles{display:flex;flex-direction:column;align-items:center;gap:2px}.flow-session-state{font-size:16px;font-weight:600;letter-spacing:.5px;color:var(--ink-strong)}.flow-session-balance{width:44px}.lockin-badge{z-index:3}.flow-session .flow-scene{position:relative;flex:1;min-height:0}.flow-warning{z-index:3;align-self:center;display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:12px 16px;border-radius:12px;background:#ffcc0026;color:#b28704;font-size:13px;font-weight:600;animation:viewIn .3s ease both}.flow-session-controls{z-index:3;display:flex;flex-direction:column;align-items:center;gap:16px;padding-bottom:96px}.flow-break-chips{display:flex;gap:12px}.break-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:999px;background:var(--canvas-deep);box-shadow:-2px -2px 4px #ffffffe6,2px 2px 4px #0000000f;font-size:13px;font-weight:600;cursor:pointer}.break-chip.short{color:#34c759}.break-chip.long{color:var(--coral)}.break-chip.skip{color:#000c;background:#fff}.flow-ctl-row{display:flex;align-items:center;gap:24px}.flow-ctl-stop{color:#000000b3}.pulse-dot.static:after{animation:none;opacity:0}.upcoming-bar{position:fixed;left:0;right:0;bottom:0;z-index:66;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:28px 28px 0 0;box-shadow:0 -4px 12px #00000014}.upcoming-head{width:100%;display:flex;align-items:center;gap:10px;padding:16px 24px;border:none;background:transparent;cursor:pointer}.upcoming-title{font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#000000d9}.upcoming-count{font-size:12px;font-weight:500;color:#8e8e93}.upcoming-caret{margin-left:auto;color:#8e8e93;transition:transform .3s ease;transform:rotate(180deg)}.upcoming-caret.up{transform:rotate(0)}.upcoming-list{max-height:min(300px,44vh);overflow-y:auto;padding:0 24px 24px;display:flex;flex-direction:column;gap:12px}.upcoming-card{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r-inner);background:#0000000d;border:1px solid rgba(0,0,0,.05)}.upcoming-check{width:26px;height:26px;flex:0 0 26px;border-radius:50%;border:2px solid;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.upcoming-rail{width:4px;height:40px;flex:0 0 4px;border-radius:999px}.upcoming-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.upcoming-course{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:#8e8e93}.upcoming-course i{width:6px;height:6px;border-radius:50%}.upcoming-task{font-size:15px;font-weight:600;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-task.done{text-decoration:line-through;color:#8e8e93}.upcoming-due{font-size:12px;color:#8e8e93}.guided{display:flex;flex-direction:column;gap:12px}.guided-summary{display:flex;align-items:center;gap:8px;padding:14px;border-radius:14px;background:var(--canvas-deep)}.guided-summary-ico{color:var(--accent)}.guided-summary strong{font-size:15px;font-weight:700;color:var(--ink-strong)}.guided-selall{margin-left:auto;border:none;background:transparent;font-size:13px;font-weight:700;color:#4d59d9;cursor:pointer}.guided-course{border-radius:var(--r-inner);background:#fff;border:1px solid var(--divider);overflow:hidden}.guided-course-head{display:flex;align-items:center;gap:8px;padding:14px 16px 8px}.guided-course-head i{width:10px;height:10px;border-radius:50%}.guided-course-head strong{font-size:15px;font-weight:700;color:var(--ink-strong)}.guided-course-head span{margin-left:auto;font-size:12px;font-weight:500;color:#8e8e93}.guided-task{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;cursor:pointer;text-align:left}.guided-task.on{background:#595bcd0d}.guided-task-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.guided-task-title{font-size:14px;font-weight:700;color:var(--ink-strong)}.guided-task-sub{font-size:11px;font-weight:500;color:#8e8e93}.guided-overdue{font-style:normal;font-size:10px;font-weight:700;color:#ff3b30;margin-left:6px}.guided-diff{flex:0 0 auto;font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px}.guided-empty{padding:40px 0;text-align:center;font-size:15px;font-weight:500;color:#8e8e93}.guided-start{animation:none}.summary-overlay{position:fixed;inset:0;z-index:68;overflow-y:auto;background:radial-gradient(48% 42% at 12% 8%,rgba(207,209,246,.55),transparent 70%),radial-gradient(44% 40% at 88% 92%,rgba(224,241,232,.45),transparent 70%),#edf0f2;animation:viewIn .4s cubic-bezier(.16,1,.3,1) both}.summary-inner{max-width:480px;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 24px 40px;display:flex;flex-direction:column;align-items:center;text-align:center}.summary-mark{margin-bottom:6px}.summary-eyebrow{margin-bottom:22px}.summary-medallion{position:relative;width:176px;height:176px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.summary-halo{position:absolute;width:112px;height:112px;border-radius:50%;background:#595bcd1f;filter:blur(6px)}.summary-ring{position:absolute;width:84px;height:84px;border-radius:50%;border:2.5px solid rgba(89,91,205,.42);animation:summaryRing .9s ease-out both}.summary-ring.r2{animation-delay:.08s}.summary-ring.r3{animation-delay:.16s}@keyframes summaryRing{0%{transform:scale(.3);opacity:1}to{transform:scale(2.6);opacity:0}}.summary-coin{position:relative;width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#5c70d1,#475cbd);border:1px solid rgba(255,255,255,.18);box-shadow:0 9px 16px #595bcd59;animation:summaryPop .55s cubic-bezier(.3,1.6,.5,1) both}@keyframes summaryPop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.summary-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:.8px solid rgba(89,91,205,.22);background:#595bcd24;color:var(--accent-deep);font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:14px}.summary-title{margin:0 0 4px;font-size:28px;font-weight:700;color:var(--ink-strong)}.summary-msg{margin:0 0 22px;font-size:15px;font-weight:700;color:var(--ink-muted)}.summary-hero{font-size:60px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,#5c70d1,#3f3fb4);-webkit-background-clip:text;background-clip:text;color:transparent}.summary-total{color:var(--ink-subtle);margin:8px 0 24px}.summary-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}.summary-stat{border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.summary-stat-head{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-muted)}.summary-stat-head svg{color:var(--accent)}.summary-stat strong{font-size:17px;font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.summary-stat strong.accent{color:var(--accent)}.summary-stat strong.mint{color:var(--mint)}.summary-stat strong.coral{color:var(--coral)}.summary-stat .vs-mint{color:var(--mint)}.summary-stat .vs-coral{color:var(--coral);transform:rotate(45deg)}.summary-done{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:17px;border:none;border-radius:var(--r-inner);background:linear-gradient(135deg,#5c70d1,#475cbd);color:#fff;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 7px 14px #595bcd59}.exit-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#0c0e1a73;-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);animation:viewIn .3s ease both}.exit-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 32px;max-width:380px;text-align:center}.exit-glyph{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--coral);background:#ef8e8e29}.exit-card h2{margin:6px 0 0;font-size:24px;font-weight:700;color:#fff}.exit-card p{margin:0 0 8px;font-size:14px;font-weight:500;color:#ffffffd9}.exit-hold{position:relative;width:100%;height:54px;border:none;border-radius:999px;background:#ffffff24;overflow:hidden;cursor:pointer}.exit-hold-fill{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--coral)}.exit-hold.holding .exit-hold-fill{transition:transform 1s linear;transform:scaleX(1)}.exit-hold-label{position:relative;font-size:15px;font-weight:700;color:#fff}.exit-keep{width:100%;padding:14px;border:none;border-radius:999px;background:#ffffff24;color:#fff;font-size:14px;font-weight:600;cursor:pointer}@media(max-width:560px){.demo-pill{left:auto;right:10px;transform:none;padding:7px 11px;font-size:.68rem}.demo-pill:hover{transform:none}}
