:root{
  --main:#b45309;
  --accent:#ca8a04;
  --bg:#fefce8;
  --ink:#451a03;
  --paper:#fffdf0;
  --line:#451a03;
  --shadow:8px 8px 0 0 #451a03;
  --shadow-sm:4px 4px 0 0 #451a03;
}
*{border-radius:0 !important;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
  font-weight:400;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{text-decoration:none;}
h1,h2,h3,h4,h5{font-weight:900;letter-spacing:-.02em;line-height:1.15;color:var(--ink);}
p{line-height:1.8;}

/* ---------- NAV ---------- */
.top-nav{
  position:sticky;top:0;z-index:1000;
  background:rgba(254,252,232,.62);
  backdrop-filter:blur(8px);
  border-bottom:3px solid var(--line);
  transition:background .3s ease, box-shadow .3s ease;
}
.top-nav.scrolled{
  background:rgba(254,252,232,.97);
  box-shadow:0 6px 0 0 rgba(69,26,3,.12);
}
.nav-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;gap:16px;
}
.brand{
  font-weight:900;font-size:1.32rem;color:var(--ink);
  display:inline-flex;align-items:center;gap:8px;
  letter-spacing:-.03em;
  border:3px solid var(--line);
  background:var(--accent);
  padding:6px 14px;
  box-shadow:var(--shadow-sm);
  white-space:nowrap;
}
.brand i{font-size:1.05rem;}
.brand:hover{color:var(--ink);}
.nav-links{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  list-style:none;margin:0;padding:0;
}
.nav-links a{
  display:inline-block;
  color:var(--ink);font-weight:700;font-size:.94rem;
  padding:8px 13px;
  border:2px solid transparent;
  transition:.2s;
}
.nav-links a:hover,.nav-links a.active{
  border:2px solid var(--line);
  background:var(--paper);
  box-shadow:3px 3px 0 0 var(--line);
}
.nav-toggle{
  display:none;
  border:3px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  font-size:1.15rem;
  padding:6px 12px;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}
@media(max-width:900px){
  .nav-toggle{display:block;}
  .nav-links{
    display:none;width:100%;flex-direction:column;align-items:stretch;
    margin-top:12px;border-top:3px solid var(--line);padding-top:12px;
  }
  .nav-links.open{display:flex;}
  .nav-links a{border:2px solid var(--line);box-shadow:3px 3px 0 0 var(--line);text-align:center;}
  .nav-inner{flex-wrap:wrap;}
}

