:root{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:#233c34;background:#f5f6f2;font-synthesis:none;--green:#153e34;--muted:#75877e;--line:#e1e7df;--gold:#d5bb7e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a1b897;outline-offset:3px}button{border:0;background:none;color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:38px;line-height:1.45;font-weight:600;letter-spacing:1px}h2{font-size:23px;font-weight:600}h3{font-size:17px;font-weight:600}p{line-height:1.85}.shell{display:grid;grid-template-columns:234px 1fr;min-height:100vh}.sidebar{background:#123c32;color:#d5e1d6;padding:36px 23px;position:fixed;inset:0 auto 0 0;width:234px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-size:27px;font-family:serif;letter-spacing:4px}.brand-mark{width:42px;height:42px;border:1px solid #a7b996;border-radius:50%;display:grid;place-items:center;color:#d5bb7e;font-size:25px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-family:sans-serif;margin-top:5px;color:#97b2a2}.sidebar nav{display:grid;gap:10px;margin-top:49px}.nav{padding:15px 18px;display:flex;align-items:center;gap:15px;text-align:left;border-radius:8px;font-size:14px}.nav.active,.nav:hover{background:#31564a;color:#fff}.icon{font-size:20px;width:23px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:50px}.side-quote{font-family:serif;font-size:15px;line-height:2;color:#a5bdb0;margin-bottom:24px}.local-chip{border-top:1px solid #426052;padding-top:17px;font-size:11px;color:#a5bdb0}.main{grid-column:2;padding:0 42px 46px;max-width:1600px;width:100%;margin:auto}.topbar{height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.breadcrumb{font-size:13px;color:var(--muted)}.account{display:flex;align-items:center;gap:12px;font-size:13px}.avatar{width:46px;height:46px;background:#e9eee3;color:#315340;border-radius:14px;display:grid;place-items:center;font-family:serif;font-size:20px;flex-shrink:0}.avatar.small{width:34px;height:34px;border-radius:50%;font-size:14px}.page{padding-top:30px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);margin-bottom:8px}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.welcome h2{font-size:25px}.muted{color:var(--muted);font-size:13px;line-height:1.9}.hero{position:relative;overflow:hidden;background:#184638;color:#f3f6ee;border-radius:15px;min-height:285px;padding:37px 38px}.hero:after{content:'';width:340px;height:340px;position:absolute;right:-90px;top:16px;border:1px solid #739b6844;border-radius:50%;box-shadow:0 0 0 40px #7d986415,0 0 0 80px #7d98640c}.hero .eyebrow{color:#c2cca7}.hero p{font-size:14px;color:#bdcdbb;margin-top:12px;max-width:540px}.hero-actions{display:flex;gap:12px;margin-top:25px;position:relative;z-index:1}.btn{border:1px solid var(--line);border-radius:7px;padding:11px 17px;background:white;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.5}.btn:hover{filter:brightness(.96)}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.gold{background:#ddc998;color:#263e30;border-color:#ddc998}.btn.ghost{background:transparent;color:#d7e4d5;border-color:#658271}.btn.small{font-size:12px;padding:7px 11px}.btn.danger{color:#934634}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:21px 0 30px}.stat{border:1px solid var(--line);background:#fff;border-radius:10px;padding:19px 20px}.stat strong{font-family:Georgia,serif;font-size:29px;font-weight:400;margin-right:5px}.stat span{font-size:12px;color:var(--muted)}.stat label{display:block;font-size:12px;margin-bottom:12px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:27px 0 18px}.section-head h2{font-size:20px}.section-head small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:7px}.text-btn{color:#456b55;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:23px;display:flex;flex-direction:column;gap:16px;min-width:0}.card-top{display:flex;gap:13px;align-items:center}.card-top p{font-size:12px;color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;background:#eef2e9;color:#557053;padding:5px 8px;border-radius:4px}.tag.gold{background:#f5efe0;color:#8b7545}.description{font-size:13px;color:#617366;line-height:1.9;overflow-wrap:anywhere}.card-foot{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #eff1eb;padding-top:14px}.card-foot small{font-size:11px;color:var(--muted)}.wide-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.need-row{padding:20px 0;border-bottom:1px solid var(--line)}.need-row:last-child{border:0}.need-row h3{font-size:15px;margin-bottom:8px}.need-row .meta{display:flex;gap:12px;font-size:11px;color:var(--muted);margin:10px 0}.notice{font-size:12px;line-height:1.9;border:1px solid #e4dfcd;background:#f7f4e9;border-radius:8px;padding:12px 16px;color:#827449;margin:15px 0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.toolbar input{flex:1;min-width:180px}.toolbar select{width:145px}input,textarea,select{border:1px solid #dce3d9;border-radius:6px;padding:12px;background:#fff;color:#294235;width:100%}textarea{resize:vertical;min-height:100px;line-height:1.8}label.field{font-size:13px;display:grid;gap:9px;margin-bottom:17px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}.checks{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 20px;font-size:13px}.checks label{display:flex;gap:8px;align-items:center}.checks input{width:auto;accent-color:var(--green)}.empty{padding:40px 25px;text-align:center;border:1px dashed #cad6c7;border-radius:12px;background:#f0f3eb}.empty h3{margin-bottom:12px}.empty .btn{margin-top:20px}.services{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-art{border-radius:8px;background:#e9eee1;padding:27px;font-family:serif;font-size:28px;color:#4d6852;min-height:115px;display:flex;justify-content:space-between;align-items:center}.service-art span{font-size:43px;color:#a4b393}.service-art.dark{background:#244b3c;color:#e1e9ce}.price{font-size:21px;font-family:Georgia,serif}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dialog-head button{font-size:25px;padding:3px 10px}dialog{border:1px solid var(--line);border-radius:15px;padding:28px;width:min(640px,calc(100vw - 26px));max-height:90vh;color:#294235;background:#fafbf7;box-shadow:0 24px 100px #11291c33}dialog::backdrop{background:#122a2466;backdrop-filter:blur(3px)}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}.chat{max-height:330px;overflow:auto;padding:5px 0}.bubble{padding:14px 17px;border-radius:10px;background:#edf1e7;line-height:1.85;font-size:14px;margin:12px 0;max-width:94%;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.user{margin-left:auto;background:#285342;color:#fff}.step{font-size:11px;color:var(--muted);margin:15px 0}.error{color:#a44336;margin-top:12px;font-size:13px}#toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:#173d31;color:#fff;padding:13px 23px;border-radius:9px;z-index:10;display:none;font-size:13px;max-width:90vw}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.profile-hero{background:#e8eee0;padding:25px;border-radius:12px;margin-bottom:22px}.profile-hero .card-top{margin-bottom:18px}.rule{height:1px;background:var(--line);margin:20px 0}.progress{background:#e0e7da;height:5px;border-radius:3px;overflow:hidden;margin-top:14px}.progress span{display:block;height:100%;background:#5b7954}.saved{color:#597151;font-size:12px}.project-notes{min-height:200px}.admin-list{font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.main{padding-left:65px;padding-right:65px}}@media(max-width:1100px){.grid{grid-template-columns:1fr 1fr}.main{padding:0 24px 40px}.shell{grid-template-columns:195px 1fr}.sidebar{width:195px;padding:30px 16px}.wide-grid{grid-template-columns:1fr}.hero{padding:30px}.stats{gap:9px}.stat{padding:16px 12px}}@media(max-width:720px){.shell{display:block}.sidebar{inset:auto 0 0;width:100%;padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:4;background:#123c32}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around;margin:0;gap:2px}.nav{padding:7px 9px;font-size:10px;flex-direction:column;gap:3px;border-radius:6px}.icon{font-size:18px}.main{padding:0 18px 105px}.topbar{height:68px}.breadcrumb{font-size:11px}.account{font-size:11px;gap:7px}.page{padding-top:21px}.welcome h2{font-size:22px}.welcome .muted{font-size:11px}.welcome>.btn{padding:9px}.hero{padding:26px 23px;min-height:285px}h1{font-size:30px}.hero p{font-size:12px;max-width:255px}.hero:after{right:-240px}.stats{grid-template-columns:1fr 1fr;margin-bottom:21px}.stat{padding:16px}.stat strong{font-size:25px}.grid,.services,.split{grid-template-columns:1fr}.card{padding:20px}.section-head h2{font-size:18px}.fields{grid-template-columns:1fr}.hero-actions .btn{font-size:12px;padding:11px 13px}dialog{padding:22px}.toolbar{gap:8px}.toolbar input{min-width:100%}.toolbar select{flex:1}.section-head{margin-top:22px}.topbar .text-btn{font-size:11px}}
@media(max-width:420px){.hero h1{font-size:26px;letter-spacing:0}.hero p{max-width:none}}
/* Local v0.2: actionable home, course, AI reports and persistent forms. */
.hero.compact{min-height:220px}.hero.compact h1{font-size:34px}.hero.compact p{margin:14px 0 22px;max-width:600px}.stat{text-align:left;border:1px solid var(--line);font:inherit;cursor:pointer}.stat:hover{border-color:#567a60}.course-promo{display:flex;gap:24px;align-items:center}.course-promo img{width:40%;border-radius:10px}.course-cover{width:100%;aspect-ratio:2;object-fit:cover;border-radius:9px;margin-bottom:16px}.course-video{width:100%;max-height:55vh;background:#0e281f;border-radius:10px}.intro-text{min-height:180px}.ai-result{background:#eef3e9;padding:20px;margin:18px 0;border-radius:10px}.report .answer{white-space:pre-wrap;line-height:1.9}.report ul{padding-left:22px}.report li{margin-bottom:9px}.report blockquote,blockquote{border-left:3px solid #74916e;background:#f0f4ed;padding:12px;margin:12px 0;font-size:13px;color:#456252;white-space:pre-wrap}.description{white-space:pre-wrap;overflow-wrap:anywhere}.rights{width:100%;border-collapse:collapse;font-size:13px}.rights td,.rights th{text-align:left;padding:12px 8px;border-bottom:1px solid #dce4d8}.result-count{margin-bottom:16px}.identity-grid{display:flex;flex-wrap:wrap;gap:10px}details{margin:16px 0;padding:10px;border:1px solid #dce4d8;border-radius:8px}summary{cursor:pointer;font-size:13px}.actions{flex-wrap:wrap}.btn:disabled{opacity:.6;cursor:wait}.stat strong{display:block}dialog{max-height:90dvh;overflow-y:auto}textarea{line-height:1.7}video:focus-visible{outline:2px solid #719373}
@media(max-width:720px){.hero.compact{min-height:auto}.hero.compact h1{font-size:28px}.course-promo{display:block}.course-promo img{width:100%;margin-bottom:16px}.rights{font-size:11px}.rights td,.rights th{padding:9px 5px}.welcome{gap:12px}.welcome h2{font-size:20px}.stats{margin-top:16px}.stat{padding:13px}.topbar .text-btn{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-video{max-height:40vh}}

.course-chapters{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:20px 0}.course-chapters .btn{text-align:left;line-height:1.6}
/* Homepage editorial carousel */
.home-carousel{margin-bottom:20px;border-radius:24px;overflow:hidden;background:#123e32;color:#fff}
.home-carousel .banner-slide{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0;min-height:320px;border-radius:0;padding:36px 42px;background:linear-gradient(120deg,#103b30,#205745)}
.home-carousel .banner-slide[hidden]{display:none}
.banner-copy{position:relative;z-index:1;flex:1;min-width:0}.banner-copy h1{font-size:clamp(27px,3vw,42px);line-height:1.3;max-width:650px;overflow-wrap:anywhere}.banner-copy p{max-width:620px;overflow-wrap:anywhere;white-space:pre-wrap}
.banner-cover{width:32%;height:220px;object-fit:cover;border-radius:16px}.banner-motif{width:24%;flex-shrink:0;text-align:center;font-size:96px;color:#d3bd8290;font-family:serif}.banner-motif span{display:block;font:13px sans-serif;letter-spacing:4px;margin-top:12px}
.banner-controls{display:flex;align-items:center;gap:10px;padding:0 32px 20px}.banner-controls .btn{color:#ede8d9;background:transparent;border-color:#ffffff30}.banner-dots{display:flex;gap:8px;flex:1;flex-wrap:wrap}.banner-dot{min-width:28px;padding:4px 8px;font-size:12px}.banner-dot[aria-pressed=true]{background:#d9c596;color:#163f33}.home-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.member-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eef4ee;border:1px solid #d7e3d7;border-radius:16px;padding:20px;margin:18px 0;color:#204b3d}.member-invite p{margin:8px 0 0;line-height:1.8;font-size:14px}.member-invite .btn{flex-shrink:0}
@media(max-width:650px){.home-carousel .banner-slide{padding:26px 22px;min-height:340px;gap:12px}.banner-motif{display:none}.banner-cover{width:26%;height:140px}.banner-controls{padding:0 16px 18px;gap:5px}.banner-controls .btn{padding:6px 9px;min-height:34px}.banner-dots{gap:4px}.member-invite{align-items:flex-start;flex-direction:column}.home-shortcuts .btn{flex:1 0 40%;padding:10px;font-size:13px}}
/* v0.5 — mobile-first community home and course library */
:root{--muted:#657a6d;background:#f5f7f3}.main{max-width:1440px}.topbar{height:76px}.page{padding-top:28px}.nav .icon svg{width:22px;height:22px;display:block}.nav-mobile-label{display:none}.home-heading{display:flex;justify-content:space-between;align-items:center;margin:2px 0 24px}.home-heading h1{font-size:29px;letter-spacing:-.7px;margin:6px 0}.home-heading p{font-size:13px;color:var(--muted)}.home-date{font-size:13px;color:var(--muted);white-space:nowrap}.home-carousel{border-radius:22px;margin-bottom:0}.home-carousel .banner-slide{min-height:258px;padding:30px 36px}.banner-copy h1,.hero.compact .banner-copy h1{font-size:32px;letter-spacing:0}.banner-cover{height:184px;width:30%;object-fit:contain;background:#0e2e26}.banner-controls{padding:0 28px 16px}.banner-dot{border:0!important;min-width:22px;padding:3px 6px}.banner-controls .btn{border:0;font-size:11px}.quick-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:25px 12px;margin:0 0 6px;background:transparent}.quick-dock button{display:flex;flex-direction:column;align-items:center;gap:9px;padding:8px;border-radius:16px;min-height:106px}.quick-dock button:hover{background:#eaf0e7}.dock-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:#e2eadf;color:#235441}.dock-icon svg{width:25px;height:25px}.quick-dock button:nth-child(2) .dock-icon{background:#174d3b;color:#e6d5a9}.quick-dock button:nth-child(3) .dock-icon{background:#eeebdd;color:#736943}.quick-dock button:nth-child(4) .dock-icon{background:#e1e9e6;color:#365a55}.quick-dock strong{font-size:14px;font-weight:600}.quick-dock small{font-size:11px;color:var(--muted)}.home-section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 17px;gap:12px}.home-section-title h2{font-size:22px}.home-section-title .eyebrow{font-size:9px;letter-spacing:1.5px}.btn.text-link{padding:9px 0;border:0;background:transparent;white-space:nowrap;color:#54705f}.resource-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.resource-tile{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid #e2e8df;border-radius:18px;padding:22px;gap:14px;min-width:0}.resource-tile:hover{border-color:#91aa94}.resource-tile .card-top>div{min-width:0}.resource-tile .card-top p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tile-kicker{font-size:11px;color:#6a7f70}.resource-offer{font-size:14px;color:#354e40;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:50px}.resource-bottom{border-top:1px solid #edf0e8;padding-top:13px;font-size:11px;color:#829184;display:flex;justify-content:space-between;margin-top:auto}.resource-bottom span{color:#335b45}.home-needs{background:#fff;border:1px solid #e1e7dc;border-radius:18px;padding:0 22px}.home-need{position:relative;display:grid;grid-template-columns:110px 1fr 120px;gap:12px;align-items:center;width:100%;text-align:left;padding:21px 24px 21px 0;border-bottom:1px solid #ecf0e7}.home-need:last-child{border:0}.need-label{font-size:11px;color:#6b754f}.home-need h3{font-size:14px;line-height:1.7}.need-arrow{position:absolute;right:0;color:#5b7765}.learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.learning-tile{display:flex;text-align:left;padding:16px;gap:18px;border:1px solid #e1e7dc;border-radius:18px;background:#fff;min-width:0}.learning-tile>img,.learning-placeholder{width:36%;aspect-ratio:1.15;object-fit:cover;border-radius:12px;align-self:stretch}.learning-tile>div:not(.learning-placeholder){flex:1;min-width:0}.learning-tile h3{font-size:16px;line-height:1.6;margin:6px 0}.learning-tile p{font-size:12px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learning-tile small{font-size:11px;color:#56745c;display:flex;justify-content:space-between;margin-top:9px}.learning-track{height:3px;background:#edf1e8;border-radius:6px;margin-top:15px;overflow:hidden}.learning-track span{display:block;background:#517960;height:100%}.learning-placeholder{background:#e1eadc;display:grid;place-items:center}.learning-placeholder svg{width:40px}.home-footer{text-align:center;font-size:11px;color:#819181;letter-spacing:2px;margin:36px 0 8px}.followup-strip{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 18px;border-radius:12px;background:#e9efe1;font-size:13px;gap:10px}.course-dialog{width:min(860px,calc(100vw - 28px));padding:24px}.course-dialog .dialog-head{margin-bottom:15px}.course-detail-meta{margin-bottom:18px}.course-detail-meta p{margin-top:10px}.course-directory{margin:24px 0}.course-directory h3{display:flex;justify-content:space-between;margin-bottom:12px}.course-directory h3 small{font-size:12px;font-weight:400;color:var(--muted)}.chapter-item{display:flex;align-items:center;width:100%;text-align:left;gap:15px;padding:16px 14px;border-radius:12px;border:1px solid #e1e8dd;background:#fff;margin:8px 0}.chapter-item.selected{background:#e8efe1;border-color:#c7d6bf}.chapter-number{font-size:15px;color:#809278}.chapter-copy{flex:1;min-width:0}.chapter-copy strong{display:block;font-size:14px;overflow-wrap:anywhere}.chapter-copy small{display:block;font-size:11px;color:#6d806d;margin-top:7px}.chapter-item>span:last-child{font-size:11px}.watch-notice{font-size:11px;color:#7c8777;line-height:1.9;margin-top:16px}.course-video{aspect-ratio:2;max-height:55dvh}.saved{margin:10px 0;font-size:12px}input,select,textarea{font-size:16px}
@media(max-width:1000px){.learning-grid{grid-template-columns:1fr}.home-need{grid-template-columns:90px 1fr}.home-need>.muted{grid-column:2}.resource-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-tile:last-child{display:none}}
@media(max-width:720px){.main{padding:0 18px calc(90px + env(safe-area-inset-bottom))}.topbar{height:60px;border-bottom:0}.breadcrumb{font-size:15px;font-weight:650;color:#214f3b}.account{gap:10px}.topbar .text-btn{font-size:12px;min-height:44px}.page{padding-top:8px}.home-heading{margin:4px 0 19px}.home-heading h1{font-size:23px;letter-spacing:-.5px}.home-heading .eyebrow{font-size:10px;letter-spacing:1px}.home-heading p{font-size:12px;margin-top:4px}.home-date{display:none}.home-carousel{border-radius:18px}.home-carousel .banner-slide{min-height:216px;padding:24px 23px;gap:10px}.hero.compact .banner-copy h1{font-size:23px;line-height:1.4}.banner-copy .eyebrow{font-size:9px;letter-spacing:.5px}.hero.compact .banner-copy p{font-size:12px;line-height:1.7;margin:12px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.banner-copy .hero-actions{margin-top:16px}.banner-copy .btn{padding:9px 14px;min-height:40px;border-radius:22px;font-size:11px}.banner-cover{display:none}.banner-controls{padding:0 16px 10px;gap:5px}.banner-controls .btn{min-height:36px;padding:7px}.banner-controls .banner-dot{min-width:28px}.quick-dock{gap:0;padding:16px 0 12px;margin-bottom:0}.quick-dock button{padding:7px 2px;gap:8px;min-height:93px}.dock-icon{width:46px;height:46px;border-radius:16px}.dock-icon svg{width:23px;height:23px}.quick-dock strong{font-size:12px}.quick-dock small{display:none}.home-section-title{margin:24px 0 14px}.home-section-title h2{font-size:19px}.home-section-title .eyebrow{font-size:8px;letter-spacing:1px}.home-section-title .btn{font-size:11px;min-height:40px}.resource-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-18px;padding-right:18px;padding-bottom:5px;scrollbar-width:none}.resource-tile{flex:0 0 83%;scroll-snap-align:start;padding:19px;gap:13px;border-radius:16px}.resource-tile:last-child{display:flex}.resource-tile h3{font-size:16px}.resource-offer{font-size:13px}.home-needs{padding:0 17px;border-radius:16px}.home-need{display:flex;flex-wrap:wrap;gap:8px;padding:17px 22px 17px 0}.home-need h3{width:100%;order:1;font-size:14px}.home-need .muted{order:2;font-size:11px}.need-label{font-size:10px}.learning-tile{padding:13px;gap:13px;border-radius:16px}.learning-tile h3{font-size:14px;margin:5px 0}.learning-tile>img{width:32%;aspect-ratio:1;object-fit:cover}.tile-kicker,.learning-tile small{font-size:10px}.learning-tile p{font-size:11px}.sidebar{background:#fcfdf9ed;backdrop-filter:blur(18px);border-top:1px solid #e2e8dc;padding:5px 10px calc(5px + env(safe-area-inset-bottom));color:#80917f;box-shadow:0 -6px 30px #18352106}.sidebar nav{gap:0}.nav{flex:1;padding:8px 2px 5px;font-size:10px;min-height:53px;gap:5px}.nav .icon{width:23px;height:23px}.nav.active,.nav:hover{background:transparent;color:#164c35}.nav.active .icon{background:#e6eddf;border-radius:8px;box-shadow:0 0 0 5px #e6eddf}.nav-desktop-label{display:none}.nav-mobile-label{display:block}.course-dialog{padding:20px 17px;width:100%;max-width:100%;height:95dvh;max-height:95dvh;margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.course-dialog .dialog-head{position:sticky;top:-20px;background:#fafbf7;z-index:2;padding:10px 0}.course-dialog .dialog-head h2{font-size:17px;max-width:85%}.course-dialog .dialog-head button{min-width:44px;min-height:44px}.course-video{border-radius:10px;position:sticky;top:47px;z-index:1;max-height:32dvh}.chapter-item{min-height:76px}.actions .btn{min-height:44px}#toast{bottom:calc(82px + env(safe-area-inset-bottom))}.rights{font-size:12px}.welcome{align-items:flex-start}.card{border-radius:16px}.btn{border-radius:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#dce8d8,transparent 65%),#f5f6f1}.login-card{width:min(100%,420px);background:#fff;border:1px solid #dde5d9;border-radius:24px;padding:36px;box-shadow:0 16px 60px #163b3210}.login-mark{background:#143f35;color:#dacf9c;border-radius:18px;width:58px;height:58px;display:grid;place-items:center;font-size:30px;margin-bottom:22px}.login-card h1{font-size:25px}.login-card form{margin-top:24px}.login-card .btn{width:100%;min-height:48px}.login-card .field{margin-bottom:18px}.login-card input{width:100%;min-height:48px}.login-card .muted{margin-top:20px;line-height:1.8;font-size:12px}@media(max-width:480px){.login-card{padding:26px 22px}.login-page{padding:18px}}

/* 智客家品牌：围屋符号与独立文字，保持小尺寸清晰。 */
.brand-mark{width:44px;height:44px;flex:0 0 44px;object-fit:contain;background:#fff;border:0;border-radius:12px;padding:3px}.brand{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:25px;font-weight:600;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:1.5px;font-weight:400}.login-mark{display:block;width:68px;height:68px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px}

.banner-brand-logo{display:block;width:112px;height:112px;object-fit:contain;background:white;border-radius:24px;margin:auto}

.mobile-brand-logo{display:none}.breadcrumb{display:flex;align-items:center;gap:7px}@media(max-width:720px){.mobile-brand-logo{display:block;width:30px;height:30px;object-fit:contain;flex:0 0 30px;border-radius:8px;background:white}.breadcrumb{font-size:13px;white-space:nowrap}}

/* 智客家首页以链接和学习为主，诊断为辅助工具。 */
.home-portals{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 14px}.home-portal{display:flex;align-items:center;gap:20px;text-align:left;padding:30px 26px;border-radius:20px;border:1px solid #dce4d9;min-height:160px}.portal-link{background:#143f35;color:#fff}.portal-learn{background:#eef0e4;color:#143f35}.portal-icon{display:grid;place-items:center;flex:0 0 46px}.portal-icon svg{width:40px;height:40px}.portal-copy{display:flex;flex-direction:column;gap:7px}.portal-copy small{font-size:10px;letter-spacing:2px;opacity:.65}.portal-copy strong{font-size:26px;font-weight:600}.portal-copy>span{font-size:12px;line-height:1.7;opacity:.8}.portal-arrow{margin-left:auto;align-self:flex-start;font-size:23px}.home-tools{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}.home-tools .btn{background:#fff;min-height:42px;padding:10px 17px}.home-tools .btn:last-child{margin-left:auto}
@media(max-width:720px){.home-portals{gap:10px}.home-portal{padding:19px 15px;min-height:186px;align-items:flex-start;position:relative;flex-direction:column;gap:13px;border-radius:17px}.portal-copy strong{font-size:23px}.portal-copy>span{font-size:11px}.portal-icon{flex:0 0 28px}.portal-icon svg{width:28px;height:28px}.portal-arrow{position:absolute;right:14px;top:16px;font-size:18px}.home-tools{gap:8px;margin-bottom:20px}.home-tools .btn{padding:10px 12px;font-size:12px}.home-tools .btn:last-child{margin-left:auto}}

.guest-entry{border-top:1px solid var(--line,#dfe5e0);margin-top:24px;padding-top:20px}.guest-entry .btn{width:100%;min-height:46px}.guest-entry p{margin-bottom:0}
