:root {
  color-scheme: dark;
  --bg: #090b10;
  --bg-soft: #0d1017;
  --surface: rgba(18, 22, 31, .86);
  --surface-strong: #131823;
  --surface-soft: #181e2a;
  --surface-hover: #1d2431;
  --border: rgba(255,255,255,.085);
  --border-strong: rgba(221,174,76,.42);
  --text: #f5f2e9;
  --muted: #969dac;
  --muted-strong: #b9bec8;
  --gold: #d9a93f;
  --gold-bright: #ffd473;
  --gold-deep: #8f5b18;
  --green: #86b36d;
  --danger: #ef8c7d;
  --shadow: 0 30px 80px rgba(0,0,0,.46);
  --shadow-soft: 0 16px 42px rgba(0,0,0,.28);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 12% -8%, rgba(190,122,30,.18), transparent 30rem),
    radial-gradient(circle at 88% 10%, rgba(63,82,126,.15), transparent 32rem),
    linear-gradient(180deg, #0b0e14 0%, var(--bg) 52%, #07090d 100%);
  overflow-x: hidden;
}
body.high-contrast {
  --surface: rgba(9,11,16,.96);
  --border: rgba(255,255,255,.17);
  --muted: #c7cbd3;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.016) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 85%);
}

button, input, select { font: inherit; }
button, select { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 2px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.page-noise {
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .13;
  background-image: radial-gradient(rgba(255,255,255,.2) .45px, transparent .45px);
  background-size: 4px 4px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
.ambient {
  position: fixed;
  z-index: -3;
  pointer-events: none;
  filter: blur(90px);
  opacity: .19;
  border-radius: 50%;
}
.ambient-one { width: 23rem; height: 23rem; left: -13rem; top: 16rem; background: #9a621f; }
.ambient-two { width: 28rem; height: 28rem; right: -18rem; top: 42rem; background: #314a79; }

.topbar {
  position: sticky;
  top: 10px;
  z-index: 50;
  width: min(1280px, calc(100% - 32px));
  min-height: 82px;
  margin: 10px auto 0;
  padding: 10px 13px 10px 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(18,22,31,.91), rgba(12,15,22,.88));
  box-shadow: 0 18px 50px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.035);
  backdrop-filter: blur(22px) saturate(135%);
}
.topbar::after {
  content: "";
  position: absolute;
  inset: auto 12% -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,205,100,.6), transparent);
}
.topbar-main { min-width: 0; display: flex; align-items: center; gap: 18px; }
.brand { display: flex; min-width: 0; align-items: center; color: inherit; text-decoration: none; }
.brand-wordmark {
  display: block;
  width: min(100%, 380px);
  max-width: 380px;
  height: auto;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.34));
}
.top-summary { display: flex; align-items: center; gap: 7px; }
.summary-chip {
  min-width: 72px;
  padding: 7px 9px;
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: rgba(6,8,12,.34);
}
.summary-chip strong {
  display: block;
  color: var(--gold-bright);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.05;
}
.summary-chip span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.top-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.icon-button {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--muted);
  background: rgba(22,27,38,.76);
  transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease;
}
.icon-button:hover, .icon-button[aria-pressed="true"] {
  transform: translateY(-1px);
  color: var(--gold-bright);
  border-color: var(--border-strong);
  background: rgba(218,169,63,.1);
}

.page-shell { width: min(1280px, calc(100% - 32px)); margin: 8px auto 0; }
.vault-panel {
  position: relative;
  isolation: isolate;
  padding: 16px 22px 22px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(20,24,34,.86), rgba(12,15,22,.9)),
    radial-gradient(circle at 82% 0%, rgba(216,169,63,.08), transparent 25rem);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}
.vault-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,215,123,.28), transparent 25%, transparent 72%, rgba(98,121,169,.15));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.vault-watermark {
  position: absolute;
  z-index: -1;
  top: 150px;
  right: -70px;
  width: 360px;
  height: 360px;
  pointer-events: none;
  opacity: .035;
  background: url('../assets/brand/pt-vault-icon.png') center / contain no-repeat;
  filter: grayscale(1);
}

.filter-dock {
  position: sticky;
  top: 92px;
  z-index: 30;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  background: rgba(10,13,19,.83);
  box-shadow: 0 16px 44px rgba(0,0,0,.28);
  backdrop-filter: blur(20px) saturate(140%);
}
.search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.search-box {
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(5,7,11,.72);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.search-box:focus-within {
  border-color: rgba(244,196,92,.48);
  box-shadow: 0 0 0 4px rgba(218,169,63,.07);
}
.search-icon { color: var(--gold); font-size: 23px; transform: rotate(-17deg); }
.search-box input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 14px; }
.search-box input::placeholder { color: #747b89; }
.search-clear {
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255,255,255,.055);
}
kbd {
  flex: 0 0 auto;
  padding: 4px 7px;
  border: 1px solid var(--border);
  border-bottom-color: rgba(255,255,255,.2);
  border-radius: 7px;
  color: #777f8d;
  background: #151a24;
  font-size: 10px;
  white-space: nowrap;
}
.secondary-button, .primary-button, .favorite-button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  background: var(--surface-soft);
  transition: transform .18s ease, color .18s ease, border-color .18s ease, filter .18s ease;
}
.secondary-button:hover, .favorite-button:hover { transform: translateY(-1px); color: var(--gold-bright); border-color: var(--border-strong); }
.secondary-button.compact { min-height: 38px; padding: 0 12px; font-size: 12px; }
.primary-button {
  color: #171009;
  font-weight: 800;
  border-color: rgba(244,196,92,.45);
  background: linear-gradient(135deg, var(--gold-bright), #b97b27);
  box-shadow: 0 11px 28px rgba(185,123,39,.16);
}
.primary-button:hover { transform: translateY(-2px); filter: brightness(1.06); }
.filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 9px; }
.filter-control, .spec-selector {
  min-height: 46px;
  padding: 0 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: rgba(10,13,19,.58);
}
.filter-control > span, .spec-selector > span { color: var(--muted); font-size: 11px; }
select {
  min-width: 126px;
  max-width: 66%;
  padding: 7px 9px;
  border: 0;
  outline: 0;
  border-radius: 8px;
  color: var(--text);
  background: #191f2b;
}

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.category-heading { margin-top: 30px; }
.section-kicker { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.section-heading h1, .catalog-heading h2, .details-heading h3 {
  margin: 5px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.02em;
}
.section-heading h1 { font-size: 28px; }
.section-heading p, .catalog-heading p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }

