:root{
  --blue-900:#17324d;
  --blue-700:#315b7d;
  --blue-600:#1677c8;
  --blue-100:#e8f3fb;
  --ink:#24384a;
  --muted:#687b8d;
  --line:#dbe5ee;
  --surface:#ffffff;
  --surface-soft:#f6f9fc;
  --body:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--body);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
button{font:inherit}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header-inner{max-width:1180px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--blue-900)}
.brand-mark{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;border:1px solid #b9d0e3;color:var(--blue-600);font-size:22px;font-weight:700}
.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font-size:16px}.brand-copy small{font-size:11px;color:var(--muted);margin-top:3px}
.main-nav{display:flex;gap:23px;font-size:13px;color:var(--blue-700)}.main-nav a{text-decoration:none}.main-nav a:hover{color:var(--blue-600)}
.hero{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff 0,#f7fbfe 100%)}
.hero-inner{max-width:1180px;margin:0 auto;padding:66px 24px 54px}.eyebrow{margin:0 0 7px;color:var(--blue-600);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
h1{max-width:800px;margin:0 0 12px;color:var(--blue-900);font-size:clamp(30px,4.2vw,48px);line-height:1.08;letter-spacing:-.02em}.hero-lead{max-width:780px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.section{max-width:1180px;margin:0 auto;padding:54px 24px}.section-heading{max-width:790px;margin-bottom:25px}.section-heading h2{margin:0 0 8px;color:var(--blue-900);font-size:30px;line-height:1.15}.section-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.section-heading.narrow{max-width:760px}
.map-layout{display:grid;grid-template-columns:190px minmax(285px,390px) minmax(330px,1fr);gap:16px;align-items:start}.section-card{background:var(--surface);border:1px solid var(--line);border-radius:15px}.compact-card{padding:15px}.section-card h3{margin:0 0 5px;color:var(--blue-900);font-size:15px}.card-intro{margin:0 0 13px;color:var(--muted);font-size:12px}.region-list{display:grid;gap:6px}.region-btn{appearance:none;width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--blue-900);padding:9px 10px;text-align:left;cursor:pointer;font-size:13px}.region-btn:hover,.region-btn:focus-visible{border-color:var(--blue-600);outline:3px solid var(--blue-100);outline-offset:1px}.region-btn.active{background:var(--blue-100);border-color:var(--blue-600);font-weight:700}
.anatomy-card{padding:15px;background:#fbfdff}.anatomy-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.anatomy-topline p{margin:0;color:var(--muted);font-size:12px}.view-switch{display:flex;gap:5px;flex:none}.view-btn{min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue-700);padding:8px 10px;cursor:pointer;font-size:12px}.view-btn:hover,.view-btn:focus-visible{border-color:var(--blue-600);outline:3px solid var(--blue-100);outline-offset:1px}.view-btn.active{background:var(--blue-100);border-color:var(--blue-600);color:var(--blue-900);font-weight:700}
.map-hover{margin:14px 0 5px;min-height:20px;color:var(--blue-600);font-size:12px;font-weight:700}.anatomy-stage{background:linear-gradient(180deg,#f8fbfd,#eef4f8);border:1px solid #e1e9f0;border-radius:12px;padding:8px}.anatomy-stage svg{display:block;width:100%;height:520px}.body-base circle,.body-base path{fill:#e8c5ac;stroke:#b98f76;stroke-width:2}.body-base path:last-child{fill:#dcb9a1}.map-part{fill:#d8e0e7;stroke:#fff;stroke-width:2;cursor:pointer;transition:filter .15s,stroke .15s}.map-part:hover,.map-part:focus-visible{filter:brightness(.97);stroke:var(--blue-600);stroke-width:3;outline:none}.map-part.active{stroke:var(--blue-600);stroke-width:4}.spine-part{fill:#d1dbe3}.map-label{font-size:12px;fill:#35536c;font-weight:700;pointer-events:none}.is-hidden{display:none!important}.schematic-note{margin:8px 0 0;text-align:center;color:var(--muted);font-size:10px}
.info-card{padding:20px}.info-kicker{margin:0 0 4px;color:var(--muted);font-size:12px}.info-card h2{margin:0 0 8px;color:var(--blue-900);font-size:29px;line-height:1.15}.info-intro{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.6}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.topic-card{appearance:none;width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);padding:13px;text-align:left;cursor:pointer;color:var(--blue-900);min-height:82px}.topic-card:hover,.topic-card:focus-visible{border-color:var(--blue-600);outline:3px solid var(--blue-100);outline-offset:1px}.topic-card strong{display:block;font-size:14px;margin-bottom:4px}.topic-card span{display:block;color:var(--muted);font-size:12px;line-height:1.45}.article-back{appearance:none;border:0;background:none;color:var(--blue-600);padding:0;margin:0 0 12px;cursor:pointer;font-size:12px}.article-back:hover{text-decoration:underline}.article{border-top:1px solid var(--line);padding-top:16px}.article h3{font-size:21px;line-height:1.2;margin:0 0 10px;color:var(--blue-900)}.article h4{font-size:15px;margin:18px 0 6px;color:var(--blue-900)}.article p{font-size:13px;line-height:1.68;color:var(--muted);margin:0 0 10px}.article-meta{margin-top:17px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;line-height:1.55;color:var(--muted)}.loading{color:var(--muted);font-size:13px}.error{padding:12px;border-radius:9px;background:#fff5f5;border:1px solid #ead6d6;color:#744b4b;font-size:12px;line-height:1.55}
.principles{padding-top:30px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.principle{border-top:3px solid #c7d9e8;background:var(--surface-soft);padding:16px;border-radius:10px}.principle h3{margin:0 0 6px;font-size:14px;color:var(--blue-900)}.principle p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.site-footer{border-top:1px solid var(--line);background:#f8fafc}.footer-inner{max-width:1180px;margin:0 auto;padding:26px 24px;display:flex;justify-content:space-between;gap:22px;color:var(--muted);font-size:11px}.footer-inner strong,.footer-inner span{display:block}.footer-inner strong{color:var(--blue-900);font-size:12px;margin-bottom:3px}.footer-note{text-align:right;max-width:360px}
@media(max-width:930px){.map-layout{grid-template-columns:185px minmax(280px,1fr)}.info-card{grid-column:1/-1}.anatomy-stage svg{height:500px}}
@media(max-width:650px){.header-inner{padding:11px 16px}.main-nav{display:none}.hero-inner,.section{padding-left:16px;padding-right:16px}.hero-inner{padding-top:46px;padding-bottom:40px}.map-layout{grid-template-columns:1fr}.anatomy-card{order:-1}.region-list{grid-template-columns:1fr 1fr}.topic-grid{grid-template-columns:1fr}.principle-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;padding-left:16px;padding-right:16px}.footer-note{text-align:left}.anatomy-topline{flex-direction:column}.view-switch{width:100%}.view-btn{flex:1}.anatomy-stage svg{height:450px}}
@media(max-width:410px){.region-list{grid-template-columns:1fr}.anatomy-stage svg{height:410px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.map-part{transition:none}}
