/* 打印百科 — 大胜3D打印造物 · 紫霓虹 Neon */
:root{
  color-scheme:dark;
  --bg:#050508;--surface:#0c0c14;--panel:#0a0a12;--canvas:#08080f;
  --line:#2a2a3d;--text:#f4f4f8;--muted:#a0a0b8;--subtle:#787890;
  --accent:#a855f7;--accent-bg:#1e1035;--accent-text:#faf5ff;
  --violet:#a855f7;--indigo:#6366f1;--sky:#38bdf8;
  --cyan:var(--sky);
  --shadow:0 1px 2px #0008,0 14px 40px #0009;
  --glow:0 0 0 1px color-mix(in srgb,var(--violet) 28%,transparent),0 0 28px color-mix(in srgb,var(--violet) 12%,transparent),0 16px 48px color-mix(in srgb,var(--indigo) 12%,transparent);
  --radius:10px;--radius-lg:16px;
  font-family:"Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px;line-height:1.75;background:var(--bg);color:var(--text);
}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:
  radial-gradient(1100px 560px at 10% -8%,color-mix(in srgb,var(--violet) 18%,transparent),transparent 58%),
  radial-gradient(800px 480px at 95% 0%,color-mix(in srgb,var(--sky) 12%,transparent),transparent 50%),
  linear-gradient(180deg,#0a0a12,var(--bg) 40%,#050508);background-attachment:fixed}
a{color:var(--accent);text-decoration:none}a:hover{filter:brightness(1.12)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.mono{font-family:"Cascadia Code","Consolas",monospace;font-variant-numeric:tabular-nums}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px 72px}
.topbar{
  height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 70%,var(--violet));
  backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 70%,transparent);
  position:sticky;top:0;z-index:20;margin:0 -28px;padding:0 28px;
}
.brand{display:flex;align-items:center;gap:12px;color:var(--text)}
.brand .mark{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--accent-bg),color-mix(in srgb,var(--violet) 28%,var(--accent-bg)));
  border:1px solid color-mix(in srgb,var(--violet) 40%,var(--line));color:var(--violet);
  box-shadow:var(--glow);font-weight:700;font-size:14px;letter-spacing:1px;
}
.brand strong{font-size:15px;letter-spacing:0.5px;font-weight:650;display:block;line-height:1.2}
.brand small{display:block;font:9px Consolas,monospace;letter-spacing:2px;color:var(--muted);margin-top:3px}
.topnav{display:flex;gap:6px;flex-wrap:wrap}
.topnav a{
  font-size:12px;color:var(--muted);padding:8px 12px;border-radius:999px;
  border:1px solid transparent;
}
.topnav a:hover,.topnav a[aria-current="page"]{
  color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 70%,transparent);
  border-color:color-mix(in srgb,var(--violet) 28%,var(--line));
}
.crumb{font-size:12px;color:var(--subtle);margin:28px 0 12px;letter-spacing:.3px}
.crumb a{color:var(--muted)}.crumb span{margin:0 8px;color:var(--line)}
.hero{
  padding:28px 0 36px;border-bottom:1px solid var(--line);margin-bottom:36px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.4px;
  color:var(--sky);padding:5px 12px;border-radius:999px;margin-bottom:14px;
  background:color-mix(in srgb,var(--accent-bg) 55%,transparent);
  border:1px solid color-mix(in srgb,var(--violet) 28%,var(--line));
  font-family:Consolas,monospace;text-transform:uppercase;
}
.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 25%,transparent)}
h1{font-size:clamp(26px,4vw,36px);font-weight:600;letter-spacing:1px;line-height:1.35;margin:0 0 14px}
.lead{color:var(--muted);font-size:15px;max-width:62ch;margin:0}
.meta{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:16px;font-size:12px;color:var(--subtle)}
.meta .mono{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:28px 0}
.card{
  display:flex;flex-direction:column;gap:10px;padding:20px 18px;border-radius:var(--radius-lg);
  background:
    linear-gradient(var(--surface),var(--surface)) padding-box,
    linear-gradient(145deg,color-mix(in srgb,var(--violet) 40%,var(--line)),color-mix(in srgb,var(--sky) 35%,var(--line))) border-box;
  border:1px solid transparent;box-shadow:var(--shadow);color:var(--text);
  transition:transform .2s,box-shadow .2s;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow),0 0 28px color-mix(in srgb,var(--violet) 14%,transparent);color:var(--text)}
