:root { --paper:#f6f4ef; --surface:#fffefa; --ink:#25302d; --muted:#6d7874; --line:#dddcd4; --brand:#168069; --brand-soft:#e7f7f2; --amber:#9a681f; --amber-soft:#f7ead0; }
* { box-sizing:border-box; }
html { background:var(--paper); scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.self-nav { min-height:70px; padding:0 max(24px,calc((100vw - 1220px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(255,254,250,.94); }
.self-brand { display:flex; align-items:center; gap:4px; font-size:21px; font-weight:600; }
.self-brand img { width:32px; height:32px; object-fit:contain; }
.self-back { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }
main { max-width:1220px; margin:0 auto; padding:76px 24px 92px; }
.self-hero { display:grid; grid-template-columns:1.25fr .75fr; gap:8vw; align-items:end; padding-bottom:66px; }
.kicker { margin:0 0 18px; color:var(--amber); font-size:11px; font-weight:800; letter-spacing:.17em; }
.self-hero h1 { margin:0; font-family:"Songti SC","STSong",serif; font-size:clamp(58px,7vw,90px); font-weight:600; line-height:1; letter-spacing:-.055em; }
.hero-note>p { margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.hero-note>span { display:flex; align-items:center; gap:10px; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.hero-note strong { color:var(--ink); font-family:"Songti SC",serif; font-size:34px; font-weight:500; }
.guide-filter { padding:15px 0; display:flex; align-items:center; gap:24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.guide-filter__summary { flex:0 0 auto; display:flex; align-items:center; gap:12px; color:var(--muted); font-size:10px; white-space:nowrap; }
.guide-filter__summary span:first-child { color:var(--ink); font-weight:700; }
.guide-filter__track { min-width:0; display:flex; align-items:center; gap:7px; overflow-x:auto; scrollbar-width:none; }
.guide-filter__track::-webkit-scrollbar { display:none; }
.guide-filter button { flex:0 0 auto; padding:7px 13px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:transparent; font:inherit; font-size:10px; cursor:pointer; transition:border-color .18s,color .18s,background .18s; }
.guide-filter button:hover { border-color:var(--brand); color:var(--brand); }
.guide-filter button.is-active { border-color:var(--brand); color:#fff; background:var(--brand); }
.resource-section { padding:52px 0 20px; border-top:1px solid var(--line); }
.guide-filter + .resource-section { border-top:0; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.section-heading p { margin:0 0 8px; color:var(--brand); font-size:10px; font-weight:800; letter-spacing:.14em; }
.section-heading h2 { margin:0; font-family:"Songti SC","STSong",serif; font-size:34px; font-weight:600; }
.section-heading>span { color:var(--muted); font-size:10px; }
.self-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.self-card { min-height:410px; padding:25px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,254,250,.55); transition:background .2s,box-shadow .2s,transform .2s; }
.self-card:hover { position:relative; z-index:1; background:var(--surface); box-shadow:0 18px 38px rgba(37,48,45,.08); transform:translateY(-2px); }
.self-card.is-filtered-out,.resource-section.is-filtered-out { display:none; }
.self-card--featured { background:#eef7f3; }
.card-meta { display:flex; flex-wrap:wrap; gap:5px; }
.card-meta span { padding:5px 7px; border-radius:3px; background:var(--brand-soft); color:var(--brand); font-size:9px; }
.card-meta span:nth-child(2) { background:var(--amber-soft); color:var(--amber); }
.card-meta span:nth-child(3) { background:#eceeea; color:var(--muted); }
.self-card h3 { margin:40px 0 8px; font-family:"Songti SC","STSong",serif; font-size:26px; line-height:1.28; font-weight:600; letter-spacing:-.02em; }
.provider { margin:0; color:var(--brand); font-size:10px; font-weight:700; line-height:1.6; }
.self-card>p:not(.provider) { margin:22px 0 0; color:var(--muted); font-size:12px; line-height:1.8; }
.card-tags { display:flex; flex-wrap:wrap; gap:6px 10px; margin-top:17px; color:var(--amber); font-size:9px; }
.self-card>a { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:11px; font-weight:700; }
.self-card>a b { font-size:16px; font-weight:400; }
.course-section { margin-top:42px; }
.self-grid--courses { grid-template-columns:repeat(2,minmax(0,1fr)); }
.course-card { min-height:360px; background:#f8f2e7; }
.boundary-note { margin-top:70px; padding:28px 30px; display:grid; grid-template-columns:150px 1fr; gap:32px; border:1px solid #ddcfb6; background:#fbf3e4; }
.boundary-note b { color:var(--amber); font-size:12px; }
.boundary-note p { margin:0; color:var(--muted); font-size:11px; line-height:1.85; }
.guides-footer { padding:24px max(24px,calc((100vw - 1180px)/2)); display:block; border-top:1px solid var(--line); color:var(--muted); background:var(--paper); font-size:10px; line-height:1.7; }
.guides-footer span { display:block; }
@media(max-width:880px){.self-hero{grid-template-columns:1fr;gap:34px}.self-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.self-nav{padding:0 18px}.self-back{font-size:11px}main{padding:24px 18px 68px}.self-hero{max-height:20svh;gap:12px;padding-bottom:18px;overflow:hidden}.kicker{margin-bottom:8px;font-size:8px}.self-hero h1{font-size:42px}.hero-note>p{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.hero-note>span{display:none}.guide-filter{margin:0 -18px;padding:10px 18px;display:block}.guide-filter__summary{margin-bottom:8px;justify-content:space-between}.guide-filter__track{margin:0 -18px;padding:0 18px}.guide-filter button{padding:6px 11px}.resource-section{padding-top:32px}.guide-filter + .resource-section{padding-top:26px}.section-heading{align-items:start;margin-bottom:14px}.section-heading>span{max-width:120px;text-align:right;line-height:1.5}.section-heading h2{font-size:29px}.self-grid,.self-grid--courses{grid-template-columns:1fr}.self-card{min-height:0;padding:13px 16px}.self-card h3{margin:15px 0 5px;font-size:22px}.self-card>p:not(.provider){display:-webkit-box;margin-top:10px;overflow:hidden;font-size:10px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-tags{margin-top:8px}.self-card>a{margin-top:12px;padding-top:10px}.course-card{min-height:0}.boundary-note{margin-top:40px;padding:20px;grid-template-columns:1fr;gap:8px}.guides-footer{padding:22px 18px;display:block;line-height:1.7}.guides-footer span{display:block}}
