:root{
  --main:#10b981;
  --accent:#fbbf24;
  --bg:#0a1410;
  --text:#ecfdf5;
  --card:#101f18;
  --card-2:#0d1a14;
  --line:rgba(16,185,129,.22);
  --shadow:0 18px 40px -12px rgba(0,0,0,.85);
  --shadow-sm:0 8px 22px -8px rgba(0,0,0,.9);
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:radial-gradient(1200px 600px at 80% -10%,rgba(16,185,129,.16),transparent 60%),var(--bg);
  color:var(--text);
  font-family:'Inter',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
  font-weight:400;
  letter-spacing:.2px;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.font-black{font-weight:900;letter-spacing:-.5px}
a{text-decoration:none}
::selection{background:var(--main);color:#04120c}

/* ---------- nav ---------- */
.navbar-cuke{
  position:fixed;top:0;left:0;right:0;z-index:1050;
  padding:18px 0;
  background:rgba(10,20,16,0);
  transition:background .35s ease,box-shadow .35s ease,padding .35s ease;
  border-bottom:1px solid transparent;
}
.navbar-cuke.scrolled{
  padding:10px 0;
  background:rgba(8,17,13,.92);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px -18px #000;
  border-bottom:1px solid var(--line);
}
.brand-logo{
  font-weight:900;font-size:1.5rem;color:var(--text)!important;
  display:flex;align-items:center;gap:.5rem;letter-spacing:-.5px;
}
.brand-logo .logo-badge{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;font-size:1.05rem;
  background:linear-gradient(145deg,#16c98d,var(--main));
  box-shadow:0 8px 18px -6px rgba(16,185,129,.9),inset 0 1px 0 rgba(255,255,255,.4);
  color:#04120c;
}
.nav-link-cuke{
  color:rgba(236,253,245,.72)!important;
  font-weight:600;font-size:.94rem;padding:.5rem .9rem!important;
  border-radius:10px;transition:.25s;position:relative;
}
.nav-link-cuke:hover,.nav-link-cuke.active{color:var(--main)!important}
.nav-link-cuke:hover{background:rgba(16,185,129,.1)}
.navbar-toggler{border:1px solid var(--line);color:var(--text);padding:.35rem .6rem}
.navbar-toggler:focus{box-shadow:0 0 0 3px rgba(16,185,129,.25)}

/* ---------- buttons ---------- */
.btn-cuke{
  position:relative;overflow:hidden;
  border:none;border-radius:14px;font-weight:800;
  padding:.85rem 1.9rem;color:#04120c;
  background:linear-gradient(135deg,#34d399,var(--main) 55%,#059669);
  background-size:200% 200%;
  box-shadow:0 16px 30px -12px rgba(16,185,129,.85),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .2s,box-shadow .3s,background-position .5s;
}
.btn-cuke:hover{
  color:#04120c;transform:translateY(-2px);
  background-position:100% 50%;
  box-shadow:0 22px 40px -14px rgba(16,185,129,.95);
}
.btn-cuke::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);transition:left .55s ease;
}
.btn-cuke:hover::after{left:130%}
.btn-ghost{
  border:1px solid rgba(251,191,36,.55);color:var(--accent);background:rgba(251,191,36,.06);
  border-radius:14px;font-weight:700;padding:.85rem 1.9rem;
  transition:.3s;position:relative;overflow:hidden;
}
.btn-ghost:hover{
  color:#221604;background:linear-gradient(135deg,#fcd34d,var(--accent));
  box-shadow:0 18px 34px -14px rgba(251,191,36,.8);
  border-color:transparent;
}

/* ---------- hero ---------- */
.hero{
  padding:170px 0 70px;position:relative;
}
.hero h1{
  font-size:clamp(2.4rem,5.4vw,4rem);
  line-height:1.06;margin-bottom:1.2rem;
}
.hero h1 .grad{
  background:linear-gradient(120deg,#6ee7b7,var(--main) 45%,var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.lead{color:rgba(236,253,245,.66);font-size:1.06rem;max-width:620px;line-height:1.8}
.hero-card{
  border-radius:24px;padding:26px;
  background:linear-gradient(160deg,var(--card),var(--card-2));
  border:1px solid var(--line);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;overflow:hidden;
}
.hero-card::before{
  content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;
  background:radial-gradient(circle,rgba(16,185,129,.3),transparent 70%);
}
.hero-poster-row{display:flex;gap:12px}
.mini-poster{
  flex:1;border-radius:14px;overflow:hidden;position:relative;
  box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.07);
  transition:transform .35s;
}
.mini-poster:hover{transform:translateY(-6px)}
.mini-poster img{width:100%;height:150px;object-fit:cover;display:block;background:#16261e}
.stat-strip{display:flex;gap:26px;margin-top:22px;flex-wrap:wrap}
.stat-num{font-family:var(--mono);font-weight:700;font-size:1.4rem;color:var(--main)}
.stat-lbl{font-size:.78rem;color:rgba(236,253,245,.5)}

/* ---------- section title ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.sec-title{font-size:clamp(1.7rem,3vw,2.5rem);margin:0;display:flex;align-items:center;gap:.65rem}
.sec-title i{color:var(--main);font-size:.85em}
.sec-sub{color:rgba(236,253,245,.48);font-size:.9rem;margin:.35rem 0 0}
.section{padding:56px 0}
.section-alt{background:linear-gradient(180deg,rgba(16,185,129,.045),transparent 70%)}

/* ---------- layout with sidebar ---------- */
.side-filter{
  position:sticky;top:100px;
  border-radius:20px;padding:22px;
  background:linear-gradient(165deg,var(--card),var(--card-2));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.side-filter h6{font-weight:800;font-size:.82rem;letter-spacing:1.6px;color:rgba(236,253,245,.45);text-transform:uppercase;margin-bottom:14px}
.filter-chip{
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem .85rem;border-radius:11px;color:rgba(236,253,245,.78);
  font-size:.9rem;font-weight:600;margin-bottom:6px;cursor:pointer;
  transition:.25s;border:1px solid transparent;
}
.filter-chip:hover{background:rgba(16,185,129,.12);color:var(--main);border-color:var(--line)}
.filter-chip.active{background:rgba(16,185,129,.16);color:var(--main);border-color:rgba(16,185,129,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.filter-chip .cnt{font-family:var(--mono);font-size:.74rem;color:rgba(236,253,245,.35)}

/* ---------- movie card ---------- */
.poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px}
.m-card{
  perspective:1200px;position:relative;
}
.m-card-inner{
  position:relative;width:100%;transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.2,.8,.25,1);
  border-radius:16px;
}
.m-card.flipped .m-card-inner{transform:rotateY(180deg)}
.m-face{
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  border-radius:16px;overflow:hidden;
  background:linear-gradient(170deg,var(--card),var(--card-2));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--shadow-sm);
}
.m-front{cursor:pointer;transition:box-shadow .3s,border-color .3s}
.m-card:hover .m-front{border-color:rgba(16,185,129,.5);box-shadow:0 20px 36px -16px rgba(16,185,129,.55)}
.m-poster{position:relative;aspect-ratio:2/3;overflow:hidden;background:#16261e}
.m-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.m-card:hover .m-poster img{transform:scale(1.06)}
.m-badge-top{
  position:absolute;top:8px;left:8px;z-index:3;
  font-size:.66rem;font-weight:800;padding:.22rem .48rem;border-radius:7px;
  background:linear-gradient(135deg,#34d399,var(--main));color:#04120c;
  box-shadow:0 6px 14px -6px rgba(16,185,129,.9);
}
.m-score{
  position:absolute;top:8px;right:8px;z-index:3;
  font-family:var(--mono);font-weight:700;font-size:.72rem;
  padding:.22rem .45rem;border-radius:7px;
  background:rgba(8,17,13,.78);color:var(--accent);
  border:1px solid rgba(251,191,36,.4);backdrop-filter:blur(4px);
}
.m-info{padding:10px 11px 12px}
.m-title{font-weight:800;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}
.m-meta{font-size:.74rem;color:rgba(236,253,245,.46);display:flex;gap:6px;font-family:var(--mono)}
.m-back{
  position:absolute;inset:0;transform:rotateY(180deg);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:14px;cursor:pointer;
  background:linear-gradient(165deg,#0f231a,#08150f);
  border:1px solid rgba(16,185,129,.5);
  box-shadow:0 0 0 1px rgba(16,185,129,.2),0 22px 40px -18px rgba(16,185,129,.7);
  overflow-y:auto;
}
.m-back h6{font-weight:900;font-size:.92rem;color:var(--main);margin-bottom:6px}
.m-back .bk-line{font-size:.68rem;color:rgba(236,253,245,.62);line-height:1.5;margin-bottom:5px}
.m-back .bk-line b{color:var(--accent);font-weight:700}
.m-back .bk-plot{font-size:.66rem;color:rgba(236,253,245,.55);line-height:1.55;border-top:1px dashed rgba(16,185,129,.25);padding-top:6px;margin-top:2px}
.m-close{
  position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;border:none;
  background:rgba(251,191,36,.16);color:var(--accent);font-size:.62rem;
}
.m-close:hover{background:var(--accent);color:#221604}

/* ---------- rank list ---------- */
.rank-box{
  border-radius:22px;padding:8px 6px;
  background:linear-gradient(170deg,var(--card),var(--card-2));
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.rank-row{
  display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:14px;
  transition:.25s;border-bottom:1px solid rgba(255,255,255,.04);
}
.rank-row:last-child{border-bottom:none}
.rank-row:hover{background:rgba(16,185,129,.08);transform:translateX(4px)}
.rank-num{
  font-family:var(--mono);font-weight:800;font-size:1.05rem;width:34px;flex:none;
  color:rgba(236,253,245,.32);text-align:center;
}
.rank-row:nth-child(1) .rank-num{color:var(--accent)}
.rank-row:nth-child(2) .rank-num{color:#e5e7eb}
.rank-row:nth-child(3) .rank-num{color:#d97706}
.rank-thumb{width:42px;height:58px;border-radius:9px;object-fit:cover;flex:none;background:#16261e;border:1px solid rgba(255,255,255,.06)}
.rank-name{font-weight:700;font-size:.94rem;margin-bottom:2px}
.rank-tag{font-size:.72rem;color:rgba(236,253,245,.42)}
.rank-heat{
  margin-left:auto;font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--main);
  display:flex;align-items:center;gap:5px;flex:none;
}
.rank-heat i{font-size:.66rem;color:#f97316}

/* ---------- mood / genre / guide ---------- */
.mood-btn{
  border:1px solid var(--line);background:rgba(16,185,129,.05);
  color:rgba(236,253,245,.8);border-radius:12px;font-weight:700;
  padding:.65rem 1.4rem;transition:.28s;font-size:.92rem;
}
.mood-btn:hover,.mood-btn.active{
  background:linear-gradient(135deg,#34d399,var(--main));color:#04120c;
  border-color:transparent;box-shadow:0 14px 26px -12px rgba(16,185,129,.9);
}
.mood-panel{
  border-radius:18px;padding:22px 24px;margin-top:22px;
  background:linear-gradient(165deg,var(--card),var(--card-2));
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
  font-size:.94rem;line-height:1.9;color:rgba(236,253,245,.72);
}
.mood-panel strong{color:var(--main)}

.genre-card{
  border-radius:18px;padding:22px;height:100%;
  background:linear-gradient(165deg,var(--card),var(--card-2));
  border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-sm);
  transition:.3s;
}
.genre-card:hover{border-color:rgba(16,185,129,.45);transform:translateY(-4px);box-shadow:0 22px 38px -18px rgba(16,185,129,.55)}
.genre-ico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:1.1rem;
  background:linear-gradient(145deg,rgba(16,185,129,.25),rgba(16,185,129,.08));
  color:var(--main);margin-bottom:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.genre-card h5{font-size:1.02rem;font-weight:800;margin-bottom:8px}
.genre-card p{font-size:.84rem;line-height:1.75;color:rgba(236,253,245,.55);margin:0}

.accordion-item{
  background:linear-gradient(165deg,var(--card),var(--card-2));
  border:1px solid var(--line)!important;border-radius:16px!important;
  margin-bottom:12px;overflow:hidden;
}
.accordion-button{
  background:transparent!important;color:var(--text)!important;
  font-weight:700;font-size:.98rem;box-shadow:none!important;
  padding:1.05rem 1.25rem;
}
.accordion-button:not(.collapsed){color:var(--main)!important}
.accordion-button::after{
  filter:invert(64%) sepia(56%) saturate(600%) hue-rotate(120deg);
}
.accordion-body{color:rgba(236,253,245,.62);font-size:.9rem;line-height:1.9;padding-top:.35rem}

/* ---------- guide ---------- */
.guide-wrap{
  border-radius:22px;padding:32px;
  background:linear-gradient(160deg,var(--card),var(--card-2));
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.guide-wrap p{color:rgba(236,253,245,.68);line-height:2;font-size:.95rem;margin-bottom:1rem}
.guide-wrap p strong{color:var(--main);font-weight:700}

/* ---------- friend links ---------- */
.friend-box{
  border-radius:20px;padding:26px;text-align:center;
  background:linear-gradient(165deg,var(--card),var(--card-2));
  border:1px dashed rgba(16,185,129,.35);
}
.friend-box a{color:rgba(236,253,245,.62);font-size:.88rem;margin:0 .6rem;transition:.25s}
.friend-box a:hover{color:var(--main)}
.friend-links{color:rgba(236,253,245,.5);font-size:.9rem;line-height:2}

/* ---------- footer ---------- */
footer{
  background:linear-gradient(180deg,transparent,rgba(16,185,129,.05));
  border-top:1px solid var(--line);padding:52px 0 28px;margin-top:40px;
}
footer h6{font-weight:800;font-size:.82rem;letter-spacing:1.4px;text-transform:uppercase;color:rgba(236,253,245,.42);margin-bottom:16px}
footer a{color:rgba(236,253,245,.6);font-size:.88rem;display:block;margin-bottom:.55rem;transition:.25s}
footer a:hover{color:var(--main);padding-left:4px}
.copy{color:rgba(236,253,245,.35);font-size:.82rem;border-top:1px solid rgba(255,255,255,.06);padding-top:20px;margin-top:32px}
.copy .mono{font-family:var(--mono);color:rgba(16,185,129,.8)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:991px){
  .side-filter{position:static;margin-bottom:26px}
  .hero{padding:130px 0 40px}
  .poster-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:14px}
}
@media (max-width:575px){
  .poster-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .hero h1{font-size:2.15rem}
  .stat-strip{gap:16px}
  .guide-wrap{padding:22px}
  .rank-thumb{width:36px;height:50px}
  .m-back{padding:10px}
  .m-back .bk-plot{display:none}
}

/* --- 子页面追加 --- */
.about-hero {padding:64px 0 40px;position:relative;overflow:hidden;}
.about-hero::after {content:"";position:absolute;inset:auto -10% -60% -10%;height:220px;background:radial-gradient(closest-side,rgba(16,185,129,.25),transparent);pointer-events:none;}
.about-hero h1 {font-size:clamp(1.7rem,4.2vw,2.9rem);font-weight:900;line-height:1.25;letter-spacing:-.02em;margin-bottom:16px;}
.about-hero h1 em {font-style:normal;color:var(--accent);}
.about-hero p.lead-cuke {color:rgba(236,253,245,.72);font-size:1.02rem;line-height:1.9;max-width:720px;}
.tag-row {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.tag-pill {font-size:.8rem;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:rgba(236,253,245,.82);}
.tag-pill i {color:var(--main);margin-right:6px;}
.info-card {background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 24px;height:100%;box-shadow:var(--shadow-sm);transition:transform .25s ease,border-color .25s ease;}
.info-card:hover {transform:translateY(-4px);border-color:rgba(16,185,129,.5);}
.info-card .ic-num {font-family:var(--mono);font-size:.78rem;color:var(--accent);letter-spacing:.14em;display:block;margin-bottom:12px;}
.info-card h3 {font-size:1.06rem;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.5;}
.info-card p {font-size:.9rem;line-height:1.85;color:rgba(236,253,245,.66);margin:0;}
.info-card i.ic {color:var(--main);font-size:1.1rem;margin-right:8px;}
.value-list {list-style:none;padding:0;margin:0;}
.value-list li {display:flex;gap:14px;padding:16px 0;border-bottom:1px dashed rgba(16,185,129,.18);}
.value-list li:last-child {border-bottom:0;}
.value-list .dot {flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:rgba(16,185,129,.12);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--main);font-size:.82rem;margin-top:2px;}
.value-list strong {display:block;color:var(--text);font-weight:600;font-size:.95rem;margin-bottom:5px;}
.value-list span {font-size:.88rem;line-height:1.8;color:rgba(236,253,245,.64);}
.prose-block p {font-size:.94rem;line-height:2;color:rgba(236,253,245,.72);margin-bottom:16px;}
.prose-block p:last-child {margin-bottom:0;}
.prose-block strong {color:var(--accent);font-weight:600;}
.quote-box {border-left:3px solid var(--main);background:var(--card-2);border-radius:0 14px 14px 0;padding:20px 22px;margin:24px 0;}
.quote-box p {margin:0;font-size:.94rem;line-height:1.95;color:rgba(236,253,245,.8);}
.cta-band {background:var(--card);border:1px solid var(--line);border-radius:18px;padding:32px 28px;box-shadow:var(--shadow);text-align:center;}
.cta-band h2 {font-size:1.3rem;font-weight:800;margin-bottom:12px;}
.cta-band p {font-size:.92rem;color:rgba(236,253,245,.66);margin-bottom:22px;line-height:1.85;}
.about-side {background:var(--card-2);border:1px solid var(--line);border-radius:16px;padding:24px 22px;position:sticky;top:90px;}
.about-side h3 {font-size:.98rem;font-weight:700;margin-bottom:16px;color:var(--text);}
.about-side .meta-row {display:flex;justify-content:space-between;font-size:.85rem;padding:9px 0;border-bottom:1px dashed rgba(16,185,129,.16);color:rgba(236,253,245,.7);}
.about-side .meta-row:last-of-type {border-bottom:0;}
.about-side .meta-row b {color:var(--main);font-weight:600;}
.about-side .btn-cuke {margin-top:18px;width:100%;}

/* --- 子页面追加 --- */
.brand-logo:hover {color:var(--main);}
.sec-title span {color:var(--main);}
.legal-hero {padding:72px 0 40px;position:relative;overflow:hidden;}
.legal-hero::before {content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(16,185,129,.16),transparent 62%);pointer-events:none;}
.legal-hero h1 {font-size:clamp(1.9rem,4.2vw,3rem);font-weight:900;line-height:1.2;letter-spacing:-.5px;}
.legal-hero h1 em {font-style:normal;color:var(--main);}
.legal-meta {display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;}
.legal-tag {font-family:var(--mono);font-size:.76rem;color:var(--main);border:1px solid var(--line);background:rgba(16,185,129,.08);padding:.3rem .7rem;border-radius:999px;}
.legal-tag.accent {color:var(--accent);border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.08);}
.doc-card {background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.5rem;box-shadow:var(--shadow-sm);height:100%;transition:.25s;}
.doc-card:hover {transform:translateY(-3px);border-color:rgba(16,185,129,.45);box-shadow:var(--shadow);}
.doc-card h3 {font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.6rem;display:flex;align-items:center;gap:.55rem;}
.doc-card h3 i {color:var(--main);font-size:.95rem;}
.doc-card p {color:rgba(236,253,245,.66);font-size:.9rem;line-height:1.85;margin:0;}
.doc-card p + p {margin-top:.6rem;}
.toc {background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.3rem;box-shadow:var(--shadow-sm);position:sticky;top:90px;}
.toc h4 {font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(236,253,245,.45);font-family:var(--mono);margin-bottom:.9rem;}
.toc a {display:block;color:rgba(236,253,245,.72);font-size:.9rem;padding:.44rem .1rem;text-decoration:none;border-left:2px solid transparent;padding-left:.7rem;transition:.2s;line-height:1.5;}
.toc a:hover {color:var(--main);border-left-color:var(--main);}
.clause {border-left:3px solid var(--line);padding:.1rem 0 .1rem 1.15rem;margin-bottom:2rem;}
.clause h2 {font-size:1.18rem;font-weight:800;color:var(--text);margin-bottom:.7rem;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;}
.clause h2 .num {font-family:var(--mono);font-size:.82rem;color:var(--main);background:rgba(16,185,129,.1);border:1px solid var(--line);border-radius:6px;padding:.1rem .45rem;font-weight:600;}
.clause p {color:rgba(236,253,245,.7);font-size:.94rem;line-height:1.95;margin-bottom:.7rem;}
.clause p:last-child {margin-bottom:0;}
.clause strong {color:var(--accent);font-weight:600;}
.clause ul {margin:.4rem 0 .8rem 0;padding-left:1.1rem;}
.clause li {color:rgba(236,253,245,.7);font-size:.94rem;line-height:1.9;margin-bottom:.35rem;}
.clause li::marker {color:var(--main);}
.notice-box {background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.28);border-radius:14px;padding:1.2rem 1.3rem;display:flex;gap:.9rem;align-items:flex-start;margin-bottom:2rem;}
.notice-box i {color:var(--accent);font-size:1.1rem;margin-top:.15rem;}
.notice-box p {margin:0;color:rgba(236,253,245,.78);font-size:.92rem;line-height:1.85;}
.contact-strip {background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.5rem;box-shadow:var(--shadow-sm);}
.contact-strip h3 {font-size:1.05rem;font-weight:700;margin-bottom:.6rem;}
.contact-strip p {color:rgba(236,253,245,.66);font-size:.9rem;line-height:1.85;margin-bottom:1rem;}
footer.site-foot {border-top:1px solid var(--line);background:var(--card-2);padding:44px 0 28px;margin-top:20px;}
footer.site-foot .foot-brand {display:flex;align-items:center;gap:.55rem;font-weight:800;color:var(--text);text-decoration:none;margin-bottom:.8rem;}
footer.site-foot p.foot-desc {color:rgba(236,253,245,.5);font-size:.86rem;line-height:1.85;max-width:420px;}
footer.site-foot h5 {font-size:.8rem;letter-spacing:1.4px;text-transform:uppercase;color:rgba(236,253,245,.4);font-family:var(--mono);margin-bottom:.9rem;}
footer.site-foot a.foot-link {display:block;color:rgba(236,253,245,.66);font-size:.88rem;text-decoration:none;padding:.28rem 0;transition:.2s;}
footer.site-foot a.foot-link:hover {color:var(--main);}
.foot-bottom {border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem;color:rgba(236,253,245,.4);font-size:.8rem;line-height:1.8;}
.toc {position:static;margin-bottom:1.5rem;}
.legal-hero {padding:52px 0 28px;}
.doc-card {padding:1.3rem 1.15rem;}
footer.site-foot {padding:34px 0 22px;}

/* --- 子页面追加 --- */
/* 本页专属少量样式，其余复用站点 style.css */
  .contact-hero {position:relative;padding:64px 0 40px;overflow:hidden}
.contact-hero::before {content:"";position:absolute;inset:0;
    background:radial-gradient(900px 380px at 18% -10%,rgba(16,185,129,.18),transparent 62%),
               radial-gradient(700px 320px at 88% 0%,rgba(251,191,36,.10),transparent 60%);
    pointer-events:none}
.contact-hero .inner {position:relative;z-index:2}
.eyebrow {display:inline-flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.14em;
    text-transform:uppercase;color:var(--main);border:1px solid var(--line);
    background:rgba(16,185,129,.08);padding:7px 14px;border-radius:999px;margin-bottom:18px}
.contact-title {font-weight:800;font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.22;margin:0 0 14px}
.contact-title em {font-style:normal;color:var(--accent)}
.contact-lead {color:rgba(236,253,245,.72);font-size:1.02rem;max-width:760px;line-height:1.85;margin:0}
.quick-row {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.quick-row {grid-template-columns:1fr}
.quick-card {background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:20px 20px 18px;box-shadow:var(--shadow-sm);transition:.25s}
.quick-card:hover {transform:translateY(-3px);border-color:rgba(16,185,129,.5)}
.quick-card .ico {width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
    background:rgba(16,185,129,.13);color:var(--main);font-size:1.05rem;margin-bottom:12px}
.quick-card h3 {font-size:1rem;font-weight:700;margin:0 0 6px}
.quick-card p {margin:0;font-size:.88rem;line-height:1.7;color:rgba(236,253,245,.62)}
.quick-card .val {display:block;margin-top:10px;font-family:var(--mono);font-size:.86rem;color:var(--accent);word-break:break-all}
.chan-table {width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}
.chan-table thead th {background:var(--card-2);color:var(--main);font-weight:600;
    font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;
    padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.chan-table tbody td {padding:15px 16px;border-bottom:1px solid rgba(16,185,129,.12);
    color:rgba(236,253,245,.8);vertical-align:top;line-height:1.7}
.chan-table tbody tr:last-child td {border-bottom:none}
.chan-table tbody tr:hover td {background:rgba(16,185,129,.05)}
.chan-table .mono {font-family:var(--mono);color:var(--accent);font-size:.85rem;word-break:break-all}
.table-wrap {background:var(--card);border:1px solid var(--line);border-radius:16px;
    overflow:hidden;box-shadow:var(--shadow-sm)}
.table-wrap {overflow-x:auto}
.chan-table {min-width:640px}
.mail-card {background:linear-gradient(160deg,var(--card),var(--card-2));
    border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow)}
.mail-card h3 {font-size:1.06rem;font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:9px}
.mail-card h3 i {color:var(--main)}
.mail-line {display:flex;justify-content:space-between;gap:14px;padding:11px 0;
    border-bottom:1px dashed rgba(16,185,129,.16);font-size:.9rem}
.mail-line:last-child {border-bottom:none}
.mail-line span:first-child {color:rgba(236,253,245,.6);flex:0 0 auto}
.mail-line span:last-child {font-family:var(--mono);color:var(--text);text-align:right;word-break:break-all}
.mail-line span:last-child.a {color:var(--accent)}
.flow-list {list-style:none;padding:0;margin:0;counter-reset:step}
.flow-list li {position:relative;padding:0 0 22px 54px;counter-increment:step}
.flow-list li::before {content:counter(step);position:absolute;left:0;top:-2px;
    width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
    background:rgba(16,185,129,.13);border:1px solid var(--line);
    color:var(--main);font-family:var(--mono);font-size:.86rem;font-weight:700}
.flow-list li::after {content:"";position:absolute;left:16px;top:36px;bottom:2px;width:1px;
    background:linear-gradient(to bottom,rgba(16,185,129,.35),transparent)}
.flow-list li:last-child {padding-bottom:0}
.flow-list li:last-child::after {display:none}
.flow-list h4 {font-size:.98rem;font-weight:700;margin:0 0 6px}
.flow-list p {margin:0;font-size:.89rem;line-height:1.75;color:rgba(236,253,245,.65)}
.faq-item {background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:18px 20px;margin-bottom:12px;transition:.22s}
.faq-item:hover {border-color:rgba(16,185,129,.45)}
.faq-item h4 {font-size:.96rem;font-weight:700;margin:0 0 8px;color:var(--text);
    display:flex;gap:10px;align-items:flex-start}
.faq-item h4 i {color:var(--accent);margin-top:3px;font-size:.85rem}
.faq-item p {margin:0;font-size:.89rem;line-height:1.8;color:rgba(236,253,245,.65)}
.note-box {background:rgba(16,185,129,.07);border:1px solid var(--line);
    border-left:3px solid var(--main);border-radius:0 12px 12px 0;
    padding:16px 20px;font-size:.89rem;line-height:1.8;color:rgba(236,253,245,.72)}
.note-box strong {color:var(--text)}
.sec-head h2 {font-weight:800}
.contact-foot-cta {background:linear-gradient(150deg,rgba(16,185,129,.13),rgba(251,191,36,.06));
    border:1px solid var(--line);border-radius:18px;padding:32px;text-align:center;box-shadow:var(--shadow-sm)}
.contact-foot-cta h2 {font-size:1.35rem;font-weight:800;margin:0 0 10px}
.contact-foot-cta p {margin:0 auto 20px;max-width:620px;color:rgba(236,253,245,.68);font-size:.92rem;line-height:1.8}

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.accordion-header { background:transparent !important; }
