@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--surface:#fbf6ee;--surface-raised:#fff;--surface-sunk:#f3eadd;--line:#e4d7c5;--line-strong:#9c8a78;--ink:#2a1a17;--ink-muted:#6b5a52;--focus:#2a1a17;--maroon:#8c1d2f;--on-maroon:#fff;--maroon-soft:#f6dfe0;--sun:#f5b83d;--on-sun:#2a1a17;--ongoing:#8a5200;--ongoing-soft:#fdeccc;--upcoming:#1d5fa8;--upcoming-soft:#dde9f8;--done:#1a6b43;--done-soft:#dcf1e4;--overdue:#5c5350;--overdue-soft:#ebe5df;--ai:#6a3fb0;--ai-soft:#eae2f8;--shadow-card:0 1px 2px #2a1a170f, 0 6px 20px #2a1a170f;--shadow-pop:0 12px 40px #2a1a172e}[data-theme=dark]{--surface:#1b1412;--surface-raised:#261c19;--surface-sunk:#140e0c;--line:#3a2c27;--line-strong:#8a766c;--ink:#f6ede3;--ink-muted:#b9a79b;--focus:#f6ede3;--maroon:#ee8791;--on-maroon:#2a0b10;--maroon-soft:#4a1d24;--sun:#e9a92f;--on-sun:#2a1a17;--ongoing:#f2b657;--ongoing-soft:#3f2c0c;--upcoming:#86b8f2;--upcoming-soft:#162c47;--done:#6fd09a;--done-soft:#17382a;--overdue:#b3a9a4;--overdue-soft:#2e2826;--ai:#bfa2f2;--ai-soft:#2e2148;--shadow-card:0 1px 2px #0006, 0 6px 20px #0000004d;--shadow-pop:0 12px 40px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:#1b1412;--surface-raised:#261c19;--surface-sunk:#140e0c;--line:#3a2c27;--line-strong:#8a766c;--ink:#f6ede3;--ink-muted:#b9a79b;--focus:#f6ede3;--maroon:#ee8791;--on-maroon:#2a0b10;--maroon-soft:#4a1d24;--sun:#e9a92f;--on-sun:#2a1a17;--ongoing:#f2b657;--ongoing-soft:#3f2c0c;--upcoming:#86b8f2;--upcoming-soft:#162c47;--done:#6fd09a;--done-soft:#17382a;--overdue:#b3a9a4;--overdue-soft:#2e2826;--ai:#bfa2f2;--ai-soft:#2e2148;--shadow-card:0 1px 2px #0006, 0 6px 20px #0000004d;--shadow-pop:0 12px 40px #0009}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--font-display:"Bricolage Grotesque Variable", "Plus Jakarta Sans Variable", system-ui, sans-serif;--font-sans:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Consolas, monospace}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:24px}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[data-tone=ongoing]{--tone:var(--ongoing);--tone-soft:var(--ongoing-soft)}[data-tone=upcoming]{--tone:var(--upcoming);--tone-soft:var(--upcoming-soft)}[data-tone=done]{--tone:var(--done);--tone-soft:var(--done-soft)}[data-tone=overdue]{--tone:var(--overdue);--tone-soft:var(--overdue-soft)}[data-tone=ai]{--tone:var(--ai);--tone-soft:var(--ai-soft)}[data-tone=brand]{--tone:var(--maroon);--tone-soft:var(--maroon-soft)}.ml-stage{padding:var(--space-6);gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.ml-stage-col{flex-direction:column;align-items:stretch}.ml-stage>.ml-grow{flex:280px;min-width:0}i[data-ic]{flex:none;width:20px;height:20px;display:inline-flex}i[data-ic] svg{width:100%;height:100%;display:block}.ml-meta{color:var(--ink-muted);font-size:14px;font-weight:500;line-height:20px}.ml-code{font-family:var(--font-mono);color:var(--ink-muted);font-size:13px;font-weight:500;line-height:18px}.ml-kbd{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--surface-sunk);color:var(--ink-muted);border:1px solid var(--line);padding:0 6px;font-size:12px;line-height:20px}.ml-section-title{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:26px}.ml-btn{justify-content:center;align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);color:var(--ink);white-space:nowrap;background:0 0;border:1px solid #0000;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s ease-out,opacity .15s ease-out;display:inline-flex}.ml-btn:active{transform:scale(.98)}.ml-btn-primary{background:var(--maroon);color:var(--on-maroon)}.ml-btn-secondary{background:var(--surface-raised);border-color:var(--line-strong)}.ml-btn-ghost{color:var(--maroon);padding:0 var(--space-3)}.ml-btn-ai{background:var(--ai-soft);color:var(--ai)}.ml-btn-sm{height:36px;padding:0 var(--space-4);font-size:13px}.ml-btn-block{width:100%;display:flex}.ml-btn[disabled]{opacity:.45;cursor:not-allowed}.ml-btn i[data-ic]{width:18px;height:18px}.ml-icon-btn{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--ink-muted);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.ml-icon-btn:hover{background:var(--surface-sunk);color:var(--ink)}.ml-badge,.ml-countdown{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);background:var(--tone-soft,var(--surface-sunk));height:24px;color:var(--tone,var(--ink));white-space:nowrap;padding:0 10px;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.ml-badge i[data-ic],.ml-countdown i[data-ic]{width:14px;height:14px}.ml-countdown{font-family:var(--font-mono);height:28px;font-size:13px;font-weight:500}.ml-timer{align-items:flex-end;gap:var(--space-2);display:inline-flex}.ml-timer-seg{min-width:56px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--tone-soft,var(--surface-sunk));color:var(--tone,var(--ink));justify-items:center;gap:2px;display:grid}.ml-timer-seg b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;line-height:30px}.ml-timer-seg span{font-size:12px;font-weight:600;line-height:16px}.ml-field{gap:var(--space-2);min-width:0;display:grid}.ml-field>label{font-size:13px;font-weight:600;line-height:16px}.ml-input{align-items:center;gap:var(--space-2);height:48px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink-muted);display:flex}.ml-input input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.ml-input input::placeholder{color:var(--ink-muted);opacity:1}.ml-input:focus-within{outline:2px solid var(--focus);outline-offset:2px}.ml-input-mono input{font-family:var(--font-mono)}.ml-field[data-state=ok] .ml-input{border-color:var(--done);color:var(--done)}.ml-field[data-state=error] .ml-input{border-color:var(--maroon);border-width:2px}.ml-hint{align-items:center;gap:var(--space-1);color:var(--ink-muted);font-size:14px;font-weight:500;line-height:20px;display:flex}.ml-hint i[data-ic]{width:16px;height:16px}.ml-field[data-state=ok] .ml-hint{color:var(--done)}.ml-field[data-state=error] .ml-hint{color:var(--maroon)}.ml-seg{border-radius:var(--radius-pill);background:var(--surface-sunk);gap:2px;max-width:100%;padding:4px;display:inline-flex}.ml-seg button{height:36px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--ink-muted);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.ml-seg button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-card)}.ml-seg-block{display:flex}.ml-seg-block button{padding:0 var(--space-2);flex:1;justify-content:center}.ml-count{font-family:var(--font-mono);color:var(--tone,var(--ink-muted));font-size:12px;font-weight:500}.ml-tabs{gap:var(--space-2);scrollbar-width:none;padding:2px;display:flex;overflow-x:auto}.ml-tabs::-webkit-scrollbar{display:none}.ml-tab{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);white-space:nowrap;flex:none;font-size:13px;font-weight:600;display:inline-flex}.ml-tab i[data-ic]{width:18px;height:18px}.ml-tab .ml-count{color:var(--ink-muted)}.ml-tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.ml-tab[aria-selected=true] .ml-count{color:var(--surface)}.ml-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.ml-tile{border-radius:var(--radius-md);background:var(--tone-soft,var(--surface-sunk));width:44px;height:44px;color:var(--tone,var(--ink));flex:none;place-items:center;display:grid}.ml-progress{border-radius:var(--radius-sm);background:var(--surface-sunk);height:8px;overflow:hidden}.ml-progress>span{border-radius:var(--radius-sm);background:var(--tone,var(--maroon));height:100%;display:block}.ml-task{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-wrap:wrap;display:flex}.ml-task-main{flex:200px;gap:2px;min-width:0;display:grid}.ml-task-title{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:22px}.ml-task-side{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.ml-task[data-tone=overdue] .ml-task-title{color:var(--ink-muted)}.ml-task-stack .ml-task-side{flex:100%;justify-content:space-between;margin-left:0}.ml-metric{align-items:start;gap:var(--space-1) var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);grid-template-columns:1fr auto;min-width:0;display:grid}.ml-metric .ml-tile{grid-area:1/2/span 2}.ml-metric-num{font-family:var(--font-display);letter-spacing:-.02em;color:var(--tone,var(--ink));font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:44px}.ml-metric-label{font-size:14px;font-weight:600;line-height:20px}.ml-art{width:100%;height:100%;display:block}.ml-art .s1{fill:var(--tone,var(--maroon))}.ml-art .s2{fill:var(--sun)}.ml-art .s3{fill:var(--surface-raised)}.ml-art .s4{fill:var(--ink)}.ml-course{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;min-width:0;display:flex;overflow:hidden}.ml-course-art{background:var(--tone-soft,var(--surface-sunk));height:96px;overflow:hidden}.ml-course-body{gap:var(--space-2);padding:var(--space-4);display:grid}.ml-course-title{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:22px}.ml-course-foot{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ml-list{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.ml-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.ml-row+.ml-row{border-top:1px solid var(--line)}.ml-row-main{flex:1;gap:2px;min-width:0;display:grid}.ml-row-title{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:22px}.ml-row-actions{flex:none;align-items:center;display:flex}.ml-check{border-radius:var(--radius-pill);border:2px solid var(--line-strong);color:#0000;background:0 0;flex:none;place-items:center;width:28px;height:28px;margin:8px;padding:0;display:grid}.ml-check i[data-ic]{width:16px;height:16px}.ml-check[aria-pressed=true]{background:var(--done);border-color:var(--done);color:var(--surface-raised)}.ml-enroll{gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0;display:grid}.ml-enroll-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ml-enroll-title{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:22px}.ml-enroll-foot{align-items:center;gap:var(--space-2);display:flex}.ml-enroll-foot .ml-input{flex:1;min-width:0}.ml-ai{gap:var(--space-4);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0;display:grid}.ml-ai-head{align-items:center;gap:var(--space-3);display:flex}.ml-ai-head>div{flex:1;min-width:0}.ml-ai-title{font-size:16px;font-weight:700;line-height:22px}.ml-ai-body{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--ai-soft);color:var(--ink)}.ml-ai-body b{color:var(--ai)}.ml-confidence{align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr auto;display:grid}.ml-confidence b{font-family:var(--font-mono);color:var(--ai);font-size:13px;font-weight:500}.ml-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.ml-chip{border-radius:var(--radius-sm);background:var(--surface-sunk);height:28px;color:var(--ink);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.ml-chip i[data-ic]{width:14px;height:14px;color:var(--ink-muted)}.ml-ai-foot{gap:var(--space-2);flex-wrap:wrap;display:flex}.ml-hero{border-radius:var(--radius-xl);background:var(--sun);min-height:176px;color:var(--on-sun);--tone:var(--maroon);align-items:stretch;display:flex;position:relative;overflow:hidden}.ml-hero-text{z-index:1;align-content:center;gap:var(--space-2);padding:var(--space-6);flex:60%;min-width:0;display:grid;position:relative}.ml-hero-kicker{font-size:13px;font-weight:600;line-height:16px}.ml-hero-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:40px;font-weight:800;line-height:44px}.ml-hero-sub{max-width:36ch;font-size:16px;font-weight:500;line-height:24px}.ml-hero-art{flex:0 300px;align-self:stretch;min-width:120px}.ml-hero .ml-art .s2{fill:var(--on-sun)}.ml-hero-compact{min-height:132px}.ml-hero-compact .ml-hero-text{padding:var(--space-4)}.ml-hero-compact .ml-hero-title{font-size:28px;line-height:34px}.ml-hero-compact .ml-hero-sub{font-size:14px;line-height:20px}.ml-hero-compact .ml-hero-art{flex-basis:120px;min-width:96px}.ml-nav{gap:var(--space-1);width:248px;padding:var(--space-5) var(--space-3);background:var(--surface-raised);border-right:1px solid var(--line);flex-direction:column;display:flex}.ml-nav-brand{padding:0 var(--space-3) var(--space-5);font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;font-size:22px;font-weight:800;line-height:26px;display:flex}.ml-nav-brand span{color:var(--maroon)}.ml-nav-item{align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink-muted);text-align:left;background:0 0;border:0;font-size:14px;font-weight:600;text-decoration:none;display:flex}.ml-nav-item:hover{background:var(--surface-sunk);color:var(--ink)}.ml-nav-item[aria-current=page]{background:var(--maroon-soft);color:var(--maroon)}.ml-nav-item .ml-count{margin-left:auto}.ml-nav-item[aria-current=page] .ml-count{color:var(--maroon)}.ml-nav-spacer{min-height:var(--space-6);flex:1}.ml-profile{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunk);min-width:0;display:flex}.ml-avatar{border-radius:var(--radius-pill);background:var(--maroon);width:36px;height:36px;color:var(--on-maroon);flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.ml-profile-name{font-size:14px;font-weight:700;line-height:20px}.ml-profile .ml-meta{font-size:12px;line-height:16px}.ml-bar{padding:6px var(--space-2) calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface-raised);border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.ml-bar-item{min-height:48px;color:var(--ink-muted);background:0 0;border:0;justify-items:center;gap:2px;padding:4px 0;font-size:12px;font-weight:600;line-height:16px;text-decoration:none;display:grid}.ml-bar-item i[data-ic]{box-sizing:content-box;border-radius:var(--radius-pill);width:22px;height:22px;padding:3px 16px}.ml-bar-item[aria-current=page]{color:var(--maroon)}.ml-bar-item[aria-current=page] i[data-ic]{background:var(--maroon-soft)}.ml-cmd{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-xl);width:100%;max-width:560px;box-shadow:var(--shadow-pop);overflow:hidden}.ml-cmd-input{align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-5);border-bottom:1px solid var(--line);color:var(--ink-muted);display:flex}.ml-cmd-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.ml-cmd-group{padding:var(--space-3) var(--space-5) var(--space-1);color:var(--ink-muted);font-size:12px;font-weight:600;line-height:16px}.ml-cmd-list{padding:0 var(--space-2) var(--space-2);gap:2px;display:grid}.ml-cmd-item{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:14px;font-weight:600;line-height:20px;display:flex}.ml-cmd-item>span:first-of-type{overflow-wrap:anywhere;flex:1;min-width:0}.ml-cmd-item i[data-ic]{color:var(--ink-muted)}.ml-cmd-item[aria-selected=true]{background:var(--surface-sunk)}.ml-cmd-item mark{background:var(--maroon-soft);color:var(--maroon);border-radius:4px;padding:0 2px}.ml-shell{background:var(--surface);grid-template-columns:248px 1fr;min-height:100%;display:grid}.ml-main{padding:var(--space-8);gap:var(--space-8);align-content:start;min-width:0;display:grid}.ml-topbar{align-items:center;gap:var(--space-3);display:flex}.ml-topbar .ml-input{flex:1;max-width:420px}.ml-topbar-end{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.ml-section{gap:var(--space-4);min-width:0;display:grid}.ml-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ml-cols-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ml-stack{gap:var(--space-3);display:grid}.ml-phone{border:1px solid var(--line-strong);background:var(--surface);border-radius:40px;flex-direction:column;flex:none;width:390px;height:800px;display:flex;overflow:hidden}.ml-phone-body{padding:var(--space-5) var(--space-4) var(--space-4);gap:var(--space-4);flex:1;align-content:start;display:grid;overflow:hidden}.ml-phone-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ml-phone-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:28px;font-weight:700;line-height:34px}@media (prefers-reduced-motion:reduce){.ml-btn{transition:none}}html,body,#root{min-height:100%}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:inherit;text-decoration:none}.app{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.app>.ml-nav{height:100dvh;position:sticky;top:0;overflow-y:auto}.app-main{width:100%;max-width:1184px;padding:var(--space-8);gap:var(--space-8);align-content:start;min-width:0;display:grid}.app-bar{display:none}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:28px;font-weight:700;line-height:34px}.page-sub{margin-top:var(--space-1)}.back-link{align-items:center;gap:var(--space-1);min-height:44px;color:var(--ink-muted);font-size:14px;font-weight:600;display:inline-flex}.back-link i[data-ic]{transform:rotate(180deg)}.dash-top{gap:var(--space-4);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);display:grid}.dash-metrics{gap:var(--space-3);align-content:stretch;display:grid}.dash-metrics-pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.grid-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.grid-metrics{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.filters{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.search-trigger{cursor:pointer;text-align:left;width:100%;max-width:680px;height:56px;padding:0 var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.search-trigger>i[data-ic]{width:22px;height:22px}.search-trigger span:first-of-type{flex:1;font-size:17px}.empty{justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--ink-muted);text-align:center;font-size:14px;font-weight:500;display:grid}.note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunk);color:var(--ink-muted);font-size:14px;font-weight:500;line-height:20px}.panel{gap:var(--space-4);padding:var(--space-5);max-width:640px;display:grid}.panel h2{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:26px}.ml-row-title a:hover,.ml-task-title a:hover{text-decoration:underline}.panel.wide{max-width:860px}.facts{gap:var(--space-2) var(--space-4);grid-template-columns:max-content 1fr;margin:0;font-size:14px;line-height:20px;display:grid}.facts dt{color:var(--ink-muted);font-weight:600}.facts dd{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;font-weight:600;display:flex}.rich{overflow-wrap:anywhere;min-width:0;font-size:16px;line-height:24px}.rich>:first-child{margin-top:0}.rich>:last-child{margin-bottom:0}.rich p,.rich ul,.rich ol,.rich table,.rich pre,.rich blockquote{margin:0 0 var(--space-3)}.rich h1,.rich h2,.rich h3,.rich h4,.rich h5{font-family:var(--font-display);margin:var(--space-4) 0 var(--space-2);font-size:18px;font-weight:700;line-height:24px}.rich a{color:var(--maroon);text-decoration:underline}.rich img{border-radius:var(--radius-sm);max-width:100%;height:auto}.rich ul,.rich ol{padding-left:var(--space-5)}.rich table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.rich td,.rich th{border:1px solid var(--line);padding:var(--space-1) var(--space-2);text-align:left;vertical-align:top}.rich pre,.rich code{font-family:var(--font-mono);font-size:13px}.rich pre{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunk);overflow-x:auto}.quiz-bar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-card);flex-wrap:wrap;max-width:860px;display:flex;position:sticky;top:0}.question .accesshide,.question .sr-only,.question .visually-hidden,.question .info,.question .questionflag,.question .im-controls,.question .editquestion,.question .clearchoice{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.question .qtext{margin-bottom:var(--space-4);font-weight:500}.question .prompt{color:var(--ink-muted);margin-bottom:var(--space-2);font-size:14px;font-weight:600}.question .answer>div,.question .answer>.r0,.question .answer>.r1{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line);margin-bottom:var(--space-2);display:flex}.question .answer>div:has(input:checked){border-color:var(--maroon);background:var(--maroon-soft)}.question .answer label,.question .answer [data-region=answer-label]{gap:var(--space-2);flex:1;min-width:0;display:flex}.question .answer p{margin:0}.question input[type=radio],.question input[type=checkbox]{width:20px;height:20px;accent-color:var(--maroon);flex:none;margin:2px 0 0}.question input[type=text],.question input[type=number],.question select,.question textarea{font:inherit;max-width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);font-size:16px}.question textarea{width:100%;min-height:160px;line-height:24px}.question .outcome,.question .feedback,.question .rightanswer,.question .specificfeedback,.question .generalfeedback{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunk);font-size:14px;line-height:20px}.question .ablock,.question .formulation{min-width:0}.quiz-layout{gap:var(--space-4);align-items:start;display:grid}.quiz-main{gap:var(--space-4);min-width:0;display:grid}[data-slot]{scroll-margin-top:96px}.quiz-rail{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-card);align-content:start;min-width:0;display:grid}.rail-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:24px;display:flex}.rail-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:700;line-height:16px}.rail-close{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink);cursor:pointer;place-items:center;display:none}.rail-close i[data-ic]{transform:rotate(90deg)}.rail-sep{background:var(--line);height:1px}.quiz-jump{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(44px,1fr));display:grid}.quiz-jump button{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);height:44px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;font-size:14px;font-weight:600}.quiz-jump button:hover{border-color:var(--line-strong)}.quiz-jump button[data-done=true]{border-color:var(--done);background:var(--done-soft);color:var(--done)}.quiz-jump button[aria-current=true]{outline:2px solid var(--maroon);outline-offset:1px}.rail-pages{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.rail-pages .ml-code{font-size:12px}.quiz-rail-fab,.quiz-scrim{display:none}.ai-panel{gap:var(--space-3);min-width:0;display:grid}.ai-panel .ai-row{gap:var(--space-2);display:grid}.ai-panel .ml-field>label{font-size:12px}.ai-panel .ml-select{height:44px}.ai-panel .ml-btn{justify-content:center}.ai-panel .option{min-height:42px;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.ai-panel .option-label{font-size:13px}.ai-material{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);display:grid}.ai-material-head{align-items:center;gap:var(--space-2);cursor:pointer;min-height:32px;font-size:13px;font-weight:600;list-style:none;display:flex}.ai-material-head::-webkit-details-marker{display:none}.ai-material-head .ml-count{margin-left:auto}.ai-results{gap:var(--space-2);display:grid}.ai-result{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);display:flex}.ai-result p{margin:0;font-size:13px;line-height:18px}.ai-result .ai-why{color:var(--ink-muted)}.ai-confidence{min-width:38px;height:24px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--surface-sunk);color:var(--ink-muted);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.ai-confidence[data-tone=done]{background:var(--done-soft);color:var(--done)}.ai-confidence[data-tone=ongoing]{background:var(--ongoing-soft);color:var(--ongoing)}.ai-confidence[data-tone=overdue]{background:var(--overdue-soft);color:var(--overdue)}@media (width>=1280px){.quiz-layout{grid-template-columns:minmax(0,1fr) 320px}.quiz-rail{top:var(--space-4);max-height:calc(100dvh - var(--space-8));position:sticky;overflow-y:auto}}@media (width<=1279px){.quiz-rail{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:46;max-height:78dvh;box-shadow:var(--shadow-pop);visibility:hidden;transition:transform .22s ease-out,visibility .22s;position:fixed;overflow-y:auto;transform:translateY(calc(100% + 24px))}.quiz-rail[data-open=true]{visibility:visible;transform:none}.rail-close{display:grid}.quiz-scrim{z-index:45;background:#140a0861;display:block;position:fixed;inset:0}.quiz-rail-fab{right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:47;align-items:center;gap:var(--space-2);height:48px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--ai);color:var(--surface);font:inherit;box-shadow:var(--shadow-pop);cursor:pointer;border:0;font-size:14px;font-weight:700;display:inline-flex;position:fixed}.quiz-rail-fab[data-open=true]{display:none}}@media (prefers-reduced-motion:reduce){.quiz-rail{transition:none}}@media (width<=1023px){.quiz-rail,.quiz-rail-fab{bottom:calc(88px + env(safe-area-inset-bottom,0px) + var(--space-2))}}.post.reply{margin-left:var(--space-5)}.post .ml-meta{font-size:12px;line-height:16px}.option{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line);cursor:pointer;transition:transform .15s ease-out;display:flex}.option:active{transform:scale(.99)}.option[data-picked=true]{border-color:var(--maroon);background:var(--maroon-soft)}.option[data-off=true]{opacity:.55;cursor:not-allowed}.option input{width:20px;height:20px;accent-color:var(--maroon);flex:none}.option-label{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.wide{max-width:860px}.ml-select{width:100%;height:48px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:16px}.chat{gap:var(--space-3);display:grid}.bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);min-width:0;max-width:100%;animation:.25s ease-out both rise}.bubble.user{background:var(--maroon);max-width:85%;color:var(--on-maroon);border-bottom-right-radius:var(--radius-sm);justify-self:end}.bubble.assistant{background:var(--surface-raised);border:1px solid var(--line);border-bottom-left-radius:var(--radius-sm);justify-self:start}.bubble.pending{color:var(--ink-muted);font-size:14px;font-weight:600;animation:1.2s ease-in-out infinite pulse}.bubble-text{white-space:pre-wrap;overflow-wrap:anywhere}.bubble .ml-code{margin-top:var(--space-2);font-size:12px}.composer{bottom:var(--space-4);align-items:flex-end;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-pop);display:flex;position:sticky}.composer .ml-textarea{resize:none;padding:var(--space-2) var(--space-3);background:0 0;border:0}.composer .ml-textarea:focus-visible{outline:none}button.option{width:100%;color:inherit;font:inherit;text-align:left;background:0 0}@media (width<=1023px){.composer{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.ml-textarea{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);font:inherit;resize:vertical;font-size:16px;line-height:24px}.file-input{max-width:100%;color:var(--ink);font-size:16px}.file-input::file-selector-button{font:inherit;height:36px;padding:0 var(--space-4);margin-right:var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);cursor:pointer;font-size:13px;font-weight:600}.check-line{gap:var(--space-3);align-items:flex-start;font-size:14px;font-weight:500;line-height:20px;display:flex}.check-line input{width:20px;height:20px;accent-color:var(--maroon);flex:none}a.ml-task-link{border-radius:var(--radius-lg);display:block}a.ml-course{transition:transform .15s ease-out}a.ml-course:active{transform:scale(.99)}.ml-row[role=button]{cursor:pointer}.lock{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.lock .panel{gap:var(--space-5);width:100%;max-width:420px}.tl-cols{display:none}.tl-col{gap:var(--space-3);align-content:start;min-width:0;display:grid}.tl-col-head{justify-content:space-between;align-items:center;display:flex}@media (width>=1440px){.tl-cols{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tl-single{display:none}.app-main.wide{max-width:1600px}}.update-bar{right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:40;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-pop);font-size:14px;font-weight:600;animation:.24s cubic-bezier(.2,.7,.2,1) both sheet;display:flex;position:fixed}@media (width<=1023px){.update-bar{left:var(--space-4);bottom:calc(84px + env(safe-area-inset-bottom,0px));justify-content:space-between}}.viewer{z-index:60;background:var(--surface);flex-direction:column;animation:.16s ease-out both fade;display:flex;position:fixed;inset:0}.viewer-bar{align-items:center;gap:var(--space-2);padding:calc(var(--space-2) + env(safe-area-inset-top,0px)) var(--space-4) var(--space-2);background:var(--surface-raised);border-bottom:1px solid var(--line);display:flex}.viewer-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:700;line-height:20px}.viewer-body{min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);flex:1;display:grid;overflow:auto}.viewer-body>.empty{margin:var(--space-4);place-self:center}.viewer-frame{background:var(--surface-sunk);border:0;width:100%;height:100%}.viewer-image{object-fit:contain;max-width:100%;max-height:100%;padding:var(--space-4);place-self:center}.viewer-text{padding:var(--space-5);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:22px}.viewer-media{width:min(100%,960px);padding:var(--space-4);place-self:center}.overlay{z-index:50;padding:8vh var(--space-6) var(--space-6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#140e0c73;align-content:start;justify-items:center;display:grid;position:fixed;inset:0}.cmd{flex-direction:column;max-width:760px;max-height:80dvh;display:flex}.cmd-search{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);border-bottom:1px solid var(--line);color:var(--ink-muted);display:flex}.cmd-search>i[data-ic]{width:26px;height:26px;color:var(--maroon)}.cmd-search input{min-width:0;height:48px;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:20px;font-weight:500}.cmd-search input::placeholder{color:var(--ink-muted);opacity:1}.cmd-clear{border-radius:var(--radius-pill);background:var(--surface-sunk);width:32px;height:32px;color:var(--ink-muted);border:0;font-size:18px;line-height:1}.cmd-close{color:var(--ink-muted);padding:var(--space-1) var(--space-2);background:0 0;border:0;font-size:14px;font-weight:600}.cmd-results{overscroll-behavior:contain;min-height:0;padding:var(--space-3) var(--space-3) var(--space-4);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;overflow-y:auto}.cmd-results::-webkit-scrollbar{width:10px}.cmd-results::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--surface-raised);border-radius:999px}.cmd-results::-webkit-scrollbar-track{background:0 0}.cmd-group+.cmd-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.cmd-group-label{padding:var(--space-2) var(--space-4) var(--space-1);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:700;line-height:16px}.cmd-item{align-items:center;gap:var(--space-4);min-height:60px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;display:flex}.cmd-item[aria-selected=true]{background:var(--surface-sunk)}.cmd-tile{border-radius:var(--radius-sm);background:var(--tone-soft,var(--surface-sunk));width:40px;height:40px;color:var(--tone,var(--ink-muted));flex:none;place-items:center;display:grid}.cmd-item[aria-selected=true] .cmd-tile:not([data-tone]){background:var(--surface-raised)}.cmd-tile i[data-ic]{width:18px;height:18px}.cmd-text{flex:1;gap:1px;min-width:0;display:grid}.cmd-title{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:22px}.cmd-sub{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;line-height:18px;overflow:hidden}.cmd-item mark{background:var(--maroon-soft);color:var(--maroon);border-radius:3px;padding:0 1px}.cmd-enter{color:var(--ink-muted);opacity:0;place-items:center;transition:opacity .15s ease-out,transform .15s ease-out;display:grid;transform:translate(-4px)}.cmd-enter i[data-ic]{width:16px;height:16px}.cmd-item[aria-selected=true] .cmd-enter{opacity:1;transform:none}.cmd-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.cmd-grid .cmd-item{min-height:52px}.cmd-grid .cmd-enter{display:none}@media (width<=480px){.cmd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cmd-empty{justify-items:center;gap:var(--space-1);padding:var(--space-8) var(--space-4);text-align:center;color:var(--ink-muted);display:grid}.cmd-empty i[data-ic]{width:28px;height:28px;margin-bottom:var(--space-2)}.cmd-empty-title{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.cmd-foot{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-5);border-top:1px solid var(--line);background:var(--surface-sunk);color:var(--ink-muted);font-size:12px;font-weight:600;display:flex}.cmd-foot .ml-kbd{margin-right:4px}.cmd-count{margin-left:auto}.show-sm{display:none}@media (width<=1023px){.app{grid-template-columns:minmax(0,1fr)}.app>.ml-nav{display:none}.app-main{padding:calc(var(--space-5) + env(safe-area-inset-top,0px)) var(--space-4) calc(88px + env(safe-area-inset-bottom,0px));gap:var(--space-6)}.app-bar{z-index:10;box-shadow:var(--shadow-pop);display:grid;position:fixed;bottom:0;left:0;right:0}.dash-top{grid-template-columns:minmax(0,1fr)}.dash-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-metrics-pair{display:contents}.search-trigger{max-width:none}.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.overlay .cmd{max-width:none;height:100dvh;max-height:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);border:0;border-radius:0}.cmd-search{padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4)}.cmd-search input{font-size:18px}.cmd-item{min-height:56px}.show-sm{display:inline}}@media (width<=639px){.ml-hero{min-height:132px}.ml-hero-text{padding:var(--space-4)}.ml-hero-title{font-size:28px;line-height:34px}.ml-hero-sub{font-size:14px;line-height:20px}.ml-hero-art{flex-basis:110px;min-width:96px}.ml-metric{padding:var(--space-3);grid-template-columns:1fr}.ml-metric .ml-tile{display:none}.ml-metric-num{font-size:28px;line-height:32px}.ml-task .ml-task-side{flex:100%;justify-content:space-between;margin-left:0}.ml-seg.fill{display:flex}.ml-seg.fill button{padding:0 var(--space-2);flex:1;justify-content:center}.hide-sm{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.5)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes sheet{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.page-enter>*{animation:.34s cubic-bezier(.2,.7,.2,1) both rise}.page-enter>.quiz-layout{animation:none}.page-enter>:nth-child(2){animation-delay:50ms}.page-enter>:nth-child(3){animation-delay:.1s}.page-enter>:nth-child(4){animation-delay:.15s}.page-enter>:nth-child(n+5){animation-delay:.2s}.ml-stack>*,.grid-cards>*,.grid-metrics>*,.dash-metrics>*,.tl-col>*,.ml-list>.ml-row{animation:.3s cubic-bezier(.2,.7,.2,1) both rise}:is(.ml-stack,.grid-cards,.grid-metrics,.tl-col,.ml-list)>:nth-child(2){animation-delay:40ms}:is(.ml-stack,.grid-cards,.grid-metrics,.tl-col,.ml-list)>:nth-child(3){animation-delay:80ms}:is(.ml-stack,.grid-cards,.grid-metrics,.tl-col,.ml-list)>:nth-child(4){animation-delay:.12s}:is(.ml-stack,.grid-cards,.grid-metrics,.tl-col,.ml-list)>:nth-child(5){animation-delay:.16s}:is(.ml-stack,.grid-cards,.grid-metrics,.tl-col,.ml-list)>:nth-child(n+6){animation-delay:.2s}.ml-course,.ml-task,.ml-enroll,.ml-row[role=button],.ml-nav-item,.ml-tab,.ml-seg button,.ml-icon-btn,.ml-check,.ml-bar-item i[data-ic]{transition:transform .16s ease-out,background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}.ml-tab:active,.ml-seg button:active,.ml-nav-item:active,.ml-icon-btn:active,.ml-check:active{transform:scale(.96)}@media (hover:hover){a.ml-course:hover{box-shadow:var(--shadow-pop);transform:translateY(-3px)}.ml-row[role=button]:hover{background:var(--surface-sunk)}.ml-btn-primary:hover,.ml-btn-secondary:hover{transform:translateY(-1px)}a.ml-course:hover .ml-art{transform:scale(1.04)}}.ml-art{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.ml-progress>span{transform-origin:0;animation:.7s cubic-bezier(.2,.7,.2,1) .15s both grow}.ml-check[aria-pressed=true] i[data-ic],.ml-nav-item[aria-current=page] i[data-ic],.ml-bar-item[aria-current=page] i[data-ic]{animation:.28s cubic-bezier(.2,.7,.2,1) pop}.ml-badge,.ml-countdown{animation:.3s ease-out both fade}.note[role=status],.note[role=alert]{animation:.25s ease-out both rise}.empty[role=status] i[data-ic]{animation:1.2s ease-in-out infinite pulse}.overlay{animation:.16s ease-out both fade}.overlay .ml-cmd,.lock .panel{animation:.24s cubic-bezier(.2,.7,.2,1) both sheet}.ml-hero .ml-art :is(circle,rect){transform-box:fill-box;transform-origin:50%;animation:7s ease-in-out infinite drift}.ml-hero .ml-art :nth-child(2){animation-delay:-2s}.ml-hero .ml-art :nth-child(3){animation-duration:9s;animation-delay:-4s}.ml-hero .ml-art :nth-child(4),.ml-hero .ml-art :nth-child(5){animation-duration:5s;animation-delay:-1s}.ml-hero .ml-art :nth-child(6){animation-delay:-3s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
