/* Bundled home fonts */
/* End bundled fonts */
/* Reference home, deliberately scoped away from lessons, admin and billing. */
.student-dark-app:has(.ref-sidebar) { grid-template-columns:256px minmax(0,1fr) !important; }
.student-dark-app .ref-sidebar { box-sizing:border-box; width:256px !important; padding:26px 16px 22px !important; background:linear-gradient(130deg,#0c1720,#0a121b) !important; border-right:1px solid #1b2937 !important; border-radius:0; min-height:100vh; display:flex; flex-direction:column; }
.ref-icon { width:24px; height:24px; flex:none; vertical-align:middle; }
.student-dark-app .ref-brand { display:block; margin:0 14px 30px; color:#f4f6f9 !important; text-decoration:none; }
.ref-brand-line { display:flex; align-items:center; gap:10px; white-space:nowrap; font-size:29px; font-weight:850; letter-spacing:-1.2px; line-height:1.3; }
.ref-brand-line .ref-icon { width:42px; height:37px; color:#ffd42a; fill:#ffd42a; stroke:#0d1720; stroke-width:1; }
.ref-brand-line b { color:#ffd42a; }
.ref-brand small { display:block; margin-top:2px; white-space:nowrap; color:#a9b5c8; font-size:9.6px; font-weight:650; letter-spacing:.05px; }
.ref-nav { display:flex; flex-direction:column; gap:7px; }
.student-dark-app .ref-nav-link { border:0; border-radius:12px; min-height:55px; width:100%; display:flex; align-items:center; gap:22px; padding:12px 19px; font:inherit; font-size:19px; color:#b3bed0; background:transparent; text-align:left; cursor:pointer; }
.ref-nav-link .ref-icon { width:26px; height:26px; }
.student-dark-app .ref-nav-link.is-active { background:rgba(255,210,35,.14); color:#fff; }
.ref-nav-link.is-active .ref-icon { color:#ffda27; fill:rgba(255,214,40,.2); }
.ref-nav-link:hover,.ref-extra:hover { background:rgba(255,255,255,.05) !important; }
.ref-extra { display:flex; align-items:center; gap:12px; border:0; background:none; color:#8f9bb0; font-size:13px; padding:16px 20px; cursor:pointer; }
.ref-sidebar-bottom { margin-top:auto; padding:28px 14px 0; }
.ref-subject { display:flex; align-items:center; gap:18px; color:#8492a6; font-size:14px; }
.ref-subject .ref-icon { width:34px; height:34px; }
.ref-subject small { display:block; margin-top:3px; color:#728095; font-size:12px; }
.ref-sidebar-note { border-top:1px solid #334153; margin-top:23px; padding:22px 0 0; color:#718093; font-size:20px !important; }
.ref-hand { font-family:"Easy Hand","Segoe Print",cursive; font-style:italic; font-weight:400; line-height:1.25; transform:rotate(-9deg); }
.ref-hand:after { content:''; display:block; width:85px; height:2px; background:#d7b62d; border-radius:50%; margin:10px auto 0; transform:rotate(-6deg); }
.ref-help { color:#a0adbd; border:0; padding:18px 0 0; font:inherit; font-size:12px; background:none; cursor:pointer; }
.student-dark-app.tab-home .student-main-area { min-width:0; margin:0 !important; padding:19px 20px 26px 28px !important; background:radial-gradient(ellipse at 100% 0%,#111e2c 0,transparent 54%),#080f18 !important; }
.student-dark-app .ref-home { width:100%; max-width:1600px; margin:0 auto; color:#f6f7fa; font-family:"Easy Home",Arial,sans-serif; }
.ref-home *, .ref-sidebar * { box-sizing:border-box; }
.ref-home button { font-family:inherit; cursor:pointer; }
.ref-topbar { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:65px; margin-bottom:19px; }
.ref-welcome { min-width:0; }
.student-dark-app .ref-welcome h1 { font-size:30px; font-weight:780; line-height:1.18; letter-spacing:-.8px; color:#f5f6f9; margin:0 0 4px 4px; }
.ref-welcome h1 em { font-style:normal; color:#ffda32; }
.student-dark-app .ref-welcome p { color:#8390a5; margin:0 0 0 5px; font-size:17px; }
.ref-profile { display:flex; align-items:center; gap:15px; border:0; background:none; padding:0 9px; color:#e7eaf0; flex:none; text-align:left; }
.ref-avatar { width:52px; height:52px; border:1px solid #2a394b; background:linear-gradient(135deg,#1d2a3a,#111c29); border-radius:50%; display:grid; place-items:center; color:#b8c5da; }
.ref-avatar .ref-icon { width:31px; height:31px; fill:currentColor; stroke-width:0; }
.ref-profile strong { display:block; font-size:17px; max-width:130px; overflow:hidden; text-overflow:ellipsis; }
.ref-profile small { display:block; margin-top:3px; color:#8e9bb0; font-size:13px; }
.ref-profile-chevron { color:#a7b4c7; font-size:24px; margin-left:30px; }
.ref-stage { position:relative; isolation:isolate; min-height:396px; margin-bottom:17px; }
.ref-focus { position:relative; width:72.1%; min-height:396px; padding:33px 42px 26px 47px; border:1px solid #334252; border-radius:20px; background:linear-gradient(118deg,#18232e 0,#192530 63%,#24303e 100%); box-shadow:inset 0 0 0 1px #ffffff03,0 12px 30px #0002; overflow:hidden; z-index:1; }
.ref-focus-content { position:relative; z-index:2; }
.ref-eyebrow { display:flex; align-items:center; gap:18px; color:#a7b3c7; font-size:16px; font-weight:650; letter-spacing:.4px; margin:0 0 17px; }
.ref-eyebrow .ref-icon { color:#f7cf28; width:34px; height:34px; stroke-width:2.7; }
.student-dark-app .ref-focus h2 { font-size:46px; letter-spacing:-1.2px; line-height:1.08; font-weight:780; margin:0 0 10px; max-width:535px; color:#fafafa; overflow-wrap:anywhere; }
.student-dark-app .ref-reason { font-size:21px; line-height:1.4; color:#9ca9be; max-width:530px; margin:0 0 20px; }
.ref-duration { display:inline-flex; align-items:center; gap:10px; min-height:41px; padding:7px 15px; border:1px solid #334052; border-radius:24px; background:#1c2937; font-size:17px; color:#d4deea; }
.ref-duration .ref-icon { width:21px; height:21px; }
.ref-actions { margin-top:19px; display:flex; gap:27px; align-items:center; flex-wrap:wrap; }
.student-dark-app .ref-primary { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:57px; padding:13px 31px; background:linear-gradient(110deg,#ffcf22,#ffdc37); border:1px solid #f5c925; border-radius:16px; box-shadow:0 5px 25px #f7cc171a; color:#11140e; font-size:20px; line-height:1.3; font-weight:800; transition:transform .18s,box-shadow .18s; }
.ref-primary:hover { transform:translateY(-2px); box-shadow:0 8px 28px #f7cc1733; }
.student-dark-app .ref-secondary { display:flex; gap:10px; align-items:center; background:none; border:0; padding:9px 0; color:#d5dce7; font-size:17px; }
.ref-secondary:hover { color:#ffda32; }
.ref-secondary .ref-icon { width:20px; }
.ref-paper { position:absolute; z-index:0; top:33px; right:42px; width:184px; height:222px; background:linear-gradient(145deg,#737e8d,#434f5f); opacity:.48; color:#172332; padding:20px 18px; border-radius:6px; transform:rotate(-11deg); pointer-events:none; }
.ref-paper strong { display:block; font-size:29px; line-height:1; }
.ref-paper b { font-size:12px; }
.ref-paper-lines { display:grid; gap:8px; margin-top:14px; font-size:15px; color:#263544; }
.ref-paper i { float:right; font-size:50px; }
.ref-card-note { position:absolute; z-index:1; right:102px; bottom:104px; color:#b6c2d1; font-size:19px; pointer-events:none; }
.ref-robot { position:absolute; z-index:2; object-fit:contain; width:28.5%; height:430px; top:-33px; right:3.2%; pointer-events:none; filter:drop-shadow(0 12px 12px #0005); }
.ref-robot-note { position:absolute; right:1.2%; bottom:64px; z-index:3; color:#a5b0c2; font-size:24px; pointer-events:none; }
.ref-bottom { display:grid; grid-template-columns:1fr 1.04fr; gap:16px; }
.ref-panel { min-width:0; min-height:234px; padding:24px 27px 16px; border:1px solid #283a4a; border-radius:19px; background:linear-gradient(125deg,#101c27,#14212c); box-shadow:inset 0 0 0 1px #ffffff02; }
.ref-panel-title { display:flex; align-items:center; gap:20px; width:100%; color:#f1f3f8; border:0; background:none; padding:0; text-align:left; font-size:20px; font-weight:750; }
.ref-panel-title>.ref-icon:first-child { color:#ffda2e; width:31px; height:31px; stroke-width:2.4; }
.ref-panel-title>.ref-icon:last-child { color:#94a3b8; margin-left:auto; width:17px; height:17px; }
.ref-progress-body { display:flex; align-items:center; gap:26px; margin-top:12px; }
.ref-ring { position:relative; width:145px; height:145px; flex:none; }
.ref-ring svg { width:100%; height:100%; transform:rotate(-90deg); }
.ref-ring circle { stroke:#243548; stroke-width:13; fill:none; }
.ref-ring .ref-ring-value { stroke:#ffd02d; stroke-linecap:round; }
.ref-ring strong { position:absolute; inset:0; display:grid; place-items:center; font-size:35px; }
.ref-progress-info { min-width:0; }
.ref-progress-info>b { display:block; font-size:15px; color:#d6dfeb; font-weight:600; }
.ref-days { display:flex; gap:7px; margin:13px 0 18px; }
.ref-days span { width:15px; height:15px; border-radius:50%; background:#243243; border:1px solid #3a4b5f; }
.ref-days .is-active { background:#ffd52c; border-color:#ffd52c; box-shadow:0 0 9px #ffcd2214; }
.student-dark-app .ref-progress-info p { color:#91a0b5; font-size:14px; line-height:1.5; margin:0; }
.ref-progress-info p strong { color:#a6b4c8; font-weight:400; }
.ref-progress-caption { display:block; margin:2px 0 0; color:#8594a8; font-size:10px; }
.ref-tip-body { display:flex; gap:20px; margin-top:18px; }
.student-dark-app .ref-tip-copy { border:1px solid #344457; border-radius:19px; padding:20px 24px; background:linear-gradient(110deg,#1e2d3d,#1a2837); color:#e0e7f0; font-size:17px; line-height:1.6; margin:0; flex:1; min-height:102px; }
.ref-tip-art { width:97px; flex:none; display:flex; flex-direction:column; align-items:center; gap:24px; }
.ref-tip-art>.ref-icon { width:50px; height:60px; padding:8px; border:2px solid #394b60; color:#3b4d62; transform:rotate(-12deg); margin-top:-20px; }
.ref-tip-art .ref-hand { color:#a8b8cd; font-size:15px; white-space:nowrap; }
.ref-tip-dots { display:flex; gap:1px; margin-top:5px; }
.ref-tip-dots button { width:24px; height:24px; border:0; background:none; padding:7px; }
.ref-tip-dots button:after { content:''; width:10px; height:10px; display:block; border-radius:50%; background:#394a5f; }
.ref-tip-dots button[aria-pressed=true]:after { background:#ffd429; }
.ref-tour-restart { display:flex; align-items:center; gap:8px; border:0; background:none; color:#8f9fb3; font-size:12px; padding:13px 4px 0; }
.ref-tour-restart .ref-icon { width:16px; height:16px; }
.ref-home button:focus-visible,.ref-sidebar button:focus-visible,.ref-sidebar a:focus-visible { outline:3px solid #ffdc42; outline-offset:5px; }
@media(min-width:1600px) { .ref-focus h2 { max-width:650px !important; } .ref-robot { right:7%; width:25%; } }
@media(max-width:1250px) and (min-width:861px) {
 .student-dark-app:has(.ref-sidebar) { grid-template-columns:218px minmax(0,1fr) !important; }
 .student-dark-app .ref-sidebar { width:218px !important; padding-inline:12px !important; }
 .ref-brand-line { font-size:24px; } .ref-brand-line .ref-icon { width:33px; } .ref-brand small { font-size:8px; }
 .ref-nav-link { gap:14px !important; font-size:17px !important; }
 .student-dark-app.tab-home .student-main-area { padding-left:22px !important; }
 .ref-welcome h1 { font-size:24px !important; } .ref-welcome p { font-size:14px !important; }
 .ref-profile-chevron { margin-left:0; }
 .ref-focus { padding:28px; width:77%; } .ref-focus h2 { font-size:39px !important; max-width:440px !important; }
 .ref-paper,.ref-card-note { opacity:.15; } .ref-reason { font-size:18px !important; }
 .ref-robot { width:28%; right:-1%; } .ref-robot-note { display:none; }
 .ref-actions { gap:12px; } .ref-primary { font-size:17px !important; padding-inline:20px !important; }
 .ref-secondary { font-size:14px !important; }
 .ref-panel { padding:20px 18px; } .ref-panel-title { font-size:17px; gap:12px; }
 .ref-progress-body { gap:14px; } .ref-ring { width:115px; height:115px; } .ref-ring strong { font-size:29px; }
 .ref-tip-art { display:none; } .ref-tip-copy { font-size:15px !important; padding:16px !important; }
}
@media(max-width:860px) {
 .student-dark-app:has(.ref-sidebar) { display:block !important; }
 .student-dark-app .ref-sidebar { display:none !important; }
 .student-dark-app.tab-home .student-main-area { padding:18px 18px 100px !important; }
 .ref-topbar { gap:10px; margin-bottom:22px; }
 .student-dark-app .ref-welcome h1 { font-size:25px; margin-left:0; }
 .student-dark-app .ref-welcome p { font-size:14px; margin:7px 0 0; line-height:1.4; }
 .ref-profile { padding:0; } .ref-profile>span:not(:first-child) { display:none; }
 .ref-avatar { width:44px; height:44px; }
 .ref-stage { min-height:0; padding-top:125px; }
 .ref-focus { width:100%; min-height:370px; padding:28px; z-index:2; }
 .ref-robot { top:-20px; right:4%; width:175px; height:248px; z-index:1; object-position:top; }
 .ref-robot-note { top:35px; left:24px; bottom:auto; right:auto; font-size:23px; }
 .ref-focus h2 { font-size:39px !important; max-width:85% !important; }
 .ref-reason { font-size:18px !important; max-width:90% !important; }
 .ref-paper { right:16px; top:45px; opacity:.13; } .ref-card-note { display:none; }
 .ref-actions { gap:10px 24px; }
 .ref-primary { font-size:18px !important; }
 .ref-bottom { grid-template-columns:1fr 1fr; }
 .ref-panel { padding:20px; } .ref-panel-title { font-size:16px; gap:10px; }
 .ref-progress-body { gap:12px; } .ref-ring { width:100px; height:100px; } .ref-ring strong { font-size:27px; }
 .ref-progress-info>b { font-size:12px; } .ref-days { gap:4px; } .ref-days span { width:10px; height:10px; }
 .ref-progress-info p { font-size:12px !important; } .ref-progress-caption { margin-top:14px; }
 .ref-tip-art { display:none; } .ref-tip-copy { font-size:15px !important; padding:16px !important; }
 .student-dark-app.tab-home .footer-nav { display:block !important; z-index:40; }
}
@media(max-width:560px) {
 .student-dark-app.tab-home .student-main-area { padding:16px 14px 95px !important; }
 .student-dark-app .ref-welcome h1 { font-size:23px; max-width:280px; letter-spacing:-.6px; }
 .ref-welcome p { max-width:300px; } .ref-topbar { align-items:flex-start; }
 .ref-focus { padding:24px 21px; border-radius:20px; }
 .ref-eyebrow { font-size:12px; gap:12px; margin-bottom:18px; } .ref-eyebrow .ref-icon { width:29px; height:29px; }
 .student-dark-app .ref-focus h2 { font-size:33px !important; max-width:100% !important; letter-spacing:-.8px; }
 .student-dark-app .ref-reason { font-size:16px !important; max-width:100% !important; margin-bottom:18px; }
 .ref-duration { font-size:14px; min-height:36px; }
 .ref-actions { margin-top:20px; gap:12px; } .ref-primary { width:100%; min-height:54px !important; font-size:16px !important; padding-inline:12px !important; gap:12px !important; }
 .ref-secondary { font-size:15px !important; justify-content:center; width:100%; }
 .ref-bottom { grid-template-columns:1fr; gap:14px; }
 .ref-panel { min-height:218px; padding:20px 22px 16px; }
 .ref-panel-title { font-size:19px; gap:16px; }
 .ref-progress-body { gap:22px; } .ref-ring { width:124px; height:124px; } .ref-ring strong { font-size:30px; }
 .ref-progress-info>b { font-size:13px; } .ref-days span { width:12px; height:12px; }
 .ref-progress-caption { margin-top:4px; } .ref-tip-copy { min-height:98px !important; font-size:16px !important; }
 .ref-tour-restart { margin:6px auto; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .ref-home *, .ref-tour * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
/* Tour: pointer animation moves along a real path to the visible control. */
.ref-tour { position:fixed; inset:0; z-index:10000; font-family:"Easy Home",Arial,sans-serif; color:#f7f9fc; }
.ref-tour *, .ref-tour *:before, .ref-tour *:after { box-sizing:border-box; }
.ref-tour-blocker { position:absolute; inset:0; }
.ref-tour-spot { position:fixed; border:2px solid #ffda32; border-radius:16px; box-shadow:0 0 0 9999px #020711ba,0 0 22px #ffda3240; pointer-events:none; }
.ref-tour-arrow { position:fixed; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.ref-tour-curve { stroke-dasharray:8 5; animation:ref-guide-flow 1.1s linear infinite; }
@keyframes ref-guide-flow { to { stroke-dashoffset:-26; } }
.ref-tour-card { position:fixed; padding:22px; max-height:calc(100dvh - 28px); overflow:auto; border:1px solid #6b6037; border-radius:20px; background:linear-gradient(140deg,#233243,#111e2d); box-shadow:0 16px 65px #0009; outline:none; }
.ref-tour-top { display:flex; align-items:center; gap:8px; justify-content:space-between; font-size:9px; font-weight:750; letter-spacing:.5px; color:#ffda32; }
.ref-tour-top button { background:none; color:#c3d1e3; border:0; cursor:pointer; width:28px; height:28px; font-size:26px; padding:0; }
.ref-tour-card h2 { color:#fff; font-size:23px; line-height:1.2; margin:12px 0; }
.ref-tour-card p { color:#c5d0df; font-size:15px; line-height:1.65; margin:0 0 18px; }
.ref-tour-track { height:3px; background:#36465b; border-radius:3px; margin-bottom:18px; }
.ref-tour-track span { display:block; height:100%; background:#ffda32; border-radius:3px; }
.ref-tour-buttons { display:flex; align-items:center; gap:10px; }
.ref-tour-buttons button { font:inherit; font-size:13px; border:0; cursor:pointer; border-radius:10px; padding:11px 12px; min-height:40px; }
.ref-tour-skip { background:none; color:#aebdd0; margin-right:auto; padding-left:0 !important; }
.ref-tour-back { background:#2b3c50; color:#ecf2f9; }
.ref-tour-next { background:#ffda32; color:#131a21; font-weight:750 !important; }
.ref-tour button:focus-visible { outline:2px solid #ffdf50; outline-offset:4px; }
@media(max-height:480px) { .ref-tour-card { padding:13px 18px; } .ref-tour-card p { font-size:13px; line-height:1.4; margin-bottom:10px; } .ref-tour-card h2 { font-size:18px; margin:5px 0; } .ref-tour-track { margin-bottom:10px; } }
/* Reuse the existing transparent brand mascot, with its native empty margin. */
.ref-robot-wrap { position:absolute; z-index:2; top:-33px; right:3.2%; width:28.5%; height:430px; overflow:hidden; pointer-events:none; }
.ref-robot-wrap .ref-robot { height:100%; width:auto; max-width:none; top:0; left:auto; right:0; object-fit:contain; }
@media(min-width:1600px) { .ref-robot-wrap { right:7%; width:25%; } }
@media(max-width:1250px) and (min-width:861px) { .ref-robot-wrap { width:28%; right:-1%; } }
@media(max-width:860px) { .ref-robot-wrap { top:-20px; right:4%; width:175px; height:248px; z-index:1; } }
/* Override the legacy global cream text theme only inside the new home. */
.student-dark-app .ref-home :is(h1,h2,p,span,small,strong,b),
.student-dark-app .ref-sidebar :is(p,span,small,strong,b) { color:inherit !important; }
.student-dark-app .ref-home .ref-welcome h1 { color:#f5f6f9 !important; }
.student-dark-app .ref-home .ref-welcome p { color:#8390a5 !important; }
.student-dark-app .ref-home .ref-profile small { color:#8e9bb0 !important; }
.student-dark-app .ref-home .ref-profile-chevron { color:#a7b4c7 !important; }
.student-dark-app .ref-home .ref-focus h2 { color:#fafafa !important; }
.student-dark-app .ref-home .ref-reason { color:#9ca9be !important; }
.student-dark-app .ref-home .ref-duration { color:#d4deea !important; }
.student-dark-app .ref-home .ref-card-note { color:#b6c2d1 !important; }
.student-dark-app .ref-home .ref-robot-note { color:#a5b0c2 !important; }
.student-dark-app .ref-home .ref-progress-info p { color:#91a0b5 !important; }
.student-dark-app .ref-home .ref-progress-caption { color:#8594a8 !important; }
.student-dark-app .ref-home .ref-tip-copy { color:#e0e7f0 !important; }
.student-dark-app .ref-home .ref-tip-art .ref-hand { color:#a8b8cd !important; }
.student-dark-app .ref-sidebar .ref-brand-line b { color:#ffd42a !important; }
.student-dark-app .ref-sidebar .ref-brand small { color:#a9b5c8 !important; }
.student-dark-app .ref-sidebar .ref-subject small { color:#728095 !important; }

.student-dark-app .ref-sidebar { font-family:"Easy Home",Arial,sans-serif; }
.ref-hand { font-size:24px; font-style:normal; }
.ref-card-note { font-size:24px; }
.ref-tip-art .ref-hand { font-size:20px; }
.ref-sidebar-note { font-size:24px !important; }
.ref-tour-card p { color:#c5d0df !important; }
.ref-tour-top span { color:#ffda32 !important; }
@media(min-width:1251px) {
 .student-dark-app .ref-welcome h1 { font-size:32px; }
 .student-dark-app .ref-welcome p { font-size:18px; }
 .student-dark-app .ref-focus h2 { font-size:50px; }
 .student-dark-app .ref-reason { font-size:22px; }
 .student-dark-app .ref-primary { min-width:364px; }
 .ref-panel-title { font-size:22px; }
 .student-dark-app .ref-tip-copy { font-size:18px; }
}

/* Learning flow: a single next step, also readable on narrow screens. */
.flow-next-step{margin:20px 0;padding:clamp(20px,4vw,32px);border:1px solid #e8ca55;border-radius:22px;background:#242218;color:#fff;scroll-margin-top:24px}
.flow-next-step>span{font-size:11px;letter-spacing:.08em;color:#ffe276}
.flow-next-step h2{font-size:clamp(22px,4vw,30px);line-height:1.2;margin:12px 0;color:#fff}
.flow-next-step p{line-height:1.65;color:#e5e5e5;white-space:pre-wrap;overflow-wrap:anywhere}
.flow-next-step details{padding:14px 0}.flow-next-step summary{cursor:pointer;font-weight:600}
.flow-next-step small{display:block;margin-top:16px;color:#ccc;line-height:1.5}
.flow-next-step .row{gap:12px}.flow-next-step button{white-space:normal;min-height:48px}
#mock-save-status{font-size:14px;line-height:1.5;color:#ddd}
@media(max-width:600px){.flow-next-step .row{display:flex;flex-direction:column;align-items:stretch}.flow-next-step .row button{width:100%}}

.flow-return{margin-top:24px;padding-top:20px;border-top:1px solid #615b36;color:#f2f2f2}
.flow-return h3{margin:0 0 8px;font-size:20px;color:#fff}.flow-return p{font-size:15px;line-height:1.6}
.flow-return details{padding-top:8px}.flow-return summary{cursor:pointer;color:#ffe276}
.flow-return label{display:block;margin:16px 0 8px}.flow-return input{display:block;max-width:100%;width:280px;margin-bottom:12px;color-scheme:dark}

/* Retention next step: one action and mobile-safe wrapping. */
.flow-post-error { min-width:0; overflow-wrap:anywhere; }
.flow-post-error .flow-post-error-action { border-left:3px solid #f6c400; padding-left:14px; }
.flow-post-error .flow-post-error-error { color:#ffd7d7; }
.flow-post-error .btn { white-space:normal; max-width:100%; min-height:48px; }
@media(max-width:600px) { .flow-post-error .btn { width:100%; } .flow-post-error h2 { font-size:clamp(24px,7vw,34px); } }

/* Personal manager: normal document flow, never overlays lessons or navigation. */
.student-dark-app .personal-manager-banner{position:static!important;inset:auto!important;z-index:auto;box-sizing:border-box;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;max-width:1180px;margin:26px auto 20px;padding:18px 20px;border:1px solid #add8f0;border-radius:18px;background:linear-gradient(110deg,#e6f5ff,#d4edff);color:#123c58;overflow-wrap:anywhere}
.student-dark-app .personal-manager-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#229ed9;color:#fff!important}
.personal-manager-icon svg{display:block;width:24px;height:24px}
.personal-manager-copy{min-width:0}.student-dark-app .personal-manager-copy strong{color:#123c58!important;font-size:17px;line-height:1.35}.student-dark-app .personal-manager-copy p{margin:5px 0 0;color:#30566d!important;font-size:14px;line-height:1.55}
.student-dark-app .personal-manager-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;max-width:100%;padding:11px 16px;border:1px solid #167bb0;border-radius:12px;background:#0874ac;color:#fff!important;font-size:14px;font-weight:700;text-decoration:none;white-space:normal;text-align:center;line-height:1.4}
.personal-manager-link:focus-visible{outline:3px solid #ffe276;outline-offset:4px}.personal-manager-link:hover{filter:brightness(1.12)}
.student-dark-app.tab-mentor .personal-manager-banner{width:calc(100% - 28px);margin-inline:14px}
@media(max-width:640px){.student-dark-app .personal-manager-banner{grid-template-columns:36px minmax(0,1fr);gap:10px 12px;padding:16px;border-radius:16px}.student-dark-app .personal-manager-icon{width:36px;height:36px;border-radius:12px}.student-dark-app .personal-manager-copy strong{font-size:16px}.student-dark-app .personal-manager-link{grid-column:1/-1;min-height:48px;width:100%;margin-top:3px}}
