/* Ash & Blood v27 — sitewide presentation system
   Loaded last on every public page. The goal is consistency without flattening page identity. */
:root{
  --ab27-bg:#07090b;
  --ab27-bg-2:#0a0d10;
  --ab27-surface:#0f1317;
  --ab27-surface-2:#14191e;
  --ab27-surface-3:#191f25;
  --ab27-bone:#f2eadf;
  --ab27-copy:#c9c0b3;
  --ab27-muted:#8f887f;
  --ab27-faint:#67635d;
  --ab27-blood:#8d252c;
  --ab27-blood-hi:#bb424a;
  --ab27-brass:#a98a53;
  --ab27-brass-hi:#d0b274;
  --ab27-line:rgba(233,220,199,.105);
  --ab27-line-strong:rgba(208,178,116,.22);
  --ab27-success:#69bd8b;
  --ab27-warn:#d0a45d;
  --ab27-danger:#d3636b;
  --ab27-info:#7ea4c4;
  --ab27-r-sm:8px;
  --ab27-r:12px;
  --ab27-r-lg:18px;
  --ab27-shadow:0 22px 64px rgba(0,0,0,.34);
  --ab27-shadow-soft:0 12px 34px rgba(0,0,0,.22);
  --ab27-ease:cubic-bezier(.22,1,.36,1);
}

html{background:var(--ab27-bg);color-scheme:dark;scroll-padding-top:84px}
body{
  color:var(--ab27-copy);
  background:
    radial-gradient(1000px 620px at 82% -10%,rgba(141,37,44,.07),transparent 60%),
    radial-gradient(900px 520px at -10% 55%,rgba(169,138,83,.035),transparent 66%),
    linear-gradient(180deg,var(--ab27-bg-2),var(--ab27-bg));
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body::after{opacity:.01!important;mix-blend-mode:soft-light!important}
::selection{background:rgba(187,66,74,.46);color:#fff}

/* Typography ------------------------------------------------------------ */
body,h1,h2,h3,h4,h5,h6,p,label,input,textarea,select,button{font-feature-settings:"kern" 1,"liga" 1}
h1,h2,h3,.ab-title,.section-title,.page-header .hero-title{color:var(--ab27-bone)}
p{color:inherit}
a{transition:color .16s ease,border-color .16s ease,background-color .16s ease,opacity .16s ease}
.ab-title,.page-header .hero-title{
  text-wrap:balance;
  letter-spacing:-.035em;
  line-height:.98;
}
.ab-lede,.hero-desc,.events-hero-subtitle{max-width:74ch;color:var(--ab27-copy);line-height:1.7}
.ab-kicker,.ab-eyebrow,.section-label,.events-kicker{
  color:var(--ab27-brass-hi)!important;
  letter-spacing:.17em;
}
.ab-muted,.text-muted{color:var(--ab27-muted)!important}

/* Shared navigation ----------------------------------------------------- */
#nav.ab-nav{
  min-height:68px;
  border-bottom:1px solid rgba(208,178,116,.11)!important;
  background:linear-gradient(180deg,rgba(7,9,11,.985),rgba(7,9,11,.955))!important;
  box-shadow:0 14px 44px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(18px) saturate(120%);
}
#nav .ab-nav-brand-mark{background:linear-gradient(145deg,rgba(141,37,44,.11),rgba(169,138,83,.035));border-color:rgba(208,178,116,.16)!important}
#nav .ab-nav-brand-copy strong{letter-spacing:.075em}
#nav .ab-nav-brand-copy small{color:#7e776d}
#nav .ab-nav-links>li>a{font-weight:600;letter-spacing:.055em;color:#b6ada0}
#nav .ab-nav-links>li>a:hover,#nav .ab-nav-links>li>a.active{color:#fff8ed}
#nav .ab-nav-dropdown{border-radius:12px!important;overflow:hidden}
#nav .ab-nav-dropdown>a{border-radius:8px}
#nav .ab-nav-dropdown>a span strong{font-weight:700}
#nav .ab-nav-dropdown>a span small{line-height:1.35}

/* Core layout ----------------------------------------------------------- */
.ab-shell{position:relative}
.ab-wrap{width:min(1480px,calc(100% - clamp(24px,4vw,72px)));margin-inline:auto}
.ab-narrow{width:min(1040px,calc(100% - clamp(24px,5vw,72px)));margin-inline:auto}
.ab-page-hero{
  border-radius:var(--ab27-r-lg)!important;
  border:1px solid var(--ab27-line)!important;
  padding:clamp(1.5rem,3.5vw,3rem)!important;
  background:
    linear-gradient(90deg,rgba(141,37,44,.045),transparent 35%),
    radial-gradient(circle at 88% 5%,rgba(169,138,83,.06),transparent 28%),
    linear-gradient(145deg,rgba(18,22,26,.985),rgba(9,11,13,.99))!important;
  box-shadow:var(--ab27-shadow)!important;
  overflow:hidden;
}
.ab-page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.018),transparent 42%);opacity:.8}
.ab-page-hero::after{left:clamp(1.5rem,3.5vw,3rem)!important;right:68%!important;background:linear-gradient(90deg,var(--ab27-blood-hi),var(--ab27-brass-hi),transparent)!important}
.ab-page-hero .ab-title{font-size:clamp(2.1rem,5vw,4.7rem);margin-block:.3rem .8rem}
.ab-hero-statbox{border-color:var(--ab27-line)!important;background:rgba(255,255,255,.015)!important;border-radius:var(--ab27-r)!important}

