@font-face{font-family:Inter;src:url('/assets/fonts/Inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--forest:#075D36;--forest-dark:#044528;--ink:#111;--paper:#F5F3EE;--white:#fff;--slate:#646B66;--line:#D9DED7;--moss:#4C6B57;--leaf:#BBD7C1;--sprout:#D9E87A;--red:#B3362D;--shadow:0 18px 48px rgba(17,17,17,.08);--ease:cubic-bezier(.22,1,.36,1);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);line-height:1.6}button,a,input{font:inherit}button,a{transition:.18s var(--ease)}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:30;height:86px;display:grid;grid-template-columns:260px 1fr 100px;align-items:center;gap:24px;padding:0 clamp(24px,5vw,76px);border-bottom:1px solid rgba(7,93,54,.16);background:rgba(245,243,238,.94);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{display:block;width:142px;height:auto}.brand>span{padding-left:12px;border-left:1px solid var(--line);color:var(--slate);font-size:10px;letter-spacing:.08em;white-space:nowrap}
.main-nav{height:100%;display:flex;align-items:stretch;justify-content:center;gap:8px}.main-nav button{min-width:92px;padding:12px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--slate)}.main-nav button span,.main-nav button small{display:block}.main-nav button span{color:var(--ink);font-size:14px;font-weight:650}.main-nav button small{margin-top:1px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.main-nav button:hover,.main-nav button.active{color:var(--forest);border-bottom-color:var(--forest)}.main-nav button.active span{color:var(--forest)}.account-entry{justify-self:end;border:1px solid var(--forest);border-radius:6px;padding:8px 16px;color:var(--forest);font-size:12px;font-weight:650;text-decoration:none}.account-entry:hover{background:var(--forest);color:#fff}
main{min-height:calc(100vh - 86px)}.page-shell{width:min(1220px,calc(100% - 48px));margin:0 auto;padding:56px 0 100px}.loading-view{min-height:70vh;display:grid;place-items:center;color:var(--slate)}.loading-dot{width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--forest);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3;transform:scale(.75)}}
.hero{position:relative;min-height:360px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);overflow:hidden;border-radius:10px;background:var(--forest);color:#fff}.hero:after{content:"";position:absolute;inset:auto -8% -50% 30%;height:125%;opacity:.75;background:repeating-radial-gradient(ellipse at center,transparent 0 22px,rgba(187,215,193,.28) 23px 24px,transparent 25px 46px);transform:rotate(-12deg)}.hero-copy{position:relative;z-index:1;padding:clamp(42px,7vw,82px)}.eyebrow{margin:0 0 12px;color:var(--forest);font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.hero .eyebrow{color:var(--leaf)}.hero h1{max-width:620px;margin:0;font-size:clamp(38px,5.5vw,72px);font-weight:580;letter-spacing:-.045em;line-height:1.06}.hero p{max-width:600px;margin:24px 0 0;color:#DDEBE1;font-size:16px}.hero-aside{position:relative;z-index:2;align-self:end;margin:34px;padding:28px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:rgba(4,69,40,.64);backdrop-filter:blur(8px)}.hero-aside b{display:block;font-size:12px;letter-spacing:.08em}.hero-aside strong{display:block;margin-top:10px;font-size:30px;font-weight:600}.hero-aside span{display:block;margin-top:5px;color:var(--leaf);font-size:12px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:58px 0 24px}.section-head h1,.section-head h2{margin:0;font-size:clamp(27px,4vw,42px);font-weight:600;letter-spacing:-.035em;line-height:1.2}.section-head p{max-width:560px;margin:8px 0 0;color:var(--slate)}.section-head .sync-state{flex:none}.sync-state{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:30px;background:#E7F1E9;color:var(--forest);font-size:11px;font-weight:650}.sync-state:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--forest)}.sync-state.error{background:#F6E8E6;color:var(--red)}.sync-state.error:before{background:var(--red)}
.subnav{display:flex;gap:8px;margin-bottom:24px;padding:5px;border-radius:8px;background:#E7EAE4;width:max-content;max-width:100%;overflow:auto}.subnav button{min-width:112px;border:0;border-radius:6px;padding:10px 16px;background:transparent;color:var(--slate);font-size:13px;font-weight:650;white-space:nowrap}.subnav button.active{background:#fff;color:var(--forest);box-shadow:0 2px 8px rgba(17,17,17,.06)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-card,.topic-card,.article-card,.profile-card,.empty-card{border:1px solid var(--line);border-radius:9px;background:var(--white)}.feature-card{position:relative;min-height:210px;padding:26px;overflow:hidden;text-decoration:none}.feature-card:hover,.topic-card:hover,.article-card:hover{border-color:var(--moss);transform:translateY(-2px);box-shadow:var(--shadow)}.card-index{display:block;color:var(--forest);font-size:10px;font-weight:750;letter-spacing:.12em}.feature-card h3,.topic-card h3,.article-card h3{margin:34px 0 7px;font-size:21px;font-weight:600}.feature-card p,.topic-card p,.article-card p{margin:0;color:var(--slate);font-size:13px}.feature-card .arrow{position:absolute;right:24px;bottom:22px;color:var(--forest);font-size:20px}.feature-card.highlight{background:var(--leaf);border-color:var(--leaf)}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:20px;text-decoration:none}.topic-no{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#EDF1EC;color:var(--forest);font-weight:700}.topic-card h3{margin:0;font-size:16px}.topic-card p{margin-top:3px}.topic-card .go{color:var(--forest);font-weight:700}.state-card{padding:55px 24px;border:1px dashed var(--moss);border-radius:9px;background:rgba(255,255,255,.55);color:var(--slate);text-align:center}.state-card b{display:block;margin-bottom:5px;color:var(--ink);font-size:18px}
.topic-card.unavailable{background:rgba(255,255,255,.55);color:var(--slate)}.topic-card.unavailable .topic-no{background:#E7E8E4;color:#858B87}.topic-card.unavailable .go{color:#9DA29E}
.exam-banner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;min-height:230px;padding:clamp(28px,5vw,58px);border-radius:9px;background:var(--ink);color:#fff}.exam-banner h2{max-width:650px;margin:0;font-size:clamp(28px,4vw,48px);font-weight:550;line-height:1.14}.exam-banner p{margin:14px 0 0;color:#B7BDB8}.primary-button,.secondary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:10px 18px;font-weight:650;text-decoration:none}.primary-button{border:1px solid var(--sprout);background:var(--sprout);color:var(--ink)}.primary-button:hover{background:#E7F38E;transform:translateY(-1px)}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--forest)}.secondary-button:hover{border-color:var(--forest)}
.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.empty-card{min-height:310px;display:flex;flex-direction:column;justify-content:space-between;padding:32px}.empty-card .empty-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--forest);font-weight:700}.empty-card h2{margin:auto 0 6px;font-size:27px}.empty-card p{margin:0;color:var(--slate)}.empty-card small{display:block;margin-top:22px;color:var(--moss);font-weight:650}
.explore-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:16px}.explore-main{min-height:430px;padding:36px;border-radius:9px;background:#fff;border:1px solid var(--line)}.explore-main h2{margin:0 0 8px;font-size:30px}.explore-main>p{margin:0 0 32px;color:var(--slate)}.checklist{display:grid;gap:8px}.check-item{display:flex;align-items:center;gap:12px;padding:13px;border-bottom:1px solid #ECEEEA}.check-item input{width:18px;height:18px;accent-color:var(--forest)}.explore-note{padding:32px;border-radius:9px;background:var(--leaf)}.explore-note b{display:block;color:var(--forest);font-size:11px;letter-spacing:.1em}.explore-note strong{display:block;margin-top:90px;font-size:32px;line-height:1.2}.explore-note p{color:#244A34}.progress-line{height:6px;margin-top:20px;border-radius:20px;background:rgba(7,93,54,.16)}.progress-line i{display:block;height:100%;border-radius:20px;background:var(--forest)}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.article-card{min-height:250px;display:flex;flex-direction:column;padding:25px;text-align:left}.article-card button{all:unset;cursor:pointer}.article-card .article-meta{display:flex;justify-content:space-between;gap:12px;color:var(--moss);font-size:10px;font-weight:700;letter-spacing:.08em}.article-card h3{margin:45px 0 10px;font-size:20px;line-height:1.45}.article-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.article-card .read-more{margin-top:auto;padding-top:24px;color:var(--forest);font-size:12px;font-weight:700}
.article-dialog{width:min(820px,calc(100% - 32px));max-height:88vh;padding:0;border:0;border-radius:10px;box-shadow:0 24px 90px rgba(0,0,0,.28)}.article-dialog::backdrop{background:rgba(8,23,15,.55);backdrop-filter:blur(4px)}.dialog-close{position:sticky;z-index:2;float:right;top:18px;margin:18px 18px 0;border:0;border-radius:50%;width:38px;height:38px;background:#EDF0EC;font-size:24px}.article-dialog article{padding:58px clamp(25px,7vw,72px) 72px}.article-dialog h1{margin:10px 0 32px;font-size:clamp(28px,5vw,46px);line-height:1.2}.article-body{color:#303532;font-size:16px;line-height:1.9}.article-body img{max-width:100%;border-radius:8px}.article-body p{margin:0 0 16px}
.profile-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:16px}.profile-card{padding:30px}.profile-card.green{background:var(--forest);color:#fff}.profile-avatar{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:var(--leaf);color:var(--forest);font-size:24px;font-weight:700}.profile-card h2{margin:28px 0 4px}.profile-card p{margin:0;color:var(--slate)}.profile-card.green p{color:var(--leaf)}.profile-actions{display:flex;gap:10px;margin-top:30px}.data-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:30px;background:var(--line);border:1px solid var(--line)}.data-list div{padding:22px;background:#fff}.data-list b{display:block;font-size:28px}.data-list span{color:var(--slate);font-size:12px}
.mobile-nav{display:none}#toast{position:fixed;right:24px;bottom:24px;z-index:80;max-width:360px;padding:11px 16px;border-radius:7px;background:var(--ink);color:#fff;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s var(--ease)}#toast.show{opacity:1;transform:none}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px clamp(24px,5vw,76px);border-top:1px solid var(--line);color:var(--slate);font-size:10px;letter-spacing:.08em}.site-footer span:first-child{color:var(--forest);font-weight:750}
@media(max-width:960px){.site-header{grid-template-columns:210px 1fr}.main-nav{display:none}.account-entry{grid-column:2}.page-shell{padding-top:34px}.hero{grid-template-columns:1fr}.hero-aside{display:none}.grid,.article-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{position:fixed;z-index:40;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,1fr);height:72px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(15px)}.mobile-nav button{border:0;background:transparent;color:var(--slate);font-size:11px}.mobile-nav i,.mobile-nav span{display:block}.mobile-nav i{margin-bottom:2px;font-style:normal;font-size:15px;font-weight:700}.mobile-nav button.active{color:var(--forest)}main{padding-bottom:72px}#toast{bottom:88px}.explore-panel,.profile-layout{grid-template-columns:1fr}}
@media(max-width:640px){.site-header{height:68px;grid-template-columns:1fr auto;padding:0 16px}.brand-mark{width:36px;height:36px}.brand b{font-size:12px}.brand small{font-size:9px}.account-entry{padding:6px 11px}.page-shell{width:min(100% - 28px,1220px);padding:24px 0 80px}.hero{min-height:420px}.hero-copy{align-self:end;padding:34px 26px}.hero h1{font-size:43px}.hero p{font-size:14px}.section-head{align-items:flex-start;flex-direction:column;margin-top:38px}.section-head .sync-state{align-self:flex-start}.grid,.topic-grid,.article-grid,.health-grid{grid-template-columns:1fr}.feature-card{min-height:175px}.feature-card h3{margin-top:26px}.topic-card{grid-template-columns:44px 1fr auto}.topic-no{width:44px;height:44px}.exam-banner{grid-template-columns:1fr}.exam-banner .primary-button{width:100%}.empty-card{min-height:250px}.explore-main,.explore-note{padding:25px}.explore-note strong{margin-top:50px}.data-list{grid-template-columns:1fr}.article-dialog article{padding-top:42px}}
.hero:after{inset:0;opacity:.5;height:auto;background:url('/assets/brand/contours-forest.svg') no-repeat right center/auto 150%;transform:scale(1.18)}
.primary-button.disabled{border-color:#737975;background:#737975;color:#E1E4E1;cursor:not-allowed;pointer-events:none}
@media(max-width:640px){.brand img{width:120px}.brand>span{display:none}}
@media(max-width:640px){.site-footer{align-items:flex-start;flex-direction:column;gap:6px;padding:24px 18px 96px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
