:root{
  --sales:var(--category-blue); --psych:var(--category-violet); --comm:var(--category-blue); --money:var(--category-violet); --mkt:var(--category-violet); --biz:var(--category-blue);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{color-scheme:light;} html,body{margin:0;padding:0;height:100%;}
body{background:#E7E5E0;color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;display:flex;justify-content:center;min-height:100vh;}
h1,h2,h3{font-family:var(--font-ui);margin:0;}
button{-webkit-appearance:none;appearance:none;font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

.app{position:relative;width:100%;max-width:430px;min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;}
@media (min-width:431px){ body{padding:28px 0;} .app{min-height:860px;border-radius:40px;border:9px solid #111;box-shadow:0 24px 60px rgba(0,0,0,.22);} }

 
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;background:var(--surface);border-bottom:1px solid var(--line);padding:calc(14px + env(safe-area-inset-top,0px)) 16px 14px;}
.brand-mark{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:700;font-size:15px;}
.brand-mark svg{width:20px;height:20px;}
.tb-spacer{flex:1;}
.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);flex-shrink:0;transition:transform .1s ease;}
.icon-btn:active{transform:scale(.92);background:#F2F1EE;}
.icon-btn svg{width:16px;height:16px;}
.avatar-mini{width:36px;height:36px;border-radius:50%;background:var(--sales);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;transition:transform .1s ease;}
.avatar-mini:active{transform:scale(.92);}

main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px calc(96px + env(safe-area-inset-bottom,0px));}
.app-screen{display:none;} .app-screen.active{display:block;}

.section-label{font-size:12px;color:var(--ink-soft);font-weight:500;margin:22px 0 10px;}
.section-label:first-child{margin-top:0;}
h1.page{font-size:20px;margin-bottom:4px;}
.sub{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0 0 18px;}

 
.tag{display:inline-block;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;margin-right:8px;}
.tag.sales{background:color-mix(in srgb,var(--sales) 14%,white);color:var(--sales);}
.time-note{font-size:11.5px;color:var(--ink-soft);}
.lesson-card{background:color-mix(in srgb,var(--sales) 8%,var(--bg));border:1px solid color-mix(in srgb,var(--sales) 25%,white);border-radius:var(--radius-lg);padding:18px;margin:0 0 14px;}
.lesson-card .title{font-family:var(--font-ui);font-size:16.5px;font-weight:700;margin:10px 0 6px;}
.lesson-card .teaser{font-size:13px;color:var(--ink-soft);line-height:1.55;margin:0 0 16px;}
.btn{border:none;background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;padding:11px 20px;border-radius:var(--radius-sm);transition:transform .1s ease;}
.btn:active{transform:scale(.96);}
.btn:disabled{background:var(--line);color:var(--ink-soft);}
.thought{font-family:var(--font-ui);font-size:15px;line-height:1.5;font-style:italic;border-left:3px solid var(--sales);padding:2px 0 2px 14px;margin:0 0 6px;color:#3a372e;}
.path-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:8px;font-size:13px;}
.bar{height:5px;border-radius:3px;background:var(--line);flex:1;overflow:hidden;}
.bar span{display:block;height:100%;background:var(--ink);}

 
.search-field{border:1px solid var(--line);border-radius:999px;padding:11px 16px;font-size:13px;color:var(--ink-soft);background:var(--surface);margin-bottom:18px;}
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;transition:transform .1s ease;}
.cat:active{transform:scale(.97);}
.cat .dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-bottom:9px;}
.cat .name{font-family:var(--font-ui);font-size:14px;font-weight:700;}
.cat .count{font-size:11px;color:var(--ink-soft);margin-top:2px;}
.path-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:8px;transition:transform .1s ease;}
.path-item:active{transform:scale(.98);}
.path-item .left{display:flex;align-items:center;gap:12px;}
.path-item .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.path-item .name{font-size:13.5px;font-weight:700;}
.path-item .meta{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.path-item .arrow{color:var(--ink-soft);}

#discoverList.hidden,#discoverPath.hidden,#discoverBrowse.hidden,#discoverResults.hidden{display:none;}
input.search-field{display:block;width:100%;font-family:inherit;color:var(--ink);outline:none;-webkit-appearance:none;appearance:none;}
input.search-field::placeholder{color:var(--ink-soft);opacity:1;}
input.search-field:focus{border-color:var(--ink);}
.back-link{font-size:13px;color:var(--ink-soft);margin-bottom:16px;}
.path-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;margin-bottom:20px;}
.path-head h1{margin-bottom:4px;}
.path-meta{font-size:12px;color:var(--ink-soft);margin-bottom:10px;}
.path-desc{font-size:13px;color:var(--ink-soft);line-height:1.6;}
.learn-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 8px;}
.learn-list span{border:1px solid var(--line);background:var(--surface);padding:6px 12px;font-size:11.5px;border-radius:999px;color:var(--ink-soft);}
.mod{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:8px;}
.mod .title{font-family:var(--font-ui);font-size:13.5px;font-weight:700;}
.mod .meta{font-size:11.5px;color:var(--ink-soft);}

