/* ============================================================
   robloxisunbreakable.wiki — 皮肤（按 DESIGN-BRIEF.md 从零重写）
   设计语言：官方 RIU 深空紫 + 品红 + 白纸漫画格 + 厚黑描边硬投影
   禁止与舰队他站共用视觉。母版只提供结构类名。
   ============================================================ */
:root{
  --void:#0B0618; --deep:#1A0B2E; --nebula:#2B1055; --panel:#180A2C;
  --violet:#8A4FFF; --violet2:#9B5CFF; --lilac:#C9A7FF;
  --magenta:#FF2D6B; --gold:#FFB300; --cyan:#6BE8FF;
  --paper:#F7F3FF; --ink:#12081F; --ink-soft:#3A2A55;
  --body:#E9E2FF; --muted:#B9A6E8;
  --hard:#05030A; --line:rgba(201,167,255,.28);
  --radius:2px; --radius-sm:2px; --maxw:1140px;
  --font:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --display:"Anton",Impact,"Arial Black",system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--void)}
body{
  margin:0;color:var(--body);font:16px/1.68 var(--font);
  -webkit-font-smoothing:antialiased;
  background-color:var(--void);
  /* 星云 + 星点（官方海报的深空底） */
  background-image:
    radial-gradient(1200px 620px at 82% -8%, rgba(138,79,255,.30), transparent 62%),
    radial-gradient(900px 520px at 4% 8%, rgba(255,45,107,.16), transparent 66%),
    radial-gradient(2px 2px at 12% 22%, rgba(255,255,255,.85), transparent 60%),
    radial-gradient(2px 2px at 68% 12%, rgba(201,167,255,.9), transparent 60%),
    radial-gradient(1.6px 1.6px at 34% 62%, rgba(107,232,255,.85), transparent 60%),
    radial-gradient(1.6px 1.6px at 88% 74%, rgba(255,255,255,.75), transparent 60%),
    radial-gradient(1.4px 1.4px at 52% 38%, rgba(255,179,0,.8), transparent 60%);
  background-attachment:fixed;
}
img{max-width:100%;height:auto}
a{color:var(--lilac);text-decoration:none}
a:hover{color:#fff;text-decoration:underline}
a:focus-visible{outline:3px dashed var(--cyan);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--paper);color:var(--ink);padding:8px 12px;z-index:80}
/* 标题复刻 RIU Logo：白字 + 多层黑描边 */
.hero h1,article h1{text-shadow:3px 3px 0 var(--hard),-1px -1px 0 var(--hard),1px -1px 0 var(--hard),-1px 1px 0 var(--hard)}

