/* LA KABANE — correction d'immersion et du puzzle à cases (preview uniquement).
   Placer après finish-da.css : ces règles répondent aux captures Android.
   Les images de fond choisies dans le Studio priment sur le décor SVG historique.
 */
:root{
 --kb-night:#161321;
 --kb-deep:#211a30;
 --kb-panel:#30263e;
 --kb-ink:#f7ecfb;
 --kb-soft:#d9c6df;
 --kb-copper:#f3c38c;
}
html,body{background:var(--kb-night)!important;color:var(--kb-ink)}
body::before,body:before{opacity:var(--kabane-image-opacity,.16)}
main{color:var(--kb-ink);background:transparent}
main>.page-heading :is(h1,h2,h3),main .page-heading :is(h1,h2,h3){
 color:#f7eafb!important;text-shadow:none
}
main>.page-heading :is(p,small),main .page-heading :is(p,small){
 color:#e1cee7!important
}
main .page-heading .eyebrow{color:#f2c78e!important}
main .welcome-line{color:#ddcde0}
main .footer,main .footer a{color:#dcc8de!important}
main .shelf-heading :is(h2,h3){color:#f6e9f8!important}
main .shelf-heading .eyebrow{color:#f2c78e!important}
main .shelf-heading .text-link{color:#f2cef9!important}
main .shelf-heading .text-link:hover{color:white!important}
main .home-grid>.card{border-color:#796388;box-shadow:0 15px 32px #08071055}
main .card.note{
 background:linear-gradient(130deg,#3f2e49,#62485e)!important;
 border-color:#a07c97!important
}
main .card.note :is(.eyebrow,p,small,.signature,.note-mark){
 color:#ffedf5!important;text-shadow:none!important
}
main .card.note .eyebrow{color:#f4d099!important}
main .card.note .signature{color:#f3c791!important}
main .feature-film{
 background:#332b40!important;border-color:#8d739b!important;
 color:#f5eaf8!important
}
main .feature-film :is(h3,p,small){color:#f2e6f5!important}
main .feature-film .pill{color:#e9d4ef!important;background:#533c60!important;border-color:#a381aa}
main .feature-film .text-link{color:#f5c8ff!important}
main .home-destinations .destination-card:not(.destination-row-1 .destination-card){
 background:linear-gradient(135deg,#30243f,#3b2c48);border-color:#8d709a;
 color:#fff1fa
}
main .home-destinations .destination-card:not(.destination-row-1 .destination-card) :is(b,small,span,i){
 color:#f7ebfa
}
main .destination-row-2 .destination-card{background:linear-gradient(135deg,#2e3453,#483452)!important}
main .destination-row-3 .destination-card{background:linear-gradient(135deg,#293e43,#37455a)!important}
main .destination-row-4 .destination-card{background:linear-gradient(135deg,#372f50,#4b344a)!important}
main .home-destinations .destination-card :is(b,small){color:#fff1fc!important}
main .home-bottom .sport-teaser{border-color:#8a799e!important}
main .hero:not(.gta-hero){
 position:relative;isolation:isolate;overflow:hidden;
 min-height:385px;
 background-color:#392c53!important;
 background-image:
   linear-gradient(90deg,rgba(16,12,29,.9) 0%,rgba(26,17,44,.71) 51%,rgba(28,16,46,.29) 100%),
   var(--kabane-desktop,none),
   url('/images/kabane-nocturne.svg')!important;
 background-size:cover,cover,cover!important;
 background-position:center,var(--kabane-position,center),center!important;
 border:1px solid #ad85b4!important;
 box-shadow:0 24px 58px #05040b88!important;
}
main .hero:not(.gta-hero)::after{
 content:'';
 background:linear-gradient(180deg,transparent 52%,rgba(18,13,33,.37))!important;
 pointer-events:none
}
main .hero:not(.gta-hero).has-wallpaper .landscape{display:none!important}
main .hero:not(.gta-hero) .landscape{opacity:.18!important;filter:brightness(.52) sepia(.5) hue-rotate(220deg)}
main .hero:not(.gta-hero) .hero-content{position:relative;z-index:3;max-width:730px}
main .hero:not(.gta-hero) :is(h1,h1 span){
 color:#fff2fd!important;text-shadow:0 3px 16px #100b28cc!important
}
main .hero:not(.gta-hero) h1 span{color:#f9c78c!important}
main .hero:not(.gta-hero) :is(p,.hero-caption){
 color:#f9e4f4!important;text-shadow:0 2px 10px #100b26bb!important
}
main .hero:not(.gta-hero) .hero-kicker{color:#ffd7a5!important}
main .hero:not(.gta-hero) .button{
 background:linear-gradient(110deg,#f2b6d8,#f5c48e)!important;
 color:#2c1b34!important;border:1px solid #ffe4d7!important
}
main .hero:not(.gta-hero) .hero-clock{
 display:inline-flex;align-items:center;gap:10px;
 margin:11px 0 14px;
 padding:9px 14px;border:1px solid #e4b7dc88;border-radius:999px;
 background:#20172e99;color:#fbe2f5;font-variant-numeric:tabular-nums;
 font-size:13px;font-weight:750;letter-spacing:.04em;
 box-shadow:0 3px 15px #10092177
}
main .hero:not(.gta-hero) .hero-clock time{color:#ffd6a2;font-weight:800;font-size:16px}
main .gallery-puzzle-layout{min-width:0}
main .gallery-board.gallery-board-sliding{
 display:grid!important;
 grid-template-columns:repeat(var(--gallery-grid,3),minmax(0,1fr))!important;
 grid-template-rows:repeat(var(--gallery-grid,3),minmax(0,1fr))!important;
 grid-auto-flow:row!important;
 width:min(100%,min(78vw,70vh,620px))!important;
 height:auto!important;
 aspect-ratio:var(--gallery-ratio,1)!important;
 max-width:100%!important;
 padding:5px!important;
 gap:4px!important;
 margin-inline:auto;
 align-content:stretch!important;align-items:stretch!important;
 justify-items:stretch!important;
 background:#182e27!important;
 border:3px solid #80a698!important;
 border-radius:19px!important;
 box-shadow:0 18px 42px #06070c77
}
main .gallery-board.gallery-board-sliding > .gallery-tile{
 box-sizing:border-box!important;display:flex!important;
 width:100%!important;height:100%!important;
 min-width:0!important;min-height:0!important;
 padding:0!important;margin:0!important;
 border:1px solid #d7e9db77!important;
 border-radius:8px!important;
 background-color:#e4ecdd!important;
 background-repeat:no-repeat!important;
 background-origin:border-box;
 background-clip:border-box;
 align-items:center;justify-content:center;
 font-size:22px;font-weight:800;color:#254436;
 touch-action:manipulation;
}
main .gallery-board.gallery-board-sliding > button.gallery-tile:active{filter:brightness(1.12)}
main .gallery-board.gallery-board-sliding > .gallery-tile-blank{
 background:#1b352c!important;border:2px dashed #a7c4a6!important;
}
main .gallery-image-missing{
 background:#4c3530;color:#ffe0c7;border:1px solid #dda878;
 padding:15px 18px;border-radius:14px;line-height:1.65
}
main .souvenir-puzzle .gallery-puzzle-help{background:#332942;color:#f9e7fc}
main .souvenir-puzzle .gallery-puzzle-help :is(h2,p,.eyebrow){color:#f4e5f7!important}
main .souvenir-puzzle .gallery-puzzle-help .eyebrow{color:#f2c893!important}
main .gallery-sync-pending{color:#304235!important}
@media(max-width:650px){
 body::before,body:before{background-image:var(--kabane-mobile,var(--kabane-desktop,none))}
 main .hero:not(.gta-hero){
  background-image:linear-gradient(90deg,rgba(16,11,28,.87),rgba(26,16,43,.63) 65%,rgba(30,17,48,.34)),
    var(--kabane-mobile,var(--kabane-desktop,none)),
    url('/images/kabane-nocturne.svg')!important;
  background-position:center,var(--kabane-position,center)!important;
  min-height:410px
 }
 main .hero:not(.gta-hero) .hero-content{padding:27px 23px;min-height:385px}
 main .hero:not(.gta-hero) h1{font-size:clamp(34px,8.3vw,46px);line-height:1.1}
 main .gallery-board.gallery-board-sliding{
  width:min(100%,calc(100vw - 42px))!important;
  gap:3px!important;padding:4px!important;border-width:3px!important
 }
 main .gallery-board.gallery-board-sliding>.gallery-tile{border-radius:6px!important}
}
@media(prefers-reduced-motion:reduce){
 main .gallery-board.gallery-board-sliding>.gallery-tile{transition:none}
}

/* Cases : une image réelle découpée, un numéro discret et un échec explicite. */
main .gallery-board.gallery-board-sliding>.gallery-tile{position:relative!important;overflow:hidden!important}
main .gallery-board.gallery-board-sliding .gallery-tile-number{
 position:absolute;top:5px;right:5px;
 display:flex;align-items:center;justify-content:center;
 min-width:21px;height:21px;padding:1px 5px;border-radius:7px;
 font-size:11px;line-height:1;font-weight:800;
 background:rgba(20,36,32,.72);color:#fff5e7;
 border:1px solid rgba(255,255,255,.3);pointer-events:none;
 text-shadow:0 1px 3px #0009
}
/* The photo elements ARE the puzzle pieces. Never hide them as a probe:
   a former 1px!important probe rule affected every .gallery-slide-photo. */
main .gallery-board.gallery-board-sliding .gallery-slide-image-probe:not(.gallery-slide-photo){
 position:absolute!important;width:1px!important;height:1px!important;
 inset:0 auto auto 0;opacity:0!important;pointer-events:none!important;
}
main .gallery-board.gallery-board-sliding.gallery-image-unavailable>.gallery-tile{
 background-image:none!important;background-color:#dce7d7!important
}
main .gallery-board.gallery-board-sliding.gallery-image-unavailable .gallery-tile-number{
 position:static;min-width:34px;height:34px;
 border-radius:50%;font-size:18px;background:#285344;color:#fff
}
@media(max-width:650px){
 main .gallery-board.gallery-board-sliding .gallery-tile-number{
  top:3px;right:3px;font-size:10px;min-width:18px;height:18px;
 }
}

/* The original illustration stays visible even if a Studio CSS variable is set
   to none; actual user-selected wallpaper is layered above it. */
main .hero:not(.gta-hero){background-blend-mode:normal!important}
main .gallery-board.gallery-board-sliding>.gallery-tile .gallery-slide-photo{
 position:absolute!important;display:block!important;max-width:none!important;
 max-height:none!important;min-width:0!important;min-height:0!important;
 border:0!important;margin:0!important;padding:0!important;
 object-fit:fill!important;pointer-events:none!important;user-select:none!important;
 z-index:0!important;
}
main .gallery-board.gallery-board-sliding>.gallery-tile .gallery-tile-number{
 z-index:1!important
}
main .gallery-board.gallery-board-sliding.gallery-image-unavailable .gallery-slide-photo{
 display:none!important
}
/* Mobile "Plus" navigation must never inherit nearly white text on ivory. */
#more-menu{
 background:#292036!important;border:1px solid #947caa!important;
 color:#f7eafc!important;box-shadow:0 18px 60px #06030fa6!important;
 max-height:min(76dvh,690px);overflow-y:auto;overscroll-behavior:contain
}
#more-menu a,#more-menu a:visited{
 color:#f8ebfa!important;border-color:#5e4a71!important;
 font-size:15px;font-weight:650
}
#more-menu a:hover,#more-menu a:focus-visible{
 background:#483557!important;color:#fff!important
}
#more-menu a:last-child{border-bottom:0}
main .suggestion-card:where(:not(.card)) p,
main .feature-film:where(:not(.card)) p{color:#f4e4ef}
main .film-discovery-card,
main .random-film-card{color:#32293c}
main .random-film-card :is(p,small),
main .film-discovery-card :is(p,small){color:#493e47}

/* Hero photo is an actual image element: prevents CSS fallback layers from
   silently hiding the chosen wallpaper and preserves full-bleed cropping. */
main .hero:not(.gta-hero)>.kabane-home-hero-image{
 display:block!important;position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;max-width:none!important;
 object-fit:cover!important;object-position:var(--kabane-position,50% 50%)!important;
 opacity:1!important;pointer-events:none;user-select:none;
 z-index:0!important;
}
main .hero:not(.gta-hero)>.kabane-home-hero-image[hidden]{display:none!important}
main .hero:not(.gta-hero)>.landscape{display:none!important}
main .hero:not(.gta-hero)::after{
 background:linear-gradient(90deg,rgba(18,12,33,.74) 0%,rgba(20,13,34,.45) 54%,rgba(24,16,40,.15) 100%)!important;
 z-index:1!important
}
main .hero:not(.gta-hero)>.hero-content{z-index:2!important}
main .hero:not(.gta-hero)>.hero-caption{position:relative;z-index:2}
@media(max-width:650px){
 main .hero:not(.gta-hero)::after{
  background:linear-gradient(90deg,rgba(18,12,33,.78) 0%,rgba(20,13,34,.45) 70%,rgba(24,16,40,.18) 100%)!important
 }
}

/* Contraste observé dans Films & séries sur les captures Android. */
main .film-recommendation-panel{
 background:#f1e3cb!important;border-color:#b08b68!important;color:#33291f!important
}
main .film-recommendation-panel :is(h2,h3,p,small,span){
 color:#33291f!important;text-shadow:none!important
}
main .film-recommendation-panel>.button{
 background:#703a5a!important;color:#fff4f7!important;
 border-color:#9c6484!important;font-weight:750
}
main .catalogue-attribution{color:#e3c8ab!important;opacity:1!important}
main .catalogue-attribution a{color:#efcfaa!important;text-decoration:underline}
main .catalogue-search{color:#f8ebf8}
main .catalogue-search :is(label,small){color:#eeddef!important}
main .catalogue-search :is(input,select){
 background:#fff9f2!important;color:#2a3029!important;border:1px solid #ad8f79!important
}
main .catalogue-search input::placeholder{color:#665468!important;opacity:1}
main .discovery-card{background:#32283d!important;color:#f6e9f7!important;border-color:#80698f!important}
main .discovery-card :is(h2,h3,p,small){color:#f4e8f7!important}
main .film-recommendation-panel .notice{color:#32281f!important}

/* Critiques & popularité: useful even with an empty private film library. */
main .film-critics-page .page-heading p{color:#e9d8ee!important}
main .film-critics-search,main .film-popularity-panel{
 background:linear-gradient(130deg,#30263d,#3d2e47);
 color:#f9ebfa;border:1px solid #9e80a7;
 border-radius:22px;padding:clamp(20px,4vw,32px);
 margin:22px 0;box-shadow:0 16px 32px #0c061b4d
}
main .film-critics-search :is(h2,h3,p),main .film-popularity-panel :is(h2,h3,p){
 color:#faecfa!important
}
main .film-critics-search .eyebrow,main .film-popularity-panel .eyebrow{
 color:#ffd39d!important;font-weight:800
}
main .film-critic-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) auto;gap:12px;align-items:end;margin:18px 0 6px}
main .film-critic-form label{display:grid;gap:8px;color:#fff1fb;font-weight:700;font-size:14px}
main .film-critic-form input{
 width:100%;min-width:0;min-height:49px;
 background:#fffaf3!important;color:#28392e!important;
 border:1px solid #a99a9c;border-radius:12px;padding:12px 14px
}
main .film-critic-form input::placeholder{color:#6e6471;opacity:1}
main .film-critic-form .button{min-height:49px;color:#2c2038;background:#f2bddc;border:1px solid #f6d8f1}
main .film-critic-results{
 margin-top:20px;padding-top:20px;border-top:1px solid #997da4
}
main .film-critic-results .film-critic-links{
 background:#241b30;border-radius:16px;padding:18px;
}
main .film-critic-links :is(h2,h3,p){color:#f7ebf9!important}
main .film-critic-links nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
main .film-critic-links nav a{
 display:grid;gap:3px;padding:13px 15px;border-radius:12px;
 color:#2b2532!important;background:#f6e9f3;border:1px solid #c3a7ca;
 text-decoration:none;min-height:64px
}
main .film-critic-links nav a :is(b,small){color:#34283c!important}
main .film-critic-links nav a:hover{background:#fff8fa;border-color:#d0a9d5}
main .film-popularity-grid{display:grid;gap:10px}
main .film-popularity-item{
 display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;
 align-items:center;padding:14px 17px;border:1px solid #876d93;
 border-radius:13px;background:#211a30
}
main .film-popularity-item button{
 background:none;border:0;text-align:left;color:#fff1fa;
 padding:0;min-height:38px;font-weight:750
}
main .film-popularity-item button :is(b,span){display:block;color:#fff1fa}
main .film-popularity-item strong{color:#ffd29d;font-size:18px}
main .film-popularity-item small{grid-column:2;color:#dcc7e0}
main .film-critics-list .film-critics-row{border-color:#907497;background:#30273e;color:#faecfa}
main .film-critics-list .film-critics-row :is(h2,p,blockquote){color:#f6e7fa}
main .film-critics-list .film-critics-row .pill{color:#3a283f;background:#f4d9e9}
@media(max-width:640px){
 main .film-critic-form{grid-template-columns:1fr;align-items:stretch}
 main .film-critic-form .button{width:100%}
 main .film-critic-links nav{grid-template-columns:1fr}
 main .film-popularity-item{padding:12px}
}

/* Independent official popularity lists when TMDB is not connected. */
main .film-popularity-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 24px}
main .film-popularity-sources a{display:grid;gap:6px;min-height:94px;padding:15px 14px;border-radius:14px;background:#e9d9e8;color:#2d2436;border:1px solid #b899c0;text-decoration:none}
main .film-popularity-sources a :is(b,small){color:#2d2436!important}
main .film-popularity-sources a small{font-size:12px;line-height:1.45}
main .film-popularity-sources a:hover{background:#fff0f8;border-color:#d1a9d6}
@media(max-width:720px){main .film-popularity-sources{grid-template-columns:1fr}main .film-popularity-sources a{min-height:66px}}

/* WOW FOREVER — mobile screenshot fix, 12 November 2026.
   Earlier design-system rules painted cards ivory while later global
   overrides painted text near-white. Use one consistent dark fantasy
   surface for both text and backgrounds, scoped to the WoW route only. */
body:has(.wow-banner) main{
 --wow-paper:#f4e8d5;
 --wow-amber:#f5d292;
 --wow-muted:#d9c9dc;
 --wow-border:#a28b6e;
 --wow-ink:#221a29;
}
body:has(.wow-banner) main .wow-detail-view>.upcoming>h2,
body:has(.wow-banner) main .wow-detail-view .section-top h2,
body:has(.wow-banner) main .wow-detail-view>section>h2{
 color:#f7e6c9!important;
}
body:has(.wow-banner) main .wow-map-card,
body:has(.wow-banner) main .wow-main-entry,
body:has(.wow-banner) main .wow-roadmap,
body:has(.wow-banner) main .wow-detail-view .guide-card{
 color:#f4e8d5!important;
 background:linear-gradient(145deg,#32273a 0%,#292333 58%,#382c32 100%)!important;
 border:1px solid #a58d73!important;
 border-top:3px solid #d9b477!important;
 border-radius:19px!important;
 box-shadow:0 13px 32px #110b18a6!important;
}
body:has(.wow-banner) main .wow-map-card :is(h2,h3,b,strong),
body:has(.wow-banner) main .wow-main-entry :is(b,strong),
body:has(.wow-banner) main .wow-roadmap :is(h2,h3,b,strong),
body:has(.wow-banner) main .wow-detail-view .guide-card :is(h2,h3,b,strong){
 color:#fff2da!important;text-shadow:none!important
}
body:has(.wow-banner) main .wow-map-card :is(p,small,span),
body:has(.wow-banner) main .wow-main-entry small,
body:has(.wow-banner) main .wow-roadmap :is(p,small,span),
body:has(.wow-banner) main .wow-detail-view .guide-card :is(p,small,span){
 color:#e9d8e9!important;text-shadow:none!important
}
body:has(.wow-banner) main .wow-map-card .pill,
body:has(.wow-banner) main .wow-roadmap .pill{
 background:#51415b!important;color:#ffdf9f!important;
 border:1px solid #a78c96!important;
}
body:has(.wow-banner) main .wow-map-card::before{
 color:#d4b078!important;opacity:.62
}
body:has(.wow-banner) main .wow-map-card .text-link,
body:has(.wow-banner) main .wow-map-card a,
body:has(.wow-banner) main .wow-roadmap a,
body:has(.wow-banner) main .wow-detail-view .guide-card a{
 color:#ffd99b!important;text-decoration:underline;text-underline-offset:3px
}
body:has(.wow-banner) main .wow-map-card :is(a,button):focus-visible,
body:has(.wow-banner) main .wow-roadmap :is(a,button,summary):focus-visible{
 outline:3px solid #ffddaa!important;outline-offset:3px
}
body:has(.wow-banner) main .wow-main-entry>span:first-child,
body:has(.wow-banner) main .wow-main-entry>span:last-child{
 color:#f9d596!important
}
body:has(.wow-banner) main .wow-banner{
 color:#fff1d9!important;
 background:linear-gradient(125deg,#282134,#59404e 55%,#775d50)!important;
 border:1px solid #af8b6b!important;box-shadow:0 16px 35px #0e0a1988!important
}
body:has(.wow-banner) main .wow-banner :is(h2,p,a){color:#fff0dc!important}
body:has(.wow-banner) main .wow-banner>span{color:#f7d39c!important}
body:has(.wow-banner) main .wow-detail-view .wow-instance-details{
 border-top:1px solid #9b8a98!important;color:#eee0e9!important
}
body:has(.wow-banner) main .wow-detail-view .wow-instance-details summary{
 color:#ffdfaa!important;cursor:pointer
}
body:has(.wow-banner) main .wow-roadmap-character>summary,
body:has(.wow-banner) main .wow-roadmap-character>summary span,
body:has(.wow-banner) main .wow-roadmap-check>span{
 color:#fae7cf!important
}
body:has(.wow-banner) main .wow-roadmap-body fieldset{
 border-color:#a38c88!important;color:#f0e0e9!important
}
body:has(.wow-banner) main .wow-roadmap-body legend{color:#f9dba6!important}
body:has(.wow-banner) main .wow-character{border-color:#9b8493!important}
body:has(.wow-banner) main .wow-character :is(b,p,small,span){color:#f4e6ed!important}
body:has(.wow-banner) main .wow-detail-view input:not([type=checkbox]),
body:has(.wow-banner) main .wow-detail-view select,
body:has(.wow-banner) main .wow-detail-view textarea{
 background:#fff8ec!important;color:#25382b!important;
 border:1px solid #a38866!important
}
body:has(.wow-banner) main .wow-detail-view :is(input,textarea)::placeholder{
 color:#635869!important;opacity:1
}
body:has(.wow-banner) main .wow-detail-view label{color:#f7e6ce!important}
body:has(.wow-banner) main .wow-detail-view .button{
 background:#eed3a0!important;color:#292137!important;border-color:#c6a56b!important
}
body:has(.wow-banner) main .wow-sub-navigation .text-button{
 color:#ffdbab!important
}
@media(max-width:650px){
 body:has(.wow-banner) main .wow-map-card{padding:19px!important;gap:11px!important}
 body:has(.wow-banner) main .wow-map-card h3{
  font-size:clamp(20px,5vw,26px)!important;line-height:1.25!important;
 }
 body:has(.wow-banner) main .wow-map-card p{
  font-size:clamp(14px,3.5vw,17px)!important;line-height:1.65!important
 }
 body:has(.wow-banner) main .wow-main-entry small{
  font-size:13px!important;line-height:1.4!important
 }
}

/* Covers every other WoW card as well: news, economy and editable journals. */
body:has(.wow-banner) main .card{
 background:linear-gradient(145deg,#32273a,#292333)!important;
 border-color:#a58d73!important;color:#f4e8d5!important
}
body:has(.wow-banner) main .card :is(h2,h3,h4,b,strong){
 color:#fff2da!important
}
body:has(.wow-banner) main .card :is(p,small,.muted){
 color:#e9d8e9!important
}
body:has(.wow-banner) main .card :is(a.text-link,.text-button){
 color:#ffd99b!important
}
body:has(.wow-banner) main .card .eyebrow{
 color:#ffd99b!important
}
body:has(.wow-banner) main .card :is(input:not([type=checkbox]),textarea,select){
 background:#fff7eb!important;color:#243b2d!important;
 border:1px solid #b69a7a!important
}
body:has(.wow-banner) main .card :is(input,textarea)::placeholder{color:#6c5d65!important;opacity:1}
body:has(.wow-banner) main .card label{color:#f4e7d7!important}
body:has(.wow-banner) main .card .pill{
 background:#55405f!important;color:#ffe3a8!important;
 border-color:#a58d73!important
}

/* Complete the WoW Forever personal questbook: readable on mobile and no forced goals. */
body:has(.wow-banner) main .wow-character-overview{
 padding:clamp(19px,3vw,32px);margin:20px 0 30px;
 background:linear-gradient(130deg,#30263d,#342b3e 60%,#3d333d)!important;
 border:1px solid #aa9173;border-radius:22px;
 color:#f7eadf;box-shadow:0 15px 32px #08051166
}
body:has(.wow-banner) main .wow-character-overview :is(h2,h3,p,b,strong){
 color:#f9ebdf!important
}
body:has(.wow-banner) main .wow-character-overview .eyebrow{
 color:#fbd392!important;font-weight:800
}
body:has(.wow-banner) main .wow-characters-overview-grid{
 display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;
 margin:20px 0
}
body:has(.wow-banner) main .wow-character-preview{
 min-width:0;border:1px solid #947d82;border-radius:17px;padding:18px;
 background:#201b2c
}
body:has(.wow-banner) main .wow-character-preview h3{
 color:#ffe3ae!important;font-size:22px;margin:8px 0
}
body:has(.wow-banner) main .wow-character-preview small{
 color:#e6d5de!important;line-height:1.6
}
body:has(.wow-banner) main .wow-character-overview .button.secondary{
 background:#f5d5a1!important;color:#2c2336!important;
 border-color:#ac906a!important;min-height:48px
}
body:has(.wow-banner) main .wow-no-character{
 padding:16px;border-radius:13px;background:#251d31;color:#f4e7f5!important
}
body:has(.wow-banner) main .wow-character-progress-form{
 display:grid;gap:14px;margin:20px 0;padding:18px;
 background:#231d30;border:1px solid #927992;border-radius:16px
}
body:has(.wow-banner) main .wow-character-progress-form :is(h3,p,label){
 color:#f8e9f2!important
}
body:has(.wow-banner) main .wow-character-progress-form h3{
 font:700 22px Georgia,serif;margin:0
}
body:has(.wow-banner) main .wow-character-progress-form textarea{
 min-height:90px;resize:vertical
}
body:has(.wow-banner) main .wow-next-session{
 color:#f7d9a8!important;font-weight:650
}
body:has(.wow-banner) main .wow-secret-details{
 border:1px solid #9b8194;border-radius:12px;
 padding:10px 14px;background:#221b2c;margin:14px 0 0
}
body:has(.wow-banner) main .wow-secret-details summary{
 min-height:44px;display:flex;align-items:center;
 color:#f8d8a6!important;cursor:pointer;font-weight:750
}
body:has(.wow-banner) main .wow-secret-details p{color:#f8e9f2!important;line-height:1.6}
body:has(.wow-banner) main .wow-personal-bosses{
 border-color:#a68c79!important;padding:14px
}
body:has(.wow-banner) main .wow-personal-bosses .wow-roadmap-check{
 min-height:42px
}
body:has(.wow-banner) main .wow-roadmap-check>span{
 overflow-wrap:anywhere
}
@media(max-width:650px){
 body:has(.wow-banner) main .wow-characters-overview-grid{grid-template-columns:1fr}
 body:has(.wow-banner) main .wow-character-progress-form{padding:14px}
 body:has(.wow-banner) main .wow-secret-details{padding:8px 11px}
}
/* Sliding images use the actual tile rectangle to calculate their crop.
   The former 1-pixel image-probe rule may never target real photos. */
main .gallery-board.gallery-board-sliding{
 grid-auto-flow:row!important;grid-auto-rows:minmax(0,1fr)!important
}
main .gallery-board.gallery-board-sliding>.gallery-tile{
 align-self:stretch!important;justify-self:stretch!important;
 box-sizing:border-box!important
}
main .gallery-board.gallery-board-sliding>.gallery-tile .gallery-slide-photo{
 visibility:visible!important;opacity:1!important;display:block!important;
 background:none!important
}

/* Dungeon-specific loot records, editable without an external WoW account. */
body:has(.wow-banner) main .wow-personal-loot{
 border:1px solid #a78f7e!important;border-radius:15px;
 padding:clamp(13px,2vw,19px);min-width:0
}
body:has(.wow-banner) main .wow-personal-loot legend{
 color:#f9d9a6!important;font-weight:800;padding-inline:6px
}
body:has(.wow-banner) main .wow-instance-loot-form{
 display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(115px,.8fr);
 gap:11px;align-items:end
}
body:has(.wow-banner) main .wow-instance-loot-form label{
 display:grid;gap:6px;min-width:0;color:#f8e8f3!important
}
body:has(.wow-banner) main .wow-instance-loot-form :is(input,select){
 min-height:44px;width:100%;min-width:0;
 padding:10px 12px;border-radius:10px;
 background:#fff9ed!important;color:#2d2b34!important;
 border:1px solid #a8937c!important
}
body:has(.wow-banner) main .wow-instance-loot-form button{
 grid-column:1/-1;justify-self:start;min-height:45px
}
body:has(.wow-banner) main .wow-personal-loot-list{
 margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px
}
body:has(.wow-banner) main .wow-personal-loot-list li{
 display:flex;align-items:center;gap:10px;
 padding:12px;border:1px solid #837385;border-radius:13px;background:#24202e;
 color:#f9e8f4
}
body:has(.wow-banner) main .wow-personal-loot-list li>div{
 flex:1;min-width:0;display:grid;gap:4px
}
body:has(.wow-banner) main .wow-personal-loot-list :is(b,small){
 overflow-wrap:anywhere;color:#f9e8f4!important
}
body:has(.wow-banner) main .wow-personal-loot-list small{font-size:12px}
body:has(.wow-banner) main .wow-personal-loot-list .icon-button{
 min-width:44px;min-height:44px;background:#594158!important;
 color:#ffe3e7!important;border:1px solid #a47f95!important
}
@media(max-width:760px){
 body:has(.wow-banner) main .wow-instance-loot-form{grid-template-columns:1fr}
 body:has(.wow-banner) main .wow-instance-loot-form button{width:100%}
}
