/* ============================================================
   Pixel Spin Party — 子页面（指南 / 隐私 / 协议）样式
   与主页共用配色，但版式换成「文档纸 + 侧边目录」
   ============================================================ */

:root{
  --sky-1:#a9dcf7; --sky-2:#d3eeff; --sky-3:#eaf7ff;
  --ink:#264a6d; --ink-2:#3d6389; --ink-soft:#7794b0;
  --line:#d9e9f5; --card:#ffffff; --card-2:#f3faff; --card-edge:#d5e7f4;
  --blue:#4a9de8; --blue-d:#2f7dc4;
  --green:#5fc94e; --green-d:#3a9c2e;
  --gold:#ffd24a; --pink:#f58bb0; --pink-d:#d4648e;
  --font-px:'Press Start 2P', ui-monospace, monospace;
  --font-round:'Baloo 2','Nunito',system-ui,sans-serif;
  --font-body:'Nunito',system-ui,-apple-system,sans-serif;
  --shadow-card:0 4px 0 var(--card-edge), 0 14px 26px rgba(48,105,155,.13);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; }
body{
  margin:0; font-family:var(--font-body); font-size:16px; line-height:1.78; color:var(--ink);
  background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 22%,var(--sky-3) 60%,#f4fbff 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--blue-d); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3{ font-family:var(--font-round); font-weight:800; line-height:1.2; margin:0; }
p,ul,ol{ margin:0; }
canvas{ display:block; image-rendering:pixelated; }

/* ---------------- 顶部条 ---------------- */
.top{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 26px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:3px solid #fff;
  box-shadow:0 6px 18px rgba(48,105,155,.12);
}
.top__brand{ display:flex; align-items:center; gap:11px; color:var(--ink); }
.top__brand:hover{ text-decoration:none; }
.top__name{ font-family:var(--font-px); font-size:11px; line-height:1.5; }
.top__links{ display:flex; flex-wrap:wrap; gap:6px; }
.top__links a{
  padding:8px 14px; border-radius:999px;
  font-family:var(--font-round); font-weight:700; font-size:14.5px; color:var(--ink-2);
  transition:background .18s,color .18s;
}
.top__links a:hover{ background:var(--card-2); color:var(--blue-d); text-decoration:none; }
.top__links a.is-here{ background:#e6f4ff; color:var(--blue-d); box-shadow:inset 0 0 0 2px #c8e6fb; }

/* ---------------- 页头 ---------------- */
.head{ max-width:1060px; margin:0 auto; padding:56px 26px 30px; }
.head__tag{
  display:inline-block; margin-bottom:16px; padding:7px 14px;
  font-family:var(--font-px); font-size:10px; line-height:1; color:var(--blue-d);
  background:#fff; border-radius:999px; box-shadow:0 3px 0 var(--card-edge);
}
.head h1{ font-size:clamp(28px,4.4vw,42px); margin-bottom:12px; }
.head__meta{ font-size:14.5px; color:var(--ink-soft); }

/* ---------------- 主体：正文 + 侧边目录 ---------------- */
.doc{
  display:grid; grid-template-columns:1fr 234px; gap:34px; align-items:start;
  max-width:1060px; margin:0 auto; padding:0 26px 90px;
}
.sheet{
  padding:40px 44px; background:var(--card); border-radius:26px;
  box-shadow:var(--shadow-card);
}
.sheet > section + section{ margin-top:38px; padding-top:34px; border-top:2px dashed var(--line); }
.sheet h2{
  display:flex; align-items:baseline; gap:12px;
  font-size:24px; margin-bottom:14px; scroll-margin-top:96px;
}
.sheet h2::before{
  content:''; flex:none; width:9px; height:9px; background:var(--pink);
  box-shadow:0 3px 0 var(--pink-d); transform:translateY(-2px);
}
.sheet h3{ font-size:18.5px; margin:22px 0 8px; }
.sheet p + p{ margin-top:12px; }
.sheet p, .sheet li{ color:var(--ink-2); }
.sheet ul, .sheet ol{ margin:12px 0 0; padding-left:0; list-style:none; }
.sheet li{ position:relative; padding-left:24px; margin-bottom:9px; }
.sheet ul > li::before{
  content:''; position:absolute; left:2px; top:11px;
  width:8px; height:8px; background:var(--blue); box-shadow:0 2px 0 var(--blue-d);
}
.sheet ol{ counter-reset:n; }
.sheet ol > li{ counter-increment:n; padding-left:32px; }
.sheet ol > li::before{
  content:counter(n); position:absolute; left:0; top:2px;
  font-family:var(--font-px); font-size:10px; color:var(--blue-d);
}
.sheet b{ color:var(--ink); }

/* 提示块 */
.note{
  margin-top:18px; padding:18px 20px; border-radius:16px;
  background:linear-gradient(160deg,#fff8e2,#fff3cf);
  box-shadow:inset 0 0 0 2px #f4e2ac;
}
.note p{ color:#7a5a12; font-size:15px; }
.note b{ color:#6a4c08; }

/* 关键数值表 */
.tbl{ margin-top:16px; border-radius:16px; overflow:hidden; box-shadow:inset 0 0 0 2px var(--line); }
.tbl__row{ display:grid; grid-template-columns:1fr 1.35fr; gap:0; }
.tbl__row + .tbl__row{ border-top:2px solid var(--line); }
.tbl__row > *{ padding:12px 16px; font-size:15px; }
.tbl__row > :first-child{ font-family:var(--font-round); font-weight:700; background:var(--card-2); color:var(--ink); }
.tbl__row > :last-child{ color:var(--ink-2); }

/* 侧边目录 */
.toc{ position:sticky; top:96px; padding:22px 20px; background:rgba(255,255,255,.86); border-radius:22px; box-shadow:var(--shadow-card); }
.toc h4{ font-family:var(--font-px); font-size:9.5px; color:var(--ink); margin:0 0 14px; }
.toc a{
  display:block; padding:7px 10px; border-radius:10px;
  font-size:14.5px; color:var(--ink-2); line-height:1.5;
}
.toc a:hover{ background:var(--card-2); color:var(--blue-d); text-decoration:none; }

/* ---------------- 页脚 ---------------- */
.dfoot{
  padding:34px 26px 40px;
  background:rgba(255,255,255,.8); border-top:3px solid #fff;
}
.dfoot__inner{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px;
  max-width:1060px; margin:0 auto; font-size:14px; color:var(--ink-soft);
}
.dfoot a{ color:var(--ink-2); }
.dfoot__links{ display:flex; flex-wrap:wrap; gap:18px; }

/* ---------------- 响应式 ---------------- */
@media (max-width:940px){
  .doc{ grid-template-columns:1fr; }
  .toc{ position:static; order:-1; }
  .toc a{ display:inline-block; }
}
@media (max-width:640px){
  .top{ padding:12px 16px; flex-direction:column; align-items:flex-start; gap:10px; }
  .top__links a{ padding:7px 11px; font-size:13.5px; }
  .head{ padding:36px 16px 22px; }
  .doc{ padding:0 16px 64px; }
  .sheet{ padding:26px 20px; border-radius:20px; }
  .sheet h2{ font-size:21px; }
  .tbl__row{ grid-template-columns:1fr; }
  .tbl__row > :first-child{ padding-bottom:4px; }
  .tbl__row > :last-child{ padding-top:4px; }
}
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
