/* Ash & Blood v23 — site-wide visual language
   Shared chrome only: page-specific palettes remain intact. */
:root{
  --ab23-ink:#070809;
  --ab23-iron:#101214;
  --ab23-iron-2:#151719;
  --ab23-iron-3:#1b1d20;
  --ab23-bone:#f1e8db;
  --ab23-bone-2:#cfc4b4;
  --ab23-muted:#8f877c;
  --ab23-blood:#7f1d24;
  --ab23-blood-2:#a62e37;
  --ab23-blood-hot:#c44850;
  --ab23-brass:#a98549;
  --ab23-brass-hi:#c6a364;
  --ab23-line:rgba(232,220,200,.105);
  --ab23-line-strong:rgba(232,220,200,.18);
  --ab23-shadow:0 22px 60px rgba(0,0,0,.34);
}

html{accent-color:var(--ab23-blood-2)}
body{color:var(--ab23-bone-2)}
::selection{background:rgba(166,46,55,.55);color:#fff}

/* Shared navigation ----------------------------------------------------- */
#nav.ab-nav{
  border-bottom-color:rgba(198,163,100,.10);
  background:linear-gradient(180deg,rgba(8,9,10,.965),rgba(7,8,9,.93));
  box-shadow:0 16px 48px rgba(0,0,0,.28),inset 0 -1px rgba(255,255,255,.012);
}
#nav .ab-nav-brand-mark{border-color:rgba(166,46,55,.34);box-shadow:inset 0 0 0 3px rgba(169,133,73,.025),0 0 28px rgba(127,29,36,.06)}
#nav .ab-nav-links>li>a{color:#bdb3a5}
#nav .ab-nav-links>li>a:hover,#nav .ab-nav-links>li>a.active{color:var(--ab23-bone)}
#nav .ab-nav-links>li>a.active::after{background:linear-gradient(90deg,var(--ab23-blood-2),var(--ab23-brass-hi));box-shadow:0 0 10px rgba(166,46,55,.25)}
#nav .ab-nav-dropdown{
  border-color:rgba(198,163,100,.14);
  background:linear-gradient(180deg,rgba(17,18,20,.985),rgba(9,10,11,.99));
  box-shadow:0 28px 70px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.025);
}
#nav .ab-nav-dropdown::before{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,var(--ab23-blood-2),var(--ab23-brass),transparent 72%);opacity:.72}
#nav .ab-nav-dropdown>a:hover{background:linear-gradient(90deg,rgba(127,29,36,.11),rgba(169,133,73,.035));border-color:rgba(198,163,100,.12)}
#nav .ab-nav-dropdown>a>i{color:var(--ab23-brass-hi)}
#nav .ab-nav-profile{color:var(--ab23-bone-2)}
#nav .ab-nav-profile i{color:var(--ab23-brass-hi)}
#nav .ab-nav-icon:hover,#nav .ab-nav-search:hover,#nav .ab-nav-profile:hover{border-color:rgba(198,163,100,.28);background:rgba(169,133,73,.045);color:#fff}

/* Core surfaces --------------------------------------------------------- */
.ab-card{
  border-color:var(--ab23-line);
  background:
    radial-gradient(circle at 0 0,rgba(127,29,36,.025),transparent 28%),
    linear-gradient(180deg,rgba(22,24,26,.975),rgba(13,14,16,.985));
  box-shadow:var(--ab23-shadow),inset 0 1px rgba(255,255,255,.018);
}
.ab-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(166,46,55,.56),rgba(169,133,73,.34),transparent 72%);opacity:.52;pointer-events:none}
.ab-card:hover{border-color:rgba(198,163,100,.20);box-shadow:0 28px 72px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.025)}
.ab-card-head{border-bottom-color:rgba(232,220,200,.075)}
.ab-eyebrow,.ab-kicker{color:var(--ab23-brass-hi);text-shadow:none}
.ab-page-hero{
  border-color:rgba(198,163,100,.14);
  background:
    radial-gradient(circle at 78% 12%,rgba(169,133,73,.055),transparent 28%),
    radial-gradient(circle at 12% 88%,rgba(127,29,36,.075),transparent 30%),
    linear-gradient(135deg,rgba(21,23,25,.97),rgba(8,9,10,.985));
  box-shadow:0 34px 100px rgba(0,0,0,.43),inset 0 1px rgba(255,255,255,.018);
}
.ab-page-hero::after{content:"";position:absolute;left:clamp(1.2rem,4vw,3rem);right:58%;bottom:0;height:1px;background:linear-gradient(90deg,var(--ab23-blood-2),var(--ab23-brass),transparent);opacity:.62;pointer-events:none}

/* Buttons --------------------------------------------------------------- */
.ab-btn{
  position:relative;
  border-color:rgba(232,220,200,.13);
  background:linear-gradient(180deg,rgba(28,30,32,.94),rgba(14,16,17,.97));
  color:var(--ab23-bone)!important;
  text-shadow:none!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 8px 22px rgba(0,0,0,.13);
}
.ab-btn:hover{
  color:#fff!important;
  border-color:rgba(198,163,100,.32);
  background:linear-gradient(180deg,rgba(35,35,34,.98),rgba(18,18,18,.99));
  box-shadow:0 12px 28px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.035);
}
.ab-btn:focus-visible{outline:2px solid rgba(198,163,100,.52);outline-offset:2px;box-shadow:0 0 0 4px rgba(127,29,36,.16)}

