/* theme: minevault */
:root {
  --bg-0: #0e080a;
  --bg-1: #150d10;
  --bg-2: #201418;
  --bg-3: #332027;
  --bg-4: #492d38;
  --ink: #efe9f2;
  --ink-2: #d0cad2;
  --ink-3: #a7a0a7;
  --grass: #031e49;
  --grass-2: #063e97;
  --grass-3: #02132d;
  --gold: #f2b440;
  --gold-2: #f7d28c;
  --gold-3: #c29033;
  --diamond: #5ad8e6;
  --diamond-2: #94e6ef;
  --diamond-3: #36828a;
  --link: #94e6ef;
  --line: rgba(242, 180, 64, 0.4);
  --glass: rgba(29, 18, 22, 0.94);
  --field: #0c0709;
  --accent2-rgb: 6 62 151;
  --gold-ink: #111111;
  --team-ink-mix: 100%;
  --scene-1: #150d10;
  --scene-2: #222921;
  --scene-3: #2d4230;
  --scene-4: #36563c;
  --mv-scene: vault;
  --mv-amb-anim: mv-amb-sweep;
  --mv-amb-step: 0px;
  --mv-amb-img: linear-gradient(105deg, transparent 38%, rgba(6, 62, 151, 0.07) 50%, transparent 62%);
  --radius: 14px;
  --radius-s: 10px;
  --radius-b: 10px;
  --pixel: "Segoe UI Black", "Arial Black", "Helvetica Neue", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --text-shadow: none;
  --font-weight-display: 900;
  --letter-display: 0.02em;
  --shade-rgb: 0 0 0;
  --lite-rgb: 255 255 255;
  --edge-rgb: 255 255 255;
  --bw: 0px;
  --nbw: 0px;
  --bw3: 0px;
  --nbw3: 0px;
  --outline: 0 0 0 1px rgb(255 255 255 / 0.06);
  --outline-l: 0 0 0 1px rgb(255 255 255 / 0.1);
  --bevel: inset 0 1px 0 rgb(255 255 255 / 0.05);
  --bevel-hi: inset 0 2px 0 rgb(255 255 255 / 0.25), inset 0 -4px 0 rgb(0 0 0 / 0.28);
  --shadow: 0 8px 0 rgb(0 0 0 / 0.32), 0 26px 44px -22px rgb(0 0 0 / 0.75);
  --shadow-s: 0 5px 0 rgb(0 0 0 / 0.3);
  --sunk: inset 0 1px 3px rgb(0 0 0 / 0.35);
  --glass-blur: 0px;
  --tile-dirt: none;
  --tile-planks: none;
  --tile-stone: none;
  --img-grass: none;
  --img-clouds: none;
  --img-landscape: none;
  --img-ground: none;
  --hero-glass: rgba(4, 8, 24, 0.52);
  --hero-accent: #f9daa0;
  --header-bg: rgba(32, 20, 24, 0.88);
  --header-ink: #efe9f2;
  --header-ink-2: #d0cad2;
  --header-hover: rgb(var(--accent2-rgb) / 0.16);
  --header-cur-bg: #031e49;
  --header-cur-ink: #ffffff;
  --header-accent: #f7d28c;
  --btn-neutral: #492d38;
  --btn-ink: #efe9f2;
  --ok: #67e377;
  --warn: #ffc83a;
  --bad: #ff7468;
  --info: #7bb8ff;
  --ok-bg: #67e377;
  --warn-bg: #ffc83a;
  --bad-bg: #ff7468;
  --info-bg: #7bb8ff;
  --ok-fg: #0b2d0f;
  --warn-fg: #2b1d00;
  --bad-fg: #2f0400;
  --info-fg: #06173a;
  --img-hero: url("/assets/img/themes/vault/hero.svg");
  --img-pattern: url("/assets/img/themes/vault/pattern.svg");
  --img-wave: url("/assets/img/themes/vault/wave.svg");
}
html { background: var(--bg-1); }
body { background: var(--bg-1) var(--img-pattern) 0 0 / auto; image-rendering: auto; }
h1, h2, h3, h4, .pixel { line-height: 1.2; }
h1 { font-size: clamp(32px, 4.4vw, 44px); }
h2 { font-size: 26px; }
h3 { font-size: 18px; }
h4 { font-size: 15px; }
@media (max-width: 600px) { h1 { font-size: 30px; } h2 { font-size: 22px; } }
.brand, .nav a, .nav .nav-menu-btn, .btn, .tab, .eyebrow, .stat .v, .how-row b, .how-row li::before, .how li::before, .product .price, .code-input, .case-code,
.clan-tag, .side-nav a, .server-title, .server-status .players, .transport .time, .toast .t-title, .skip, .action-picker span, .tp-brand, .tp-nav, .tp-title {
  font-weight: var(--font-weight-display);
  letter-spacing: var(--letter-display);
  text-shadow: none;
}
:focus-visible { outline: 3px solid rgb(var(--accent2-rgb) / 0.8); outline-offset: 2px; }
.divider { height: 1px; background: rgb(var(--edge-rgb) / 0.14); box-shadow: none; }
.site-header {
  background: var(--header-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  border-bottom: 0;
  box-shadow: 0 1px 0 rgb(var(--edge-rgb) / 0.08), 0 12px 30px -20px rgb(0 0 0 / 0.6);
}
.site-header::after { height: 4px; background: linear-gradient(90deg, var(--grass), var(--gold), var(--diamond), var(--grass-2)); opacity: 0.95; }
.brand { font-size: 22px; line-height: 1.1; color: var(--header-ink); }
.brand:hover { color: var(--header-ink); }
.brand span b { color: var(--header-accent); font-weight: inherit; }
.nav { gap: 4px; }
.nav a, .nav .nav-menu-btn { padding: 9px 14px; font-size: 15px; line-height: 1.2; color: var(--header-ink-2); background: transparent; box-shadow: none; }
.nav a:hover, .nav .nav-menu-btn:hover { background: var(--header-hover); color: var(--header-ink); }
.nav a[aria-current="page"], .nav .nav-menu-btn[aria-current="page"] { background: var(--header-cur-bg); color: var(--header-cur-ink); box-shadow: 0 6px 14px -8px rgb(0 0 0 / 0.55); }
.nav .nav-menu a, .nav .nav-menu a:hover { color: var(--ink); }
@media (max-width: 1600px) and (min-width: 861px) { .nav a, .nav .nav-menu-btn { padding: 8px 10px; font-size: 14.5px; } }
.user-chip { background: var(--header-hover); color: var(--header-ink); box-shadow: none; }
.user-chip:hover { background: var(--header-hover); color: var(--header-ink); filter: brightness(1.12); }
.user-chip img, .avatar { box-shadow: var(--outline); }
.site-header .icon-btn { color: var(--header-ink); background: var(--header-hover); box-shadow: none; }
.site-header .btn.primary { --btn-bg: var(--header-cur-bg); color: var(--header-cur-ink); }
@media (max-width: 1100px) { .brand { font-size: 20px; } .nav a { padding: 9px 11px; } }
@media (max-width: 860px) {
  .nav { background: var(--bg-2); border-bottom: 0; border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow); }
  .nav a { color: var(--ink-2); padding: 13px 14px; }
  .nav a:hover { background: rgb(var(--accent2-rgb) / 0.16); color: var(--ink); }
  .nav a[aria-current="page"] { background: var(--grass); color: #fff; }
}
.site-footer {
  position: relative;
  padding: 46px 0 30px;
  background: var(--bg-3);
  box-shadow: none;
}
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--grass), var(--gold), var(--diamond), var(--grass-2)); opacity: 0.9; }
.site-footer .container > * { padding: 0; background: none; }
.card.gold { padding-top: 28px; }
.eyebrow { padding: 6px 13px; font-size: 13px; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.08em; color: var(--link); background: rgb(var(--accent2-rgb) / 0.14); box-shadow: none; }
.grad { color: var(--link); }
input, select, textarea { box-shadow: var(--outline), var(--sunk); }
input:hover, select:hover, textarea:hover { box-shadow: var(--outline), var(--sunk), 0 0 0 3px rgb(var(--accent2-rgb) / 0.22); }
input:focus, select:focus, textarea:focus { box-shadow: var(--outline), 0 0 0 3px rgb(var(--accent2-rgb) / 0.65); }
input[aria-invalid="true"], textarea[aria-invalid="true"] { box-shadow: var(--outline), 0 0 0 3px var(--bad); }
.code-input { font-size: 24px; padding: 15px 10px; }
.btn { font-size: 15px; line-height: 1.2; padding: 11px 20px; box-shadow: var(--outline), var(--bevel-hi); transition: filter var(--mv-dur-fast) var(--mv-ease-out), transform var(--mv-dur-fast) var(--mv-ease-out); }
.btn:hover { color: var(--btn-ink); filter: brightness(1.07); transform: translateY(-1px); }
.btn:active { transform: translateY(1px); box-shadow: var(--outline), inset 0 2px 5px rgb(0 0 0 / 0.28); filter: none; }
.btn.primary:hover, .btn.danger:hover, .btn.good:hover { color: #fff; }
.btn.gold { --btn-bg: var(--gold); color: #1d1400; }
.btn.gold:hover { color: #1d1400; }
.btn.danger { --btn-bg: #c4231c; }
.btn.good { --btn-bg: #157670; }   
.btn.ghost { --btn-bg: transparent; color: var(--ink-2); box-shadow: inset 0 0 0 1.5px rgb(var(--edge-rgb) / 0.3); }
.btn.ghost:hover { color: var(--ink); background: rgb(var(--accent2-rgb) / 0.12); }
.btn.sm { padding: 8px 14px; font-size: 14px; }
.btn.lg { padding: 15px 28px; font-size: 18px; }
.btn.busy::after { border-width: 3px; border-radius: 50%; animation: spin 0.8s linear infinite; }
.icon-btn { background: rgb(var(--edge-rgb) / 0.08); color: var(--ink); box-shadow: none; }
.icon-btn:hover { background: rgb(var(--accent2-rgb) / 0.25); color: var(--ink); }
svg.icon { stroke-linecap: round; stroke-linejoin: round; }
.spinner { border-width: 3px; border-radius: 50%; border-color: rgb(var(--edge-rgb) / 0.18); border-top-color: var(--grass); animation: spin 0.8s linear infinite; }
.progress > i { background-image: none; box-shadow: none; transition: width var(--mv-dur-base) var(--mv-ease-out); background: var(--grass); }
.reveal { animation: fade-up 0.45s ease both; }
.badge.dot::before { border-radius: 50%; }
.badge.live::before { animation: pulse 1.6s ease infinite; }
.callout { background: rgb(var(--edge-rgb) / 0.06); }
.callout.ok { box-shadow: var(--outline), inset 4px 0 0 var(--ok); }
.callout.warn { box-shadow: var(--outline), inset 4px 0 0 var(--warn); }
.callout.bad { box-shadow: var(--outline), inset 4px 0 0 var(--bad); }
.callout.info { box-shadow: var(--outline), inset 4px 0 0 var(--info); }
.toast { background: var(--bg-2); box-shadow: var(--outline), inset 5px 0 0 var(--info), var(--shadow-s); animation: toast-in 0.3s ease both; }
.toast.out { animation: toast-out 0.2s ease forwards; }
.toast.ok { box-shadow: var(--outline), inset 5px 0 0 var(--ok), var(--shadow-s); color: var(--ok); }
.toast.bad { box-shadow: var(--outline), inset 5px 0 0 var(--bad), var(--shadow-s); color: var(--bad); }
.toast.warn { box-shadow: var(--outline), inset 5px 0 0 var(--warn), var(--shadow-s); color: var(--warn); }
.toast .t-bar { height: 4px; }
.backdrop { background: rgb(12 8 30 / 0.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.dialog { background: var(--bg-2); box-shadow: var(--outline), inset 0 5px 0 var(--grass), var(--shadow); animation: dialog-in 0.25s ease both; }
.result .badge-big { border-radius: 50%; background: var(--ok); color: var(--ok-fg); box-shadow: none; animation: pop 0.5s ease both; }
.result.ok .badge-big { background: var(--ok); color: var(--ok-fg); }
.result.bad .badge-big { background: var(--bad); color: var(--bad-fg); }
.result.warn .badge-big { background: var(--warn); color: var(--warn-fg); }
.result .badge-big svg { animation-timing-function: ease; }
.tabs { padding: 6px; gap: 6px; background: rgb(var(--edge-rgb) / 0.06); box-shadow: none; }
.tab { padding: 10px 16px; font-size: 15px; line-height: 1.2; color: var(--ink-2); background: transparent; box-shadow: none; }
.tab:hover { background: rgb(var(--accent2-rgb) / 0.16); color: var(--ink); }
.tab[aria-selected="true"], .tab[aria-current="page"] { color: #fff; background: var(--grass); box-shadow: 0 6px 14px -8px rgb(0 0 0 / 0.5); }
.tab .count { background: rgb(var(--edge-rgb) / 0.12); color: var(--ink-2); border-radius: 999px; }
.tab[aria-selected="true"] .count, .tab[aria-current="page"] .count { background: rgb(0 0 0 / 0.22); color: #fff; }   
.table-wrap { background: transparent; box-shadow: var(--outline); }
th, td { border-bottom: 1px solid rgb(var(--edge-rgb) / 0.1); }
th { color: var(--ink-2); background: rgb(var(--edge-rgb) / 0.06); }
tbody tr:nth-child(even) { background: rgb(var(--edge-rgb) / 0.025); }
.stat { background: rgb(var(--edge-rgb) / 0.05); box-shadow: var(--outline), inset 0 -4px 0 var(--stat-color, var(--grass)); }
.stat .v { color: var(--ink); font-size: 26px; }
.progress { background: rgb(var(--edge-rgb) / 0.12); box-shadow: none; }
.gauge .progress.ok > i { background-color: var(--ok); }
.gauge .progress.warn > i { background-color: var(--warn); }
.gauge .progress.bad > i { background-color: var(--bad); }
.timeline::before { width: 2px; left: 6px; background: rgb(var(--edge-rgb) / 0.16); }
.timeline li::before { border-radius: 50%; box-shadow: 0 0 0 3px var(--bg-2); }
.timeline li.revoke::before, .timeline li.ok::before { background: var(--ok); }
.timeline li.bad::before { background: var(--bad); }
.chat-log, .copyline, .reason-box { background: var(--field); }
.kbd { background: rgb(var(--edge-rgb) / 0.08); box-shadow: var(--outline); }
.switch i { background: rgb(var(--edge-rgb) / 0.2); box-shadow: none; }
.switch i::after { top: 4px; left: 4px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 0.4); transition: transform var(--mv-dur-fast) var(--mv-ease-out); }
.switch input:checked + i { background: var(--grass); }
.switch input:checked + i::after { background: #fff; }
.steps .s { height: 8px; background: rgb(var(--edge-rgb) / 0.14); box-shadow: none; }
.steps .s.on { background: var(--grass); box-shadow: none; }
.dot-online { border-radius: 50%; background: var(--ok); box-shadow: none; }
.dot-offline { border-radius: 50%; background: #9aa0a6; box-shadow: none; }
.announce { border-bottom: 0; box-shadow: none; }
.home main { padding: 0 0 64px; }
.tooltip { color: #fff; background: var(--hero-glass); box-shadow: none; padding: 12px 16px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.server-card { color: #fff; background: var(--hero-glass); box-shadow: 0 14px 34px -16px rgb(0 0 0 / 0.6), inset 0 0 0 1px rgb(255 255 255 / 0.16); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.server-icon { background: rgb(255 255 255 / 0.12); box-shadow: none; image-rendering: auto; }
.server-title, .server-status .players { color: #fff; }
.server-motd { color: rgb(255 255 255 / 0.84); }
.server-address { color: var(--hero-accent); }
.server-status.online .state { color: #7cf0a0; }
.server-status.offline .state { color: #ffa89e; }
.ping i { background: rgb(255 255 255 / 0.3); }
.ping i.on { background: #7cf0a0; }
.ping.low i.on { background: #ffd166; }
.ping.bad i.on { background: #ff8c80; }
.server-card .btn { --btn-bg: rgb(255 255 255 / 0.18); color: #fff; box-shadow: none; }
.lookup-card { padding: 30px 26px; }
.how-row li { background: rgb(var(--edge-rgb) / 0.05); box-shadow: var(--outline), inset 0 4px 0 var(--how-color, var(--grass)); }
.how-row li::before { color: var(--bg-1); background: var(--ink); box-shadow: none; }
.how-row b { font-size: 17px; }
.how li::before { box-shadow: none; }
.product .price { font-size: 24px; color: var(--ink); }
.case-card { overflow: hidden; }
.case-card::before { box-shadow: none; }
.case-card.REVOKED::before { background: var(--ok); }
.case-card.REVOKED .kind, .case-row .kind.REVOKED { background: var(--ok); color: var(--ok-fg); }
.case-top .kind, .case-row .kind { box-shadow: none; }
.case-code { font-size: 22px; }
.case-row, .appeal-item, .purchase-row, .session, .member, .cmd-status, .item, .cmd-row, .module-row, .check-row, .err-row, .result-row, .badge-row, .mini-history a, .legend-row { border-top-width: 1px; border-top-color: rgb(var(--edge-rgb) / 0.12); }
.link-box .cmd { box-shadow: var(--outline), var(--sunk), 0 0 0 3px rgb(var(--accent2-rgb) / 0.35); }
.clan-tag { box-shadow: none; }
.perks li svg { color: var(--link); }
.side-nav a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 9px 12px; font-size: 15px; line-height: 1.2; color: var(--ink-2); background: transparent; box-shadow: none; margin: 1px 0; }
.side-nav a:hover { background: rgb(var(--accent2-rgb) / 0.16); color: var(--ink); }
.side-nav a[aria-current="page"] { background: var(--grass); color: #fff; box-shadow: 0 6px 14px -8px rgb(0 0 0 / 0.5); }
.side-nav a .count { box-shadow: none; }
.side-nav a[aria-current="page"] .count { background: rgb(0 0 0 / 0.22); color: #fff; }   
.side-nav h4 { color: var(--ink-3); font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; }
.chip-btn { background: rgb(var(--edge-rgb) / 0.07); color: var(--ink); box-shadow: none; }
.chip-btn:hover { background: rgb(var(--accent2-rgb) / 0.2); color: var(--ink); }
.chip-btn[aria-pressed="true"] { color: #fff; background: var(--grass); box-shadow: none; }
.action-picker span { font-size: 15px; line-height: 1.2; background: rgb(var(--edge-rgb) / 0.07); color: var(--ink); box-shadow: none; }
.action-picker span:hover { background: rgb(var(--accent2-rgb) / 0.2); }
.action-picker input:checked + span { background: var(--grass); color: #fff; box-shadow: 0 6px 14px -8px rgb(0 0 0 / 0.5); }
.action-picker.danger input:checked + span { background: #c4231c; }
.attention a { background: rgb(var(--edge-rgb) / 0.05); box-shadow: var(--outline); }
.attention a:hover { background: rgb(var(--accent2-rgb) / 0.14); }
.attention a.hot { box-shadow: var(--outline), inset 4px 0 0 var(--warn); background: rgb(var(--accent2-rgb) / 0.08); }
.check-row.s-ok .mark-box { background: var(--ok); color: var(--ok-fg); }
.check-row.s-warn .mark-box { background: var(--warn); color: var(--warn-fg); }
.check-row.s-fail .mark-box { background: var(--bad); color: var(--bad-fg); }
.check-row .mark-box { box-shadow: none; }
.check-row .cause, .check-row .fix, .err-row .what { background: rgb(var(--edge-rgb) / 0.05); }
.check-row .cause, .err-row .what { box-shadow: inset 4px 0 0 var(--warn); }
.check-row .fix { box-shadow: inset 4px 0 0 var(--info); }
.brand-preview { background: var(--field); }
details.more { background: rgb(var(--edge-rgb) / 0.05); }
details.more summary:hover { color: var(--link); }
.theme-card.selected { box-shadow: var(--outline), 0 0 0 4px var(--grass); }
.theme-card h3 { font-size: 20px; }
@media (max-width: 900px) {
  .side-nav { background: rgb(var(--edge-rgb) / 0.06); box-shadow: none; }
  .side-nav a { padding: 9px 14px; }
}
.event-btn:hover { background: rgb(var(--accent2-rgb) / 0.14); }
.mark { box-shadow: none; border-radius: 2px; }
.legend-row .swatch { border-radius: 50%; box-shadow: none; }
.card h2, .panel-title h2, .dialog h2 { font-size: 1.2rem; }
:root {
  --vault-ledge: rgb(0 0 0 / 0.38);
  
  --vault-tile: var(--bg-2);
  --vault-tile-2: var(--bg-3);
  --vault-edge: rgb(255 255 255 / 0.06);
}
body { background: var(--bg-1) var(--img-pattern) 0 0 / 72px 72px; }
h1, h2, .page-head h1, .section-head h2, .brand { font-family: var(--pixel); text-transform: uppercase; letter-spacing: 0.02em; font-weight: 900; }
h3, h4 { font-weight: 800; }
.page-head h1, main > .container > h1, h1.page-title, .fm-head h1:not(.fm-thread-h) { position: relative; padding-bottom: 12px; width: fit-content; max-width: 100%; color: var(--heading-solid, var(--ink)); }
.page-head h1::after, main > .container > h1::after, h1.page-title::after, .fm-head h1:not(.fm-thread-h)::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 5px; border-radius: 3px;
  background: linear-gradient(90deg, var(--grass-2), var(--diamond));
}
.eyebrow { color: var(--gold-ink); background: var(--gold); box-shadow: 0 3px 0 var(--gold-3); text-transform: uppercase; font-weight: 900; }
.site-header { background: rgb(14 16 20 / 0.92); box-shadow: 0 1px 0 var(--vault-edge); }
.site-header::after { height: 0; }
.brand span b { color: var(--grass-2); }
.nav a, .nav .nav-menu-btn { text-transform: uppercase; font-weight: 900; letter-spacing: 0.04em; font-size: 0.86rem; }
.nav a[aria-current="page"], .nav .nav-menu-btn[aria-current="page"] { background: var(--vault-tile-2); color: #fff; box-shadow: inset 0 -3px 0 var(--grass-2); }
.nav-menu { background: var(--bg-2); border: 1px solid var(--vault-edge); box-shadow: 0 6px 0 var(--vault-ledge), 0 24px 40px -20px rgb(0 0 0 / 0.8); }
.nm-icon { background: var(--grass); color: #fff; box-shadow: 0 3px 0 var(--grass-3); }
.user-chip { box-shadow: 0 3px 0 var(--vault-ledge), var(--outline); }
.btn { text-transform: uppercase; letter-spacing: 0.05em; font-weight: 900; box-shadow: 0 4px 0 var(--vault-ledge), var(--bevel-hi); transition: transform var(--mv-dur-press) var(--mv-ease-out), box-shadow var(--mv-dur-press) var(--mv-ease-out), filter var(--mv-dur-fast) var(--mv-ease-out); }
.btn:hover { filter: brightness(1.08); }
.btn:active:not(:disabled) { transform: translateY(3px); box-shadow: 0 1px 0 var(--vault-ledge), var(--bevel-hi); }
.btn.primary { background: var(--grass); color: #fff; box-shadow: 0 4px 0 var(--grass-3), var(--bevel-hi); }
.btn.primary:active:not(:disabled) { box-shadow: 0 1px 0 var(--grass-3), var(--bevel-hi); }
.btn.gold { background: var(--gold); color: var(--gold-ink); box-shadow: 0 4px 0 var(--gold-3), var(--bevel-hi); }
.btn.ghost { background: transparent; box-shadow: inset 0 0 0 2px rgb(255 255 255 / 0.14); }
.btn.ghost:hover { box-shadow: inset 0 0 0 2px var(--diamond); background: rgb(56 200 240 / 0.08); }
.btn.ghost:active:not(:disabled) { transform: none; }
.btn.danger { box-shadow: 0 4px 0 #6b1414, var(--bevel-hi); }
.icon-btn { box-shadow: 0 3px 0 var(--vault-ledge), var(--outline); }
@media (prefers-reduced-motion: reduce) { .btn, .btn:active:not(:disabled) { transition: none; transform: none; } }
.card { background: var(--vault-tile); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 6px 0 var(--vault-ledge); }
.card.gold { box-shadow: inset 0 0 0 1px var(--vault-edge), inset 0 4px 0 var(--gold), 0 6px 0 var(--vault-ledge); }
.card h2, .panel-title h2 { font-size: 1.02rem; letter-spacing: 0.06em; }
.dialog { background: var(--vault-tile); box-shadow: inset 0 0 0 1px var(--vault-edge), inset 0 4px 0 var(--grass-2), 0 8px 0 var(--vault-ledge), var(--shadow); }
input, select, textarea { background: var(--bg-0); box-shadow: inset 0 0 0 1px var(--vault-edge), inset 0 2px 0 rgb(0 0 0 / 0.3); }
input:focus, select:focus, textarea:focus { box-shadow: inset 0 0 0 2px var(--diamond); }
.tab[aria-selected="true"], .tab[aria-current="page"], .side-nav a[aria-current="page"], .chip-btn[aria-pressed="true"], .action-picker input:checked + span {
  background: var(--grass); color: #fff; box-shadow: 0 3px 0 var(--grass-3);
}
.chip-btn { background: var(--vault-tile-2); box-shadow: 0 3px 0 var(--vault-ledge); }
.switch input:checked + i, .steps .s.on, .progress > i { background: var(--grass-2); }
.server-card { background: rgb(12 14 18 / 0.78); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.1), 0 6px 0 rgb(0 0 0 / 0.4); }
.server-address { color: var(--gold); font-weight: 900; }
.home-live { box-shadow: inset 0 0 0 1px var(--vault-edge), 0 6px 0 var(--vault-ledge); }
.home-num { background: var(--vault-tile-2); box-shadow: 0 4px 0 var(--vault-ledge); }
.offer-card { border-top: 0; }
.offer-icon { border-radius: 10px; box-shadow: 0 4px 0 rgb(0 0 0 / 0.35); }
.offer-grid > :nth-child(6n+1) { --tile: #12945a; --tile-2: #1fb870; }
.offer-grid > :nth-child(6n+2) { --tile: #1b8fc2; --tile-2: #38c8f0; }
.offer-grid > :nth-child(6n+3) { --tile: #d98a00; --tile-2: #ffb020; }
.offer-grid > :nth-child(6n+4) { --tile: #7c4dd8; --tile-2: #a37bff; }
.offer-grid > :nth-child(6n+5) { --tile: #c43c3c; --tile-2: #ef6a5a; }
.offer-grid > :nth-child(6n+6) { --tile: #138a8a; --tile-2: #2ccfc0; }
.how-row li { box-shadow: inset 0 0 0 1px var(--vault-edge), 0 5px 0 var(--vault-ledge); }
.site-footer { background: #0c0e11; }
.site-footer::before { height: 4px; background: repeating-linear-gradient(90deg, var(--grass) 0 32px, var(--grass-3) 32px 64px); }
.foot-col { display: grid; gap: 8px; align-content: start; }
.foot-col > a { display: block; padding: 8px 12px; border-radius: 8px; background: var(--vault-tile-2); color: var(--ink-2); font-weight: 700; box-shadow: 0 3px 0 var(--vault-ledge); text-decoration: none; }
.foot-col > a:hover { color: #fff; background: var(--bg-3); text-decoration: none; }
.foot-col > b { text-transform: uppercase; letter-spacing: 0.06em; font-weight: 900; }
.foot-address b { color: var(--gold); }
.fm-board-icon { background: var(--grass); box-shadow: 0 4px 0 var(--grass-3); }
.fm-banner.ranked { box-shadow: 0 3px 0 rgb(0 0 0 / 0.35); }
.fm-post { border-top-width: 4px; }
.badge { font-weight: 800; }
.fm-cat { background: var(--vault-tile); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 6px 0 var(--vault-ledge); }
.fm-cat-title { position: relative; padding: 13px 18px 13px 22px; font-size: .86rem; letter-spacing: .12em; color: var(--ink-2);
  background: linear-gradient(90deg, var(--bg-2), var(--bg-3) 60%, var(--bg-2)); border-bottom: 1px solid rgb(0 0 0 / .45); box-shadow: inset 0 -1px 0 var(--vault-edge); }
.fm-cat-title::before { content: ""; position: absolute; left: 10px; top: 50%; width: 4px; height: 16px; margin-top: -8px; border-radius: 2px;
  background: linear-gradient(180deg, var(--grass-2), var(--diamond)); }
.fm-board, .fm-thread { position: relative; border-bottom: 1px solid rgb(0 0 0 / .32); box-shadow: inset 0 1px 0 var(--vault-edge);
  transition: background var(--mv-dur-fast) var(--mv-ease-out), box-shadow var(--mv-dur-fast) var(--mv-ease-out); }
.fm-board:hover, .fm-thread:hover { background: linear-gradient(90deg, rgb(13 122 74 / .14), rgb(255 255 255 / .015) 45%); box-shadow: inset 3px 0 0 var(--grass-2), inset 0 1px 0 var(--vault-edge); }
.fm-board-icon { width: 48px; height: 48px; border-radius: 12px; background: linear-gradient(160deg, var(--grass-2), var(--grass) 55%, var(--grass-3));
  box-shadow: 0 4px 0 var(--grass-3), inset 0 2px 0 rgb(255 255 255 / .22), inset 0 -3px 0 rgb(0 0 0 / .18); transition: transform var(--mv-dur-fast) var(--mv-ease-spring); }
.fm-board:hover .fm-board-icon { transform: translateY(-2px) rotate(-4deg); }
.fm-board-title { font-weight: 900; letter-spacing: .01em; }
.fm-board-count { padding: 6px 0 5px; border-radius: 8px; background: var(--bg-1); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 2px 0 rgb(0 0 0 / .35); }
.fm-board-count b { color: var(--ink); }
.fm-board-last .avatar { border-radius: 8px; box-shadow: 0 2px 0 rgb(0 0 0 / .4); }
.fm-thread.pinned { background: linear-gradient(90deg, rgb(255 176 32 / .1), transparent 50%); box-shadow: inset 3px 0 0 var(--gold), inset 0 1px 0 var(--vault-edge); }
.fm-thread.unread .fm-thread-title a::after { background: var(--diamond); box-shadow: 0 0 8px var(--diamond); }
.fm-prefix { border-radius: 6px; box-shadow: 0 2px 0 rgb(0 0 0 / .35); }
.fm-quick .chip-btn { border-radius: 10px; font-weight: 800; transition: transform var(--mv-dur-press) var(--mv-ease-out), background var(--mv-dur-fast) var(--mv-ease-out); }
.fm-quick .chip-btn:hover { background: var(--bg-3); color: #fff; }
.fm-quick .chip-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--vault-ledge); }
.fm-side .card { background: var(--vault-tile); }
.fm-search { background: #0f1115; box-shadow: inset 0 0 0 1px var(--vault-edge), inset 0 2px 0 rgb(0 0 0 / .35); border-radius: 10px; }
.fm-search:focus-within { box-shadow: inset 0 0 0 2px var(--diamond); }
.fm-box h3 { font-size: .8rem; letter-spacing: .12em; color: var(--ink-2); }
.fm-box h3 .icon { color: var(--grass-2); }
.fm-stat { background: var(--bg-1); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 3px 0 rgb(0 0 0 / .35); }
.fm-stat b { color: var(--gold); }
.fm-latest li { padding-bottom: 10px; border-bottom: 1px solid rgb(255 255 255 / .04); }
.fm-latest li:last-child { padding-bottom: 0; border-bottom: 0; }
.fm-post { background: var(--vault-tile); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 6px 0 var(--vault-ledge); border-top-color: var(--rank, var(--grass-2)); }
.fm-author { background: linear-gradient(180deg, #161920, #13151a); border-right: 1px solid rgb(0 0 0 / .45); box-shadow: inset -1px 0 0 var(--vault-edge); }
.fm-author img.avatar.xl { border-radius: 12px; box-shadow: 0 4px 0 rgb(0 0 0 / .45), 0 0 0 2px color-mix(in srgb, var(--rank, var(--grass-2)) 60%, transparent); }
.fm-author-name { font-weight: 900; letter-spacing: .01em; }
.fm-post-meta { border-bottom-color: rgb(255 255 255 / .05); }
.fm-body .fm-quote { background: #14171c; border-left-color: var(--grass-2); }
.fm-body .fm-code { background: #0e1014; box-shadow: inset 0 0 0 1px var(--vault-edge); }
.fm-editor { background: var(--bg-0); box-shadow: inset 0 0 0 1px var(--vault-edge); }
.fm-toolbar { background: var(--bg-2); }
@media (prefers-reduced-motion: reduce) { .fm-board-icon, .fm-board:hover .fm-board-icon { transition: none; transform: none; } }
.page-head h1::after, .fm-head h1:not(.fm-thread-h)::after { box-shadow: 0 0 12px rgb(56 200 240 / .35); }
a.card:hover, .news-card:hover, .lb-card:hover { box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1), 0 8px 0 var(--vault-ledge); }
thead th { background: var(--bg-2); color: var(--ink-2); text-transform: uppercase; letter-spacing: .08em; font-size: .74rem; font-weight: 900; }
tbody tr:nth-child(even) { background: rgb(255 255 255 / .018); }
html { scrollbar-color: var(--bg-3) var(--bg-0); }
::selection { background: rgb(13 122 74 / .55); color: #fff; }
.mv-tile, .mv-head.hero { background: var(--vault-tile); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 6px 0 var(--vault-ledge); }
.mv-head.hero { background: radial-gradient(120% 140% at 0% 0%, rgb(13 122 74 / .28), transparent 60%), var(--vault-tile); }
.pl-me, .pl-nav { background: var(--vault-tile); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 6px 0 var(--vault-ledge); }
.pl-me { background: radial-gradient(120% 120% at 0% 0%, rgb(13 122 74 / .22), transparent 60%), var(--vault-tile); }
.pl-group h4 { letter-spacing: .12em; }
.fm-nav-card { background: var(--vault-tile); box-shadow: inset 0 0 0 1px var(--vault-edge), 0 6px 0 var(--vault-ledge); }
