 
body,input,textarea,select,button,h1,h2,h3{font-family:var(--font-ui);}
body{color:var(--text-primary);background:var(--page-bg);}
.app,#authShell{max-width:620px;min-height:100vh;min-height:100dvh;border:0;border-radius:0;box-shadow:none;background:var(--page-bg);}
@media(min-width:431px){body{padding:0;}}
.app-screen:not([data-screen="home"]){padding-top:24px;}
h1.page{font-size:32px;line-height:1.18;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;overflow-wrap:anywhere;}
.sub{font-size:15px;line-height:1.55;margin-bottom:24px;color:var(--text-secondary);}
.section-label{font-size:13px;line-height:1.4;font-weight:650;color:var(--text-secondary);margin:24px 0 12px;}
.btn,.nextb{background:var(--primary);color:#fff;border-radius:16px;min-height:48px;padding:12px 20px;font-size:15px;line-height:20px;font-weight:700;}
.btn:hover:not(:disabled),.nextb:hover:not(:disabled){background:var(--primary-strong);}
.btn:disabled,.nextb:disabled{background:var(--divider);color:var(--text-muted);cursor:default;}
.ghost,.backb{min-height:44px;border-radius:14px;font-size:14px;line-height:20px;padding:10px 16px;color:var(--primary-strong);}
.ghost{background:var(--thought-bg);border-color:var(--divider);}
.ghost:hover:not(:disabled){background:var(--sales-chip-bg);}
.ghost:disabled{opacity:.55;cursor:default;}
button:focus-visible,[role="button"]:focus-visible,[role="radio"]:focus-visible,summary:focus-visible,a:focus-visible,.filters button:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
input,textarea,select{color:var(--text-primary);font-family:var(--font-ui);}
textarea,.field input{font-size:16px;line-height:1.5;padding:14px 16px;border:1px solid #D9E1EF;border-radius:16px;background:var(--thought-bg);}
textarea{min-height:116px;resize:vertical;}
textarea:focus,.field input:focus,input.search-field:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);}
textarea::placeholder,input::placeholder{color:var(--text-muted);opacity:1;}

 
input.search-field{min-height:48px;padding:12px 16px;border:1px solid var(--divider);border-radius:16px;background:var(--thought-bg);font-size:16px;margin-bottom:24px;}
.cat-grid{gap:12px;margin-bottom:24px;}
.cat{padding:18px;border-radius:20px;background:var(--thought-bg);border:1px solid transparent;min-width:0;}
.cat:nth-child(even){background:var(--finance-bg);}
.cat .name{font-size:16px;line-height:1.4;overflow-wrap:anywhere;}
.cat .count{font-size:12px;line-height:1.4;margin-top:6px;}
.path-item,.path-head,.path-module,.insight-card,.stat,.know-row,.settings-row,.preferences-panel{border:1px solid var(--divider);border-radius:20px;background:var(--thought-bg);}
.path-item{padding:16px;margin-bottom:12px;gap:12px;width:100%;text-align:left;font:inherit;}
.path-item .name,.path-item .meta{display:block;}
.path-item .left{min-width:0;flex:1;}
.path-item .name{font-size:15px;line-height:1.45;overflow-wrap:anywhere;}
.path-item .meta{font-size:12px;line-height:1.5;}
.back-link{display:inline-block;min-height:44px;padding:10px 0;color:var(--primary-strong);font-size:14px;cursor:pointer;}
.path-head{padding:22px;border:0;background:var(--sales-bg);margin-bottom:24px;}
.path-head h1{font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere;}
.path-desc{font-size:15px;line-height:1.6;}
.path-meta{line-height:1.5;}
.learn-list{gap:8px;margin-bottom:20px;}
.learn-list span{font-size:12px;line-height:1.4;padding:8px 12px;background:var(--finance-chip-bg);color:var(--finance-text);border:0;}
.path-module{padding:18px;margin-bottom:12px;}
.path-module-heading .title{font-size:16px;line-height:1.45;flex:1 1 180px;overflow-wrap:anywhere;}
.path-module-heading .meta{font-size:12px;line-height:1.5;}
.theme-choice{min-height:44px;border-radius:14px;background:var(--surface);border:1px solid #D9E1EF;color:var(--primary-strong);font-size:13px;line-height:1.4;}
.theme-choice[aria-pressed="true"]{background:var(--sales-chip-bg);border-color:transparent;color:var(--primary-strong);}
.theme-choice:disabled{cursor:default;}
.path-lesson{min-height:44px;padding:12px 0;font-size:14px;line-height:1.55;}
.path-lesson:hover:not(:disabled){color:var(--primary-strong);}
.path-lesson:disabled{opacity:1;color:var(--text-muted);cursor:default;}

 
.filters{gap:8px;padding-bottom:4px;}
.filters button{min-height:44px;display:flex;align-items:center;padding:10px 14px;background:var(--thought-bg);border:0;color:var(--text-secondary);font-size:13px;cursor:pointer;}
.filters button.active{background:var(--sales-chip-bg);color:var(--primary-strong);font-weight:700;}
.insight-card{padding:18px;margin-bottom:12px;}
.insight-card .quote{font-size:15px;line-height:1.6;font-style:normal;color:var(--text-primary);overflow-wrap:anywhere;}
.insight-card .meta{font-size:12px;line-height:1.5;margin-top:8px;}
.insight-card .note summary{font-size:14px;line-height:1.55;padding:8px 0;color:var(--primary-strong);}
.insight-card .note-full{font-size:14px;line-height:1.65;color:var(--text-primary);}
.stat-row{gap:10px;}
.stat{padding:18px 12px;min-width:0;background:var(--sales-bg);border:0;}
.stat:nth-child(2){background:var(--finance-bg);}
.stat .n{font-size:28px;font-weight:800;}
.stat .l{font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
@media(max-width:360px){
  #progressScreen .stat-row{display:grid;grid-template-columns:1fr;}
  #progressScreen .stat{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;}
  #progressScreen .stat .n{width:40px;flex-shrink:0;text-align:center;}
  #progressScreen .stat .l{overflow-wrap:normal;}
}
.know-row{padding:16px;gap:10px;flex-wrap:wrap;}
.know-row .name{width:auto;flex:1 1 130px;line-height:1.4;overflow-wrap:anywhere;}
.know-row .bar{flex:1 1 80px;}
.bar{height:6px;background:#DEE6F2;}
.bar span{background:var(--primary);}
.profile-head{margin-bottom:24px;}
.avatar{width:56px;height:56px;background:var(--sales-chip-bg);color:var(--primary-strong);font-family:var(--font-ui);font-size:20px;}
.profile-head .since{font-size:13px;line-height:1.5;}
.settings-row{padding:16px;gap:12px;min-height:56px;font-size:14px;line-height:1.5;}
.settings-row>span:first-child{min-width:0;overflow-wrap:anywhere;}
.settings-row .val{font-size:13px;text-align:right;overflow-wrap:anywhere;min-width:0;max-width:60%;}
.settings-row.action .val{color:var(--primary-strong);}
button.settings-row.action{width:100%;text-align:left;}
.settings-note,.lang-group-hint{font-size:13px;line-height:1.5;}
.lang-select{font-size:14px;min-height:44px;max-width:60%;}
.preferences-panel{padding:20px;}
.preferences-panel h2{font-family:var(--font-ui);font-size:20px;}
.preferences-panel p{font-size:14px;line-height:1.5;}
.preference-choice{padding:6px 0;line-height:1.5;}
.preference-choice input{accent-color:var(--primary);}
.reflect-card{padding:20px;background:var(--thought-bg);border:0;border-radius:24px;}
.reflect-prompt{font-family:var(--font-ui);font-size:19px;line-height:1.4;}
.reflect-label{font-size:13px;line-height:1.5;}
.reflect-actions{flex-wrap:wrap;}

 
.auth-wrap{width:100%;max-width:480px;margin:0 auto;padding:calc(32px + env(safe-area-inset-top,0px)) var(--pad) 32px;}
.auth-logo{font-family:var(--font-ui);font-size:27px;line-height:32px;font-weight:800;letter-spacing:-.02em;color:var(--primary);margin-bottom:44px;}
.auth-title{font-family:var(--font-ui);font-size:32px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin-bottom:12px;overflow-wrap:anywhere;}
.auth-sub{font-size:15px;line-height:1.6;margin:0 0 24px;}
.field{margin-bottom:18px;}
.field label{font-size:14px;line-height:1.5;margin-bottom:8px;}
.auth-submit{margin-top:12px;}
.auth-foot{font-size:14px;line-height:1.6;}
.auth-foot button,.forgot-link{color:var(--primary-strong);}
.forgot-link{font-size:14px;min-height:44px;padding:10px 0;margin:-6px 0 12px;}
.auth-banner{font-size:14px;line-height:1.55;border-radius:16px;}
.auth-banner .banner-retry{min-height:44px;border-radius:12px;font-size:14px;background:var(--primary);}

 
.overlay{background:var(--page-bg);justify-content:center;height:100vh;height:100dvh;overflow:hidden;}
.overlay .device{max-width:620px;margin:0 auto;min-height:0;background:var(--page-bg);color:var(--text-primary);font-family:var(--font-ui);}
.device-top{padding:calc(18px + env(safe-area-inset-top,0px)) var(--pad) 0;gap:12px;flex-shrink:0;}
.device-top .close{width:44px;height:44px;background:var(--thought-bg);border:0;color:var(--primary-strong);font-size:16px;}
.device-top .progress{gap:6px;}
.device-top .progress i{height:4px;background:var(--divider);}
.device-top .progress i.done{background:var(--primary);}
.device-top .tag2{font-size:12px;line-height:1.4;color:var(--text-secondary);max-width:35%;overflow-wrap:anywhere;}
.ov-step{padding:28px var(--pad) 24px;min-height:0;}
.ov-step h2{font-family:var(--font-ui);font-size:28px;line-height:1.25;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere;}
.eyebrow{font-size:13px;line-height:1.5;color:var(--text-secondary);}
.ov-body{font-size:16px;line-height:1.7;color:var(--text-secondary);}
.ov-thought{font-family:var(--font-ui);font-size:19px;line-height:1.6;font-style:normal;padding:18px;border:0;border-radius:20px;background:var(--sales-bg);color:var(--text-primary);}
.ex-box{font-size:15px;line-height:1.65;border-radius:20px;padding:18px;background:var(--thought-bg);color:var(--text-primary);}
.ex-box .who{font-size:12px;line-height:1.5;}
.micro-card{padding:20px;border-radius:20px;background:var(--finance-bg);color:var(--text-primary);}
.micro-card .label{color:var(--finance-text);font-size:13px;line-height:1.5;}
.micro-card p{font-family:var(--font-ui);font-size:16px;line-height:1.65;}
.quiz-hint{font-size:14px;line-height:1.5;}
.quiz-opt{padding:16px;border-radius:16px;font-size:16px;line-height:1.6;border:1px solid #D9E1EF;background:var(--thought-bg);}
.quiz-opt.picked:not(.correct):not(.incorrect){border-color:var(--primary);background:var(--sales-bg);}
.quiz-result{font-size:15px;line-height:1.6;}
.summary-list div{font-size:16px;line-height:1.6;color:var(--text-secondary);padding:14px 0;}
.icon-check{width:44px;height:44px;background:var(--sales-chip-bg);color:var(--primary);font-size:20px;}
.completion-label{font-size:13px;font-weight:650;color:var(--text-secondary);margin:0 0 10px;}
#lessonPause h2:focus{outline:none;}
.completion-recap{margin:22px 0;}
.completion-recap ul{margin:0;padding-left:20px;color:var(--text-primary);font-size:16px;line-height:1.55;}
.completion-recap li+li{margin-top:8px;}
.completion-more{font-size:14px;line-height:1.5;color:var(--text-secondary);margin:10px 0 0;}
.completion-preview{background:var(--sales-bg);border-radius:20px;padding:18px;margin:22px 0;}
.completion-preview h3{font-size:20px;line-height:1.3;margin:0 0 8px;overflow-wrap:anywhere;}
.completion-preview #completionNextBody{font-size:15px;line-height:1.55;color:var(--text-secondary);margin:0;}
.completion-preview p[hidden]{display:none;}
#completionNextBenefit{font-size:15px;line-height:1.55;color:var(--text-secondary);margin:10px 0 0;}
.completion-actions{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:env(safe-area-inset-bottom,0px);}
.completion-actions button{flex:1;min-width:110px;min-height:48px;white-space:normal;}
.streak-card{padding:18px;border-radius:22px;background:var(--thought-bg);margin:20px 0 24px;}
.streak-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.streak-heading h2{font-size:16px;line-height:1.4;margin:0;color:var(--text-primary);}
.streak-count{font-size:14px;line-height:1.4;font-weight:700;color:var(--primary-strong);}
.streak-track{height:8px;border-radius:8px;background:#DCE7FA;overflow:hidden;margin:14px 0 8px;}
.streak-track span{display:block;height:100%;border-radius:inherit;background:var(--primary);}
.streak-meta{display:flex;gap:10px;justify-content:space-between;font-size:12px;line-height:1.5;color:var(--text-secondary);}
.streak-meta[hidden],.streak-track[hidden],.streak-retry[hidden]{display:none;}
.streak-hint{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:10px 0 0;}
.streak-retry{margin-top:10px;min-height:44px;}
.streak-celebration{background:var(--sales-bg);border-radius:20px;padding:20px;margin-top:18px;}
.streak-celebration[hidden]{display:none;}
.streak-celebration h3{font-size:22px;line-height:1.3;margin:8px 0 10px;overflow-wrap:anywhere;}
.streak-celebration p{font-size:15px;line-height:1.55;margin:0 0 12px;color:var(--text-secondary);}
.streak-celebration button{min-height:44px;}
.streak-art svg{display:block;width:112px;max-width:100%;height:88px;}
.streak-celebration[data-level="30"]{background:var(--finance-bg);}
.streak-celebration[data-level="90"]{background:#E8E3FF;border:1px solid #CCBEF6;}
.streak-celebration[data-level="365"]{background:var(--primary-strong);color:white;}
.streak-celebration[data-level="365"] p{color:#E8F3FF;}
.streak-celebration[data-level="365"] button{background:white;color:var(--primary-strong);}
.device-footer{padding:16px var(--pad) calc(20px + env(safe-area-inset-bottom,0px));background:var(--page-bg);border-color:var(--divider);flex-shrink:0;}
.device-footer .nextb{min-width:140px;max-width:72%;white-space:normal;}
.hero-mark{font-family:var(--font-ui);font-size:27px;line-height:32px;font-weight:800;letter-spacing:-.02em;color:var(--primary);background:none;border-radius:0;width:auto;height:auto;justify-content:flex-start;margin:8px 0 28px;}
#onboardingOverlay [data-ostep="2"] h2{font-size:36px;line-height:1.2;}
#onboardingOverlay [data-ostep="2"] .ov-body{background:var(--sales-bg);border-radius:24px;padding:20px;margin-top:8px;}
#onboardingOverlay .ov-step{flex:1;min-height:0;overflow-y:auto;}
#onboardingOverlay .device-top{padding-top:calc(24px + env(safe-area-inset-top,0px));}
.chip,.goal-row,.time-card{background:var(--thought-bg);border:1px solid transparent;border-radius:16px;min-height:48px;padding:14px 16px;font-size:14px;line-height:1.5;cursor:pointer;}
.chip{overflow-wrap:anywhere;}
.chip.selected,.goal-row.selected,.time-card.selected{background:var(--sales-chip-bg);border-color:var(--primary);color:var(--primary-strong);}
.goal-row{gap:12px;}
.goal-row.selected .mark{border-color:var(--primary);background:var(--primary);}
.goal-row .mark{width:20px;height:20px;}
.lang-group-label{font-family:var(--font-ui);font-size:15px;line-height:1.5;}
.plan-row{font-family:var(--font-ui);font-size:16px;line-height:1.6;}
.thanks{font-size:14px;line-height:1.6;}
#saveInsightBtn:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff;}

@media(max-width:359px){
  h1.page,.auth-title{font-size:28px;}
  .path-head{padding:18px;}
  .ov-step h2{font-size:26px;}
  #onboardingOverlay [data-ostep="2"] h2{font-size:32px;}
  .settings-row{padding:14px;gap:8px;}
  .stat{padding:16px 10px;}
  .device-footer{gap:8px;}
  .device-footer .nextb{min-width:0;}
}
 
.path-lesson:disabled{color:var(--text-secondary);}
.quiz-result.correct,.quiz-opt.correct::after{color:#14633F;}
.quiz-result.incorrect,.quiz-opt.incorrect::after{color:#A12D43;}
.auth-banner.success{color:#14633F;}
 
.tc-title{overflow-wrap:break-word;hyphens:auto;}
@media(min-width:360px){.featured .tc-main{grid-template-columns:minmax(0,1fr) minmax(82px,30%);}}
.cat:last-child:nth-child(odd){grid-column:1/-1;}
body:has(.overlay.open){overflow:hidden;}
.overlay .ov-step{overscroll-behavior:contain;}
textarea::placeholder,input::placeholder{color:var(--text-secondary);}

 
.ob-paths{display:flex;flex-direction:column;gap:10px;}
.ob-path-choice{display:flex;align-items:center;gap:12px;min-height:56px;padding:16px;border:1px solid transparent;border-radius:16px;background:var(--thought-bg);font-size:16px;line-height:1.5;cursor:pointer;}
.ob-path-choice.selected{border-color:var(--primary);background:var(--sales-chip-bg);}
.ob-path-choice input{width:20px;height:20px;flex-shrink:0;accent-color:var(--primary);}
.ob-path-choice span{overflow-wrap:anywhere;}
#obPathsStatus{font-size:14px;line-height:1.5;color:var(--text-secondary);margin-bottom:12px;}

.completion-preview #completionTopicRemaining{font-size:14px;line-height:1.5;color:var(--text-secondary);margin:12px 0 0;}

.support-panel{margin:16px 0;}
.support-panel h2{margin:0 0 10px;}
.support-panel a{color:var(--primary-strong);overflow-wrap:anywhere;}
.support-actions>*{flex:1 1 150px;min-width:0;text-align:center;}
.support-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none;}
.support-panel [hidden]{display:none;}

.auth-age{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:12px 0;margin:0;color:var(--ink);font-size:14px;line-height:1.5;cursor:pointer;}
.auth-age input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:var(--primary);cursor:pointer;}
.auth-age input:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.auth-age span{min-width:0;overflow-wrap:anywhere;}

.auth-terms a{color:var(--primary-strong);text-decoration:underline;text-underline-offset:3px;}
.auth-terms a:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:3px;}
