:root{
    --gold:#eab308;
    --amber:#f59e0b;
    --bg:#18181b;
    --panel:#1f1f23;
    --line:#3f3f46;
    --text:#fafafa;
    --muted:#a1a1aa;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    margin:0;
    line-height:1.7;
    overflow-x:hidden;
  }
  a{text-decoration:none;color:inherit;}
  .wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;}
  .divider{border:0;border-top:1px solid var(--line);margin:0;}

  /* ---------- NAV ---------- */
  .site-nav{
    position:sticky;top:0;z-index:1000;
    background:rgba(24,24,27,.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    max-width:1200px;margin:0 auto;padding:14px 20px;gap:16px;
  }
  .brand{
    font-weight:800;font-size:1.18rem;letter-spacing:.5px;color:var(--text);
    display:flex;align-items:center;gap:9px;white-space:nowrap;
  }
  .brand i{color:var(--gold);}
  .brand:hover{color:var(--gold);}
  .nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
  .nav-links a{
    font-size:.94rem;color:var(--muted);padding:7px 13px;border-radius:999px;
    border:1px solid transparent;transition:.22s;font-weight:500;
  }
  .nav-links a:hover{color:var(--gold);border-color:var(--line);}
  .burger{
    display:none;background:none;border:1px solid var(--line);border-radius:8px;
    color:var(--gold);font-size:1.05rem;padding:6px 11px;cursor:pointer;
  }
  @media (max-width:768px){
    .burger{display:block;}
    .nav-links{
      display:none;position:absolute;left:0;right:0;top:100%;
      background:#1b1b1f;border-bottom:1px solid var(--line);
      flex-direction:column;align-items:stretch;padding:10px 16px 18px;gap:2px;
    }
    .nav-links.open{display:flex;}
    .nav-links a{border-radius:8px;padding:11px 12px;border-color:transparent;}
  }

  /* ---------- GEOMETRIC DECOR ---------- */
  .geo-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
  .geo{position:absolute;opacity:.16;}
  .geo-circle{border-radius:50%;border:1px solid var(--gold);}
  .geo-square{border:1px solid var(--amber);}
  .geo-tri{
    width:0;height:0;background:none!important;border-left:14px solid transparent;
    border-right:14px solid transparent;border-bottom:22px solid var(--gold);opacity:.18;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;overflow:hidden;
    border-bottom:1px solid var(--line);
    padding:110px 0 96px;
  }
  .hero-bg{
    position:absolute;inset:-12% -5%;z-index:0;
    background:
      radial-gradient(circle at 18% 22%,rgba(234,179,8,.16),transparent 46%),
      radial-gradient(circle at 82% 72%,rgba(245,158,11,.13),transparent 48%);
  }
  .hero .wrap{position:relative;z-index:2;}
  .hero-tag{
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--line);border-radius:999px;
    padding:6px 15px;font-size:.82rem;color:var(--gold);letter-spacing:.6px;
    margin-bottom:26px;font-weight:600;
  }
  .hero h1{
    font-size:clamp(2rem,5.4vw,3.9rem);
    font-weight:900;line-height:1.12;letter-spacing:-1px;margin:0 0 22px;
    max-width:15ch;
  }
  .hero h1 em{font-style:normal;color:var(--gold);}
  .hero p.sub{
    font-size:clamp(1rem,1.6vw,1.16rem);color:var(--muted);max-width:56ch;
    font-weight:400;margin-bottom:36px;
  }
  .btn-row{display:flex;gap:14px;flex-wrap:wrap;}
  .btn-gold{
    background:var(--gold);color:#18181b;font-weight:700;
    border:1px solid var(--gold);border-radius:999px;padding:13px 30px;font-size:.96rem;
    transition:.22s;display:inline-flex;align-items:center;gap:9px;
  }
  .btn-gold:hover{background:var(--amber);border-color:var(--amber);transform:translateY(-2px);color:#18181b;}
  .btn-ghost{
    background:transparent;color:var(--text);font-weight:600;
    border:1px solid var(--line);border-radius:999px;padding:13px 30px;font-size:.96rem;
    transition:.22s;display:inline-flex;align-items:center;gap:9px;
  }
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}

  /* ---------- SECTION BASE ---------- */
  section{position:relative;overflow:hidden;}
  .sec-pad{padding:88px 0;}
  .sec-head{margin-bottom:46px;}
  .sec-kicker{
    font-size:.78rem;letter-spacing:2.4px;text-transform:uppercase;
    color:var(--gold);font-weight:700;margin-bottom:12px;display:block;
  }
  .sec-head h2{
    font-size:clamp(1.5rem,3.2vw,2.35rem);font-weight:800;letter-spacing:-.6px;margin:0 0 12px;
  }
  .sec-head p{color:var(--muted);font-size:1rem;max-width:62ch;margin:0;}

  /* ---------- BENTO STATS ---------- */
  .bento{
    display:grid;gap:16px;
    grid-template-columns:repeat(6,1fr);
  }
  .bento-cell{
    border:1px solid var(--line);border-radius:16px;background:var(--panel);
    padding:30px 26px;transition:.25s;display:flex;flex-direction:column;justify-content:space-between;
    min-height:170px;
  }
  .bento-cell:hover{border-color:var(--gold);transform:scale(1.015);}
  .bento-cell .num{
    font-size:clamp(2rem,4.4vw,3.1rem);font-weight:900;color:var(--gold);line-height:1;letter-spacing:-1.5px;
  }
  .bento-cell .lbl{font-size:.92rem;color:var(--muted);margin-top:14px;font-weight:500;}
  .b-large{grid-column:span 3;}
  .b-mid{grid-column:span 2;}
  .b-small{grid-column:span 2;}
  .b-wide{grid-column:span 4;}
  @media (max-width:900px){
    .bento{grid-template-columns:repeat(2,1fr);}
    .b-large,.b-mid,.b-small,.b-wide{grid-column:span 1;}
    .b-wide{grid-column:span 2;}
  }
  @media (max-width:520px){
    .bento{grid-template-columns:1fr;}
    .b-wide{grid-column:span 1;}
  }
  .bento-quote{font-size:1.02rem;color:var(--text);font-weight:500;margin:0;line-height:1.6;}

  /* ---------- STEPS ---------- */
  .steps{display:grid;gap:0;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .step{
    padding:36px 26px;border-right:1px solid var(--line);position:relative;transition:.25s;
  }
  .step:last-child{border-right:0;}
  .step:hover{background:var(--panel);}
  .step-no{
    font-size:.8rem;font-weight:800;letter-spacing:1.6px;color:var(--gold);
    margin-bottom:16px;display:block;
  }
  .step h3{font-size:1.08rem;font-weight:700;margin:0 0 10px;}
  .step p{font-size:.92rem;color:var(--muted);margin:0;}
  @media (max-width:900px){
    .steps{grid-template-columns:repeat(2,1fr);}
    .step{border-bottom:1px solid var(--line);}
    .step:nth-child(2n){border-right:0;}
    .step:nth-last-child(-n+2){border-bottom:0;}
  }
  @media (max-width:540px){
    .steps{grid-template-columns:1fr;}
    .step{border-right:0;border-bottom:1px solid var(--line);}
    .step:last-child{border-bottom:0;}
  }

  /* ---------- FEATURE GRID ---------- */
  .feat-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);}
  .feat-card{
    border:1px solid var(--line);border-radius:16px;background:transparent;
    padding:32px 28px;transition:.25s;
  }
  .feat-card:hover{border-color:var(--gold);transform:scale(1.02);background:var(--panel);}
  .feat-ico{
    width:46px;height:46px;border:1px solid var(--gold);border-radius:12px;
    display:flex;align-items:center;justify-content:center;color:var(--gold);
    font-size:1.1rem;margin-bottom:20px;
  }
  .feat-card h3{font-size:1.1rem;font-weight:700;margin:0 0 10px;}
  .feat-card p{font-size:.92rem;color:var(--muted);margin:0;}
  @media (max-width:900px){.feat-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:540px){.feat-grid{grid-template-columns:1fr;}}

  /* ---------- FAQ ---------- */
  .faq-list{display:grid;gap:12px;}
  .faq-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.25s;}
  .faq-item:hover{border-color:var(--gold);}
  .faq-q{
    width:100%;text-align:left;background:none;border:0;color:var(--text);
    font-size:1rem;font-weight:600;padding:20px 24px;cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;gap:16px;
    font-family:inherit;
  }
  .faq-q i{color:var(--gold);transition:.3s;flex-shrink:0;font-size:.85rem;}
  .faq-item.open .faq-q i{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .faq-a p{padding:0 24px 22px;margin:0;color:var(--muted);font-size:.94rem;}
  .faq-item.open .faq-a{max-height:320px;}

  /* ---------- CTA ---------- */
  .cta-box{
    border:1px solid var(--line);border-radius:20px;padding:64px 40px;text-align:center;
    position:relative;overflow:hidden;background:var(--panel);
  }
  .cta-box h2{font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:900;letter-spacing:-.8px;margin:0 0 18px;}
  .cta-box p{color:var(--muted);max-width:52ch;margin:0 auto 34px;font-size:1rem;}
  .cta-box .btn-row{justify-content:center;}

  /* ---------- FOOTER ---------- */
  .friend-links{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;
  }
  .friend-links h4{
    font-size:.86rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);
    font-weight:700;margin:0 0 16px;
  }
  .friend-links .fl-body{color:var(--muted);font-size:.9rem;line-height:2;word-break:break-all;}
  footer.site-foot{padding:52px 0 40px;}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;}
  .foot-brand{font-weight:800;font-size:1.1rem;display:flex;align-items:center;gap:9px;margin-bottom:14px;}
  .foot-brand i{color:var(--gold);}
  .foot-desc{color:var(--muted);font-size:.9rem;max-width:42ch;margin:0;}
  .foot-col h5{font-size:.82rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 14px;}
  .foot-col a{display:block;color:var(--muted);font-size:.9rem;padding:5px 0;transition:.2s;}
  .foot-col a:hover{color:var(--gold);}
  .foot-bottom{
    margin-top:44px;padding-top:26px;border-top:1px solid var(--line);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    color:var(--muted);font-size:.84rem;
  }
  @media (max-width:768px){
    .foot-grid{grid-template-columns:1fr;gap:28px;}
    .sec-pad{padding:64px 0;}
    .hero{padding:80px 0 68px;}
    .cta-box{padding:46px 24px;}
  }