.filters{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px;padding-bottom:2px;}
.filters button{flex-shrink:0;border:1px solid var(--line);background:var(--surface);padding:7px 13px;font-size:12px;border-radius:999px;color:var(--ink-soft);}
.filters button.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.insight-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;}
.insight-card .quote{font-family:var(--font-ui);font-size:13.5px;font-style:italic;line-height:1.5;}
.insight-card .quote.is-label{font-style:normal;color:var(--ink-soft);}
.insight-card .meta{font-size:11px;color:var(--ink-soft);margin-top:6px;}
.insight-card .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}

.stat-row{display:flex;gap:8px;margin-bottom:24px;}
.stat{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 10px;}
.stat .n{font-family:var(--font-ui);font-size:20px;font-weight:700;}
.stat .l{font-size:10.5px;color:var(--ink-soft);margin-top:3px;}
.know-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:8px;}
.know-row .name{width:96px;font-size:12.5px;font-weight:600;flex-shrink:0;}
.know-row .pct{font-size:11.5px;color:var(--ink-soft);width:32px;text-align:right;flex-shrink:0;}

.profile-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.avatar{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--sales) 16%,white);color:var(--sales);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:700;font-size:18px;flex-shrink:0;}
.profile-head .since{font-size:11.5px;color:var(--ink-soft);}
.settings-row{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:8px;font-size:13px;}
.settings-row .val{color:var(--ink-soft);font-size:12px;}
.settings-row.action{cursor:pointer;}
.settings-row.action .val{color:var(--mkt);font-weight:600;}

 
.overlay{position:fixed;inset:0;background:var(--bg);display:none;z-index:50;}
.overlay.open{display:flex;}
.device{width:100%;height:100%;display:flex;flex-direction:column;}
.device-top{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 0;}
.device-top .close{width:30px;height:30px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-soft);flex-shrink:0;}
.device-top .progress{display:flex;gap:5px;flex:1;}
.device-top .progress i{flex:1;height:3px;background:var(--line);border-radius:2px;}
.device-top .progress i.done{background:var(--ink);}
.device-top .tag2{font-size:11px;font-weight:700;color:var(--sales);flex-shrink:0;}
.ov-step{display:none;flex:1;flex-direction:column;padding:22px 18px 12px;overflow-y:auto;}
.ov-step.active{display:flex;}
.eyebrow{font-size:11.5px;color:var(--ink-soft);margin-bottom:10px;font-weight:600;}
.ov-step h2{font-family:var(--font-ui);font-weight:700;font-size:19px;line-height:1.3;margin:0 0 14px;}
.ov-thought{font-family:var(--font-ui);font-size:15px;font-style:italic;line-height:1.5;border-left:3px solid var(--sales);padding-left:14px;margin:6px 0 16px;color:#3a372e;}
.ov-body{font-size:13.5px;line-height:1.65;color:#3a372e;margin:0 0 12px;}
.ex-box{border-radius:var(--radius-sm);padding:14px 16px;margin:10px 0;font-size:13px;line-height:1.55;background:#F2F1EE;}
.ex-box.better{background:color-mix(in srgb,var(--success) 10%,white);border:1px solid color-mix(in srgb,var(--success) 30%,white);}
.ex-box .who{font-weight:700;font-size:11px;margin-bottom:3px;color:var(--ink-soft);}
.micro-card{background:var(--ink);color:#EFEDE6;border-radius:var(--radius-sm);padding:18px;margin-top:4px;}
.micro-card .label{font-size:11px;color:#B7B2A3;margin-bottom:6px;font-weight:600;}
.micro-card p{margin:0;font-size:14.5px;line-height:1.6;font-family:var(--font-ui);}
textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:13px;font-family:inherit;font-size:13.5px;resize:none;min-height:88px;}
.streak-note{font-size:12px;color:var(--ink-soft);font-weight:600;margin-top:6px;}
.ghost{background:var(--surface);border:1px solid var(--line);padding:10px 16px;font-size:12.5px;border-radius:var(--radius-sm);color:var(--ink-soft);font-weight:600;}
 
.reflect-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;margin:0 0 14px;}
.reflect-card[hidden]{display:none;}
.reflect-label{font-size:11px;font-weight:700;color:var(--ink-soft);margin-bottom:6px;}
.reflect-prompt{font-family:var(--font-ui);font-size:15px;font-weight:700;line-height:1.4;margin:0 0 12px;}
.reflect-actions{display:flex;gap:10px;margin-top:12px;}

 
.quiz-hint{font-size:12px;color:var(--ink-soft);font-weight:500;margin:0 0 10px;}
.quiz-options{display:flex;flex-direction:column;gap:8px;}
.quiz-opt{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;font-family:inherit;font-size:13.5px;line-height:1.5;color:var(--ink);}
.quiz-opt.locked{cursor:default;}
.quiz-opt.picked{font-weight:700;}
.quiz-opt.correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,white);}
.quiz-opt.incorrect{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,white);}
.quiz-result{display:none;margin-top:14px;font-size:13.5px;font-weight:700;}
.quiz-result.show{display:block;}
.quiz-result.correct{color:var(--success);}
.quiz-result.incorrect{color:var(--danger);}
.quiz-answer{margin-top:6px;color:var(--ink);font-weight:600;}
.quiz-opt.correct::after{content:' ✓';color:var(--success);font-weight:700;}
.quiz-opt.incorrect::after{content:' ✗';color:var(--danger);font-weight:700;}
.summary-list div{padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;color:#3a372e;}
.icon-check{width:32px;height:32px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:15px;}
.device-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);}
.backb{font-size:13px;color:var(--ink-soft);padding:10px 4px;}
.backb:disabled{visibility:hidden;}
.nextb{background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;padding:11px 22px;border-radius:var(--radius-sm);}
.nextb:disabled{background:var(--line);color:var(--ink-soft);}
.hero-mark{width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--sales) 16%,white);color:var(--sales);margin-bottom:20px;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:700;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.chip{border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;font-size:13px;background:var(--surface);}
.chip .cdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;}
.chip.selected{border-color:var(--ink);background:#F2F1EE;font-weight:700;}
.goal-list{display:flex;flex-direction:column;gap:8px;}
.goal-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;}
.goal-row.selected{font-weight:700;border-color:var(--ink);}
.goal-row .mark{width:16px;height:16px;border:1.5px solid var(--line);border-radius:50%;flex-shrink:0;}
.goal-row.selected .mark{border-color:var(--ink);background:var(--ink);}
.time-cards{display:flex;flex-direction:column;gap:8px;}
.time-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;display:flex;align-items:baseline;justify-content:space-between;background:var(--surface);}
.time-card .n{font-family:var(--font-ui);font-size:17px;font-weight:700;}
.time-card .label{font-size:12px;color:var(--ink-soft);}
.time-card.selected{border-color:var(--ink);background:#F2F1EE;}
.plan-list{display:flex;flex-direction:column;margin-top:6px;}
.plan-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:14px;font-family:var(--font-ui);font-weight:600;}
.plan-row .pdot{width:8px;height:8px;border-radius:50%;}
.thanks{font-size:12px;color:var(--ink-soft);margin-top:16px;}

 
.bottom-nav{position:sticky;bottom:0;z-index:5;display:flex;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-soft);font-size:10.5px;font-weight:600;padding:6px 2px;margin:0 2px;border-radius:14px;transition:transform .1s ease,background .12s ease,color .12s ease;}
.nav-item svg{width:20px;height:20px;}
.nav-item:active{transform:scale(.9);}
.nav-item.active{color:var(--comm);background:color-mix(in srgb,var(--comm) 10%,white);}

 
.auth-wrap{padding:40px 26px 32px;display:flex;flex-direction:column;flex:1;}
.auth-logo{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:700;font-size:16px;margin-bottom:56px;}
.auth-logo svg{width:22px;height:22px;}
.auth-title{font-family:var(--font-ui);font-weight:700;font-size:23px;margin-bottom:6px;}
.auth-sub{font-size:13px;color:var(--ink-soft);margin-bottom:28px;line-height:1.5;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink);}
.field input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:13px 14px;font-size:14px;font-family:inherit;color:var(--ink);}
.field input:focus{outline:none;border-color:var(--ink);}
.auth-submit{width:100%;text-align:center;padding:13px;margin-top:10px;font-size:14px;}
.auth-foot{text-align:center;font-size:13px;color:var(--ink-soft);margin-top:24px;}
.auth-foot button{color:var(--ink);font-weight:700;text-decoration:underline;}
.forgot-link{display:block;text-align:right;font-size:12.5px;color:var(--ink-soft);margin:-6px 0 20px;}
.auth-banner{font-size:12.5px;padding:11px 13px;border-radius:var(--radius-sm);margin-bottom:16px;line-height:1.5;display:none;}
.auth-banner.show{display:block;}
.auth-banner.error{background:color-mix(in srgb,var(--danger) 10%,white);border:1px solid color-mix(in srgb,var(--danger) 30%,white);color:var(--danger);}
.auth-banner.success{background:color-mix(in srgb,var(--success) 10%,white);border:1px solid color-mix(in srgb,var(--success) 30%,white);color:var(--success);}
.auth-banner .banner-retry{display:block;margin-top:8px;border:none;background:var(--mkt);color:#fff;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:var(--radius-sm);cursor:pointer;}
.auth-banner .banner-retry:disabled{opacity:.6;}
.content-error p{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0 0 10px;}
.auth-loading{opacity:.55;pointer-events:none;}
.route-screen{display:none;flex:1;flex-direction:column;}
.route-screen.active{display:flex;}

 
.lang-select{font:inherit;font-size:12px;color:var(--ink-soft);background:transparent;border:0;text-align:right;text-align-last:right;cursor:pointer;max-width:58%;padding:2px 0;}
.lang-select:disabled{opacity:.5;cursor:default;}
.lang-select:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px;}
.settings-note{font-size:11.5px;color:var(--ink-soft);margin:2px 2px 0;}
.lang-group-label{font-family:var(--font-ui);font-weight:700;font-size:13.5px;margin:22px 0 2px;}
.lang-group-hint{font-size:12px;color:var(--ink-soft);margin:0 0 10px;}
.chip[role=radio]{cursor:pointer;}

 
#pathCurriculum .path-module{display:block;}
.path-module-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;}
.path-lessons{display:flex;flex-direction:column;margin-top:10px;}
.path-lesson{display:block;width:100%;min-width:0;padding:10px 0;background:transparent;border:0;border-top:1px solid var(--line);color:var(--ink);font:inherit;font-size:13px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer;}
.path-lesson:hover{text-decoration:underline;}
.path-lesson:focus-visible{outline:2px solid var(--primary,#0866FF);outline-offset:2px;}
.path-lesson:disabled{opacity:.6;cursor:wait;}

 
#lessonOverlay{height:100vh;height:100dvh;overflow:hidden;}
#lessonOverlay .device{min-height:0;}
#lessonOverlay .device-top,
#lessonOverlay .device-footer{flex-shrink:0;}
#lessonOverlay #lessonSteps{flex:1;min-height:0;overflow-y:auto;}
#lessonOverlay #lessonSteps .ov-step{overflow-y:visible;}
#lessonOverlay:has(#lessonPause.active) #lessonSteps{display:none;}
#lessonOverlay #lessonPause{min-height:0;}

 
#lessonSteps .ov-thought, #lessonSteps .ov-body, #lessonSteps .ex-box, #lessonSteps h2, #lessonSteps .summary-list > div { white-space:pre-line; }

 
.insight-card .body{flex:1;min-width:0;}
.insight-card .note{margin-top:8px;}
.insight-card .note summary{cursor:pointer;font-size:12.5px;line-height:1.45;color:var(--ink-soft);overflow-wrap:anywhere;}
.insight-card .note-full{margin-top:2px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;}

 
.saved-note-preview{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:14px;}
.saved-note-source{overflow-wrap:anywhere;font-size:11px;line-height:1.4;color:var(--ink-soft);margin-top:8px;}
.saved-note-reminder .reflect-actions{flex-wrap:wrap;}

 
.preferences-panel{padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);margin:12px 0;background:var(--surface);}
.preferences-panel[hidden]{display:none;}
.preferences-panel h2{font-size:15px;line-height:1.4;}
.preference-choice{display:flex;gap:10px;align-items:center;min-height:44px;font-size:14px;cursor:pointer;}
.preference-choice span{overflow-wrap:anywhere;}
.preference-choice input{width:18px;height:18px;flex-shrink:0;accent-color:var(--money);}
.preferences-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}

 
.path-module-heading{flex-wrap:wrap;gap:8px}.theme-choice{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:transparent;color:inherit;cursor:pointer}.theme-choice[aria-pressed="true"]{font-weight:700;background:var(--sales-chip-bg)}.path-lesson:disabled{opacity:.55;cursor:default}.lesson-access-error{position:fixed;z-index:10000;top:12px;left:50%;transform:translateX(-50%);width:min(90vw,460px)}
