/* Mobile edition: black, neutral charcoal, one red accent.
   Cards 24px; controls 14px; badges/circular actions fully rounded. */
:root{color-scheme:dark;--ground:#09090b;--ground-2:#101012;--surface:#151518;--surface-2:#1d1d21;--line:#2b2b31;--ink:#f5f5f7;--muted:#b4b4be;--faint:#9999a6;--blue:#ff6b76;--blue-dark:#36181e;--blue-field:#211317;--red:#ee3446;--red-soft:#ff8290;--serif:"DM Sans",system-ui,sans-serif;--sans:"DM Sans",system-ui,sans-serif;--radius:24px}
html{background:#050506;scroll-padding-top:88px}body{background:#050506;font:16px/1.6 var(--sans);color:var(--ink)}
button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}h1,h2,h3{font-family:var(--sans)}
.app-shell{display:block;width:100%;max-width:520px;margin:0 auto;min-height:100dvh;position:relative;border-left:1px solid #19191d;border-right:1px solid #19191d;background:var(--ground)}
.workspace{background:var(--ground);width:100%;min-height:100dvh}
.topbar{position:sticky;top:0;z-index:20;display:flex;height:calc(72px + env(safe-area-inset-top));min-height:72px;padding:env(safe-area-inset-top) 24px 0;background:rgba(9,9,11,.96);border-bottom:1px solid #202024;backdrop-filter:blur(16px);gap:12px}
.topbar-heading{margin-right:auto;min-width:0}.topbar-heading>span{display:block;font-size:10px!important;color:#92929d;letter-spacing:.06em;text-transform:uppercase}.topbar-heading strong{display:block;color:#f4f4f6;font-size:15px;letter-spacing:-.02em;max-width:none}
.topbar-actions{display:flex;gap:8px}.language-control,.account-control,.login-top,.menu-button{display:none!important}
.search-trigger{display:flex;justify-content:center;align-items:center;width:44px;height:44px;padding:10px;border:1px solid #2e2e35;border-radius:50%;background:#17171b;color:#eeeef3}.search-trigger>span{display:none}
.topbar+main{padding:26px 24px calc(110px + env(safe-area-inset-bottom));max-width:none;min-height:calc(100dvh - 72px)}
.page-header{display:block;margin:0 0 26px}.page-header h1{font-size:30px;line-height:1.15;letter-spacing:-.045em;margin:10px 0 14px;font-weight:700}.page-header p{font-size:15px;color:var(--muted);line-height:1.65}.page-header .header-action{margin-top:16px;width:auto}.page-header .section-kicker{color:#a6a6b1;font-size:12px}
.section-kicker{font-size:11px;color:#a6a6b1;letter-spacing:.08em;font-weight:600}
.section-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 16px}.section-row h2{font-size:20px;line-height:1.25;letter-spacing:-.035em}.section-row .text-link{font-size:12px;white-space:nowrap;min-height:44px;padding:0;max-width:none;color:#c9c9d0}.section-row .text-link .ui-icon{width:15px}
.primary-action,.secondary-action,.danger-action{min-height:50px;border-radius:14px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 18px;line-height:1.4;transition:transform 140ms cubic-bezier(.2,.8,.2,1),background 140ms ease,border-color 140ms ease}
.primary-action{background:var(--red);border:1px solid var(--red);color:#fff}.primary-action:hover{background:#d92d3f;border-color:#d92d3f;color:#fff}
.secondary-action{background:#222227;border:1px solid #393941;color:#f4f4f7}.secondary-action:hover{background:#2c2c32;border-color:#656571;color:#fff}
.primary-action:active,.secondary-action:active,.mobile-topic:active,.calm-card:active{transform:scale(.975)}
.text-link,.text-button,.print-link,.mini-link,.source-links a,.home-note .source-links a{color:var(--red-soft)}.text-link:hover,.text-button:hover,.print-link:hover,.source-links a:hover{color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #ff8290;outline-offset:4px}
.mobile-welcome{padding:4px 0 25px}.mobile-welcome>.section-kicker{font-size:10px;letter-spacing:.12em;color:#9f9fa9}.mobile-welcome h1{font-size:36px;line-height:1.12;letter-spacing:-.055em;margin:13px 0 15px;font-weight:700}.mobile-welcome h1 em{font-style:normal;color:#ff6879}.mobile-welcome>p{font-size:14px;color:#aaaab5}
.today-card{position:relative;overflow:hidden;background:#1c1317;border:1px solid #53252d;border-radius:24px;padding:22px}.today-card:before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:#ef4052;border-radius:4px}
.today-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.today-label{display:flex;align-items:center;gap:7px;color:#ff8290;font-size:10px;font-weight:700;letter-spacing:.06em}.today-label .ui-icon{width:15px;height:15px}.today-phase{font-size:10px;color:#c8b4ba;border:1px solid #4b2b34;border-radius:30px;padding:4px 8px;white-space:nowrap}
.today-content{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:12px;align-items:center;margin-bottom:24px}.today-day{font-size:12px;font-weight:500;color:#b6a0a6}.today-content h2{font-size:23px;line-height:1.18;letter-spacing:-.04em;margin:7px 0 10px}.today-content p{font-size:13px;line-height:1.6;color:#bdacb3}.today-card>.primary-action{width:100%;justify-content:space-between}.today-footnote{font-size:10px!important;text-align:center;margin:12px 0 0;color:#ab979f}
.mobile-progress-ring{width:88px;height:88px;overflow:visible}.ring-track,.ring-value{fill:none;stroke-width:5}.ring-track{stroke:#442830}.ring-value{stroke:#ff5d70;stroke-linecap:round;animation:ring-reveal 650ms ease-out both}.ring-number{font:700 24px var(--sans);fill:#faf3f5}.ring-total{font-size:12px;fill:#a98e98}.ring-label{font:600 9px var(--sans);fill:#b7a0a9;letter-spacing:.1em}
.mobile-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-topic{min-width:0;display:flex;flex-direction:column;text-decoration:none;background:#161619;border:1px solid #2a2a30;border-radius:24px;padding:19px 16px;transition:transform 140ms ease,background 140ms ease}.mobile-topic:hover{background:#1e1e23;border-color:#6b303b}.topic-symbol{width:40px;height:40px;display:grid;place-items:center;background:#321a21;border-radius:13px;color:#ff7b8b;margin-bottom:17px}.topic-symbol .ui-icon{width:22px;height:22px}.topic-tag{font-size:9px;letter-spacing:.1em;color:#a3a3af;margin-bottom:6px;font-weight:600}.mobile-topic h3{font-size:21px;line-height:1.14;letter-spacing:-.04em;margin-bottom:10px;color:#f6f6f8}.mobile-topic p{font-size:12px;line-height:1.55;color:#a9a9b4;margin:0 0 20px}.topic-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;color:#f5c0c8}.topic-link .ui-icon{width:17px}
.connection-row{display:flex;align-items:center;gap:13px;padding:18px 2px;text-decoration:none;border-bottom:1px solid var(--line)}.connection-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;color:#cdccd5}.connection-row>div{min-width:0}.connection-row strong{display:block;font-size:14px;font-weight:600;margin-bottom:3px}.connection-row div span{display:block;font-size:12px;line-height:1.5;color:#a7a7b2}.connection-row>.ui-icon{margin-left:auto;width:17px;color:#80808d}
.mobile-week ol{list-style:none;margin:0;padding:4px 18px;background:#151518;border:1px solid #29292e;border-radius:24px}.mobile-week li+li{border-top:1px solid #2b2b31}.mobile-week a{display:flex;align-items:center;gap:14px;padding:19px 0;text-decoration:none}.week-badge{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#25252b;color:#a4a4b0;font-size:12px;font-weight:600}.week-badge.week-complete{color:#ff8a99;background:#351e26}.mobile-week h3{font-size:14px;font-weight:600;line-height:1.35;letter-spacing:-.02em;margin-bottom:5px}.mobile-week p{font-size:11px;color:#8f8f9c}.mobile-week a>.ui-icon{margin-left:auto;width:16px;color:#797986}
.calm-card{position:relative;display:flex;align-items:center;gap:13px;overflow:hidden;background:#21151b;border:1px solid #46252f;border-radius:24px;padding:24px 17px;text-decoration:none;transition:transform 140ms ease}.calm-card>div{position:relative;z-index:1;min-width:0}.calm-card .section-kicker{font-size:9px;letter-spacing:.09em;color:#d3a8b2}.calm-card h3{font-size:19px;letter-spacing:-.03em;margin:6px 0}.calm-card p{font-size:12px;color:#bba4ac}.round-play{display:grid;place-items:center;width:39px;height:39px;flex:none;margin-left:auto;border:1px solid #854050;background:#47212c;border-radius:50%;color:#ffc2cc}.round-play .ui-icon{width:17px;height:17px;margin-left:2px}.calm-graphic{width:39px;height:52px;position:relative;flex:none;display:block}.calm-graphic i{position:absolute;border:1px solid #d16a80;border-radius:50%;width:38px;height:38px;top:7px;left:0;opacity:.6}.calm-graphic i:nth-child(2){width:27px;height:27px;left:6px;top:13px}.calm-graphic i:nth-child(3){width:14px;height:14px;left:12px;top:20px;background:#773447}
.mobile-resource-links{margin-top:14px}.mobile-resource-links a{display:flex;align-items:center;gap:13px;padding:17px 3px;text-decoration:none;border-bottom:1px solid #25252b}.mobile-resource-links a>.ui-icon{color:#aaa9b5;width:19px}.mobile-resource-links a>.ui-icon:last-child{margin-left:auto;width:16px;color:#767582}.mobile-resource-links span{font-size:14px;font-weight:600}.mobile-resource-links strong{display:block;font-size:12px;color:#93939f;font-weight:400;margin-top:3px}.mobile-footer{text-align:center;color:#757582;font-size:11px;padding-top:32px}
.mobile-nav{position:fixed;z-index:24;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);right:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:3px;background:rgba(16,16,19,.97);border-top:1px solid #2d2d33;backdrop-filter:blur(18px)}
.mobile-nav>a,.mobile-nav>button{min-width:0;min-height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:0;background:none;border-radius:14px;color:#92929f;font-size:10px;font-weight:500;text-decoration:none;line-height:1.3;padding:6px 2px;transition:color 140ms ease,background 140ms ease}.mobile-nav .ui-icon{width:22px;height:22px}.mobile-nav>a[aria-current=page]{color:#ff7283;background:#2b171e}.mobile-nav a:active,.mobile-nav button:active{background:#282128;color:#ff8897}
.sidebar{display:flex;position:fixed;top:0;bottom:0;left:max(0px,calc(50vw - 260px));width:min(340px,88vw);height:100dvh;z-index:31;padding:32px 20px;background:#111114;border-right:1px solid #34343b;transform:translateX(-140vw);visibility:hidden;transition:transform 260ms cubic-bezier(.23,1,.32,1),visibility 260ms;overflow-y:auto;backdrop-filter:none}
.sidebar.open{visibility:visible;transform:translateX(0)}.sidebar-close{display:inline-flex;min-height:44px;margin:14px 12px 0;color:#cac9d2;font-size:14px}.sidebar-account{margin-top:26px}.sidebar-note{margin-top:20px}.sidebar-scrim:not([hidden]){display:block;position:fixed;z-index:30;inset:0;background:rgba(0,0,0,.7);border:0;width:100%;height:100dvh;cursor:default}body.menu-open{overflow:hidden}.sidebar-brand{padding:0 12px}.wordmark-symbol{font-family:var(--sans);color:#fa6478;font-weight:700;font-size:34px}.side-nav a[aria-current=page],.side-nav a:hover{background:#2b171e;color:#ff8998}
.content-layout,.goal-layout,.dashboard-grid{display:block}.lesson-context,.goal-layout .side-context{display:none}.side-context{margin-top:24px;position:static}.reading-panel{padding:24px 20px;background:#151518;border:1px solid #2b2b31;border-radius:24px}.reading-panel p,.reading-panel li{font-size:16px;line-height:1.75;color:#c5c5ce}.reading-panel h2{font-size:23px;line-height:1.25;margin-top:28px}.reading-panel h3{color:#f2f1f5}.reading-panel .protocol{padding:0;background:none;border:0}.reading-panel .protocol li{grid-template-columns:24px minmax(0,1fr);gap:12px}.protocol li:before{color:#ff7d8e}
.daily-action,.goal-routine,.goal-route-link,.takeaway,.practice-timer,.lab-transfer,.lab-manual,.evidence-section{background:#23191e;border-color:#4c2c36;border-radius:16px}.daily-action{padding:22px 18px}.daily-action>h2:first-child{margin-top:0;color:#fff}.daily-action .action-instruction{font-size:17px;color:#eee0e5}.daily-action .action-outcome{font-size:13px;color:#cbb3bd}.takeaway strong{color:#ffbdc9}.goal-route-link{margin-top:24px;color:#c8a9b5}.goal-route-link strong{color:#ffe1e8}.practice-timer{display:block;padding:22px 18px;position:relative;overflow:hidden}.practice-timer>div{position:relative;z-index:1}.practice-timer h2{margin-top:0}.timer-controls{align-items:flex-start;margin-top:20px}.timer-controls output{color:#ffb4c2}.practice-timer:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;border:1px solid #8b4154;background:#52243444;right:-55px;bottom:-50px;transform:scale(.8);opacity:.5}.practice-timer.is-running:before{animation:breathe 8s ease-in-out infinite}.timer-controls>div{display:flex;gap:12px}.timer-status{text-align:left}
.mobile-topic-header{padding-bottom:24px}.mobile-topic-header>.text-link{font-size:13px;margin-bottom:18px;min-height:44px}.topic-header-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#351a23;color:#ff8b9c;margin-bottom:24px}.topic-header-icon .ui-icon{width:29px;height:29px}.mobile-topic-header h1{font-size:33px;line-height:1.12;letter-spacing:-.045em;margin:12px 0 15px}.mobile-topic-header h2{font-size:18px;line-height:1.35;color:#e6d9df;margin-bottom:12px}.mobile-topic-header>p{font-size:15px;color:#adadb9;line-height:1.7}
.goal-move{grid-template-columns:22px minmax(0,1fr);gap:13px}.goal-move>span{color:#ff8d9c}.goal-move h2{font-size:22px}.goal-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.goal-choices span{background:#17171b;border-color:#3a3a42;color:#c2c2cd;padding:10px 6px;min-height:48px;font-size:12px}.goal-choices input:checked+span{background:#361e27;border-color:#ac5167;color:#ffdbe4}.goal-choices input:focus-visible+span{outline-color:#ff8290}
.course-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.course-strip a{min-height:44px;background:#222228;border-color:#3b3b45;color:#b4b4c1;border-radius:12px}.course-strip a.is-done{background:#48202d;color:#ffc0d0;border-color:#ad5069}.course-strip a.is-current{outline-color:#ff8290}.course-strip a:hover{color:#fff;border-color:#bc6076}.learning-panel{background:#161619;border:1px solid #2a2a30;border-radius:24px;padding:23px 18px}.learning-heading{align-items:flex-start;gap:12px}.learning-heading h2{font-size:18px}.learning-heading p{font-size:12px}.course-phase{padding:22px 18px;background:#151518;border:1px solid #2a2a31;border-radius:24px}.phase-heading{display:block}.phase-heading>span{display:inline-block;margin-bottom:12px;color:#ff94a5;background:#351d27}.phase-heading h2{font-size:22px}.phase-heading p{font-size:13px}.route-item{grid-template-columns:28px minmax(0,1fr) 18px;gap:12px;padding:18px 0}.route-item h3{font-size:16px}.route-item p{font-size:12px}.route-number{font-size:13px;color:#ff91a2}.route-state{font-size:0!important}.route-item.is-done .route-state{display:none}.route-item.is-done{grid-template-columns:28px minmax(0,1fr) 18px}
.goal-grid,.bonus-collection,.library-list,.practice-list,.help-grid{grid-template-columns:1fr;gap:14px}.goal-card{display:flex;padding:25px;gap:0}.goal-card h2{font-size:25px;margin:14px 0 12px}.bonus-resource,.library-resource,.practice-resource,.goal-card,.help-card,.data-actions{background:#161619;border:1px solid #2d2d34;border-radius:24px}.bonus-resource:hover,.library-resource:hover,.goal-card:hover,.practice-resource:hover{background:#1d1b21;border-color:#8d4358}.bonus-resource h2,.library-resource h2{font-size:23px}.resource-format{color:#ff95a9;font-size:11px}.resource-bottom{color:#ebbecb}.collection-feature{display:none}.lab-manual{display:block;padding:24px 20px;margin-top:26px}.lab-manual h2{font-size:21px}.lab-manual button{max-width:100%;width:100%;margin-top:18px}.lab-manual p{font-size:14px}.lab-explainer{background:#1d191f;border-color:#4e3440;padding:22px 14px}.lab-step-buttons{grid-template-columns:1fr}.lab-step-buttons button{background:#2a212a;border-color:#614451;color:#e6cbd5;min-height:50px}.lab-step-buttons button>span{color:#ffb5c8}.lab-step-buttons button[aria-pressed=true]{background:#673044;color:#fff;border-color:#c66a85}.lab-step-buttons button[aria-pressed=true]>span{color:#fff}.lab-line{stroke:#704453}.lab-line.is-active{stroke:#ff91ad}.lab-point circle{fill:#321f29;stroke:#916172}.lab-point text{fill:#f8d0de}.lab-point.is-active circle{fill:#e87a99;stroke:#e87a99}.lab-point.is-active text{fill:#22131a}.lab-baseline{stroke:#5b3e49}.lab-heading{display:block}.lab-heading button{margin-top:10px;padding-left:0}.lab-active-step{min-height:0}.lab-active-step>strong{color:#f9dce6}.lab-question{padding:22px 16px}.quiz-answer{background:#232126;color:#e5dae0;border-color:#63505a;min-height:48px}.quiz-answer.is-selected,.quiz-answer:hover{background:#50283a;border-color:#b35a78;color:#fff}.lab-feedback,.quiz-feedback{background:#351d2a;border-color:#da7798}.lab-errors dl>div{background:#222126}.lab-errors dd>strong,.lab-example li>strong{color:#edb5c9}
.lesson-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.lesson-toolbar>div{display:flex;flex-wrap:wrap;gap:6px}.lesson-toolbar button{min-height:44px;background:#212126;font-size:12px;border-radius:12px;padding:10px}.week-plan li,.treatment-matrix dl>div{grid-template-columns:1fr;gap:8px}.knowledge-check{padding:22px 16px}.resource-actions{display:flex;align-items:stretch;flex-direction:column;gap:12px}.bonus-script>section{grid-template-columns:22px minmax(0,1fr);gap:13px}.bonus-script h3{font-size:18px}.audio-actions{display:flex;flex-wrap:wrap;gap:8px}.audio-actions button{font-size:12px;padding:12px}.mechanism-diagram ol{grid-template-columns:1fr}.mechanism-diagram li+li{border-left:0;padding-left:0}.day-links{display:flex;flex-wrap:wrap;gap:12px}.day-links a{font-size:13px}.workbook-head,.workbook-body,.consult-sheet{padding:22px 18px}.workbook-fields textarea,.consult-sheet textarea{background:#121215;color:#f2f2f6;border-color:#5b4d57}.complete-row{font-size:14px}.complete-row input{accent-color:#ee3446}.footer-note{font-size:12px;color:#91919e}.note.alert{background:#271d1b;color:#e2c2b8;border-color:#705047}.note.alert p{color:#e2c2b8}
.mobile-mental{margin:30px 0}.mobile-mental>p{font-size:14px;margin-bottom:18px}.mobile-mental details{border-bottom:1px solid #333139}.mobile-mental summary{cursor:pointer;min-height:52px;padding:15px 0;font-size:14px}.mobile-mental summary>span{color:#ff9db2;margin-right:12px}.mobile-mental details>p{padding:0 0 18px;font-size:14px}.mobile-mental>.text-link{margin-top:12px}
.search-dialog{width:min(94vw,480px);background:#17171c;color:#f3f3f7;border:1px solid #44414b;border-radius:24px;padding:25px 20px;max-height:85dvh}.search-dialog h2{font-size:23px}.search-dialog input{font-size:16px;background:#101013;color:#f5f5f8;border-color:#65515e}.search-results>a:hover{background:#30212c}.search-results strong{font-size:15px}.search-results>a>span{color:#eaa2ba}.search-dialog::backdrop{background:#000b}.search-dialog[open]{animation:sheet-in 240ms cubic-bezier(.23,1,.32,1)}
.toast{position:fixed;left:50%;right:auto;transform:translate(-50%,12px);bottom:calc(90px + env(safe-area-inset-bottom));width:calc(100% - 36px);max-width:460px;background:#39212e;color:#ffe1ed;border:1px solid #a15777;border-radius:14px;font-size:13px;box-shadow:0 8px 30px #0006}.toast.show{transform:translate(-50%,0)}
.login-screen{display:flex;flex-direction:column;max-width:520px;width:100%;margin:0 auto;min-height:100dvh;background:#09090b;border-left:1px solid #202026;border-right:1px solid #202026}.login-story{background:none;padding:32px 28px 16px;min-height:0;border:0;position:relative}.login-story:before,.login-story:after{display:none}.login-story-center{margin:48px 0 0}.login-story h1{font-family:var(--sans);font-size:39px;line-height:1.1;letter-spacing:-.06em;color:#f4f4f7;max-width:12ch;margin:15px 0 20px}.login-story-center p{font-size:14px;line-height:1.7;color:#b0a6b1;max-width:34ch}.login-story .section-kicker{color:#f07894;font-size:10px;letter-spacing:.1em}.story-footer{display:none}.login-form-side{background:none;padding:10px 28px 28px;min-height:0}.login-form{background:none;border:0;box-shadow:none;backdrop-filter:none;padding:20px 0 0;margin:0 auto}.login-form h2{font-size:26px;letter-spacing:-.035em;margin:10px 0 12px}.login-form .section-kicker{color:#9d8c9a;font-size:10px}.login-form>p{font-size:14px}.login-form label{font-size:13px;margin-top:22px;color:#d5cbd4}.login-form input{border:1px solid #48404b;border-radius:14px;background:#1a171d;color:#f3edf4;min-height:56px;padding:14px 16px;font-size:16px}.login-form input::placeholder{color:#978a99}.login-form .primary-action{margin-top:18px;min-height:54px}.login-disclosure{font-size:11px!important;color:#a199a5!important;line-height:1.65!important}.login-bottom{font-size:11px!important;border-color:#302832;color:#8f8594;padding-top:16px}
.screen-enter{animation:screen-fade 190ms ease-out}.is-home.screen-enter .today-card,.is-home.screen-enter .mobile-topic,.is-home.screen-enter .connection-row{animation:card-arrive 300ms cubic-bezier(.23,1,.32,1) both}.is-home.screen-enter .mobile-topic:first-child{animation-delay:40ms}.is-home.screen-enter .mobile-topic:nth-child(2){animation-delay:80ms}.is-home.screen-enter .connection-row{animation-delay:110ms}
@keyframes screen-fade{from{opacity:.45}to{opacity:1}}@keyframes card-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes ring-reveal{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes sheet-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes breathe{0%,100%{transform:scale(.8);opacity:.35}50%{transform:scale(1.35);opacity:.85}}
@media(min-width:700px){.app-shell,.login-screen{box-shadow:0 0 100px #0008}.sidebar.open{box-shadow:20px 0 60px #0008}}
@media(max-width:370px){.topbar{padding-left:18px;padding-right:18px}.topbar+main{padding-left:18px;padding-right:18px}.mobile-welcome h1{font-size:32px}.today-card{padding:18px}.today-label{font-size:9px}.today-phase{font-size:9px}.today-content{grid-template-columns:minmax(0,1fr) 70px}.mobile-progress-ring{width:70px;height:70px}.today-content h2{font-size:21px}.mobile-topic{padding:17px 13px}.mobile-topic h3{font-size:19px}.mobile-topic p{font-size:11px}.mobile-topic-grid{gap:10px}.course-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.reading-panel{padding:23px 16px}.calm-graphic{display:none}.mobile-nav>a,.mobile-nav>button{font-size:9px}.today-footnote{font-size:9px!important}.section-row h2{font-size:18px}.login-story h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.screen-enter{opacity:1}}
@media print{html,body,.app-shell,.workspace,.reading-panel,.daily-action,.protocol,.takeaway,.lab-explainer,.lab-transfer,.bonus-script,.note{background:#fff!important;color:#111!important}.app-shell{max-width:none;border:0}.topbar+main{padding:0!important}h1,h2,h3,h4,p,li,strong,span,dt,dd,a{color:#111!important}.sidebar,.mobile-nav,.topbar,.lesson-toolbar,.complete-row,.day-links,.practice-timer,.resource-actions{display:none!important}.mobile-topic-header>.text-link,.topic-header-icon{display:none}.source-links a{color:#111!important}.lab-point.is-active text{fill:#111}}
/* Accessible, full-width controls for the stage readings. */
.session-player{padding:20px 0;border-bottom:1px solid var(--line,#333);margin-bottom:24px}
.session-player label{display:block;margin:12px 0 8px;font-size:14px}
.session-player select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:10px 12px;background:#19191d;color:#f8f8fa;border:1px solid #48484e;border-radius:12px;font:inherit;font-size:14px}
.session-player .audio-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.mobile-mental>.secondary-action{margin-top:12px}
.is-locked{opacity:.58}
.route-item.is-locked .route-state{color:#c4c4ce}
.locked-lesson{text-align:center;padding:32px 24px}
.locked-symbol{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid #45454b;border-radius:20px;color:#ff5264;margin-bottom:16px}
.locked-symbol .ui-icon{width:28px;height:28px}
.locked-lesson p{margin:16px 0 24px;color:#bdbdc7;line-height:1.7}
.locked-lesson .primary-action{justify-content:center}