/* Surfaces -------------------------------------------------------------- */
.ab-card,.ab-callout-panel,.ab-clan-detail,.ab-note{
  border-color:var(--ab27-line)!important;
  border-radius:var(--ab27-r)!important;
  background:
    radial-gradient(circle at 0 0,rgba(141,37,44,.025),transparent 30%),
    linear-gradient(180deg,rgba(18,22,26,.975),rgba(10,12,15,.985))!important;
  box-shadow:var(--ab27-shadow-soft)!important;
}
.ab-card{overflow:clip}
.ab-card::before{background:linear-gradient(180deg,rgba(187,66,74,.55),rgba(208,178,116,.22),transparent 72%)!important}
.ab-card-head{padding:1rem 1.1rem;border-bottom:1px solid rgba(233,220,199,.07)!important}
.ab-card>div:not(.ab-card-head),.ab-card>.ab-card-body{min-width:0}
.ab-stat{border-color:rgba(233,220,199,.075)!important}
.ab-chip{border-radius:999px!important;background:rgba(255,255,255,.022)!important;border-color:rgba(233,220,199,.1)!important;color:#bdb4a8!important}
.ab-chip.is-live{color:#9bd4af!important;border-color:rgba(105,189,139,.25)!important;background:rgba(105,189,139,.07)!important}

/* Buttons --------------------------------------------------------------- */
.ab-btn,.btn,.wiz-btn,.events-submit-toggle,.submit-btn{
  min-height:40px;
  border-radius:8px!important;
  font-weight:700;
}
.ab-btn{padding:.62rem .86rem!important;gap:.45rem}
.ab-btn,.btn:not(.btn-primary):not(.btn-danger){border-color:rgba(233,220,199,.13);background:linear-gradient(180deg,rgba(27,31,35,.96),rgba(13,16,18,.98));color:var(--ab27-bone)}
.ab-btn:hover,.btn:not(.btn-primary):not(.btn-danger):hover{border-color:rgba(208,178,116,.3);background:linear-gradient(180deg,rgba(34,37,40,.98),rgba(17,19,21,.99));color:#fff}
.ab-btn-gold{border-color:rgba(208,178,116,.45)!important;background:linear-gradient(180deg,rgba(55,46,31,.96),rgba(25,22,18,.99))!important;box-shadow:inset 3px 0 var(--ab27-blood),0 10px 28px rgba(0,0,0,.18)!important}
.ab-btn-primary,.btn-primary{background:linear-gradient(180deg,#9e3038,#711d24)!important;border-color:#a9373f!important;color:#fff!important}
.ab-btn-danger,.btn-danger{border-color:rgba(211,99,107,.34)!important;color:#efa0a6!important;background:rgba(141,37,44,.09)!important}
.ab-btn-sm{min-height:34px!important;padding:.4rem .65rem!important}
button:disabled,.ab-btn:disabled,.btn:disabled{opacity:.46;filter:saturate(.6);cursor:not-allowed;transform:none!important}

/* Forms ----------------------------------------------------------------- */
.ab-label,label{color:#cfc6ba}
.ab-input,.ab-textarea,.ab-select,
input[type="text"],input[type="search"],input[type="email"],input[type="url"],input[type="number"],input[type="password"],input[type="date"],input[type="datetime-local"],input[type="time"],textarea,select{
  border:1px solid rgba(233,220,199,.12)!important;
  border-radius:8px!important;
  background:#0b0f12!important;
  color:#eee6da!important;
  box-shadow:inset 0 1px rgba(255,255,255,.018);
}
input::placeholder,textarea::placeholder{color:#615f5b!important;opacity:1}
.ab-input:focus,.ab-textarea:focus,.ab-select:focus,
input[type="text"]:focus,input[type="search"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime-local"]:focus,input[type="time"]:focus,textarea:focus,select:focus{
  outline:none!important;border-color:rgba(187,66,74,.6)!important;background:#0d1114!important;box-shadow:0 0 0 3px rgba(141,37,44,.12)!important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--ab27-blood-hi)}
fieldset{border-color:var(--ab27-line)}

/* Tables ---------------------------------------------------------------- */
.ab-table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden;border:1px solid var(--ab27-line);border-radius:var(--ab27-r)}
.ab-table thead th{position:sticky;top:0;z-index:2;background:#11161a!important;color:#aca397!important;text-transform:uppercase;letter-spacing:.08em;font-size:.69rem;border-bottom:1px solid var(--ab27-line)!important}
.ab-table td{border-bottom-color:rgba(233,220,199,.055)!important;color:#c9c1b6}
.ab-table tbody tr:hover{background:rgba(208,178,116,.025)}
.ab-table tbody tr:last-child td{border-bottom:0!important}

/* Dialogs, loading and empty states ------------------------------------ */
.ab-drawer,.ab-command-panel,.modal-content,.char-modal-content{
  border-color:rgba(208,178,116,.16)!important;
  border-radius:var(--ab27-r-lg)!important;
  background:linear-gradient(180deg,rgba(17,21,25,.995),rgba(8,10,12,.998))!important;
  box-shadow:0 40px 120px rgba(0,0,0,.68)!important;
}
.ab-empty,.ab-loading,.empty-state{color:var(--ab27-muted)}
.ab-error{border-color:rgba(211,99,107,.25)!important;background:rgba(141,37,44,.07)!important;color:#e6b1b5!important;border-radius:var(--ab27-r)!important}
.ab-success{border-color:rgba(105,189,139,.22)!important;background:rgba(105,189,139,.06)!important;color:#a9d7ba!important;border-radius:var(--ab27-r)!important}

/* Legacy/public specialty pages --------------------------------------- */
body.roster-page,body.events-page,.wiki-page,.character-creator-page,.sorcery-creator-page,.td-shell,.cp-shell{background-color:var(--ab27-bg)!important}
body.roster-page .page-header,body.events-page .page-header.events-hero{
  min-height:auto!important;
  padding:clamp(5.5rem,8vw,7rem) clamp(1.25rem,4vw,4rem) clamp(2rem,4vw,3.5rem)!important;
  border-bottom:1px solid var(--ab27-line)!important;
}
body.roster-page .page-header .hero-title,body.events-page .events-hero-title{font-size:clamp(2.35rem,6vw,5.2rem)!important;letter-spacing:-.045em!important}
body.roster-page .roster-controls,body.events-page .events-command-bar{
  border:1px solid var(--ab27-line)!important;border-radius:var(--ab27-r)!important;background:rgba(14,17,20,.9)!important;box-shadow:var(--ab27-shadow-soft)!important;
}
body.roster-page .char-card,body.events-page .event-card{
  border-radius:var(--ab27-r)!important;border-color:var(--ab27-line)!important;box-shadow:0 16px 42px rgba(0,0,0,.24)!important;
}
body.roster-page .char-card:hover,body.events-page .event-card:hover{border-color:rgba(208,178,116,.22)!important;transform:translateY(-2px)}
body.events-page .event-filter{border-radius:999px!important}
body.events-page .event-filter.is-active{background:rgba(141,37,44,.13)!important;border-color:rgba(187,66,74,.34)!important;color:#fff!important}

/* Wiki: keep article-first reading experience while harmonizing chrome. */
.wiki-page{--wiki-border:rgba(233,220,199,.10)}
.wiki-sidebar,.wiki-tools,.wiki-toc{background:rgba(8,10,12,.97)!important;border-color:var(--ab27-line)!important}
.wiki-article{color:#c9c0b3}
.wiki-article h1,.wiki-article h2,.wiki-article h3{color:#eee6db}
.wiki-article a{color:#c6a766}
.wiki-article blockquote{border-left-color:var(--ab27-blood-hi)!important;background:rgba(141,37,44,.045)!important}
.wiki-nav-item{border-radius:7px!important}
.wiki-nav-item:hover,.wiki-nav-item.active{background:linear-gradient(90deg,rgba(141,37,44,.1),rgba(169,138,83,.025))!important;color:#fff!important}
.wiki-theme-toggle,.wiki-sidebar-toggle,.wiki-sidebar-edge-toggle{border-color:var(--ab27-line)!important;background:#101419!important}

/* Community / support / app specialty surfaces. */
.cp-hero,.td-hero,.cc26-hero,.sc-app-hero{
  border-color:var(--ab27-line)!important;
  box-shadow:var(--ab27-shadow)!important;
}
.cp-stat-ribbon,.td-flow-strip{border-color:var(--ab27-line)!important;background:rgba(255,255,255,.014)!important}
.cp-story-card,.td-service-card,.sg-card{border-color:var(--ab27-line)!important;box-shadow:var(--ab27-shadow-soft)!important}

/* Footer --------------------------------------------------------------- */
.ab-footer-v13{border-top-color:rgba(208,178,116,.12)!important;background:#07090b!important}
.ab-footer-v13__server,.ab-footer-v13__col a{border-color:rgba(233,220,199,.08)!important}
.ab-footer-v13__col a:hover{border-color:rgba(208,178,116,.18)!important;background:rgba(208,178,116,.025)!important}

/* Professional retired-state page ------------------------------------- */
.ab-retired-page{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:clamp(6rem,11vw,9rem) 1.25rem 4rem}
.ab-retired-card{width:min(720px,100%);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--ab27-line);border-radius:var(--ab27-r-lg);background:linear-gradient(145deg,rgba(18,22,26,.98),rgba(8,10,12,.995));box-shadow:var(--ab27-shadow);text-align:center;position:relative;overflow:hidden}
.ab-retired-card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--ab27-blood-hi),var(--ab27-brass-hi),transparent)}
.ab-retired-mark{width:66px;height:66px;margin:0 auto 1.15rem;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(208,178,116,.18);background:rgba(169,138,83,.035);color:var(--ab27-brass-hi);font-size:1.5rem}
.ab-retired-card h1{margin:0 0 .65rem;font:700 clamp(1.7rem,4vw,2.7rem)/1.05 "Cinzel",serif}
.ab-retired-card p{margin:.4rem auto 0;max-width:58ch;color:var(--ab27-muted)}
.ab-retired-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap;margin-top:1.35rem}

/* Accessibility and motion -------------------------------------------- */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid rgba(208,178,116,.72)!important;outline-offset:3px!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media (prefers-contrast:more){:root{--ab27-line:rgba(255,255,255,.22);--ab27-copy:#e6ddd1;--ab27-muted:#b7aea2}}

/* Responsive ----------------------------------------------------------- */
@media (max-width:980px){
  .ab-wrap,.ab-narrow{width:min(100% - 24px,1480px)}
  .ab-page-hero{padding:1.35rem!important;border-radius:14px!important}
  .ab-page-hero::after{right:45%!important}
}
@media (max-width:680px){
  #nav.ab-nav{min-height:62px}
  .ab-title,.ab-page-hero .ab-title{font-size:clamp(2rem,11vw,3.25rem)!important}
  .ab-card,.ab-page-hero{border-radius:12px!important}
  .ab-actions{gap:.5rem!important}
  .ab-actions>.ab-btn{flex:1 1 auto;justify-content:center}
  .ab-table{font-size:.78rem}
  .ab-retired-page{padding-top:5.5rem}
}

/* Character Forge v27 harmonisation ----------------------------------- */
.character-creator-page{
  --forge-violet:var(--ab27-blood);
  --forge-violet-bright:var(--ab27-brass-hi);
  --forge-violet-deep:#49181d;
  --forge-gold:var(--ab27-brass);
  --forge-gold-bright:var(--ab27-brass-hi);
  --forge-ink:var(--ab27-bg);
  --forge-panel:rgba(15,19,23,.9);
  --forge-panel-soft:rgba(18,22,26,.78);
  --forge-line:rgba(187,66,74,.14);
  --forge-line-gold:rgba(208,178,116,.18);
  --forge-text:var(--ab27-bone);
  --forge-muted:var(--ab27-muted);
  --forge-shadow:var(--ab27-shadow);
}
.character-creator-page::before{background:radial-gradient(ellipse at 16% 8%,rgba(141,37,44,.075),transparent 31%),radial-gradient(ellipse at 82% 28%,rgba(169,138,83,.04),transparent 28%),linear-gradient(180deg,rgba(10,12,14,.25),rgba(4,5,6,.72))!important}
.character-creator-page .page-header{
  min-height:500px!important;
  padding:8.25rem clamp(1.25rem,5vw,5rem) 4rem!important;
  background:linear-gradient(90deg,rgba(6,8,10,.98) 0%,rgba(8,10,12,.88) 52%,rgba(10,10,11,.72) 100%),radial-gradient(ellipse at 74% 38%,rgba(141,37,44,.11),transparent 35%),radial-gradient(ellipse at 20% 85%,rgba(169,138,83,.055),transparent 30%),#080a0c!important;
  border-bottom-color:var(--ab27-line)!important;
}
.character-creator-page .page-header::before{opacity:.18!important;background-size:52px 52px!important}
.character-creator-page .creator-hero-copy .hero-title{font-size:clamp(3rem,6.4vw,6.15rem)!important;color:#f3ece1!important}
.creator-hero-subtitle{color:#b8afa4!important;line-height:1.7!important}
.creator-hero-chip{border-color:rgba(208,178,116,.13)!important;border-radius:7px!important;background:rgba(15,18,21,.66)!important;color:#b9b0a5!important}
.creator-hero-chip i{color:var(--ab27-brass-hi)!important}
.creator-hero-seal{min-height:260px!important}
.creator-hero-seal::before{width:250px!important;height:250px!important;border-color:rgba(208,178,116,.12)!important;box-shadow:inset 0 0 55px rgba(141,37,44,.035),0 0 70px rgba(141,37,44,.035)!important}
.creator-hero-seal::after{width:188px!important;height:188px!important;border-color:rgba(187,66,74,.16)!important}
.creator-seal-card{width:210px!important;padding:1.15rem!important;border-color:rgba(208,178,116,.16)!important;background:linear-gradient(160deg,rgba(19,23,27,.92),rgba(8,10,12,.9))!important;border-radius:9px!important}
.character-creator-page .creator-wrap{width:min(1180px,calc(100% - 2rem))!important;margin:-1.6rem auto 5rem!important}
.creator-forge-shell{border-color:var(--ab27-line)!important;background:linear-gradient(135deg,rgba(17,21,25,.94),rgba(8,10,12,.98))!important;box-shadow:var(--ab27-shadow)!important}
.creator-forge-shell::before{background:linear-gradient(90deg,transparent 2%,rgba(187,66,74,.68) 25%,rgba(208,178,116,.48) 50%,rgba(187,66,74,.62) 75%,transparent 98%)!important}
.creator-forge-bar{padding:1rem 1.2rem!important;border-bottom-color:rgba(233,220,199,.06)!important;background:rgba(8,10,12,.68)!important}
.wizard-progress{padding:.9rem 1.15rem 1rem!important;background:rgba(10,12,14,.62)!important}
.wiz-dot{border-color:rgba(233,220,199,.16)!important;background:#12171c!important;color:#8e8982!important}
.wiz-dot.active,.wiz-dot.done{border-color:rgba(187,66,74,.5)!important;background:rgba(141,37,44,.18)!important;color:#fff!important;box-shadow:0 0 0 4px rgba(141,37,44,.07)!important}
.wiz-line{background:rgba(233,220,199,.09)!important}.wiz-line.done{background:linear-gradient(90deg,var(--ab27-blood-hi),var(--ab27-brass))!important}
.creator-draft-notice{border-color:rgba(105,189,139,.18)!important;background:rgba(105,189,139,.045)!important;border-radius:8px!important}
.creator-world-grid,.living-roster-inner{gap:.85rem!important}
.world-feature-card,.world-arrivals-card,.world-culture-card,.atlas-panel,.living-card{
  border-color:var(--ab27-line)!important;
  border-radius:var(--ab27-r)!important;
  background:linear-gradient(180deg,rgba(17,21,25,.96),rgba(9,11,13,.985))!important;
  box-shadow:var(--ab27-shadow-soft)!important;
}
.living-roster{border-top-color:var(--ab27-line)!important;background:linear-gradient(180deg,rgba(9,11,13,.98),rgba(6,8,10,.995))!important}
.world-stat,.new-arrival,.culture-pulse-row,.atlas-entry{border-color:rgba(233,220,199,.075)!important;background:rgba(255,255,255,.012)!important;border-radius:8px!important}
.atlas-entry:hover,.new-arrival:hover{border-color:rgba(208,178,116,.2)!important;background:rgba(208,178,116,.025)!important}
.featured-portrait,.new-arrival-thumb{border-color:rgba(208,178,116,.12)!important}
.creator-world-heading h2,.living-heading h2,.atlas-heading h2{color:var(--ab27-bone)!important}
.creator-world-heading p,.living-heading p,.culture-pulse-intro,.atlas-heading p{color:var(--ab27-muted)!important}

@media(max-width:900px){
  .character-creator-page .page-header{min-height:auto!important;padding:6.7rem 1.2rem 3.2rem!important}
  .creator-hero-shell{grid-template-columns:1fr!important;gap:1.7rem!important}
  .creator-hero-seal{display:none!important}
  .character-creator-page .creator-wrap{margin:-1rem auto 4rem!important}
}

/* Legacy feature-page normalization ----------------------------------- */
body>.page-header{
  min-height:290px;
  padding:7.25rem clamp(1.25rem,4vw,4rem) 2.8rem;
  display:flex;
  align-items:flex-end;
  border-bottom:1px solid var(--ab27-line);
  background:linear-gradient(180deg,rgba(8,10,12,.96),rgba(8,10,12,.99));
}
body>.page-header .hero-content{width:min(1320px,100%);margin-inline:auto}
body>.page-header .hero-title{font-size:clamp(2.6rem,6vw,5.4rem);margin:.2rem 0 0}
.section-inner{width:min(1320px,calc(100% - clamp(24px,5vw,72px)))!important;max-width:1320px!important}

.ab-home-live{border-block:1px solid rgba(233,220,199,.065)!important;background:#090c0f!important}
.ab-home-live-inner{border-color:var(--ab27-line)!important;background:linear-gradient(180deg,rgba(17,21,25,.94),rgba(10,12,15,.98))!important;box-shadow:var(--ab27-shadow-soft)!important}
.ab-home-live-stat{border-color:rgba(233,220,199,.07)!important}.ab-home-live-stat:hover{background:rgba(208,178,116,.024)!important}
.server-info,.feature-card,.pillar,.trailer-wrapper{
  border-color:var(--ab27-line)!important;
  border-radius:var(--ab27-r)!important;
  background:linear-gradient(180deg,rgba(17,21,25,.96),rgba(9,11,13,.985))!important;
  box-shadow:var(--ab27-shadow-soft)!important;
}
.feature-card:hover,.pillar:hover{border-color:rgba(208,178,116,.2)!important;transform:translateY(-2px)!important}
.info-row{border-bottom-color:rgba(233,220,199,.06)!important}

/* Allowances, Tapestry, Proving Grounds and Jukebox share a tool language. */
.stat-stone,.ledger-controls,.allow-table-wrap,.allow-legend,
.toolbar,.canvas-area,.game-container,.char-select,.diff-screen,
.master-bar,.sound-category,.sound-card,.jukebox-info{
  border-color:var(--ab27-line)!important;
  border-radius:var(--ab27-r)!important;
  background:linear-gradient(180deg,rgba(17,21,25,.97),rgba(9,11,13,.985))!important;
  box-shadow:var(--ab27-shadow-soft)!important;
}
.ledger-controls,.master-bar,.toolbar{backdrop-filter:blur(14px);background:rgba(13,17,20,.94)!important}
.allow-input,.t-input,.char-search,.weapon-select{
  border-color:rgba(233,220,199,.11)!important;
  border-radius:7px!important;
  background:#0a0e11!important;
  color:#eee6da!important;
}
.filter-pill,.t-btn,.z-btn,.master-btn,.preset-btn,.sleep-btn,.weapon-btn,.diff-btn,.play-again-btn{
  border-color:rgba(233,220,199,.11)!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,rgba(25,29,33,.96),rgba(12,15,17,.99))!important;
  color:#c6beb2!important;
}
.filter-pill:hover,.t-btn:hover,.z-btn:hover,.master-btn:hover,.preset-btn:hover,.sleep-btn:hover,.weapon-btn:hover,.diff-btn:hover,.play-again-btn:hover{border-color:rgba(208,178,116,.28)!important;color:#fff!important}
.filter-pill.active,.t-btn.active,.weapon-btn.active,.diff-btn.active{border-color:rgba(187,66,74,.38)!important;background:rgba(141,37,44,.13)!important;color:#fff!important}
.allow-table thead th{background:#101519!important;color:#8f887f!important;border-color:var(--ab27-line)!important}
.allow-table td{border-color:rgba(233,220,199,.055)!important}
.sound-card{transition:transform .16s ease,border-color .16s ease}.sound-card:hover{transform:translateY(-1px);border-color:rgba(208,178,116,.18)!important}

@media(max-width:780px){
  body>.page-header{min-height:230px;padding:6.4rem 1.1rem 2rem}
  body>.page-header .hero-title{font-size:clamp(2.25rem,12vw,3.6rem)}
  .section-inner{width:min(100% - 24px,1320px)!important}
}

/* Homepage clean-install resilience ----------------------------------- */
body.ab-home-no-hero-media .hero-bg{
  background:
    radial-gradient(circle at 76% 48%,rgba(141,37,44,.17),transparent 0 18%,rgba(141,37,44,.04) 32%,transparent 50%),
    radial-gradient(ellipse at 24% 18%,rgba(169,138,83,.08),transparent 34%),
    linear-gradient(115deg,#07090b 0%,#0c1014 55%,#08090b 100%)!important;
}
body.ab-home-no-hero-media .hero-bg::after{
  content:""!important;position:absolute;inset:10% 7% 0 auto;width:min(46vw,720px);height:80%;
  background:url('/logo.png') center/contain no-repeat!important;opacity:.14;filter:grayscale(.2) contrast(1.15);transform:none!important;
}
.ab-home-explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.7rem,1.5vw,1rem);max-width:1120px;margin:0 auto}
.ab-home-explore-card{display:flex;align-items:flex-start;gap:1rem;min-height:148px;padding:1.25rem;border:1px solid var(--ab27-line);border-radius:14px;background:linear-gradient(145deg,rgba(17,21,25,.94),rgba(8,10,12,.98));box-shadow:0 15px 42px rgba(0,0,0,.24);text-decoration:none!important;color:var(--ab27-copy)!important;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.ab-home-explore-card:hover{transform:translateY(-2px);border-color:rgba(208,178,116,.28);background:linear-gradient(145deg,rgba(21,25,29,.98),rgba(10,12,14,.995))}
.ab-home-explore-card>i{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(208,178,116,.15);background:rgba(169,138,83,.04);color:var(--ab27-brass-hi);font-size:1.05rem}
.ab-home-explore-card span{display:grid;gap:.22rem}.ab-home-explore-card small{font:600 .66rem/1.2 "Cinzel",serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ab27-brass)}
.ab-home-explore-card strong{font:650 1.05rem/1.25 "Cinzel",serif;color:var(--ab27-bone)}.ab-home-explore-card em{font:400 .88rem/1.55 "Noto Serif",serif;font-style:normal;color:var(--ab27-muted)}
@media(max-width:720px){.ab-home-explore-grid{grid-template-columns:1fr}.ab-home-explore-card{min-height:0}.ab-home-no-hero-media .hero-bg::after{width:82vw;right:-23%;opacity:.09}}
body.ab-home-no-parallax-1 .parallax-divider-one,
body.ab-home-no-parallax-2 .parallax-divider-two,
body.ab-home-no-parallax-3 .parallax-divider-three{
  background:
    radial-gradient(ellipse at 22% 30%,rgba(141,37,44,.11),transparent 34%),
    radial-gradient(ellipse at 80% 70%,rgba(169,138,83,.055),transparent 30%),
    linear-gradient(120deg,#090b0d,#131014 52%,#080a0c)!important;
}
