/* ===========================================================
   作品入口 · 引导页专用皮肤
   只在 index.html（入口页）加载
   =========================================================== */
.site-start{
  --bg:#0e1311; --fg:#e8e2d5; --muted:#9aa096; --accent:#d9a441;
  --border:rgba(217,164,65,.22); --panel:#151c19; --panel-hi:#1b2420;
  --input-bg:#111815; --accent-soft:rgba(217,164,65,.1);
  --danger:#c9604a; --danger-soft:rgba(201,96,74,.12);
  --ok:#8fb08a; --ok-soft:rgba(143,176,138,.12);
  --paper:#f2ecdd; --ink:#22201b;
  background:#0e1311; color:var(--fg);
  background-image:
    radial-gradient(1100px 620px at 82% -8%, rgba(217,164,65,.09), transparent 62%),
    radial-gradient(900px 540px at -6% 28%, rgba(96,138,116,.08), transparent 66%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.016) 0 1px, transparent 1px 3px);
  background-attachment:fixed;
}
.site-start ::selection{background:rgba(217,164,65,.32); color:#fff}
.site-start a{color:var(--accent)}
.site-start a:hover{text-decoration:none}
.site-start{scroll-behavior:smooth}
.start-skip{
  position:fixed; left:50%; top:10px; z-index:120; transform:translate(-50%,-160%);
  background:#d9a441; color:#14110b; padding:9px 16px; border-radius:3px;
  font-size:13px; transition:transform .2s;
}
.start-skip:focus{transform:translate(-50%,0)}

.start-bar{
  position:sticky; top:0; z-index:40;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px;
  max-width:1120px; margin:0 auto; padding:15px 28px;
  background:rgba(14,19,17,.86); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(217,164,65,.14);
}
.start-brand{display:inline-flex; align-items:center; gap:12px; color:var(--fg); justify-self:start}
.start-mark{
  width:38px; height:38px; display:grid; place-items:center; flex:none;
  border:1px solid rgba(217,164,65,.55); color:#e3b45a;
  font-family:"JetBrains Mono",ui-monospace,monospace; font-size:12.5px; letter-spacing:.02em;
  background:linear-gradient(160deg, rgba(217,164,65,.13), transparent 70%);
  box-shadow:inset 0 0 0 4px rgba(14,19,17,.9), inset 0 0 0 5px rgba(217,164,65,.14);
}
.start-brand-text{display:flex; flex-direction:column; line-height:1.25}
.start-brand-text b{font-family:"Noto Serif SC","Songti SC",SimSun,serif; font-size:16.5px; letter-spacing:.07em; font-weight:600}
.start-brand-text small{font-size:10.5px; color:var(--muted); letter-spacing:.14em}
.start-nav{display:flex; gap:26px; justify-self:center; font-size:13px}
.start-nav a{color:#b9b5aa; font-size:12.5px; letter-spacing:.06em}
.start-nav a:hover{color:#e8c27a}
.start-resume{
  justify-self:end; display:inline-flex; align-items:center; gap:9px;
  background:transparent; border:1px solid rgba(217,164,65,.42); color:#e3b45a;
  padding:8px 14px; border-radius:3px; font-size:12.5px; cursor:pointer;
  letter-spacing:.04em; transition:background .18s, border-color .18s;
}
.start-resume b{font-family:"JetBrains Mono",monospace; font-size:11px; color:#f0cf94; letter-spacing:.06em}
.start-resume:hover{background:rgba(217,164,65,.1); border-color:rgba(217,164,65,.75)}
.start-bar [hidden]{display:none !important}

.start-hero{
  max-width:1120px; margin:0 auto; padding:76px 28px 44px;
  display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:64px; align-items:center;
}
.start-kicker{
  margin:0 0 20px; font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:11px; letter-spacing:.24em; color:#c9a45f; text-transform:uppercase;
  display:flex; align-items:center; gap:12px;
}
.start-kicker::before{content:""; width:34px; height:1px; background:#c9a45f; opacity:.6}
.start-hero h1{
  margin:0 0 24px; font-size:clamp(38px,5.4vw,66px); line-height:1.14;
  letter-spacing:.01em; font-weight:700; color:#f3eee1;
}
.start-hero h1 em{
  font-style:normal; color:#e7b54e; position:relative; display:inline-block;
  padding:0 .06em;
}
.start-hero h1 em::after{
  content:""; position:absolute; left:0; right:0; bottom:.06em; height:2px;
  background:rgba(201,96,74,.8); transform:rotate(-1.4deg);
}
.start-lede{margin:0 0 12px; font-size:16px; line-height:1.95; color:#d3cec1; max-width:34em}
.start-lede.dim{font-size:14.5px; color:#9fa397; line-height:1.95; margin-bottom:0}
.start-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px}

.start-btn{
  appearance:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 24px; border-radius:3px; font-size:14px; line-height:1.2; letter-spacing:.04em;
  border:1px solid transparent; transition:background .18s, border-color .18s, color .18s, transform .1s;
  font-family:inherit; color:var(--fg); background:transparent; text-decoration:none;
}
.start-btn.primary{background:#d9a441; border-color:#d9a441; color:#17140d; font-weight:600}
.start-btn.primary:hover{background:#e6b757; border-color:#e6b757; color:#17140d}
.start-btn.ghost{border-color:rgba(232,226,213,.26); color:#d9d4c7}
.start-btn.ghost:hover{border-color:rgba(217,164,65,.7); color:#e8c27a; background:rgba(217,164,65,.05)}
.start-btn:active{transform:translateY(1px)}
.start-btn:focus-visible,.start-mini:focus-visible,.start-resume:focus-visible,.start-nav a:focus-visible,.start-foot a:focus-visible{
  outline:2px solid #e7b54e; outline-offset:3px;
}

.start-meta{
  margin:22px 0 0; font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:11px; letter-spacing:.05em; color:#7f857b; line-height:1.8;
}
.start-meta.warn{color:#d99a86}

.start-save{
  margin-top:26px; padding:14px 16px; border:1px solid rgba(217,164,65,.28);
  background:rgba(217,164,65,.055); display:flex; flex-wrap:wrap; gap:14px 20px;
  align-items:center; justify-content:space-between;
}
.start-save[hidden]{display:none !important}
.start-save-info{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 13px; font-size:12.5px; color:#a7a397}
.start-save-k{font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.16em; color:#c9a45f; text-transform:uppercase}
.start-save-info b{font-family:"Noto Serif SC","Songti SC",serif; font-size:15.5px; color:#efe8d7; font-weight:600}
.start-save-actions{display:flex; flex-wrap:wrap; gap:8px}
.start-mini{
  appearance:none; cursor:pointer; border:1px solid rgba(232,226,213,.22); background:transparent;
  color:#cfcabd; padding:6px 11px; border-radius:3px; font-size:12px; font-family:inherit; line-height:1.3;
  transition:border-color .18s, color .18s, background .18s;
}
.start-mini:hover{border-color:rgba(217,164,65,.7); color:#e8c27a}
.start-mini.primary{border-color:rgba(217,164,65,.6); color:#e7b54e; background:rgba(217,164,65,.08)}
.start-mini.armed{border-color:#c9604a; color:#e2a191; background:rgba(201,96,74,.1)}

.start-pass{
  position:relative; background:linear-gradient(158deg,#f8f3e7 0%,#efe6d3 62%,#e7dcc6 100%);
  color:var(--ink); padding:30px 30px 24px; border-radius:2px;
  transform:rotate(-1.4deg); box-shadow:0 36px 70px -38px #000, 0 2px 0 rgba(255,255,255,.35) inset;
  max-width:420px; justify-self:end; width:100%;
}
.start-pass::before{
  content:""; position:absolute; top:-13px; left:50%; width:116px; height:27px;
  transform:translateX(-50%) rotate(-2deg);
  background:rgba(224,195,134,.42); border:1px solid rgba(180,150,90,.28);
  box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.start-pass-head{
  display:flex; justify-content:space-between; align-items:center;
  padding-bottom:13px; border-bottom:1px solid rgba(34,32,27,.32);
  font-family:"JetBrains Mono",ui-monospace,monospace; font-size:10px;
  letter-spacing:.13em; color:#5f5a4d; text-transform:uppercase;
}
.start-pass-rows{margin:14px 0 0}
.start-pass-rows > div{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px dashed rgba(34,32,27,.2)}
.start-pass-rows dt{font-size:12px; color:#6b6557; letter-spacing:.12em}
.start-pass-rows dd{margin:0; font-size:14px; color:#22201b; text-align:right}
.start-pass-rows dd.mono{font-family:"JetBrains Mono",monospace; font-size:13.5px; letter-spacing:.04em}
.start-pass-rows dd.blank{width:132px; height:15px; border-bottom:1px solid #2b2822; margin-right:2px}
.start-stamp{
  position:absolute; right:24px; bottom:78px; color:#a8382b;
  border:3px double #a8382b; padding:5px 10px; font-family:"Noto Serif SC","Songti SC",serif;
  font-size:12.5px; font-weight:700; letter-spacing:.2em; transform:rotate(-11deg);
  opacity:.72; background:rgba(248,243,231,.35);
}
.start-pass-note{
  margin:20px 0 0; padding-top:14px; border-top:1px solid rgba(34,32,27,.16);
  font-family:"Kaiti SC","STKaiti",KaiTi,serif; font-size:13px; line-height:1.8;
  color:#6a6456; max-width:25em;
}

.start-facts{
  max-width:1120px; margin:0 auto; padding:22px 28px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  border-top:1px solid rgba(217,164,65,.18); border-bottom:1px solid rgba(217,164,65,.18);
}
.start-facts > div{display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; padding-left:16px; border-left:1px solid rgba(217,164,65,.22)}
.start-facts > div:first-child{padding-left:0; border-left:0}
.start-facts b{font-family:"Noto Serif SC","Songti SC",serif; font-size:30px; line-height:1; color:#e3b45a; font-weight:600}
.start-facts span{font-size:13px; color:#c6c1b4}
.start-facts small{flex-basis:100%; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em; color:#7f857b}

.start-section{
  max-width:1120px; margin:0 auto; padding:72px 28px 8px;
  border-top:1px solid rgba(255,255,255,.055);
}
.start-section:first-of-type{border-top:0}
.start-section-head{max-width:720px}
.start-index{
  display:block; font-family:"JetBrains Mono",ui-monospace,monospace; font-size:10.5px;
  letter-spacing:.24em; color:#c9a45f; text-transform:uppercase; margin-bottom:16px;
}
.start-section h2{
  margin:0 0 16px; font-size:clamp(28px,3.5vw,44px); line-height:1.3;
  font-weight:600; color:#f1ebdc; letter-spacing:.01em;
}
.start-section-head p{margin:0; font-size:14.5px; line-height:1.95; color:#a6a89e; max-width:36em}

.start-timeline{list-style:none; margin:38px 0 0; padding:0 0 0 2px; border-left:1px solid rgba(217,164,65,.22)}
.start-timeline li{
  position:relative; display:grid; grid-template-columns:158px minmax(0,1fr);
  gap:22px; padding:0 0 27px 27px;
}
.start-timeline li::before{
  content:""; position:absolute; left:-4px; top:7px; width:7px; height:7px; border-radius:50%;
  background:#0e1311; border:1px solid #c9a45f;
}
.start-timeline li.now::before{background:#c9604a; border-color:#c9604a; box-shadow:0 0 0 4px rgba(201,96,74,.14)}
.start-timeline time{
  font-family:"JetBrains Mono",ui-monospace,monospace; font-size:11px; letter-spacing:.08em;
  color:#c9a45f; padding-top:4px; line-height:1.6;
}
.start-timeline li.now time{color:#d98a74}
.start-timeline p{margin:0; font-size:14.5px; line-height:1.95; color:#c9c5b9; max-width:42em}

.start-quote{
  margin:36px 0 0; padding:24px 28px; border-left:2px solid #c9604a;
  background:rgba(201,96,74,.055); font-family:"Noto Serif SC","Songti SC",serif;
  font-size:clamp(20px,2.4vw,27px); line-height:1.7; color:#f0e9d8;
}
.start-quote cite{
  display:block; margin-top:12px; font-family:"JetBrains Mono",monospace;
  font-size:10.5px; font-style:normal; letter-spacing:.16em; color:#8d8a80;
}

.start-methods{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:36px}
.start-methods article{
  border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.024);
  padding:24px 24px 22px; transition:border-color .2s, background .2s;
}
.start-methods article:hover{border-color:rgba(217,164,65,.4); background:rgba(217,164,65,.035)}
.start-methods b{font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.18em; color:#c9a45f}
.start-methods h3{margin:12px 0 8px; font-size:20px; letter-spacing:.16em; color:#efe8d7; font-weight:600}
.start-methods p{margin:0; font-size:13.5px; line-height:1.9; color:#a6a89e}

.start-callout{
  margin-top:16px; padding:18px 22px; border:1px solid rgba(217,164,65,.32);
  background:rgba(217,164,65,.055);
}
.start-callout b{
  display:block; font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.2em; color:#d9b469; text-transform:uppercase;
}
.start-callout p{margin:8px 0 0; font-size:13.5px; line-height:1.9; color:#d2ccbe}

.start-notice-list{
  list-style:none; margin:34px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08);
}
.start-notice-list li{
  background:#101613; padding:19px 22px; margin:0;
  font-size:13px; line-height:1.9; color:#b3b0a5;
}
.start-notice-list b{
  display:block; font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.18em; color:#c9a45f; margin-bottom:6px; text-transform:uppercase;
}
.start-end-actions{display:flex; flex-wrap:wrap; gap:12px; margin:34px 0 0}

.start-foot{
  max-width:1120px; margin:64px auto 0; padding:26px 28px 46px;
  border-top:1px solid rgba(217,164,65,.16);
  display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap;
  font-size:11.5px; color:#7f857b; line-height:1.9;
}
.start-foot b{display:block; font-family:"Noto Serif SC","Songti SC",serif; font-size:14px; color:#cfcabc; font-weight:600; letter-spacing:.06em}
.start-foot-links{display:flex; gap:20px; flex-wrap:wrap; font-size:12px}
.start-foot-links a{color:#9aa096}
.start-foot-links a:hover{color:#e8c27a}

.start-curtain{
  position:fixed; inset:0; z-index:100; display:grid; place-items:center;
  background:radial-gradient(700px 420px at 50% 42%, rgba(217,164,65,.08), transparent 70%), #0b100e;
  opacity:0; pointer-events:none; transition:opacity .22s ease;
}
.start-curtain.on{opacity:1; pointer-events:auto}
.start-curtain-box{text-align:center; padding:24px}
.start-curtain-box > span{
  font-family:"JetBrains Mono",monospace; font-size:10.5px; letter-spacing:.24em;
  color:#c9a45f; text-transform:uppercase;
}
.start-curtain-box b{
  display:block; margin:12px 0 20px; font-family:"Noto Serif SC","Songti SC",serif;
  font-size:clamp(20px,2.6vw,26px); letter-spacing:.06em; color:#f0e9d8; font-weight:600;
}
.start-track{width:220px; height:2px; margin:0 auto; background:rgba(255,255,255,.14); overflow:hidden}
.start-track i{display:block; width:0; height:100%; background:#d9a441}
.start-curtain.on .start-track i{animation:start-load .74s ease forwards}
.start-curtain-box small{
  display:block; margin-top:15px; font-family:"JetBrains Mono",monospace;
  font-size:10.5px; letter-spacing:.08em; color:#7f857b;
}
@keyframes start-load{to{width:100%}}

html.has-io .start-reveal{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease}
html.has-io .start-reveal.in{opacity:1; transform:none}

@media(max-width:860px){
  .start-bar{grid-template-columns:1fr auto; padding:13px 20px}
  .start-nav{display:none}
  .start-hero{grid-template-columns:1fr; gap:42px; padding:52px 20px 36px}
  .start-pass{justify-self:start; max-width:440px; transform:rotate(-.8deg)}
  .start-facts{padding:20px; grid-template-columns:repeat(2,1fr); gap:16px}
  .start-facts > div:nth-child(3){padding-left:0; border-left:0}
  .start-section{padding:56px 20px 8px}
  .start-timeline li{grid-template-columns:1fr; gap:5px; padding-left:24px}
  .start-methods{grid-template-columns:1fr}
  .start-notice-list{grid-template-columns:1fr}
  .start-foot{padding:24px 20px 40px}
}
@media(max-width:560px){
  .start-hero h1{font-size:36px}
  .start-lede{font-size:15px}
  .start-actions .start-btn{width:100%}
  .start-save{flex-direction:column; align-items:stretch}
  .start-save-actions .start-mini{flex:1; min-height:40px}
  .start-pass{padding:26px 22px 22px}
  .start-stamp{right:18px; bottom:84px}
  .start-facts b{font-size:26px}
  .start-section h2{font-size:28px}
  .start-quote{padding:20px 22px}
  .start-end-actions .start-btn{width:100%}
  .start-curtain-box b{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .site-start{scroll-behavior:auto}
  .start-curtain{transition:none}
  .start-curtain.on .start-track i{animation:none; width:100%}
  .start-btn, .start-mini, .start-resume{transition:none}
}