.category-groups {
  display: grid;
  grid-template-columns: 1.7fr 1.32fr .9fr;
  gap: 12px;
  margin-top: 15px;
}
.category-all-row { grid-column: 1 / -1; }
.category-all-button {
  width: 100%;
  min-height: 64px;
  padding: 9px 14px;
  display: flex;
  align-items: center;
  gap: 13px;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 15px;
  color: var(--text);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014));
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.category-all-button:hover { transform: translateY(-1px); border-color: var(--border-strong); }
.category-all-button.active {
  border-color: rgba(244,196,92,.7);
  background: linear-gradient(135deg, rgba(244,196,92,.15), rgba(185,123,39,.055));
  box-shadow: inset 0 0 0 1px rgba(244,196,92,.08);
}
.vault-mini {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(244,196,92,.24);
  border-radius: 12px;
  background: rgba(218,169,63,.07);
}
.vault-mini img { width: 54px; height: 54px; object-fit: contain; }
.category-all-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.category-all-copy strong { font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.category-all-copy small { color: var(--muted); font-size: 10px; }
.category-count {
  margin-left: auto;
  min-width: 48px;
  padding: 5px 9px;
  text-align: center;
  color: var(--gold-bright);
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(5,7,11,.45);
  font-size: 10px;
  font-weight: 800;
}
.category-group {
  position: relative;
  min-width: 0;
  padding: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.category-group::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; opacity: .9; }
.category-group--weapon::before { background: linear-gradient(#f1c568, #8c581b); }
.category-group--defense::before { background: linear-gradient(#7d9fd0, #354e77); }
.category-group--accessory::before { background: linear-gradient(#b685d4, #65407e); }
.category-group-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.category-group-icon {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--gold-bright);
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(6,8,12,.46);
}
.category-group-heading > span:last-child { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.category-group-heading strong { font-family: Georgia, serif; font-size: 18px; font-weight: 500; }
.category-group-heading small { overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.35; }
.category-button-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.category-group--accessory .category-button-grid { grid-template-columns: 1fr; }
.category-button {
  min-width: 0;
  min-height: 53px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  gap: 9px;
  text-align: left;
  color: var(--muted-strong);
  border: 1px solid var(--border);
  border-radius: 11px;
  background: rgba(6,8,12,.43);
  transition: transform .16s ease, color .16s ease, border-color .16s ease, background .16s ease;
}
.category-button:hover { transform: translateY(-1px); color: var(--text); border-color: var(--border-strong); background: rgba(255,255,255,.035); }
.category-button.active {
  color: #18110a;
  border-color: var(--gold-bright);
  background: linear-gradient(135deg, #f6d077, #b77b28);
  box-shadow: 0 8px 22px rgba(184,124,39,.16);
}
.category-preview {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 9px;
  background: rgba(2,4,7,.56);
}
.category-preview img { max-width: 31px; max-height: 34px; image-rendering: pixelated; filter: drop-shadow(0 6px 5px rgba(0,0,0,.48)); }
.category-button-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.category-button-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.category-button-copy small { color: inherit; font-size: 9px; opacity: .68; }

.catalog-heading {
  margin-top: 34px;
  padding: 0 2px 12px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  border-bottom: 1px solid var(--border);
}
.catalog-heading h2 { font-size: 27px; }
.catalog-decoration { width: 180px; display: flex; align-items: center; gap: 8px; color: var(--gold); opacity: .55; }
.catalog-decoration span { height: 1px; flex: 1; background: linear-gradient(90deg, transparent, currentColor); }
.catalog-decoration span:last-child { background: linear-gradient(90deg, currentColor, transparent); }
.catalog-decoration b { font-size: 8px; }

.item-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.item-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.012));
  box-shadow: 0 14px 32px rgba(0,0,0,.17);
  animation: card-in .36s ease both;
  animation-delay: calc(var(--card-index) * 22ms);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.item-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at 50% 18%, rgba(218,169,63,.13), transparent 54%);
  transition: opacity .2s ease;
}
.item-card:hover {
  transform: translateY(-5px);
  border-color: rgba(244,196,92,.4);
  background: linear-gradient(180deg, rgba(218,169,63,.065), rgba(255,255,255,.012));
  box-shadow: 0 22px 48px rgba(0,0,0,.31);
}
.item-card:hover::before { opacity: 1; }
.item-card.tier-a { --tier-accent: #7dadd9; }
.item-card.tier-b { --tier-accent: #a98bd2; }
.item-card.tier-c { --tier-accent: #e0b65f; }
.item-card[class*="tier-"] { border-top-color: color-mix(in srgb, var(--tier-accent) 45%, transparent); }
.item-open { position: relative; z-index: 1; width: 100%; padding: 0; border: 0; text-align: left; color: inherit; background: transparent; }
.card-favorite {
  position: absolute;
  z-index: 5;
  top: 10px;
  right: 10px;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 9px;
  color: #747b89;
  background: rgba(5,7,11,.72);
  backdrop-filter: blur(10px);
}
.card-favorite.active { color: var(--gold-bright); border-color: rgba(244,196,92,.3); }
.item-stage {
  position: relative;
  height: 162px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.045);
  background:
    radial-gradient(circle at 50% 42%, rgba(218,169,63,.075), transparent 46%),
    linear-gradient(180deg, rgba(3,5,8,.75), rgba(12,15,21,.64));
}
.item-stage::after {
  content: "";
  position: absolute;
  inset: auto 14% 15px;
  height: 24px;
  background: radial-gradient(ellipse, rgba(0,0,0,.52), transparent 68%);
}
.item-stage img {
  position: relative;
  z-index: 2;
  max-width: 96px;
  max-height: 126px;
  image-rendering: pixelated;
  filter: drop-shadow(0 14px 13px rgba(0,0,0,.56));
  transition: transform .22s ease, filter .22s ease;
}
.item-card:hover .item-stage img { transform: translateY(-4px) scale(1.075); filter: drop-shadow(0 18px 16px rgba(0,0,0,.63)); }
.level-badge {
  position: absolute;
  z-index: 4;
  top: 10px;
  left: 10px;
  padding: 5px 7px;
  color: var(--gold-bright);
  border: 1px solid rgba(244,196,92,.24);
  border-radius: 8px;
  background: rgba(5,7,11,.69);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
}
.item-card[class*="tier-"] .level-badge { color: var(--tier-accent); border-color: color-mix(in srgb, var(--tier-accent) 35%, transparent); }
.card-cta {
  position: absolute;
  z-index: 4;
  right: 10px;
  bottom: 10px;
  padding: 6px 8px;
  color: #171009;
  border-radius: 8px;
  background: linear-gradient(135deg, #f5ce72, #b67a28);
  font-size: 9px;
  font-weight: 800;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .18s ease, transform .18s ease;
}
.item-card:hover .card-cta { opacity: 1; transform: translateY(0); }
.item-meta { padding: 12px 12px 11px; }
.item-category { display: block; color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.item-meta h3 {
  min-height: 2.6em;
  margin: 7px 0 10px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--text);
  font-size: 13px;
  font-weight: 730;
  line-height: 1.3;
}
.item-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 9px; }
.item-dot { color: var(--gold); font-size: 7px; opacity: .62; }
.load-more-wrap { display: flex; justify-content: center; margin-top: 24px; }
.empty-state { padding: 72px 20px; text-align: center; color: var(--muted); }
.empty-state > span { display: block; color: var(--gold); font-size: 46px; transform: rotate(-18deg); }
.empty-state h3 { margin: 12px 0 5px; color: var(--text); }
.empty-state p { margin: 0; }

footer {
  width: min(1280px, calc(100% - 32px));
  margin: 28px auto 0;
  padding: 22px 2px 34px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #686f7d;
  border-top: 1px solid var(--border);
  font-size: 10px;
}

.item-dialog {
  width: min(950px, calc(100% - 28px));
  max-height: calc(100vh - 28px);
  padding: 0;
  overflow: auto;
  color: var(--text);
  border: 1px solid rgba(244,196,92,.34);
  border-radius: 22px;
  background: #11151e;
  box-shadow: 0 45px 110px rgba(0,0,0,.72);
}
.item-dialog[open] { animation: dialog-in .22s ease both; }
.item-dialog::backdrop { background: rgba(3,5,9,.8); backdrop-filter: blur(8px); }
.dialog-close {
  position: sticky;
  z-index: 8;
  float: right;
  top: 11px;
  right: 11px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--border);
  border-radius: 11px;
  color: var(--muted);
  background: #171c27;
  font-size: 23px;
}
.dialog-layout { display: grid; grid-template-columns: 315px 1fr; min-height: 510px; }
.item-showcase {
  padding: 34px 29px;
  text-align: center;
  border-right: 1px solid var(--border);
  background:
    radial-gradient(circle at 50% 28%, rgba(218,169,63,.12), transparent 43%),
    linear-gradient(180deg, #0c1017, #090c12);
}
.showcase-label {
  display: inline-flex;
  padding: 6px 10px;
  color: var(--gold);
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sprite-stage { position: relative; height: 230px; display: grid; place-items: center; }
.sprite-aura {
  position: absolute;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(244,196,92,.09);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgba(244,196,92,.025), 0 0 70px rgba(218,169,63,.09);
}
.sprite-stage img { position: relative; max-width: 150px; max-height: 190px; image-rendering: pixelated; filter: drop-shadow(0 20px 20px rgba(0,0,0,.58)); }
.item-showcase h2 { margin: 0 0 7px; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.favorite-button { width: 100%; margin-top: 28px; }
.favorite-button.active { color: var(--gold-bright); border-color: var(--border-strong); }
.details-panel { padding: 35px; }
.details-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.details-heading h3 { font-size: 29px; }
.spec-selector { margin-top: 23px; }
.status-frame {
  min-height: 270px;
  margin-top: 16px;
  padding: 20px;
  display: grid;
  place-items: center;
  overflow: auto;
  cursor: zoom-in;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: #06080c;
  transition: border-color .18s ease, background .18s ease;
}
.status-frame:hover { border-color: rgba(244,196,92,.28); }
.status-frame img { display: block; max-width: 100%; image-rendering: auto; }
.status-frame.is-zoomed { place-items: start center; cursor: zoom-out; background: #030507; }
.status-frame.is-zoomed img { max-width: none; }
.status-loading { color: var(--muted); font-size: 12px; }
.zoom-hint { margin: 8px 2px 0; color: #747b89; font-size: 9px; text-align: right; }
.toast {
  position: fixed;
  z-index: 100;
  left: 50%;
  bottom: 25px;
  padding: 11px 16px;
  opacity: 0;
  pointer-events: none;
  color: var(--text);
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: #171c27;
  box-shadow: var(--shadow);
  font-size: 11px;
  transform: translate(-50%, 20px);
  transition: .22s ease;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@keyframes card-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes dialog-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 1120px) {
  .category-groups { grid-template-columns: 1.4fr 1fr; }
  .category-group--accessory { grid-column: 1 / -1; }
  .category-group--accessory .category-button-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .item-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .top-summary { display: none; }
  .filter-dock { top: 102px; }
  .category-groups { grid-template-columns: 1fr; }
  .category-group--accessory { grid-column: auto; }
  .category-group--accessory .category-button-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dialog-layout { grid-template-columns: 270px 1fr; }
  .item-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .topbar, .page-shell, footer { width: min(100% - 20px, 1280px); }
  .topbar { top: 6px; min-height: 70px; padding: 8px 10px 8px 12px; border-radius: 16px; }
  .brand-wordmark { max-width: 250px; }
  .filter-dock { position: relative; top: auto; padding: 10px; }
  .vault-panel { padding: 12px; border-radius: 19px; }
  .search-row { grid-template-columns: 1fr; }
  .search-row > .secondary-button { display: none; }
  .filter-grid { grid-template-columns: 1fr; }
  .category-heading { margin-top: 24px; }
  .category-button-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-group--accessory .category-button-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-decoration { display: none; }
  .item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .item-stage { height: 145px; }
  .item-stage img { max-width: 85px; max-height: 112px; }
  .dialog-layout { grid-template-columns: 1fr; }
  .item-showcase { border-right: 0; border-bottom: 1px solid var(--border); }
  .sprite-stage { height: 190px; }
  .details-panel { padding: 24px 17px; }
  footer { flex-direction: column; }
}
@media (max-width: 430px) {
  .brand-wordmark { max-width: 210px; }
  .icon-button { width: 36px; height: 36px; }
  .search-box kbd { display: none; }
  .section-heading h1, .catalog-heading h2 { font-size: 24px; }
  .category-group-heading small { display: none; }
  .category-button-grid, .category-group--accessory .category-button-grid { grid-template-columns: 1fr 1fr; }
  .category-preview { width: 34px; height: 34px; }
  .category-button { min-height: 48px; }
  .item-grid { grid-template-columns: 1fr 1fr; }
  .item-meta { padding-inline: 10px; }
  .details-heading { flex-direction: column; }
  .secondary-button.compact { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* PT Vault v0.7.0 — Calculadora Age / Mix */
.calculator-launch {
  min-height:40px; display:inline-flex; align-items:center; gap:8px; padding:0 14px;
  border:1px solid rgba(239,190,91,.34); border-radius:12px; color:var(--gold-bright);
  background:linear-gradient(135deg,rgba(222,169,70,.15),rgba(255,255,255,.025)); font-size:12px; font-weight:800;
  letter-spacing:.04em; transition:.18s ease;
}
.calculator-launch:hover { transform:translateY(-1px); border-color:var(--gold-bright); box-shadow:0 10px 28px rgba(190,131,40,.13); }
.calculator-item-button {
  width:100%; min-height:44px; margin-top:10px; border:1px solid rgba(239,190,91,.32); border-radius:12px;
  color:var(--gold-bright); background:rgba(216,173,85,.07); font-weight:800;
}
.calculator-item-button:hover { border-color:var(--gold-bright); background:rgba(216,173,85,.12); }

.calculator-dialog {
  width:min(1180px,calc(100% - 26px)); max-height:calc(100vh - 26px); padding:0; color:var(--text);
  border:1px solid rgba(239,190,91,.32); border-radius:24px; background:#0d1119; box-shadow:0 42px 120px rgba(0,0,0,.74); overflow:auto;
}
.calculator-dialog::backdrop { background:rgba(3,5,9,.84); backdrop-filter:blur(8px); }
.calculator-header {
  position:sticky; top:0; z-index:8; min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:20px 24px; border-bottom:1px solid var(--border); background:rgba(13,17,25,.94); backdrop-filter:blur(18px);
}
.calculator-header h2 { margin:4px 0 3px; font-family:Georgia,serif; font-size:29px; font-weight:500; }
.calculator-header p { margin:0; color:var(--muted); font-size:12px; }
.calculator-close { position:static; float:none; flex:0 0 auto; }
.calculator-shell { display:grid; grid-template-columns:350px 1fr; min-height:650px; }
.calculator-reference { padding:22px; border-right:1px solid var(--border); background:radial-gradient(circle at 50% 16%,rgba(216,173,85,.1),transparent 31%),#090d14; }
.calculator-workspace { padding:24px; }
.calculator-select-field { display:grid; gap:7px; }
.calculator-select-field > span { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.calculator-select-field select { width:100%; max-width:none; min-height:43px; border:1px solid var(--border); border-radius:11px; background:#151a25; }
.calculator-item-preview { display:flex; align-items:center; gap:14px; margin:16px 0; padding:13px; border:1px solid var(--border); border-radius:15px; background:rgba(255,255,255,.025); }
.calculator-item-preview strong { display:block; font-family:Georgia,serif; font-size:18px; font-weight:500; }
.calculator-item-preview small { display:block; margin-top:4px; color:var(--muted); }
.calculator-sprite { width:72px; height:72px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.05); border-radius:13px; background:#070a0f; }
.calculator-sprite img { max-width:54px; max-height:62px; image-rendering:pixelated; filter:drop-shadow(0 10px 10px rgba(0,0,0,.55)); }
.calculator-status-reference { position:relative; min-height:270px; margin-top:16px; display:grid; place-items:center; padding:25px 12px 12px; border:1px solid var(--border); border-radius:15px; background:#05070b; overflow:auto; }
.calculator-status-reference img { display:block; max-width:100%; }
.calculator-reference-label { position:absolute; left:10px; top:8px; color:#747b89; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.calculator-tabs { display:inline-grid; grid-template-columns:1fr 1fr; gap:5px; padding:5px; border:1px solid var(--border); border-radius:13px; background:#090d14; }
.calculator-tabs button { min-width:120px; min-height:40px; border:0; border-radius:9px; color:var(--muted); background:transparent; font-weight:800; }
.calculator-tabs button.active { color:#171008; background:linear-gradient(135deg,var(--gold-bright),#b98231); box-shadow:0 8px 22px rgba(189,135,53,.18); }
.calculator-compatibility { margin-top:14px; padding:11px 13px; border:1px solid rgba(137,184,103,.25); border-radius:11px; color:#c3ddaF; background:rgba(137,184,103,.07); font-size:12px; }
.calculator-compatibility.is-warning { border-color:rgba(240,140,121,.3); color:#f0aa9e; background:rgba(240,140,121,.07); }
.calculator-mode-panel { margin-top:14px; padding:16px; border:1px solid var(--border); border-radius:15px; background:rgba(5,8,13,.48); }
.aging-level-control { display:grid; grid-template-columns:150px 1fr 76px; gap:14px; align-items:center; }
.aging-level-control > div span { display:block; color:var(--muted); font-size:11px; }
.aging-level-control > div strong { display:block; margin-top:2px; color:var(--gold-bright); font-family:Georgia,serif; font-size:28px; }
.aging-level-control input[type="range"] { width:100%; accent-color:#d8ad55; }
.aging-level-control input[type="number"] { width:76px; min-height:42px; border:1px solid var(--border); border-radius:10px; color:var(--text); background:#151a25; text-align:center; }
.aging-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.aging-meta-grid article { padding:12px; border:1px solid var(--border); border-radius:11px; background:rgba(255,255,255,.025); }
.aging-meta-grid span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.aging-meta-grid strong { display:block; margin-top:5px; font-size:14px; }
.mix-recipe-field select { margin-top:2px; }
.mix-effect-card { margin-top:12px; padding:13px; border-left:3px solid var(--gold); border-radius:0 11px 11px 0; background:rgba(216,173,85,.06); }
.mix-effect-card strong { color:var(--gold-bright); }
.mix-effect-card p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.calculator-section-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-top:24px; }
.calculator-section-heading h3 { margin:4px 0 0; font-family:Georgia,serif; font-size:22px; font-weight:500; }
.calculator-section-heading small { color:var(--muted); }
.calc-base-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.calc-stat-field { display:grid; gap:6px; padding:11px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.022); }
.calc-stat-field span { color:var(--muted); font-size:11px; }
.calc-stat-field input { width:100%; min-height:40px; padding:0 11px; border:1px solid var(--border); border-radius:9px; color:var(--text); background:#111722; }
.calc-empty-fields,.calc-no-result { grid-column:1/-1; padding:28px; border:1px dashed var(--border); border-radius:12px; color:var(--muted); text-align:center; }
.result-heading { margin-top:26px; }
.calc-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.calc-result-card { padding:13px; border:1px solid rgba(216,173,85,.16); border-radius:12px; background:linear-gradient(180deg,rgba(216,173,85,.055),rgba(255,255,255,.015)); }
.calc-result-card span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.calc-result-card strong { display:block; margin-top:6px; color:var(--gold-bright); font-family:Georgia,serif; font-size:24px; font-weight:500; }
.calc-result-card small { display:block; margin-top:4px; color:#828997; font-size:10px; line-height:1.45; }
.calculator-formula-note { margin:10px 0 0; color:#848b99; font-size:10px; line-height:1.5; }
.calculator-beta-note { margin-top:20px; padding:13px 14px; border:1px solid rgba(240,183,89,.2); border-radius:12px; color:#c8c2b3; background:rgba(240,183,89,.055); font-size:11px; line-height:1.55; }
.calculator-beta-note strong { color:var(--gold-bright); }

@media (max-width:900px) {
  .calculator-shell { grid-template-columns:1fr; }
  .calculator-reference { border-right:0; border-bottom:1px solid var(--border); }
  .calculator-status-reference { min-height:220px; }
}
@media (max-width:680px) {
  .calculator-launch { padding-inline:10px; font-size:11px; }
  .calculator-header { padding:17px; }
  .calculator-header h2 { font-size:24px; }
  .calculator-reference,.calculator-workspace { padding:16px; }
  .aging-level-control { grid-template-columns:1fr 72px; }
  .aging-level-control > div { grid-column:1/-1; }
  .calc-base-fields,.calc-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:460px) {
  .calculator-launch { width:40px; padding:0; justify-content:center; font-size:0; }
  .calculator-launch span { font-size:15px; }
  .calculator-tabs { width:100%; }
  .calculator-tabs button { min-width:0; }
  .aging-meta-grid,.calc-base-fields,.calc-results { grid-template-columns:1fr; }
}


/* =========================================================
   PT Vault v0.8.0 — Modern product polish
   ========================================================= */
:root {
  --blue: #6d8fc7;
  --blue-soft: rgba(109,143,199,.12);
  --glass-line: rgba(255,255,255,.115);
}

* { scrollbar-width: thin; scrollbar-color: rgba(218,169,63,.42) rgba(8,10,15,.7); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: rgba(8,10,15,.72); }
*::-webkit-scrollbar-thumb { border: 2px solid rgba(8,10,15,.72); border-radius: 999px; background: linear-gradient(var(--gold), #7c531d); }

.topbar {
  background:
    linear-gradient(180deg, rgba(21,26,37,.94), rgba(10,13,20,.91)),
    radial-gradient(circle at 18% 0%, rgba(218,169,63,.09), transparent 26rem);
}
.topbar::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,.04), transparent 30%, transparent 72%, rgba(109,143,199,.04));
}
.topbar-main, .top-actions { position:relative; z-index:1; }
.main-nav {
  display:flex;
  gap:5px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(5,7,11,.42);
}
.nav-pill {
  min-height:35px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:9px;
  color:var(--muted);
  background:transparent;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  transition:.18s ease;
}
.nav-pill:hover, .nav-pill.active {
  color:var(--text);
  border-color:rgba(218,169,63,.24);
  background:linear-gradient(180deg, rgba(218,169,63,.13), rgba(218,169,63,.055));
  box-shadow:inset 0 1px rgba(255,255,255,.045);
}
.nav-pill span { color:var(--gold-bright); }
.action-divider { width:1px; height:27px; align-self:center; background:linear-gradient(transparent,rgba(255,255,255,.13),transparent); }
.icon-button[aria-pressed="true"] { box-shadow:inset 0 0 0 1px rgba(255,209,111,.08), 0 0 18px rgba(218,169,63,.07); }

.summary-chip {
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.075);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(2,4,8,.22));
}
.summary-chip::after {
  content:"";
  position:absolute;
  inset:auto 12px 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(218,169,63,.52),transparent);
}

.vault-panel {
  background:
    linear-gradient(180deg, rgba(18,23,33,.91), rgba(9,12,18,.94)),
    radial-gradient(circle at 78% -5%, rgba(218,169,63,.08), transparent 34rem),
    radial-gradient(circle at 0% 45%, rgba(76,105,160,.055), transparent 28rem);
}
.filter-dock {
  border-color:var(--glass-line);
  background:linear-gradient(180deg,rgba(12,16,24,.93),rgba(7,10,15,.91));
}
.filter-dock::after {
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(218,169,63,.35),transparent);
}
.quick-filter-row {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:34px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.055);
  overflow-x:auto;
}
.quick-filter-label {
  flex:0 0 auto;
  color:#727b8d;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.quick-levels, .active-filter-chips { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.active-filter-chips { margin-left:auto; }
.quick-level-chip, .active-chip {
  min-height:29px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--muted);
  background:rgba(255,255,255,.025);
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
  transition:.17s ease;
}
.quick-level-chip:hover, .quick-level-chip.active {
  color:#171008;
  border-color:var(--gold-bright);
  background:linear-gradient(135deg,var(--gold-bright),#b97c27);
  box-shadow:0 7px 18px rgba(185,124,39,.15);
}
.active-chip {
  color:#c4c9d4;
  border-color:rgba(109,143,199,.28);
  background:var(--blue-soft);
}
.active-chip:hover { color:white; border-color:rgba(109,143,199,.52); }
.active-chip span { color:#91a9d0; font-size:14px; line-height:1; }

.section-heading h1, .catalog-heading h2 {
  letter-spacing:-.025em;
}
.category-groups { perspective:1200px; }
.category-group {
  border-color:rgba(255,255,255,.075);
  background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(4,6,10,.19));
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.category-button {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.category-button::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:0;
  background:radial-gradient(circle at 24% 15%,rgba(218,169,63,.13),transparent 60%);
  transition:.2s ease;
}
.category-button:hover::after, .category-button.active::after { opacity:1; }
.category-button:hover { transform:translateY(-2px); }
.category-preview img { filter:drop-shadow(0 7px 8px rgba(0,0,0,.5)); }

.item-grid { align-items:stretch; }
.item-card {
  border-color:rgba(255,255,255,.075);
  background:
    linear-gradient(165deg,rgba(255,255,255,.042),rgba(5,7,11,.22)),
    radial-gradient(circle at 50% 0%,rgba(218,169,63,.035),transparent 55%);
  box-shadow:0 10px 28px rgba(0,0,0,.12), inset 0 1px rgba(255,255,255,.022);
}
.item-card::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.055) 45%,transparent 65%);
  transform:translateX(-45%);
  transition:opacity .2s ease, transform .5s ease;
}
.item-card:hover::after { opacity:1; transform:translateX(45%); }
.item-card:hover {
  transform:translateY(-6px);
  border-color:rgba(218,169,63,.34);
  box-shadow:0 22px 45px rgba(0,0,0,.27), 0 0 0 1px rgba(218,169,63,.045) inset;
}
.item-stage { background:linear-gradient(180deg,rgba(1,3,7,.72),rgba(15,19,28,.54)); }
.item-stage::after {
  content:"";
  position:absolute;
  inset:auto 18% 7px;
  height:16px;
  border-radius:50%;
  background:rgba(0,0,0,.42);
  filter:blur(7px);
  opacity:.65;
}
.item-stage img { position:relative; z-index:1; }
.item-category { color:#c49642; }
.item-card-footer { border-top-color:rgba(255,255,255,.055); }

body.compact-grid .item-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; }
body.compact-grid .item-card { padding:9px; border-radius:14px; }
body.compact-grid .item-stage { height:122px; }
body.compact-grid .item-stage img { max-width:72px; max-height:100px; }
body.compact-grid .item-meta { padding-top:9px; }
body.compact-grid .item-meta h3 { min-height:2.5em; font-size:12px; }
body.compact-grid .item-card-footer { font-size:9px; }

.site-footer {
  align-items:center;
  min-height:76px;
  padding:20px 0 28px;
}
.footer-brand { display:flex; align-items:center; gap:9px; }
.footer-brand img { width:29px; height:29px; object-fit:contain; filter:drop-shadow(0 6px 8px rgba(0,0,0,.45)); }
.footer-description { color:#687181; }
.footer-credit { color:#858d9c; }
.footer-credit strong {
  color:var(--gold-bright);
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.035em;
}
.scroll-top {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:80;
  width:42px;
  height:42px;
  border:1px solid var(--border-strong);
  border-radius:13px;
  color:var(--gold-bright);
  background:rgba(17,21,30,.9);
  box-shadow:0 15px 35px rgba(0,0,0,.35);
  backdrop-filter:blur(15px);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:.2s ease;
}
.scroll-top.show { opacity:1; visibility:visible; transform:translateY(0); }
.scroll-top:hover { transform:translateY(-2px); background:rgba(218,169,63,.13); }

.item-dialog, .calculator-dialog {
  border-color:rgba(218,169,63,.36);
  background:
    linear-gradient(180deg,rgba(18,23,33,.98),rgba(8,11,17,.98)),
    radial-gradient(circle at 15% 0%,rgba(218,169,63,.08),transparent 25rem);
}
.status-frame { box-shadow:inset 0 0 0 1px rgba(255,255,255,.018), inset 0 16px 35px rgba(0,0,0,.18); }

@media (max-width:1180px) {
  .main-nav { display:none; }
  body.compact-grid .item-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .quick-filter-row { align-items:flex-start; }
  .active-filter-chips { margin-left:0; }
  body.compact-grid .item-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .top-summary { display:none; }
  .action-divider { display:none; }
  .quick-filter-label { display:none; }
  .quick-filter-row { flex-wrap:wrap; overflow:visible; }
  .active-filter-chips { width:100%; overflow-x:auto; }
  body.compact-grid .item-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .site-footer { flex-direction:column; align-items:flex-start; gap:9px; }
}
@media (max-width:460px) {
  #gridDensityToggle { display:none; }
  body.compact-grid .item-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .scroll-top { right:14px; bottom:14px; }
}


/* PT Vault v0.9.0 — logo dourada aplicada */
.main-nav a.nav-pill { text-decoration:none; }
.external-tools {
  width:min(1240px, calc(100% - 40px));
  margin:22px auto 0;
  padding:24px;
  border:1px solid var(--border);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 0%, rgba(216,173,85,.08), transparent 20rem),
    linear-gradient(180deg, rgba(20,24,34,.86), rgba(12,15,22,.92));
  box-shadow:0 22px 55px rgba(0,0,0,.28);
}
.external-tools-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.external-tools-heading h2 { margin:5px 0 6px; font-family:Georgia,serif; font-size:27px; font-weight:500; }
.external-tools-heading p { max-width:700px; margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.external-status {
  flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; padding:8px 11px;
  border:1px solid rgba(216,173,85,.2); border-radius:999px; color:#c8bd9f;
  background:rgba(216,173,85,.055); font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase;
}
.external-status i { width:7px; height:7px; border-radius:50%; background:#9b7b42; box-shadow:0 0 10px rgba(216,173,85,.35); }
.external-link-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:20px; }
.external-link-card {
  min-width:0; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:11px; padding:14px;
  border:1px solid var(--border); border-radius:15px; color:var(--text); text-decoration:none;
  background:rgba(7,9,14,.46); transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.external-link-card:hover { transform:translateY(-3px); border-color:var(--border-strong); background:rgba(216,173,85,.07); }
.external-card-icon { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(216,173,85,.22); border-radius:12px; color:var(--gold-bright); background:rgba(216,173,85,.07); font-size:18px; }
.external-link-card > span:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:3px; }
.external-link-card strong { font-size:13px; }
.external-link-card small { color:var(--muted); font-size:10px; line-height:1.45; }
.external-link-card b { color:var(--gold); font-size:14px; }
.external-credit { margin:14px 2px 0; color:#747b88; font-size:10px; }
.external-credit a { color:#bda465; }
.aging-meta-grid article small { display:block; margin-top:4px; color:var(--muted); font-size:9px; font-weight:600; }

@media (max-width:980px) { .external-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:680px) {
  .external-tools{width:min(100% - 24px,1240px);padding:17px;border-radius:18px}
  .external-tools-heading{align-items:flex-start;flex-direction:column;gap:12px}
  .external-status{white-space:normal}
}
@media (max-width:460px) { .external-link-grid{grid-template-columns:1fr}.external-link-card{padding:12px} }


/* =========================================================
   PT Vault v0.9.0 — Calculator navigation and reverse Aging
   ========================================================= */
.calculator-shell { grid-template-columns:420px 1fr; }
.calculator-reference { padding:20px; }
.calculator-picker-block + .calculator-picker-block { margin-top:16px; }
.calculator-picker-title { display:flex; align-items:center; gap:9px; margin-bottom:9px; }
.calculator-picker-title > span {
  width:24px; height:24px; display:grid; place-items:center; border:1px solid rgba(239,190,91,.34);
  border-radius:8px; color:var(--gold-bright); background:rgba(216,173,85,.08); font-size:10px; font-weight:900;
}
.calculator-picker-title strong { color:#e8e1d3; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.calc-category-groups { display:grid; gap:10px; }
.calc-category-section { padding:10px; border:1px solid var(--border); border-radius:13px; background:rgba(5,8,13,.42); }
.calc-category-section > small { display:block; margin:0 0 7px 2px; color:#737b8b; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.calc-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.calc-category-button {
  min-width:0; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:7px; padding:0 10px;
  border:1px solid var(--border); border-radius:9px; color:#aeb4c0; background:#0e131d; text-align:left; transition:.16s ease;
}
.calc-category-button:hover { color:var(--text); border-color:rgba(239,190,91,.35); transform:translateY(-1px); }
.calc-category-button.active { color:#171008; border-color:var(--gold-bright); background:linear-gradient(135deg,var(--gold-bright),#b98231); font-weight:850; box-shadow:0 8px 20px rgba(185,130,49,.16); }
.calc-category-button span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.calc-category-button b { flex:0 0 auto; min-width:22px; padding:2px 5px; border-radius:999px; background:rgba(0,0,0,.16); text-align:center; font-size:8px; }
.calc-level-grid { display:flex; flex-wrap:wrap; gap:6px; }
.calc-level-button {
  min-width:48px; min-height:35px; display:flex; align-items:center; justify-content:center; gap:5px; padding:0 9px;
  border:1px solid var(--border); border-radius:9px; color:#9da4b1; background:#0e131d; font-weight:800;
}
.calc-level-button:hover { color:var(--text); border-color:rgba(239,190,91,.35); }
.calc-level-button.active { color:#171008; border-color:var(--gold-bright); background:linear-gradient(135deg,var(--gold-bright),#b98231); }
.calc-level-button small { opacity:.65; font-size:8px; }
.calculator-item-field { margin-top:16px; }
.aging-direction { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:5px; border:1px solid var(--border); border-radius:13px; background:#080c12; }
.aging-direction button { min-height:43px; display:flex; align-items:center; justify-content:center; gap:9px; border:0; border-radius:9px; color:var(--muted); background:transparent; font-weight:800; }
.aging-direction button b { color:var(--gold); font-size:16px; }
.aging-direction button.active { color:#171008; background:linear-gradient(135deg,var(--gold-bright),#b98231); box-shadow:0 8px 22px rgba(189,135,53,.17); }
.aging-direction button.active b { color:#171008; }
.aging-level-control--steps { grid-template-columns:130px 1fr; margin-top:15px; }
.aging-step-grid { display:grid; grid-template-columns:repeat(9,minmax(38px,1fr)); gap:6px; }
.aging-step {
  min-height:39px; border:1px solid var(--border); border-radius:9px; color:#9ca3b0; background:#101620; font-size:11px; font-weight:850;
}
.aging-step:hover { color:var(--text); border-color:rgba(239,190,91,.35); }
.aging-step.active { color:#171008; border-color:var(--gold-bright); background:linear-gradient(135deg,var(--gold-bright),#b98231); box-shadow:0 7px 18px rgba(185,130,49,.14); }
.aging-limit-note { margin-top:12px; display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid rgba(239,190,91,.2); border-radius:11px; background:rgba(216,173,85,.055); }
.aging-limit-note p { margin:0; color:#a7adba; font-size:10px; line-height:1.45; }
.aging-limit-badge { flex:0 0 auto; padding:5px 8px; border-radius:999px; color:var(--gold-bright); background:rgba(216,173,85,.1); font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.calc-result-card.is-reverse { border-color:rgba(109,143,199,.24); background:linear-gradient(180deg,rgba(109,143,199,.075),rgba(255,255,255,.014)); }
.calc-result-card.is-reverse strong { color:#a9c7f2; }

@media (max-width:1020px) {
  .calculator-shell { grid-template-columns:360px 1fr; }
  .aging-step-grid { grid-template-columns:repeat(5,minmax(40px,1fr)); }
}
@media (max-width:900px) {
  .calculator-shell { grid-template-columns:1fr; }
  .calc-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .calc-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aging-direction { grid-template-columns:1fr; }
  .aging-level-control--steps { grid-template-columns:1fr; }
  .aging-step-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .aging-limit-note { align-items:flex-start; flex-direction:column; gap:7px; }
}


/* =========================================================
   PT Vault v0.9.1 — Ficha de referência elevada
   ========================================================= */
.calculator-dialog { width:min(1320px,calc(100% - 24px)); }
.calculator-shell {
  display:grid;
  grid-template-columns:350px minmax(420px,1fr) 300px;
  grid-template-areas:"picker workspace status";
  align-items:start;
  min-height:650px;
}
.calculator-reference { grid-area:picker; }
.calculator-workspace { grid-area:workspace; min-width:0; }
.calculator-status-rail {
  grid-area:status;
  position:sticky;
  top:93px;
  align-self:start;
  min-width:0;
  padding:20px;
  border-left:1px solid var(--border);
  background:radial-gradient(circle at 50% 12%,rgba(216,173,85,.09),transparent 34%),#090d14;
}
.calculator-status-heading { display:grid; gap:6px; margin-bottom:12px; }
.calculator-status-heading h3 {
  margin:4px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:500;
}
.calculator-status-heading small { color:var(--muted); font-size:10px; line-height:1.45; }
.calculator-status-reference--rail {
  min-height:300px;
  margin-top:0;
  padding:14px;
  overflow:auto;
  border-color:rgba(239,190,91,.18);
  background:linear-gradient(180deg,rgba(216,173,85,.035),rgba(4,6,10,.7)),#05070b;
  box-shadow:inset 0 0 35px rgba(0,0,0,.32);
}
.calculator-status-reference--rail img {
  max-width:100%;
  max-height:520px;
  object-fit:contain;
  filter:drop-shadow(0 13px 20px rgba(0,0,0,.44));
}

@media (max-width:1180px) {
  .calculator-dialog { width:min(1080px,calc(100% - 24px)); }
  .calculator-shell {
    grid-template-columns:340px minmax(0,1fr);
    grid-template-areas:
      "picker status"
      "picker workspace";
  }
  .calculator-status-rail {
    position:relative;
    top:auto;
    border-left:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .calculator-status-reference--rail { min-height:230px; }
  .calculator-status-reference--rail img { max-height:360px; }
}

@media (max-width:900px) {
  .calculator-shell {
    grid-template-columns:1fr;
    grid-template-areas:
      "picker"
      "status"
      "workspace";
  }
  .calculator-reference { border-right:0; border-bottom:1px solid var(--border); }
  .calculator-status-rail { border-left:0; border-bottom:1px solid var(--border); }
  .calculator-status-reference--rail { min-height:220px; }
}

@media (max-width:680px) {
  .calculator-status-rail { padding:16px; }
  .calculator-status-reference--rail { min-height:190px; padding:10px; }
  .calculator-status-reference--rail img { max-height:310px; }
}

/* PT Vault v0.9.2 — filtro superior mais próximo do topo */