/* ---------- HERO ---------- */
.hero{
  max-width:1200px;margin:0 auto;padding:64px 18px 56px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;
}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:32px;padding:44px 18px;}}
.hero-kicker{
  display:inline-block;
  border:3px solid var(--line);
  background:var(--accent);
  font-weight:800;font-size:.8rem;letter-spacing:.12em;
  padding:6px 12px;margin-bottom:22px;
  box-shadow:var(--shadow-sm);
}
.hero h1{
  font-size:clamp(2.2rem,5.2vw,4.1rem);
  font-weight:900;
  margin-bottom:20px;
}
.hero h1 em{
  font-style:normal;
  background:var(--main);
  color:var(--bg);
  padding:0 10px;
  display:inline-block;
  box-shadow:6px 6px 0 0 var(--accent);
  transform:rotate(-1deg);
}
.hero-sub{
  font-size:1.08rem;font-weight:500;color:#6b3410;
  max-width:560px;margin-bottom:30px;
}
.btn-hard{
  display:inline-flex;align-items:center;gap:9px;
  font-weight:800;font-size:1rem;
  padding:14px 26px;
  border:3px solid var(--line);
  box-shadow:var(--shadow-sm);
  position:relative;overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease;
  background:var(--main);color:#fff;
}
.btn-hard.alt{background:var(--paper);color:var(--ink);}
.btn-hard::after{
  content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.62),transparent);
  transform:skewX(-20deg);
  transition:left .55s ease;
}
.btn-hard:hover::after{left:140%;}
.btn-hard:hover{
  transform:translate(-2px,-2px);
  box-shadow:6px 6px 0 0 var(--line);
  color:#fff;
}
.btn-hard.alt:hover{color:var(--ink);}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-stat-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
.stat-box{
  border:3px solid var(--line);
  background:var(--paper);
  padding:20px 18px;
  box-shadow:var(--shadow);
}
.stat-box:nth-child(2){background:#fff7d6;}
.stat-box:nth-child(3){background:#fdf1d3;}
.stat-num{
  font-size:2.5rem;font-weight:900;line-height:1;
  color:var(--main);
  letter-spacing:-.04em;
  display:block;
}
.stat-num .unit{font-size:1.1rem;font-weight:800;}
.stat-label{
  display:block;margin-top:8px;
  font-size:.82rem;font-weight:700;letter-spacing:.06em;color:#7c3d0c;
}

/* ---------- SECTION SHELL ---------- */
.section{max-width:1200px;margin:0 auto;padding:70px 18px;}
.section-head{margin-bottom:38px;}
.sec-tag{
  display:inline-block;font-weight:800;font-size:.78rem;
  letter-spacing:.16em;
  border:2px solid var(--line);
  background:var(--accent);
  padding:5px 11px;margin-bottom:14px;
  box-shadow:3px 3px 0 0 var(--line);
}
.section h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:10px;}
.section .sec-desc{color:#6b3410;font-weight:500;max-width:680px;margin:0;}

/* ---------- TABLE ---------- */
.table-wrap{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:var(--paper);
  overflow-x:auto;
}
table.cmp{
  width:100%;min-width:720px;border-collapse:collapse;margin:0;
}
table.cmp thead th{
  background:var(--main);color:#fff;
  font-weight:900;font-size:.92rem;letter-spacing:.04em;
  padding:18px 16px;text-align:left;
  border-right:2px solid rgba(254,252,232,.28);
  border-bottom:3px solid var(--line);
}
table.cmp thead th:last-child{border-right:none;}
table.cmp tbody td{
  padding:16px;font-size:.95rem;font-weight:500;
  border-bottom:2px solid rgba(69,26,3,.16);
  border-right:2px solid rgba(69,26,3,.1);
  vertical-align:top;
}
table.cmp tbody td:last-child{border-right:none;}
table.cmp tbody tr:nth-child(even){background:#fffbea;}
table.cmp tbody tr:hover{background:#fef3c7;}
table.cmp td .badge-hard{
  display:inline-block;font-size:.72rem;font-weight:800;
  padding:3px 8px;border:2px solid var(--line);
  background:#fde68a;margin-left:6px;
}
td .fa-solid, td .fa-regular{color:var(--main);margin-right:7px;}
.muted-cell{color:#8a4a15;}

/* ---------- FEATURES ---------- */
.feat-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr;}}
.feat-card{
  border:3px solid var(--line);
  background:var(--paper);
  padding:28px 24px;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease;
}
.feat-card:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 0 var(--line);}
.feat-icon{
  width:58px;height:58px;
  display:flex;align-items:center;justify-content:center;
  border:3px solid var(--line);
  background:var(--accent);
  font-size:1.35rem;color:var(--ink);
  margin-bottom:18px;
  box-shadow:4px 4px 0 0 var(--line);
}
.feat-card h3{font-size:1.18rem;margin-bottom:10px;}
.feat-card p{font-size:.94rem;color:#6b3410;margin:0;font-weight:500;}

/* ---------- INTRO NUMBERED LIST ---------- */
.intro-wrap{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start;
}
@media(max-width:900px){.intro-wrap{grid-template-columns:1fr;gap:28px;}}
.intro-poster{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:var(--main);
  padding:0;overflow:hidden;
  position:relative;
}
.intro-poster img{width:100%;display:block;filter:saturate(1.05);}
.intro-poster .poster-tag{
  position:absolute;left:14px;top:14px;
  border:3px solid var(--line);
  background:var(--accent);
  color:var(--ink);font-weight:900;font-size:.8rem;
  padding:5px 12px;
  box-shadow:3px 3px 0 0 var(--line);
}
.nlist{counter-reset:step;list-style:none;padding:0;margin:0;}
.nlist li{
  position:relative;
  border:3px solid var(--line);
  background:var(--paper);
  padding:20px 22px 20px 76px;
  margin-bottom:16px;
  box-shadow:var(--shadow-sm);
}
.nlist li::before{
  counter-increment:step;
  content:counter(step,decimal-leading-zero);
  position:absolute;left:16px;top:18px;
  font-weight:900;font-size:1.35rem;
  color:var(--bg);
  background:var(--main);
  border:3px solid var(--line);
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  letter-spacing:-.05em;
}
.nlist li h4{font-size:1.06rem;margin:0 0 6px;}
.nlist li p{margin:0;font-size:.93rem;color:#6b3410;font-weight:500;}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:900px;margin:0 auto;}
.acc-item{
  border:3px solid var(--line);
  background:var(--paper);
  box-shadow:var(--shadow-sm);
  margin-bottom:14px;
}
.acc-btn{
  width:100%;text-align:left;
  background:transparent;border:none;
  padding:20px 22px;
  font-weight:900;font-size:1.02rem;color:var(--ink);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  cursor:pointer;
}
.acc-btn .fa-plus{transition:transform .25s ease;color:var(--main);}
.acc-item.open .acc-btn .fa-plus{transform:rotate(45deg);}
.acc-panel{
  max-height:0;overflow:hidden;
  transition:max-height .32s ease;
}
.acc-panel p{
  margin:0;padding:0 22px 20px;
  font-size:.95rem;color:#6b3410;font-weight:500;
}
.acc-item.open .acc-panel{max-height:320px;}

/* ---------- CTA ---------- */
.cta-band{
  border:3px solid var(--line);
  background:var(--main);
  color:var(--bg);
  box-shadow:var(--shadow);
  padding:52px 36px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;right:-60px;top:-60px;
  width:230px;height:230px;border:14px solid rgba(202,138,4,.45);
  transform:rotate(18deg);
}
.cta-band h2{color:var(--bg);font-size:clamp(1.6rem,3.2vw,2.4rem);margin-bottom:10px;}
.cta-band p{color:#fde9c0;margin:0;font-weight:600;max-width:560px;}
.cta-band .btn-hard{background:var(--accent);color:var(--ink);border-color:var(--ink);box-shadow:5px 5px 0 0 var(--bg);}
.cta-band .btn-hard:hover{box-shadow:8px 8px 0 0 var(--bg);color:var(--ink);}

/* ---------- FOOTER ---------- */
footer{
  border-top:3px solid var(--line);
  background:#fffbea;
  margin-top:60px;
  padding:52px 18px 26px;
}
.foot-inner{max-width:1200px;margin:0 auto;}
.foot-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;
  padding-bottom:36px;
  border-bottom:2px solid rgba(69,26,3,.2);
}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr;gap:26px;}}
.foot-brand{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:900;font-size:1.2rem;color:var(--ink);
  border:3px solid var(--line);background:var(--accent);
  padding:6px 13px;box-shadow:var(--shadow-sm);
  margin-bottom:14px;
}
.foot-grid p{font-size:.92rem;color:#6b3410;font-weight:500;max-width:340px;margin:0;}
.foot-grid h5{font-size:.85rem;letter-spacing:.14em;margin-bottom:14px;color:var(--main);}
.foot-grid ul{list-style:none;padding:0;margin:0;}
.foot-grid ul li{margin-bottom:9px;}
.foot-grid ul a{color:var(--ink);font-weight:600;font-size:.93rem;transition:.18s;}
.foot-grid ul a:hover{color:var(--main);padding-left:4px;}
.friend-links{
  padding:30px 0 20px;
  border-bottom:2px solid rgba(69,26,3,.2);
}
.friend-links h5{
  font-size:.85rem;letter-spacing:.14em;color:var(--main);
  margin-bottom:14px;font-weight:900;
}
.friend-links .fl-row{
  font-size:.9rem;color:#6b3410;font-weight:600;line-height:2;
  word-break:break-all;
}
.copyright{
  padding-top:22px;text-align:center;
  font-size:.85rem;font-weight:600;color:#7c3d0c;
}
.copyright a{color:var(--main);}

/* --- 子页面追加 --- */
/* 本页专属：榜单条目 */
  .rank-list { display: grid; gap: 18px; margin-top: 26px; }
.rank-item {
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 18px;
    background: var(--paper);
    border: 3px solid var(--line);
    box-shadow: var(--shadow-sm);
    padding: 18px 20px;
    align-items: start;
  }
.rank-no {
    font-size: 2.1rem;
    font-weight: 900;
    line-height: 1;
    color: var(--main);
    text-align: center;
    padding-top: 4px;
  }
.rank-no small { display: block; font-size: .62rem; font-weight: 700; letter-spacing: .08em; color: var(--ink); opacity: .6; margin-top: 4px; }
.rank-title { font-size: 1.12rem; font-weight: 800; margin: 0 0 4px; color: var(--ink); }
.rank-meta { font-size: .8rem; font-weight: 600; color: var(--main); margin-bottom: 8px; }
.rank-meta span { margin-right: 12px; }
.rank-desc { font-size: .92rem; line-height: 1.75; margin: 0 0 10px; color: var(--ink); }
.rank-danmu {
    font-size: .84rem;
    line-height: 1.7;
    background: rgba(180,83,9,.08);
    border-left: 4px solid var(--accent);
    padding: 8px 12px;
    margin: 0;
    color: var(--ink);
  }
.rank-danmu b { color: var(--main); }
.rank-note { font-size: .78rem; font-weight: 600; color: var(--ink); opacity: .65; margin-top: 8px; }
.board-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.board-tabs button {
    font: inherit; font-weight: 700; font-size: .86rem; cursor: pointer;
    background: var(--paper); color: var(--ink);
    border: 3px solid var(--line); box-shadow: var(--shadow-sm);
    padding: 8px 16px; transition: transform .12s ease;
  }
.board-tabs button:hover { transform: translate(-2px,-2px); }
.board-tabs button.on { background: var(--main); color: #fffdf0; }
.rank-item { grid-template-columns: 1fr; gap: 8px; padding: 16px; }
.rank-no { text-align: left; font-size: 1.7rem; }
.rank-no small { display: inline; margin-left: 8px; }

/* --- 子页面追加 --- */
/* 本页少量专属样式，配色严格沿用站点变量 */
  .guide-toc {
    background: var(--paper);
    border: 3px solid var(--line);
    box-shadow: var(--shadow-sm);
    padding: 20px 22px;
  }
.guide-toc h3 {
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 14px;
    color: var(--ink);
  }
.guide-toc ol {
    margin: 0;
    padding-left: 20px;
    color: var(--ink);
  }
.guide-toc li { margin-bottom: 8px; font-size: .93rem; line-height: 1.6; }
.guide-toc a { color: var(--main); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--accent); }
.guide-toc a:hover { color: var(--accent); }
.guide-step {
    background: var(--paper);
    border: 3px solid var(--line);
    box-shadow: var(--shadow-sm);
    padding: 24px 26px;
    margin-bottom: 26px;
  }
.guide-step h3 {
    font-size: 1.15rem;
    font-weight: 800;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
  }
.guide-step h3 .step-no {
    flex: 0 0 auto;
    width: 34px; height: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--main);
    color: var(--bg);
    border: 3px solid var(--line);
    font-weight: 900;
    font-size: .95rem;
  }
.guide-step p { color: var(--ink); line-height: 1.8; margin-bottom: 10px; font-size: .96rem; }
.guide-step ul { margin: 6px 0 10px; padding-left: 20px; }
.guide-step li { color: var(--ink); line-height: 1.8; font-size: .94rem; margin-bottom: 4px; }
.guide-step strong { color: var(--main); }
.tip-box {
    background: rgba(202,138,4,.12);
    border-left: 6px solid var(--accent);
    padding: 14px 18px;
    margin-top: 12px;
    font-size: .9rem;
    line-height: 1.75;
    color: var(--ink);
  }
.tip-box i { color: var(--main); margin-right: 6px; }
.danmaku-demo {
    background: var(--ink);
    color: #fde68a;
    border: 3px solid var(--line);
    padding: 18px 20px;
    font-size: .9rem;
    line-height: 2;
    margin: 14px 0 6px;
    overflow: hidden;
  }
.danmaku-demo span { display: inline-block; margin-right: 16px; white-space: nowrap; }
.danmaku-demo .c-main { color: #fcd34d; }
.danmaku-demo .c-accent { color: #f59e0b; }
.danmaku-demo .c-hot { color: #ef4444; font-weight: 700; }
.guide-faq-item {
    border-bottom: 2px dashed rgba(69,26,3,.3);
    padding: 18px 0;
  }
.guide-faq-item:last-child { border-bottom: none; }
.guide-faq-item h3 {
    font-size: 1.02rem;
    font-weight: 800;
    color: var(--main);
    margin-bottom: 8px;
  }
.guide-faq-item p { color: var(--ink); line-height: 1.8; font-size: .94rem; margin: 0; }
.guide-step { padding: 18px 16px; }
.guide-step h3 { font-size: 1.05rem; }
.danmaku-demo { font-size: .82rem; }

/* --- 子页面追加 --- */
.about-lead {max-width:760px;font-size:1.05rem;line-height:1.9;color:var(--ink);}
.about-lead strong {background:linear-gradient(transparent 62%, rgba(202,138,4,.35) 62%);padding:0 .1em;}
.rule-list {list-style:none;padding:0;margin:0;display:grid;gap:14px;}
.rule-list li {background:var(--paper);border:3px solid var(--line);box-shadow:var(--shadow-sm);padding:16px 18px;display:flex;gap:14px;align-items:flex-start;color:var(--ink);line-height:1.7;}
.rule-list li i {color:var(--main);font-size:1.15rem;margin-top:4px;flex-shrink:0;}
.rule-list li b {color:var(--main);}
.about-hero-stat {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:28px;}
.team-note {background:var(--paper);border:3px solid var(--line);box-shadow:var(--shadow);padding:24px;color:var(--ink);line-height:1.9;}
.team-note .sig {display:block;margin-top:14px;font-weight:800;color:var(--main);}
.timeline {list-style:none;padding:0;margin:0;border-left:4px solid var(--line);}
.timeline li {position:relative;padding:0 0 22px 22px;color:var(--ink);line-height:1.75;}
.timeline li::before {content:'';position:absolute;left:-10px;top:6px;width:14px;height:14px;background:var(--accent);border:3px solid var(--line);border-radius:50%;}
.timeline li b {display:block;color:var(--main);font-size:1.02rem;margin-bottom:2px;}
.about-cta {display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;}
.faq-item {background:var(--paper);border:3px solid var(--line);box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:16px;color:var(--ink);line-height:1.8;}
.faq-item h3 {font-size:1.05rem;margin:0 0 8px;color:var(--main);display:flex;gap:10px;align-items:baseline;}
.faq-item h3 span {font-weight:900;color:var(--accent);}
.about-lead {font-size:.98rem;}
.team-note {padding:18px;}

/* --- 子页面追加 --- */
.legal-wrap {max-width:900px;margin:0 auto;}
.legal-card {background:var(--paper);border:3px solid var(--line);box-shadow:var(--shadow);padding:2rem 2.2rem;margin-bottom:2.4rem;}
.legal-card h2 {font-size:1.35rem;font-weight:800;margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;}
.legal-card h2 i {color:var(--main);}
.legal-card p {line-height:1.9;font-size:.98rem;margin-bottom:.9rem;}
.legal-card ul {list-style:none;padding-left:0;margin-bottom:.9rem;}
.legal-card li {position:relative;padding-left:1.5rem;line-height:1.9;font-size:.96rem;margin-bottom:.55rem;}
.legal-card li::before {content:"▸";position:absolute;left:0;color:var(--accent);font-weight:900;}
.legal-card strong {color:var(--main);font-weight:700;}
.legal-meta {display:inline-block;background:var(--main);color:var(--bg);font-weight:700;font-size:.78rem;letter-spacing:.06em;padding:.3rem .8rem;border:2px solid var(--line);box-shadow:var(--shadow-sm);margin-bottom:1.6rem;}
.legal-note {background:#fdf3d0;border-left:6px solid var(--accent);padding:1rem 1.2rem;font-size:.92rem;line-height:1.8;margin-bottom:1rem;}
.legal-toc {background:var(--paper);border:3px dashed var(--line);padding:1.2rem 1.4rem;margin-bottom:2.4rem;}
.legal-toc h3 {font-size:1rem;font-weight:800;margin-bottom:.7rem;}
.legal-toc a {color:var(--main);text-decoration:none;font-weight:600;font-size:.93rem;display:inline-block;margin:.2rem 1rem .2rem 0;}
.legal-toc a:hover {text-decoration:underline;}
.legal-card {padding:1.4rem 1.2rem;}
.legal-card h2 {font-size:1.15rem;}