:root{color-scheme:light dark;--bg:#f3f7ff;--panel:rgba(255,255,255,0.94);--panel-2:rgba(248,251,255,0.9);--text:#14213d;--muted:#5d6b86;--accent:#2563eb;--accent-2:#0f766e;--highlight:#f59e0b;--border:rgba(20,33,61,0.1);--shadow:0 18px 48px rgba(15,23,42,0.12);--soft:rgba(37,99,235,0.1);--spot-a:rgba(96,165,250,0.2);--spot-b:rgba(45,212,191,0.16);--spot-c:rgba(251,191,36,0.14);--spot-d:rgba(244,114,182,0.12);--outer-card-radius:44px;--panel-padding:clamp(18px,2vw,24px);--inner-card-radius:calc(var(--outer-card-radius) - var(--panel-padding))}@media (prefers-color-scheme:dark){:root{--bg:#0a1628;--panel:rgba(13,24,42,0.94);--panel-2:rgba(22,36,58,0.92);--text:#f1f5f9;--muted:#94a3b8;--accent:#60a5fa;--accent-2:#34d399;--highlight:#fbbf24;--border:rgba(255,255,255,0.08);--shadow:0 20px 50px rgba(0,0,0,0.4);--soft:rgba(96,165,250,0.12);--spot-a:rgba(37,99,235,0.25);--spot-b:rgba(16,185,129,0.18);--spot-c:rgba(245,158,11,0.15);--spot-d:rgba(236,72,153,0.12)}}*{box-sizing:border-box}html{isolation:isolate;min-height:100%}body{margin:0;font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:var(--text);min-height:100vh;isolation:isolate;padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}html::before{content:"";position:fixed;inset:-22%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 18%,var(--spot-a),transparent 24%),radial-gradient(circle at 86% 22%,var(--spot-b),transparent 23%),radial-gradient(circle at 78% 84%,var(--spot-c),transparent 20%),radial-gradient(circle at 24% 78%,var(--spot-d),transparent 22%),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--bg) 72%,white 28%));background-size:100% 100%;animation:bgFloat 24s ease-in-out infinite;animation-delay:var(--float-delay,0s);will-change:transform;transform:translate3d(0,0,0)}@keyframes bgFloat{0%{transform:translate3d(-4%,-3%,0) scale(1.05)}50%{transform:translate3d(4%,3%,0) scale(1.12)}100%{transform:translate3d(-4%,-3%,0) scale(1.05)}}html::after{content:"";position:fixed;inset:-24%;z-index:-1;pointer-events:none;opacity:0.66;filter:blur(28px) saturate(110%);background:radial-gradient(circle at 18% 24%,var(--spot-c),transparent 16%),radial-gradient(circle at 78% 68%,var(--spot-a),transparent 18%),radial-gradient(circle at 48% 92%,var(--spot-b),transparent 20%);animation:bgGlow 56s ease-in-out infinite alternate;animation-delay:var(--glow-delay,0s);will-change:transform;transform:translate3d(0,0,0)}@keyframes bgGlow{0%{transform:translate3d(-3%,-2%,0) scale(1.05)}50%{transform:translate3d(4%,3%,0) scale(1.14)}100%{transform:translate3d(-1%,5%,0) scale(1.08)}}@media (prefers-reduced-motion:reduce){html::before,html::after{animation:none}}h1{margin:0 0 12px;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:800;line-height:1.2}.subtitle{margin:0 auto 28px;max-width:520px;color:var(--muted);font-size:1rem;line-height:1.7;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid var(--border);text-decoration:none;font-weight:700;font-size:0.95rem;transition:transform 0.2s ease,box-shadow 0.2s ease;cursor:pointer;white-space:nowrap;line-height:1.2;min-height:44px;min-width:122px;appearance:none;color:var(--text);background:var(--panel)}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,0.12)}.btn:active{transform:none;box-shadow:none}.btn-accent{background:linear-gradient(90deg,var(--accent),var(--highlight));color:white;border-color:transparent}.btn-action{background:var(--accent);color:white;border-color:var(--accent)}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(18px);opacity:0;pointer-events:none;padding:10px 16px;border-radius:999px;background:rgba(15,23,42,0.9);color:#fff;font-size:0.88rem;font-weight:700;letter-spacing:0.02em;box-shadow:0 12px 28px rgba(15,23,42,0.2);transition:opacity 0.2s ease,transform 0.2s ease;z-index:999}.toast.show{opacity:1 !important;transform:translateX(-50%) translateY(0) !important}.section,.panel{width:100%;padding:var(--panel-padding);border:1px solid var(--border);background:var(--panel);border-radius:var(--outer-card-radius);box-shadow:var(--shadow)}.info-card{padding:18px;border:1px solid var(--border);border-radius:var(--inner-card-radius);background:var(--panel-2);transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.info-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(15,23,42,0.1);border-color:rgba(37,99,235,0.24)}.section-heading{margin-bottom:20px}.section-kicker{margin:0 0 6px;color:var(--accent);font-size:0.8rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase}.section-heading h2{margin:0 0 8px;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:800}.section-heading p,.info-card p{margin:0;color:var(--muted);line-height:1.7}.text-link{color:inherit;font-weight:700;text-decoration:underline}@media (min-width:641px) and (max-width:1023px){:root{--outer-card-radius:36px}}@media (max-width:640px){:root{--outer-card-radius:32px}}.download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.download-card{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border);background:var(--panel-2);border-radius:var(--inner-card-radius)}.platform-name{margin:0;font-size:1.1rem;font-weight:800}.platform-desc{margin:0;font-size:0.82rem;color:var(--muted);line-height:1.6;font-weight:600;flex:1}.download-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:10px 16px;border:1px solid var(--accent);background:var(--accent);border-radius:999px;color:#fff;font-size:0.9rem;font-weight:700;text-decoration:none;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease;margin-top:auto}.download-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,99,235,0.28)}@media (max-width:720px){.download-grid{grid-template-columns:1fr}}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,48px)}.error-card{--cat:var(--accent);position:relative;isolation:isolate;overflow:hidden;width:min(470px,100%);text-align:center;padding:clamp(30px,5vw,44px) clamp(22px,4vw,36px)}.error-card::before{content:"";position:absolute;z-index:-1;left:50%;top:calc(-1*clamp(80px,16vw,140px));width:min(420px,130%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--cat) 20%,transparent),transparent 70%)}.error-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:color-mix(in srgb,var(--cat) 52%,var(--text));text-transform:none}.error-kicker::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--cat)}@media (prefers-color-scheme:dark){.error-card::before{background:radial-gradient(circle,color-mix(in srgb,var(--cat) 26%,transparent),transparent 70%)}}.status-code{margin:0 0 12px;color:transparent;background:linear-gradient(135deg,var(--highlight),var(--accent));background-clip:text;-webkit-background-clip:text;font-size:clamp(3.4rem,13vw,5rem);font-weight:900;line-height:1;letter-spacing:-0.04em}.error-title{margin:0 0 10px;font-size:clamp(1.3rem,3vw,1.6rem);font-weight:800;color:var(--text)}.error-desc{margin:0 auto;max-width:380px;color:var(--muted);font-size:0.95rem;line-height:1.7}.media-wrap{margin:8px auto 0;overflow:hidden;width:fit-content;max-width:min(100%,480px);border:1px solid var(--border);border-radius:var(--inner-card-radius);background:var(--panel-2);box-shadow:0 8px 24px rgba(15,23,42,0.1);transition:transform 0.3s ease,box-shadow 0.3s ease}.media-wrap:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(15,23,42,0.22)}.media-wrap img,.media-wrap video{display:block;width:100%;height:auto}.card-hover{transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.card-hover:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(15,23,42,0.1);border-color:rgba(37,99,235,0.24)}.download-page{min-height:100vh;padding:24px;display:flex;align-items:center;justify-content:center}.download-page .panel{width:min(960px,100%);backdrop-filter:blur(18px)}@media (max-width:720px){.download-page{padding:16px}.download-page .panel{padding:20px}}.media-page .panel{width:fit-content;max-width:100%;text-align:center}@media (max-width:640px){.media-page{padding:20px}.media-page .panel{padding:20px}}@media (max-width:360px){.media-page{padding:10px}.media-page .panel{padding:16px;border-radius:22px}}@media (max-width:640px){.media-wrap{max-width:100%}}@media (max-width:400px){.error-card{padding:26px 18px 22px}.status-code{font-size:3.2rem}.error-title{font-size:1.18rem}.error-desc{font-size:0.88rem}}/* 状态码配色：cat-1=1xx（蓝）cat-2=2xx（绿）cat-3=3xx（橙）cat-4=4xx（红）cat-5=5xx（紫）。
   分类 class 挂在外层 .error-card 上，它给出 --cat，顶部色晕 / 分类小圆点 / 标签文字共用它。
   状态码数字的三段渐变按分类逐条写，且每条都把 background-clip:text 放在 background 之后：
   background 简写会把 background-clip 重置回 border-box，顺序写反文字就会被裁没。
   标签文字用 --cat 与 --text 混色，保证深浅两种主题下都够对比度。 */
.error-card.cat-1{--cat:hsl(205,90%,52%)}
.error-card.cat-2{--cat:hsl(150,80%,42%)}
.error-card.cat-3{--cat:hsl(38,90%,48%)}
.error-card.cat-4{--cat:hsl(348,84%,55%)}
.error-card.cat-5{--cat:hsl(275,84%,58%)}
.error-card.cat-1 .status-code{background:linear-gradient(135deg,hsl(210,90%,55%),hsl(190,85%,48%),hsl(210,80%,40%));-webkit-background-clip:text;background-clip:text}
.error-card.cat-2 .status-code{background:linear-gradient(135deg,hsl(140,90%,50%),hsl(160,85%,45%),hsl(140,80%,38%));-webkit-background-clip:text;background-clip:text}
.error-card.cat-3 .status-code{background:linear-gradient(135deg,hsl(30,95%,55%),hsl(48,90%,50%),hsl(30,85%,42%));-webkit-background-clip:text;background-clip:text}
.error-card.cat-4 .status-code{background:linear-gradient(135deg,hsl(0,90%,58%),hsl(330,85%,52%),hsl(0,80%,45%));-webkit-background-clip:text;background-clip:text}
.error-card.cat-5 .status-code{background:linear-gradient(135deg,hsl(265,90%,58%),hsl(285,85%,52%),hsl(265,80%,45%));-webkit-background-clip:text;background-clip:text}