/* --- 子页面追加 --- */
.rank-hero { padding: 120px 0 48px; }
.rank-hero h1 { font-size: clamp(28px, 5vw, 46px); font-weight: 900; line-height: 1.2; margin: 18px 0 14px; }
.rank-hero h1 em { color: var(--gold); font-style: normal; }
.rank-hero p.lead { color: var(--muted); max-width: 720px; font-size: 17px; line-height: 1.8; }
.rank-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.rank-tabs a {
    padding: 9px 18px; border: 1px solid var(--line); border-radius: 999px;
    color: var(--muted); font-size: 14px; font-weight: 600; text-decoration: none;
    transition: .2s;
  }
.rank-tabs a:hover, .rank-tabs a.on { background: var(--gold); border-color: var(--gold); color: #18181b; }
.rank-list { display: grid; gap: 16px; }
.rank-item {
    display: flex; gap: 18px; align-items: stretch;
    background: var(--panel); border: 1px solid var(--line); border-radius: 14px;
    padding: 16px 18px; transition: .2s;
  }
.rank-item:hover { border-color: var(--gold); transform: translateY(-2px); }
.rank-no {
    flex: 0 0 54px; display: flex; align-items: center; justify-content: center;
    font-size: 24px; font-weight: 900; color: var(--muted);
  }
.rank-item:nth-child(1) .rank-no { color: #f4c430; }
.rank-item:nth-child(2) .rank-no { color: #cbd5e1; }
.rank-item:nth-child(3) .rank-no { color: #d9965a; }
.rank-cover {
    flex: 0 0 74px; height: 100px; border-radius: 10px; overflow: hidden;
    background: linear-gradient(135deg, rgba(234,179,8,.25), rgba(245,158,11,.05));
    border: 1px solid var(--line);
  }
.rank-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rank-body { flex: 1; min-width: 0; }
.rank-body h3 { font-size: 17px; font-weight: 800; margin: 2px 0 6px; color: var(--text); }
.rank-body .meta { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 12.5px; color: var(--muted); margin-bottom: 8px; }
.rank-body .meta i { color: var(--amber); margin-right: 4px; }
.rank-body p { font-size: 13.5px; color: var(--muted); line-height: 1.7; margin: 0; }
.tag-pill {
    display: inline-block; font-size: 11.5px; font-weight: 700; padding: 3px 10px;
    border-radius: 999px; background: rgba(234,179,8,.14); color: var(--gold);
    border: 1px solid rgba(234,179,8,.35);
  }
.rank-score { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 4px; }
.rank-score b { font-size: 22px; font-weight: 900; color: var(--gold); }
.rank-score span { font-size: 11.5px; color: var(--muted); }
.bar {
    height: 7px; border-radius: 999px; background: rgba(255,255,255,.07); overflow: hidden; margin-top: 10px;
  }
.bar > i { display: block; height: 100%; background: linear-gradient(90deg, var(--amber), var(--gold)); }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.metric-cell {
    background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 22px 20px;
  }
.metric-cell b { display: block; font-size: 30px; font-weight: 900; color: var(--gold); line-height: 1; }
.metric-cell span { display: block; margin-top: 10px; color: var(--muted); font-size: 13.5px; }
.note-box {
    background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--gold);
    border-radius: 10px; padding: 20px 22px; color: var(--muted); line-height: 1.85; font-size: 14.5px;
  }
.faq-item h3 { font-size: 16px; font-weight: 800; margin: 0 0 8px; color: var(--text); }
.faq-item p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.rank-item { flex-wrap: wrap; }
.rank-no { flex: 0 0 34px; font-size: 20px; }
.rank-score { flex: 0 0 100%; flex-direction: row; justify-content: space-between; align-items: center; }

/* --- 子页面追加 --- */
.guide-step {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px 22px;height:100%;transition:.25s;}
.guide-step:hover {border-color:var(--gold);transform:translateY(-4px);}
.guide-num {display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--amber));color:#18181b;font-weight:800;font-size:1.05rem;margin-bottom:14px;}
.guide-step h3 {font-size:1.08rem;font-weight:700;color:var(--text);margin-bottom:10px;}
.guide-step p {color:var(--muted);font-size:.92rem;line-height:1.75;margin:0;}
.q-item {background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;}
.q-item summary {cursor:pointer;padding:16px 20px;font-weight:600;color:var(--text);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.q-item summary::-webkit-details-marker {display:none;}
.q-item summary::after {content:"\f067";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--gold);font-size:.85rem;transition:.25s;}
.q-item[open] summary::after {content:"\f068";}
.q-item[open] summary {border-bottom:1px solid var(--line);}
.q-item .q-body {padding:16px 20px;color:var(--muted);font-size:.93rem;line-height:1.8;}
.tip-box {background:rgba(234,179,8,.08);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:16px 20px;color:var(--muted);font-size:.92rem;line-height:1.8;}
.tip-box strong {color:var(--gold);}
.mini-table {width:100%;border-collapse:collapse;font-size:.9rem;}
.mini-table th,.mini-table td {padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);}
.mini-table th {color:var(--gold);font-weight:700;background:rgba(234,179,8,.06);}
.mini-table td {color:var(--muted);}
.mini-table tr:last-child td {border-bottom:none;}

/* --- 子页面追加 --- */
/* —— 本页专属的少量补充样式，沿用首页配色变量 —— */
  body { background: var(--bg); color: var(--text); }
.about-hero {
    position: relative;
    overflow: hidden;
    padding: 108px 0 64px;
    border-bottom: 1px solid var(--line);
  }
.about-hero h1 {
    font-size: clamp(1.9rem, 4.4vw, 3.1rem);
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: -.02em;
    margin: 0 0 18px;
  }
.about-hero h1 em {
    font-style: normal;
    background: linear-gradient(100deg, var(--gold), var(--amber));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
.about-hero p.lead-txt {
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.85;
    max-width: 760px;
    margin: 0;
  }
.stat-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 38px;
  }
.stat-box {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 18px;
  }
.stat-box b {
    display: block;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--gold);
    letter-spacing: -.02em;
  }
