/* Nine Graves theme: blood crimson, weathered bone and grave stone, from the IX crest. Loaded last. */
:root {
  --crimson: #a8202a;
  --crimson-bright: #d23a40;
  --crimson-deep: #5c0f14;
  --bone: #e6dac6;
  --bone-dim: #b9ab98;
  --stone: #3a302e;
  --moss: #7f9a5a;
  --gold: #cdbca3;
  --hunt-gold: #ddcdb6;
}

body {
  background:
    radial-gradient(90% 60% at 50% -10%, #3a1214 0%, transparent 60%),
    #0e0b0b;
}

/* Crest in the sidebar */
.brand-logo { display: block; width: 100%; height: auto; filter: drop-shadow(0 4px 10px #000c); }
.hunt-brand-mark { overflow: visible; border: 0 !important; border-radius: 0 !important; background: none !important; }
@media (min-width: 961px) {
  body #app[data-view] #nav .brand {
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    height: auto;
    padding: 14px 16px 12px;
    border-bottom: 1px solid #4a2a2c;
    background: radial-gradient(80% 90% at 50% 30%, #4a1418aa, transparent 70%);
    color: var(--bone);
    text-align: center;
  }
  body #app[data-view] #nav .brand .hunt-brand-mark { width: min(150px, 78%); aspect-ratio: auto; }
  body #app[data-view] #nav .brand > span:last-child { margin-top: -6px; color: var(--bone); font-size: 15px; letter-spacing: 4px; text-shadow: 0 2px 6px #000, 0 0 14px #a8202a66; }
  body #app[data-view] #nav .brand:hover .brand-logo { filter: drop-shadow(0 4px 10px #000c) drop-shadow(0 0 14px #d23a4055); }
}
/* Compact crest wherever the brand is a small mark (phone header, menu) */
.hunt-header .hunt-brand-mark, #nav .nav-menu-button + .hunt-brand-mark { width: 46px; aspect-ratio: auto; }
@media (max-width: 960px) { .hunt-header .hunt-brand-mark { width: 44px; } }

/* Sidebar: crimson active marker, bone text */
@media (min-width: 961px) {
  body #app[data-view] #nav .nav-section { color: #b4484d; }
  body #app[data-view] #nav nav button.active,
  body #app[data-view] #nav nav button[aria-current="page"] {
    background: linear-gradient(90deg, #4a1418, #221414 80%);
    border-color: #6a2a2e;
    color: var(--bone);
    box-shadow: inset 3px 0 0 var(--crimson-bright);
  }
}

/* Eyebrows and section labels pick up the crest's red */
.eyebrow, .hunt-location > span, .hunt-section-label { color: #c8474d !important; }
h2, .dialog h2 { color: var(--bone); }

/* Primary actions: blood-red lacquer with bone lettering */
button.primary, .primary {
  border-color: #c0393f;
  background: linear-gradient(180deg, #b3262e, #7a161c);
  color: #f3e9da;
  text-shadow: 0 1px 2px #0008;
  box-shadow: inset 0 1px 0 #ff9a9a33, 0 2px 8px #0008;
}
button.primary:hover:not(:disabled) { background: linear-gradient(180deg, #c8323a, #8e1c22); border-color: #e0545a; }
button.active { border-color: #8e2a2f; background: linear-gradient(180deg, #3e1a1c, #241212); color: var(--bone); }

/* Progress bars: bone fill bleeding into red */
.pf-xp i, .bd-bar i, .q-bar i, .pf-cycle i { background: linear-gradient(90deg, #6e1a1f, #b3262e 55%, #e6dac6) !important; }
.bd-bar.mastery i { background: linear-gradient(90deg, #4d6a35, #9fc278) !important; }

/* Dialogs: stone instead of blue-grey */
.dialog { border-color: #6a2a2e; background: linear-gradient(145deg, #241b1b, #141010); box-shadow: 0 18px 70px #000c, 0 0 0 1px #a8202a22; }
.overlay { background: #0a0606d9; }

/* Toasts */
.toast { border-color: #8e2a2f; background: #221414; color: var(--bone); }

/* Combat: crimson ground glow behind the hotbar */
.hunt-overview-head .hunt-state-btn.live { border-color: #4f6a3c; }
.hunt-card { border-color: #3e2c2b; }

/* Phone tab bar */
#nav .mobile-navigation button.active, #nav .mobile-navigation button[aria-current="page"] {
  background: linear-gradient(180deg, #4a1418, #221414) !important;
  border-color: #6a2a2e !important;
  color: var(--bone) !important;
  box-shadow: inset 0 2px 0 var(--crimson-bright) !important;
}

/* Surfaces: charcoal with a faint blood tint, no old bamboo texture */
#status { background: linear-gradient(90deg, #1a1414, #120e0e) !important; border-bottom-color: #3a2526 !important; }
#bag { background: linear-gradient(180deg, #171212, #100c0c) !important; border-left-color: #3a2526 !important; }
#app #journal > .hunt-dock, .hunt-dock { background: linear-gradient(180deg, #171212, #0f0c0c) !important; }
.hunt-card { background: linear-gradient(170deg, #1a1515, #100d0d); }
.hunt-hotbar-row .hot-tray, .pv-slots { background: linear-gradient(180deg, #221a1ae0, #120e0ee8) !important; }

/* Inventory: Gear tab */
.gp-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin-bottom: 8px; }
.gp-summary > div { display: grid; gap: 1px; padding: 6px 7px; border: 1px solid #3a2a2a; border-radius: 8px; background: #181212; }
.gp-summary span { color: #8e7f76; font-size: 9.5px; letter-spacing: .5px; text-transform: uppercase; }
.gp-summary b { color: var(--bone); font-size: 13.5px; font-variant-numeric: tabular-nums; }
.gp-note { margin: 0 0 8px; padding: 6px 9px; border-left: 3px solid #6f9d55; border-radius: 0 6px 6px 0; background: #17200f; color: #cfe7b5; font-size: 11.5px; }
.gp-list { display: grid; gap: 4px; }
.gp-row { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 4px 6px 4px 4px; border: 1px solid #2e2323; border-radius: 9px; background: #151010; }
.gp-row.has-up { border-color: #3f5a2e; }
.gp-row.is-empty, .gp-row.is-blocked { background: #120e0e; }
#bag button.gp-tile, .gp-tile { display: grid; place-items: center; width: 46px; height: 46px; min-height: 0; padding: 0; border: 1px solid var(--rarity, #3a2a2a); border-radius: 8px; background: radial-gradient(circle at 50% 35%, #2a1d1d, #0f0b0b); }
.gp-tile .item-symbol { display: grid; place-items: center; width: 38px; height: 38px; }
.gp-tile .item-symbol img, .gp-tile .item-symbol svg { max-width: 100%; max-height: 100%; }
.gp-tile.is-empty { border-style: dashed; color: #5e4442; font-size: 17px; }
.gp-body { display: grid; gap: 1px; min-width: 0; }
.gp-body small { color: #8e7f76; font-size: 9.5px; letter-spacing: .5px; text-transform: uppercase; }
.gp-body b { overflow: hidden; font-size: 12.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.gp-body b.muted { color: #6e6250; font-weight: 400; }
.gp-body em { overflow: hidden; color: #a8998c; font-size: 10.5px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
#bag button.gp-up, .gp-up { min-height: 28px; padding: 0 9px; border-color: #4f6a3c; background: linear-gradient(180deg, #2a3a1f, #18210f); color: #cfe7b5; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.gp-later { padding: 3px 8px; border: 1px dashed #4d3a38; border-radius: 12px; color: #a8998c; font-size: 10.5px; white-space: nowrap; }

/* Enhancement panel */
.enh-level { margin-left: 8px; color: #ecdcc6; font-family: var(--title); font-size: 14px; }
.enh-pips { display: grid; grid-template-columns: repeat(30, 1fr); gap: 2px; margin: 6px 0 8px; }
.enh-pips i { height: 8px; border-radius: 2px; background: #2a2020; }
.enh-pips i.mile { box-shadow: inset 0 -2px 0 #6a2a2e; }
.enh-pips i.on { background: linear-gradient(180deg, #e05a5a, #8e1c22); }
.enh-pips i.on.mile { background: linear-gradient(180deg, #ecdcc6, #b3262e); }
.enh-next { color: #b6e08f; }
.enh-cost { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.enh-cost span { padding: 3px 10px; border: 1px solid #3a2a2a; border-radius: 12px; background: #1a1414; color: #ecdcc6; font-size: 12px; }
.enh-cost span small { color: #8e7f76; }
.enh-cost .missing { border-color: #6b3a2e; color: #f0a090; }
.enh-chance { border-color: #4f6a3c !important; color: #cfe7b5 !important; }
.enh-chance.risky { border-color: #8a6a35 !important; color: #f0d49a !important; }
.gp-actions { display: flex; flex-direction: column; align-items: stretch; gap: 3px; }
#bag button.gp-enh, .gp-enh { min-height: 26px; padding: 0 8px; border-color: #6a2a2e; background: linear-gradient(180deg, #3a1a1c, #201011); color: #ecdcc6; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.gp-enh small { color: #cdbca3; font-weight: 400; font-size: 10px; }
.gp-enh:disabled { opacity: .45; }
.gp-plus { color: #e05a5a; font-weight: 700; }

/* Admin */
.admin-page { padding-bottom: 24px; }
.ad-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 12px; }
.ad-head h2 { margin: 4px 0 0; font-family: var(--title); }
.ad-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-bottom: 12px; }
.ad-cards > div { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid #433433; border-radius: 10px; background: #171313; }
.ad-cards span { color: #8e7f76; font-size: 10.5px; letter-spacing: .5px; text-transform: uppercase; }
.ad-cards b { color: var(--bone); font-size: 22px; font-variant-numeric: tabular-nums; }
.ad-panel { margin-bottom: 12px; padding: 12px 14px; border: 1px solid #433433; border-radius: 12px; background: #141010; }
.ad-panel h3 { margin: 0 0 8px; font-family: var(--title); font-size: 14px; letter-spacing: 1.4px; text-transform: uppercase; color: #d9c9b2; }
.ad-bars { display: flex; align-items: flex-end; gap: 6px; height: 140px; }
.ad-bar { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; gap: 3px; }
.ad-bar i { display: block; width: 100%; min-height: 2px; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, #e05a5a, #7a161c); }
.ad-bar small { color: #8e7f76; font-size: 10px; }
.ad-step { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) 44px 40px; align-items: center; gap: 10px; padding: 4px 0; font-size: 12.5px; }
.ad-meter { height: 8px; overflow: hidden; border-radius: 4px; background: #2a2020; }
.ad-meter i { display: block; height: 100%; background: linear-gradient(90deg, #7a161c, #e6dac6); }
.ad-step b { color: var(--bone); text-align: right; }
.ad-step small { color: #8e7f76; }
.ad-errors { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ad-errors li { display: grid; gap: 2px; padding: 7px 10px; border: 1px solid #2e2323; border-radius: 8px; background: #171212; }
.ad-errors b { color: #f0a090; font-size: 12.5px; font-weight: 600; }
.ad-errors small { color: #8e7f76; font-size: 11px; }

/* First Steps */
.fs-card { position: relative; margin-bottom: 10px; padding: 10px 12px 12px; border: 1px solid #8e2a2f; border-radius: 12px; background: linear-gradient(170deg, #241616f2, #120d0df2); backdrop-filter: blur(4px); box-shadow: 0 8px 22px #000b; }
.fs-head { display: flex; justify-content: space-between; align-items: center; }
.fs-head .eyebrow { font-size: 10px; }
button.fs-close { min-height: 22px; min-width: 22px; padding: 0; border: 0; background: none; box-shadow: none; color: #8e7f76; font-size: 12px; }
.fs-dots { display: flex; gap: 4px; margin: 6px 0 8px; }
.fs-dots i { flex: 1; height: 5px; border-radius: 3px; background: #2e2424; }
.fs-dots i.on { background: #8fd06a; }
.fs-dots i.now { background: #e05a5a; box-shadow: 0 0 6px #e05a5a; }
.fs-body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.fs-body b { color: var(--bone); font-size: 13.5px; }
.fs-body p { margin: 2px 0 0; color: #b9ab98; font-size: 11.5px; line-height: 1.4; }
@media (max-width: 960px) { .fs-card { margin: 8px 6px 0; } }

/* While you were away */
.away h3{margin:16px 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#a99)}
.away-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}
.away-list li{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(0,0,0,.25);font-size:13px}
.away-list li span{color:#e6c7a0;font-variant-numeric:tabular-nums}
.legacy-sell{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:8px 10px;border:1px dashed rgba(230,199,160,.25);border-radius:8px;font-size:12px;color:#c9b8a8}
.ad-sub{margin:14px 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#c9b8a8}
.ad-sub small{margin-left:6px;text-transform:none;letter-spacing:0;color:#8e7f76;font-size:11px}
.ad-cards > div small{color:#8e7f76;font-size:11px}

/* Contracts */
.contracts-page .ct-section{margin-top:18px}
.ct-section>header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin-bottom:10px}
.ct-section h3{margin:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#c9b8a8}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ct-card{display:grid;gap:10px;padding:14px;border:1px solid #3a2e2d;border-radius:12px;background:linear-gradient(180deg,#1b1615,#141010)}
.ct-card.ready{border-color:#9b2c2c;box-shadow:0 0 0 1px rgba(155,44,44,.35),0 6px 22px rgba(120,20,20,.25)}
.ct-card.claimed{opacity:.6}
.ct-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ct-top b{font-family:var(--display,Georgia,serif);font-size:16px;font-weight:500;color:#eadbc8}
.ct-top p{margin:3px 0 0;font-size:13px;color:#b7a698}
.ct-count{white-space:nowrap;font-size:12px;color:#b7a698;font-variant-numeric:tabular-nums}
.ct-claimed{white-space:nowrap;font-size:12px;color:#8fbf9a}
.ct-bar{height:6px;border-radius:99px;background:#2a2120;overflow:hidden}
.ct-bar i{display:block;height:100%;background:linear-gradient(90deg,#7a1f1f,#c0392b);border-radius:inherit}
.ct-card.claimed .ct-bar i{background:#4f7a5a}
.ct-reward{display:flex;flex-wrap:wrap;gap:6px}
.ct-chip{font-size:11.5px;padding:3px 8px;border-radius:99px;border:1px solid #3a2e2d;color:#c9b8a8;background:#120e0e}
.ct-chip.gold{color:#e6c37a}

/* Leaderboards */
.lb-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.lb-tabs button.active{border-color:#9b2c2c;color:#f2e4d4;background:#2a1515}
.lb-note{margin:0 0 10px}
.lb-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-width:720px}
.lb-list li{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid #2f2524;border-radius:10px;background:#161212}
.lb-list li.me{border-color:#9b2c2c;background:#221515}
.lb-list li.lb-gap{display:block;text-align:center;border:0;background:none;padding:0;color:#6f625a}
.lb-rank{font-family:var(--display,Georgia,serif);font-size:18px;color:#8e7f76;text-align:center}
.lb-list li.r1 .lb-rank{color:#e6c37a}.lb-list li.r2 .lb-rank{color:#cfd3d6}.lb-list li.r3 .lb-rank{color:#c98a5a}
.lb-name{display:flex;flex-direction:column;min-width:0;color:#eadbc8;overflow:hidden;text-overflow:ellipsis}
.lb-name small{font-size:11px;color:#8e7f76}
.lb-you{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#e07a6a;margin-left:6px}
.lb-list b{font-variant-numeric:tabular-nums;color:#e6c37a;font-weight:500;white-space:nowrap}
@media (max-width:600px){.ct-grid{grid-template-columns:1fr}.lb-list li{grid-template-columns:32px 1fr auto;padding:8px 10px}}
.town-links{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.town-links button{flex:1 1 140px}

/* Reward moments */
#fx-layer{position:fixed;inset:0;pointer-events:none;z-index:9000;display:grid;place-items:start center;padding-top:16vh}
.fx-moment{grid-area:1/1;display:grid;place-items:center;animation:fx-in .45s cubic-bezier(.2,1.4,.4,1) both}
.fx-moment.out{animation:fx-out .4s ease forwards}
@keyframes fx-in{from{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}
@keyframes fx-out{to{opacity:0;transform:translateY(-10px) scale(.98)}}
.fx-beam{position:absolute;top:-16vh;width:120px;height:62vh;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--fx) 55%,transparent) 40%,transparent);filter:blur(10px);animation:fx-beam 1.2s ease-out both;transform-origin:top}
@keyframes fx-beam{from{opacity:0;transform:scaleY(.2)}40%{opacity:1}to{opacity:.55;transform:scaleY(1)}}
.fx-drop,.fx-level,.fx-enh,.fx-claim{position:relative;display:grid;justify-items:center;gap:2px;padding:12px 26px;border-radius:14px;background:rgba(14,10,10,.92);border:1px solid color-mix(in srgb,var(--fx,#9b2c2c) 70%,transparent);box-shadow:0 0 40px color-mix(in srgb,var(--fx,#9b2c2c) 40%,transparent),0 10px 30px rgba(0,0,0,.6);text-align:center}
.fx-drop small,.fx-level small,.fx-enh small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fx,#c9b8a8)}
.fx-drop b{font-family:var(--display,Georgia,serif);font-size:22px;font-weight:500;color:var(--fx);text-shadow:0 0 18px color-mix(in srgb,var(--fx) 60%,transparent)}
.fx-drop em,.fx-level em{font-style:normal;font-size:12px;color:#b7a698}
.legendary .fx-drop{padding:16px 34px}.legendary .fx-drop b{font-size:28px}
.fx-level{--fx:#e6c37a}
.fx-level b{font-family:var(--display,Georgia,serif);font-size:56px;line-height:1;font-weight:500;color:#f3dca0;text-shadow:0 0 26px rgba(230,195,122,.7)}
.fx-enh{--fx:#b58ce6;min-width:220px}
.fx-enh b{font-family:var(--display,Georgia,serif);font-size:26px;font-weight:500;color:#eadbc8}
.fx-enh.charging{animation:fx-shake .75s linear}
.fx-enh.ok{--fx:#e6c37a}.fx-enh.ok b{color:#f3dca0;animation:fx-pop .35s ease}
.fx-enh.bad{--fx:#7a2a2a}.fx-enh.bad b{color:#c98a7a;font-size:18px}
@keyframes fx-shake{0%,100%{transform:none}20%{transform:translateX(-2px)}40%{transform:translateX(3px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes fx-pop{from{transform:scale(1.4)}to{transform:none}}
.fx-claim{--fx:#e6c37a}.fx-claim b{color:#f3dca0;font-size:15px;font-weight:500}
.fx-flash{position:fixed;inset:0;pointer-events:none;z-index:8999;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--fx) 45%,transparent),transparent 65%);animation:fx-flash .9s ease-out forwards}
@keyframes fx-flash{from{opacity:1}to{opacity:0}}
@media (prefers-reduced-motion:reduce){.fx-moment,.fx-beam,.fx-enh.charging,.fx-flash{animation:none!important}}
.chat-line.realm,.world-line.realm{color:#e6c37a}
.dock-chat.realm span{color:#e6c37a;font-style:italic}

/* Next up */
.ng-card{display:grid;gap:6px;padding:12px;margin-bottom:10px;border:1px solid #3a2e2d;border-radius:12px;background:#161212}
.ng-card .eyebrow{margin-bottom:2px}
.ng-row{display:grid!important;grid-template-columns:26px 1fr;gap:8px;align-items:center;text-align:left;width:100%;padding:7px 8px!important;border:1px solid #2a2120!important;border-radius:9px!important;background:#120e0e!important;min-height:0!important}
.ng-row:hover{border-color:#5a3a37!important}
.ng-row.ready{border-color:#7a2626!important;background:#1d1212!important}
.ng-icon{font-size:15px;text-align:center}
.ng-text{display:grid;gap:2px;min-width:0}
.ng-text b{font-size:12.5px;font-weight:600;color:#eadbc8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-text small{font-size:11px;color:#9b8b80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-bar{height:3px;border-radius:9px;background:#2a2120;overflow:hidden}
.ng-bar i{display:block;height:100%;background:linear-gradient(90deg,#7a1f1f,#d0573f)}
.ng-row.ready .ng-bar i{background:#e6c37a}
.hunt-rail-top{display:grid;gap:0;min-height:0;align-content:start}
.hunt-rail-top .ng-card{margin-bottom:10px}
@media (max-height:1020px){.hunt-rail-top .ng-row small{display:none}.hunt-rail-top .ng-card{gap:4px;padding:9px 10px}.hunt-rail-top .ng-row{padding:5px 8px!important}.hunt-rail-top .ng-card .eyebrow{margin:0}}
.gift-dots{display:flex;gap:6px}
.gift-dots i{width:18px;height:18px;border-radius:50%;border:1px solid #4a3836;background:#120e0e}
.gift-dots i.big{width:22px;height:22px;border-color:#7a5a2a}
.gift-dots i.on{background:#7a1f1f;border-color:#a83a32}
.gift-dots i.now{background:#e6c37a;border-color:#f3dca0;box-shadow:0 0 10px rgba(230,195,122,.6)}

/* Achievements */
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.ach{display:grid;gap:7px;padding:11px 12px;border:1px solid #2f2524;border-radius:11px;background:#141010}
.ach.earned{border-color:#6a4a26;background:linear-gradient(180deg,#1f1813,#141010)}
.ach-top{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:start}
.ach-mark{font-size:16px;color:#5a4a44;line-height:1.4}
.ach.earned .ach-mark{color:#e6c37a}
.ach-top b{font-size:13.5px;color:#eadbc8;font-weight:600}
.ach-top p{margin:2px 0 0;font-size:12px;color:#9b8b80}
.ach-title{font-size:11px;color:#8e7f76}.ach-title i{color:#e6c37a;font-style:normal}
.ach button.active{border-color:#7a5a2a;color:#f3dca0}
.lb-title{font-style:normal;color:#e6c37a}
.nav-hero-text small i{font-style:normal;color:#e6c37a}

/* Prestige */
.pr-hero{display:flex;gap:18px;align-items:center;padding:18px;margin:6px 0 14px;border:1px solid #5a3a26;border-radius:14px;background:radial-gradient(ellipse at 15% 50%,rgba(230,195,122,.12),transparent 60%),#151010}
.pr-crest{flex:none;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:2px solid #7a5a2a;background:#0f0b0b;box-shadow:0 0 24px rgba(230,195,122,.25)}
.pr-crest small{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#8e7f76}
.pr-crest b{font-family:var(--display,Georgia,serif);font-size:30px;font-weight:500;color:#f3dca0;line-height:1}
.pr-hero h3{margin:0 0 4px;font-family:var(--display,Georgia,serif);font-weight:500;font-size:20px;color:#eadbc8}
.pr-hero p{margin:0}
.pr-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.pr-panel{padding:14px;border:1px solid #3a2e2d;border-radius:12px;background:#141010;display:grid;gap:10px;align-content:start}
.pr-panel h3{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#c9b8a8}
.pr-req,.pr-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pr-req li{display:grid;grid-template-columns:18px 1fr auto;gap:8px;font-size:13px;color:#b7a698}
.pr-req li.met{color:#cfe3cf}.pr-req li.met span{color:#8fbf9a}
.pr-list li{font-size:13px;color:#b7a698;padding-left:18px;position:relative}
.pr-list li.reset::before{content:'↺';position:absolute;left:0;color:#c0574a}
.pr-list li.keep::before{content:'✓';position:absolute;left:0;color:#8fbf9a}
.nav-hero-crest{position:relative}
.pr-mini{position:absolute;right:-6px;bottom:-6px;font-style:normal;font-size:9px;padding:1px 4px;border-radius:6px;background:#7a5a2a;color:#fff3d6;line-height:1.2}

/* Material icons */
.mat-art{width:28px;height:28px;flex:none;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.res-name{display:inline-flex;align-items:center;gap:8px;min-width:0}
.pf-spot-art{width:38px;height:38px}
.bn-ing-art{width:30px;height:30px}
.pf-spot{grid-template-columns:38px 38px minmax(0,1fr) auto auto}
.bn-ings li{grid-template-columns:74px 30px minmax(0,1fr) auto}
@media (max-width:760px){.bn-ings li{grid-template-columns:56px 26px minmax(0,1fr) auto}.bn-ing-art{width:26px;height:26px}}

/* Painted reward and tool icons */
.chip-icon{width:16px;height:16px;object-fit:contain;vertical-align:-3px;margin-right:4px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
.ct-chip,.q-reward{display:inline-flex;align-items:center}
.inventory-wallet span{display:inline-flex;align-items:center}
.ct-art{width:52px;height:52px;flex:none;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7))}
.ct-card.gift .ct-top,.ct-card.chest .ct-top{display:grid;grid-template-columns:52px 1fr auto;gap:10px}
.ng-icon .ng-img{width:22px;height:22px;object-fit:contain;display:block;margin:auto}
.tool-art{width:44px;height:44px;object-fit:contain;display:block}
.tool-art-sm{width:28px;height:28px;object-fit:contain;vertical-align:middle}
.tool-symbol{display:grid;place-items:center}
.pr-crest{position:relative;border:none!important;background:none!important;box-shadow:none!important;width:104px!important;height:104px!important}
.pr-crest img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 16px rgba(230,120,60,.35))}
.pr-crest b{position:relative;margin-top:62px;font-size:18px!important;text-shadow:0 1px 4px #000}
.gp-tile .equipment-art{width:38px;height:38px;max-height:100%;margin:0}
.pf-node-glyph .pf-node-art{width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.8)) drop-shadow(0 0 14px rgba(200,60,50,.25))}

/* Provision art */
.bn-icon .bn-art,.bn-detail-icon .bn-art{width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7))}
.pv-icon .pv-art{width:30px;height:30px;object-fit:contain;display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7))}
.pv-option .pv-icon .pv-art{width:40px;height:40px}
.shop-card .shop-art{width:56px;height:56px;object-fit:contain;display:block;margin:0 0 6px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7))}

/* Artificing contraptions */
.ctp{margin-top:14px}
.ctp-head h3{margin:0 0 4px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#c9b8a8}
.ctp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:10px}
.ctp-card{display:grid;gap:9px;padding:13px;border:1px solid #3a2e2d;border-radius:12px;background:linear-gradient(180deg,#1b1615,#131010)}
.ctp-card.ready{border-color:#9b2c2c;box-shadow:0 0 0 1px rgba(155,44,44,.3)}
.ctp-card.done{border-color:#5a4a26}
.ctp-card>header{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center}
.ctp-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #6a4a2a;background:#120d0d;color:#e6c37a;font-size:18px}
.ctp-card header b{font-family:var(--display,Georgia,serif);font-weight:500;font-size:16px;color:#eadbc8}
.ctp-card header small{display:block;font-size:11.5px;color:#9b8b80}
.ctp-pips{display:flex;gap:3px}.ctp-pips i{width:9px;height:9px;border-radius:2px;background:#2a2120;border:1px solid #4a3836}.ctp-pips i.on{background:#e6c37a;border-color:#f3dca0}
.ctp-effect{margin:0;font-size:12.5px;color:#d9c9b6}
.ctp-cost{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ctp-cost li{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;font-size:12px;color:#b7a698}
.ctp-cost li .mat-art{width:24px;height:24px}
.ctp-cost li b{font-variant-numeric:tabular-nums;color:#cfe3cf;font-weight:500}
.ctp-cost li.is-short b{color:#d27a6c}
.ctp-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}

/* Action mastery */
.am-chip{display:inline-grid;grid-template-columns:auto 46px auto;align-items:center;gap:5px;margin-left:6px;vertical-align:middle;font-weight:400}
.am-chip b{font-size:10.5px;font-weight:700;color:#e6c37a;letter-spacing:.03em}
.am-chip small{font-size:9.5px;color:#8e7f76;white-space:nowrap}
.am-bar{height:4px;border-radius:9px;background:#2a2120;overflow:hidden}.am-bar i{display:block;height:100%;background:linear-gradient(90deg,#8a6a2a,#e6c37a)}
.am-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:12px;color:#c9b8a8}
.am-line .am-chip{margin-left:0}
.am-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:5px;max-width:860px}
.am-list li{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 12px;border:1px solid #2f2524;border-radius:10px;background:#151111}
.am-name{display:grid;gap:2px;min-width:0}.am-name b{color:#eadbc8;font-size:13px}.am-name small{color:#9b8b80;font-size:11.5px}
.bx-card .am-chip{display:grid;margin:4px 0 0}
.pf-spot-body .am-chip{display:grid;width:max-content;margin:3px 0 0}
