/* M1-MAFIA / IVORY & NOIR — reversible information-page theme.
   Scoped to allow the homepage, hidden-role dossiers, host cockpit,
   masks, Live Game and admin security views to keep their approved design. */
body.m1-ivory-trial{
 --m1-light-bg:#f6f2eb; --m1-light-bg-alt:#fffdfa; --m1-light-ink:#27231f;
 --m1-light-muted:#665e53; --m1-light-line:#d9cebe; --m1-light-gold:#a47c4a;
}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main){
 color:var(--m1-light-ink);
 background:radial-gradient(ellipse at 84% 0%,rgba(197,164,114,.19),transparent 45%),radial-gradient(ellipse at 6% 82%,rgba(209,202,187,.19),transparent 49%),linear-gradient(160deg,#faf8f3,#f2eee6 56%,#fbf9f4);
}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main)::before{
 background-image:linear-gradient(90deg,rgba(112,91,63,.045) 1px,transparent 1px);
}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .roles-heading-fa,
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .roles-heading-en{
 color:#2c2721;text-shadow:none;
}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) :is(.roles-heading-fa,.roles-heading-en)::after{
 background:linear-gradient(90deg,transparent,#b18b58,transparent);box-shadow:none;
}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) :is(.services-intro-desc,.page-desc,.m1-shop-results-note){color:var(--m1-light-muted)}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .panel{
 background:linear-gradient(145deg,rgba(255,254,251,.97),rgba(247,242,234,.96));
 border-color:#dfd3c3;box-shadow:0 11px 27px rgba(80,64,43,.07);border-radius:9px;
}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .panel h3{color:#34302a}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .panel p{color:#61584c}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .card-symbol{background:#f1e8db;color:#8f693b;border-color:#c9b08d}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .small-label{color:#755b3e;border-color:#d1c1aa}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) :is(input[type="search"],input[type="text"],input[type="number"],select,textarea):not([type="checkbox"]){
 background:#fffdfa;color:#2a2824;border-color:#cfc1ae;border-radius:7px;box-shadow:0 3px 14px rgba(65,52,32,.032);
}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) :is(input,textarea)::placeholder{color:#817667}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) :is(input,select,textarea):focus-visible{outline:2px solid #b99769;outline-offset:1px}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .chip:not(.is-active){background:#fffdf9;color:#51473c;border-color:#d0c0ac}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) .chip.is-active{background:#302a24;color:#fff3de;border-color:#a98658}
body.m1-ivory-trial .inner-main:is(.m1-scenarios-main,.m1-shop-main,.m1-cafes-main,.services-main) :is(.empty-note,.m1-scenario-no-profiles){color:#6a5e4f;border-color:#cdbb9f}
/* Scenarios: keep photographic banners cinematic; lighten adjacent controls and explanatory panels. */
body.m1-ivory-trial .m1-scenarios-main .m1-scenario-search-line .search-field{background:#fffdfa;color:#2b2621;border-color:#cabbab;border-radius:8px;min-height:51px}
body.m1-ivory-trial .m1-scenarios-main .m1-scenario-banner{border-color:#c1a27d;border-radius:10px;box-shadow:0 12px 28px rgba(66,49,31,.13)}
body.m1-ivory-trial .m1-scenarios-main :is(.m1-scenario-section-head h2,.m1-scenario-summary-main h2,.m1-scenario-quick-stats strong){color:#332b23}
body.m1-ivory-trial .m1-scenarios-main :is(.m1-scenario-back,.m1-scenario-role-rule-button){color:#705234}
body.m1-ivory-trial .m1-scenarios-main :is(.m1-scenario-summary,.m1-scenario-general-rule,.m1-scenario-compositions,.m1-scenario-role-info,.m1-scenario-quick-stats){background:#fffdfa;border-color:#ddceba;color:#443a2e;border-radius:8px}
body.m1-ivory-trial .m1-scenarios-main :is(.m1-scenario-general-rule,.m1-scenario-role-info,.m1-scenario-quick-stats) :is(h3,h4,p,span,strong){color:inherit}
body.m1-ivory-trial .m1-scenarios-main :is(.m1-scenario-role-card,.m1-scenario-ability){border-color:#d4c3ac}
/* Shop: editorial ivory cards with a noir luxury hero. Keep overlays/cart modals dark. */
body.m1-ivory-trial .m1-shop-main .m1-shop-hero{border-color:#b9986f;border-radius:12px;box-shadow:0 18px 38px rgba(74,58,41,.17)}
body.m1-ivory-trial .m1-shop-main .m1-shop-section-heading{border-color:#d3c3ad}
body.m1-ivory-trial .m1-shop-main .m1-shop-section-heading h2{color:#312a24}
body.m1-ivory-trial .m1-shop-main .m1-shop-section-heading small{color:#8a6c45}
body.m1-ivory-trial .m1-shop-main .m1-shop-product-card{background:#fffdfa;border:1px solid #d8cbb9;border-radius:10px;box-shadow:0 6px 17px rgba(61,45,24,.045);overflow:hidden}
body.m1-ivory-trial .m1-shop-main .m1-shop-product-card:hover{border-color:#ba9668;box-shadow:0 16px 30px rgba(61,45,24,.12)}
body.m1-ivory-trial .m1-shop-main .m1-shop-card-info h3{color:#322a23}
body.m1-ivory-trial .m1-shop-main .m1-shop-card-info p{color:#6f6253}
body.m1-ivory-trial .m1-shop-main .m1-shop-card-info>small{color:#866e51}
body.m1-ivory-trial .m1-shop-main .m1-shop-card-bottom{border-color:#e1d7c9}
body.m1-ivory-trial .m1-shop-main .m1-shop-card-bottom strong{color:#845a30}
body.m1-ivory-trial .m1-shop-main .m1-shop-card-bottom a{color:#725436}
body.m1-ivory-trial .m1-shop-main .m1-shop-filter-chip{background:#fffdfa;border-color:#cfbeaa;color:#554a3e;border-radius:7px}
body.m1-ivory-trial .m1-shop-main .m1-shop-filter-chip:is(.is-active,:hover){background:#302922;color:#fff1dc;border-color:#b38d61}
body.m1-ivory-trial .m1-shop-main .m1-shop-cart-trigger{background:#292723;color:#f6debd;border-radius:7px}
body.m1-ivory-trial .m1-shop-main :is(.m1-shop-detail-copy h1,.m1-shop-detail-price,.m1-shop-related-data h2){color:#392b1e}
body.m1-ivory-trial .m1-shop-main :is(.m1-shop-detail-copy p,.m1-shop-detail-intro,.m1-shop-description p){color:#62594f}
body.m1-ivory-trial .m1-shop-main :is(.m1-shop-detail-main,.m1-shop-image-tile){border-color:#ccb999;border-radius:9px}
/* Cafes: visible search and readable cards, preserve image banners and dark hero. */
body.m1-ivory-trial .m1-cafes-main .m1-cafe-lead{border-color:#c0a27e;border-radius:12px;box-shadow:0 18px 36px rgba(65,48,29,.14)}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-toolbar :is(button,span){color:#5c4c3b}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-switch button,
body.m1-ivory-trial .m1-cafes-main .m1-cafe-quick button{background:#fffdfa;border-color:#cbbba5;color:#3e342a;border-radius:6px}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-switch button.is-active{background:#302821;border-color:#a47b4a;color:#fff4e5}
body.m1-ivory-trial .m1-cafes-main :is(.m1-cafe-empty,.m1-cafe-map-placeholder,.m1-cafe-map-empty){background:#fffdfa;border-color:#d7c5ad;color:#5e5142;border-radius:9px}
body.m1-ivory-trial .m1-cafes-main :is(.m1-cafe-empty,.m1-cafe-map-placeholder,.m1-cafe-map-empty) :is(h3,strong){color:#29241e}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-banner{border:1px solid #c5a780;border-radius:9px;overflow:hidden}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-summary :is(h3,p){color:#3b332b}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-session{background:#fffdf9;border-color:#d3c1a8;border-radius:7px}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-session :is(strong,small,span){color:#453a2f}
body.m1-ivory-trial .m1-cafes-main .m1-cafe-block-heading h3{color:#3a3026}
/* White service cards reuse the same typography and proportions as Roles. */
body.m1-ivory-trial .services-main .page-grid .panel{min-height:205px}
body.m1-ivory-trial .services-main .page-grid .panel h3{font-size:18px}
/* Theme toggle is optional, independent of game flow and storage of roles/scenarios. */
.m1-ivory-expanded-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;margin:0 0 23px;direction:rtl}
.m1-ivory-expanded-controls .m1-ivory-note{color:#79654e;font:700 10px/1.6 Georgia,serif;letter-spacing:.13em;direction:ltr}
.m1-ivory-expanded-controls .m1-ivory-toggle{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 17px;border:1px solid #bba07b;background:#fbf7f0;color:#3a2b1d;border-radius:22px;cursor:pointer;font:600 12px Tahoma,Arial,sans-serif;white-space:nowrap}
.m1-ivory-expanded-controls .m1-ivory-toggle:hover{background:#efe2d0}
body:not(.m1-ivory-trial) .m1-ivory-expanded-controls .m1-ivory-note{color:#bca181}
body:not(.m1-ivory-trial) .m1-ivory-expanded-controls .m1-ivory-toggle{background:#221c17;color:#e7ccaa;border-color:#765f46}
@media(max-width:700px){
 .m1-ivory-expanded-controls{margin-bottom:16px;flex-wrap:wrap}
 .m1-ivory-expanded-controls .m1-ivory-note{font-size:9px}
 .m1-ivory-expanded-controls .m1-ivory-toggle{min-height:35px;padding:7px 12px;font-size:11px}
 body.m1-ivory-trial .m1-shop-main .m1-shop-product-card{border-radius:7px}
}
@media(prefers-reduced-motion:reduce){body.m1-ivory-trial .m1-shop-main .m1-shop-product-card{transition:none}}
/* Explicit legible empty states and map labels on ivory instead of old dark-theme muted text. */
body.m1-ivory-trial .m1-cafes-main :is(.m1-cafe-empty,.m1-cafe-map-placeholder,.m1-cafe-map-empty) p{color:#66594b;line-height:2.1}
body.m1-ivory-trial .m1-cafes-main :is(.m1-cafe-empty,.m1-cafe-map-placeholder,.m1-cafe-map-empty) strong{color:#29241e}
body.m1-ivory-trial .m1-shop-main .m1-shop-catalog-empty{background:#fffdfa;color:#564b3e;border-color:#c9b99f;border-radius:8px}