.stat-box span {
    display: block;
    margin-top: 6px;
    font-size: .82rem;
    color: var(--muted);
  }
.prose-block {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 28px 26px;
    height: 100%;
  }
.prose-block h3 {
    font-size: 1.12rem;
    font-weight: 700;
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
.prose-block h3 i { color: var(--gold); font-size: .95rem; }
.prose-block p {
    color: var(--muted);
    font-size: .93rem;
    line-height: 1.9;
    margin: 0 0 12px;
  }
.prose-block p:last-child { margin-bottom: 0; }
.prose-block ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
  }
.prose-block ul li {
    position: relative;
    padding-left: 20px;
    color: var(--muted);
    font-size: .93rem;
    line-height: 1.85;
    margin-bottom: 10px;
  }
.prose-block ul li:last-child { margin-bottom: 0; }
.prose-block ul li::before {
    content: "";
    position: absolute;
    left: 0; top: 10px;
    width: 7px; height: 7px;
    border-radius: 2px;
    background: var(--amber);
  }
.timeline {
    position: relative;
    padding-left: 26px;
    border-left: 2px solid var(--line);
  }
.timeline-item { position: relative; padding-bottom: 26px; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-item::before {
    content: "";
    position: absolute;
    left: -34px; top: 5px;
    width: 14px; height: 14px;
    border-radius: 50%;
    background: var(--bg);
    border: 3px solid var(--gold);
  }
.timeline-item b {
    display: block;
    color: var(--text);
    font-size: .98rem;
    font-weight: 700;
    margin-bottom: 6px;
  }
.timeline-item p {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.85;
    margin: 0;
  }
.faq-item:last-child { margin-bottom: 0; }
.faq-item b {
    display: block;
    color: var(--gold);
    font-size: .98rem;
    font-weight: 700;
    margin-bottom: 8px;
  }
.cta-band {
    background: linear-gradient(135deg, rgba(234,179,8,.12), rgba(245,158,11,.05));
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 34px 30px;
    text-align: center;
  }
.cta-band h3 {
    font-size: 1.3rem;
    font-weight: 800;
    margin: 0 0 10px;
  }
.cta-band p {
    color: var(--muted);
    font-size: .94rem;
    line-height: 1.85;
    max-width: 640px;
    margin: 0 auto 22px;
  }
.site-footer {
    border-top: 1px solid var(--line);
    background: var(--panel);
    padding: 44px 0 30px;
    margin-top: 0;
  }
.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 32px;
  }
