/* Contrast-only final layer. No global black-on-dark rule. Gold actions use black;
   explicit dark/light secondary surfaces keep their matching text colours. */
.nav{background:rgba(10,13,18,.94)}
.btn:not(.ghost):not(.glass):not(.dark):not(.dk2):not(.wa),.ppbtn:not(.alt),.btcopy,
.frc-p .frc-f button,.frc-p .frc-t button,.frc-p .frc-m .act a:not(.alt){
 color:#000!important;background:#e9b44c!important;border:1.5px solid #65521f;
}
.btn:not(.ghost):not(.glass):not(.dark):not(.dk2):not(.wa):hover,
.btn:not(.ghost):not(.glass):not(.dark):not(.dk2):not(.wa):active,
.ppbtn:not(.alt):hover,.btcopy:hover,.frc-p .frc-f button:hover,.frc-p .frc-t button:hover{
 color:#000!important;background:#f6d58e!important;
}
/* Higher specificity/important also beats mobile .menu>a and generic nav hover. */
.nav .menu a.btn:not(.ghost):not(.glass):not(.dark):not(.dk2):not(.wa){color:#000!important}
.btn.dark:hover,.pbtns .btn.dk2:hover{background:#121820;color:#fff}
.btn.dk2:hover{background:#f7f2e8;color:#0a0d12}
.btn.ghost,.btn.glass{background:#0a0d12!important;color:#fff!important;border:1.5px solid #aab6c2;box-shadow:none}
:is(.sec.cream,.cmpsec,.tier,.wall,.pbtns) .btn.ghost,.btn.dark-ghost{
 background:#fffdf8!important;color:#18202a!important;border-color:#56616c;
}
.dsec .btn.ghost{background:#0a0d12!important;color:#fff!important;border-color:#aab6c2}
.btn.ghost:hover,.btn.glass:hover{background:#18202a!important;color:#fff!important}
:is(.sec.cream,.cmpsec,.tier,.wall,.pbtns) .btn.ghost:hover,.btn.dark-ghost:hover{
 background:#f7f2e8!important;color:#18202a!important;
}
.frc-p .frc-q button,.frc-p .frc-m .act a.alt{background:#161d26;color:#f6d58e;border:1.5px solid #b88b38}
.frc-p .frc-q button:hover{background:#263244;color:#f6d58e}
/* Deterministic icon backplates avoid unreadable white icons on bright posters. */
.play span,.wth .pl,.vposter .pl{background:#0a0d12!important;color:#fff!important;border:2px solid #fff}
.play span svg,.wth .pl svg,.vposter .pl svg{color:#fff!important}
.play:hover span,.wth:hover .pl,.vposter:hover .pl{background:#e9b44c!important;color:#000!important;border-color:#000}
.play:hover span svg,.wth:hover .pl svg,.vposter:hover .pl svg{color:#000!important}
.wth .chip,.vposter .vl{background:#0a0d12;color:#fff}
.burger{background:#18202a;border:1.5px solid #aab6c2}.burger i{background:#fff}
.frc-b{border:2px solid #65521f}
/* Field boundaries remain visible on both dark and light surrounds. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea,
.frc-p input,.frc-p select{background:#0a0d12;color:#e9edf1;border-color:#7c8999!important}
input::placeholder,textarea::placeholder{color:#aab6c2;opacity:1}
input[type=checkbox],input[type=radio]{accent-color:#65521f}
/* Both rings are3px and21:1 to each other. At least one contrasts with any surface. */
:is(a,button,input,select,textarea,summary,[role=button],[role=tab],[tabindex]):focus-visible{
 outline:3px solid #fff!important;outline-offset:3px!important;box-shadow:0 0 0 3px #000!important;
}
/* Currency tabs occur on dark and cream pages; give this one component its own surface. */
.cur{background:#fffdf8!important;border:1px solid #56616c}.cur button{color:#56616c}.cur button.on{background:#18202a;color:#fff}
.btx summary{background:#0a0d12!important;color:#f6d58e!important}
.tier:not(.hot) .more{color:#75520c}
.sec.cream > .wrap > .fine a{color:#56616c}
.ppbtn.alt{background:#0a0d12;color:#f6d58e;border:1.5px solid #b88b38}
.ppbtn.alt:hover{background:#18202a;color:#f6d58e}
.seg button,.rate button,.ctabs button,.sfilters button,.opt{border:1.5px solid #7c8999}

.regf select option,select option{background:#0a0d12;color:#e9edf1}
.sfilters button span{opacity:1}
.cttl small,.cmeta{color:#b7c0d0}
.seg button,.rate button,.ctabs button,.sfilters button,.opt{border-color:#7c8999!important}
/* Registration's body-local option rule must not reintroduce dark text on the dark popup. */
.regf select option,select option{background:#0a0d12!important;color:#e9edf1!important}
.dfile:not(.on){background:#f7f2e8;color:#18202a}.dfile:not(.on):hover{background:#ece6d8;color:#18202a}
/* Keep native checkbox/radio semantics; visible outline survives native border rendering. */
input[type=checkbox],input[type=radio]{border:2px solid #7c8999!important;outline:1px solid #7c8999;outline-offset:1px}
input[type=radio]{border-radius:50%}