/* ---------- topbar / nav ---------- */
.topbar{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,#150826,#0B0618);border-bottom:3px solid var(--hard);box-shadow:0 4px 0 rgba(138,79,255,.35)}
.topbar .bar{display:flex;align-items:center;gap:14px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--display);letter-spacing:.02em;font-size:19px}
.brand img{width:42px;height:42px;border:2px solid var(--hard);border-radius:var(--radius);box-shadow:3px 3px 0 var(--hard);background:#000}
.brand span{text-shadow:2px 2px 0 var(--hard)}
.nav{margin-left:auto;display:flex;align-items:center;gap:12px}
.nav ul{display:flex;gap:14px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.nav a{color:#fff;font-weight:700;padding:3px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--magenta);border-bottom-color:var(--magenta);text-decoration:none}
.nav .active > a{color:var(--magenta);border-bottom-color:var(--magenta)}
.nav li{position:relative}
.nav .kids{display:none;position:absolute;top:100%;left:-8px;min-width:214px;background:#1B0C31;border:3px solid var(--hard);box-shadow:6px 6px 0 rgba(0,0,0,.85);padding:8px;flex-direction:column;gap:2px}
.nav .kids a{display:block;padding:6px 8px;font-weight:600;border-bottom:0}
.nav .kids li:hover{background:var(--violet)}
/* 父项与下拉之间的透明 hover 桥（防死区），勿删 */
.nav li.has-kids::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:14px;z-index:39}
.nav li.has-kids > a::after{content:" ▾";color:var(--magenta);opacity:.9}
.nav li.has-kids:hover .kids,.nav li.has-kids:focus-within .kids{display:flex}
.nav .cta{background:var(--violet);color:#fff;border:3px solid var(--hard);padding:7px 13px;font-weight:800;box-shadow:4px 4px 0 var(--hard);text-shadow:1px 1px 0 var(--hard)}
.nav .cta:hover{background:var(--magenta);text-decoration:none;transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--hard)}
@media (max-width:880px){
  .topbar .bar{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  .nav{margin-left:0;width:100%;overflow-x:auto}
  .nav ul{flex-wrap:nowrap;white-space:nowrap;gap:16px}
  .nav .kids{position:static;display:flex;flex-wrap:wrap;border:0;box-shadow:none;background:transparent;padding:4px 0}
}

/* ---------- hero：左侧标题 / 右侧官方海报板（18° 斜切） ---------- */
.hero{position:relative;border-bottom:3px solid var(--hard);overflow:hidden;background:linear-gradient(105deg,#0B0618 0%,#1A0B2E 46%,#2B1055 100%)}
.hero::before{ /* 速度线 */
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;
  background:repeating-linear-gradient(115deg,transparent 0 12px,rgba(201,167,255,.5) 12px 13px);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.9),transparent 58%);
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.9),transparent 58%);
}
.hero::after{ /* 右侧官方海报 */
  content:"";position:absolute;top:0;right:0;bottom:0;width:52%;
  background-image:var(--hero);background-size:cover;background-position:center 22%;
  clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);
  box-shadow:inset 10px 0 0 rgba(5,3,10,.95), inset 130px 0 90px -30px rgba(11,6,24,.92);
}
.hero-in{position:relative;z-index:2;padding:44px 18px 48px;max-width:min(520px,44vw)}
.hero .eyebrow{display:inline-block;margin:0 0 12px;background:var(--magenta);color:#fff;font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;border:2px solid var(--hard);box-shadow:3px 3px 0 var(--hard);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);text-shadow:1px 1px 0 var(--hard)}
.hero h1{font-family:var(--display);font-size:clamp(34px,6.4vw,62px);line-height:.98;letter-spacing:.01em;margin:0 0 14px;color:#fff}
.lead{color:#E6DEFF;font-size:18px;max-width:52ch;font-weight:600;text-shadow:0 1px 2px rgba(5,3,10,.7)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{background:var(--violet);color:#fff;border:3px solid var(--hard);padding:11px 18px;font-weight:800;box-shadow:5px 5px 0 var(--hard);text-shadow:1px 1px 0 var(--hard)}
.btn:hover{background:var(--magenta);text-decoration:none;transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--hard)}
.btn.ghost{background:rgba(27,12,49,.78);color:#fff;box-shadow:5px 5px 0 rgba(255,45,107,.55)}
@media (max-width:760px){
  .hero::after{position:relative;display:block;width:100%;height:190px;clip-path:none;box-shadow:none}
  .hero-in{max-width:none;padding-bottom:26px}
}

/* ---------- facts 数据条 ---------- */
.facts-strip{background:#150826;border-bottom:3px solid var(--hard)}
.facts{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px}
.fact{flex:1 1 150px;background:#1B0C31;color:#fff;border:3px solid var(--hard);box-shadow:4px 4px 0 rgba(0,0,0,.85);padding:8px 12px;border-left:6px solid var(--magenta)}
.fact-k{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:800}
.fact-v{display:block;font-family:var(--display);font-size:21px;line-height:1.2;color:#fff;text-shadow:2px 2px 0 var(--hard)}

/* ---------- 卡片：白纸漫画格 ---------- */
.grid{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 34px}
.card{flex:1 1 270px;display:flex;flex-direction:column;background:var(--paper);border:3px solid var(--hard);box-shadow:7px 7px 0 rgba(0,0,0,.85);color:var(--ink);overflow:hidden}
.card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--violet);text-decoration:none}
.card img{aspect-ratio:16/9;object-fit:cover;width:100%;border-bottom:3px solid var(--hard);background:#1A0B2E}
.card .thumb{position:relative;display:block}
.card-body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px}
.card h3{margin:2px 0 2px;font-family:var(--display);font-size:19px;letter-spacing:.01em;color:var(--ink)}
.card p{margin:0;color:var(--ink-soft);font-size:14px}
.card .go{color:var(--magenta);font-weight:800;font-size:14px;margin-top:auto}
.card .stamp{color:var(--ink-soft);font-size:12px;font-weight:700}
.pill-tag{position:absolute;left:-3px;bottom:-3px;background:var(--magenta);color:#fff;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px 4px 8px;border:3px solid var(--hard);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);text-shadow:1px 1px 0 var(--hard)}
.card.sm{flex:1 1 200px}
.card.sm h3{font-size:16px}
.section-head{display:flex;align-items:center;gap:12px;margin:30px 0 4px;flex-wrap:wrap}
.section-head h2{margin:0;font-family:var(--display);font-size:26px;color:#fff;border:0;padding:0;text-shadow:2px 2px 0 var(--hard)}
.overline{background:var(--gold);color:var(--ink);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border:2px solid var(--hard)}
.count-pill{margin-left:10px;background:var(--violet);color:#fff;font-size:13px;font-weight:800;padding:2px 9px;border:2px solid var(--hard);vertical-align:middle}

/* ---------- 正文 ---------- */
article{padding:26px 0 42px;max-width:900px}
article h1{font-family:var(--display);font-size:clamp(28px,5.2vw,44px);line-height:1.02;color:#fff;letter-spacing:.01em}
article h2{font-family:var(--display);margin-top:38px;font-size:25px;color:#fff;letter-spacing:.01em;padding:0 0 6px 14px;border-left:6px solid var(--magenta);text-shadow:2px 2px 0 var(--hard)}
article h3{margin-top:26px;font-size:19px;color:var(--lilac)}
article p{color:var(--body)}
article ul,article ol{color:var(--body)}
article li{margin:4px 0}
article strong{color:#fff}
article img.zoom{border:3px solid var(--hard);box-shadow:7px 7px 0 rgba(0,0,0,.8);cursor:zoom-in;display:block;margin:16px 0;background:#1A0B2E;width:100%}
/* 文章栅格 + 右侧目录（生成器自带 .article-grid/.toc 结构） */
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:30px;align-items:start}
.article-grid > div{min-width:0}
.toc{position:sticky;top:90px;background:#1B0C31;border:3px solid var(--hard);box-shadow:6px 6px 0 rgba(0,0,0,.85);padding:12px 12px 14px}
.toc .overline{display:inline-block;background:var(--gold);color:var(--ink);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border:2px solid var(--hard);margin-bottom:8px}
.toc .toc-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;background:transparent;border:0}
.toc .toc-list a{font-weight:700;font-size:13.5px;background:transparent;color:var(--lilac);padding:2px 0;border:0;border-bottom:1px solid rgba(201,167,255,.22)}
.toc .toc-list a:hover{background:transparent;color:#fff;border-bottom-color:var(--magenta);text-decoration:none}
@media (max-width:980px){ .article-grid{grid-template-columns:1fr} .toc{position:static} }
.quick-answer{background:#1F1038;border:3px solid var(--hard);border-left:9px solid var(--gold);box-shadow:6px 6px 0 rgba(0,0,0,.8);padding:14px 16px;margin:18px 0}
.qa-stamp{display:inline-block;background:var(--gold);color:var(--ink);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:2px solid var(--hard);margin-bottom:6px}
.quick-answer p{margin:4px 0;color:#fff}
.crumb .here{color:#fff;font-weight:700}
.art-lead{color:var(--lilac);font-size:17px;margin:6px 0 4px;max-width:74ch;font-weight:600}
.art-meta{color:var(--muted);font-size:12.5px;margin:0 0 18px;letter-spacing:.02em}
.crumb{font-size:14px;color:var(--lilac);margin:16px 0 0;font-weight:600}
.crumb a{color:#fff;border-bottom:2px solid var(--magenta)}
.tbl-wrap{overflow-x:auto;margin:16px 0;border:3px solid var(--hard);box-shadow:6px 6px 0 rgba(0,0,0,.8)}
table{border-collapse:collapse;width:100%;font-size:15px;background:var(--paper);color:var(--ink)}
th,td{border:1px solid rgba(5,3,10,.35);padding:9px 11px;text-align:left}
th{background:var(--nebula);color:#fff;font-weight:800;letter-spacing:.03em}
tbody tr:nth-child(even){background:#EFE8FF}
.callout{border:3px solid var(--hard);background:#1F1038;padding:14px 16px;margin:18px 0;box-shadow:6px 6px 0 rgba(0,0,0,.8);border-left-width:9px;border-left-color:var(--magenta)}
.callout.tip{border-left-color:var(--cyan)}
.callout.warn{border-left-color:var(--gold)}
.callout p{margin:6px 0;color:#fff}
blockquote{border-left:4px solid var(--violet);margin:16px 0;padding:4px 14px;color:var(--muted);background:rgba(138,79,255,.08)}
code{background:#2B1055;color:var(--cyan);padding:2px 6px;border:1px solid var(--line);font-size:14px}
.toc-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding:12px;background:#1B0C31;border:3px solid var(--hard)}
.toc-list a{font-weight:700;font-size:14px;background:var(--paper);color:var(--ink);padding:4px 10px;border:2px solid var(--hard)}
.toc-list a:hover{background:var(--gold);text-decoration:none}
.all-guides{margin-top:36px;border-top:3px solid var(--hard);padding-top:8px}
.ribbon{background:repeating-linear-gradient(115deg,#8A4FFF 0 14px,#6B2BD8 14px 28px);border-bottom:3px solid var(--hard);color:#fff;font-weight:800;font-size:13px;letter-spacing:.06em;padding:7px 0;text-shadow:1px 1px 0 var(--hard)}

/* ---------- 广告位（Adsterra Native：桌面指针门控） ---------- */
@media (hover: hover) and (pointer: fine){ .ad-slot{display:block} }
@media not all and (hover: hover) and (pointer: fine){ .ad-slot{display:none} }
.ad-slot{margin:26px auto;max-width:var(--maxw)}
.ad-label{margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ad-inner{min-height:90px;border:3px solid var(--hard);background:#1B0C31;overflow:hidden}

/* ---------- footer ---------- */
.foot{border-top:3px solid var(--hard);background:linear-gradient(180deg,#150826,#0B0618);padding:24px 0;margin-top:24px}
.foot .muted{color:var(--muted);font-size:13px}
.foot-links a{color:#fff;font-weight:700}
.foot-links a:hover{color:var(--magenta)}
.disclaimer{color:var(--muted);font-size:13px}