.footer-grid h4 {
    font-size: .95rem;
    font-weight: 700;
    margin: 0 0 14px;
    color: var(--text);
  }
.footer-grid p {
    color: var(--muted);
    font-size: .87rem;
    line-height: 1.9;
    margin: 0;
  }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a {
    color: var(--muted);
    text-decoration: none;
    font-size: .87rem;
    transition: color .2s;
  }
.footer-links a:hover { color: var(--gold); }
.footer-bottom {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .8rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
  }
.stat-row { grid-template-columns: repeat(2, 1fr); }
.footer-grid { grid-template-columns: 1fr; gap: 26px; }
.about-hero { padding: 92px 0 46px; }

/* --- 子页面追加 --- */
.legal-hero {padding:64px 0 34px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(234,179,8,.07),transparent 70%);}
.legal-hero h1 {font-weight:900;font-size:clamp(1.7rem,4.2vw,2.7rem);line-height:1.25;margin:0 0 14px;}
.legal-hero h1 em {font-style:normal;color:var(--gold);}
.legal-hero p {color:var(--muted);max-width:760px;margin:0;font-size:.98rem;line-height:1.85;}
.legal-meta {margin-top:18px;font-size:.82rem;color:var(--muted);letter-spacing:.3px;}
.legal-meta span {display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 13px;margin:4px 8px 0 0;background:var(--panel);}
.legal-wrap {padding:44px 0 70px;}
.legal-toc {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;position:sticky;top:88px;}
.legal-toc h3 {font-size:.86rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin:0 0 14px;font-weight:700;}
.legal-toc a {display:block;color:var(--muted);text-decoration:none;font-size:.9rem;padding:6px 0;border-left:2px solid transparent;padding-left:11px;transition:.2s;}
.legal-toc a:hover {color:var(--gold);border-left-color:var(--gold);}
.legal-sec {margin-bottom:40px;scroll-margin-top:90px;}
.legal-sec h2 {font-size:clamp(1.1rem,2.4vw,1.38rem);font-weight:800;margin:0 0 14px;padding-left:15px;border-left:4px solid var(--gold);line-height:1.5;}
.legal-sec h3 {font-size:1rem;font-weight:700;color:var(--gold);margin:22px 0 10px;}
.legal-sec p {color:#d4d4d8;line-height:1.95;font-size:.94rem;margin:0 0 13px;}
.legal-sec ul {margin:0 0 14px;padding-left:0;list-style:none;}
.legal-sec ul li {position:relative;padding-left:24px;color:#d4d4d8;line-height:1.9;font-size:.94rem;margin-bottom:9px;}
.legal-sec ul li::before {content:"\f111";font-family:"Font Awesome 6 Free";font-weight:900;font-size:6px;color:var(--gold);position:absolute;left:6px;top:11px;}
.legal-card {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:18px 0;}
.legal-card strong {color:var(--gold);}
.legal-note {border-left:3px solid var(--amber);background:rgba(245,158,11,.08);border-radius:0 12px 12px 0;padding:16px 20px;margin:18px 0;}
.legal-note p {margin:0;color:#fde68a;}
.legal-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0;}
.legal-cell {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;transition:.25s;}
.legal-cell:hover {border-color:var(--gold);transform:translateY(-3px);}
.legal-cell i {color:var(--gold);font-size:1.15rem;margin-bottom:10px;display:block;}
.legal-cell h4 {font-size:.95rem;font-weight:700;margin:0 0 7px;color:var(--text);}
.legal-cell p {font-size:.85rem;color:var(--muted);margin:0;line-height:1.75;}
.legal-foot {margin-top:34px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem;line-height:1.9;}
.legal-foot a {color:var(--gold);text-decoration:none;}
.legal-foot a:hover {text-decoration:underline;}
.legal-toc {position:static;margin-bottom:30px;}

/* --- 子页面追加 --- */
.map-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.map-card {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 20px;height:100%}
.map-card h3 {font-size:1.05rem;font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:9px}
.map-card h3 i {color:var(--gold)}
.map-card ul {list-style:none;margin:0;padding:0}
.map-card li {margin-bottom:10px}
.map-card li:last-child {margin-bottom:0}
.map-card a {color:var(--muted);text-decoration:none;font-size:.93rem;display:flex;align-items:center;gap:8px;transition:.2s}
.map-card a:hover {color:var(--gold)}
.map-card a i {font-size:.7rem;color:var(--line)}
.map-card a:hover i {color:var(--amber)}
.map-note {color:var(--muted);font-size:.88rem;margin-top:8px;line-height:1.7}
.flow {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.flow-step {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 18px;position:relative}
.flow-step .num {font-size:1.6rem;font-weight:900;color:var(--gold);opacity:.85;line-height:1}
.flow-step h4 {font-size:1rem;font-weight:700;margin:10px 0 8px}
.flow-step p {color:var(--muted);font-size:.87rem;line-height:1.7;margin:0}
.map-table {width:100%;border-collapse:collapse}
.map-table th,.map-table td {text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:.9rem}
.map-table th {color:var(--gold);font-weight:700;white-space:nowrap}
.map-table td {color:var(--muted)}
.map-table td a {color:var(--text);text-decoration:none}
.map-table td a:hover {color:var(--gold)}
.map-wrap {overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:6px 16px}