.card .no{font:11px Consolas,monospace;letter-spacing:1.5px;color:var(--sky);text-transform:uppercase}
.card h2{font-size:17px;font-weight:560;margin:0;letter-spacing:.5px}
.card p{font-size:13px;color:var(--muted);margin:0;flex:1;line-height:1.65}
.card .go{font-size:12px;color:var(--accent);margin-top:4px}
.list{display:flex;flex-direction:column;gap:12px;margin:20px 0 40px}
.list a.item{
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  padding:16px 18px;border-radius:var(--radius);border:1px solid var(--line);
  background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s;
}
.list a.item:hover{border-color:color-mix(in srgb,var(--violet) 45%,var(--line));box-shadow:var(--glow)}
.list .tag{font:10px Consolas,monospace;letter-spacing:1px;color:var(--sky);text-transform:uppercase;white-space:nowrap}
.list h3{font-size:15px;font-weight:550;margin:0 0 4px}
.list p{font-size:13px;color:var(--muted);margin:0}
.list .arrow{color:var(--accent);font-size:18px}
.article{max-width:720px}
.article h2{font-size:20px;font-weight:560;margin:36px 0 12px;letter-spacing:.5px;color:var(--text)}
.article h3{font-size:16px;font-weight:550;margin:28px 0 10px}
.article p{margin:0 0 14px;color:var(--text)}
.article ul,.article ol{margin:0 0 16px;padding-left:1.35em;color:var(--text)}
.article li{margin:6px 0}
.article li::marker{color:var(--accent)}
.callout{
  margin:24px 0;padding:16px 18px;border-radius:var(--radius);
  border-left:3px solid var(--violet);background:color-mix(in srgb,var(--accent-bg) 55%,var(--panel));
  color:var(--muted);font-size:14px;
}
.callout strong{color:var(--accent);font-weight:560}
.cta{
  margin:40px 0 20px;padding:22px 22px;border-radius:var(--radius-lg);
  border:1px solid color-mix(in srgb,var(--violet) 40%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 70%,transparent),var(--surface));
  box-shadow:var(--glow);
}
.cta h2{font-size:18px;margin:0 0 8px}
.cta p{margin:0 0 14px;color:var(--muted);font-size:14px}
.cta .btns{display:flex;flex-wrap:wrap;gap:10px}
.cta a.btn{
  display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:8px;
  background:linear-gradient(120deg,var(--violet),var(--indigo));color:var(--accent-text);font-weight:600;font-size:13px;
  box-shadow:0 8px 20px color-mix(in srgb,var(--violet) 28%,transparent);
}
.cta a.btn.ghost{background:transparent;color:var(--accent);border:1px solid color-mix(in srgb,var(--violet) 45%,var(--line));box-shadow:none}
.related{margin:36px 0;padding-top:24px;border-top:1px solid var(--line)}
.related h2{font-size:15px;margin:0 0 12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-family:Consolas,monospace}
.related ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.related a{font-size:14px}
.foot{
  margin-top:48px;padding:28px 0;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;
  font-size:12px;color:var(--subtle);
}
.foot a{color:var(--muted)}
@media(max-width:640px){
  .wrap{padding:0 16px 56px}
  .topbar{margin:0 -16px;padding:0 16px;height:64px}
  .topnav a:not(.home-link){display:none}
  .list a.item{grid-template-columns:1fr auto}
  .list .tag{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
