*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:"Noto Sans SC","PingFang SC",sans-serif;font-size:16px;line-height:1.75;color:#333333;background-color:#F5F5F0;min-height:100vh;overflow-x:hidden}
main{display:block}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background-color:#FFD700;color:#333333}
[hidden]{display:none!important}
:root{
  --grass-green:#2E8B57;
  --dark-grass:#1B5E3A;
  --silver:#C0C0C0;
  --silver-light:#E0E0E0;
  --yellow:#FFD700;
  --deep-teal:#0B3D2E;
  --off-white:#F5F5F0;
  --gray-text:#333333;
  --accent-red:#E64B3C;
  --font-headline:"DIN Condensed","Noto Sans SC",sans-serif;
  --font-body:"Noto Sans SC","PingFang SC",sans-serif;
  --font-mono:"Roboto Mono","Courier New",monospace;
  --border-hard:3px solid #333333;
  --shadow-hard:6px 6px 0 #333333;
  --shadow-silver:4px 4px 0 #C0C0C0;
  color-scheme:light
}
.container{width:min(1240px,100% - 48px);margin-inline:auto}
.page-main{display:block;width:100%;min-height:60vh}
.skip-link{position:absolute;left:-999px;top:-999px;z-index:10001;display:inline-block;background-color:#FFD700;color:#333333;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-weight:700;font-size:14px;letter-spacing:.08em;padding:12px 20px;border:2px solid #333333;box-shadow:6px 6px 0 #333333;text-decoration:none}
.skip-link:focus-visible{left:16px;top:12px}
.reading-progress{position:fixed;top:0;left:0;height:5px;width:0;background-color:#FFD700;border-right:2px solid #333333;z-index:9900;pointer-events:none;will-change:width}
.site-header{position:relative;background-color:#F5F5F0;border-bottom:3px solid #333333;z-index:500}
.header-meta{background-color:#0B3D2E;background-image:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.04) 50%,rgba(255,255,255,.04) 75%,transparent 75%,transparent);background-size:14px 14px;border-bottom:2px solid #333333;color:#E0E0E0;font-family:"Roboto Mono","Courier New",monospace;font-size:12px;line-height:1;padding:7px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;overflow-x:auto;white-space:nowrap}
.header-meta__item{display:inline-flex;align-items:center;gap:8px;letter-spacing:.06em;white-space:nowrap}
.header-meta__item::before{content:"";width:6px;height:6px;background-color:#FFD700;border:1px solid #333333;flex-shrink:0;transform:rotate(45deg)}
.header-meta__item--motto{color:#FFD700;font-weight:700;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:14px;letter-spacing:.12em}
.header-meta__item--motto::before{background-color:#2E8B57}
.header-meta__item--sync,.header-meta__item--coord{letter-spacing:.08em}
.header-main{position:relative;background-color:#F5F5F0}
.header-main::after{content:"";position:absolute;right:0;bottom:-3px;width:32%;height:3px;background:repeating-linear-gradient(45deg,#FFD700 0,#FFD700 8px,#333333 8px,#333333 10px);z-index:2}
.header-main__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.brand{display:inline-flex;align-items:stretch;gap:12px;text-decoration:none;color:#333333;flex-shrink:0}
.brand__mark{display:inline-flex;align-items:center;justify-content:center;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:42px;font-weight:900;line-height:1;letter-spacing:-.02em;padding:6px 12px;background-color:#FFD700;border:3px solid #333333;box-shadow:5px 5px 0 #2E8B57;transition:transform .18s,box-shadow .18s}
.brand:hover .brand__mark{transform:translate(2px,2px);box-shadow:3px 3px 0 #2E8B57}
.brand__text{display:flex;flex-direction:column;justify-content:center}
.brand__text strong{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:22px;font-weight:700;line-height:1.05;letter-spacing:.08em;white-space:nowrap}
.brand__text small{font-family:"Roboto Mono","Courier New",monospace;font-size:10px;letter-spacing:.14em;color:#2E8B57;margin-top:5px;font-weight:600}
.nav-toggle{display:none;align-items:center;gap:8px;background-color:#F5F5F0;border:2px solid #333333;box-shadow:3px 3px 0 #333333;padding:8px 12px;cursor:pointer;font-family:"DIN Condensed","Noto Sans SC",sans-serif;transition:transform .15s,box-shadow .15s,background-color .2s}
.nav-toggle:hover{background-color:#E0E0E0}
.nav-toggle:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #333333}
.nav-toggle__box{display:inline-flex;flex-direction:column;gap:4px;width:20px;flex-shrink:0}
.nav-toggle__line{display:block;height:3px;background-color:#333333;border:1px solid #333333;transition:transform .25s ease,opacity .2s ease}
.nav-toggle__label{font-size:14px;font-weight:700;letter-spacing:.08em}
.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(1){transform:translateY(9px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.site-nav{display:flex;align-items:center}
.nav-list{display:flex;align-items:center;gap:8px}
.nav-list__item{margin:0}
.nav-list__link{display:inline-block;position:relative;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:16px;font-weight:700;letter-spacing:.06em;line-height:1;color:#0B3D2E;text-decoration:none;padding:10px 8px 12px;border:2px solid transparent;transition:color .2s,background-color .2s,transform .2s}
.nav-list__link::after{content:"";position:absolute;left:6px;right:6px;bottom:2px;height:4px;background-color:#FFD700;border-bottom:1px solid #333333;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.nav-list__link:hover{color:#333333}
.nav-list__link:hover::after{transform:scaleX(1)}
.nav-list__link[aria-current="page"]{background-color:#0B3D2E;color:#FFD700;border-color:#333333;transform:translate(-2px,-2px);box-shadow:3px 3px 0 #333333}
.nav-list__link[aria-current="page"]::after{transform:scaleX(0)}
.nav-list__item--cta{margin-left:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:16px;font-weight:700;letter-spacing:.06em;line-height:1;padding:11px 20px;background-color:#F5F5F0;color:#333333;border:2px solid #333333;box-shadow:4px 4px 0 #C0C0C0;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background-color .2s,color .2s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #333333;background-color:#E0E0E0}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 #333333}
.btn-download{background-color:#2E8B57;color:#F5F5F0;border-color:#333333;box-shadow:4px 4px 0 #333333;font-size:15px;padding:10px 16px}
.btn-download:hover{background-color:#FFD700;color:#333333;box-shadow:2px 2px 0 #333333}
.btn-download__icon{font-family:"Roboto Mono","Courier New",monospace;font-size:19px;font-weight:700;line-height:1}
.site-footer{position:relative;background-color:#0B3D2E;color:#E0E0E0;border-top:3px solid #333333;margin-top:64px}
.site-footer::before{content:"";position:absolute;top:-3px;left:0;width:140px;height:3px;background-color:#FFD700;z-index:2}
.site-footer::after{content:"";position:absolute;right:0;bottom:0;width:0;height:0;border-left:60px solid transparent;border-bottom:24px solid rgba(255,215,0,.45);z-index:1;pointer-events:none}
.footer-main{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr);gap:40px;padding:52px 24px 40px;width:min(1240px,100% - 48px);margin-inline:auto}
.footer-brand{display:flex;flex-direction:column;justify-content:flex-start}
.footer-slogan{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:30px;font-weight:800;letter-spacing:.08em;line-height:1.15;color:#FFD700;position:relative;padding-left:18px;margin-bottom:12px}
.footer-slogan::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:5px;background-color:#2E8B57;border:1px solid #333333}
.footer-trust{font-size:13px;line-height:1.85;color:#C0C0C0;max-width:320px;margin-top:4px}
.footer-heading{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:14px;font-weight:700;letter-spacing:.14em;color:#FFD700;padding-bottom:8px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.18);position:relative}
.footer-heading::after{content:"";position:absolute;left:0;bottom:-1px;width:42px;height:2px;background-color:#2E8B57}
.footer-nav{min-width:0}
.footer-nav--legal{border-left:1px solid rgba(255,255,255,.12);padding-left:20px}
.footer-nav__list{display:flex;flex-direction:column;gap:2px}
.footer-nav__list a{display:inline-block;font-size:14px;color:#E0E0E0;text-decoration:none;padding:5px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s,padding-left .2s}
.footer-nav__list a:hover{color:#FFD700;border-bottom-color:#FFD700;padding-left:6px}
.footer-contact{min-width:0}
.footer-contact p{font-size:13px;line-height:1.7;color:#E0E0E0;margin-bottom:4px}
.footer-contact__mail,.footer-contact__phone{font-family:"Roboto Mono","Courier New",monospace;font-size:13.5px;color:#F5F5F0}
.footer-contact__note{font-size:11px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.18);color:#C0C0C0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;width:min(1240px,100% - 48px);margin-inline:auto}
.footer-bottom__slogan{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:13px;font-weight:700;letter-spacing:.24em;color:#C0C0C0}
.footer-legal{display:flex;align-items:center;gap:10px 18px;font-size:12px;color:#C0C0C0;flex-wrap:wrap}
.footer-legal__copy{font-family:"Roboto Mono","Courier New",monospace;font-size:12px;color:#C0C0C0}
.footer-legal a{color:#E0E0E0;text-decoration:none;padding:2px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.footer-legal a:hover{color:#FFD700;border-bottom-color:#FFD700}
.footer-icp{font-family:"Roboto Mono","Courier New",monospace;color:#C0C0C0;font-size:12px}
.back-top{display:flex;align-items:center;justify-content:center;position:fixed;right:18px;bottom:18px;z-index:1000;width:48px;height:48px;background-color:#0B3D2E;color:#FFD700;border:2px solid #333333;box-shadow:4px 4px 0 #333333;cursor:pointer;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:22px;font-weight:800;line-height:1;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,visibility .25s,transform .25s,background-color .2s,box-shadow .2s}
.back-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-top:hover{background-color:#FFD700;color:#333333;box-shadow:2px 2px 0 #333333;transform:translate(-2px,-2px)}
.breadcrumb{margin:24px 0;padding:8px 14px;background-color:#F5F5F0;border:1px solid #C0C0C0;border-left:4px solid #2E8B57;box-shadow:2px 2px 0 #E0E0E0;width:100%}
.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-size:13px;font-weight:600}
.breadcrumb__item{display:inline-flex;align-items:center}
.breadcrumb__item + .breadcrumb__item::before{content:"/";margin:0 8px;font-family:"Roboto Mono","Courier New",monospace;font-weight:700;color:#2E8B57}
.breadcrumb__link{color:#0B3D2E;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.breadcrumb__link:hover{color:#2E8B57;border-bottom-color:#2E8B57}
.breadcrumb__item--current{color:#333333;font-weight:700}
.page-hero{position:relative;background:linear-gradient(135deg,#0B3D2E 0%,#1B5E3A 55%,#2E8B57 115%);border-top:2px solid #C0C0C0;border-bottom:3px solid #333333;color:#F5F5F0;padding:52px 24px 44px;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;background-color:rgba(255,215,0,.14);transform:rotate(45deg);border:2px solid rgba(255,215,0,.3)}
.page-hero__index{font-family:"Roboto Mono","Courier New",monospace;font-size:12px;letter-spacing:.26em;color:#FFD700;display:block;margin-bottom:10px}
.page-hero__title{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:46px;font-weight:800;line-height:1.1;letter-spacing:.04em;color:#F5F5F0;max-width:900px}
.page-hero__meta{font-size:14px;color:#E0E0E0;margin-top:10px;letter-spacing:.02em}
.section{padding-block:44px 56px}
.section--split{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px;align-items:start}
.section-title__label{font-family:"Roboto Mono","Courier New",monospace;font-size:12px;font-weight:600;letter-spacing:.22em;color:#2E8B57;display:block;margin-bottom:8px}
.section-title{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:34px;font-weight:800;line-height:1.18;letter-spacing:.03em;color:#333333;margin-bottom:10px}
.section-note{font-size:13px;line-height:1.7;color:#333333;border-left:4px solid #FFD700;padding-left:14px;max-width:400px}
.chapter-index{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:chapter}
.chapter-index__item{counter-increment:chapter;border:2px solid #333333;background-color:#F5F5F0;box-shadow:5px 5px 0 #C0C0C0;padding:18px;text-decoration:none;color:#333333;transition:transform .2s,box-shadow .2s;position:relative}
.chapter-index__item::before{content:"0" counter(chapter);font-family:"Roboto Mono","Courier New",monospace;font-size:12px;color:#2E8B57;letter-spacing:.1em}
.chapter-index__item:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #2E8B57}
.chapter-index__title{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:20px;font-weight:800;margin-top:8px;display:block}
.chapter-index__note{font-size:12px;margin-top:4px;display:block}
.data-card{background-color:#F5F5F0;border:2px solid #333333;box-shadow:4px 4px 0 #C0C0C0;padding:18px 16px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
.data-card::before{content:"";position:absolute;left:-2px;top:12px;width:4px;height:24px;background-color:#2E8B57}
.data-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #E0E0E0;border-color:#0B3D2E}
.data-card__value{font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:34px;font-weight:800;line-height:1.1;color:#0B3D2E;letter-spacing:.02em}
.data-card__label{font-size:13px;font-weight:600;color:#333333;margin-top:6px}
.data-card__note{font-family:"Roboto Mono","Courier New",monospace;font-size:11px;letter-spacing:.08em;color:#2E8B57;margin-top:10px;border-top:1px dashed #C0C0C0;padding-top:8px}
.data-table{width:100%;border-collapse:collapse;font-size:14px;background-color:#F5F5F0;border:2px solid #333333}
.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid #E0E0E0;text-align:left}
.data-table thead th{background-color:#0B3D2E;color:#FFD700;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;border-bottom:2px solid #333333}
.data-table tbody tr:nth-child(even){background-color:#E0E0E0}
.data-table tbody tr:hover{background-color:rgba(255,215,0,.18)}
.data-table td:first-child{font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;background-color:#F5F5F0;border:2px solid #333333;box-shadow:4px 4px 0 #E0E0E0;padding:10px 16px;font-size:12px;font-weight:600}
.legend__item{display:inline-flex;align-items:center;gap:7px}
.legend__dot{width:12px;height:12px;border:1px solid #333333;background-color:#2E8B57;flex-shrink:0;transform:rotate(45deg)}
.legend__dot--yellow{background-color:#FFD700}
.legend__dot--red{background-color:#E64B3C}
.tab-list{display:flex;flex-wrap:wrap;gap:8px;border-bottom:3px solid #333333;padding-bottom:8px;margin-bottom:20px}
.tab-btn{display:inline-flex;align-items:center;justify-content:center;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:15px;font-weight:700;letter-spacing:.07em;line-height:1;padding:10px 18px;background-color:#F5F5F0;color:#333333;border:2px solid #333333;box-shadow:3px 3px 0 #C0C0C0;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}
.tab-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #C0C0C0}
.tab-btn[aria-selected="true"]{background-color:#0B3D2E;color:#FFD700;border-color:#333333;box-shadow:4px 4px 0 #FFD700}
.tab-panel{animation:tab-panel-in .22s ease}
@keyframes tab-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.img-placeholder{display:block;width:100%;aspect-ratio:16 / 9;background-color:#E0E0E0;border:2px solid #333333;box-shadow:6px 6px 0 #E0E0E0;position:relative;overflow:hidden}
.img-placeholder::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(46,139,87,.12) 50%,transparent 70%)}
.img-placeholder::after{content:"IMG";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"DIN Condensed","Noto Sans SC",sans-serif;font-size:26px;font-weight:800;letter-spacing:.14em;color:rgba(51,51,51,.55)}
.img-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
[data-reveal].is-visible{opacity:1;transform:none}
@media (max-width:1100px){
  .nav-list__link{font-size:15px;padding-inline:5px}
  .nav-list{gap:4px}
  .brand__text strong{font-size:20px}
  .brand__mark{font-size:38px;padding:5px 10px}
  .footer-main{grid-template-columns:1.5fr 1fr 1fr}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:900px){
  .nav-toggle{display:inline-flex}
  .site-nav{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:900;background-color:#F5F5F0;border-bottom:3px solid #333333;box-shadow:0 10px 14px rgba(51,51,51,.16);max-height:0;opacity:0;overflow:hidden;visibility:hidden;transition:max-height .35s ease,opacity .22s ease,visibility .35s}
  .site-nav.is-open{max-height:88vh;opacity:1;visibility:visible;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 16px}
  .nav-list__item{border-bottom:1px solid #E0E0E0}
  .nav-list__item:last-of-type{border-bottom:none}
  .nav-list__link{display:block;padding:14px 6px;font-size:17px;border:none;border-left:4px solid transparent;color:#0B3D2E}
  .nav-list__link::after{display:none}
  .nav-list__link:hover{border-left-color:#2E8B57;background-color:#E0E0E0}
  .nav-list__link[aria-current="page"]{background-color:#0B3D2E;color:#FFD700;border-left-color:#FFD700;box-shadow:none;transform:none}
  .nav-list__item--cta{margin-left:0;padding-top:14px;border-bottom:none}
  .btn-download{width:100%;padding:13px 18px;font-size:16px}
  .header-meta__item--coord{display:none}
  .footer-main{grid-template-columns:1fr 1fr;gap:32px 28px;padding-top:44px}
  .footer-brand{grid-column:1 / -1}
  .footer-contact{grid-column:1 / -1}
  .footer-nav--legal{border-left:none;padding-left:0}
  .chapter-index{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .container{width:min(1240px,100% - 32px)}
  .header-meta{padding:6px 16px;font-size:11px}
  .header-meta__item--sync{display:none}
  .header-main__inner{padding-block:10px;gap:10px}
  .brand{gap:8px}
  .brand__mark{font-size:32px;padding:4px 8px;box-shadow:4px 4px 0 #2E8B57}
  .brand__text strong{font-size:17px}
  .brand__text small{display:none}
  .nav-toggle{padding:7px 10px}
  .nav-toggle__label{display:none}
  .section--split{grid-template-columns:1fr;gap:20px}
  .page-hero{padding:36px 16px 30px}
  .page-hero__title{font-size:32px}
  .page-hero__index{font-size:11px}
  .footer-main{grid-template-columns:1fr;padding:36px 16px 28px;width:min(1240px,100% - 32px);gap:28px}
  .footer-bottom{padding:14px 16px;width:min(1240px,100% - 32px);flex-direction:column;align-items:flex-start}
  .footer-legal{gap:8px 14px;font-size:11px}
  .footer-legal__copy{font-size:11px}
  .back-top{right:12px;bottom:12px;width:42px;height:42px;font-size:19px}
  .chapter-index{grid-template-columns:1fr}
  .section{padding-block:32px 40px}
  .section-title{font-size:28px}
  .breadcrumb{margin:16px 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1;transform:none}
  .tab-panel{animation:none}
}
a:focus-visible,button:focus-visible{outline:3px solid #FFD700;outline-offset:2px;box-shadow:3px 3px 0 #333333}
