/* Mobile reading, installation and personal space. Desktop keeps its existing layout. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
body{overflow-wrap:break-word}.mobile-nav,.mobile-search-toggle,.mobile-search-close{display:none}
.app-notices{max-width:1570px;margin:auto;padding:0 35px}.offline-strip{display:flex;align-items:center;gap:8px;padding:12px 0 0;font-size:11px;color:#60765d;min-height:29px}.status-dot{width:6px;height:6px;border-radius:50%;background:#a5b576;flex-shrink:0}.offline-strip[data-mode="offline"] .status-dot{background:#c99a52}.offline-strip[data-mode="error"] .status-dot{background:#c28c75}.offline-strip button{color:#45643b;text-decoration:underline;padding:5px 8px;font-size:12px}
.storage-warning,.update-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 17px;background:#fff1df;border:1px solid #eddbbe;border-radius:10px;margin-top:12px;color:#886c46;font-size:12px;line-height:1.8}.storage-warning button,.update-banner button{padding:7px 12px;background:#fff8ec;border-radius:6px;color:#79603b;font-size:12px;min-height:36px}.update-banner{background:#edf3df;border-color:#dce6c6;color:#637a44}.update-banner button{background:#28594c;color:white}.update-banner button:last-child{background:transparent;color:#697b51}
.mine-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px}.mine-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:25px;min-width:0}.mine-card h2{font-size:17px;font-weight:600;margin-bottom:11px}.mine-card>p{font-size:12px;color:#758078;line-height:1.9}.mine-hero{background:#214b3e;border:0;color:#f1f6e8;position:relative;overflow:hidden}.mine-hero:after{content:'';position:absolute;width:190px;height:190px;border:1px solid #71926440;border-radius:50%;right:-75px;top:-60px;box-shadow:0 0 0 28px #71926409,0 0 0 58px #71926409;pointer-events:none}.mine-hero .page-eyebrow{color:#b9cf96;margin-bottom:14px}.mine-hero h2{font-size:25px}.mine-hero>p{color:#b9ccba;font-size:12px}.mine-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:27px 0 23px;gap:12px}.mine-stats b{display:block;font:500 29px 'DM Sans',sans-serif;color:#d4e8a5}.mine-stats small{display:block;font-size:11px;color:#b0c3ac;margin-top:7px}.mine-hero .button{position:relative;z-index:1}.mine-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}.mine-card .mine-actions .button{font-size:12px;min-height:44px;padding:10px 14px;white-space:normal}.mine-note{margin-top:13px;font-size:11px!important;color:#86917c!important;line-height:1.9}.mine-card .mine-status{display:flex;gap:8px;align-items:center;color:#64814d;font-size:13px;margin:17px 0}.mine-meta{margin-top:20px;text-align:center;font-size:11px;color:#89958b;line-height:1.9}.backup-summary{padding:16px;border-radius:10px;background:#edf4df;color:#607a46;font-size:13px;line-height:1.9;margin-bottom:18px}.install-steps{padding-left:23px;color:#70816f;font-size:14px;line-height:2}.install-steps li{padding-left:3px;margin:13px 0}.install-steps strong{color:#3e644b;font-weight:550}.install-platform{display:flex;gap:10px;align-items:center;margin-top:20px;font-size:16px;font-weight:600}.install-platform svg{width:20px;height:20px}.device-hint{font-size:12px;color:#87917e;line-height:1.9;margin-top:18px}.offline-details{margin-top:16px;padding-top:16px;border-top:1px solid #e8eddf;font-size:12px;color:#7e8b72;line-height:1.8}.offline-details summary{cursor:pointer;color:#526b43;padding:6px 0}.offline-details p{margin-top:10px}.search-scrim{display:none}.dialog-open{overflow:hidden}.detail-dialog{overscroll-behavior:contain}.detail-dialog .toast{left:50%}.quiz-option:disabled{opacity:1}
@media(max-width:1000px){.mine-layout{grid-template-columns:1fr 1fr}.app-notices{padding:0 26px}}
@media(max-width:760px){
  html{scroll-padding-top:22px}body{padding-bottom:calc(78px + var(--safe-bottom));font-size:14px}
  .sidebar,.sidebar.open{display:none}.app-shell{margin-left:0}.menu-button{display:none}.topbar{height:calc(66px + var(--safe-top));padding:var(--safe-top) max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px));border-bottom:1px solid #e9eee6;background:#fbfcf8;gap:10px}.breadcrumb{font-size:0;display:flex;align-items:center;gap:10px}.breadcrumb:before{content:'f↗';font:italic 700 22px Georgia,serif;background:#28594c;color:#d6ed8b;padding:5px 8px;border-radius:10px;line-height:1;letter-spacing:-5px;padding-right:12px}.breadcrumb>span{display:none}.breadcrumb b{font-size:15px;font-weight:600;color:#3e5b4b}.topbar-right{gap:4px}.icon-button{min-width:44px;min-height:44px}.icon-button svg{width:21px;height:21px}.mobile-search-toggle{display:grid}.topbar .search-box{display:none}.notification-button i{top:9px;right:12px}.app-notices{padding:0 20px}.offline-strip{font-size:12px;line-height:1.7;padding-top:12px;min-height:32px;flex-wrap:wrap}.offline-strip button{min-height:36px;padding:4px 10px}.storage-warning,.update-banner{font-size:13px;padding:13px 15px}.storage-warning button,.update-banner button{min-height:44px}
  main{padding:24px 20px 16px;min-height:calc(100dvh - 225px)}.page-heading{align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:24px}.page-heading h1{font-size:24px;line-height:1.5;letter-spacing:-.6px}.page-heading h1 .wave{font-size:23px}.page-eyebrow{font-size:10px;letter-spacing:1.6px;line-height:1.7;margin-bottom:9px}.page-heading p{font-size:13px;line-height:1.9;max-width:none;color:#758279;margin-top:9px}.page-heading>.button{font-size:12px;min-height:44px;margin-top:0;padding:10px 14px}.page-heading>.button svg{width:16px;height:16px}.button,.button.small,.hero-actions .button{min-height:44px;font-size:13px;padding:11px 16px;white-space:normal}.button svg{width:16px;height:16px}.button:hover{transform:none}.text-button{font-size:12px}.career-select{font-size:16px;min-height:44px;padding:9px 30px 9px 12px;max-width:100%;background:white;flex-shrink:0}
  .hero{display:block;min-height:0;border-radius:18px;margin-bottom:30px}.hero-copy{padding:26px 24px 20px;width:100%}.hero-eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:12px}.hero h2{font-size:31px;line-height:1.5;letter-spacing:.2px}.hero h2 br{display:initial}.hero p{font-size:13px;color:#bed0bb;line-height:1.9;margin-top:14px}.hero p br{display:initial}.hero-actions{gap:10px;margin-top:20px;flex-wrap:wrap}.hero-actions .button{font-size:12px;min-height:44px;padding:10px 15px}.hero-art{width:100%;height:153px;margin-top:0;padding:0 20px;justify-content:end}.hero-chart{width:85%;height:165px;min-height:0;max-width:400px;align-self:end}.hero-pill{top:6px;left:23px;right:auto;font-size:10px;padding:7px 9px}.hero-pill svg{width:14px;height:14px}.hero-art-note{bottom:15px;right:24px;font-size:8px;letter-spacing:1px}
  .dashboard-grid{gap:22px;grid-template-columns:1fr}.section-heading{align-items:center;margin-bottom:13px;gap:7px}.section-heading h2{font-size:18px;line-height:1.7;flex-wrap:wrap;gap:4px}.section-heading .caption{display:none}.section-subtitle{font-size:13px;line-height:1.9;color:#7d887d;margin:0 0 19px}.more-button{font-size:12px;min-height:44px;white-space:nowrap}.more-button svg{width:14px;height:14px}.career-grid,.all-careers{grid-template-columns:1fr;gap:17px}.career-card,.all-careers .career-card{display:flex;flex-direction:column;gap:0;padding:22px;min-width:0;border-radius:14px}.career-card .card-top,.all-careers .career-card .card-top{display:flex;width:100%;margin:0 0 16px;align-items:center}.career-card .card-top .save-button{position:static}.career-card .tile-icon,.all-careers .tile-icon{width:45px;height:45px;border-radius:12px}.tile-icon svg{width:23px;height:23px}.save-button{width:44px;height:44px;display:grid;place-items:center;padding:10px}.save-button svg{width:21px;height:21px}.career-card h3,.all-careers .career-card h3{font-size:20px;line-height:1.5;margin:0;letter-spacing:0}.career-card .career-en,.all-careers .career-en{font-size:12px;color:#7e8a82;margin-top:5px}.career-card .career-desc,.all-careers .career-desc{font-size:14px;color:#728074;line-height:1.9;min-height:0;padding:0;margin-top:15px;display:block;overflow:visible}.career-card .tags,.all-careers .tags{margin:16px 0 17px;gap:7px}.career-card .tag,.all-careers .tag,.tag{font-size:12px;line-height:1.7;padding:4px 8px;color:#788675;white-space:normal}.career-card .card-bottom,.all-careers .card-bottom{width:100%;border-top:1px solid #edf0e8;display:flex;align-items:center;justify-content:space-between;padding:11px 0 0;margin:auto 0 0;gap:8px;font-size:12px}.career-card .card-bottom>span{display:inline;color:#7e8b7d}.career-card .card-bottom .link-button{font-size:13px;min-height:44px;padding:8px 0 8px 14px;gap:9px}.career-card .card-bottom .link-button svg{width:16px;height:16px}.card-badge{font-size:10px;right:20px;top:-10px;padding:4px 9px}.card-top{margin-bottom:17px}.career-card:hover,.lesson-card:hover,.module-card:hover{transform:none;box-shadow:none}
  .learn-section{margin-top:29px}.lesson-grid,.knowledge-grid{grid-template-columns:1fr;gap:16px}.lesson-card{padding:19px;gap:16px;border-radius:14px}.lesson-visual{width:61px;height:76px;flex-shrink:0}.lesson-visual svg{width:30px;height:30px}.lesson-card h3{font-size:16px;font-weight:550;line-height:1.7}.lesson-category{font-size:12px;line-height:1.7;margin-bottom:8px;color:#7d8c74}.lesson-meta{font-size:12px;gap:6px;line-height:1.7;flex-wrap:wrap;margin-top:8px}.lesson-meta svg{width:13px;height:13px}.lesson-info{flex:1}.learning-note{font-size:12px;line-height:1.9;padding:15px;gap:10px;align-items:start}.learning-note svg{width:19px;height:19px;margin-top:2px}.learning-note strong{font-weight:600}.module-card{padding:23px;border-radius:14px}.module-card h3{font-size:19px;line-height:1.7}.module-card .module-desc{font-size:14px;line-height:1.9;color:#75816f;min-height:0;margin:11px 0 18px}.module-card .module-meta{font-size:12px;line-height:1.8;gap:8px}.module-card .module-meta svg{width:14px;height:14px}.module-card .button{font-size:14px;margin-top:6px}.done-label{font-size:12px}.done-label svg{width:15px;height:15px}
  .right-rail{grid-template-columns:1fr;gap:18px}.rail-card{padding:23px;border-radius:14px}.rail-title h2{font-size:17px}.rail-label{font-size:11px;padding:5px 8px}.progress-copy strong{font-size:14px}.progress-copy p{font-size:12px;line-height:1.9}.progress-display{justify-content:center;gap:25px;margin:23px 0}.progress-ring,.progress-ring svg{width:95px;height:95px}.progress-value b{font-size:25px}.progress-value b span{font-size:14px}.progress-value small{font-size:10px}.stat-item b{font-size:25px}.stat-item b span,.stat-item small{font-size:11px;line-height:1.8}.stats-row{text-align:center}.path-subtitle{font-size:13px;line-height:1.9;margin:12px 0 23px}.timeline-mini{display:block;margin-bottom:23px}.timeline-mini li{display:flex;gap:13px;padding-bottom:22px}.timeline-mini li:not(:last-child):before{display:block;left:13px;top:31px;height:calc(100% - 32px)}.timeline-mini .step-dot{width:28px;height:28px;font-size:12px}.timeline-mini b{font-size:14px;margin-top:0;padding-top:3px}.timeline-mini small{font-size:12px;line-height:1.9;margin-top:6px}.rail-card .button{font-size:13px;min-height:44px;padding:10px 14px}.filter-row{gap:8px;margin:22px 0}.filter-button{font-size:13px;padding:10px 13px;min-height:44px}.result-count{font-size:12px;width:100%;margin-top:5px;color:#778572}.intro-strip{padding:18px;gap:13px;align-items:start}.intro-strip>svg{width:25px;height:25px}.intro-strip b{font-size:14px;line-height:1.9}.intro-strip p{font-size:13px;line-height:1.9;margin-top:8px;color:#7b8c69}.search-heading{font-size:18px;margin:27px 0 18px}
  .roadmap-layout{grid-template-columns:1fr;gap:20px;margin-top:22px}.roadmap-summary{position:static;padding:23px}.roadmap-summary h3{font-size:22px}.roadmap-summary .en{font-size:12px;line-height:1.9}.roadmap-summary>p{display:block;font-size:14px!important;line-height:1.9}.roadmap-summary>p:last-child{font-size:12px!important;color:#7d8973}.roadmap-summary .tile-icon{width:44px;height:44px}.progress-caption{font-size:12px;line-height:1.8;margin-bottom:17px}.roadmap-summary .button{max-width:none;width:100%;font-size:14px}.stage-header{padding:19px 17px;gap:11px;flex-wrap:wrap}.stage-number{width:33px;height:33px;font-size:14px}.stage-header h2{font-size:16px;line-height:1.6}.stage-header p{font-size:12px;line-height:1.8;max-width:210px}.stage-status{font-size:12px;padding-left:44px;margin-left:0;width:100%}.stage-lesson{padding:19px 17px;gap:12px}.stage-lesson h3{font-size:15px;line-height:1.8}.stage-lesson p{font-size:12px;line-height:1.8}.lesson-status{width:26px;height:26px;font-size:11px;flex-shrink:0}.stage-lesson>.arrow svg{width:17px;height:17px}.project-card{padding:23px}.project-card h3{font-size:18px;line-height:1.7}.project-card p{font-size:14px;line-height:1.95;color:#748764}
  .mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fffefcf5;border-top:1px solid #e3e8dd;padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + var(--safe-bottom)) max(8px,env(safe-area-inset-left,0px));backdrop-filter:blur(16px);box-shadow:0 -4px 18px #1e3f2704}.mobile-nav a{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;color:#899282;font-size:12px;line-height:1.5;border-radius:11px}.mobile-nav a svg{width:21px;height:21px;stroke-width:1.6}.mobile-nav a.active{color:#2e5d43;background:#eef3e5;font-weight:600}.mobile-nav a.active svg{stroke-width:2}.footer{padding:20px;font-size:11px;line-height:1.9;display:block;text-align:center}.footer>span{display:block}.toast{left:50%;bottom:calc(90px + var(--safe-bottom));width:max-content;max-width:calc(100vw - 32px);font-size:13px;line-height:1.9;white-space:normal;padding:13px 19px}.dialog-open .toast{z-index:100}
  .detail-dialog{width:100%;height:100vh;height:100dvh;max-height:none;max-width:none;margin:0;border-radius:0;overscroll-behavior:contain;padding-bottom:var(--safe-bottom)}.dialog-header{padding:calc(27px + var(--safe-top)) 23px 24px}.dialog-close{position:fixed;top:max(14px,var(--safe-top));right:max(14px,env(safe-area-inset-right,0px));margin:0;border:1px solid #e4e9dc;background:#fffffff5;border-radius:50%;z-index:5}.dialog-close svg{width:21px;height:21px}.dialog-header>h2,.dialog-career-heading{padding-right:40px}.dialog-career-heading{gap:14px}.dialog-career-heading .tile-icon{width:47px;height:47px;flex-shrink:0}.dialog-career-heading h2{font-size:25px;line-height:1.6}.dialog-career-heading .en{font-size:12px;line-height:1.8}.dialog-header>.desc{font-size:15px;line-height:1.95;margin-top:18px;color:#71846e}.dialog-tabs{padding:0 65px 0 20px;gap:0;justify-content:space-between;top:0;background:#fff;z-index:4}.dialog-tab{font-size:14px;min-height:56px;padding:16px 3px}.dialog-body{padding:27px 23px 35px}.dialog-body h3{font-size:18px;line-height:1.75;margin-bottom:15px}.detail-list{gap:18px;margin-bottom:27px}.detail-list li{font-size:16px;line-height:1.9;gap:12px;color:#70816e}.detail-list li>span{width:25px;height:25px;font-size:12px;margin-top:3px}.detail-note{font-size:14px;line-height:1.95;padding:18px;color:#728566}.knowledge-detail{padding:20px 0}.knowledge-detail h3{font-size:16px}.knowledge-detail p{font-size:16px;line-height:1.95;color:#71816e}.module-chips{gap:9px}.module-chip{font-size:13px;min-height:44px;padding:11px 13px;text-align:left;line-height:1.8}.dialog-actions{gap:12px;margin-top:24px;flex-wrap:wrap}.dialog-actions .button{font-size:14px;min-height:46px}.reading-header h2{font-size:26px;line-height:1.6;margin:12px 0 15px;max-width:none}.reading-header .lesson-category{font-size:12px}.reading-header .lesson-meta{font-size:12px;line-height:1.9;gap:7px}.reading-section{margin-bottom:31px}.reading-section h3{font-size:20px;line-height:1.7;margin-bottom:15px}.reading-section p{font-size:17px;line-height:1.95;color:#52664f}.quiz-card{padding:22px 18px;margin-top:29px}.quiz-kicker{font-size:11px;line-height:1.8;letter-spacing:.6px}.quiz-card h3{font-size:16px;line-height:1.9}.quiz-option{padding:14px;min-height:54px;font-size:15px;line-height:1.9;gap:12px}.quiz-option .option-letter{width:24px;height:24px;font-size:12px;flex-shrink:0}.quiz-feedback{font-size:14px;line-height:1.9}.completion-banner{font-size:14px;line-height:1.9}.quiz-complete{font-size:15px}.profile-body p{font-size:15px}.profile-stat-grid{gap:10px}.profile-stat-grid small{font-size:12px}.profile-stat-grid b{font-size:25px}.save-empty,.empty-state{padding:45px 22px}.save-empty h2,.empty-state h2{font-size:21px;line-height:1.8}.save-empty p,.empty-state p{font-size:14px;line-height:1.95}
  .mine-layout{grid-template-columns:1fr;gap:18px}.mine-card{padding:24px}.mine-card h2{font-size:19px;line-height:1.7}.mine-card>p{font-size:14px;line-height:1.95}.mine-hero h2{font-size:27px}.mine-hero>p{font-size:14px}.mine-stats{gap:10px}.mine-stats small{font-size:12px;line-height:1.8}.mine-stats b{font-size:31px}.mine-card .mine-actions .button{font-size:14px;min-height:46px}.mine-note{font-size:13px!important}.mine-meta{font-size:12px;margin:20px 0 5px}.mine-card .mine-status{font-size:14px;line-height:1.8}.offline-details{font-size:13px;line-height:1.9}.install-steps{font-size:16px;line-height:1.95}.install-platform{font-size:19px}.device-hint{font-size:14px;line-height:1.95}.backup-summary{font-size:15px;line-height:1.9}
  body.search-open .search-scrim{display:block;position:fixed;inset:0;background:#18322670;backdrop-filter:blur(4px);z-index:40}.search-open .topbar .search-box{display:flex;position:fixed;top:calc(14px + var(--safe-top));left:16px;right:16px;width:auto;min-height:58px;background:white;border:1px solid #dce5d1;border-radius:13px;z-index:41;box-shadow:0 12px 60px #1e3e2320;padding:6px 8px 6px 16px;gap:10px}.search-open .search-box input{font-size:16px;width:100%;height:44px;min-width:0}.search-open .search-box>svg{width:19px;height:19px}.search-open .mobile-search-close{display:grid}.search-box kbd{display:none}.search-open{overflow:hidden}.search-open .mobile-nav{pointer-events:none}
}
@media(max-width:360px){main{padding-left:16px;padding-right:16px}.app-notices{padding-left:16px;padding-right:16px}.hero-copy{padding:24px 20px 20px}.hero h2{font-size:28px}.hero-actions .button{font-size:12px;padding-left:12px;padding-right:12px}.hero-art{height:138px}.hero-pill{font-size:9px;left:20px}.page-heading h1{font-size:23px}.section-heading h2{font-size:17px}.career-card,.all-careers .career-card{padding:21px}.lesson-card{padding:17px;gap:12px}.lesson-visual{width:48px;height:67px}.lesson-card h3{font-size:15px}.reading-header h2{font-size:24px}.dialog-body{padding-left:20px;padding-right:20px}.reading-section p{font-size:17px}.mine-card{padding:21px}.mine-stats small{font-size:11px}.mine-card .mine-actions .button{flex:1;padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
