:root{
  --main:#10b981;
  --accent:#fbbf24;
  --bg:#0a1410;
  --text:#ecfdf5;
  --bg-soft:#0f1f19;
  --bg-card:#12241c;
  --line:rgba(236,253,245,.10);
  --muted:rgba(236,253,245,.62);
  --radius:8px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Noto Sans SC","Inter",system-ui,-apple-system,sans-serif;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:"Noto Serif SC","Inter",serif;}
a{text-decoration:none;color:inherit;}
::selection{background:var(--main);color:#04120c;}
/* progress bar */
#readProgress{
  position:fixed;top:0;left:0;height:3px;width:0%;z-index:2000;
  background:linear-gradient(90deg,var(--main),var(--accent));
  box-shadow:0 0 12px rgba(16,185,129,.6);
  transition:width .08s linear;
}
/* navbar */
.nav-shell{
  position:sticky;top:0;z-index:1030;
  background:rgba(10,20,16,.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.navbar-brand{
  font-family:"Noto Serif SC",serif;
  font-weight:900;font-size:1.5rem;letter-spacing:.02em;
  color:var(--text)!important;
  display:flex;align-items:center;gap:.55rem;
}
.navbar-brand .brand-dot{
  width:11px;height:11px;border-radius:50%;
  background:var(--main);box-shadow:0 0 0 4px rgba(16,185,129,.18);
}
.nav-link-x{
  color:var(--muted)!important;font-size:.94rem;font-weight:500;
  padding:.5rem .8rem!important;border-radius:var(--radius);
  transition:color .2s,background .2s;
}
.nav-link-x:hover,.nav-link-x.active{color:var(--text)!important;background:rgba(16,185,129,.12);}
.nav-toggle-btn{
  background:transparent;border:1px solid var(--line);color:var(--text);
  border-radius:var(--radius);padding:.4rem .7rem;
}
/* hero */
.hero{
  position:relative;overflow:hidden;
  padding:5rem 0 4rem;
  border-bottom:1px solid var(--line);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 78% 18%,rgba(16,185,129,.20),transparent 42%),
    radial-gradient(circle at 12% 82%,rgba(251,191,36,.10),transparent 46%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:2;}
.hero-title{
  font-size:clamp(2.3rem,5.4vw,4.1rem);
  font-weight:900;line-height:1.12;letter-spacing:-.01em;
  margin-bottom:1.2rem;
}
.hero-title em{
  font-style:normal;
  background:linear-gradient(90deg,var(--main),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{
  color:var(--muted);font-size:1.06rem;line-height:1.85;max-width:34rem;font-weight:300;
}
.btn-main{
  background:var(--main);color:#04120c;font-weight:700;
  border:none;border-radius:var(--radius);padding:.78rem 1.7rem;
  transition:transform .18s,box-shadow .18s;
}
.btn-main:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,185,129,.34);color:#04120c;}
.btn-ghost{
  background:transparent;color:var(--text);font-weight:600;
  border:1px solid rgba(236,253,245,.24);border-radius:var(--radius);
  padding:.78rem 1.7rem;transition:border-color .18s,background .18s;
}
.btn-ghost:hover{border-color:var(--main);background:rgba(16,185,129,.10);color:var(--text);}
.hero-mini-stat{display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:2.4rem;}
.hero-mini-stat div span{display:block;font-weight:800;font-size:1.35rem;font-family:"Noto Serif SC",serif;}
.hero-mini-stat div small{color:var(--muted);font-size:.8rem;letter-spacing:.06em;}
/* hero slider */
.slider-frame{
  position:relative;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:var(--bg-card);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.slide{display:none;position:relative;aspect-ratio:16/10;}
.slide.active{display:block;animation:fadeSlide .5s ease;}
@keyframes fadeSlide{from{opacity:0;transform:scale(1.02);}to{opacity:1;transform:scale(1);}}
.slide img{width:100%;height:100%;object-fit:cover;display:block;}
.slide .slide-mask{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,20,16,.05) 30%,rgba(10,20,16,.92) 100%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.5rem;
}
.slide-mask h3{font-size:1.45rem;font-weight:800;margin:0 0 .35rem;}
.slide-mask p{color:var(--muted);font-size:.83rem;margin:0 0 .6rem;}
.slide-mask .tag{
  display:inline-block;background:rgba(251,191,36,.16);color:var(--accent);
  border:1px solid rgba(251,191,36,.36);
  font-size:.72rem;padding:.12rem .5rem;border-radius:4px;margin-right:.35rem;
}
.slider-dots{position:absolute;bottom:.7rem;right:1rem;display:flex;gap:.4rem;z-index:5;}
.slider-dots button{
  width:8px;height:8px;border-radius:50%;border:none;padding:0;
  background:rgba(236,253,245,.34);transition:background .2s,transform .2s;
}
.slider-dots button.on{background:var(--main);transform:scale(1.3);}
/* section */
.sec{padding:4.2rem 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;}
.sec-title{
  font-size:clamp(1.7rem,3vw,2.35rem);font-weight:900;letter-spacing:-.01em;margin:0;
}
.sec-title .accent-line{
  display:inline-block;width:6px;height:1.9rem;background:var(--main);
  border-radius:3px;margin-right:.7rem;vertical-align:-2px;
}
.sec-desc{color:var(--muted);font-size:.95rem;font-weight:300;max-width:34rem;margin:.5rem 0 0;}
.sec-link{color:var(--main);font-size:.9rem;font-weight:600;}
.sec-link:hover{color:var(--accent);}
.alt-bg{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
/* poster grid */
.poster-grid{
  display:grid;gap:1.15rem;
  grid-template-columns:repeat(auto-fill,minmax(158px,1fr));
}
.p-card{
  border-radius:var(--radius);overflow:hidden;background:var(--bg-card);
  border:1px solid var(--line);cursor:pointer;position:relative;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.p-card:hover{transform:scale(1.035);border-color:rgba(16,185,129,.62);box-shadow:0 14px 32px rgba(0,0,0,.5);}
.p-thumb{position:relative;aspect-ratio:2/3;overflow:hidden;background:#0d1a15;}
.p-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.p-card:hover .p-thumb img{transform:scale(1.07);}
.p-thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(4,12,9,.86) 100%);
  pointer-events:none;
}
.p-score{
  position:absolute;top:.5rem;right:.5rem;z-index:3;
  background:rgba(10,20,16,.78);color:var(--accent);
  font-size:.74rem;font-weight:800;padding:.1rem .42rem;border-radius:4px;
  border:1px solid rgba(251,191,36,.4);backdrop-filter:blur(4px);
}
.p-play{
  position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .22s ease;pointer-events:none;
}
.p-play i{
  width:46px;height:46px;border-radius:50%;
  background:rgba(16,185,129,.92);color:#04120c;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
  box-shadow:0 6px 20px rgba(16,185,129,.5);
}
.p-card:hover .p-play{opacity:1;}
.p-meta{position:absolute;left:.55rem;right:.55rem;bottom:.5rem;z-index:4;}
.p-meta h4{
  font-size:.85rem;font-weight:700;margin:0 0 .12rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-family:"Noto Sans SC",sans-serif;
}
.p-meta small{color:rgba(236,253,245,.7);font-size:.7rem;}
/* ranking */
.rank-list{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.rank-item{
  display:flex;align-items:center;gap:.9rem;padding:.62rem .8rem;
  background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
  cursor:pointer;transition:border-color .2s,transform .2s,background .2s;
}
.rank-item:hover{border-color:rgba(16,185,129,.6);transform:translateX(4px);background:#16291f;}
.rank-num{
  font-family:"Noto Serif SC",serif;font-weight:900;font-size:1.25rem;
  color:rgba(236,253,245,.28);min-width:1.9rem;text-align:center;
}
.rank-item:nth-child(1) .rank-num{color:var(--accent);}
.rank-item:nth-child(2) .rank-num{color:#d1d5db;}
.rank-item:nth-child(3) .rank-num{color:#cd7f32;}
.rank-thumb{width:44px;height:60px;border-radius:5px;overflow:hidden;flex-shrink:0;background:#0d1a15;}
.rank-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rank-info{flex:1;min-width:0;}
.rank-info h5{font-size:.9rem;font-weight:700;margin:0 0 .1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rank-info small{color:var(--muted);font-size:.73rem;}
.rank-score{color:var(--accent);font-weight:800;font-size:.9rem;font-family:"Noto Serif SC",serif;}
/* category matrix */
.cat-matrix{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}
.cat-tile{
  position:relative;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);aspect-ratio:16/9;display:block;
  transition:transform .22s,border-color .22s;
}
.cat-tile:hover{transform:translateY(-4px);border-color:rgba(16,185,129,.62);}
.cat-tile img{width:100%;height:100%;object-fit:cover;display:block;}
.cat-tile .cat-mask{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:.85rem;background:linear-gradient(180deg,rgba(10,20,16,.1) 20%,rgba(10,20,16,.9) 100%);
}
.cat-mask h4{font-size:1rem;font-weight:800;margin:0;font-family:"Noto Serif SC",serif;}
.cat-mask small{color:var(--muted);font-size:.72rem;}
/* step bar */
.steps{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:st;}
.step-card{
  background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.35rem 1.2rem;position:relative;transition:border-color .2s;
}
.step-card:hover{border-color:rgba(16,185,129,.6);}
.step-card::before{
  counter-increment:st;content:"0" counter(st);
  font-family:"Noto Serif SC",serif;font-weight:900;font-size:1.5rem;
  color:var(--main);display:block;margin-bottom:.5rem;opacity:.9;
}
.step-card h4{font-size:1rem;font-weight:700;margin:0 0 .4rem;}
.step-card p{color:var(--muted);font-size:.85rem;line-height:1.75;margin:0;font-weight:300;}
/* feature cards */
.feature-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.f-card{
  background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.6rem 1.35rem;transition:transform .22s,border-color .22s,box-shadow .22s;
}
.f-card:hover{transform:translateY(-4px);border-color:rgba(16,185,129,.6);box-shadow:0 16px 34px rgba(0,0,0,.4);}
.f-icon{
  width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;
  background:rgba(16,185,129,.14);color:var(--main);font-size:1.1rem;margin-bottom:.95rem;
}
.f-card h4{font-size:1.05rem;font-weight:700;margin:0 0 .5rem;}
.f-card p{color:var(--muted);font-size:.87rem;line-height:1.8;margin:0;font-weight:300;}
/* random picker */
.picker-box{
  background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
  padding:2rem 1.6rem;text-align:center;
}
.picker-result{
  min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;
  margin-bottom:1.4rem;
}
.picker-result .pk-name{font-family:"Noto Serif SC",serif;font-size:1.5rem;font-weight:900;color:var(--main);}
.picker-result .pk-desc{color:var(--muted);font-size:.9rem;font-weight:300;max-width:32rem;line-height:1.8;}
.picker-result .pk-tag{font-size:.75rem;color:var(--accent);letter-spacing:.08em;}
/* review list */
.review-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.review-item{
  background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.15rem 1.2rem;transition:border-color .2s,transform .2s;
}
.review-item:hover{border-color:rgba(251,191,36,.5);transform:translateY(-3px);}
.review-item h5{font-size:1rem;font-weight:800;margin:0 0 .35rem;font-family:"Noto Serif SC",serif;}
.review-item h5 span{font-size:.72rem;color:var(--main);font-weight:600;margin-left:.5rem;font-family:"Noto Sans SC",sans-serif;}
.review-item p{color:var(--muted);font-size:.86rem;line-height:1.8;margin:0;font-weight:300;}
/* modal */
.modal-x{
  position:fixed;inset:0;z-index:2055;display:none;
  align-items:center;justify-content:center;padding:1rem;
  background:rgba(4,10,8,.78);backdrop-filter:blur(6px);
}
.modal-x.open{display:flex;animation:fadeIn .22s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.modal-card{
  background:#f4fdf9;color:#0a1a14;border-radius:12px;overflow:hidden;
  width:100%;max-width:760px;max-height:90vh;overflow-y:auto;position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.65);animation:popIn .26s cubic-bezier(.2,.9,.3,1.2);
}
@keyframes popIn{from{transform:scale(.94) translateY(10px);opacity:0;}to{transform:scale(1) translateY(0);opacity:1;}}
.modal-close{
  position:absolute;top:.7rem;right:.7rem;z-index:5;
  width:34px;height:34px;border-radius:50%;border:none;
  background:rgba(10,26,20,.10);color:#0a1a14;font-size:1rem;
  display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.modal-close:hover{background:rgba(10,26,20,.2);}
.modal-body-x{display:grid;grid-template-columns:190px 1fr;gap:0;}
.modal-poster{background:#0a1410;}
.modal-poster img{width:100%;height:100%;object-fit:cover;display:block;min-height:280px;}
.modal-info{padding:1.5rem 1.5rem 1.7rem;}
.modal-info h3{font-family:"Noto Serif SC",serif;font-size:1.5rem;font-weight:900;margin:0 0 .55rem;padding-right:2rem;}
.modal-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;}
.modal-tags span{
  font-size:.73rem;padding:.16rem .5rem;border-radius:4px;
  background:rgba(16,185,129,.14);color:#0b7a56;font-weight:600;
}
.modal-tags span.gold{background:rgba(251,191,36,.2);color:#8a6208;}
.modal-row{display:flex;gap:.5rem;font-size:.85rem;margin-bottom:.42rem;line-height:1.6;}
.modal-row b{color:#3b564c;font-weight:600;min-width:3.2rem;flex-shrink:0;font-size:.82rem;}
.modal-row span{color:#16332a;}
.modal-plot{margin-top:.9rem;font-size:.86rem;line-height:1.85;color:#284a3f;}
/* footer */
footer.site-foot{
  background:var(--bg-soft);border-top:1px solid var(--line);padding:3.2rem 0 1.6rem;
}
.foot-brand{font-family:"Noto Serif SC",serif;font-weight:900;font-size:1.35rem;margin-bottom:.7rem;}
.foot-desc{color:var(--muted);font-size:.86rem;line-height:1.85;max-width:26rem;font-weight:300;}
.foot-col h6{font-size:.82rem;letter-spacing:.1em;color:var(--main);font-weight:700;margin-bottom:.9rem;text-transform:uppercase;}
.foot-col a{display:block;color:var(--muted);font-size:.87rem;margin-bottom:.5rem;transition:color .2s;}
.foot-col a:hover{color:var(--accent);}
.friend-links{
  border-top:1px solid var(--line);padding-top:1.6rem;margin-top:2.2rem;
}
.friend-links h6{font-size:.85rem;color:var(--main);font-weight:700;letter-spacing:.1em;margin-bottom:.8rem;}
.friend-links .fl-wrap{color:var(--muted);font-size:.84rem;line-height:2;}
.foot-bottom{
  border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.3rem;
  color:rgba(236,253,245,.45);font-size:.8rem;display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;
}
#backTop{
  position:fixed;right:1.15rem;bottom:1.4rem;z-index:1500;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(16,185,129,.5);
  background:rgba(16,185,129,.16);color:var(--main);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .28s,transform .28s,visibility .28s,background .2s;
  backdrop-filter:blur(6px);cursor:pointer;
}
#backTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backTop:hover{background:var(--main);color:#04120c;}
@media(max-width:767px){
  .hero{padding:3.2rem 0 2.6rem;}
  .sec{padding:2.9rem 0;}
  .poster-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.75rem;}
  .p-meta h4{font-size:.76rem;}
  .modal-body-x{grid-template-columns:1fr;}
  .modal-poster img{min-height:200px;max-height:260px;}
  .hero-mini-stat{gap:1.4rem;}
  .modal-info{padding:1.2rem 1.15rem 1.4rem;}
}

/* --- 子页面追加 --- */
.about-hero {padding:64px 0 44px;position:relative;overflow:hidden;}
.about-hero::after {content:"";position:absolute;inset:auto -10% -60% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.18),transparent 65%);pointer-events:none;}
.about-badge {display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg-soft);color:var(--accent);font-size:.82rem;letter-spacing:.04em;margin-bottom:18px;}
.about-title {font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1.25;letter-spacing:-.01em;}
.about-title em {font-style:normal;color:var(--main);}
.about-lead {color:var(--muted);font-size:1.02rem;line-height:1.9;max-width:760px;margin-top:18px;}
.stat-row {display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px;}
.stat-cell {background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;text-align:center;}
.stat-cell b {display:block;font-size:1.5rem;font-weight:800;color:var(--main);font-family:"Inter",sans-serif;}
.stat-cell span {font-size:.8rem;color:var(--muted);}
.blk {background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;height:100%;transition:border-color .25s ease,transform .25s ease;}
.blk:hover {border-color:rgba(16,185,129,.45);transform:translateY(-3px);}
.blk-ico {width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(16,185,129,.14);color:var(--main);font-size:1.05rem;margin-bottom:14px;}
.blk h3 {font-size:1.05rem;font-weight:700;margin-bottom:10px;}
.blk p {color:var(--muted);font-size:.92rem;line-height:1.85;margin:0;}
.rule-list {list-style:none;padding:0;margin:0;}
.rule-list li {display:flex;gap:14px;padding:16px 0;border-bottom:1px dashed var(--line);}
.rule-list li:last-child {border-bottom:none;}
.rule-idx {flex:0 0 34px;height:34px;border-radius:8px;background:rgba(251,191,36,.14);color:var(--accent);font-family:"Inter",sans-serif;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.rule-list h4 {font-size:.98rem;font-weight:700;margin:0 0 6px;}
.rule-list p {margin:0;color:var(--muted);font-size:.9rem;line-height:1.8;}
.timeline {border-left:2px solid var(--line);padding-left:26px;margin:0;list-style:none;}
.timeline li {position:relative;padding-bottom:26px;}
.timeline li:last-child {padding-bottom:0;}
.timeline li::before {content:"";position:absolute;left:-33px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--main);box-shadow:0 0 0 4px rgba(16,185,129,.15);}
.timeline b {display:block;color:var(--accent);font-family:"Inter",sans-serif;font-size:.86rem;letter-spacing:.06em;margin-bottom:4px;}
.timeline h4 {font-size:1rem;font-weight:700;margin:0 0 6px;}
.timeline p {color:var(--muted);font-size:.9rem;line-height:1.8;margin:0;}
.quote-box {border-left:3px solid var(--main);background:var(--bg-soft);border-radius:0 var(--radius) var(--radius) 0;padding:20px 22px;color:var(--text);font-size:.96rem;line-height:1.9;}
.quote-box span {display:block;margin-top:10px;color:var(--muted);font-size:.84rem;}
.cta-band {background:linear-gradient(120deg,rgba(16,185,129,.16),rgba(251,191,36,.10));border:1px solid var(--line);border-radius:var(--radius);padding:34px 26px;text-align:center;}
.cta-band h2 {font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:800;margin-bottom:10px;}
.cta-band p {color:var(--muted);max-width:620px;margin:0 auto 20px;line-height:1.85;font-size:.94rem;}
.cta-band .btn-main,.cta-band .btn-ghost {margin:4px 6px;}
.foot-x {border-top:1px solid var(--line);padding:36px 0 26px;color:var(--muted);font-size:.88rem;}
.foot-x a {color:var(--muted);text-decoration:none;}
.foot-x a:hover {color:var(--main);}
.foot-links {display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0;}
.stat-row {grid-template-columns:repeat(2,1fr);}
.about-hero {padding:44px 0 30px;}

/* --- 子页面追加 --- */
.nav-link-x:hover {color:var(--text);background:rgba(16,185,129,.10);}
.hero-mini-stat i {color:var(--accent);}
.sec-title span {color:var(--main);}
.doc-card {background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;height:100%;transition:.22s;}
.doc-card:hover {border-color:rgba(16,185,129,.34);transform:translateY(-2px);}
.doc-ico {width:42px;height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(16,185,129,.12);color:var(--main);font-size:1.05rem;margin-bottom:14px;}
.doc-ico.warn {background:rgba(251,191,36,.12);color:var(--accent);}
.doc-card h3 {font-size:1.06rem;font-weight:700;margin:0 0 .55rem;line-height:1.5;}
.doc-card p {color:var(--muted);font-size:.92rem;line-height:1.85;margin:0;}
.doc-list {list-style:none;padding:0;margin:0;}
.doc-list li {position:relative;padding:14px 0 14px 30px;border-bottom:1px dashed var(--line);color:var(--muted);font-size:.94rem;line-height:1.85;}
.doc-list li:last-child {border-bottom:none;}
.doc-list li::before {content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:15px;font-size:.78rem;color:var(--main);}
.doc-list li strong {color:var(--text);font-weight:600;}
.panel {background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.panel + .panel {margin-top:18px;}
.panel h3 {font-size:1.04rem;font-weight:700;margin:0 0 .7rem;}
.panel p {color:var(--muted);font-size:.93rem;line-height:1.9;margin:0 0 .7rem;}
.panel p:last-child {margin-bottom:0;}
.panel .tag {display:inline-block;font-size:.76rem;color:var(--accent);border:1px solid rgba(251,191,36,.3);background:rgba(251,191,36,.08);border-radius:999px;padding:.16rem .6rem;margin-bottom:.7rem;letter-spacing:.4px;}
.notice-bar {display:flex;gap:.75rem;align-items:flex-start;background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.25);border-radius:var(--radius);padding:14px 16px;margin-bottom:26px;}
.notice-bar i {color:var(--accent);margin-top:.2rem;}
.notice-bar p {margin:0;color:var(--muted);font-size:.9rem;line-height:1.8;}
.notice-bar strong {color:var(--accent);}
.foot-brand .brand-dot {width:10px;height:10px;border-radius:50%;background:var(--main);}
.foot-links a {color:var(--muted);font-size:.9rem;text-decoration:none;transition:.2s;}
.foot-links a:hover {color:var(--main);}
.foot-copy {border-top:1px solid var(--line);margin-top:26px;padding-top:18px;color:var(--muted);font-size:.82rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;}
.foot-copy a {color:var(--muted);text-decoration:none;}
.foot-copy a:hover {color:var(--main);}

/* --- 子页面追加 --- */
.guide-wrap {max-width:960px;margin:0 auto;}
.guide-step {display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);}
.guide-step:last-child {border-bottom:none;}
.guide-num {flex:0 0 46px;height:46px;border-radius:50%;background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.4);color:var(--main);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;}
.guide-step h3 {font-size:1.08rem;font-weight:700;margin:0 0 8px;color:var(--text);}
.guide-step p {color:var(--muted);font-size:.95rem;line-height:1.85;margin:0;}
.faq-item {background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:14px;}
.faq-item h3 {font-size:1rem;font-weight:700;color:var(--text);margin:0 0 10px;display:flex;align-items:flex-start;gap:10px;}
.faq-item h3 i {color:var(--accent);margin-top:3px;font-size:.9rem;}
.faq-item p {color:var(--muted);font-size:.94rem;line-height:1.8;margin:0;}
.tip-card {background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:24px;height:100%;}
.tip-card .tip-ico {width:44px;height:44px;border-radius:10px;background:rgba(251,191,36,.12);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:14px;}
.tip-card h3 {font-size:1.02rem;font-weight:700;color:var(--text);margin:0 0 10px;}
.tip-card p {color:var(--muted);font-size:.92rem;line-height:1.8;margin:0;}
.key-table {width:100%;border-collapse:collapse;}
.key-table th,.key-table td {padding:14px 16px;text-align:left;font-size:.93rem;border-bottom:1px solid var(--line);}
.key-table th {color:var(--accent);font-weight:700;background:rgba(251,191,36,.06);}
.key-table td {color:var(--muted);}
.key-table td:first-child {color:var(--text);font-weight:600;white-space:nowrap;}
.key-table tr:last-child td {border-bottom:none;}
.table-scroll {overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);}
.guide-step {gap:12px;}
.guide-num {flex:0 0 38px;height:38px;font-size:.92rem;}

/* --- 子页面追加 --- */
/* ===== 页面专属少量样式 ===== */
    .contact-hero {
      padding: 64px 0 40px;
      background:
        radial-gradient(900px 380px at 15% -10%, rgba(16,185,129,.20), transparent 65%),
        radial-gradient(700px 320px at 90% 0%, rgba(251,191,36,.10), transparent 60%);
      border-bottom: 1px solid var(--line);
    }
.contact-hero .kicker {
      display: inline-flex; align-items: center; gap: 8px;
      font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
      color: var(--accent); font-weight: 700; margin-bottom: 14px;
    }
.contact-hero h1 {
      font-weight: 800; font-size: clamp(1.7rem, 3.4vw, 2.6rem);
      line-height: 1.28; margin-bottom: 14px;
    }
.contact-hero h1 .hl { color: var(--main); }
.contact-hero p {
      color: var(--muted); max-width: 720px; font-size: 1.02rem; line-height: 1.85; margin-bottom: 0;
    }
.ch-item {
      background: var(--bg-card);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 26px 24px;
      height: 100%;
      transition: border-color .2s ease, transform .2s ease;
    }
.ch-item:hover { border-color: rgba(16,185,129,.55); transform: translateY(-3px); }
.ch-ico {
      width: 46px; height: 46px; border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      background: rgba(16,185,129,.14); color: var(--main);
      font-size: 1.15rem; margin-bottom: 16px;
    }
.ch-item h3 {
      font-size: 1.06rem; font-weight: 700; margin-bottom: 10px; color: var(--text);
    }
.ch-item p { color: var(--muted); font-size: .92rem; line-height: 1.8; margin-bottom: 14px; }
.ch-mail {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: "Inter",monospace; font-size: .92rem;
      color: var(--accent); font-weight: 600; word-break: break-all;
      text-decoration: none;
    }
.ch-mail:hover { color: var(--main); }
.ch-note { display: block; margin-top: 10px; font-size: .8rem; color: var(--muted); }
.faq-block {
      background: var(--bg-soft);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 24px 26px;
      margin-bottom: 14px;
    }
.faq-block h3 {
      font-size: 1rem; font-weight: 700; margin-bottom: 10px; color: var(--text);
      display: flex; align-items: flex-start; gap: 10px;
    }
.faq-block h3 i { color: var(--main); font-size: .95rem; margin-top: 4px; flex: 0 0 auto; }
.faq-block p { color: var(--muted); font-size: .92rem; line-height: 1.85; margin-bottom: 0; }
.faq-block p strong { color: var(--text); font-weight: 600; }
.report-form {
      background: var(--bg-card);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 30px 28px;
    }
.report-form .form-label {
      font-size: .86rem; font-weight: 600; color: var(--text); margin-bottom: 6px;
    }
.report-form .form-control,
    .report-form .form-select {
      background: rgba(0,0,0,.35);
      border: 1px solid var(--line);
      color: var(--text);
      border-radius: 6px;
      font-size: .92rem;
      padding: 10px 12px;
    }
.report-form .form-control::placeholder { color: rgba(236,253,245,.38); }
.report-form .form-control:focus,
    .report-form .form-select:focus {
      background: rgba(0,0,0,.45);
      color: var(--text);
      border-color: var(--main);
      box-shadow: 0 0 0 3px rgba(16,185,129,.18);
    }
.report-form .form-select option { background: var(--bg-card); color: var(--text); }
.report-form .btn-main {
      border: none; font-weight: 700; padding: 11px 26px; border-radius: 6px;
    }
.report-form .hint { font-size: .78rem; color: var(--muted); margin-top: 8px; }
.side-card {
      background: var(--bg-soft);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 24px;
      margin-bottom: 18px;
    }
.side-card h3 {
      font-size: .98rem; font-weight: 700; margin-bottom: 14px; color: var(--text);
      display: flex; align-items: center; gap: 9px;
    }
.side-card h3 i { color: var(--accent); }
.side-list { list-style: none; padding: 0; margin: 0; }
.side-list li {
      display: flex; gap: 10px; align-items: flex-start;
      font-size: .88rem; color: var(--muted); line-height: 1.75;
      padding: 7px 0; border-bottom: 1px dashed rgba(236,253,245,.07);
    }
.side-list li:last-child { border-bottom: none; }
.side-list li i { color: var(--main); font-size: .72rem; margin-top: 6px; flex: 0 0 auto; }
.side-list li strong { color: var(--text); font-weight: 600; }
.sec-title .hl, .sec-title span.hl { color: var(--main); }