:root{--bg:#0b0d12;--bg-2:#0f1218;--card:#151922;--card-2:#1b202b;--card-3:#222837;--border:#262d3b;--border-2:#323a4b;--text:#e9ecf3;--text-2:#a9b1c4;--text-3:#6f7891;--accent:#7c83ff;--accent-strong:#6366f1;--accent-soft:#7c83ff24;--danger:#f87171;--danger-soft:#f871711f;--warn:#fbbf24;--warn-soft:#fbbf241f;--ok:#34d399;--ok-soft:#34d3991f;--info-soft:#60a5fa1f;--shadow:0 10px 30px #00000059;--radius:14px;--radius-sm:10px;--nav-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f6fa;--bg-2:#eef0f6;--card:#fff;--card-2:#f6f7fb;--card-3:#eceff6;--border:#e3e6ee;--border-2:#d3d8e4;--text:#141824;--text-2:#4b5367;--text-3:#8a92a6;--accent:#5b61f0;--accent-strong:#4f46e5;--accent-soft:#5b61f01a;--shadow:0 10px 30px #1418241f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f5f6fa;--bg-2:#eef0f6;--card:#fff;--card-2:#f6f7fb;--card-3:#eceff6;--border:#e3e6ee;--border-2:#d3d8e4;--text:#141824;--text-2:#4b5367;--text-3:#8a92a6;--accent:#5b61f0;--accent-strong:#4f46e5;--accent-soft:#5b61f01a;--shadow:0 10px 30px #1418241f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:24px;font-weight:700}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:600}p{margin:0}code,.mono{font-family:var(--mono);font-size:.9em}::selection{background:var(--accent-soft)}.app{min-height:100%;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--bg-2);flex-direction:column;flex-shrink:0;gap:4px;width:236px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:4px 10px 18px;font-size:19px;font-weight:750;display:flex}.brand img{width:30px;height:30px}.nav-item{color:var(--text-2);cursor:pointer;font-weight:550;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:9px 12px;display:flex}.nav-item:hover{background:var(--card);color:var(--text);text-decoration:none}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item .count{background:var(--danger-soft);color:var(--danger);border-radius:99px;margin-left:auto;padding:0 7px;font-size:12px}.sidebar .spacer{flex:1}.main{flex-direction:column;flex:1;min-width:0;display:flex}.page{width:100%;max-width:1120px;margin:0 auto;padding:26px 28px 60px}.page.wide{max-width:1500px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head .grow{flex:1}.subtle{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:13px}.tiny{font-size:12px}.topbar,.bottomnav{display:none}@media (width<=860px){.sidebar{display:none}.topbar{z-index:20;padding:calc(10px + var(--safe-t)) 16px 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar .title{flex:1;font-size:18px;font-weight:700}.bottomnav{z-index:20;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--bg-2) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav button{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex;position:relative}.bottomnav button.active{color:var(--accent)}.bottomnav .dot{background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:9px;right:calc(50% - 16px)}.page{padding:16px 14px calc(var(--nav-h) + var(--safe-b) + 28px)}.page-head.desktop-only{display:none}h1{font-size:21px}}@media (width>=861px){.mobile-only{display:none!important}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:12px}.card.flat{background:var(--card-2)}.card-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-head .grow{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.stack.tight{gap:6px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.grow{flex:1;min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=640px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}.divider{background:var(--border);height:1px;margin:6px 0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{border:1px solid var(--border-2);background:var(--card-2);height:38px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:600;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover{background:var(--card-3);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn.primary:hover{background:var(--accent)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--card-2);color:var(--text)}.btn.sm{border-radius:8px;height:30px;padding:0 10px;font-size:13px}.btn.icon{width:38px;padding:0}.btn.icon.sm{width:30px}.btn.block{width:100%}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{color:var(--text-2);font-size:13px;font-weight:600}.field .hint{color:var(--text-3);font-size:12px}.input,select.input,textarea.input{border:1px solid var(--border-2);background:var(--bg-2);width:100%;height:40px;color:var(--text);font:inherit;border-radius:10px;outline:none;padding:0 12px;font-size:15px;transition:border-color .12s}textarea.input{resize:vertical;height:auto;min-height:110px;padding:10px 12px;line-height:1.5}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input.sm{height:32px;padding:0 9px;font-size:14px}input[type=time].input,input[type=date].input{min-width:0}.switch{background:var(--border-2);cursor:pointer;border:0;border-radius:99px;flex-shrink:0;width:42px;height:24px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent-strong)}.switch.on:after{transform:translate(18px)}.toggle-row{cursor:pointer;align-items:center;gap:12px;display:flex}.toggle-row .grow{font-size:14px}.seg{background:var(--bg-2);border:1px solid var(--border);border-radius:11px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.seg button.on{background:var(--card-3);color:var(--text);box-shadow:0 1px 2px #0003}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-2);background:var(--bg-2);color:var(--text-2);font:inherit;cursor:pointer;border-radius:99px;padding:5px 11px;font-size:13px;font-weight:600}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.badge{background:var(--card-3);height:22px;color:var(--text-2);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0}.swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--bg)}.empty{text-align:center;color:var(--text-2);padding:36px 16px}.empty svg{color:var(--text-3);margin-bottom:8px}.spinner{border:2px solid var(--border-2);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.center-fill{place-items:center;min-height:50vh;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.callout{border-radius:var(--radius-sm);background:var(--info-soft);color:var(--text-2);gap:10px;padding:12px 14px;font-size:14px;display:flex}.callout svg{flex-shrink:0;margin-top:1px}.callout.warn{background:var(--warn-soft)}.callout.danger{background:var(--danger-soft)}.callout b{color:var(--text)}.progress{background:var(--card-3);border-radius:99px;height:6px;overflow:hidden}.progress>div{background:var(--accent);border-radius:99px;height:100%}.secret{font-family:var(--mono);background:var(--bg-2);border:1px dashed var(--border-2);word-break:break-all;border-radius:10px;padding:10px 12px;font-size:13px}.overlay{z-index:50;background:#05070c8c;justify-content:center;align-items:center;padding:20px;animation:.12s ease-out fade;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--border);width:100%;max-width:560px;max-height:calc(100vh - 40px);box-shadow:var(--shadow);border-radius:18px;animation:.14s ease-out pop;overflow:auto}.modal.wide{max-width:720px}.modal-head{background:var(--card);z-index:1;align-items:center;gap:10px;padding:16px 18px 6px;display:flex;position:sticky;top:0}.modal-head h2{flex:1}.modal-body{padding:10px 18px 18px}.modal-foot{background:var(--card);border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px 18px;display:flex;position:sticky;bottom:0}.modal-foot .left{margin-right:auto}@media (width<=640px){.overlay{align-items:flex-end;padding:0}.modal{max-width:none;max-height:92vh;padding-bottom:var(--safe-b);border-radius:20px 20px 0 0;animation:.18s ease-out slide}.modal-foot{padding-bottom:calc(14px + var(--safe-b))}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}@keyframes slide{0%{opacity:.4;transform:translateY(40px)}}.toasts{z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=860px){.toasts{bottom:calc(var(--nav-h) + var(--safe-b) + 14px)}}.toast{pointer-events:auto;background:var(--card-3);color:var(--text);border:1px solid var(--border-2);box-shadow:var(--shadow);border-radius:12px;max-width:90vw;padding:10px 14px;font-size:14px;font-weight:550;animation:.15s ease-out pop}.toast.error{border-color:var(--danger)}.nextup{background:radial-gradient(120% 140% at 100% 0%, #7c83ff47, transparent 55%), linear-gradient(160deg, var(--card-2), var(--card));border:1px solid var(--border);border-radius:18px;padding:18px;position:relative;overflow:hidden}.nextup .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.nextup .what{letter-spacing:-.01em;margin-top:4px;font-size:21px;font-weight:700}.nextup .leave{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:14px;display:flex}.nextup .countdown{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.nextup .countdown.urgent{color:var(--warn)}.nextup .countdown.late{color:var(--danger)}.nextup .actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.timeline{flex-direction:column;display:flex}.tl-item{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:62px 4px minmax(0,1fr);align-items:stretch;gap:12px;width:100%;padding:10px 10px 10px 6px;display:grid}.tl-item:hover{background:var(--card-2)}.tl-time{text-align:right;font-variant-numeric:tabular-nums;padding-top:1px;font-size:14px;font-weight:650}.tl-time .end{color:var(--text-3);font-size:12px;font-weight:500;display:block}.tl-bar{border-radius:4px;min-height:36px}.tl-body{min-width:0}.tl-title{align-items:flex-start;gap:7px;font-weight:650;display:flex}.tl-title .ico{flex-shrink:0;margin-top:3px;display:inline-flex}.tl-title .txt{overflow-wrap:anywhere;flex:1;min-width:0}.tl-title .badge{vertical-align:1px}.tl-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.tl-item.past{opacity:.5}.tl-item.travel{padding-top:4px;padding-bottom:4px}.tl-item.travel .tl-bar{width:2px;min-height:22px;margin-left:1px;background:repeating-linear-gradient(180deg, var(--text-3) 0 4px, transparent 4px 8px)!important}.tl-item.travel .tl-title{color:var(--text-2);font-size:14px;font-weight:550}.tl-gap{color:var(--text-3);grid-template-columns:62px 4px minmax(0,1fr);gap:12px;padding:2px 10px 2px 6px;font-size:12px;display:grid}.tl-gap .line{border-left:2px dotted var(--border-2);min-height:18px;margin-left:1px}.tl-now{color:var(--danger);align-items:center;gap:8px;margin:2px 0;font-size:12px;font-weight:700;display:flex}.tl-now:after{content:"";background:var(--danger);border-radius:2px;flex:1;height:2px}.tl-now span{text-align:right;width:62px;padding-right:4px}.tl-sleep{color:var(--text-3);align-items:center;gap:8px;padding:6px 10px 6px 18px;font-size:13px;display:flex}.issue{border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;display:flex}.issue.error{background:var(--danger-soft)}.issue.warn{background:var(--warn-soft)}.issue.info{background:var(--card-2);color:var(--text-2)}.issue svg{flex-shrink:0;margin-top:2px}.issue.error svg{color:var(--danger)}.issue.warn svg{color:var(--warn)}.week{--hour:52px;grid-template-columns:52px repeat(var(--days), minmax(0, 1fr));border:1px solid var(--border);border-radius:var(--radius);background:var(--card);display:grid;overflow:hidden}.week-head{display:contents}.week-head>div{z-index:3;background:var(--card);border-bottom:1px solid var(--border);text-align:center;padding:10px 6px 8px;position:sticky;top:0}.week-head .dow{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.week-head .dnum{font-size:19px;font-weight:700}.week-head .today .dnum{color:#fff;background:var(--accent-strong);border-radius:99px;min-width:32px;padding:0 6px;display:inline-block}.week-allday{display:contents}.week-allday>div{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;min-height:8px;padding:4px;display:flex}.week-allday .pill{cursor:pointer;text-align:left;color:#fff;border:0;border-radius:6px;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:650}.week-body{display:contents}.week-gutter{position:relative}.week-gutter span{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;right:8px;transform:translateY(-50%)}.week-col{border-left:1px solid var(--border);background-image:linear-gradient(to bottom, var(--border) 1px, transparent 1px);background-size:100% var(--hour);position:relative}.week-col.today{background-color:color-mix(in srgb, var(--accent) 5%, transparent)}.week-col .off{background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--text-3) 9%, transparent) 6px 7px);pointer-events:none;position:absolute;left:0;right:0}.wblock{cursor:pointer;text-align:left;color:var(--text);border:0;border-left:3px solid var(--c);background:color-mix(in srgb, var(--c) 22%, var(--card));border-radius:7px;padding:3px 6px;font-family:inherit;font-size:12px;line-height:1.25;position:absolute;overflow:hidden}.wblock:hover{background:color-mix(in srgb, var(--c) 32%, var(--card));z-index:2}.wblock .t{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.wblock .s{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.wblock.travel{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--c) 18%, var(--card)) 0 5px, var(--card) 5px 10px);color:var(--text-2);border-left-style:dashed}.wblock.event{background:color-mix(in srgb, var(--c) 30%, var(--card))}.wblock.done{opacity:.55}.wblock.conflict{outline:2px solid var(--danger)}.week-now{background:var(--danger);z-index:4;pointer-events:none;height:2px;position:absolute;left:0;right:0}.week-now:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}@media (width<=860px){.week{--hour:46px;grid-template-columns:40px repeat(var(--days), minmax(0, 1fr))}.wblock{padding:2px 4px;font-size:11px}}.list-card{align-items:flex-start;gap:14px;display:flex}.list-card .accent-bar{border-radius:4px;flex-shrink:0;align-self:stretch;width:4px}.list-card .title{font-size:15px;font-weight:650}.list-card .meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:3px;font-size:13px;display:flex}.list-card .actions{flex-shrink:0;gap:6px;display:flex}@media (width<=640px){.list-card{flex-wrap:wrap}.list-card .actions{justify-content:flex-end;width:100%}}.kv{grid-template-columns:110px minmax(0,1fr);gap:8px 14px;font-size:14px;display:grid}.kv dt{color:var(--text-3)}.kv dd{margin:0}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:22px 0 10px;font-size:12px;font-weight:700}.section-title:first-child{margin-top:0}.more-list .nav-item{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:8px;padding:14px}.auth{background:radial-gradient(70% 60% at 50% 0%, #7c83ff33, transparent 70%), var(--bg);place-items:center;min-height:100%;padding:24px;display:grid}.auth .card{width:100%;max-width:420px;padding:26px}.auth .logo{width:56px;height:56px;margin-bottom:14px}.today-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.today-grid>.desktop-only{position:sticky;top:20px}@media (width<=860px){.today-grid{grid-template-columns:minmax(0,1fr)}.desktop-only,.desktop-only-btn{display:none!important}}.journey{flex-direction:column;gap:6px;margin-top:12px;font-size:14px;display:flex}.journey .step{color:var(--text-2);align-items:center;gap:8px;display:flex}.journey .step.transit{color:var(--text);align-items:flex-start}.journey .line{background:var(--accent-strong);color:#fff;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:1px 8px;font-size:13px;font-weight:700;display:inline-flex}.mode-switch{background:var(--card);border:1px solid var(--border);border-radius:11px;margin:0 4px 14px;padding:3px;display:flex}.mode-switch a{text-align:center;color:var(--text-2);border-radius:8px;flex:1;padding:6px 10px;font-size:13px;font-weight:650}.mode-switch a:hover{color:var(--text);text-decoration:none}.mode-switch a.on{background:var(--card-3);color:var(--text)}.topbar .mode-switch{flex:none;margin:0}.topbar .mode-switch a{padding:5px 10px}@media (width<=860px){.topbar .title{display:none}.topbar .mode-switch{flex:1;max-width:260px}}.assistant{max-width:720px;min-height:100vh;padding:calc(16px + var(--safe-t)) 18px calc(28px + var(--safe-b));flex-direction:column;margin:0 auto;display:flex}.assistant-top{justify-content:space-between;align-items:center;display:flex}.pill-link{color:var(--text-3);border:1px solid var(--border);border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.pill-link:hover{color:var(--text);text-decoration:none}.assistant-hero{margin:clamp(28px,9vh,90px) 0 22px}.assistant-hero .eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:700}.assistant-hero .title{letter-spacing:-.025em;margin-top:8px;font-size:clamp(28px,6.5vw,46px);font-weight:750;line-height:1.08}.assistant-hero .when{color:var(--text-2);margin-top:8px;font-size:16px}.tool{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:20px}.tool-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chip.big{padding:9px 16px;font-size:14px}.assistant.dim{opacity:.72}.assistant.dim .tool{background:0 0}.a-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:700}.a-big{letter-spacing:-.01em;font-size:20px;font-weight:700}.a-countdown{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(30px,7vw,42px);font-weight:800}.a-leave{color:var(--warn);align-items:center;gap:8px;font-weight:650;display:flex}.ring{flex-shrink:0;position:relative}.ring svg circle{fill:none;stroke-width:6px}.ring-track{stroke:var(--card-3)}.ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .6s linear}.ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px;font-weight:800}.checklist{flex-direction:column;gap:6px;display:flex}.check{text-align:left;font:inherit;color:var(--text);background:var(--card-2);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-size:15px;display:flex}.check .box{border:2px solid var(--border-2);border-radius:7px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.check.on{color:var(--text-3)}.check.on span:last-child{text-decoration:line-through}.check.on .box{background:var(--ok);border-color:var(--ok);color:#04130c}.live-dot{color:var(--danger);align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.live-dot i{background:var(--danger);border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.explain-feed{flex-direction:column;gap:12px;display:flex}.explain{border-left:3px solid var(--accent);flex-direction:column;gap:6px;padding-left:12px;display:flex}.explain.older{opacity:.55;border-left-color:var(--border-2)}.explain-summary{font-size:16px;font-weight:600}.concept{color:var(--text-2);font-size:14px}.concept b{color:var(--text)}.terms{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.term{background:var(--card-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.transcript{color:var(--text-3);flex-direction:column;justify-content:flex-end;max-height:160px;font-size:14px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 40%);mask-image:linear-gradient(#0000,#000 40%)}.transcript p{margin:2px 0}.transcript .interim{color:var(--text-2);font-style:italic}.recipe{flex-direction:column;gap:10px;display:flex}.recipe-step{font-size:clamp(22px,5vw,30px);font-weight:650;line-height:1.3}.ktimer{background:var(--card-2);border:1px solid var(--border);border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}.ktime{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(38px,10vw,56px);font-weight:800;line-height:1}.ktimer.fired{border-color:var(--warn);background:var(--warn-soft);cursor:pointer;animation:1s ease-in-out infinite pulse}.view-toggle{margin:-6px 0 16px}.focus-wrap{max-width:640px;margin:0 auto}.focus-day{flex-direction:column;gap:14px;display:flex}.due-row{flex-wrap:wrap;gap:6px;display:flex}.due-chip{font:inherit;cursor:pointer;background:var(--danger-soft);color:var(--danger);border:0;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:650;display:inline-flex}.now-card{background:linear-gradient(160deg, color-mix(in srgb, var(--c) 16%, var(--card)), var(--card));border:1px solid color-mix(in srgb, var(--c) 35%, var(--border));cursor:pointer;border-radius:20px;padding:20px}.now-card.free{cursor:default}.now-label{letter-spacing:.1em;text-transform:uppercase;color:var(--c,var(--accent));font-size:12px;font-weight:800}.now-title{letter-spacing:-.02em;align-items:center;gap:12px;margin-top:6px;font-size:28px;font-weight:800;line-height:1.15;display:flex}.now-icon{color:var(--c);display:inline-flex}.now-sub{color:var(--text-2);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:15px;display:flex}.now-sub span{align-items:center;gap:4px;display:inline-flex}.now-progress{background:var(--card-3);border-radius:99px;height:10px;margin-top:16px;overflow:hidden}.now-progress>div{background:var(--c);border-radius:99px;height:100%;transition:width .6s}.now-meta{color:var(--text-2);margin-top:8px;font-size:15px}.now-meta b{color:var(--text)}.now-card .btn{margin-top:12px}.next-card{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--c);cursor:pointer;border-radius:16px;padding:14px 16px}.next-head{justify-content:space-between;align-items:center;display:flex}.next-head .now-label{color:var(--text-3)}.next-when{font-size:14px;font-weight:700}.next-title{align-items:center;gap:10px;min-width:0;margin-top:4px;font-size:19px;font-weight:750;display:flex}.next-meta{color:var(--text-2);margin-top:2px;font-size:14px}.leave-pill{background:var(--accent-soft);border-radius:12px;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:14px;font-weight:650;display:flex}.leave-pill>span{flex:1}.leave-pill.urgent{background:var(--warn-soft)}.daystrip-wrap{padding:4px 2px 0}.daystrip{background:var(--card-2);border:1px solid var(--border);border-radius:10px;height:30px;position:relative;overflow:hidden}.daystrip .seg{background:var(--c);cursor:pointer;opacity:.9;border:0;border-radius:5px;padding:0;position:absolute;top:3px;bottom:3px}.daystrip .seg.travel{background:repeating-linear-gradient(135deg, var(--text-3) 0 3px, transparent 3px 6px);opacity:.6}.daystrip .seg.routine,.daystrip .seg.task{top:7px;bottom:7px}.daystrip-past{background:color-mix(in srgb, var(--bg) 55%, transparent);z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0}.daystrip-now{background:var(--danger);z-index:2;border-radius:2px;width:3px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.daystrip-ticks{height:16px;margin-top:3px;position:relative}.daystrip-ticks span{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;transform:translate(-50%)}.chunks{flex-direction:column;gap:6px;display:flex}.chunks-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:6px 4px 0;font-size:12px;font-weight:800}.chunk{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}.chunk-head{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:12px 14px;font-size:15px;font-weight:700;display:flex}.chunk-head .faint{margin-left:auto;font-size:13px;font-weight:500}.chunk-row{border-top:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.chunk-row:hover{background:var(--card-2)}.chunk-row.past,.chunk-row.is-done{opacity:.55}.chunk-row.is-done .chunk-title{text-decoration:line-through}.chunk-time{font-variant-numeric:tabular-nums;flex-shrink:0;width:44px;font-size:14px;font-weight:700}.chunk-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.chunk-text{flex-direction:column;flex:1;min-width:0;display:flex}.chunk-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.chunk-sub{color:var(--text-2);white-space:nowrap;gap:8px;font-size:12px;display:flex;overflow:hidden}.chunk-leave{color:var(--accent);align-items:center;gap:3px;font-weight:650;display:inline-flex}.tick,.tick-space{flex-shrink:0;width:30px;height:30px}.tick{border:2px solid var(--border-2);color:#0000;cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.tick:hover{border-color:var(--ok);color:var(--ok)}.tick.on{background:var(--ok);border-color:var(--ok);color:#fff}.bed-line{text-align:center;color:var(--text-3);padding:4px 0 8px;font-size:13px}.notes-toggle{margin-top:14px}@media (width<=640px){.now-title{font-size:24px}}.mail-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.mail{border:1px solid var(--border);background:var(--card-2);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.mail.urgent{border-left:3px solid var(--warn)}.mail-head{overflow-wrap:anywhere}.mail-summary{font-size:.95rem}.mail-draft{justify-content:space-between;gap:8px}.mail-more summary{cursor:pointer;margin-bottom:8px}.mail-reply summary{cursor:pointer}.mail-reply-text{white-space:pre-wrap;background:var(--card-3);border-radius:10px;max-height:14rem;margin-top:6px;padding:8px 10px;font-size:.92rem;overflow-y:auto}.email-pop{border:1px solid var(--border-2);border-left:3px solid var(--warn);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);flex-direction:column;gap:6px;margin-bottom:12px;padding:12px 14px;display:flex}.email-pop .eyebrow{align-items:center;gap:6px;display:flex}.everything .ev-section{margin-bottom:26px}.ev-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ev-checks{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.ev-check{text-align:left;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.ev-check.warn{border-color:var(--warn);background:var(--warn-soft)}.ev-check.danger{border-color:var(--danger);background:var(--danger-soft)}.ev-check-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.ev-detail{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ev-check.open .ev-detail{display:block}.ev-attention{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ev-attention li{align-items:flex-start;gap:8px;display:flex}.ev-attention li.danger svg{color:var(--danger);flex:none;margin-top:2px}.ev-attention li.warn svg{color:var(--warn);flex:none;margin-top:2px}.ev-attention button{font:inherit;color:var(--text);text-align:left;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-2);text-decoration-color:var(--border-2);text-underline-offset:3px;background:0 0;border:0;padding:0}.ev-add{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ev-add .input:first-child{flex:220px}.ev-add .input[type=date]{flex:0 160px}.ev-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ev-group{margin-bottom:10px}.ev-group>summary{cursor:pointer;padding:6px 0;font-weight:650}.ev-items{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.ev-item{border:1px solid var(--border);background:var(--card);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.ev-item.late{border-left:3px solid var(--danger)}.ev-item.done .ev-title{color:var(--text-3);text-decoration:line-through}.ev-tick{color:var(--text-3);cursor:pointer;background:0 0;border:0;flex:none;margin-top:1px;padding:0}.ev-tick:hover,.ev-item.done .ev-tick{color:var(--ok)}.ev-item-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ev-title{font:inherit;color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:650}.ev-badges{flex-wrap:wrap;gap:4px;display:flex}.ev-badges:empty{display:none}.ev-more{flex-direction:column;gap:12px;margin-top:10px;display:flex}.ev-steps,.ev-booked,.ev-related{margin:4px 0 0;padding-left:20px}.ev-about{overflow-wrap:anywhere;margin:0;line-height:1.55}.ev-session{border-radius:var(--radius-sm);background:var(--accent-soft);gap:4px;padding:8px 10px;font-size:.9rem;display:grid}.ev-session>div{align-items:baseline;gap:6px;display:flex}.ev-session svg{color:var(--accent);flex:none;position:relative;top:2px}.ev-sec{gap:4px;display:grid}.ev-sec-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:flex}.ev-steps li+li{margin-top:3px}.ev-formulas{border-radius:var(--radius-sm);background:var(--card-2);border:1px solid var(--border);gap:2px;margin:0;padding:8px 10px;display:grid}.ev-formula{grid-template-columns:minmax(9rem,14rem) 1fr;gap:2px 12px;padding:3px 0;display:grid}.ev-formula+.ev-formula{border-top:1px solid var(--border)}.ev-formula dt{color:var(--text-2);font-size:.85rem}.ev-formula dd{font-family:var(--mono);overflow-wrap:anywhere;margin:0;font-size:.92rem}@media (width<=560px){.ev-formula{grid-template-columns:1fr}}.ev-formula sub,.ev-hints sub,.ev-answers sub,.ev-steps sub,.ev-about sub{font-size:.72em}.ev-fold{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px}.ev-fold>summary{cursor:pointer;color:var(--text-2);align-items:center;gap:6px;font-size:.9rem;display:flex}.ev-fold[open]>summary{margin-bottom:6px}.ev-hints{gap:8px;margin:0;padding:0;font-size:.92rem;line-height:1.5;list-style:none;display:grid}.ev-hint-label{font-size:.85rem;font-weight:600}.ev-answers{white-space:pre-line;font-family:var(--mono);font-size:.9rem;line-height:1.6}.ev-study{border-top:1px solid var(--border);padding-top:6px}.ev-links{flex-wrap:wrap;gap:6px;display:flex}.ev-links .btn{overflow-wrap:anywhere;text-align:left;max-width:100%}.ev-notes{white-space:pre-wrap;background:var(--card-2);overflow-wrap:anywhere;border-radius:10px;max-height:12rem;padding:8px 10px;overflow-y:auto}.ev-quotas{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.ev-quota-top{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.ev-bar{background:var(--card-3);border-radius:99px;height:8px;position:relative}.ev-bar i{background:var(--accent);border-radius:99px;position:absolute;inset:0 auto 0 0}.ev-bar i.risk{background:var(--danger)}.ev-bar b{background:var(--text-2);width:2px;position:absolute;top:-3px;bottom:-3px}.ev-risk{color:var(--danger);margin-top:2px}.ev-activity,.ev-routines{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.ev-activity li{align-items:flex-start;gap:10px;display:flex}.ev-activity .small,.ev-routines .tiny{overflow-wrap:anywhere}.ev-dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.ev-dot.warn{background:var(--warn)}.ev-dot.fail{background:var(--danger)}.sidebar .mode-switch{grid-template-columns:1fr 1fr;gap:3px;margin:0 0 14px;display:grid}.sidebar .mode-switch a{white-space:nowrap;justify-content:flex-start;align-items:center;gap:7px;min-width:0;padding:7px 9px;font-size:12.5px;display:flex}.sidebar .mode-switch a svg{opacity:.75;flex-shrink:0}.sidebar .mode-switch a.on svg{opacity:1;color:var(--accent)}.topbar .mode-switch a svg{display:none}@media (width<=640px){.ev-checks{grid-template-columns:1fr 1fr;gap:8px}.ev-check{padding:8px 10px}.ev-check .ev-detail{display:none}.ev-check.open{grid-column:1/-1}.ev-check.open .ev-detail{display:block}}.notes{flex-direction:column;min-height:0;display:flex;overflow:hidden}.notes-tabs{border-bottom:1px solid var(--border);background:var(--bg-2);align-items:center;gap:4px;padding:6px 10px;display:flex}.notes-tabs-list{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.notes-tabs-list::-webkit-scrollbar{display:none}.notes-tab{min-width:90px;max-width:230px;color:var(--text-2);border:1px solid #0000;border-radius:9px;flex:0 auto;align-items:center;display:flex}.notes-tab.on{background:var(--card);border-color:var(--border);color:var(--text)}.notes-tab-main{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:6px 2px 6px 10px;font-size:13px;font-weight:600;display:flex}.notes-tab-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-tab-main svg{flex-shrink:0}.notes-tab.is-guide .notes-tab-main svg{color:var(--accent)}.notes-tab-x,.notes-tab-add{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:6px;display:grid}.notes-tab-x:hover,.notes-tab-add:hover{color:var(--text);background:var(--card-3)}.notes-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.notes-scroll.fill{display:flex;overflow:hidden}.notes-empty{text-align:center;color:var(--text-2);padding:48px 20px}.note-wrap{grid-template-columns:minmax(0,1fr) 300px;gap:32px;max-width:1220px;margin:0 auto;padding:22px 28px 90px;display:grid}.note{justify-self:center;width:100%;min-width:0;max-width:800px}.note-crumbs{flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:6px;display:flex}.note-crumbs span{align-items:center;display:inline-flex}.note-type{background:var(--card-3);color:var(--text-2);border-radius:99px;margin-left:6px;padding:1px 8px;font-weight:600}.note-type.t-lecture{background:var(--accent-soft);color:var(--accent)}.note-type.t-concept{background:var(--ok-soft);color:var(--ok)}.note-props{border:1px solid var(--border);background:var(--card);border-radius:10px;margin:4px 0 12px;padding:6px 12px}.note-props summary{cursor:pointer}.note-props dl{gap:6px;margin:8px 0 4px;font-size:13.5px;display:grid}.note-props dl>div{grid-template-columns:130px minmax(0,1fr);gap:10px;display:grid}.note-props dt{color:var(--text-3)}.note-props dd{overflow-wrap:anywhere;margin:0}.note-body{overflow-wrap:break-word;font-size:16px;line-height:1.65}.note-body h1{margin:4px 0 14px;font-size:27px;line-height:1.25}.note-body h2{border-bottom:1px solid var(--border);margin:30px 0 10px;padding-bottom:6px;font-size:20px}.note-body h3{margin:22px 0 8px;font-size:17px}.note-body h4,.note-body h5,.note-body h6{margin:18px 0 6px;font-size:15px}.note-body :is(h1,h2,h3,h4,h5,h6){border-radius:6px;scroll-margin-top:12px}.note-body :is(h1,h2,h3,h4,h5,h6).flash{animation:2.2s ease-out note-flash}@keyframes note-flash{0%,35%{background:var(--accent-soft);box-shadow:0 0 0 6px var(--accent-soft)}to{background:0 0;box-shadow:0 0 0 6px #0000}}.note-body p{margin:8px 0}.note-body ul,.note-body ol{margin:8px 0;padding-left:24px}.note-body li{margin:3px 0}.note-body li.task{margin-left:-20px;list-style:none}.note-body a{color:var(--accent)}.note-body a.internal,.note-props a.internal{font-weight:550;text-decoration:none}.note-body a.internal:hover{text-decoration:underline}.note-body a.unresolved{color:var(--text-3);-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.note-body .file.missing,.note-props .file.missing{color:var(--text-3);cursor:help}.note-body a.ts{background:var(--accent-soft);white-space:nowrap;border-radius:6px;padding:0 6px;font-size:.85em;font-weight:600;text-decoration:none;display:inline-block}.note-body a.ts.missing{color:var(--text-3);background:var(--card-3)}.note-body mark{color:inherit;background:#facc1559;border-radius:3px;padding:0 2px}.note-body code{font-family:var(--mono);background:var(--card-3);border-radius:5px;padding:1px 5px;font-size:.88em}.note-body pre{background:var(--card-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:1.5;overflow-x:auto}.note-body pre code{background:0 0;padding:0}.note-body pre.mermaid{font-family:var(--mono);text-align:center;background:var(--card)}.note-body pre.mermaid svg{max-width:100%;height:auto}.note-body blockquote{border-left:3px solid var(--border-2);color:var(--text-2);margin:10px 0;padding:2px 14px}.note-body hr{border:0;border-top:1px solid var(--border);margin:22px 0}.note-body .table-wrap{border:1px solid var(--border);border-radius:10px;margin:12px 0;overflow-x:auto}.note-body table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.45}.note-body th,.note-body td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 10px}.note-body th{background:var(--card-2);font-weight:650}.note-body tr:last-child td{border-bottom:0}.note-body img.embed-img{cursor:zoom-in;border-radius:8px;max-width:100%;height:auto;margin:12px 0 6px;display:block}.note-body .math-display{margin:12px 0;padding:2px 0;display:block;overflow:auto hidden}.note-body .math-display .katex-display{margin:0}.note-body .katex{font-size:1.07em}.note-body .embed-note{border-left:2px solid var(--accent);margin:12px 0;padding:4px 0 4px 14px}.note-body .embed-head{margin-bottom:4px;font-size:13px}.note-body .embed-card{border:1px solid var(--border);background:var(--card-2);color:var(--text);border-radius:10px;flex-direction:column;gap:2px;margin:6px 0;padding:8px 12px;font-size:14px;text-decoration:none;display:inline-flex}.note-body .embed-card span{color:var(--text-2);font-size:13px}.note-body .embed-card.missing{opacity:.6}.note-body .callout{--cc:8, 109, 221;border-left:3px solid rgb(var(--cc));background:rgba(var(--cc), .1);color:var(--text);border-radius:10px;margin:14px 0;padding:10px 14px;font-size:15px;display:block}.note-body .callout-title{color:rgb(var(--cc));font-weight:650}.note-body summary.callout-title{cursor:pointer}.note-body .callout-content>:first-child{margin-top:4px}.note-body .callout-content>:last-child{margin-bottom:0}.note-body .callout[data-callout=summary],.note-body .callout[data-callout=tldr],.note-body .callout[data-callout=abstract],.note-body .callout[data-callout=tip],.note-body .callout[data-callout=hint],.note-body .callout[data-callout=important]{--cc:0, 175, 172}.note-body .callout[data-callout=success],.note-body .callout[data-callout=check],.note-body .callout[data-callout=done]{--cc:28, 180, 90}.note-body .callout[data-callout=question],.note-body .callout[data-callout=faq],.note-body .callout[data-callout=help],.note-body .callout[data-callout=warning],.note-body .callout[data-callout=caution],.note-body .callout[data-callout=attention]{--cc:236, 130, 20}.note-body .callout[data-callout=danger],.note-body .callout[data-callout=error],.note-body .callout[data-callout=bug],.note-body .callout[data-callout=failure]{--cc:233, 70, 90}.note-body .callout[data-callout=example]{--cc:140, 100, 240}.note-body .callout[data-callout=quote],.note-body .callout[data-callout=cite],.note-body .callout[data-callout=added]{--cc:140, 150, 160}.note-body .callout[data-callout=typo]{--cc:225, 100, 60}.note-body .callout[data-callout=exam]{--cc:214, 160, 30}.note-body .callout[data-callout=cues]{--cc:30, 170, 176}.note-body .callout[data-callout=key]{--cc:200, 210, 220}.note-body .callout[data-callout=lecturer]{--cc:110, 160, 225}.note-body img.embed-img,.lightbox img{background:#fff}.note-body img.embed-img{padding:4px}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .note-body .callout[data-callout=key]{--cc:24, 35, 46}:root:not([data-theme=dark]) .note-body .callout[data-callout=lecturer]{--cc:31, 78, 121}:root:not([data-theme=dark]) .note-body .callout[data-callout=typo]{--cc:184, 66, 31}:root:not([data-theme=dark]) .note-body .callout[data-callout=exam]{--cc:168, 116, 10}:root:not([data-theme=dark]) .note-body .callout[data-callout=cues]{--cc:15, 122, 128}:root:not([data-theme=dark]) .note-body img.embed-img{padding:0}}:root[data-theme=light] .note-body .callout[data-callout=key]{--cc:24, 35, 46}:root[data-theme=light] .note-body .callout[data-callout=lecturer]{--cc:31, 78, 121}:root[data-theme=light] .note-body .callout[data-callout=typo]{--cc:184, 66, 31}:root[data-theme=light] .note-body .callout[data-callout=exam]{--cc:168, 116, 10}:root[data-theme=light] .note-body .callout[data-callout=cues]{--cc:15, 122, 128}:root[data-theme=light] .note-body img.embed-img{padding:0}.note-tags{flex-wrap:wrap;gap:6px;margin:18px 0 0;display:flex}a.tag{background:var(--accent-soft);color:var(--accent);border-radius:99px;gap:4px;padding:2px 9px;font-size:.85em;font-weight:600;text-decoration:none;display:inline-flex}.note-rail{flex-direction:column;align-self:start;gap:12px;min-width:0;font-size:14px;display:flex;position:sticky;top:16px}.note-rail-sec{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:12px 14px}.note-rail-sec h4,.note-rail-sec summary{color:var(--text-2);cursor:default;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:650;display:flex}.note-rail-sec summary{cursor:pointer;margin:0}.note-rail-sec[open] summary{margin-bottom:8px}.note-links,.note-work,.note-outline{margin:0;padding:0;list-style:none}.note-links li,.note-work li{margin:0 0 9px}.note-work li{flex-direction:column;display:flex}.note-outline li{margin:4px 0}.note-outline a{color:var(--text-2);font-size:13px;text-decoration:none}.note-outline a:hover{color:var(--text)}a.note-link{font-weight:600;text-decoration:none}a.note-link.t-transcript{color:var(--text-2);font-weight:500}.note-link-ctx{color:var(--text-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.vault-graph{background:var(--bg-2);border-radius:10px;flex:1;min-height:0;position:relative;overflow:hidden}.graph-card{border:1px solid var(--border-2);background:var(--card);max-width:440px;box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.graph-card .grow{flex:1;min-width:0}.graph-tab{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px 14px 14px;display:flex}.graph-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.graph-chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.graph-find{width:170px;max-width:100%}.graph-legend{color:var(--text-2);flex-wrap:wrap;gap:4px 14px;display:flex}.graph-legend i{border-radius:50%;width:9px;height:9px;margin-right:3px;display:inline-block}.notes-home{max-width:900px;margin:0 auto;padding:18px 20px 90px}.notes-search{border:1px solid var(--border-2);background:var(--card);color:var(--text-3);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.notes-search input{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:11px 0;font-size:16px}.notes-home-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px;display:flex}.notes-h{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:22px 0 8px;font-size:12px}.notes-modules{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.notes-module{text-align:left;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;font-size:14px;display:flex}.notes-module:hover{border-color:var(--border-2)}.notes-list,.notes-results{margin:0;padding:0;list-style:none}.notes-list li,.notes-results li{border-bottom:1px solid var(--border);flex-direction:column;gap:1px;padding:8px 0;display:flex}.notes-results{margin-top:8px}.notes-tree ul{margin:0;padding-left:16px;list-style:none}.notes-tree>ul{padding-left:0}.tree-dir{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 0;font-size:14px;display:flex}.tree-note{padding:3px 0 3px 20px;font-size:14px}.guide{max-width:820px;margin:0 auto;padding:20px 20px 100px}.guide-head h1{margin:2px 0 4px;font-size:24px}.guide-summary{color:var(--text-2);margin:10px 0 14px}.guide-steps{flex-direction:column;gap:10px;margin:18px 0;padding:0;list-style:none;display:flex}.guide-step{border:1px solid var(--border);background:var(--card);border-radius:14px;gap:10px;padding:14px;display:flex}.guide-step.current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.guide-step.done{opacity:.6}.guide-tick{color:var(--text-3);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.guide-step.done .guide-tick{color:var(--ok)}.guide-step-body{flex:1;min-width:0}.guide-step-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.guide-n{background:var(--card-3);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.guide-step.current .guide-n{background:var(--accent);color:#fff}.guide-do{color:var(--text-2);margin:6px 0}.guide-sections{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.guide-sections .chip{text-align:left}.guide-focus,.guide-questions,.guide-open{margin:6px 0;padding-left:20px;font-size:14.5px}.guide-focus li,.guide-questions li,.guide-open li{margin:3px 0}.guide-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}button.link{color:var(--accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.guide-end{background:var(--ok-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.study-strip{border-top:1px solid var(--border-2);background:var(--card);align-items:center;gap:10px;padding:10px 14px;display:flex}.study-strip-guide{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0;font-size:14px;display:flex}.study-strip-guide svg{color:var(--accent);flex-shrink:0}.study-strip-guide span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.study-strip-do{color:var(--text-2)}.lightbox{z-index:100;cursor:zoom-out;background:#000000e0;place-items:center;display:grid;position:fixed;inset:0}.lightbox img{border-radius:6px;max-width:96vw;max-height:88vh}.lightbox-x{top:calc(12px + var(--safe-t));color:#fff;position:absolute;right:12px}.lightbox-open{bottom:calc(18px + var(--safe-b));position:absolute}.ev-study-ask{background:var(--accent-soft);color:var(--text);border-radius:12px;align-items:center;gap:10px;margin:8px 0;padding:10px 12px;font-size:14px;display:flex}.ev-study-ask svg{color:var(--accent);flex-shrink:0}.ev-study-ask .grow{flex:1}.ev-item.focused{box-shadow:0 0 0 2px var(--accent-soft);border-radius:12px}@media (width<=1100px){.note-wrap{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px 16px 40px}.note-rail{position:static}}@media (width<=860px){.topbar .mode-switch{max-width:380px}.topbar .mode-switch a{padding:5px 6px;font-size:12.5px}.note-body{font-size:15.5px}.note-props dl>div{grid-template-columns:100px minmax(0,1fr)}.notes-home,.guide{padding:14px 14px 40px}.graph-tab{padding:8px 10px 10px}}@media (width<=640px){.notes-tab{min-width:0}.notes-tab:not(.on) .notes-tab-main span,.notes-tab:not(.on) .notes-tab-x{display:none}.notes-tab:not(.on) .notes-tab-main{padding:7px 9px}.notes-tab.on{flex:auto;max-width:65%}}.guide-step-title{grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:8px;display:grid}.guide-step-title>:not(.guide-n){grid-column:2}.guide .katex-display{margin:4px 0;overflow:auto hidden}.note-type.t-unit-guide{background:var(--warn-soft);color:var(--warn)}.note-type.t-textbook{background:var(--info-soft);color:var(--text)}.redalert-banner,.mark-prompt{width:calc(100% - 32px);max-width:1120px;margin:12px auto 0}.redalert-banner{background:color-mix(in srgb, var(--danger) 16%, var(--card));border:1px solid color-mix(in srgb, var(--danger) 55%, transparent);color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.redalert-banner>svg{color:var(--danger);flex-shrink:0}.redalert-banner.after{background:color-mix(in srgb, var(--warn) 14%, var(--card));border-color:color-mix(in srgb, var(--warn) 50%, transparent)}.redalert-banner.after>svg{color:var(--warn)}.redalert-banner-text{flex-direction:column;flex:1;gap:1px;min-width:0;font-size:13.5px;display:flex}.redalert-banner-text b{font-size:14.5px}.redalert-banner-text>span{color:var(--text-2)}.redalert-next{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden;color:var(--text)!important}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-solid:hover{filter:brightness(1.08)}.assistant .redalert-banner,.assistant .mark-prompt{width:100%}.redalert-panel{background:color-mix(in srgb, var(--danger) 10%, var(--card));border:1px solid color-mix(in srgb, var(--danger) 50%, transparent);border-radius:16px;margin:0 0 22px;padding:16px 18px}.redalert-panel.after{background:color-mix(in srgb, var(--warn) 9%, var(--card));border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.redalert-head{align-items:flex-start;gap:12px;display:flex}.redalert-head>svg{color:var(--danger);flex-shrink:0;margin-top:3px}.redalert-panel.after .redalert-head>svg{color:var(--warn)}.redalert-head h2{margin:0 0 2px;font-size:20px}.redalert-head .small{color:var(--text-2)}.redalert-progress{height:8px;margin:12px 0 8px}.redalert-progress span{background:var(--danger);border-radius:inherit;height:100%;display:block}.redalert-panel.after .redalert-progress span{background:var(--warn)}.redalert-how{color:var(--text-2);margin:0 0 10px}.redalert-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.redalert-list li{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.redalert-list li.done{opacity:.55}.redalert-list li.done .redalert-title{text-decoration:line-through}.redalert-list .grow{flex:1;min-width:0}.redalert-title{font-size:14px;font-weight:600}.redalert-tick{color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.redalert-list li.done .redalert-tick{color:var(--ok)}.mark-prompt{background:color-mix(in srgb, var(--warn) 13%, var(--card));border:1px solid color-mix(in srgb, var(--warn) 55%, transparent);border-radius:14px;padding:12px 14px}.mark-prompt-head{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px;display:flex}.mark-prompt-head svg{color:var(--warn)}.mark-prompt-head .small{color:var(--text-2)}.mark-prompt ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mark-prompt li{background:var(--card);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.mark-prompt li .grow{flex:1;min-width:160px}.mark-title{font-size:14px;font-weight:600}@media (width<=640px){.redalert-banner{flex-wrap:wrap}.redalert-banner-text{flex-basis:calc(100% - 30px)}.redalert-list li{flex-wrap:wrap}}
