@font-face{font-family:Unbounded;src:url(/assets/fonts/Unbounded.woff2)format("woff2");font-weight:200 900;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/InterVariable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--brand:#6e26f8;--brand-ink:#4a14be;--brand-bg:#f3eeff;--brand-line:#e6dcff;--brand-edge:#c9b8ee;--brand-300:#a373ff;--brand-hover:var(--brand-ink);--accent:#ffd84d;--accent-ink:#3a2c00;--accent-bg:#fff6d6;--accent-line:#f1de9b;--success:#0e7a5a;--success-bg:#e6f6ef;--success-line:#bfe6d3;--warning:#ff8a1f;--warning-ink:#9a4a00;--warning-bg:#fff1e2;--warning-line:#ffcf9e;--danger:#e5402b;--danger-ink:#b3261a;--danger-bg:#ffede8;--danger-line:#ffc6b8;--ink:#21172f;--muted:#6d657b;--surface:#fff;--canvas:#fbf8f3;--line:#e6dfd6;--track:var(--line);--control-border:#8e829c;--on-brand:var(--surface);--info-ink:var(--brand-ink);--info-bg:var(--brand-bg);--illu-teal:#00b39a;--illu-teal-ink:#00695c;--illu-teal-deep:#0b4f57;--illu-teal-bg:#e0f7f2;--illu-teal-line:#9fe3d5;--illu-mint:#7fe0cf;--illu-mint-bg:#e9fbf7;--illu-coral:#ff7b52;--illu-coral-ink:#d9361f;--illu-pink:#f0388c;--illu-pink-ink:#b0145e;--illu-pink-bg:#ffe9f3;--illu-violet-deep:#2a0e78;--illu-land-1:#00735f;--illu-land-2:#00806e;--illu-land-3:#006b5c;--pump-500:var(--brand);--purple:var(--brand);--pump-600:var(--brand-ink);--pump-700:var(--brand-ink);--pump-50:var(--brand-bg);--lav-50:var(--brand-bg);--lav-100:var(--brand-line);--pump-300:var(--brand-300);--yellow:var(--accent);--yellow-ink:var(--accent-ink);--yellow-300:var(--accent-bg);--yellow-600:var(--accent-line);--ok-500:var(--success);--ok-ink:var(--success);--ok-bg:var(--success-bg);--ok-line:var(--success-line);--warn-500:var(--warning);--warn-ink:var(--warning-ink);--warn-bg:var(--warning-bg);--warn-line:var(--warning-line);--orange-500:var(--warning);--orange-ink:var(--warning-ink);--orange-bg:var(--warning-bg);--orange-line:var(--warning-line);--peach-bg:var(--warning-bg);--peach-line:var(--warning-line);--coral-500:var(--danger);--coral-600:var(--danger);--coral-ink:var(--danger-ink);--coral-bg:var(--danger-bg);--coral-line:var(--danger-line);--teal-500:var(--brand);--teal-600:var(--brand);--teal-ink:var(--brand-ink);--teal-bg:var(--brand-bg);--teal-line:var(--brand-line);--pink-500:var(--brand);--pink-ink:var(--brand-ink);--pink-bg:var(--brand-bg);--pink-line:var(--brand-line);--wk-1:var(--brand);--wk-1-ink:var(--brand-ink);--wk-1-bg:var(--brand-bg);--wk-2:var(--brand);--wk-2-ink:var(--brand-ink);--wk-2-bg:var(--brand-bg);--wk-3:var(--brand);--wk-3-ink:var(--brand-ink);--wk-3-bg:var(--brand-bg);--wk-4:var(--brand);--wk-4-ink:var(--brand-ink);--wk-4-bg:var(--brand-bg);--wk-5:var(--brand);--wk-5-ink:var(--brand-ink);--wk-5-bg:var(--brand-bg);--warm-50:var(--canvas);--warm-100:var(--track);--soft:var(--canvas);--black:var(--ink);--deep:var(--ink);--radius:14px;--radius-sm:10px;--font-display:"Unbounded",system-ui,sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--ease-out:cubic-bezier(.23,1,.32,1);--ease-move:cubic-bezier(.4,0,.2,1);--ease-swift:cubic-bezier(.175,.885,.32,1.1);--ease-sheet:cubic-bezier(.32,.72,0,1);--d-press:.1s;--d-hover:.15s;--d-pop:.2s;--d-overlay:.3s;--d-data:.6s}*{box-sizing:border-box}body{background:var(--surface);color:var(--ink);font:16px/1.55 var(--font-body);margin:0}a{color:var(--purple);text-underline-offset:4px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}:is(button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible){outline:3px solid var(--brand);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:22px;font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.15}h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:800;line-height:1.25}h3{font-size:19px;line-height:1.35}p{max-width:74ch}input,textarea{background:var(--surface);border:1px solid var(--control-border);width:100%;color:var(--ink);border-radius:8px;padding:12px 14px;display:block}textarea{resize:vertical;min-height:140px}label{margin:15px 0 7px;font-weight:700;display:block}progress{width:100%;height:6px;accent-color:var(--purple)}.primary,.secondary{text-align:center;border-radius:9px;justify-content:center;align-items:center;padding:12px 18px;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.primary{color:var(--surface);background:var(--purple);border:1px solid var(--purple)}.secondary{color:var(--purple);background:var(--surface);border:1px solid var(--brand-edge)}.muted{color:var(--muted);font-size:14px}.brand{letter-spacing:-.8px;color:var(--ink);white-space:nowrap;font-size:24px;font-weight:900;text-decoration:none}.brand span{color:var(--purple);font-weight:400}.portal-header{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:36px;min-height:78px;padding:15px 4vw;display:flex}.portal-header>a:not(.brand){font-size:14px}.header-end{margin-left:auto}.demo-chip{border:1px solid var(--brand-edge);color:var(--purple);border-radius:20px;padding:7px 12px;font-size:13px}.demo-banner{background:var(--brand-bg);color:var(--brand-ink);padding:12px 4vw;font-size:14px}.portal-layout{grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 128px);display:grid}.curriculum-nav{border-right:1px solid var(--line);background:var(--soft);min-width:0;padding:30px 22px}.curriculum-nav h2{margin-bottom:14px;font-size:18px}.progress-label{justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.curriculum-nav details{border-bottom:1px solid var(--line)}.curriculum-nav summary{cursor:pointer;align-items:flex-start;gap:10px;padding:20px 0;font-size:14px;font-weight:700;line-height:1.4;list-style:none;display:flex}.week-number{background:var(--brand-line);color:var(--purple);border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.curriculum-nav ol{margin:0 0 18px;padding:0;list-style:none}.lesson-link{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;border-radius:6px;gap:10px;padding:10px;font-size:13px;line-height:1.5;display:flex}.lesson-link.selected{background:var(--surface);color:var(--purple);box-shadow:inset 3px 0 var(--purple);font-weight:700}.back{margin-top:25px;font-size:14px;display:block}.workspace{width:100%;min-width:0;max-width:1060px;padding:40px clamp(20px,4vw,60px) 70px}.workspace-heading h1{max-width:24ch;margin:10px 0 15px;font-size:34px}.workspace-heading>p:first-child{margin-bottom:0}.workspace-heading>p:last-child{color:var(--muted)}.workspace-tabs{border-bottom:1px solid var(--line);gap:25px;margin:30px 0;display:flex}.workspace-tabs button{background:var(--surface);color:var(--muted);border:0;border-bottom:3px solid #0000;padding:12px 0;font-weight:700}.workspace-tabs .tab-active{color:var(--purple);border-color:var(--purple)}.lesson-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.lesson-title-row h1{max-width:28ch;font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 16px;font-size:20px;font-weight:800;line-height:1.25}.source-tag{white-space:nowrap;border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:4px 7px;font-size:11px}.video-unavailable{background:var(--deep);color:var(--surface);border-radius:12px;align-items:center;gap:24px;min-height:200px;margin:25px 0;padding:30px;display:flex}.video-unavailable h3{margin-bottom:9px}.video-unavailable p{color:var(--brand-line);max-width:55ch;margin:0;font-size:14px}.play-symbol{color:var(--brand-300);font-size:60px;line-height:1}.checkpoint{border-left:3px solid var(--purple);background:var(--soft);padding:10px 15px;font-size:14px}.task{border-bottom:1px solid var(--line);padding:27px 0}.task-meta{color:var(--muted);gap:14px;margin-bottom:10px;font-size:12px;display:flex}.task-meta b{color:var(--purple)}.task-actions{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.task-actions button{font-size:13px}.save-state{color:var(--muted);margin:10px 0 0;font-size:12px}.source-note{color:var(--muted);margin-top:10px;font-size:11px}.source-note summary{cursor:pointer}.source-note p{margin:10px 0}.lesson-footer{margin-top:30px}.lesson-footer p{margin-top:12px}.notice{color:var(--success);background:var(--success-bg);border-left:3px solid var(--success);padding:15px;font-size:14px}.error{color:var(--danger-ink);background:var(--danger-bg);border-left:3px solid var(--danger);padding:15px}.material-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:22px 0;display:flex}.material-row h3{margin:0 0 5px;font-size:17px}.material-row p,.material-row>span{color:var(--muted);margin:0;font-size:12px}.material-row>span{white-space:nowrap}.tracker>section{margin-top:35px}.empty-state{background:var(--soft);border-radius:12px;padding:30px}.gate{max-width:740px;margin:70px auto;padding:0 25px}.gate .brand{margin-top:35px}.gate h1{margin:20px 0}.gate-actions{flex-wrap:wrap;align-items:center;gap:14px;margin:30px 0;display:flex}.academy>main{max-width:1280px;margin:auto;padding:0 5vw}.academy-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:65px;padding:65px 0 75px;display:grid}.academy-hero h1{font-size:clamp(35px,4.7vw,64px);line-height:1.05}.brand-label{color:var(--purple);margin-bottom:20px;font-size:15px;font-weight:700}.academy-hero>div>p:not(.muted):not(.brand-label){font-size:18px}.hero-actions{flex-wrap:wrap;gap:12px;margin:30px 0 16px;display:flex}.route-visual{background:var(--deep);color:var(--surface);border-radius:20px;padding:30px}.route-visual>span{color:var(--brand-line);margin-bottom:20px;font-size:15px;display:block}.route-visual>div{border-top:1px solid var(--brand-ink);align-items:flex-start;gap:15px;padding:17px 0;display:flex}.route-visual b{color:var(--brand-300);min-width:25px;font-size:23px}.route-visual p{margin:0;font-size:15px;line-height:1.5}.route-visual>strong{background:var(--brand);border-radius:8px;margin-top:15px;padding:15px;font-size:14px;display:block}.academy-flow{border-top:1px solid var(--line);padding:45px 0 65px}.academy-flow>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:30px;display:grid}.academy-flow article>span{color:var(--purple);font-size:13px;font-weight:700}.academy-flow h3{margin-top:12px}.academy-flow p{color:var(--muted);font-size:15px}.academy-access{background:var(--soft);border-radius:18px;grid-template-columns:1fr 1fr;gap:55px;margin-bottom:60px;padding:40px;display:grid}.academy-access p{font-size:15px}.academy-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:25px 5vw;font-size:13px;display:flex}@media (max-width:800px){.portal-header{gap:20px;padding:15px 20px}.portal-layout{grid-template-columns:220px minmax(0,1fr)}.curriculum-nav{padding:25px 14px}.workspace{padding:28px 20px}.workspace-heading h1{font-size:28px}.lesson-title-row{display:block}.source-tag{margin-bottom:12px;display:inline-block}.academy-hero{gap:30px}.academy-access{gap:30px;padding:25px}}@media (max-width:600px){.portal-header{flex-wrap:wrap;gap:12px 20px;min-height:65px}.brand{font-size:22px}.portal-header>a:not(.brand){font-size:12px}.demo-banner{padding:12px 20px;font-size:12px}.portal-layout{display:block}.curriculum-nav{border-right:0;border-bottom:1px solid var(--line);padding:20px}.curriculum-nav details:not([open]) summary{padding:12px 0}.curriculum-nav details[open] ol{max-height:220px;overflow:auto}.curriculum-nav .back{display:none}.workspace{padding:25px 20px 50px}.workspace h1{letter-spacing:-.7px;font-size:28px}.workspace-tabs{gap:22px;margin:20px 0}.workspace-tabs button{font-size:14px}.video-unavailable{gap:15px;min-height:190px;padding:22px}.play-symbol{font-size:40px}.task-actions{grid-template-columns:1fr;width:100%;display:grid}.material-row{display:block}.material-row>span{margin-top:8px;display:block}.academy-hero{padding:40px 0;display:block}.academy-hero h1{font-size:40px}.route-visual{margin-top:35px;padding:25px}.academy-flow>div{grid-template-columns:1fr;gap:20px}.academy-flow{padding:35px 0}.academy-access{grid-template-columns:1fr;gap:20px;padding:25px 20px}.academy-footer{display:block}.academy-footer span{margin-top:10px;display:block}.gate{margin:40px auto}.gate-actions,.hero-actions{grid-template-columns:1fr;display:grid}}.task-done{align-items:center;gap:10px;margin:10px 0 18px;font-size:13px;font-weight:400;display:flex}.task-done input{width:18px;height:18px;accent-color:var(--purple);padding:0}.lesson-materials>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:15px 0;display:flex}.lesson-materials strong{font-size:14px}.material-status{color:var(--muted);font-size:12px}@media (max-width:600px){.lesson-materials>div{display:block}.lesson-materials strong{margin-bottom:8px;display:block}}.next-block{margin:8px 0 8px 12px}@media (max-width:600px){.next-block{width:100%;margin-left:0}.lesson-footer>.primary{width:100%}}.learning-content p{white-space:pre-line}.analytics-panel{background:var(--soft);border-radius:10px;margin:25px 0;padding:20px}.analytics-panel>summary{cursor:pointer;font-weight:700}.analytics-panel>p{margin-top:15px}.metric-field{border-top:1px solid var(--line);padding:10px 0 20px}.metric-field textarea{min-height:80px}.metric-field button{margin-top:10px;font-size:13px}.mentor-workspace{max-width:1000px;margin:auto;padding:45px 25px 70px}.mentor-workspace select{border:1px solid var(--control-border);background:var(--surface);width:100%;max-width:450px;font:inherit;border-radius:8px;margin-bottom:25px;padding:12px;display:block}.mentor-workspace section{margin-top:35px}.mentor-result{border-bottom:1px solid var(--line);padding:20px 0}.mentor-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:var(--soft);border-radius:8px;max-width:75ch;padding:18px}.mentor-result h3{margin-bottom:8px}.learning-content p{white-space:pre-wrap;overflow-wrap:anywhere}.prompt-block{border:1px solid var(--line);border-radius:9px;margin:20px 0;padding:18px}.prompt-block summary{color:var(--purple);cursor:pointer;font-weight:700}.prompt-block>div{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:20px;font-size:14px}.protected-notice{background:var(--soft);border-left:3px solid var(--purple);padding:12px 15px;font-size:14px}.curriculum-mobile-toggle{display:none}.curriculum-body{display:block}.lesson-title-row h1:focus-visible{outline:3px solid var(--brand);outline-offset:5px}@media (max-width:600px){.curriculum-nav{padding:14px 20px}.curriculum-desktop-heading,.curriculum-nav .curriculum-body{display:none}.curriculum-nav[data-mobile-open=true] .curriculum-body{padding-top:12px;display:block}.curriculum-mobile-toggle{border:1px solid var(--brand-edge);background:var(--surface);width:100%;min-height:44px;color:var(--ink);text-align:left;border-radius:9px;padding:12px 14px;display:block}.curriculum-mobile-label{color:var(--purple);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.curriculum-mobile-label>span{font-size:22px;line-height:1}.curriculum-mobile-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0;font-size:14px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.curriculum-mobile-progress{color:var(--muted);font-size:12px;line-height:1.5;display:block}}.workbook-conflict{border:2px solid var(--warning);background:var(--accent-bg);border-radius:9px;min-width:0;margin:18px 0;padding:18px}.workbook-conflict h4{margin:0 0 12px}.workbook-conflict pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;border:1px solid var(--line);background:var(--surface);max-height:240px;padding:12px;overflow:auto}.task>p{white-space:pre-line;overflow-wrap:anywhere}.prompt-copy-button{max-width:100%;min-height:44px;margin-top:16px}.learning-content .prompt-copy-status{color:var(--muted);margin:8px 0 0;font-size:13px}.submitted-result{min-width:0;margin:20px 0}.submitted-result h4{overflow-wrap:anywhere;margin:0 0 8px;font-size:1rem;line-height:1.4}.submitted-result p{margin:8px 0}.submitted-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:var(--soft);border-radius:8px;max-width:75ch;margin:12px 0;padding:18px}.analytics-panel select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:46px;font:inherit;border:1px solid var(--control-border);background:var(--surface);color:var(--ink);border-radius:8px;padding:12px 14px;display:block}.analytics-panel select:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.observation-history{border-top:1px solid var(--line);min-width:0;margin-top:24px;padding-top:20px}.observation-history select,.observation-history input,.observation-history textarea{width:100%;max-width:100%;margin:8px 0 16px;display:block}.observation-list{padding-left:22px}.observation-list li{border-bottom:1px solid var(--canvas);overflow-wrap:anywhere;padding:12px 0}.observation-list pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-family:inherit}.analytics-entry{border-top:1px solid var(--line);overflow-wrap:anywhere;min-width:0;margin-top:24px;padding-top:20px}.analytics-entry input[type=text],.analytics-entry input:not([type]){box-sizing:border-box;width:100%;max-width:100%;margin:8px 0 16px;display:block}.analytics-entry input[type=checkbox]{vertical-align:middle;width:20px;min-width:20px;height:20px;margin-right:8px}.analytics-entry button{white-space:normal;max-width:100%;margin:8px 0}.analytics-entry label{display:block}.app{background:var(--soft);min-height:100vh;color:var(--ink)}.app-header{z-index:30;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.app-logo{color:var(--muted);align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.app-logo img{width:auto;height:22px;display:block}.app-header-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.app-role{color:var(--muted);white-space:nowrap;font-size:13px}.app-avatar{background:var(--lav-50);width:44px;height:44px;color:var(--pump-500);border:1px solid var(--lav-100);border-radius:50%;place-items:center;font-size:14px;font-weight:700;text-decoration:none;display:grid}.app-signout{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:14px}.app-demo-chip{color:var(--pump-500);background:var(--lav-50);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.app-body{grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 56px);display:grid}.app-sidebar{background:var(--surface);border-right:1px solid var(--line);height:calc(100vh - 56px);padding:16px 12px;position:sticky;top:56px;overflow:auto}.app-nav{flex-direction:column;gap:4px;display:flex}.app-nav a,.app-nav button{min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:15px;font-weight:600;text-decoration:none;display:flex;position:relative}.app-nav a:hover,.app-nav button:hover{background:var(--soft)}.app-nav [aria-current=page]{background:var(--lav-50);color:var(--pump-500)}.app-nav svg{flex-shrink:0}.nav-badge{background:var(--pump-500);min-width:22px;height:22px;color:var(--surface);border-radius:999px;place-items:center;margin-left:auto;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.app-main{width:100%;min-width:0;max-width:1120px;padding:28px clamp(16px,3vw,40px) 104px}.app-main>.demo-banner{border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px}.bottom-nav{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.page-head h1{margin:0}.page-head p{color:var(--muted);margin:6px 0 0}.eyebrow{color:var(--pump-500);margin:0 0 6px;font-size:13px;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:20px}.card+.card{margin-top:16px}.card h2{margin:0 0 12px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.card-head h2{margin:0}.grid-2{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.btn{text-align:center;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--pump-500);color:var(--surface);border-color:var(--pump-500)}.btn-primary:hover{background:var(--pump-600)}.btn-secondary{background:var(--surface);color:var(--pump-500);border-color:var(--brand-edge)}.btn-ghost{color:var(--pump-500);background:0 0;border-color:#0000;padding-inline:8px}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chip{background:var(--soft);min-height:28px;color:var(--ink);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.chip svg{flex-shrink:0}.status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.status-not_started{background:var(--surface);color:var(--muted);border-color:var(--line)}.status-draft{background:var(--lav-50);color:var(--brand-ink)}.task-list{margin:0;padding:0;list-style:none}.task-row{border-top:1px solid var(--line);align-items:center;gap:8px;min-height:56px;display:flex}.task-list>li:first-child .task-row{border-top:0}.task-check{cursor:pointer;flex-shrink:0;place-items:center;width:44px;height:44px;margin:0;display:grid}.task-check input{width:22px;height:22px;accent-color:var(--pump-500);cursor:pointer;margin:0}.task-open{text-align:left;min-width:0;color:var(--ink);background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:center;gap:6px 10px;min-height:44px;padding:10px 4px;display:flex}.task-open:hover .task-title{color:var(--pump-500)}.task-title{overflow-wrap:break-word;flex:220px;min-width:0;font-size:15px;font-weight:600;line-height:1.35}.task-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-sub{color:var(--muted);font-size:13px}.next-step{background:var(--lav-50);border:1px solid var(--lav-100);border-radius:var(--radius);padding:20px}.next-step h2{overflow-wrap:anywhere;margin:6px 0 12px;font-size:22px}.pill-step{background:var(--surface);color:var(--pump-500);border:1px solid var(--lav-100);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.pill-yellow{background:var(--yellow);color:var(--black);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.status-line{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.status-line .big{font:800 20px/1.2 var(--font-display)}.ring{align-items:center;gap:10px;display:inline-flex}.ring svg{flex-shrink:0}.ring-label{color:var(--muted);font-size:14px;line-height:1.3}.ring-label b{color:var(--ink);font-size:15px;display:block}.missed{background:var(--warn-bg);border-color:var(--warn-line)}.missed h2{color:var(--warn-ink)}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.week-strip li{text-align:center;color:var(--muted);background:var(--soft);border-radius:10px;padding:8px 2px;font-size:12px}.week-strip li b{color:var(--ink);margin-bottom:6px;font-size:13px;display:block}.dot{border:2px solid var(--brand-edge);background:var(--surface);border-radius:50%;width:12px;height:12px;display:inline-block}.dot-done{background:var(--ok-500);border-color:var(--ok-500)}.dot-missed{background:var(--warn-bg);border-color:var(--warn-ink)}.dot-partial{background:linear-gradient(90deg,var(--ok-500) 50%,transparent 50%);border-color:var(--ok-500)}.dot-frozen{background:var(--lav-100);border-color:var(--pump-500);border-style:dashed}.dot-today{border-color:var(--pump-500);box-shadow:0 0 0 3px var(--lav-100)}.dot-off,.dot-none{border-style:dashed;border-color:var(--line)}.empty{border-radius:var(--radius);background:var(--surface);border:1px dashed var(--brand-line);flex-direction:column;align-items:flex-start;gap:10px;padding:24px;display:flex}.empty-icon{background:var(--lav-50);width:48px;height:48px;color:var(--pump-500);border-radius:12px;place-items:center;display:grid}.empty h2,.empty h3{margin:0;font-size:18px}.empty p{color:var(--muted);margin:0}.feed-item{border-top:1px solid var(--line);padding:12px 0;scroll-margin-top:72px}.feed-item:first-child{border-top:0;padding-top:0}.feed-item p{overflow-wrap:anywhere;margin:6px 0}.bubble{background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 14px 14px;padding:10px 14px}.filters{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.filter{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.filter[aria-pressed=true]{background:var(--pump-500);border-color:var(--pump-500);color:var(--surface)}@media (max-width:640px){.filters-strip{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;margin:-4px -4px 8px;padding:4px;overflow-x:auto}.filters-strip::-webkit-scrollbar{display:none}.filters-strip .filter{white-space:nowrap;flex:none;padding:8px 12px}}.search{max-width:360px;margin:0 0 16px}.week-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.week-card>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:44px;padding:16px 20px;list-style:none;display:flex}.week-card>summary::-webkit-details-marker{display:none}.week-card>summary h2{flex:260px;margin:0;font-size:17px}.week-meta{flex-direction:column;flex:0 260px;gap:6px;min-width:200px;display:flex}.week-meta span{color:var(--muted);font-size:13px}.bar{background:var(--lav-50);border-radius:999px;height:8px;overflow:hidden}.bar>i{background:var(--pump-500);border-radius:999px;height:100%;display:block}.week-body{padding:0 20px 16px}.block{margin-top:16px}.block h3{text-transform:none;color:var(--muted);align-items:center;gap:6px;margin:0 0 6px;font-size:14px;display:flex}.lesson-row{border:0;border-top:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);text-align:left;background:0 0;align-items:center;gap:10px;padding:8px 4px;font-weight:600;display:flex}.lesson-row:hover{color:var(--pump-500)}.lesson-row svg{color:var(--pump-500);flex-shrink:0}.back-link{min-height:44px;color:var(--pump-500);background:0 0;border:0;align-items:center;gap:6px;margin-bottom:8px;padding:0;font-weight:700;display:inline-flex}.task-status-bar{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.video-embed{aspect-ratio:16/9;background:var(--deep);border-radius:var(--radius);width:100%;margin:16px 0;position:relative;overflow:hidden}.video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-facade{background:linear-gradient(115deg,var(--ink),var(--brand));width:100%;height:100%;color:var(--surface);text-align:center;border:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.video-facade svg{width:56px;height:56px}.video-list h3{margin:16px 0 6px;font-size:16px}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 8px;font-size:13px;font-weight:600}.data-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 8px}.data-table tr:last-child td{border-bottom:0}.warn-text{color:var(--warn-ink);font-weight:700}.warn-chip{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-line)}.mini-bar{align-items:center;gap:8px;min-width:120px;display:flex}.mini-bar .bar{flex:1;height:6px}.review{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.answer{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border-radius:12px;max-height:520px;margin:0;padding:14px;font-family:inherit;overflow:auto}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-wrap:wrap;gap:3px;padding:3px;display:inline-flex}.segmented button{min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:9px;padding:8px 16px;font-weight:700}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:0 0 20px;display:flex}.tabs button,.tabs a{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.tabs [aria-selected=true],.tabs [aria-current=page]{color:var(--pump-500);border-bottom-color:var(--pump-500)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 16px;display:grid}.form-grid label{margin:10px 0 6px}.form-grid input,.form-grid select{min-height:44px}select{border:1px solid var(--control-border);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:8px;padding:8px 12px;display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-shell .task{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:20px}.portal-shell .task h3{font-size:18px}.portal-shell .lesson-intro{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:20px}.portal-shell .workbook-conflict,.portal-shell .submitted-result{border-radius:12px}.portal-shell .primary,.portal-shell .secondary{min-height:44px}.portal-shell .task-done{align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.portal-shell .task-done input{width:22px;height:22px;accent-color:var(--pump-500)}.portal-shell .analytics-panel>summary{min-height:44px;font-weight:700}.portal-shell .material-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:16px}.portal-shell .learner-feedback,.portal-shell .pair-conversation{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:16px;padding:20px}.gate{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:48px auto;padding:28px}@media (max-width:1279px){.review{grid-template-columns:1fr}}@media (max-width:900px){.grid-2{grid-template-columns:1fr!important}}@media (max-width:767px){html{scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom))}.app-body{display:block}.app-sidebar{display:none}.app-main{padding:16px 14px calc(148px + env(safe-area-inset-bottom))}.app-role{display:none}.bottom-nav{z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px env(safe-area-inset-bottom);grid-auto-columns:minmax(44px,auto);grid-auto-flow:column;min-height:64px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{min-height:56px;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px 2px;font-size:11px;font-weight:600;text-decoration:none;display:flex;position:relative}.bottom-nav [aria-current=page]{color:var(--pump-500)}:is(.bottom-nav a:focus-visible,.bottom-nav button:focus-visible){outline-offset:-3px;border-radius:10px}.bottom-nav .nav-badge{min-width:18px;height:18px;margin:0;font-size:11px;position:absolute;top:4px;left:calc(50% + 6px)}.bottom-nav span.label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.more-scrim{z-index:38;background:#21172f47;animation:.16s ease-out more-fade;position:fixed;inset:0}.more-sheet{left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:39;background:var(--surface);border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;animation:.18s ease-out more-rise;display:grid;position:fixed;box-shadow:0 18px 40px #21172f2e}.more-sheet a,.more-sheet button{min-height:52px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;font-size:15px;font-weight:600;text-decoration:none;display:flex;position:relative}.more-sheet [aria-current=page]{background:var(--lav-50);color:var(--pump-500)}.card{padding:16px}.week-card>summary{padding:14px 16px}.week-body{padding:0 12px 12px}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:10px;padding:8px 12px}.data-table td{text-align:right;border:0;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.data-table td:before{content:attr(data-label);color:var(--muted);text-align:left;flex-shrink:0;font-size:13px}.data-table td.cell-main{text-align:left;font-weight:700;display:block}.data-table td.cell-main:before{content:none}.page-head h1{font-size:24px}.week-strip{gap:3px}.week-strip li{padding:6px 0}.portal-shell .task{padding:16px}.app-header,.app-signout{padding:0 10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.admin-approval{z-index:20;border-color:var(--brand-edge);margin-top:20px;position:sticky;bottom:0;box-shadow:0 -8px 24px #21172f14}.admin-approval textarea{min-height:56px}.admin-main .tabs{margin-top:8px}.admin-main .page-head h2{font-size:20px}.password-header .app-logo img{height:24px}.password-page{background:var(--soft)}.admin-main h1{font-family:var(--font-display);font-weight:800}.assistant-fab{z-index:45;background:var(--black);min-height:48px;color:var(--surface);border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-weight:700;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #21172f33}.assistant-panel{z-index:46;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(420px,100vw - 24px);max-height:min(640px,100vh - 120px);padding:16px;position:fixed;bottom:80px;right:20px;overflow:auto;box-shadow:0 20px 60px #21172f33}.assistant-form{gap:8px;margin-bottom:8px;display:flex}.assistant-form input{min-height:44px}.assistant-results summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.assistant-fab .fab-short{display:none}@media (max-width:767px){body:has(.assistant-fab) .bottom-nav{padding-right:64px}:is(body:has(.assistant-fab) .bottom-nav a,body:has(.assistant-fab) .bottom-nav button){padding:4px 0;font-size:11px}.assistant-fab{right:4px;bottom:calc(4px + env(safe-area-inset-bottom));z-index:41;border:1px solid var(--lav-100);background:var(--lav-50);width:58px;min-height:56px;color:var(--pump-500);box-shadow:none;border-radius:12px;flex-direction:column;justify-content:center;gap:2px;padding:4px 2px;font-size:11px;font-weight:600}.assistant-fab[aria-expanded=true]{background:var(--pump-500);color:var(--surface);border-color:var(--pump-500)}.assistant-fab .fab-long{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.assistant-fab .fab-short{line-height:1.1;display:block}.assistant-panel{width:auto;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom));max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px)}}.example-table td,.example-table th{min-width:140px}@media (max-width:767px){.admin-approval{box-shadow:none;position:static}.data-table td{flex-wrap:wrap}.example-table thead{display:none}}.admin-approval{padding:10px 16px!important}.admin-approval label{margin:0 0 4px}.admin-approval textarea{height:44px;min-height:44px;padding:8px 12px}@media (max-width:767px){.admin-approval textarea{height:auto;min-height:72px}}.admin-approval .admin-warning{margin:4px 0 0;font-size:12px}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mentor-callout{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:12px 0;padding:14px 16px}.mentor-callout h4{margin:0 0 6px;font-size:15px}.mentor-callout p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.save-state time{font-variant-numeric:tabular-nums}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px;display:grid}.metric-card h2{margin:0 0 4px;font-size:18px}.metric-card .metric-row{margin-top:12px}.metric-card .metric-row label{margin-bottom:4px;font-size:14px;font-weight:600;display:block}.metric-card .metric-row input,.metric-card .metric-row textarea{width:100%;min-height:44px}.metric-card .metric-row textarea{min-height:64px}.metric-card .metric-en{color:var(--muted);font-size:12px;font-weight:400;display:block}.material-group{margin-top:12px}.material-group>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.post-week h3{margin:16px 0 4px;font-size:16px}.post-item>summary{cursor:pointer;flex-direction:column;justify-content:center;gap:2px;min-height:44px;display:flex}.post-item .post-topic{font-weight:600}.video-embed.is-loading{background:var(--ink)}.video-loading{color:var(--surface);pointer-events:none;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.portal-shell .library a,.portal-shell .material-row a,.portal-shell .task ul a{align-items:center;min-height:44px;display:inline-flex}@media (min-width:768px){.app-main{padding-bottom:120px}}.toast-region{z-index:60;pointer-events:none;width:max-content;max-width:calc(100vw - 24px);position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--black);min-height:52px;color:var(--surface);animation:toast-in var(--d-pop) var(--ease-out);border-radius:14px;align-items:center;gap:6px;padding:6px 6px 6px 18px;font-weight:600;display:flex;box-shadow:0 14px 40px #21172f40}.toast-undo{min-height:44px;color:var(--yellow);background:0 0;border:0;border-radius:10px;padding:8px 14px;font-weight:700}.toast-undo:hover{background:#ffffff1a}.toast-close{color:#ffffffb3;background:0 0;border:0;border-radius:10px;place-items:center;min-width:44px;min-height:44px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (max-width:767px){.toast-region{bottom:calc(76px + env(safe-area-inset-bottom))}}.material-week h3{margin:18px 0 8px;font-size:16px}.material-week:first-child h3{margin-top:0}.material-row h4{margin:0 0 4px;font-size:16px}.lesson-materials h3{margin:16px 0 8px;font-size:16px}.post-note{background:var(--lav-50);color:var(--ink);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;font-size:14px;display:flex}.post-note svg{color:var(--pump-500);flex-shrink:0}.assistant-chips{flex-wrap:wrap;gap:8px;margin:4px 0 8px;display:flex}.assistant-chips .filter{min-height:40px;font-size:14px}.assistant-faq h3{margin:0 0 8px;font-size:16px;line-height:1.35}.assistant-answer p{margin:0 0 8px}.assistant-answer h4{margin:12px 0 6px;font-size:15px}.assistant-answer ul{margin:0 0 8px;padding-left:20px}.assistant-answer li{margin-bottom:6px}.assistant-actual{background:var(--warn-bg);color:var(--ink);border-radius:10px;align-items:flex-start;gap:8px;margin:0 0 10px;padding:10px 12px;font-size:14px;display:flex}.assistant-actual svg{color:var(--warn-ink);flex-shrink:0;margin-top:2px}.assistant-source{margin:4px 0 8px}.assistant-open{text-align:left;justify-content:space-between;width:100%}.empty-art{text-align:center;align-items:center}.empty-art p{max-width:46ch}.week-done{border-radius:var(--radius);background:linear-gradient(135deg,var(--brand-bg),var(--accent-bg));border:1px solid var(--lav-100);animation:card-in var(--d-overlay) var(--ease-out);align-items:flex-start;gap:14px;padding:18px;display:flex;position:relative}.week-done .badge{background:var(--yellow);width:52px;height:52px;color:var(--black);animation:badge-pop var(--d-overlay) var(--ease-swift) .1s both;border-radius:16px;flex-shrink:0;place-items:center;display:grid}.week-done h2{margin:0 0 4px;font-size:18px}.week-done p{color:var(--ink);margin:0 0 10px}@keyframes card-in{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes badge-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.text-more{color:var(--pump-500);background:0 0;border:0;min-height:44px;padding:6px 0;font-weight:600}.week-done{margin:0 0 16px}.assistant-note{background:var(--lav-50);border-radius:10px;align-items:flex-start;gap:8px;margin:0 0 8px;padding:8px 12px;font-size:14px;display:flex}.assistant-note svg{color:var(--pump-500);flex-shrink:0;margin-top:2px}.task-check input,.portal-shell .task-done input{-webkit-appearance:none;appearance:none;border:2px solid var(--control-border);background:var(--surface);cursor:pointer;width:22px;height:22px;transition:background-color var(--d-hover) var(--ease-move),border-color var(--d-hover) var(--ease-move),transform var(--d-hover) var(--ease-out);border-radius:7px;flex-shrink:0;margin:0}.task-check input:hover:not(:disabled),.portal-shell .task-done input:hover:not(:disabled){border-color:var(--pump-500)}.task-check input:focus-visible{outline:3px solid var(--pump-500);outline-offset:2px}.portal-shell .task-done input:focus-visible{outline:3px solid var(--pump-500);outline-offset:2px}.task-check input:checked,.portal-shell .task-done input:checked{border-color:var(--ok-500);background:var(--ok-500) no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");animation:check-pop var(--d-hover) var(--ease-swift)}.task-check input:checked:disabled,.portal-shell .task-done input:checked:disabled{cursor:default;opacity:1;border-color:var(--ok-500);background-color:var(--ok-500)}.task-check input:disabled:not(:checked),.portal-shell .task-done input:disabled:not(:checked){cursor:default;border-color:var(--line);background:var(--soft)}@keyframes check-pop{0%{transform:scale(.7)}to{transform:none}}.week-passed{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line);font:600 12px/20px var(--font-body);vertical-align:middle;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-left:10px;padding:2px 10px;display:inline-flex}.week-card.is-passed{border-color:var(--ok-line)}.ring-arc{transition:stroke-dasharray var(--d-data) var(--ease-out)}.journey-compact{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 16px;padding:12px 16px 10px}.journey-compact .journey-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.journey-compact h2{margin:0;font-size:15px}.journey-left{color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.journey-left svg{color:var(--pump-500)}.journey-track{align-items:flex-start;gap:6px;margin:0;padding:0;list-style:none;display:flex}.journey-seg{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.seg-bar{background:var(--lav-50);border-radius:999px;height:8px;display:block;overflow:hidden}.seg-bar>i{background:var(--brand);border-radius:999px;height:100%;display:block}.journey-seg.is-done .seg-bar>i{background:var(--pump-500)}.seg-label{color:var(--muted);align-items:center;gap:3px;font-size:12px;font-weight:600;display:inline-flex}.journey-seg.is-current .seg-label{color:var(--pump-500)}.journey-seg.is-done .seg-label{color:var(--ink)}.journey-seg.is-done .seg-label svg{color:var(--ok-500)}.journey-finale{flex:none;align-items:center;margin-top:-7px}.finale-mark{background:var(--brand-bg);width:22px;height:22px;color:var(--brand-ink);border-radius:50%;place-items:center;display:grid}.journey-finale.is-current .finale-mark{box-shadow:0 0 0 4px var(--accent-bg)}.mentor-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.mentor-layout>.card,.mentor-layout>section{margin:0!important}@media (min-width:1180px){.mentor-layout{grid-template-columns:minmax(0,1fr) 380px}}.mentor-feed .filters{margin-bottom:4px}.filter-count{background:var(--lav-50);min-width:22px;height:22px;color:var(--pump-500);border-radius:999px;place-items:center;margin-left:4px;padding:0 6px;font-size:12px;display:inline-grid}.filter[aria-pressed=true] .filter-count{color:var(--surface);background:#fff3}.feed-list{margin:0;padding:0;list-style:none}.feed-list>li:first-child{border-top:0}.feed-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.feed-top time{font-size:13px}.feed-title{margin:8px 0 4px!important}.feed-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.feed-revision{position:relative}.feed-revision:before{content:"";background:var(--warn-ink);border-radius:3px;width:3px;position:absolute;top:12px;bottom:12px;left:-20px}@media (max-width:767px){.feed-revision:before{left:-16px}}.meeting-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media (min-width:768px){.assistant-fab{white-space:nowrap;background:var(--lav-50);width:216px;color:var(--pump-500);border:1px solid var(--lav-100);box-shadow:none;border-radius:12px;justify-content:flex-start;min-height:48px;padding:10px 14px;font-size:14px;bottom:16px;left:12px;right:auto}.assistant-fab:hover{background:var(--lav-100)}.assistant-fab[aria-expanded=true]{background:var(--pump-500);color:var(--surface);border-color:var(--pump-500)}.assistant-panel{bottom:16px;left:252px;right:auto}}.tracker-chart .chart-box{height:260px;margin:8px -4px 0}.tracker-chart .chart-summary{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:4px 0 0;display:flex}.tracker-chart .chart-now{font:800 28px/1.1 var(--font-display);color:var(--ink)}.tracker-chart .chart-delta{background:var(--brand-bg);color:var(--brand-ink);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:14px;font-weight:700;display:inline-flex}.tracker-chart .chart-delta.is-down{background:var(--warn-bg);color:var(--warn-ink)}.tracker-chart .chart-delta.is-flat{background:var(--lav-50);color:var(--pump-500)}.chart-tooltip{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;box-shadow:0 8px 24px #21172f21}.chart-tooltip b{color:var(--ink);font-size:15px;display:block}.metric-chips{scrollbar-width:thin;gap:8px;margin:0 0 4px;padding:2px 2px 6px;display:flex;overflow-x:auto}.metric-chips .filter{flex-shrink:0}.portal-shell>section,.portal-shell>.mentor-layout,.portal-shell>.metric-grid,.portal-shell>.tracker-chart{animation:view-in var(--d-pop) var(--ease-out)}@keyframes view-in{0%{transform:translateY(6px)}to{transform:none}}.assistant-nodirect{background:var(--lav-50);border-radius:10px;margin:0 0 4px;padding:10px 12px;font-size:14px}.assistant-faq>summary{cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:44px;display:flex}.network-norm{border:1px solid var(--lav-100);background:var(--lav-50);border-radius:12px;margin:12px 0;padding:14px 16px}.network-norm-head{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.network-norm-head svg{color:var(--pump-500);flex-shrink:0}.network-norm-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.network-norm-safety{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;font-size:14px;display:flex}.network-norm-safety svg{flex-shrink:0;margin-top:2px}.network-norm-safety ul{margin:4px 0 0;padding-left:18px}.network-norm-link{margin-top:10px}.feed-history{margin:8px 0}.feed-history summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.feed-history ol{border-left:2px solid var(--line);margin:0;padding:0 0 0 12px;list-style:none}.feed-history li{padding:6px 0}.portal-shell .task textarea[readonly]{background:var(--soft);color:var(--ink);cursor:default}.portal-shell .task-actions button:disabled{cursor:not-allowed}.tracker-chart .chart-summary.is-first .chart-now{font-size:40px}.tracker-chart .chart-gain{background:var(--ok-500);color:var(--surface);animation:badge-pop var(--d-overlay) var(--ease-swift) .2s both;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-flex}.tracker-chart .chart-first{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin:8px 0 0;font-size:14px;display:flex}.tracker-chart .chart-first b{color:var(--ink)}.tracker-chart .chart-first svg{color:var(--pump-500)}.assistant-norm{border:1px solid var(--lav-100);background:var(--lav-50);border-radius:12px;padding:12px 14px}.assistant-norm-head{align-items:flex-start;gap:8px;margin:0;display:flex}.assistant-norm-head svg{color:var(--pump-500);flex-shrink:0;margin-top:3px}.assistant-norm .network-norm-safety{margin-top:8px}.assistant-norm .network-norm-safety ul{margin:0}.assistant-superseded{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;align-items:flex-start;gap:6px;margin:0 0 8px;padding:8px 10px;font-size:14px;display:flex}.assistant-superseded svg,.assistant-footnote svg{flex-shrink:0;margin-top:2px}.assistant-footnote{color:var(--muted);align-items:flex-start;gap:6px;margin:6px 0 0;font-size:12px;display:flex}.celebrate-region{z-index:61;pointer-events:none;width:min(420px,100vw - 24px);position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.celebrate{pointer-events:auto;background:linear-gradient(135deg,var(--brand-bg),var(--surface) 70%);border:1px solid var(--lav-100);animation:celebrate-in var(--d-overlay) var(--ease-swift);border-radius:16px;align-items:center;gap:12px;padding:12px 8px 12px 14px;display:flex;box-shadow:0 18px 44px #21172f2e}.celebrate-badge{background:var(--pump-500);width:48px;height:48px;color:var(--surface);animation:badge-pop var(--d-overlay) var(--ease-swift) .1s both;border-radius:14px;flex-shrink:0;place-items:center;display:grid;position:relative}.celebrate-week .celebrate-badge{background:var(--yellow);color:var(--black)}.celebrate-sparks{pointer-events:none;border-radius:18px;position:absolute;inset:-6px}.celebrate-sparks:before,.celebrate-sparks:after{content:"";border-radius:inherit;border:2px dashed var(--pump-300);opacity:0;animation:.9s ease-out .25s spark-ring;position:absolute;inset:0}.celebrate-sparks:after{border-style:dotted;border-color:var(--yellow);animation-delay:.38s;inset:-8px}.celebrate-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.celebrate-body b{font:800 16px/1.25 var(--font-display);color:var(--ink)}.celebrate-body span{color:var(--ink);overflow-wrap:anywhere;font-size:14px}.celebrate-link{min-height:44px;color:var(--pump-500);background:0 0;border:0;align-self:flex-start;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.celebrate-close{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex-shrink:0;place-items:center;display:grid}@keyframes celebrate-in{0%{transform:translateY(16px)scale(.96)}to{transform:none}}@keyframes spark-ring{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}@media (max-width:767px){.celebrate-region{bottom:calc(140px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.celebrate-sparks:before,.celebrate-sparks:after{animation:none!important}}.skip-link{z-index:60;background:var(--pump-500);color:var(--surface);border-radius:0 0 10px 10px;padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{outline:3px solid var(--ink);outline-offset:2px;top:0}.app-main:focus{outline:none}.welcome-backdrop{z-index:70;background:#21172f99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.welcome{background:var(--surface);border-radius:var(--radius);width:min(520px,100%);max-height:calc(100dvh - 32px);padding:24px;overflow:auto}.welcome h2{margin:4px 0 14px;font-size:24px}.welcome h2:focus{outline:none}.welcome-body p{margin:0 0 10px}.welcome-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.welcome-actions .btn-ghost{margin-right:auto}.rhythm{margin:8px 0 12px;padding-left:20px}.rhythm li{margin:4px 0;font-size:15px}.rhythm-title{margin:14px 0 0;font-size:15px}.week-goal{margin:10px 0 0;font-size:15px}.first-steps .first-steps-end{align-items:center;gap:6px;display:inline-flex}.icon-toggle{min-width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:10px;place-items:center;display:inline-grid}.first-step{flex-wrap:wrap;align-items:center}.first-step .task-title{overflow-wrap:break-word;flex:180px;min-width:0}.first-step>.btn{margin-left:auto}.first-step-mark{border:2px solid var(--control-border);width:22px;height:22px;color:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;margin:0 5px;display:inline-grid}.first-step.is-done .first-step-mark{background:var(--ok-500);border-color:var(--ok-500)}.first-step.is-done .task-title{color:var(--muted)}.before-access{margin-bottom:18px}.before-access h2{margin:18px 0 6px;font-size:18px}.before-access ol{margin:6px 0;padding-left:20px}.result-list{margin:0 0 8px;padding:0;list-style:none}.result-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 0;display:flex}.result-label{font-weight:600}.result-values{align-items:center;gap:8px;display:inline-flex}.result-values small{color:var(--muted);font-weight:400}.next-meeting p{margin:0 0 6px}.meeting-topics{margin:0 0 12px;padding-left:18px;font-size:15px}.meeting-topics li{margin:2px 0}@media (max-width:767px){.status-line{flex-wrap:nowrap;justify-content:space-between;gap:8px;margin-bottom:10px}.status-line .ring{flex-shrink:0;gap:6px}.status-line .ring svg{width:40px;height:40px}.status-line .ring-label{font-size:0}.status-line .ring-label b{font-size:14px}.page-head{margin-bottom:10px}.journey-compact{margin-bottom:10px;padding:8px 12px 6px}.next-step{padding:16px}.next-step h2{margin-bottom:8px;font-size:18px;line-height:1.25}.next-step .btn-row{gap:4px;margin-bottom:10px!important}.next-step>.btn-primary{justify-content:center;width:100%}}.dash{flex-direction:column;gap:14px;display:flex}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dash-head h2{font:800 22px/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0}.dash-name{font:600 15px/1.3 var(--font-body);text-transform:none;letter-spacing:0;color:var(--muted)}.dash-head p{margin:4px 0 0;font-size:13px}.dash-term{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.dash-kpi h3>span:first-child{display:block}.dash-kpi .dash-term{white-space:normal}.dash-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dash-kpi{background:var(--surface);border:1px solid var(--lav-100);border-radius:14px;min-width:0;padding:14px 16px}.dash-kpi h3{margin:0;font-size:13px;font-weight:700;line-height:1.3}.dash-kpi-value{font:800 26px/1.15 var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;margin:6px 0 2px}.dash-kpi-note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.35}.dash-kpi-note.is-up{color:var(--ok-ink);font-weight:600}.dash-kpi-note.is-down{color:var(--warn-ink);font-weight:600}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dash-chart{background:var(--surface);border:1px solid var(--lav-100);border-radius:14px;flex-direction:column;min-width:0;padding:14px 16px;display:flex}.dash-chart header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;margin-bottom:6px;display:flex}.dash-chart h3{margin:0;font-size:14px;font-weight:700;line-height:1.3}.dash-updated{color:var(--muted);margin:0;font-size:12px}.dash-plot{min-width:0;height:232px}.dash-empty{background:var(--lav-50);text-align:center;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:232px;padding:16px;display:flex}.dash-empty p{color:var(--muted);margin:0;font-weight:600}.dash-funnel ul{flex-direction:column;gap:14px;margin:6px 0 0;padding:0;list-style:none;display:flex}.dash-funnel li{grid-template-columns:96px minmax(0,1fr) 34px;align-items:center;gap:10px;font-size:14px;display:grid}.dash-funnel li b{text-align:right;font-variant-numeric:tabular-nums}.dash-track{background:var(--lav-50);border-radius:999px;height:12px;display:block;overflow:hidden}.dash-track i{background:var(--pump-500);border-radius:999px;height:100%;display:block}.weekly-backdrop{align-items:flex-start}.weekly{background:var(--surface);border-radius:var(--radius);flex-direction:column;width:min(640px,100%);max-height:calc(100dvh - 32px);display:flex;overflow:hidden}.weekly-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.weekly-head h2{font:800 19px/1.25 var(--font-display);margin:0}.weekly-head h2:focus{outline:none}.weekly-close{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.weekly-close:hover{background:var(--soft)}.weekly-body{flex-direction:column;gap:16px;padding:16px 20px;display:flex;overflow:auto}.weekly-period label{margin-bottom:6px;font-weight:700;display:block}.weekly-hint{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.35}.weekly-rule{margin:0 0 8px}.weekly fieldset{border:0;min-width:0;margin:0;padding:0}.weekly legend{margin-bottom:8px;padding:0;font-size:15px;font-weight:800}.weekly-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 128px;align-items:start;gap:12px;padding:10px 0;display:grid}.weekly-row label{font-size:14.5px;font-weight:600}.weekly-row input{border:1px solid var(--control-border);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 10px}.weekly-row input[aria-invalid=true]{border-color:var(--danger-ink)}.weekly-error{margin:4px 0 0;font-size:13px}.weekly-row-text{grid-template-columns:minmax(0,1fr)}.weekly-row-text textarea{border:1px solid var(--control-border);border-radius:8px;width:100%;min-height:68px;margin-top:6px;padding:8px 10px}.weekly-more summary{cursor:pointer;min-height:44px;color:var(--pump-500);align-items:center;font-weight:700;display:flex}.weekly-foot{border-top:1px solid var(--line);background:var(--surface);padding:12px 20px}.weekly-foot .error{margin:0 0 8px}.weekly-foot .btn-primary{justify-content:center;width:100%}.metrics-due{background:var(--lav-50);border-color:var(--lav-100);align-items:flex-start;gap:12px;display:flex}.metrics-due h2{margin:0 0 4px;font-size:17px}.metrics-due p{margin:0 0 10px}.metrics-due svg{color:var(--pump-500);flex-shrink:0;margin-top:3px}@media (max-width:980px){.dash-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dash-kpi{padding:12px}.dash-kpi-value{font-size:22px}.dash-head .btn-primary{justify-content:center;width:100%}.dash-plot{height:200px}.dash-empty{min-height:160px}.weekly-backdrop{padding:0}.weekly{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.weekly-row{grid-template-columns:minmax(0,1fr) 104px}}.btn,.primary,.secondary,.filter,.app-signout,.app-avatar,.toast-undo,.toast-close,.weekly-close,.celebrate-close,.celebrate-link,.text-more,.icon-toggle,.back-link,.task-open,.lesson-row,.queue-item,.tile-action,.segmented button,.tabs button,.tabs a,.templates button,.app-nav a,.app-nav button,.bottom-nav a,.bottom-nav button,.assistant-fab,.streak-mini,.dial{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--d-press) var(--ease-out),background-color var(--d-hover) var(--ease-move),border-color var(--d-hover) var(--ease-move),color var(--d-hover) var(--ease-move),box-shadow var(--d-hover) var(--ease-move)}.btn:active:not(:disabled),.primary:active:not(:disabled),.secondary:active:not(:disabled),.filter:active:not(:disabled),.app-signout:active:not(:disabled),.toast-undo:active,.tile-action:active,.segmented button:active:not(:disabled),.templates button:active,.queue-item:active,.streak-mini:active,.dial:active{transform:scale(.97)}.lesson-row:active,.task-open:active,.back-link:active,.text-more:active{transform:scale(.99)}.next-step .btn-primary{box-shadow:0 3px 0 var(--pump-600)}.next-step .btn-primary:active:not(:disabled){box-shadow:0 0 0 var(--pump-600);transform:translateY(3px)}.app-nav a:active,.app-nav button:active{transform:scale(.98)}.bottom-nav a:active svg,.bottom-nav button:active svg{transform:scale(.9)}.bottom-nav svg{transition:transform var(--d-press) var(--ease-out)}.week-card{transition:border-color var(--d-hover) var(--ease-move),box-shadow var(--d-hover) var(--ease-move)}.material-row,.dash-kpi{transition:border-color var(--d-hover) var(--ease-move)}@media (hover:hover){.btn-secondary:hover{background:var(--lav-50);border-color:var(--pump-300)}.btn-ghost:hover{background:var(--lav-50)}.filter:hover{border-color:var(--pump-300)}.filter[aria-pressed=true]:hover{border-color:var(--pump-500)}.app-signout:hover{background:var(--soft)}.app-avatar:hover{background:var(--lav-100)}.week-card:hover{border-color:var(--brand-edge)}.lesson-row:hover svg{transform:translate(2px)}.tabs button:hover,.tabs a:hover{color:var(--ink)}.streak-mini:hover{border-color:var(--pump-300)}.dial:hover{background:#fff9}.dials[data-tone=dark] .dial:hover{background:#ffffff14}}.lesson-row svg{transition:transform var(--d-hover) var(--ease-out)}.task-check input:checked:not([data-fresh]):not(:disabled){animation:none}.welcome-backdrop{animation:backdrop-in var(--d-pop) var(--ease-move)}.welcome,.weekly{animation:modal-in var(--d-overlay) var(--ease-swift);box-shadow:0 24px 64px #21172f40}.welcome-body{animation:step-in var(--d-hover) var(--ease-move)}@keyframes backdrop-in{0%{background-color:#0000}}@keyframes modal-in{0%{opacity:.3;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes step-in{0%{opacity:.4;filter:blur(2px)}to{opacity:1;filter:none}}.app-header{view-transition-name:app-header}.app-sidebar{view-transition-name:app-sidebar}.bottom-nav{view-transition-name:bottom-nav}::view-transition-old(root){animation-duration:var(--d-pop);animation-timing-function:var(--ease-move)}::view-transition-new(root){animation-duration:var(--d-pop);animation-timing-function:var(--ease-move)}::view-transition-group(app-header){animation:none}::view-transition-group(app-sidebar){animation:none}::view-transition-group(bottom-nav){animation:none}::view-transition-new(app-header){animation:none}::view-transition-new(app-sidebar){animation:none}::view-transition-new(bottom-nav){animation:none}::view-transition-old(app-header){display:none}::view-transition-old(app-sidebar){display:none}::view-transition-old(bottom-nav){display:none}.vt-run .portal-shell>section,.vt-run .portal-shell>.mentor-layout,.vt-run .portal-shell>.metric-grid,.vt-run .portal-shell>.tracker-chart{animation:none}.dials{--dial-arc:var(--pump-500);--dial-track:var(--lav-100);--dial-ink:var(--ink);--dial-sub:var(--muted);background:var(--lav-50);border:1px solid var(--lav-100);border-radius:var(--radius);color:var(--dial-ink);margin:0 0 16px;padding:12px 10px 10px}.dials[data-tone=dark]{--dial-arc:var(--pump-300);--dial-track:#ffffff26;--dial-ink:var(--surface);--dial-sub:var(--brand-line);background:var(--deep);border-color:var(--deep)}.dials-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.dial{color:inherit;text-align:center;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:6px 2px;display:flex}.dial-ring{width:84px;height:84px;margin-bottom:5px;display:block;position:relative}.dial-ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.dial-track,.dial-arc{fill:none;stroke-width:9px}.dial-track{stroke:var(--dial-track)}.dial-arc{stroke:var(--dial-arc);stroke-linecap:round;transition:stroke-dasharray var(--d-data) var(--ease-out),opacity var(--d-press) linear}.dial-value{font:800 17px/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;inset:0}.dial-title{font-size:13px;font-weight:700;line-height:1.25}.dial-word{color:var(--dial-sub);font-size:12px;line-height:1.25}.dial[data-pace=ok]{--dial-arc:var(--ok-500)}.dial[data-pace=ok] .dial-word{color:var(--ok-ink)}.dial[data-pace=low]{--dial-arc:var(--warn-500)}.dial[data-pace=low] .dial-word{color:var(--warn-ink)}.dials[data-tone=dark] .dial[data-pace=ok]{--dial-arc:var(--success-line)}.dials[data-tone=dark] .dial[data-pace=low]{--dial-arc:var(--warning)}.dials .journey-compact{border:0;border-top:1px solid var(--dial-track);background:0 0;border-radius:0;margin:6px 0 0;padding:10px 6px 0}.dials .journey-compact h2{font:700 13px/1.3 var(--font-body);letter-spacing:0;color:inherit}.dials .journey-left{color:inherit;font-size:13px}.dials .journey-left svg{color:var(--dial-arc)}.dials .journey-left .muted{color:var(--dial-sub);font-size:13px}.dials .seg-bar{background:var(--dial-track)}.dials .seg-label,.dials .journey-seg.is-done .seg-label{color:var(--dial-sub)}.dials .journey-seg.is-current .seg-label{color:var(--dial-ink)}.next-step{background:var(--surface);border-color:var(--lav-100)}@media (min-width:768px){.dials{padding:16px 16px 14px}.dial-ring{width:104px;height:104px}.dial-value{font-size:21px}.dial-title{font-size:14px}.dial-word{font-size:13px}}@media (min-width:1100px){.dials{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:0 12px;display:grid}.dials .journey-compact{border-top:0;border-left:1px solid var(--dial-track);margin:0;padding:4px 10px 4px 24px}}@media (max-width:767px){.dials{margin-bottom:10px;padding:6px 8px 8px}.dial{padding:4px 2px}.dial-ring{width:72px;height:72px;margin-bottom:3px}.dial-value{font-size:15px}.dials .journey-compact{margin-top:2px;padding:8px 4px 0}.dials .journey-compact h2{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dials .journey-compact .journey-head{margin-bottom:6px}.dials .journey-finale{margin-top:-9px}.dials .journey-finale .seg-label{font-size:11px}}@media (max-width:359px){.dial-ring{width:64px;height:64px}.dial-value{font-size:14px}.dial-title{font-size:12px}}.app-header-slot{display:inline-flex}.app-header-slot:empty{display:none}.streak-mini{border:1px solid var(--lav-100);background:var(--lav-50);min-width:44px;min-height:44px;color:var(--pump-500);font:800 15px/1 var(--font-display);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:0 12px;display:inline-flex}.streak-mini.is-off{background:var(--surface);border-color:var(--line);color:var(--muted)}.dial-overlay{z-index:72;background:#21172f73;position:fixed;inset:0}.dial-sheet{z-index:73;width:min(520px,100%);max-height:85dvh;padding:8px 20px calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:20px 20px 0 0;outline:none;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -12px 48px #21172f33}.dial-overlay[data-state=open],.dial-sheet[data-state=open]{animation-duration:var(--d-overlay)!important;animation-timing-function:var(--ease-sheet)!important}.dial-overlay[data-state=closed],.dial-sheet[data-state=closed]{animation-duration:var(--d-pop)!important;animation-timing-function:var(--ease-sheet)!important}.dial-grip{background:var(--line);border-radius:999px;width:40px;height:4px;margin:0 auto 6px;display:block}.dial-sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dial-sheet-title{font:800 19px/1.25 var(--font-display);margin:0}.dial-sheet-close{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:10px;place-items:center;margin-right:-8px;display:grid}.dial-rows{margin:8px 0 12px;padding:0;list-style:none}.dial-rows li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:15px;display:flex}.dial-rows li:first-child{border-top:0}.dial-rows b{font-variant-numeric:tabular-nums;white-space:nowrap}.dial-note{color:var(--muted);margin:0 0 14px;font-size:14px}.dial-sheet .btn{width:100%}.celebrate-canvas{z-index:62;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.live-number{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}.dial-overlay,.dial-sheet{transition:none!important;animation:none!important}}.today-more>summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:10px 14px;font-weight:600;list-style:none;display:flex}.today-more>summary::-webkit-details-marker{display:none}.today-more[open]>summary svg{transform:rotate(180deg)}.today-more>.stack{margin-top:12px}@media (min-width:901px){.today-more>summary{display:none}.today-more>.stack{margin-top:0}}.completion-rule{margin:6px 0 10px;font-size:14px}.network-norm-safety details summary{cursor:pointer;min-height:24px}.plan-load{align-items:center;gap:6px;margin:10px 0 0;font-size:14px;display:flex}@keyframes more-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes more-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.more-sheet,.more-scrim{animation:none}}.more-sheet .nav-badge{margin-left:auto;position:static}@media (max-width:360px){.app-logo span{display:none}}section>.next-step{margin-bottom:16px}.demo-video{aspect-ratio:16/9;background:var(--deep);border-radius:var(--radius-sm);width:100%;height:auto;display:block}.demo-video-frame{position:relative}.welcome-body .demo-video-frame{margin:4px 0 12px}.demo-video-play{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset:0 0 52px}.demo-video-play span{background:var(--surface);width:76px;height:76px;transition:transform var(--d-hover) var(--ease-move);border-radius:50%;position:relative;box-shadow:0 6px 18px #21172f59}.demo-video-play span:after{content:"";border-left:22px solid var(--brand);border-top:15px solid #0000;border-bottom:15px solid #0000;position:absolute;top:23px;left:31px}.demo-video-play:hover span{transform:scale(1.06)}.demo-video-play:focus-visible{outline:3px solid var(--purple);outline-offset:-3px}.demo-intro-row{margin:0 0 12px}.demo-intro-row .btn{gap:8px}.welcome.demo-intro{width:min(760px,100%)}.demo-intro-credit{font-size:12px}.catchup-day{border-top:1px solid var(--line);padding:12px 0}.catchup-day summary{cursor:pointer;min-height:44px;font-weight:600}.catchup-day .task-title{overflow-wrap:anywhere}.mentor-avatar{background:var(--canvas);width:28px;height:28px;color:var(--muted);border:1px solid var(--line);border-radius:50%;place-items:center;margin-right:6px;display:inline-grid}.dash-kpi:has(.btn){cursor:pointer}.dash-kpi:has(.inline-metric){cursor:default}.inline-metric{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.inline-metric select,.inline-metric input{width:100%;min-height:44px}.inline-metric fieldset{border:0;min-width:0;margin:8px 0;padding:0}.inline-metric .weekly-row{display:block}.inline-metric .weekly-shot{display:none}.app-more>summary{cursor:pointer;border-radius:10px;min-height:44px;padding:10px 12px;font-size:15px;font-weight:600}.app-more>summary .nav-badge{float:right}.app-more[open]>summary{background:var(--soft)}.app-more>div{flex-direction:column;gap:4px;padding-top:4px;display:flex}.dash-head h2.learner-dash-title{text-transform:none}.search.materials-search{width:100%;max-width:480px}.materials-search input{width:100%;min-width:0;min-height:44px}.illus{flex:none;line-height:0;display:block;overflow:hidden}.illus img{object-fit:cover;width:100%;height:100%;display:block}.week-cover{border-radius:12px;width:136px;height:76px}.week-card>summary:has(>.week-cover) h2{flex:220px;min-width:0}.head-art{border-radius:14px;width:200px;height:80px;margin-top:8px}.page-head:has(>.head-art){flex-wrap:nowrap}.page-head:has(>.head-art)>div:first-child{flex:auto;min-width:0}.dash-head:has(>.head-art)>div:first-child{flex:200px;min-width:0}.dash-head>.head-art{margin-left:auto}.empty-art-picture{width:180px;height:105px}.empty-art-picture img{object-fit:contain}.illus-note{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:20px 0;display:flex}.illus-note p{margin:0}.illus-note-picture{width:150px;height:88px}.week-done .badge.illus{background:0 0;width:72px;height:72px}.celebrate-badge>.celebrate-art{border-radius:14px;width:48px;height:48px}@media (max-width:640px){.week-card>summary:has(>.week-cover){gap:8px 12px}.week-card>summary>.week-cover{border-radius:12px;width:60px;height:60px}.week-card>summary:has(>.week-cover) h2{flex:1 1 0;font-size:16px}.week-card>summary:has(>.week-cover) .week-meta{flex:100%}.head-art{border-radius:12px;width:84px;height:56px;margin-top:4px}.page-head:has(>.head-art){align-items:flex-start}.empty-art-picture{width:140px;height:82px}.week-done .badge.illus{width:56px;height:56px}}.road{--road-ms:1.2s;border-radius:var(--radius);color:var(--surface);background:linear-gradient(115deg,var(--brand-ink),var(--brand) 55%,var(--brand));margin:0 0 16px;padding:16px 20px 12px;position:relative;overflow:hidden}.road:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 18%,#ffffff12 18% 30%,#0000 30% 62%,#ffffff0d 62% 70%,#0000 70%);position:absolute;inset:-10%}.road-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;display:flex;position:relative}.road-head h2{color:var(--surface);font:800 17px/1.25 var(--font-display);margin:0}.road-head span{color:var(--surface);white-space:nowrap;font-size:13px}.road-head b{color:var(--surface);font-variant-numeric:tabular-nums;font-weight:800}.road-area{height:108px;margin-bottom:34px;position:relative}.road-base,.road-fill{position:absolute;inset:0;overflow:visible}.road-fill{right:auto;overflow:hidden}.road-fill-in{height:100%;position:absolute;inset:0 auto 0 0}.road-base svg,.road-fill svg{width:100%;height:100%;display:block;overflow:visible}.road-line{fill:none;stroke-width:10px;stroke-linecap:round}.road-base .road-line{stroke:#fff3}.road-hint{background:var(--surface);opacity:.45;pointer-events:none;border-radius:50%;width:6px;height:6px;margin:-3px;position:absolute}.road-stations{margin:0;padding:0;list-style:none}.road-station{width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute}.road-station button{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.road-station button:focus-visible{outline:3px solid var(--surface);outline-offset:1px}.road-dot{width:34px;height:34px;font:800 14px/1 var(--font-display);background:var(--brand-ink);color:var(--brand-line);border:2px solid #ffffff73;border-radius:50%;place-items:center;display:grid}.road-station.is-done .road-dot{background:var(--surface);border-color:var(--surface);color:var(--ok-500)}.road-station.is-current .road-dot{background:var(--surface);border-color:var(--surface);color:var(--pump-500)}.road-station.is-behind .road-dot{background:var(--brand-ink);border-color:var(--surface);color:var(--surface)}.road-label{text-align:center;width:84px;color:var(--brand-line);pointer-events:none;flex-direction:column;align-items:center;gap:1px;margin-left:-42px;font-size:12px;line-height:1.25;display:flex;position:absolute;top:44px;left:50%}.road-label b{color:var(--surface);font-weight:700}.road-label small{font-variant-numeric:tabular-nums;font-size:12px}.road-short{display:none}.road-puck{background:var(--pump-500);width:30px;height:30px;color:var(--surface);border:3px solid var(--surface);pointer-events:none;border-radius:50%;place-items:center;margin:-15px;display:grid;position:absolute;box-shadow:0 2px 8px #21172f59}@media (max-width:640px){.road{padding:14px 12px 10px}.road-area{height:96px;margin-bottom:32px}.road-word{display:none}.road-short{display:inline}.road-label{width:64px;margin-left:-32px}.road-dot{width:30px;height:30px;font-size:13px}.road-head h2{font-size:15px}}.week-card{scroll-margin-top:72px}.day-meter{align-items:center;gap:10px;margin:-2px 0 8px;display:flex}.day-meter-bar{background:var(--lav-50);border-radius:999px;flex:1;height:6px;overflow:hidden}.day-meter-bar>i{background:var(--pump-500);border-radius:999px;height:100%;display:block}.day-meter.is-full .day-meter-bar>i{background:var(--ok-500)}.day-meter.is-full .day-meter-text{color:var(--ok-ink)}.day-meter-text{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:700}.task-check{position:relative}.check-burst{pointer-events:none;width:0;height:0;display:none;position:absolute;top:50%;left:50%}.streak-mini{position:relative}.streak-plus{display:none}.dash-kpi{position:relative}.dash-kpi-plus{display:none}.chart-record{background:var(--lav-50);color:var(--pump-500);border-radius:999px;align-items:center;gap:4px;width:fit-content;margin:2px 0 0;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.chart-record-line{margin:0 0 6px;font-size:13px}.dash-chart header .chart-record{margin-right:auto}.chart-tip-record{color:var(--pump-500);font-size:12px;font-weight:700;display:block}.dash-plot .recharts-wrapper :focus,.chart-box .recharts-wrapper :focus{outline:none}.range-switch{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr 1fr;align-self:flex-start;width:max-content;max-width:100%;margin:0;padding:3px;display:inline-grid;position:relative}.range-thumb{background:var(--lav-50);border:1px solid var(--lav-100);border-radius:9px;width:calc(50% - 3px);position:absolute;top:3px;bottom:3px;left:3px}.range-switch[data-at="1"] .range-thumb{transform:translate(100%)}.range-switch button{min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0 14px;font-size:14px;font-weight:600;position:relative}.range-switch button[aria-pressed=true]{color:var(--pump-500)}.range-switch button:focus-visible{outline:3px solid var(--pump-500);outline-offset:1px;border-radius:9px}@media (max-width:640px){.range-switch{align-self:stretch;width:100%;display:grid}.range-switch button{padding:0 6px}}.dash-track{overflow:hidden}.dash-track>i{width:100%}.app-header-slot{gap:6px}.game-pill{order:-1;position:relative}.game-pill-name{font-size:13px}.game-card{padding:14px 16px}.game-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.game-head h2{font:800 17px/1.25 var(--font-display);color:var(--pump-500);align-items:center;gap:6px;margin:0;display:inline-flex}.game-points{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:800}.game-next,.game-rule{margin:0;font-size:13px}.game-rule{margin-top:6px}.game-card .day-meter{margin:0 0 4px}.game-prizes{margin-top:8px}.game-prizes summary{cursor:pointer;color:var(--ink);padding:10px 0;font-weight:700}.game-prizes ul{margin:0;padding:0;list-style:none}.game-prizes li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.game-prize-title{overflow-wrap:anywhere;flex:180px;min-width:0;font-size:14px}.game-closed{font-size:13px}.game-rarity{background:var(--lav-50);color:var(--pump-500);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.game-rarity-rare{background:var(--brand-bg);color:var(--brand-ink)}.game-rarity-epic{background:var(--pump-500);color:var(--surface)}.game-rarity-legendary{background:var(--yellow);color:var(--black)}.game-region{z-index:61;pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100vw - 24px);display:flex;position:fixed;top:68px;left:50%;transform:translate(-50%)}.game-message{pointer-events:auto;background:var(--surface);border:1px solid var(--lav-100);max-width:100%;color:var(--ink);border-radius:14px;justify-content:space-between;align-self:center;align-items:center;gap:8px;padding:2px 2px 2px 14px;font-size:14px;display:flex;box-shadow:0 10px 28px #21172f2e}.game-message b{color:var(--pump-500);font-weight:800}.game-surprise .celebrate-badge{background:var(--lav-50);color:var(--pump-500)}.game-surprise-rare .celebrate-badge{background:var(--brand-bg);color:var(--brand-ink)}.game-surprise-epic .celebrate-badge{background:var(--pump-500);color:var(--surface)}.game-surprise-legendary .celebrate-badge{background:var(--yellow);color:var(--black)}@media (max-width:767px){.game-pill-name{display:none}.game-pill{padding:0 10px}}@media (max-width:480px){.app-header:has(.game-pill) .app-logo span{display:none}.game-pill{gap:2px;padding:0 8px}.game-pill svg{display:none}}@media (max-width:360px){.game-pill{display:none}}.skel{background:var(--lav-50);border-radius:8px;width:100%;display:block;position:relative;overflow:hidden}.skel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;min-width:0;margin:0 0 16px;padding:18px;display:flex}.skel-dials{background:var(--lav-50);border-color:var(--lav-100);flex-direction:row;justify-content:space-around}.skel-dials .skel{background:var(--surface)}@media (max-width:900px){.skel-today{flex-direction:column;display:flex}.skel-dials{order:2}}.skel-ring{flex-direction:column;align-items:center;gap:8px;display:flex}.skel-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.skel-kpis .skel-card{margin:0;padding:14px}.skel-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.skel-chart{padding:8px 0}.skel-cabinet{max-width:900px;margin:32px auto;padding:0 16px}@media (max-width:767px){.skel-kpis,.skel-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.skel-charts{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.road:not(.is-still) .road-fill{animation:road-wipe var(--road-ms) cubic-bezier(.33,0,.2,1) both}.road:not(.is-still) .road-fill-in{animation:road-wipe-in var(--road-ms) cubic-bezier(.33,0,.2,1) both}@keyframes road-wipe{0%{transform:translate(-100%)}}@keyframes road-wipe-in{0%{transform:translateX(var(--road-p))}}.road:not(.is-still) .road-station .road-dot{animation:station-in .42s cubic-bezier(.34,1.56,.64,1) var(--station-delay,0s) backwards}@keyframes station-in{0%{opacity:.3;transform:scale(.55)}}.road:not(.is-still) .road-label{animation:label-in .32s ease-out var(--station-delay,0s) backwards}@keyframes label-in{0%{opacity:0;transform:translateY(-4px)}}.road:not(.is-still) .road-hint{animation:road-hint .9s ease-in-out var(--hint-delay,0s) 3}@keyframes road-hint{50%{opacity:1;transform:scale(1.5)}}.road-puck:after{content:"";border:2px solid var(--surface);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-3px}.road:not(.is-still) .road-puck:after{animation:puck-ring 1.5s ease-out var(--road-ms) 3}@keyframes puck-ring{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.road-station button{transition:transform var(--d-hover) var(--ease-out)}.road-station button:active{transform:scale(.92)}.road-station.is-just .road-dot{animation:.7s cubic-bezier(.34,1.56,.64,1) station-closed}@keyframes station-closed{0%{transform:scale(.6)}60%{transform:scale(1.2)}to{transform:none}}.bar>i,.week-meta .bar>i,.seg-bar>i,.day-meter-bar>i,.dash-track>i{transition:transform var(--d-data) var(--ease-out)}.week-card .bar>i{animation:bar-fill .8s var(--ease-out) var(--bar-delay,0s) backwards}.dash-track>i{animation:bar-fill .7s var(--ease-out) .15s backwards}.day-meter-bar>i{animation:bar-fill .7s var(--ease-out) backwards}@keyframes bar-fill{0%{transform:translate(-100%)}}.seg-bar>i{animation:bar-fill .8s var(--ease-out) var(--seg-delay,0s) backwards}.dials:not(.is-entered) .dial-arc{animation:dial-grow var(--d-data) var(--ease-out) backwards}@keyframes dial-grow{0%{stroke-dasharray:0 100}}.journey-seg.is-just .seg-bar{animation:seg-closed .6s var(--ease-out)}@keyframes seg-closed{50%{transform:scaleY(1.9)}}.journey-seg.is-just .seg-label svg{animation:.6s cubic-bezier(.34,1.56,.64,1) station-closed}.day-meter.is-full .day-meter-text{animation:badge-pop var(--d-overlay) var(--ease-swift)}.check-burst{display:block}.check-burst i{background:var(--ok-500);opacity:0;border-radius:50%;width:5px;height:5px;animation:.46s cubic-bezier(.16,1,.3,1) check-spark;position:absolute;top:-2.5px;left:-2.5px}.check-burst i:first-child{--a:0deg}.check-burst i:nth-child(2){--a:45deg;background:var(--ok-line)}.check-burst i:nth-child(3){--a:90deg}.check-burst i:nth-child(4){--a:135deg;background:var(--ok-line)}.check-burst i:nth-child(5){--a:180deg}.check-burst i:nth-child(6){--a:225deg;background:var(--ok-line)}.check-burst i:nth-child(7){--a:270deg}.check-burst i:nth-child(8){--a:315deg;background:var(--ok-line)}@keyframes check-spark{0%{opacity:1;transform:rotate(var(--a)) translateX(10px) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateX(26px) scale(.2)}}.task-row{isolation:isolate;position:relative}.task-row:has(input[data-fresh]:checked):before{content:"";background:var(--lav-50);pointer-events:none;z-index:-1;animation:row-glow .8s var(--ease-out) both;border-radius:12px;position:absolute;inset:0}@keyframes row-glow{0%{opacity:1;transform:scaleX(.96)}to{opacity:0;transform:none}}.task-row:has(input[data-fresh]:checked) .status{animation:badge-pop var(--d-overlay) var(--ease-swift)}.task-row:has(input[data-fresh]:checked) .task-title{animation:title-done .36s var(--ease-out)}@keyframes title-done{0%{transform:translate(-5px)}to{transform:none}}.streak-plus{font:800 13px/1 var(--font-display);color:var(--pump-500);opacity:0;pointer-events:none;animation:plus-up 1s var(--ease-out);display:block;position:absolute;top:-1px;left:50%}@keyframes plus-up{0%{opacity:0;transform:translate(-50%,8px)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-20px)}}.streak-mini svg.is-lit{animation:.8s cubic-bezier(.34,1.56,.64,1) flame-lit}@keyframes flame-lit{0%{transform:scale(.7)}45%{transform:scale(1.35)rotate(-8deg)}to{transform:none}}.game-message{animation:game-in var(--d-overlay) var(--ease-swift)}@keyframes game-in{0%{opacity:0;transform:translateY(-8px)}}.dash-kpi.is-new-0{animation:kpi-new-0 .9s var(--ease-out)}.dash-kpi.is-new-1{animation:kpi-new-1 .9s var(--ease-out)}@keyframes kpi-new-0{30%{transform:translateY(-3px)scale(1.015)}}@keyframes kpi-new-1{30%{transform:translateY(-3px)scale(1.015)}}.dash-kpi-plus{color:var(--pump-500);animation:plus-up-right 1.5s var(--ease-out) both;font-size:13px;font-weight:800;display:block;position:absolute;top:12px;right:14px}@keyframes plus-up-right{0%{opacity:0;transform:translateY(8px)}18%{opacity:1;transform:none}70%{opacity:1}to{opacity:0;transform:translateY(-12px)}}.chart-record{animation:badge-pop var(--d-overlay) var(--ease-swift)}.dash-plot:not(.is-seen):not(.is-still) .recharts-line,.dash-plot:not(.is-seen):not(.is-still) .recharts-bar,.dash-plot:not(.is-seen):not(.is-still) .recharts-label-list,.chart-box:not(.is-seen):not(.is-still) .recharts-area{opacity:0}.dash-plot.is-seen:not(.is-still) .recharts-bar-rectangle,.dash-plot.is-seen:not(.is-still) .recharts-bar .recharts-rectangle{transform-box:fill-box;transform-origin:50% 100%;animation:.62s cubic-bezier(.16,1,.3,1) both chart-bar}@keyframes chart-bar{0%{opacity:.2;transform:scaleY(0)}}.dash-plot.is-seen:not(.is-still) .recharts-bar-rectangle:nth-child(2){animation-delay:70ms}.dash-plot.is-seen:not(.is-still) .recharts-bar-rectangle:nth-child(3){animation-delay:.14s}.dash-plot.is-seen:not(.is-still) .recharts-bar-rectangle:nth-child(4){animation-delay:.21s}.dash-plot.is-seen:not(.is-still) .recharts-bar-rectangle:nth-child(5){animation-delay:.28s}.dash-plot.is-seen:not(.is-still) .recharts-bar-rectangle:nth-child(6){animation-delay:.35s}.dash-plot.is-seen:not(.is-still) .recharts-line-curve,.chart-box.is-seen:not(.is-still) .recharts-area-curve,.chart-box.is-seen:not(.is-still) .recharts-area-area{transform-box:fill-box;transform-origin:50% 100%;animation:.68s cubic-bezier(.16,1,.3,1) both chart-rise}@keyframes chart-rise{0%{opacity:0;transform:translateY(10px)scaleY(.15)}}.dash-plot.is-seen:not(.is-still) .chart-dot-wrap,.chart-box.is-seen:not(.is-still) .recharts-area-dots .recharts-dot{transform-box:fill-box;transform-origin:50%;animation:.38s cubic-bezier(.34,1.56,.64,1) .26s both chart-dot}@keyframes chart-dot{0%{opacity:0;transform:scale(0)}}.dash-plot.is-seen:not(.is-still) .chart-dot-wrap:nth-child(2),.chart-box.is-seen:not(.is-still) .recharts-area-dots .recharts-dot:nth-child(2){animation-delay:.34s}.dash-plot.is-seen:not(.is-still) .chart-dot-wrap:nth-child(3),.chart-box.is-seen:not(.is-still) .recharts-area-dots .recharts-dot:nth-child(3){animation-delay:.42s}.dash-plot.is-seen:not(.is-still) .chart-dot-wrap:nth-child(4),.chart-box.is-seen:not(.is-still) .recharts-area-dots .recharts-dot:nth-child(4){animation-delay:.5s}.dash-plot.is-seen:not(.is-still) .chart-dot-wrap:nth-child(5),.chart-box.is-seen:not(.is-still) .recharts-area-dots .recharts-dot:nth-child(5){animation-delay:.58s}.dash-plot.is-seen:not(.is-still) .chart-dot-wrap:nth-child(6),.chart-box.is-seen:not(.is-still) .recharts-area-dots .recharts-dot:nth-child(6){animation-delay:.66s}.dash-plot.is-seen:not(.is-still) .recharts-label-list{animation:.3s ease-out .48s both label-in}.chart-record-halo{transform-box:fill-box;transform-origin:50%;animation:1.5s ease-out 1s 3 record-halo}@keyframes record-halo{0%{opacity:.4;transform:scale(.9)}to{opacity:0;transform:scale(1.9)}}.recharts-tooltip-wrapper{transition:transform .18s var(--ease-out),opacity .12s ease-out}.chart-tooltip{animation:tip-in .16s var(--ease-out)}@keyframes tip-in{0%{opacity:.4;transform:translateY(3px)}}.range-thumb{transition:transform var(--d-overlay) var(--ease-swift)}.range-switch button{transition:color var(--d-hover) var(--ease-move)}.week-card,.lesson-row,.dash-kpi,.dash-chart,.material-row,.next-step,.card-action{transition:transform var(--d-hover) var(--ease-out),border-color var(--d-hover) var(--ease-move)}.week-cover img{transition:transform .26s var(--ease-out)}.week-card>summary:active,.dash-kpi:active,.material-row:active{transform:scale(.985)}.week-card>summary{transition:transform var(--d-press) var(--ease-out)}.week-card[open]>.week-body{animation:week-body .24s var(--ease-out)}@keyframes week-body{0%{opacity:.2;transform:translateY(-6px)}}.today-more[open]>.stack{animation:week-body .24s var(--ease-out)}.dial-ring{transition:transform var(--d-hover) var(--ease-out)}.stack>.card,.stack>section{animation:stack-in .42s var(--ease-out) backwards}.stack>:nth-child(2){animation-delay:60ms}.stack>:nth-child(3){animation-delay:.12s}.stack>:nth-child(n+4){animation-delay:.17s}@keyframes stack-in{0%{opacity:.4;transform:translateY(10px)}}.stack>.next-step,.next-step{animation:next-in .36s var(--ease-out)}@keyframes next-in{0%{opacity:.3;transform:translate(14px)}}.vt-run .stack>.card,.vt-run .stack>section{animation:none}.app-nav [aria-current=page] svg,.bottom-nav [aria-current=page] svg{animation:.32s cubic-bezier(.34,1.56,.64,1) nav-pop}@keyframes nav-pop{0%{transform:scale(.8)}}@media (hover:hover){.week-card:hover,.dash-kpi:hover,.dash-chart:hover,.material-row:hover{transform:translateY(-2px)}.week-card:hover .week-cover img{transform:scale(1.05)}.next-step:hover{transform:translateY(-2px)}.dial:hover .dial-ring{transform:scale(1.04)}.road-station button:hover{transform:scale(1.12)}}.skel:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffffb8 50%,#0000 80%);animation:1.4s ease-in-out infinite skel-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel-shine{to{transform:translate(100%)}}html[data-vt-dir=forward]::view-transition-old(root){animation:vt-out-left .2s var(--ease-move) both}html[data-vt-dir=forward]::view-transition-new(root){animation:vt-in-right .26s var(--ease-out) both}html[data-vt-dir=back]::view-transition-old(root){animation:vt-out-right .2s var(--ease-move) both}html[data-vt-dir=back]::view-transition-new(root){animation:vt-in-left .26s var(--ease-out) both}@keyframes vt-out-left{to{opacity:0;transform:translate(-14px)}}@keyframes vt-out-right{to{opacity:0;transform:translate(14px)}}@keyframes vt-in-right{0%{opacity:0;transform:translate(18px)}}@keyframes vt-in-left{0%{opacity:0;transform:translate(-18px)}}}.fig{border:1px solid var(--lav-100);border-radius:var(--radius);background:linear-gradient(180deg,var(--lav-50),var(--surface) 70%);overflow-wrap:anywhere;min-width:0;margin:18px 0;padding:16px 18px 14px}.fig-cap{margin:0 0 12px}.fig-cap b{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:700;line-height:1.3;display:block}.fig-cap p{color:var(--muted);max-width:66ch;margin:6px 0 0;font-size:14px}.fig-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--pump-500);margin-bottom:4px;font-size:11px;font-weight:700;display:inline-block}.fig-body{min-width:0}.fig-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:700}.fig-num{background:var(--pump-500);min-width:24px;height:24px;color:var(--surface);border-radius:12px;place-items:center;padding:0 7px;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.fig-note{margin:10px 0 0;font-size:13px}.fig-chips{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.fig-chips li{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:13px}.fig-more{border-top:1px dashed var(--lav-100);margin:12px 0 0;padding-top:8px}.fig-more summary{cursor:pointer;min-height:44px;color:var(--pump-500);align-items:center;font-weight:600;display:flex}.fig-more>div{font-size:14px}.fig-more ul,.fig-more ol{margin:4px 0 0;padding-left:20px}.fig-more li{margin:4px 0}.fig .muted{font-size:13px}.shot{margin:14px 0 0}.shot-frame{border:1px solid var(--line);background:var(--surface);border-radius:10px;position:relative;overflow:hidden}.shot-frame img{width:100%;height:auto;display:block}.shot-point{--tx:-9px;--ty:-50%;width:max-content;transform:translate(var(--tx),var(--ty));pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute}.shot-point.is-left{--tx:calc(-100% + 9px);flex-direction:row-reverse}.shot-point.is-top{--ty:-9px;align-items:flex-start}.shot-point.is-bottom{--ty:calc(-100% + 9px);align-items:flex-end}.shot-point i{background:var(--yellow);border:3px solid var(--ink);border-radius:50%;flex:0 0 18px;width:18px;height:18px;box-shadow:0 0 0 4px #ffd84d59}.shot-point b{background:var(--ink);color:var(--surface);white-space:nowrap;border-radius:8px;padding:4px 9px;font-size:12px}@media (max-width:480px){.shot-point{gap:6px}.shot-point b{white-space:normal;max-width:120px;line-height:1.25}.shot-point{--tx:-6px}.shot-point.is-left{--tx:calc(-100% + 6px)}.shot-point.is-top{--ty:-6px}.shot-point.is-bottom{--ty:calc(-100% + 6px)}.shot-point i{border-width:2px;flex-basis:12px;width:12px;height:12px}}.shot figcaption{color:var(--muted);margin:6px 0 0;font-size:13px}.pa{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.pa-card{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;font-size:11px;position:relative;overflow:hidden}.pa-banner{background:var(--lav-100);height:44px;position:relative}.pa-url{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:6px;margin-bottom:4px;margin-left:auto;padding:2px 6px;font-size:10px}.pa-head{align-items:flex-end;gap:8px;margin-top:-22px;padding:0 12px;display:flex;position:relative}.pa-photo{background:var(--lav-100);border:3px solid var(--surface);border-radius:50%;flex-shrink:0;width:52px;height:52px;position:relative}.pa-open{background:var(--ok-bg);color:var(--ok-ink);border-radius:10px;margin-bottom:4px;padding:2px 7px;font-size:10px;font-weight:700}.pa-name,.pa-headline,.pa-meta{padding:4px 12px 0;position:relative}.pa-name{padding-top:14px}.pa-section{border-top:1px solid var(--line);margin:8px 10px 0;padding:8px 10px 10px;position:relative}.pa-section:last-child{margin-bottom:10px}.pa-bars{flex-direction:column;gap:5px;margin-top:4px;display:flex}.pa-bars i{background:var(--line);border-radius:4px;width:100%;height:7px;display:block}.pa-name .pa-bars i{background:var(--ink);opacity:.8;height:10px}.pa-headline .pa-bars i{background:var(--pump-300)}.pa-meta .pa-bars{flex-direction:row}.pa-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700;display:block}.pa-banner .pa-tag{color:var(--pump-600);opacity:.8;position:absolute;top:6px;left:12px}.pa-photo .pa-tag{white-space:nowrap;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.pa-more{color:var(--pump-500);margin-top:4px;font-size:10px;display:block}.pa-tiles{gap:6px;margin-top:6px;display:flex}.pa-tiles i{background:var(--lav-50);border:1px solid var(--line);border-radius:6px;flex:1;height:34px}.pa-rows{flex-direction:column;gap:6px;margin-top:6px;display:flex}.pa-rows i{background:var(--lav-50);border:1px solid var(--line);border-radius:4px;height:14px;display:block}.pa-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.pa-chips i{background:var(--lav-50);border:1px solid var(--line);border-radius:6px;width:38px;height:12px}.pa-card .is-on{box-shadow:inset 0 0 0 2px var(--pump-500);background:var(--lav-50);border-radius:8px}.pa-card .is-on .pa-tag{color:var(--pump-600)}.pa-banner.is-on{border-radius:0}.pa-photo.is-on{background:var(--pump-300);border-radius:50%}.pa-open.is-on{box-shadow:0 0 0 2px var(--pump-500)}.pa-legend{min-width:0;font-size:14px}.pa-legend p{max-width:none;margin:0 0 8px}.pa-focus{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex;margin-bottom:10px!important}.pa-focus .fig-num{border-radius:14px;height:28px;padding:0 10px;font-size:13px}.pa-legend .is-on{color:var(--pump-600);font-weight:700}.shop{grid-template-columns:minmax(0,1fr) auto minmax(0,1.1fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.shop-col{flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.shop-entries li,.shop-shop{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;font-size:14px;display:flex}.shop-entries li span,.shop-shop span{color:var(--muted);font-size:12px}.shop-shop{border:2px solid var(--pump-500);background:var(--lav-50);padding:16px 14px;font-size:15px}.shop-arrow{color:var(--pump-500);place-items:center;display:grid}.shop-arrow svg:last-child{display:none}.shop-out li{color:var(--ok-ink);padding:6px 10px;font-size:13px;font-weight:600;position:relative}.shop-out li:before{content:"";width:var(--w);background:var(--ok-bg);border:1px solid var(--ok-line);border-radius:8px;position:absolute;inset:0}.shop-out li span{white-space:nowrap;position:relative}.funnel{grid-template-columns:minmax(0,.8fr) auto minmax(0,1.4fr);align-items:start;gap:12px;display:grid}.funnel-actions ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.funnel-actions li{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px}.funnel .shop-arrow{align-self:center}.funnel-stages ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.funnel-stages li{min-height:32px;color:var(--ink);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.funnel-stages li:before{content:"";flex:0 0 calc(var(--w) * .55);background:linear-gradient(90deg,var(--pump-600),var(--pump-500));border-radius:8px;min-width:22px;height:32px}.funnel-stages li.is-outcome:before{background:linear-gradient(90deg,var(--ok-500),var(--ok-ink))}.funnel-stages li span{overflow-wrap:anywhere;min-width:0}.funnel-stages li.is-outcome span{color:var(--ok-ink)}.pillars{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pillars li{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px;flex-direction:column;gap:3px;padding:12px;font-size:13px;display:flex}.pillars b{color:var(--ink);font-family:var(--font-display);font-size:14px}.pillar-art{width:28px;height:40px;fill:var(--pump-500);margin-bottom:6px}.pillar-ssi{color:var(--pump-600);font-size:11px}.cycle{counter-reset:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.cycle li{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px;flex-direction:column;gap:4px;padding:12px 10px 10px;font-size:13px;display:flex;position:relative}.cycle li b{color:var(--ink);font-size:14px}.cycle .fig-num,.ladder-rules .fig-num{align-self:flex-start}.cycle li:not(:last-child):after{content:"";border:5px solid #0000;border-left-color:var(--pump-300);width:0;height:0;position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.cycle li.is-wait{border:2px solid var(--pump-500);background:var(--lav-50)}.cycle li.is-wait b{color:var(--pump-600)}.cycle-back{color:var(--pump-600);align-items:center;gap:6px;margin:10px 0 0;font-size:13px;display:flex}.mix{gap:4px;min-height:58px;display:flex}.mix-seg{color:var(--surface);border-radius:8px;flex-direction:column;justify-content:center;min-width:0;padding:8px 10px;display:flex}.mix-seg b{font-family:var(--font-display);font-size:18px;line-height:1}.mix-seg span{opacity:.9;font-size:12px}.mix-0{background:var(--pump-600)}.mix-1{background:var(--pump-500)}.mix-2{background:var(--pump-300)}.rhythm-days{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.rhythm-days>li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:13px}.rhythm-days b{margin:2px 0 6px;font-size:14px;display:block}.rhythm-days ul{color:var(--muted);margin:0;padding-left:16px}.rhythm-days ul li{margin:2px 0}.rhythm-rail{background:var(--pump-500);color:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:12px 0 0;padding:10px 12px;font-size:14px;display:flex;position:relative}.rhythm-rail-line{background:var(--pump-300);height:2px;position:absolute;top:-7px;left:12px;right:12px}.rhythm-finish{border-left:3px solid var(--yellow);margin:10px 0 0;padding-left:12px;font-size:14px}.formula{flex-wrap:wrap;align-items:stretch;gap:8px;margin:0;padding:0;list-style:none;display:flex}.formula li{flex:180px;align-items:center;gap:8px;min-width:0;display:flex}.formula-plus{font-family:var(--font-display);color:var(--pump-500);font-size:22px}.formula-part{background:var(--surface);border-top:4px solid var(--pump-600);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);border-radius:10px;flex-direction:column;flex:1;gap:2px;padding:10px 12px;font-size:13px;display:flex}.formula-part b{font-size:14px}.formula-part [lang=en]{color:var(--pump-600);font-size:12px}.formula-1 .formula-part{border-top-color:var(--pump-500)}.formula-2 .formula-part{border-top-color:var(--pump-300)}.formula-example{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:14px 0 0;padding:12px 14px;font-size:15px;font-weight:700}.formula-example .formula-0{box-shadow:inset 0 -3px var(--pump-600)}.formula-example .formula-1{box-shadow:inset 0 -3px var(--pump-500)}.formula-example .formula-2{box-shadow:inset 0 -3px var(--pump-300)}.about-doc{flex-direction:column;gap:6px;display:flex}.about-main,.about-keys{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13px;position:relative}.about-main{border-left:6px solid var(--pump-500)}.about-keys{border-left:6px solid var(--pump-300)}.about-pct{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.about-pct b{font-family:var(--font-display);color:var(--ink);letter-spacing:0;text-transform:none;font-size:18px}.about-main ol,.about-keys ul{margin:0;padding-left:18px}.about-main li,.about-keys li{margin:3px 0}.about-main li.is-first{color:var(--pump-600);font-weight:700}.about-bracket{background:var(--brand-bg);color:var(--brand-ink);border-radius:6px;margin-top:8px;padding:3px 8px;font-size:12px;display:inline-block}.where{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.where li{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:3px;min-width:0;padding:12px;font-size:13px;display:flex}.where-period{color:var(--pump-600);align-items:baseline;gap:4px;display:flex}.where-period b{font-family:var(--font-display);font-size:26px;line-height:1}.where-label{color:var(--ink);font-size:14px}.where-path{background:var(--soft);color:var(--ink);border-radius:6px;margin-top:4px;padding:4px 8px;font-size:12px;display:inline-block}.ladder-wrap{margin:12px 0 4px}.ladder{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;margin:0;padding:0;list-style:none;display:grid}.ladder li{background:var(--surface);border:1px solid var(--line);color:var(--muted);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 10px;font-size:12px;display:flex;position:relative}.ladder-bar{width:100%;height:var(--h);background:var(--lav-100);border-radius:6px 6px 2px 2px;min-height:14px;display:block}.ladder li b{font-family:var(--font-display);color:var(--ink);margin-top:4px;font-size:20px;line-height:1.1}.ladder-ww{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:inline-flex}.ladder li.is-now{border:2px solid var(--pump-500);background:var(--lav-50)}.ladder li.is-now .ladder-bar{background:var(--pump-500)}.ladder li.is-past .ladder-bar{background:var(--ok-line)}.ladder-now{background:var(--pump-500);color:var(--surface);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.ladder-rules{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.ladder-rules li{background:var(--brand-bg);color:var(--brand-ink);border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}.ladder-rules .fig-num{background:var(--brand);flex-shrink:0}.verdict{align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.is-yes .verdict{color:var(--ok-ink)}.is-no .verdict{color:var(--warn-ink)}.shot-cabinet{max-width:560px}.shot-mark{background:var(--yellow);width:26px;height:26px;color:var(--ink);box-shadow:0 0 0 3px var(--surface);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%)}.flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.flow li{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:12px;font-size:13px;display:flex;position:relative}.flow .fig-num{align-self:flex-start}.flow li b{font-size:14px}.flow-where{color:var(--pump-600);margin-top:auto;font-size:12px}.flow li:not(.is-last):after{content:"";border:5px solid #0000;border-left-color:var(--pump-300);position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.flow li.is-last{border:2px solid var(--pump-500);background:var(--lav-50)}.states{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.states li{background:var(--soft);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;font-size:13px;display:flex}.states b{font-size:13px}.route{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.route>li{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px;font-size:12px;display:flex;position:relative}.route>li>b{font-size:14px;line-height:1.25}.route>li .fig-num{align-self:flex-start}.route ul{color:var(--muted);flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.route>li:not(:last-child):after{content:"";border:4px solid #0000;border-left-color:var(--pump-300);position:absolute;top:21px;right:-8px}.route>li.is-observed{border-style:dashed;border-color:var(--pump-300);background:0 0}.route>li.is-observed .fig-num{background:var(--brand-300);color:var(--ink)}.route-note{color:var(--pump-600);margin-top:auto;font-size:12px}.route-links-title{margin-top:14px}.route-links{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.route-links li{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,5fr) 16px minmax(0,7fr);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:grid}.route-links b{font-size:13px}.route-links svg{color:var(--pump-500)}.audiences{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.audiences>li{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:14px;font-size:13px;display:flex}.aud-head{align-items:center;gap:10px;display:flex}.aud-head b{font-family:var(--font-display);font-size:16px;line-height:1.2;display:block}.aud-art{background:var(--lav-50);width:40px;height:40px;color:var(--pump-500);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.aud-n{color:var(--muted);font-size:12px;display:block}.aud-eg{background:var(--soft);border-radius:8px;padding:8px 10px}.aud-eg .fig-label{margin-bottom:2px;font-size:11px;display:block}.aud-why{color:var(--pump-600);margin-top:auto;font-weight:600}.ph{border:1px solid var(--line);border-radius:50%;flex-shrink:0;width:64px;height:64px;display:block}.ph-bg{fill:var(--lav-100)}.ph-glare{fill:var(--surface)}.ph-face{fill:var(--pump-300)}.ph-body{fill:var(--pump-500)}.ph-shadow{fill:var(--ink)}.ph-extra{fill:var(--muted);opacity:.65}.photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.photos>li{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.photos>li>b{font-size:14px}.photo-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.photo-side{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;font-size:13px;display:flex}.photo-mini{background:var(--soft);border-radius:8px;align-items:center;gap:16px;margin-top:12px;padding:10px 12px;display:flex}.photo-mini p{margin:0;font-size:13px}.photo-sizes{flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.bn{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.bn-side{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.bn-side p{margin:0;font-size:13px}.bn-mock{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding-bottom:30px;position:relative;overflow:hidden}.bn-strip{background:var(--pump-500);min-height:42px;color:var(--surface);text-align:center;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:flex}.bn-mock.is-no .bn-strip{background:var(--lav-100);color:var(--muted);text-decoration:line-through}.bn-photo{background:var(--pump-300);border:2px solid var(--surface);border-radius:50%;width:36px;height:36px;position:absolute;top:24px;left:10px}.bn-lines{flex-direction:column;gap:4px;display:flex;position:absolute;top:50px;left:54px;right:10px}.bn-lines i{background:var(--line);border-radius:3px;height:5px;display:block}.bn-lines i:last-child{width:60%}.bn-paths-title{margin-top:14px}.bn-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.bn-paths li{background:var(--soft);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;font-size:13px;display:flex}.bn-paths b{font-size:13px}.pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.pick button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.3}.pick button:hover{border-color:var(--pump-300)}.pick button[aria-pressed=true]{border:2px solid var(--pump-500);background:var(--lav-50);padding:7px 11px;font-weight:600}.pick button:focus-visible{outline:2px solid var(--pump-500);outline-offset:2px}.otw{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:16px;margin-top:10px;padding:14px;font-size:13px;display:flex}.otw p{margin:4px 0 0}.otw-mode{font-family:var(--font-display);font-size:16px;line-height:1.25;display:block}.otw-flags{color:var(--muted);flex-wrap:wrap;gap:6px 16px;display:flex}.otw-flags b{color:var(--ink)}.otw-avatar{border:4px solid #0000;border-radius:50%;flex-shrink:0;padding:4px;display:block;position:relative}.otw-avatar.has-ring{border-color:var(--ok-line)}.otw-avatar i{background:var(--ok-bg);color:var(--ok-ink);white-space:nowrap;border-radius:6px;padding:1px 5px;font-size:9px;font-style:normal;font-weight:700;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.xp{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.xp li{background:var(--surface);border:1px solid var(--line);border-left-width:6px;border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;font-size:13px;display:flex}.xp-context{border-left-color:var(--line)!important}.xp-duty{border-left-color:var(--pump-300)!important}.xp-win{border-left-color:var(--pump-500)!important}.xp-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;display:flex}.xp-head b{font-size:15px}.xp-size{color:var(--pump-600);font-size:12px;font-weight:700}.xp-formula{max-width:none;margin:12px 0 0}.xp-formula .fig-label{display:block}.xp-formula code{background:var(--soft);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;display:block}.xp-checks-title{margin-top:14px}.xp-checks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.xp-checks li{align-items:flex-start;gap:8px;font-size:13px;display:flex}.xp-checks svg{color:var(--pump-500);flex-shrink:0;margin-top:2px}.ai-parts{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:14px;margin-top:10px;padding:12px;font-size:13px;display:flex}.ai-parts p{margin:0}.ai-bar{flex-shrink:0;gap:3px;width:120px;display:flex}.ai-bar i{background:var(--pump-500);border-radius:4px;flex:1;height:16px}.ai-steps{flex-direction:column;margin:12px 0 0;padding:0;list-style:none;display:flex;position:relative}.ai-steps li{gap:12px;padding:0 0 12px;display:flex;position:relative}.ai-steps li:last-child{padding-bottom:0}.ai-steps li:not(:last-child):before{content:"";background:var(--lav-100);width:2px;position:absolute;top:26px;bottom:2px;left:11px}.ai-steps .fig-num{flex-shrink:0;position:relative}.ai-steps div{flex-direction:column;gap:2px;min-width:0;font-size:13px;display:flex}.ai-steps b{font-size:14px}.ai-result{background:var(--lav-50);color:var(--pump-600);border-radius:6px;align-self:flex-start;margin-top:2px;padding:3px 8px;font-size:12px;display:inline-block}@media (max-width:720px){.pa{grid-template-columns:1fr}.pa-card{max-width:320px}.shop,.funnel{grid-template-columns:1fr}.shop-arrow svg:first-child{display:none}.shop-arrow svg:last-child{display:block}.pillars,.rhythm-days,.where{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle{grid-template-columns:1fr}.cycle li:not(:last-child):after{border:5px solid #0000;border-top-color:var(--pump-300);inset:auto auto -9px 18px;transform:none}.formula li{flex-basis:100%}.formula-plus{display:none}.flow,.audiences,.photos,.bn{grid-template-columns:1fr}.route{grid-template-columns:repeat(2,minmax(0,1fr))}.flow li:not(.is-last):after{border:5px solid #0000;border-top-color:var(--pump-300);inset:auto auto -9px 18px;transform:none}.route>li:not(:last-child):after{display:none}}@media (max-width:420px){.fig{padding:14px 12px 12px}.pillars,.rhythm-days,.where{grid-template-columns:1fr}.ladder{gap:5px}.ladder li b{font-size:17px}.mix{flex-direction:column}.mix-seg{flex-basis:auto!important}.shop-out li span{white-space:normal}.states,.bn-paths,.pick,.route{grid-template-columns:1fr}.route-links li{grid-template-columns:1fr;gap:2px}.route-links svg{display:none}.otw,.photo-mini,.ai-parts{flex-direction:column;align-items:flex-start}.ai-bar{width:100%}}@media (prefers-reduced-motion:no-preference){.fig{animation:fig-in var(--d-overlay) var(--ease-out) both}.funnel-stages li:before,.shop-out li:before{transform-origin:0;animation:fig-grow var(--d-data) var(--ease-out) both}.ladder-bar{transform-origin:bottom;animation:fig-rise var(--d-data) var(--ease-out) both}.ai-bar i{animation:fig-in var(--d-overlay) var(--ease-out) both}}@keyframes fig-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fig-grow{0%{transform:scaleX(.3)}to{transform:none}}@keyframes fig-rise{0%{transform:scaleY(.2)}to{transform:none}}.fsteps{counter-reset:none;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.fsteps>li{background:var(--warm-50);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex;position:relative}.fsteps>li:nth-child(4n+1){background:var(--brand-bg);border-color:var(--brand-line)}.fsteps>li:nth-child(4n+2){background:var(--teal-bg);border-color:var(--teal-line)}.fsteps>li:nth-child(4n+3){background:var(--coral-bg);border-color:var(--coral-line)}.fsteps>li:nth-child(4n+4){background:var(--pink-bg);border-color:var(--pink-line)}.fsteps>li:not(:last-child):after{content:"";border-top:2px solid var(--muted);border-right:2px solid var(--muted);z-index:1;width:8px;height:8px;position:absolute;top:22px;right:-9px;transform:rotate(45deg)}.fsteps-text{flex-direction:column;gap:4px;display:flex}.fsteps-text b{font-size:14px;line-height:1.35}.fsteps-text span{color:var(--muted);font-size:13px;line-height:1.4}.fsteps.is-compact{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.fsteps.is-compact>li{flex-direction:row;align-items:center;padding:8px 10px}.fsteps.is-compact>li:after{display:none}.fsteps-note{background:var(--surface);border:1px dashed var(--line);border-radius:10px;align-items:flex-start;gap:8px;margin:10px 0 0;padding:8px 12px;font-size:14px;display:flex}.fsteps-note svg{color:var(--ok-ink);flex-shrink:0;margin-top:2px}.cmp{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cmp-col{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;padding:12px 14px}.cmp-col.is-a{background:var(--teal-bg);border-color:var(--teal-line)}.cmp-col.is-a .cmp-label{color:var(--teal-ink)}.cmp-col.is-b{background:var(--brand-bg);border-color:var(--brand-line)}.cmp-col.is-b .cmp-label{color:var(--brand-ink)}.cmp-col.is-yes{background:var(--ok-bg);border-color:var(--ok-line)}.cmp-col.is-yes .cmp-label{color:var(--ok-ink)}.cmp-col.is-no{background:var(--coral-bg);border-color:var(--coral-line)}.cmp-col.is-no .cmp-label{color:var(--coral-ink)}.cmp-label{align-items:center;gap:6px;margin-bottom:6px;font-size:15px;display:flex}.cmp-col ul{margin:0;padding-left:18px}.cmp-col li{margin:4px 0;font-size:14px;line-height:1.45}.kcards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.kcards>li{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex}.kcards b{font-size:14px;line-height:1.35}.kcards span{color:var(--muted);font-size:13px;line-height:1.4}.kc-big{width:48px;height:48px;font:800 22px/1 var(--font-display);border-radius:14px;place-items:center;margin-bottom:4px;display:grid}.kcards>li .kc-big{color:var(--ink)}.kc-0 .kc-big{background:var(--yellow)}.kc-1 .kc-big{background:var(--teal-500)}.kc-2 .kc-big{background:var(--coral-500)}.kc-3 .kc-big{background:var(--pink-500)}.kcards>li .kc-icon{background:var(--ok-bg);color:var(--ok-ink)}.io{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.io-col{border:1px solid var(--line);border-radius:12px;min-width:0;padding:12px 14px}.io-in{background:var(--warm-50)}.io-out{background:var(--ok-bg);border-color:var(--ok-line)}.io-col ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.io-in li{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:14px}.io-out li{align-items:flex-start;gap:6px;font-size:14px;font-weight:600;display:flex}.io-out li svg{color:var(--ok-ink);flex-shrink:0;margin-top:3px}@media (max-width:640px){.fsteps{grid-template-columns:1fr}.fsteps>li{flex-direction:row;align-items:flex-start}.fsteps>li:not(:last-child):after{inset:auto auto -9px 22px;transform:rotate(135deg)}.fsteps.is-compact,.cmp,.io{grid-template-columns:1fr}.io .shop-arrow svg:first-child{display:none}.io .shop-arrow svg:last-child{display:block}.kcards{grid-template-columns:1fr 1fr}}.fsteps .fig-num{flex-shrink:0;align-self:flex-start}.wk-1{--wk:var(--wk-1);--wk-ink:var(--wk-1-ink);--wk-bg:var(--wk-1-bg)}.wk-2{--wk:var(--wk-2);--wk-ink:var(--wk-2-ink);--wk-bg:var(--wk-2-bg)}.wk-3{--wk:var(--wk-3);--wk-ink:var(--wk-3-ink);--wk-bg:var(--wk-3-bg)}.wk-4{--wk:var(--wk-4);--wk-ink:var(--wk-4-ink);--wk-bg:var(--wk-4-bg)}.wk-5{--wk:var(--wk-5);--wk-ink:var(--wk-5-ink);--wk-bg:var(--wk-5-bg)}.bar,.seg-bar,.dash-track{background:var(--warm-100)}.dash-empty,.post-note,.assistant-note,.assistant-nodirect{background:var(--warm-50)}.week-strip .is-today{background:var(--brand-bg)}.dot-today{box-shadow:0 0 0 3px var(--brand-line)}.dash-kpi,.dash-chart{border-color:var(--line)}.week-done{background:var(--success-bg);border-color:var(--success-line);border-left:4px solid var(--success)}.week-done .badge{background:var(--surface);color:var(--success)}.celebrate{background:var(--accent-bg);border-color:var(--accent-line)}.status-draft{background:var(--canvas);color:var(--muted);border-color:var(--line)}.status-done{background:var(--success-bg);color:var(--success);border-color:var(--success-bg)}.chip.chip-required{background:var(--surface);border-color:var(--control-border);color:var(--ink);font-weight:700}.chip.chip-optional{background:var(--surface);color:var(--muted)}.chip.chip-due{background:var(--canvas)}.chip.chip-time{background:var(--canvas);border-color:var(--line);color:var(--muted)}.chip.chip-overdue{background:var(--danger-bg);border-color:var(--danger-bg);color:var(--danger-ink)}.task-meta b[data-level]{background:var(--canvas);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:12px;line-height:20px;display:inline-block}.task-meta b[data-level=Обязательно]{background:var(--surface);color:var(--ink);border-color:var(--control-border)}.filter[data-filter=required][aria-pressed=true],.filter[data-filter=open][aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--surface)}.filter[data-filter=overdue][aria-pressed=true]{background:var(--coral-ink);border-color:var(--coral-ink);color:var(--surface)}.filter[data-filter=overdue]:not([aria-pressed=true]){color:var(--coral-ink)}.week-card[class*=wk-]{border-left:6px solid var(--line)}.week-card[class*=wk-].is-current{border-left-color:var(--brand);border-color:var(--brand-edge)}.week-card[class*=wk-] .bar>i{background:var(--brand)}.week-card[class*=wk-]>summary h2:first-line{color:inherit}.week-card[class*=wk-] .week-label{background:var(--canvas);color:var(--muted);font:700 13px/22px var(--font-body);vertical-align:2px;border-radius:999px;margin-right:6px;padding:1px 10px;display:inline-block}.week-card[class*=wk-].is-current .week-label{background:var(--brand-bg);color:var(--brand-ink)}.week-card[class*=wk-][open]>summary{background:var(--surface)}.week-card.is-passed{border-color:var(--ok-line);border-left-color:var(--ok-500)}.week-card .block h3{color:var(--ink)}.eyebrow[class*=wk-]{background:var(--brand-bg);width:fit-content;max-width:100%;color:var(--brand-ink);border-radius:999px;margin-top:6px;padding:2px 10px;display:block}.portal-shell:has(.eyebrow[class*=wk-]) .lesson-intro{border-top:5px solid var(--brand)}.seg-bar>i,.journey-seg.is-done .seg-bar>i{background:var(--brand)}.journey-seg.is-current .seg-bar{box-shadow:0 0 0 2px var(--brand-line)}.journey-seg.is-current .seg-label,.dials .journey-seg.is-current .seg-label{color:var(--brand-ink)}.dials[data-tone=light]{background:var(--surface);border-color:var(--line);--dial-track:var(--track)}.dials[data-tone=light] .dials-row .dial{--dial-arc:var(--brand)}.dials[data-tone=light] .dials-row .dial[data-pace=ok]{--dial-arc:var(--success)}.dials[data-tone=light] .dials-row .dial[data-pace=low]{--dial-arc:var(--warning)}@media (hover:hover) and (pointer:fine){.dials[data-tone=light] .dial:hover{background:var(--canvas)}}.next-step{background:var(--accent-bg);border-color:var(--accent);border-left:4px solid var(--accent)}.pill-step{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.metrics-due{background:var(--brand-bg);border-color:var(--brand-line)}.metrics-due>svg{color:var(--brand-ink)}.network-norm,.assistant-norm{background:var(--brand-bg);border-color:var(--brand-line)}.network-norm-safety{background:var(--surface);color:var(--brand-ink)}.mentor-callout{background:var(--canvas);border-color:var(--line);border-left:5px solid var(--brand)}.brief{margin:12px 0 4px}.brief-lead{white-space:pre-line;max-width:70ch;margin:0 0 10px;font-size:17px;font-weight:500;line-height:1.5}.brief-facts{flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.brief-facts .is-result{flex:320px}.brief-facts .is-time{flex:none}.brief-facts li{background:var(--warm-50);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;display:flex}.brief-facts li>svg{flex-shrink:0;margin-top:2px}.brief-facts b{letter-spacing:.04em;text-transform:uppercase;font-size:12px;display:block}.brief-facts span{overflow-wrap:anywhere;font-size:14px;line-height:1.45;display:block}.brief-facts .is-result{background:var(--brand-bg);border-color:var(--brand-line)}.brief-facts .is-result>svg,.brief-facts .is-result b{color:var(--brand-ink)}.brief-facts .is-time>svg,.brief-facts .is-time b,.brief-facts .is-where>svg,.brief-facts .is-where b{color:var(--muted)}.brief-more{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:4px 0 12px}.brief-more>summary{cursor:pointer;min-height:44px;color:var(--pump-500);align-items:center;gap:8px;padding:8px 14px;font-weight:700;list-style:none;display:flex}.brief-more>summary::-webkit-details-marker{display:none}.brief-more>summary svg{transition:transform var(--d-hover) var(--ease-out)}.brief-more[open]>summary svg{transform:rotate(180deg)}.brief-more>div{padding:0 14px 12px}.brief-text{white-space:pre-line;overflow-wrap:anywhere;max-width:72ch;margin:8px 0}.ssi-intro{margin:10px 0 0}.ssi-intro-note{background:var(--soft);border-radius:12px;margin:0 0 8px;padding:10px 14px;font-size:15px;line-height:1.4}.ssi-intro .brief-more{margin:0}.step-cards{counter-reset:step;gap:8px;margin:10px 0 14px;padding:0;list-style:none;display:grid}.step-cards>li{counter-increment:step;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-line;border-radius:12px;padding:12px 14px 12px 52px;position:relative;box-shadow:0 1px #21172f0a}.step-cards>li:before{content:counter(step);background:var(--brand-bg);width:28px;height:28px;color:var(--brand-ink);font:800 14px/1 var(--font-display);border-radius:9px;place-items:center;display:grid;position:absolute;top:10px;left:12px}.step-cards.is-bullets>li:before{content:"";background:var(--brand);border-radius:50%;width:10px;height:10px;top:19px;left:20px}.step-cards.is-bullets>li{padding-left:42px}.step-cards.is-checks>li:before{content:"✓";font:800 15px/1 var(--font-body);background:var(--ok-bg);color:var(--ok-ink)}.plaque{border:1px solid var(--line);background:var(--canvas);border-radius:14px;margin:12px 0;padding:14px 16px}.plaque>h3{align-items:center;gap:8px;margin:0 0 6px;font-size:17px;display:flex}.plaque>h3>svg{flex-shrink:0}.plaque.is-check>h3>svg{color:var(--success)}.plaque.is-optional>h3>svg{color:var(--muted)}.plaque.is-important{background:var(--brand-bg);border-color:var(--brand-line)}.plaque.is-important>h3>svg{color:var(--brand-ink)}.learning-content .lc-lead{white-space:pre-line;font-weight:500}.fig{background:var(--surface);border-color:var(--line);border-top:5px solid var(--brand)}.fig .fig-eyebrow{color:var(--brand-ink)}.fig .fig-num{background:var(--brand);color:var(--on-brand)}.guide-step{border:1px solid var(--line);background:var(--surface);border-left:5px solid var(--brand);border-radius:14px;margin:10px 0}.guide-step>summary{cursor:pointer;flex-direction:column;gap:4px;min-height:44px;padding:12px 16px;list-style:none;display:flex}.guide-step>summary::-webkit-details-marker{display:none}.guide-step>summary h3{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.guide-step>summary h3>svg{color:var(--brand-ink);flex-shrink:0}.guide-lead{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;font-size:15px}.guide-open{color:var(--pump-500);align-items:center;gap:4px;font-size:14px;font-weight:700;display:inline-flex}.guide-open svg{transition:transform var(--d-hover) var(--ease-out)}.guide-step[open] .guide-open svg{transform:rotate(180deg)}.guide-step[open] .guide-lead{color:var(--ink)}.guide-body{overflow-wrap:anywhere;padding:0 16px 14px}.guide-step.is-optional{background:var(--canvas);border-left-color:var(--line)}.guide-step.is-optional>summary h3>svg{color:var(--muted)}.learning-content>.guide-step+*{margin-top:0}.road{background:var(--ink)}.road-station .road-dot{background:var(--brand-300);color:var(--ink);border-color:#ffffffa6}.road-station.is-behind .road-dot{background:var(--brand-300);color:var(--ink);border-color:var(--surface)}.road-station.is-done .road-dot{background:var(--surface);color:var(--success);border-color:var(--surface)}.road-station.is-current .road-dot{background:var(--surface);color:var(--ink);box-shadow:0 0 0 4px var(--brand-300)}.road-puck{background:var(--brand-300);color:var(--ink)}.road-fill .road-line{stroke:var(--brand-300)}.video-embed{background:var(--ink)}.video-facade{background:radial-gradient(120% 140% at 85% 0%,var(--brand-ink) 0%,var(--ink) 60%)}.video-facade svg{color:var(--surface)}@media (min-width:900px){.video-list:has(>div:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:4px 16px;display:grid}.video-list:has(>div:nth-child(2)) .video-embed{margin:4px 0 8px}.video-list:has(>div:nth-child(2)) h3{margin:10px 0 4px;font-size:15px}}.story-today{background:var(--brand-bg);border-color:var(--brand-line)}.story-today .eyebrow{color:var(--brand-ink)}.lib-card>h2{align-items:center;gap:8px;display:flex}.lib-lead{margin:4px 0 12px;font-size:15px}.lib-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;display:grid}@media (min-width:900px){.lib-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.lib-group{--tone-bg:var(--brand-bg);--tone-ink:var(--brand-ink);border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;scroll-margin-top:72px}.lib-group>summary{cursor:pointer;border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:64px;padding:10px 14px;list-style:none;display:grid}.lib-group>summary::-webkit-details-marker{display:none}.lib-group>summary:focus-visible{outline:3px solid var(--pump-500);outline-offset:2px}.lib-icon{background:var(--tone-bg);width:44px;height:44px;color:var(--tone-ink);border-radius:12px;place-items:center;display:grid}.lib-head{gap:2px;min-width:0;display:grid}.lib-group .lib-title,.post-week .lib-title,.material-week .lib-title,.metric-card .lib-title{margin:0;font-size:16px;font-weight:700;line-height:1.25}.lib-line{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.lib-count{background:var(--tone-bg);color:var(--tone-ink);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:13px;font-weight:700;line-height:1}.lib-chev{color:var(--muted);transition:transform var(--d-hover) var(--ease-out)}.lib-group[open]>summary .lib-chev{transform:rotate(180deg)}.lib-group[open]>summary{border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}.lib-body{min-width:0;padding:12px 14px 14px}.lib-body>.feed-item:first-child{padding-top:0}.lib-body .material-row:last-child{margin-bottom:0}.metric-grid.is-groups{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px}@media (min-width:900px){.metric-grid.is-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric-grid.is-groups .metric-card .metric-row:first-child{margin-top:0}@media (max-width:480px){.lib-group>summary{grid-template-columns:40px minmax(0,1fr) auto 18px;gap:10px;padding:10px 12px}.lib-icon{width:40px;height:40px}.lib-body{padding:12px}}.fold-chev{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:10px;height:10px;transition:transform var(--d-hover) var(--ease-out);flex:none;justify-self:center;margin:0 4px;transform:rotate(45deg)}details[open]>summary>.fold-chev{transform:rotate(-135deg)}.portal-shell .task.is-fold{padding:0}.task-fold>summary{cursor:pointer;border-radius:var(--radius);grid-template-columns:32px minmax(0,1fr) 22px;align-items:center;gap:12px;min-height:64px;padding:14px 20px;list-style:none;display:grid}.task-fold>summary::-webkit-details-marker{display:none}.task-fold>summary:focus-visible{outline:3px solid var(--pump-500);outline-offset:2px}.task-fold-num{background:var(--lav-50);width:32px;height:32px;color:var(--pump-500);font:700 14px/1 var(--font-body);border-radius:50%;place-items:center;display:grid}.task-fold[open]>summary .task-fold-num{background:var(--pump-500);color:var(--surface)}.task-fold-head{min-width:0}.portal-shell .task-fold-head h3{margin:4px 0 0}.task-fold-head .task-status-bar{margin:8px 0 0}.task-fold-note{margin:6px 0 0;font-size:13px}.task-fold-body{min-width:0;padding:4px 20px 20px}.task-fold-body>p{white-space:pre-line;overflow-wrap:anywhere}.card-fold{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0 0 12px}.card-fold>summary{cursor:pointer;border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 16px;list-style:none;display:flex}.card-fold>summary::-webkit-details-marker{display:none}.more-tasks>summary::-webkit-details-marker{display:none}:is(.card-fold>summary:focus-visible,.more-tasks>summary:focus-visible){outline:3px solid var(--pump-500);outline-offset:2px}.card-fold-head{gap:2px;min-width:0;display:grid}.card-fold-head b{font-size:16px;line-height:1.3}.card-fold-head small{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.card-fold-body{min-width:0;padding:0 12px 12px}.card-fold-body>.card{margin:0 0 10px}.card-fold-body>.card:last-child{margin-bottom:0}.more-tasks{border-top:1px solid var(--line)}.more-tasks>summary{cursor:pointer;min-height:52px;color:var(--pump-500);justify-content:space-between;align-items:center;gap:12px;padding:8px 4px;font-weight:600;list-style:none;display:flex}@media (max-width:480px){.task-fold>summary{grid-template-columns:28px minmax(0,1fr) 20px;gap:10px;padding:12px 14px}.task-fold-num{width:28px;height:28px;font-size:13px}.task-fold-body{padding:4px 14px 16px}.card-fold>summary{padding:10px 12px}.card-fold-body{padding:0 8px 8px}}
