/* 墨夜：DOM 保留真实交互和读屏语义，造型对照 lab 的深纸、朱印与立轴。 */
html.ink{
  --void:#111319;--deep:#1c2230;--panel:#191c23;
  --gold:#d6a240;--gold-d:#8a6020;--ember:#cf4630;--ion:#a9e2da;--violet:#b083cc;
  --bone:#eee5d0;--ash:#b9ad95;--ash-d:#8d887d;
  --ui:"Noto Serif SC","Songti SC",serif;--cn:var(--ui);
  --kai:"Ma Shan Zheng","Noto Serif SC","Kaiti SC",serif;
}
.ink body{background:#111319;background-image:radial-gradient(ellipse at 50% 40%,#29303a,transparent 65%)}
.ink .frame{border-radius:0;border-color:#464239;box-shadow:0 0 60px #0008;background:#1c2230}
.ink .scan,.ink .vig,.ink .corner{display:none}
.ink .rim{box-shadow:inset 0 0 calc(30px*var(--s)) #d6a24030}
.ink .hud{padding:calc(16px*var(--s));gap:calc(5px*var(--s));text-shadow:0 1px 3px #100f0e}
.ink .hud .lab{font-weight:500;letter-spacing:.08em;font-size:calc(10px*var(--s))}
.ink .val{color:var(--bone);font-weight:600;font-size:calc(25px*var(--s));text-shadow:none;line-height:1.2}
.ink .combo{display:table;color:#f7ead3;background:var(--ember);font-size:calc(11px*var(--s));padding:1px 5px;text-shadow:none}
.ink .combo .bar{width:calc(38px*var(--s));height:1px;background:#f5e9d350}
.ink .combo .bar i{background:#eee5d0}
.ink .graze{font-size:calc(10px*var(--s));text-shadow:none;color:var(--gold)}
.ink .right{position:relative;padding-right:calc(30px*var(--s));min-height:calc(53px*var(--s))}
.ink #actLab{position:absolute;right:0;top:0;writing-mode:vertical-rl;font-family:var(--kai);font-size:calc(17px*var(--s));color:var(--bone);letter-spacing:.12em;max-height:calc(95px*var(--s))}
.ink .wave{font-size:calc(10px*var(--s));font-weight:500;letter-spacing:.12em;color:var(--ash)}
.ink .wave b{color:var(--bone);font-size:calc(13px*var(--s));margin:0 3px}
.ink .lives{gap:calc(2px*var(--s));margin-top:calc(7px*var(--s))}
.ink .lives i{background:var(--life-sprite) center/contain no-repeat;width:calc(18px*var(--s));height:calc(20px*var(--s));box-shadow:none;clip-path:none}
.ink .bossbar{margin-top:calc(8px*var(--s))}
.ink .bossbar .bn{text-shadow:none;color:var(--bone);font-family:var(--kai);font-size:calc(13px*var(--s));font-weight:400}
.ink .bossbar .track{border:0;background:#100f0e99;height:calc(4px*var(--s))}
.ink .bossbar .track i{background:var(--ember)}
.ink .turrets i{background:var(--gold);box-shadow:none;height:calc(3px*var(--s))}
.ink .turrets i.dead{background:#eee5d025}
.ink .build{gap:calc(5px*var(--s));margin-bottom:calc(5px*var(--s));color:var(--gold)!important}
.ink #weapName{color:var(--gold)!important;font-weight:600;font-size:calc(11px*var(--s))}
.ink .build .wlv i{height:calc(7px*var(--s));width:calc(3px*var(--s))}
.ink .build .mods b{font-weight:500;font-size:calc(8px*var(--s));padding:1px 3px;box-shadow:none}
.ink .build .mods .rr{color:var(--bone)!important;border-color:#b9ad9566}
.ink .od{max-width:calc(200px*var(--s))}
.ink .od .track{height:calc(5px*var(--s));background:#100f0eaa;border:0}
.ink .od .track i{background:linear-gradient(90deg,#8a6020,#f5d68e)}
.ink .od.can .lab,.ink .od.ready .lab{color:var(--gold)}
.ink .od.ready .track{box-shadow:none;animation:none}
.ink .od.burn .track i{background:linear-gradient(90deg,#cf4630,#f5d68e)}
.ink .bombs .pips i{transform:none;box-shadow:none;background:var(--ember);width:calc(10px*var(--s));height:calc(12px*var(--s));border:1px solid #f5e9d350}
.ink .bombs .pips.dodge i{background:var(--ion);box-shadow:none;border-radius:50%}
.ink .bombs .pips.dodge i.off{background:transparent}
.ink .sound{top:calc(10px*var(--s))}
.ink .sound button{color:var(--ash);border-color:#b9ad9540}
.ink .sound button[data-on="1"]{color:var(--bone);border-color:#b9ad9570}
.ink .banner{font-family:var(--kai);font-weight:400;font-size:calc(42px*var(--s));text-shadow:0 2px 12px #100f0e;background:linear-gradient(90deg,transparent,#100f0e90,transparent);padding:calc(10px*var(--s)) 0}
.ink .banner small{font-family:var(--cn);font-weight:500;letter-spacing:.22em;color:var(--ash)}
.ink .banner.alert{color:var(--ember);text-shadow:0 2px 12px #100f0e}
.ink .ov{background:radial-gradient(ellipse at 50% 40%,#11131955,#111319dc);backdrop-filter:none;-webkit-backdrop-filter:none;padding:calc(20px*var(--s));overflow-y:auto}
.ink .eyebrow{font-weight:500;color:var(--ash);letter-spacing:.24em}
.ink h1{font-family:var(--kai);font-weight:400;font-size:calc(68px*var(--s));text-shadow:none;line-height:1.05;letter-spacing:.08em}
.ink h1 .g{color:var(--bone);text-shadow:none}
.ink .rule{background:linear-gradient(90deg,transparent,#b9ad9570,transparent);margin:calc(12px*var(--s)) 0}
.ink .tag{color:#d2c8b4;line-height:1.85;font-size:calc(11px*var(--s));max-width:calc(310px*var(--s))}
.ink .tag b{font-weight:600}
.ink .keys{gap:calc(5px*var(--s)) calc(10px*var(--s));margin:calc(14px*var(--s)) 0}
.ink kbd{border-color:#b9ad9555;color:var(--bone);font-size:calc(9px*var(--s));font-weight:500;padding:3px 6px}
.ink .keys span{color:var(--ash);font-size:calc(10px*var(--s))}
.ink .hi{margin-top:calc(10px*var(--s))}
.ink .cta{background:var(--ember);color:#fff1d8;box-shadow:none;border:1px solid #eee5d040;font-weight:600;letter-spacing:.2em;margin-top:calc(14px*var(--s))}
.ink .cta:hover{background:#b83c2a;box-shadow:none}
.ink .cta:disabled{opacity:.5;cursor:wait}
.ink .cta.ghost{background:transparent;color:var(--bone);border-color:#b9ad9566}
.ink .back{font-weight:500;color:var(--ash);margin-top:calc(10px*var(--s))}
.ink .dtitle{font-family:var(--kai);font-weight:400;font-size:calc(30px*var(--s));text-shadow:none;margin-bottom:calc(20px*var(--s))}
.ink .cards{gap:calc(14px*var(--s));padding:calc(14px*var(--s)) 0}
.ink .card{
  --mount:#a9a294;--paper:#ebe1c9;
  background:linear-gradient(100deg,#ddcfb3,var(--paper) 35%,#e4d7be);color:#221f1b;
  border:calc(7px*var(--s)) solid var(--mount);border-top-width:calc(19px*var(--s));border-bottom-width:calc(17px*var(--s));
  min-height:calc(270px*var(--s));padding:calc(15px*var(--s)) calc(7px*var(--s));gap:calc(12px*var(--s));
  box-shadow:4px 8px 0 #0004;overflow:visible;
}
.ink .card[data-r="1"]{--mount:#7d9f86}.ink .card[data-r="2"]{--mount:#7190b4}
.ink .card[data-r="3"]{--mount:#8f7bb0}.ink .card[data-r="4"]{--mount:#c39a46}
.ink .card[data-r="-1"]{--mount:#9c4937;--paper:#e6cfb6}
.ink .card::before,.ink .card::after{content:"";position:absolute;left:calc(-11px*var(--s));right:calc(-11px*var(--s));height:calc(5px*var(--s));background:#2a1d12;inset-block-start:calc(-21px*var(--s));animation:none;pointer-events:none}
.ink .card::after{inset-block-start:auto;bottom:calc(-20px*var(--s));height:calc(7px*var(--s));border-left:calc(5px*var(--s)) solid #c9b48a;border-right:calc(5px*var(--s)) solid #c9b48a}
.ink .card:hover,.ink .card:focus-visible{box-shadow:5px 13px 0 #0005;transform:translateY(calc(-6px*var(--s)));outline:2px solid #eee5d0;outline-offset:5px}
.ink .card .crar{top:calc(-16px*var(--s));left:0;background:none;color:#201c15;font-weight:600;letter-spacing:.12em;padding:0;font-size:calc(8px*var(--s))}
.ink .card .ct{margin:0;color:#66533c;letter-spacing:.02em;flex-wrap:wrap;font-size:calc(8px*var(--s))}
.ink .card .ct .cf{margin-left:0;color:#514136}
.ink .card .cn{font-family:var(--kai);font-weight:400;font-size:calc(24px*var(--s));color:#100f0e;text-shadow:none;line-height:1.35;overflow-wrap:anywhere}
.ink .card .cd{color:#352e25;font-weight:500;font-size:calc(11px*var(--s));line-height:1.85;letter-spacing:0}
.ink .card .cfoot{border-top:1px solid #8c775e66;padding-top:calc(9px*var(--s));gap:calc(6px*var(--s))}
.ink .card .cr,.ink .card .cr.hit{color:#635540;text-shadow:none;font-size:calc(9px*var(--s))}
.ink .card .ck{color:#6b5e4d;font-size:calc(9px*var(--s));letter-spacing:0}
.ink .card .cnum{right:0;top:calc(-16px*var(--s));color:#201c15;font-size:calc(9px*var(--s))}
.ink .fambar .fb{opacity:.85}.ink .fambar .fb small{text-shadow:none}
.ink .fambar .pips i{border-radius:50%;height:calc(5px*var(--s));width:calc(5px*var(--s))}
.ink .reroll{color:var(--bone);background:#cf463030;border-color:#cf463090}
.ink .reroll:hover:not(:disabled){color:#fff1d8;background:#cf463070;box-shadow:none}
.ink .muted{color:var(--ash);letter-spacing:.06em;line-height:1.7}
.ink .rank .letter{font-family:var(--kai);font-weight:400;color:var(--ember);text-shadow:none}
.ink .stats{border-color:#b9ad9533;background:#b9ad9533}
.ink .stats dl{background:#191c23c0}
.ink .pad{background:#191c23b0;border-color:#b9ad9560;color:var(--bone);backdrop-filter:none}
.ink .pad.bomb{color:var(--ember);border-color:#cf463080}
@media(max-width:460px){
  .ink .tag{font-size:12px;line-height:1.9}
  .ink .keys span{font-size:11px;line-height:1.6}
  .ink .cards{grid-template-columns:1fr;gap:calc(17px*var(--s));padding:calc(6px*var(--s)) 0}
  .ink .card{min-height:0;gap:calc(4px*var(--s));padding:calc(7px*var(--s)) calc(10px*var(--s));border-top-width:calc(13px*var(--s));border-bottom-width:calc(10px*var(--s));}
  .ink .card::before{inset-block-start:calc(-16px*var(--s))}.ink .card::after{inset-block-start:auto;bottom:calc(-13px*var(--s))}
  .ink .card .crar,.ink .card .cnum{top:calc(-12px*var(--s));font-size:calc(7px*var(--s))}
  .ink .card .ct{position:absolute;right:calc(8px*var(--s));top:calc(9px*var(--s))}
  .ink .card .cn{font-size:calc(21px*var(--s));padding-right:calc(90px*var(--s))}
  .ink .card .cd{font-size:max(11px,calc(12px*var(--s)));line-height:1.5}
  .ink .card .cfoot{padding-top:calc(4px*var(--s));gap:3px}
  .ink .dtitle{margin-bottom:calc(12px*var(--s));font-size:calc(26px*var(--s))}
  .ink #ovDraft{padding:calc(16px*var(--s))}
}
@media(prefers-reduced-motion:reduce){.ink .card{transition:none}.ink .card:hover{transform:none}}