/* Former gold buttons are now dark aged-brass actions with WHITE text. */
.ab-btn-gold{
  color:#fffaf2!important;
  border-color:rgba(198,163,100,.52)!important;
  background:
    linear-gradient(180deg,rgba(47,40,29,.98),rgba(24,22,19,.99))!important;
  box-shadow:inset 0 1px rgba(255,236,195,.055),inset 3px 0 rgba(127,29,36,.78),0 10px 28px rgba(0,0,0,.22)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.72)!important;
}
.ab-btn-gold:hover{
  color:#fff!important;
  border-color:rgba(214,180,112,.76)!important;
  background:linear-gradient(180deg,rgba(62,50,32,.99),rgba(30,25,20,.99))!important;
  box-shadow:inset 0 1px rgba(255,243,216,.075),inset 3px 0 var(--ab23-blood-2),0 14px 34px rgba(0,0,0,.3)!important;
}
.ab-btn-gold i{color:#e8c887}

.ab-btn-primary{
  color:#fff!important;
  border-color:rgba(196,72,80,.56)!important;
  background:linear-gradient(180deg,#8e252d,#64171d)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.055),0 10px 26px rgba(82,12,18,.24)!important;
}
.ab-btn-primary:hover{background:linear-gradient(180deg,#a52d37,#741b22)!important;border-color:rgba(221,101,108,.72)!important;box-shadow:0 14px 34px rgba(82,12,18,.32)!important}
.ab-btn-danger{color:#efa4a9!important;border-color:rgba(190,62,72,.36)!important;background:rgba(111,24,31,.045)!important}
.ab-btn-danger:hover{color:#fff!important;border-color:rgba(205,73,82,.62)!important;background:rgba(126,29,36,.16)!important}

/* Other shared gold action styles from legacy/public pages. */
.ab-footer-v13__btn--primary{
  color:#fff!important;
  background:linear-gradient(135deg,#8e252d,#5f171c)!important;
  border-color:rgba(198,163,100,.34)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.65)!important;
  box-shadow:0 14px 36px rgba(64,9,14,.24)!important;
}
.ab-footer-v13__btn--primary:hover{color:#fff!important;background:linear-gradient(135deg,#a42f38,#711b22)!important;border-color:rgba(214,180,112,.5)!important}
.character-creator-page .wiz-btn.gold{
  color:#fff!important;
  border-color:rgba(198,163,100,.45)!important;
  background:linear-gradient(180deg,rgba(52,43,30,.98),rgba(24,21,18,.98))!important;
  box-shadow:inset 3px 0 rgba(127,29,36,.72)!important;
}
.character-creator-page .wiz-btn.gold:hover{color:#fff!important;border-color:rgba(214,180,112,.7)!important;background:linear-gradient(180deg,rgba(66,51,31,.99),rgba(31,25,20,.99))!important}
body.events-page .events-submit-toggle,body.events-page .submit-btn{
  color:#fff!important;
  border-color:rgba(198,163,100,.38)!important;
  background:linear-gradient(180deg,rgba(43,37,28,.96),rgba(20,19,17,.98))!important;
  text-shadow:0 1px 2px rgba(0,0,0,.65)!important;
}
body.events-page .events-submit-toggle:hover,body.events-page .submit-btn:hover:not(:disabled){color:#fff!important;border-color:rgba(214,180,112,.68)!important;background:linear-gradient(180deg,rgba(57,45,29,.98),rgba(28,23,19,.99))!important}

/* Inputs and controls --------------------------------------------------- */
.ab-input,.ab-textarea,.ab-select,input[type="text"],input[type="search"],input[type="email"],input[type="url"],input[type="number"],textarea,select{
  caret-color:var(--ab23-blood-hot);
}
.ab-input:focus,.ab-textarea:focus,.ab-select:focus{
  border-color:rgba(166,46,55,.54)!important;
  box-shadow:0 0 0 3px rgba(127,29,36,.11)!important;
  background:rgba(127,29,36,.018)!important;
}
.ab-segment button.active{color:#fff!important;background:linear-gradient(180deg,rgba(127,29,36,.26),rgba(127,29,36,.12))!important;border-color:rgba(166,46,55,.38)!important}

/* Chips, status and inline links --------------------------------------- */
.ab-chip{border-color:rgba(232,220,200,.10);background:rgba(255,255,255,.016);color:#bdb3a6}
.ab-link-button,a.ab-link-button{color:#b8aa98}
.ab-link-button:hover,a.ab-link-button:hover{color:#fff}

/* Modal / command surfaces --------------------------------------------- */
.ab-command-panel,.ab-drawer{
  border-color:rgba(198,163,100,.15)!important;
  background:linear-gradient(180deg,rgba(18,20,21,.99),rgba(9,10,11,.995))!important;
  box-shadow:0 38px 110px rgba(0,0,0,.64)!important;
}
.ab-search-item:hover,.ab-search-item.active{background:linear-gradient(90deg,rgba(127,29,36,.10),rgba(169,133,73,.035));border-color:rgba(198,163,100,.13)}
.ab-search-icon{color:var(--ab23-brass-hi)}

/* Refined scrollbar to match shared chrome. */
@media (pointer:fine){
  body::-webkit-scrollbar{width:11px;height:11px}
  body::-webkit-scrollbar-track{background:#08090a}
  body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#34302a,#231f1b);border:3px solid #08090a;border-radius:99px}
  body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#514533,#2e2720)}
}

/* High-contrast preference must stay stronger than atmosphere. */
html[data-ab-contrast="high"] .ab-btn-gold{border-color:#e4c682!important;color:#fff!important}
html[data-ab-contrast="high"] .ab-btn-primary{border-color:#ef8990!important;color:#fff!important}

@media (prefers-reduced-motion:reduce){.ab-btn,.ab-card,#nav .ab-nav-dropdown>a{transition:none!important}}
