/*
 * Algoz Group — Algoz FZ-LLC  |  Copyright (c) 2026 Algoz FZ-LLC. All rights reserved.
 * Author: Filipi Rodrigues O. Silva (Don Filipi) <donfilipi@algozgroup.com>  ·  algozgroup.com
 * Proprietary and confidential. Unauthorised copying, distribution or modification is prohibited.
 */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
/* ── Viewport clamp: the app must never pan sideways. Any element that
   accidentally exceeds the device width (long strings, wide rows) is
   clipped instead of stretching the page — critical on 375/390pt iPhones
   (SE, 12/13/14) which are narrower than the Pro Max simulators.
   Rows that scroll on purpose keep their own overflow-x:auto. ── */
html,body{max-width:100%;overflow-x:hidden;}
body{overflow-x:clip;}
.screen,.app-main{max-width:100%;overflow-x:hidden;}
.chat-bubble,.msg-text,.agz-msg{overflow-wrap:anywhere;word-break:break-word;}

:root{--gold:#c9a84c;--gold-soft:#d4b95e;--gold-deep:#a8862f;--font-head:'Cinzel',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="algoz"]{--font-head:'Cinzel',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="alchemy"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="royal"]{--font-head:'Playfair Display',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="business"]{--font-head:Georgia,'Times New Roman',serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-theme="dark"]{--bg:#0a0a0a;--bg2:#121212;--bg3:#1a1a1a;--border:#2a2a2a;--border-soft:#222;--text:#f0ece2;--text-dim:#9a948a;--text-muted:#5f5b54;--accent:var(--gold);--on-accent:#0a0a0a;--shadow:0 8px 30px rgba(0,0,0,.5);--map-tiles:dark_all;}
html[data-theme="light"]{--bg:#faf8f3;--bg2:#ffffff;--bg3:#f4f1e9;--border:#e6e0d2;--border-soft:#efe9db;--text:#1c1a16;--text-dim:#6b6557;--text-muted:#a39d8e;--accent:var(--gold-deep);--on-accent:#ffffff;--shadow:0 8px 30px rgba(120,100,40,.1);--map-tiles:light_all;}

/* ── THEME PALETTES (each has dark + light; Algoz is the default base above) ── */
html[data-theme="dark"]{color-scheme:dark;}
html[data-theme="light"]{color-scheme:light;}
.place-cat-bar select option{background:var(--bg2);color:var(--text);}
/* ALCHEMY — minimalist warm neutral (black + champagne / ivory) */
html[data-palette="alchemy"][data-theme="dark"]{--bg:#100f0d;--bg2:#181613;--bg3:#201d19;--border:#2c2823;--border-soft:#252119;--text:#ece6da;--text-dim:#a59c8c;--text-muted:#6b6457;--gold:#c8bba1;--gold-deep:#c8bba1;--accent:#c8bba1;--on-accent:#100f0d;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="alchemy"][data-theme="light"]{--bg:#f4f1ea;--bg2:#fffdf8;--bg3:#ece7dc;--border:#ddd5c5;--border-soft:#e6e0d2;--text:#1c1a15;--text-dim:#6a6356;--text-muted:#a39b8a;--gold:#9c8e74;--gold-deep:#9c8e74;--accent:#8a7d65;--on-accent:#fffdf8;--shadow:0 8px 30px rgba(120,100,40,.1);}
/* ROYAL — ivory + heraldic gold + deep navy-black */
html[data-palette="royal"][data-theme="dark"]{--bg:#0c0d13;--bg2:#14151d;--bg3:#1c1d27;--border:#2a2c3a;--border-soft:#23242f;--text:#f1ecdd;--text-dim:#9a96a6;--text-muted:#615f6e;--gold:#bd9a3e;--gold-deep:#bd9a3e;--accent:#bd9a3e;--on-accent:#0c0d13;--shadow:0 8px 30px rgba(0,0,0,.55);}
html[data-palette="royal"][data-theme="light"]{--bg:#eaf1fb;--bg2:#ffffff;--bg3:#dde8f8;--border:#c9dbf1;--border-soft:#dbe6f6;--text:#15203b;--text-dim:#566480;--text-muted:#93a2bf;--gold:#9c7c22;--gold-deep:#9c7c22;--accent:#9c7c22;--on-accent:#fffdf6;--shadow:0 8px 30px rgba(40,70,140,.13);}
/* BUSINESS — white / black with red accent */
html[data-palette="business"][data-theme="dark"]{--bg:#0a0a0a;--bg2:#141414;--bg3:#1d1d1d;--border:#2b2b2b;--border-soft:#232323;--text:#f4f4f4;--text-dim:#9a9a9a;--text-muted:#5f5f5f;--gold:#5a86bf;--gold-deep:#5a86bf;--accent:#5a86bf;--on-accent:#0a0a0a;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="business"][data-theme="light"]{--bg:#ffffff;--bg2:#ffffff;--bg3:#f3f3f3;--border:#e2e2e2;--border-soft:#ededed;--text:#111111;--text-dim:#5a5a5a;--text-muted:#9a9a9a;--gold:#1f4e79;--gold-deep:#1f4e79;--accent:#1f4e79;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.08);}
/* theme picker chips */
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;}
.theme-chip{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1.5px solid var(--border);border-radius:12px;background:var(--bg2);cursor:pointer;color:var(--text);font-weight:600;font-size:13px;transition:border-color .15s;}
.theme-chip.active{border-color:var(--accent);}
.theme-chip .sw{width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.25);flex:none;}
html{height:100%;background:var(--bg);}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:16.5px;line-height:1.62;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s;}
html[dir="rtl"] body{font-family:'Montserrat','Segoe UI',Tahoma,sans-serif;}
h1,h2,h3,.serif{font-family:var(--font-head);font-weight:500;letter-spacing:.02em;}
.display{font-family:'Cormorant Garamond',serif;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}

/* TOPBAR */
.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px 10px;padding-top:calc(env(safe-area-inset-top) + 3px);background:var(--bg2);border-bottom:1px solid var(--border);}
.topbar .brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:41px;height:41px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;}
.brand-mark span{font-family:'Cinzel',serif;font-size:8px;color:var(--accent);letter-spacing:.14em;}
.brand-name{font-family:'Cinzel',serif;font-size:14px;letter-spacing:.16em;color:var(--text);}
.topbar-controls{display:flex;align-items:center;gap:8px;}
.topbar-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;margin-right:4px;}
.topbar-user .tu-name{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;}
.topbar-user .tu-tier{font-family:'Cinzel',serif;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:1px;}
@media(max-width:560px){.topbar-user .tu-name{max-width:96px;font-size:12px;}.topbar-user .tu-tier{font-size:8.5px;}}
@media(max-width:480px){.topbar{padding:0 13px 10px;padding-top:calc(env(safe-area-inset-top) + 3px);}.tb-left{flex:1 1 auto;}.topbar-controls{gap:6px;flex:0 0 auto;}.topbar-user .tu-name{max-width:110px;}.icon-btn{width:32px;height:32px;font-size:13px;}.lang-select{padding:5px 9px;}.lang-trigger{gap:5px;}.lang-trigger .lt-name{display:none;}}
.icon-btn{width:34px;height:34px;border-radius:50%;background:none;border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;}
.icon-btn:hover{border-color:var(--accent);color:var(--accent);}
.lang-select{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:20px;padding:6px 12px;font-size:13px;font-family:inherit;outline:none;cursor:pointer;max-width:150px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}

/* TOP NAV */
.top-nav{position:sticky;top:calc(env(safe-area-inset-top) + 54px);z-index:90;display:flex;background:var(--bg2);border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.top-nav::-webkit-scrollbar{display:none;}
.tn-item{flex:1;min-width:70px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;color:var(--text-muted);border:none;background:none;border-bottom:2px solid transparent;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;transition:all .15s;white-space:nowrap;}
.tn-item i{font-size:17px;}
.tn-item.active{color:var(--accent);border-bottom-color:var(--accent);}
.tn-item:hover{color:var(--text);}

/* APP LAYOUT */
.app-shell{max-width:1040px;margin:0 auto;padding:24px 22px 0;}
.screen{display:none;animation:fade .22s ease;}
.screen.active{display:block;}
#screen-agent.active{display:block;animation:none;}
#screen-agent #agentContent{padding-bottom:92px;}
#screen-agent #sosSlide{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 12px);width:calc(100% - 44px);max-width:996px;z-index:60;}
@keyframes fade{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:none;}}

/* CARDS */
.card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:16px;}
.section-title{font-family:var(--font-head);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
#homeFeatured .section-title{margin-top:20px;}

/* WELCOME BANNER */
.welcome{position:relative;border-radius:16px;overflow:hidden;margin-bottom:20px;min-height:160px;display:flex;align-items:flex-end;background:var(--bg3);}
.welcome img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;}
.welcome::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);}
html[data-theme="light"] .welcome::after{background:linear-gradient(to top,rgba(28,26,22,.55),transparent);}
.welcome-text{position:relative;z-index:2;padding:22px;color:#fff;}
.welcome-text h1{font-size:22px;color:#fff;margin-bottom:5px;}
.welcome-text p{color:rgba(255,255,255,.85);font-size:13px;}
.welcome-tier{display:inline-block;margin-top:8px;background:rgba(201,168,76,.25);border:1px solid var(--accent);color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 11px;border-radius:20px;}

/* QUICK ACTIONS */
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.qa{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:20px;text-align:center;transition:all .15s;}
.qa.qa-locked{position:relative;}
.qa.qa-locked .qa-lock{position:absolute;top:10px;right:12px;font-size:12px;color:var(--accent);opacity:.9;}
.qa:hover{border-color:var(--accent);transform:translateY(-2px);}
.qa i{font-size:20px;color:var(--accent);margin-bottom:8px;display:block;}
.qa span{font-size:13.5px;color:var(--text);font-weight:500;}

/* MAP */
.map-wrap{position:relative;z-index:1;border-radius:14px;overflow:hidden;border:1px solid var(--border);margin-bottom:16px;height:calc(100vh - 260px);height:calc(100dvh - 260px);min-height:360px;}
.map-zoom-btn{position:absolute;right:14px;bottom:20px;z-index:500;width:42px;height:42px;border-radius:50%;background:var(--bg2);border:1px solid var(--border);color:var(--accent);box-shadow:0 3px 12px rgba(0,0,0,.28);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:transform .12s;}
.map-zoom-btn:active{transform:scale(.92);}
.map-zoom-btn.loading{opacity:.6;pointer-events:none;}
.map-toggle{display:flex;gap:8px;margin-bottom:12px;}
.map-toggle .mt-btn{flex:1;padding:11px 14px;border-radius:10px;border:1px solid var(--border);background:var(--card,#fff);color:var(--muted,#888);font-weight:700;font-size:12px;letter-spacing:.08em;cursor:pointer;transition:all .15s;}
.map-toggle .mt-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.place-pop{min-width:160px;}
.place-pop .pp-name{font-weight:700;font-size:14px;margin-bottom:3px;color:var(--text);}
.place-pop .pp-desc{font-size:12px;color:var(--text-dim);line-height:1.4;}
.place-pop .pp-addr{font-size:11px;color:var(--text-muted);margin-top:5px;}
.place-pop .pp-links{display:flex;gap:10px;margin-top:8px;}
.place-pop .pp-links a{font-size:12px;font-weight:600;color:var(--gold,var(--accent));text-decoration:none;}
.place-pop .pp-cat{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold,var(--accent));background:color-mix(in srgb,var(--gold,#c9a24a) 14%,transparent);padding:2px 8px;border-radius:20px;margin-bottom:5px;}
.place-pop .pp-contacts{display:flex;gap:7px;margin-top:9px;}
.place-pop .pp-ic{width:32px;height:32px;border-radius:8px;background:var(--bg3);display:flex;align-items:center;justify-content:center;color:var(--gold,var(--accent));text-decoration:none;font-size:14px;}
.place-pop .pp-ic:hover{filter:brightness(1.08);}
.place-pop .pp-book{margin-top:10px;width:100%;background:var(--gold,var(--accent));color:var(--on-accent,#fff);border:none;border-radius:9px;padding:10px;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;}
.place-pop .pp-book:active{transform:scale(.98);}
.place-cat-bar select{width:100%;background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:13px;}
.place-cat-bar{margin-bottom:12px;}
.place-cat-bar select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-size:13px;color-scheme:light dark;}
.place-cat-bar select option{background:var(--bg2);color:var(--text);}
.field-row{display:flex;gap:12px;}
.field-row .field{flex:1;}
#memberCal{--fc-border-color:var(--border);--fc-page-bg-color:transparent;--fc-neutral-bg-color:var(--bg3);--fc-today-bg-color:rgba(201,168,76,.08);--fc-button-bg-color:var(--accent);--fc-button-border-color:var(--accent);--fc-button-text-color:var(--on-accent);--fc-button-hover-bg-color:var(--accent);--fc-button-active-bg-color:var(--accent);font-size:13px;}
#memberCal .fc-toolbar-title{font-size:16px;color:var(--text);}
#memberCal .fc-col-header-cell-cushion,#memberCal .fc-daygrid-day-number,#memberCal .fc-list-day-text,#memberCal .fc-list-event-title{color:var(--text);text-decoration:none;}
#memberCal .fc-daygrid-day-number{color:var(--text-dim);}
#memberCal a{color:var(--text);}
#memberCal .fc-button{text-transform:capitalize;font-weight:600;box-shadow:none!important;}
#memberCal .fc-list,#memberCal .fc-scrollgrid{border-color:var(--border);}
.cal-key{display:flex;flex-wrap:wrap;gap:16px;margin:12px 2px 16px;font-size:12px;color:var(--text-dim);}
.cal-key span{display:inline-flex;align-items:center;gap:6px;}
.cal-key i{width:11px;height:11px;border-radius:3px;display:inline-block;}
.bio-lock{position:fixed;inset:0;z-index:5000;background:var(--bg);display:none;align-items:center;justify-content:center;padding:24px;}
.bio-lock.open{display:flex;}
.bio-lock-card{text-align:center;max-width:320px;}
.bio-lock-card>i{font-size:54px;color:var(--accent);margin-bottom:18px;}
.bio-lock-title{font-family:'Cinzel',serif;font-size:20px;color:var(--text);margin-bottom:6px;}
.bio-lock-sub{font-size:13px;color:var(--text-dim);margin-bottom:22px;}
.bio-lock-card .btn{width:100%;margin-bottom:10px;}
.btn-link{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;text-decoration:underline;}
.sec-modal{position:fixed;inset:0;z-index:5200;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:20px;}
.sec-modal.open{display:flex;}
.sec-modal-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;max-width:380px;width:100%;max-height:92vh;overflow:auto;}
.sec-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);font-family:'Cinzel',serif;font-size:14px;color:var(--text);}
.sec-x{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;}
.sec-modal-body{padding:20px;text-align:center;}
.sec-step{font-size:13px;color:var(--text-dim);margin:0 0 14px;}
.mfa-qr{display:flex;justify-content:center;padding:12px;background:#fff;border-radius:10px;width:max-content;margin:0 auto 14px;}
.sec-manual{font-size:12px;color:var(--text-muted);margin:0 0 16px;word-break:break-all;}
.sec-manual code{color:var(--accent);font-size:13px;letter-spacing:.05em;}
.sec-code-input{width:100%;text-align:center;font-size:24px;letter-spacing:.4em;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);color:var(--text);margin-bottom:14px;font-family:monospace;}
.sec-modal-body .btn{width:100%;margin-bottom:8px;}
.chat-icon-btn.ttl-on{color:var(--accent);}
.chat-icon-btn .ttl-tag{font-size:9px;font-weight:700;margin-left:2px;vertical-align:top;}
.chat-dis{font-size:10px;margin-right:4px;opacity:.7;}
.chat-dis-lbl{font-size:10px;font-weight:700;margin-right:5px;opacity:.85;}
.chat-date{display:flex;justify-content:center;margin:16px 0 12px;}
.chat-date span{background:var(--bg3);color:var(--text-muted);font-size:11.5px;font-weight:600;padding:4px 13px;border-radius:14px;letter-spacing:.02em;}
#memberMap{height:100%;width:100%;}
/* Map screen fits the viewport so the Share-My-Location button is always visible (ALGOZ + Around Me; desktop, mobile, PWA, app) */
.screen#screen-map.active{display:flex;flex-direction:column;height:calc(100svh - 188px - env(safe-area-inset-top) - env(safe-area-inset-bottom));height:calc(100dvh - 188px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
#screen-map .section-title,#screen-map .map-toggle,#screen-map .place-cat-bar,#screen-map #mapHint,#screen-map #locShareBtn{flex:0 0 auto;}
#screen-map .map-wrap{flex:1 1 auto;height:auto;min-height:180px;margin-bottom:10px;}
#screen-map #mapHint{margin:6px 0;}
#screen-map #locShareBtn{margin:0;}
.map-panel{position:fixed;bottom:0;left:0;right:0;z-index:1200;background:var(--bg2);border-top:1px solid var(--border);border-radius:20px 20px 0 0;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));max-height:70vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 30px rgba(0,0,0,.2);}
.map-panel.open{transform:translateY(0);}
.panel-handle{width:40px;height:4px;background:var(--border);border-radius:4px;margin:0 auto 16px;}
.panel-country{font-family:'Cinzel',serif;font-size:16px;color:var(--text);margin-bottom:4px;}
.panel-close{position:absolute;top:16px;right:20px;background:none;border:none;color:var(--text-muted);font-size:18px;}
.panel-overlay{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:none;}
.panel-overlay.open{display:block;}
.no-agents{color:var(--text-muted);font-size:13px;text-align:center;padding:16px 0;}

/* AGENT */
.agent-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.agent-photo{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);}
.agent-photo-ph{width:68px;height:68px;border-radius:50%;background:var(--bg3);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:24px;}
.agent-name{font-family:'Cinzel',serif;font-size:17px;color:var(--text);}
.agent-role{color:var(--accent);font-size:12px;margin-top:2px;}
.agent-city{color:var(--text-muted);font-size:11px;}
.rm-note{background:var(--bg3);border-inline-start:3px solid var(--accent);border-radius:0 10px 10px 0;padding:12px 16px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--text-dim);margin-bottom:18px;}
html[dir="rtl"] .rm-note{border-radius:10px 0 0 10px;}
.channel{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;margin-bottom:9px;transition:all .15s;}
.channel:hover{border-color:var(--accent);}
.ch-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.ch-wa{background:rgba(37,211,102,.15);color:#25d366;}
.ch-ph{background:rgba(201,168,76,.15);color:var(--accent);}
.ch-em{background:rgba(66,153,225,.15);color:#4299e1;}
.ch-sg{background:rgba(63,131,248,.15);color:#3f83f8;}
.ch-tg{background:rgba(0,136,204,.15);color:#0088cc;}
.ch-body{flex:1;}
.ch-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);}
.ch-value{font-size:14.5px;color:var(--text);margin-top:1px;}
.ch-arrow{color:var(--text-muted);font-size:12px;}
.locked-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--text-muted);margin-bottom:9px;width:100%;}

/* FORMS */
.field{margin-bottom:14px;}
label{display:block;font-size:11px;letter-spacing:.04em;color:var(--text-dim);margin-bottom:6px;text-transform:uppercase;}
input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:12px 14px;border-radius:10px;font-size:15px;font-family:inherit;outline:none;transition:border-color .15s;}
input:focus,select:focus,textarea:focus{border-color:var(--accent);}
textarea{resize:vertical;min-height:86px;}
/* Readable dropdowns in dark/light theme (service select + vendor filters) */
.field select{-webkit-appearance:none;appearance:none;background-color:var(--bg);color:var(--text);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239a9a9a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;color-scheme:normal;cursor:pointer;}
.field select option{background:var(--bg2);color:var(--text);}
input[readonly]{opacity:.7;cursor:default;}
.field input[type=date]{width:auto;min-width:150px;max-width:100%;cursor:pointer;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;padding:13px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:opacity .15s;}
.btn:hover{opacity:.9;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn-ghost{background:none;border:1px solid var(--border);color:var(--text-dim);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}

/* PROFILE TABS */
.ptabs{display:flex;gap:4px;overflow-x:auto;margin-bottom:18px;border-bottom:1px solid var(--border);scrollbar-width:none;}
.ptabs::-webkit-scrollbar{display:none;}
.ptab{padding:9px 13px;background:none;border:none;color:var(--text-dim);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid transparent;transition:all .15s;}
.ptab.active{color:var(--accent);border-bottom-color:var(--accent);}
.ppane{display:none;}
.ppane.active{display:block;}
.detail-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border-soft);gap:16px;}
.detail-row:last-child{border-bottom:none;}
.detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-shrink:0;}
.detail-value{font-size:14.5px;color:var(--text);text-align:end;}

/* LOGIN */
.login-wrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;}
.login-card{width:100%;max-width:340px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:38px 32px;box-shadow:var(--shadow);}
.login-brand{text-align:center;margin-bottom:28px;}
.login-brand .mark{width:60px;height:60px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.login-brand .mark span{font-family:'Cinzel',serif;font-size:11px;color:var(--accent);letter-spacing:.16em;}
.login-brand h1{font-size:17px;letter-spacing:.06em;margin-bottom:3px;}
.login-brand p{color:var(--text-muted);font-size:12px;}
.login-controls{display:flex;justify-content:center;gap:10px;margin-top:22px;}
.forgot-pw-btn{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;margin-top:10px;display:block;width:100%;text-align:center;transition:color .15s;}
.forgot-pw-btn:hover{color:var(--accent);}
.pwd-wrap{position:relative;}
.pwd-toggle{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:13px;}

/* TOAST */
.toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);background:var(--bg3);border:1px solid var(--accent);color:var(--text);padding:11px 20px;border-radius:30px;font-size:12px;z-index:200000;opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap;}
.toast.show{opacity:1;}
.toast.err{border-color:#e24b4a;color:#e24b4a;}

/* LEAFLET OVERRIDES */
.leaflet-container{background:var(--bg3)!important;z-index:1;}
html[data-theme="dark"] .leaflet-popup-content-wrapper{background:var(--bg2);color:var(--text);border:1px solid var(--border);}
html[data-theme="dark"] .leaflet-popup-tip{background:var(--bg2);}
.leaflet-popup-content-wrapper{background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);}
.leaflet-popup-tip{background:var(--bg2);}

.muted{color:var(--text-muted);font-size:13px;}
.center{text-align:center;}
.mt{margin-top:12px;}
.hidden{display:none!important;}
.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* NOTIFICATIONS */
.bell-wrap{position:relative;}
.bell-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;background:#e24b4a;border-radius:8px;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none;}
.bell-badge.hidden{display:none;}
.notif-item{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:10px;position:relative;transition:border-color .15s;}
.notif-item.unread{border-color:var(--accent);background:var(--bg3);}
.notif-item.unread::before{content:"";position:absolute;top:16px;inset-inline-start:16px;width:7px;height:7px;border-radius:50%;background:var(--accent);}
.notif-title{font-weight:600;font-size:14px;color:var(--text);margin-bottom:4px;padding-inline-start:16px;}
.notif-item.unread .notif-title{padding-inline-start:18px;}
.notif-body{font-size:13px;color:var(--text-dim);line-height:1.5;padding-inline-start:16px;}
.notif-date{font-size:11px;color:var(--text-muted);margin-top:8px;padding-inline-start:16px;}
.notif-empty{text-align:center;padding:48px 0;color:var(--text-muted);}
.notif-empty i{font-size:32px;color:var(--accent);display:block;margin-bottom:12px;}

/* TIER BENEFITS */
.tier-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px;}
.tier-badge-name{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.12);border:1px solid var(--accent);border-radius:20px;padding:5px 14px;font-family:'Cinzel',serif;font-size:12px;color:var(--accent);letter-spacing:.1em;margin-bottom:14px;}
.tier-benefits-list{list-style:none;padding:0;}
.tier-benefits-list li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-soft);font-size:13px;color:var(--text-dim);}
.tier-benefits-list li:last-child{border-bottom:none;}
.tier-benefits-list li i{color:var(--accent);font-size:12px;margin-top:3px;flex-shrink:0;}

/* ARTICLES */
.article-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:14px;transition:border-color .15s;}
.article-card:hover{border-color:var(--accent);}
.article-img-banner{width:100%;height:160px;object-fit:cover;display:block;}
.article-body{padding:16px;}
.article-tier-badge{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:6px;}
.article-title{font-family:'Cinzel',serif;font-size:15px;color:var(--text);margin-bottom:6px;line-height:1.4;}
.article-excerpt{font-size:13px;color:var(--text-dim);line-height:1.5;}
.article-date{font-size:11px;color:var(--text-muted);margin-top:8px;}
.article-full-body{font-size:14px;color:var(--text-dim);line-height:1.7;white-space:pre-wrap;}

/* PREF CATEGORIES */
.pref-category{margin-bottom:20px;}
.pref-cat-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:16px;}
.pref-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pref-grid .full{grid-column:1/-1;}
@media(max-width:500px){.pref-grid{grid-template-columns:1fr;}.pref-grid .full{grid-column:1;}}

/* TIER ADVANTAGES */
.tier-card{margin-top:4px;}
.tier-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.tier-card-head i{color:var(--accent);font-size:18px;}
.tier-card-head span{font-family:'Cinzel',serif;font-size:15px;color:var(--text);}
.benefit-list{list-style:none;}
.benefit-list li{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:13.5px;color:var(--text-dim);}
.benefit-list li i{color:var(--accent);font-size:12px;margin-top:4px;flex-shrink:0;}

/* NEWS */
.news-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:14px;cursor:pointer;transition:border-color .15s,transform .15s;}
.news-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.news-img{width:100%;height:150px;object-fit:cover;display:block;}
.news-body{padding:16px 18px;}
.news-card-title{font-family:'Cinzel',serif;font-size:15px;color:var(--text);margin-bottom:4px;}
.news-card-date{font-size:11px;color:var(--text-muted);}
.news-excerpt{font-size:13px;color:var(--text-dim);margin-top:8px;line-height:1.5;}
.news-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);z-index:200;background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:560px;width:calc(100% - 32px);opacity:0;pointer-events:none;transition:all .25s;overflow:visible;}
.news-modal #newsModalBody{max-height:78vh;overflow-y:auto;}
.news-modal .panel-close{top:-15px;right:-15px;width:36px;height:36px;border-radius:50%;background:var(--bg2);border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center;color:var(--text);font-size:16px;z-index:3;}
.news-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}
.news-detail-img{width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-bottom:16px;}
.news-detail-title{font-family:'Cinzel',serif;font-size:20px;color:var(--text);margin-bottom:4px;}
.news-detail-text{font-size:14px;color:var(--text-dim);line-height:1.7;}

/* PREFERENCE CATEGORIES */
.pref-cat-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.pref-cat-head i{color:var(--accent);font-size:16px;width:20px;text-align:center;}
.pref-cat-head span{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.06em;color:var(--text);text-transform:uppercase;}

/* ── CMS-driven home + about additions ── */
.announce-card{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,rgba(201,168,76,.16),rgba(201,168,76,.06));border:1px solid var(--accent);border-radius:12px;padding:14px 16px;margin-bottom:16px;color:var(--text);font-size:14.5px;line-height:1.5;}
.announce-card i{color:var(--accent);font-size:16px;margin-top:2px;}
.featured-card{padding:0;overflow:hidden;}
.featured-img{width:100%;height:170px;object-fit:cover;display:block;}
.featured-body{padding:16px;}
.featured-title{font-family:'Cinzel',serif;font-weight:400;font-size:16px;color:var(--gold-deep);margin-bottom:6px;letter-spacing:.01em;}
.featured-text{font-size:14px;color:var(--text-dim);line-height:1.55;}
.legal-acc{cursor:pointer;}
.legal-acc>summary{list-style:none;cursor:pointer;font-family:'Cinzel',serif;font-size:13px;letter-spacing:.06em;color:var(--text);display:flex;align-items:center;justify-content:space-between;}
.legal-acc>summary::-webkit-details-marker{display:none;}
.legal-acc>summary::after{content:'\002B';color:var(--accent);font-size:18px;}
.legal-acc[open]>summary::after{content:'\2212';}
.legal-body{white-space:pre-wrap;line-height:1.6;color:var(--text-dim);margin-top:12px;font-size:14px;}
.brief-card{padding:14px 16px;}
.brief-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.brief-card>summary::-webkit-details-marker{display:none;}
.brief-summary{display:flex;flex-direction:column;gap:2px;}
.brief-country{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);}
.brief-title{font-family:'Cinzel',serif;font-size:15px;color:var(--text);}
.brief-chev{color:var(--text-muted);transition:transform .2s;}
.brief-card[open] .brief-chev{transform:rotate(180deg);}
.brief-img{width:100%;max-height:180px;object-fit:cover;border-radius:10px;margin:12px 0;}
.brief-body{font-size:14px;line-height:1.6;color:var(--text-dim);}

/* ── Round icon buttons (fix oval) ── */
.icon-btn{flex:0 0 auto;aspect-ratio:1/1;padding:0;}

/* ── Real logo in round frames ── */
.brand-mark{overflow:hidden;padding:0;}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
.login-brand .mark{overflow:hidden;}
.login-brand .mark img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}

/* ── Sans-serif font mode (toggle) ── */
html[data-font="sans"] body{font-size:17.5px;}
html[data-font="sans"] .serif,
html[data-font="sans"] .brand-name,
html[data-font="sans"] .section-title,
html[data-font="sans"] .welcome-text h1,
html[data-font="sans"] .agent-name,
html[data-font="sans"] .panel-country,
html[data-font="sans"] .featured-title,
html[data-font="sans"] .brief-title,
html[data-font="sans"] .tier-card-head span,
html[data-font="sans"] .legal-acc>summary,
html[data-font="sans"] .rm-note{font-family:'Montserrat',Arial,Helvetica,sans-serif !important;font-style:normal;}

/* ── Share location button ── */
.btn-loc{background:var(--bg2);color:var(--text);border:1px solid var(--border);margin-top:12px;margin-bottom:16px;}
.btn-loc.loc-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}

/* ── Home footer About & Legal link ── */
.home-foot{margin-top:30px;padding-top:18px;border-top:1px solid var(--border);text-align:center;}
.about-link{background:none;border:none;color:var(--text-muted);font-size:13px;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;}
.about-link:hover{color:var(--accent);}

.icon-btn.font-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}

/* ── About/news modal above overlay (fix dark-screen + clickable) ── */
.news-modal{z-index:1200 !important;}

/* ── Profile photo upload ── */
.profile-photo-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.profile-photo{width:74px;height:74px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);}
.profile-photo-ph{width:74px;height:74px;border-radius:50%;background:var(--bg3);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:26px;}
.photo-upload-btn{display:inline-flex;align-items:center;gap:7px;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:9px 14px;font-size:13px;cursor:pointer;text-transform:none;letter-spacing:0;}
.photo-upload-btn:hover{border-color:var(--accent);color:var(--accent);}

/* ── My Requests cards + status badges ── */
.req-card{cursor:pointer;padding:14px 16px;margin-bottom:10px;}
.req-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.req-svc{font-weight:600;color:var(--text);}
.req-card-sub{font-size:12.5px;color:var(--text-muted);margin-top:3px;}
.req-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:20px;white-space:nowrap;}
.badge-pending{background:rgba(201,168,76,.18);color:var(--accent);}
.badge-approved{background:rgba(46,160,90,.16);color:#2ea05a;}
.badge-completed{background:rgba(60,110,200,.16);color:#3c6ec8;}
.badge-rejected{background:rgba(200,60,60,.14);color:#c83c3c;}
.badge-canceled{background:rgba(140,140,140,.18);color:#9a9a9a;}
.btn-cancel{background:none;border:1px solid #c83c3c;color:#c83c3c;margin-top:6px;}
.btn-cancel:hover{background:#c83c3c;color:#fff;}

/* ── Settings tab ── */
.set-group{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--text);}
.set-row:last-child{border-bottom:none;}
.set-hint{font-size:12px;color:var(--text-muted);margin-top:4px;}
.set-select,.set-time{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:7px 9px;font-size:13px;}
.switch{position:relative;display:inline-block;width:44px;height:25px;flex:0 0 auto;}
.switch input{opacity:0;width:0;height:0;}
.switch .slider{position:absolute;inset:0;cursor:pointer;background:var(--bg3);border:1px solid var(--border);border-radius:25px;transition:.2s;}
.switch .slider:before{content:"";position:absolute;height:19px;width:19px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s;}
.switch input:checked + .slider{background:var(--accent);border-color:var(--accent);}
.switch input:checked + .slider:before{transform:translateX(19px);}

/* ── 24/7 Chat CTA (top of My Agent) ── */
.chat-cta{display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 80%,#000));border:1px solid var(--gold-deep);color:var(--on-accent);border-radius:16px;padding:15px;margin-bottom:14px;position:relative;}
.chat-cta-ic{width:46px;height:46px;border-radius:50%;flex:0 0 auto;background:var(--on-accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:20px;}
.chat-cta-t{font-size:15px;font-weight:700;color:var(--on-accent);}
.chat-cta-s{font-size:12px;color:var(--on-accent);opacity:.8;margin-top:1px;}
.chat-cta-badge{position:absolute;top:11px;right:13px;background:#e53e3e;color:#fff;font-size:11px;font-weight:700;border-radius:11px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 5px;}
.pro-req{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;cursor:pointer;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 80%,#000));border:1px solid var(--gold-deep);color:var(--on-accent);border-radius:12px;padding:11px 14px;margin-top:14px;font-size:13px;font-weight:700;font-family:inherit;}
.pro-req i{font-size:14px;}
.pro-req:hover{filter:brightness(1.06);}
.pro-req:active{transform:translateY(1px);}

/* ── Chat overlay ── */
.chat-modal{position:fixed;inset:0;z-index:1200;background:var(--bg);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .25s ease;}
.chat-scrolldown{position:absolute;left:50%;transform:translateX(-50%);bottom:86px;z-index:6;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.10);cursor:pointer;background:#2b2b2b;color:#eee;font-size:15px;box-shadow:0 4px 12px rgba(0,0,0,.5);align-items:center;justify-content:center;}
.chat-scrolldown:hover{background:#363636;}
.chat-modal.open{transform:translateY(0);}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:#14130f;border-bottom:1px solid var(--accent);padding-top:calc(14px + env(safe-area-inset-top));}
.chat-head-id{display:flex;align-items:center;gap:11px;min-width:0;}
.chat-avatar{width:42px;height:42px;border-radius:50%;flex:0 0 auto;background-size:cover;background-position:center;background-color:#2a2a2a;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--accent);}
.chat-title{font-size:16px;font-weight:700;color:#f5f5f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-sub{font-size:11px;color:var(--accent);}
.chat-close{background:transparent;border:none;color:#bbb;font-size:20px;cursor:pointer;padding:6px;}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:9px;background:var(--bg);}
.chat-note{margin:auto;text-align:center;color:var(--text-muted);font-size:13px;max-width:280px;line-height:1.5;}
.chat-bubble{max-width:80%;padding:11px 15px;border-radius:15px;font-size:22px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap;}
.chat-bubble .chat-time{display:block;font-size:13px;opacity:.6;margin-top:5px;}
.chat-bubble.me{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-bottom-right-radius:5px;}
.chat-bubble.them{align-self:flex-start;background:#2a2a2a;color:#f0f0f0;border-bottom-left-radius:5px;}
.chat-bubble .chat-who{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--accent,#c9a84c);margin-bottom:4px;}
.chat-input-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg2);position:relative;padding-bottom:calc(10px + env(safe-area-inset-bottom));}
.chat-input{flex:1;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:22px;padding:11px 15px;font-size:17px;min-height:44px;max-height:120px;overflow-y:auto;line-height:1.4;white-space:pre-wrap;word-break:break-word;outline:none;}
.chat-input:empty:before{content:attr(data-ph);color:var(--text-muted);pointer-events:none;}
.chat-input .chat-emoji{height:1.4em;vertical-align:-0.3em;margin:0 1px;}
.chat-icon-btn,.chat-send{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;flex:0 0 auto;font-size:16px;}
.chat-icon-btn{background:var(--bg3);color:var(--text-muted);}
.chat-send{background:var(--accent);color:var(--on-accent);}
.emoji-tray{position:absolute;bottom:58px;left:12px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:8px;display:none;grid-template-columns:repeat(7,1fr);gap:3px;max-width:88vw;width:300px;max-height:300px;overflow-y:auto;z-index:5;box-shadow:0 8px 28px rgba(0,0,0,.28);}
.emoji-tray.open{display:grid;}
.emoji-tray span{cursor:pointer;font-size:20px;text-align:center;padding:3px;border-radius:6px;}
.emoji-tray span:active{background:var(--bg3);}
.emoji-tray .emoji-cat{grid-column:1/-1;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700;padding:7px 2px 2px;}
.emoji-tray img.emoji-pick{width:30px;height:30px;object-fit:contain;cursor:pointer;padding:3px;border-radius:7px;transition:background .12s;}
.emoji-tray img.emoji-pick:hover{background:var(--bg3);}
.chat-emoji{height:1.5em;width:auto;vertical-align:-0.35em;margin:0 1px;}
.chat-bubble .chat-emoji{height:1.9em;}
.chat-unlock{margin:auto;text-align:center;color:var(--text);display:flex;flex-direction:column;gap:11px;align-items:center;max-width:280px;}
.chat-unlock i{font-size:30px;color:var(--accent);}
.chat-unlock p{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5;}
.chat-unlock input{width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px;font-size:14px;}
.chat-archived{background:var(--bg2);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:12px;text-align:center;padding:8px 12px;}

/* ── LOGIN BACKGROUND ───────────────────────────────────────────────────── */
html[data-theme="dark"]  .login-wrap{background-image:url('/img/login-dark.jpg?v=3');}
html[data-theme="light"] .login-wrap{background-image:url('/img/login-light.jpg?v=3');}
.login-wrap{background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;}
.login-wrap::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.42);pointer-events:none;z-index:0;}
html[data-theme="light"] .login-wrap::before{background:rgba(20,15,6,.30);}
.login-wrap-inner{position:relative;z-index:1;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:0;}
.login-wrap{justify-content:center;align-items:center;}

/* Glass card on background */
.login-card{background:rgba(10,10,10,.72)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(201,168,76,.22)!important;}
html[data-theme="light"] .login-card{background:rgba(250,248,243,.58)!important;border:1px solid rgba(255,255,255,.45)!important;}
.login-card .login-brand h1{color:#f0ece2;}
.login-card .login-brand p{color:rgba(240,236,226,.55);}
html[data-theme="light"] .login-card .login-brand h1{color:var(--text);}
html[data-theme="light"] .login-card .login-brand p{color:var(--text-muted);}

/* Become a member strip */
.become-member{text-align:center;padding:22px 16px 0;width:100%;}
.bm-top{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
.bm-line{font-size:13px;color:rgba(240,236,226,.75);}
html[data-theme="light"] .bm-line{color:rgba(255,255,255,.9);}
.bm-link{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:opacity .15s;}
.bm-link:hover{opacity:.75;}

/* ── APPLY VIEW ──────────────────────────────────────────────────────────── */
.apply-page{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);}

.apply-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;padding:0 20px;height:54px;background:var(--bg2);border-bottom:1px solid var(--border);}
.apply-back{background:none;border:none;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;letter-spacing:.04em;padding:0;transition:color .15s;}
.apply-back:hover{color:var(--accent);}
.apply-back i{font-size:13px;}

.apply-hero{text-align:center;padding:48px 24px 36px;background:var(--bg2);border-bottom:1px solid var(--border);}
.apply-hero-logo{width:68px;height:68px;border-radius:50%;border:1.5px solid var(--accent);overflow:hidden;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;}
.apply-hero-logo img{width:100%;height:100%;object-fit:cover;}
.apply-eyebrow{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.apply-title{font-family:'Cinzel',serif;font-size:22px;letter-spacing:.05em;color:var(--text);margin-bottom:12px;line-height:1.3;}
.apply-sub{font-size:14px;color:var(--text-dim);margin-bottom:10px;}
.apply-sub2{font-size:13px;color:var(--text-muted);line-height:1.7;max-width:480px;margin:0 auto;}
.apply-wa{color:var(--accent);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.apply-wa:hover{text-decoration:underline;}

.apply-form-wrap{padding:28px 20px;max-width:600px;margin:0 auto;}
.apply-form-card{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:30px 26px;}

.apply-row{display:flex;gap:14px;}
.apply-row-2>*{flex:1;}
.apply-field-sm{max-width:160px;}
.apply-phone-row{align-items:flex-end;}
.apply-field-code{width:130px;flex-shrink:0;}
.apply-field-phone{flex:1;}

.req{color:var(--accent);font-size:11px;}

.apply-checks{margin:20px 0 24px;}
.apply-check-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text-dim);cursor:pointer;line-height:1.55;}
.apply-check-label input[type="checkbox"]{margin-top:3px;accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;}
.apply-legal-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}

.apply-submit-btn{width:100%;font-size:14px;letter-spacing:.08em;padding:15px;}

/* Apply footer */
.apply-footer{background:var(--bg2);border-top:1px solid var(--border);padding:48px 24px 32px;text-align:center;margin-top:8px;}
.apply-footer-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;}
.apply-footer-logo img{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--accent);object-fit:cover;}
.apply-footer-brand{font-family:'Cinzel',serif;font-size:17px;letter-spacing:.2em;color:var(--text);}

.apply-social-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;}
.apply-social-icons{display:flex;justify-content:center;gap:20px;margin-bottom:44px;}
.apply-social-icons a,.apply-social-link{color:var(--text-dim);font-size:22px;transition:color .15s;text-decoration:none;}
.apply-social-icons a:hover,.apply-social-link:hover{color:var(--accent);}
.apply-social-icons a:hover{color:var(--accent);}

.apply-tiers-section{margin-bottom:44px;}
.apply-tiers-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.apply-tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;text-align:left;max-width:800px;margin:0 auto;}
.apply-tier-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:20px 18px;position:relative;}
.apply-tier-card.atc-featured{border-color:var(--accent);background:rgba(201,168,76,.06);}
.apply-tier-card.atc-gold{border-color:var(--accent);background:rgba(201,168,76,.1);}
.atc-badge{display:inline-block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);border-radius:20px;padding:3px 10px;margin-bottom:10px;font-weight:700;}
.atc-name{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.08em;color:var(--text);margin-bottom:8px;}
.atc-desc{font-size:12px;color:var(--text-dim);line-height:1.6;}

.apply-copyright{font-size:11px;color:var(--text-muted);letter-spacing:.05em;}
.apply-copyright a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;}

@media(max-width:480px){
  .apply-form-card{padding:22px 16px;}
  .apply-row-2{flex-direction:column;gap:0;}
  .apply-field-sm{max-width:100%;}
}

/* ── Nobility ───────────────────────────────────────────── */
.nob-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.nob-filters .field{flex:1;min-width:140px;margin:0;}
.nob-card{padding:16px;}
.nob-card.has-img{padding:0;overflow:hidden;}
.nob-img{width:100%;height:170px;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--line,#222);}
.nob-card.has-img .nob-body{padding:16px;}
.nob-head{margin-bottom:4px;}
.nob-cat{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--accent,#c9a84c);}
.nob-name{font-size:15px;font-weight:600;color:var(--text,#1a1a1a);margin-bottom:6px;line-height:1.35;}
.nob-price{font-size:13px;font-weight:600;color:var(--text,#1a1a1a);margin-bottom:10px;font-variant-numeric:tabular-nums;}
.nob-price.muted{font-weight:500;color:var(--text-muted,#999);}
.nob-avail{margin:8px 0 12px;}
.nob-avail-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#999);margin-bottom:4px;}
.nob-avail-row{display:flex;gap:3px;flex-wrap:wrap;}
.nob-actions{display:flex;gap:8px;flex-wrap:wrap;}
.nob-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:9px;font-size:12.5px;font-weight:600;border:1px solid var(--border,#e3e3e3);background:var(--card,#fff);color:var(--text,#1a1a1a);cursor:pointer;text-decoration:none;}
.nob-btn.wa{background:#25d366;border-color:#25d366;color:#fff;}
.nob-btn.call{border-color:var(--accent,#c9a84c);color:var(--accent,#c9a84c);}
.nob-btn.algoz{background:var(--accent,#c9a84c);border-color:var(--accent,#c9a84c);color:var(--on-accent);}

/* ── Chat: images + view-once ── */
.chat-img{max-width:200px;max-height:240px;border-radius:11px;display:block;cursor:pointer;margin:2px 0;}
.chat-bubble .chat-cap{margin-top:6px;font-size:14px;line-height:1.35;opacity:.95;}
/* Noto emoji + reactions + action panel + pins */
.noto,.noto-pick,.noto-r,.noto-c{display:inline-block;vertical-align:-0.18em;}
.noto-pick{width:26px;height:26px;}
.noto-r{width:30px;height:30px;}
.noto-c{width:17px;height:17px;vertical-align:-0.22em;}
.noto-fb{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;}
.emoji-pick{background:none;border:0;padding:5px;cursor:pointer;border-radius:8px;line-height:0;}
.emoji-pick:hover{background:rgba(255,255,255,.08);}
.chat-bubble{position:relative;cursor:pointer;}
.chat-modal, .chat-modal *{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;}
.chat-reax{position:absolute;bottom:-12px;right:8px;display:flex;gap:3px;}
.chat-bubble.them .chat-reax{right:auto;left:8px;}
.cap-rechip{background:#1c1c1c;border:1px solid rgba(255,255,255,.18);border-radius:50%;padding:3px;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.35);display:inline-flex;align-items:center;justify-content:center;gap:2px;font:inherit;color:inherit;vertical-align:middle;}
button.cap-rechip{cursor:pointer;}
.cap-rechip .reax-by{font-size:9px;font-weight:700;letter-spacing:.02em;opacity:.85;font-style:normal;padding:0 1px;}
.cap-panel{position:fixed;z-index:9999;display:none;flex-direction:column;gap:6px;background:rgba(43,43,43,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:8px;box-shadow:0 10px 34px rgba(0,0,0,.55);max-width:92vw;}
.cap-panel.open{display:flex;}
.cap-react{display:flex;gap:3px;align-items:center;}
.cap-rbtn{background:none;border:0;cursor:pointer;border-radius:50%;padding:4px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;}
.cap-rbtn:hover{background:rgba(255,255,255,.12);}
.cap-rbtn.cap-more{color:#ddd;font-size:16px;}
.cap-acts{display:flex;gap:2px;border-top:1px solid rgba(255,255,255,.1);padding-top:6px;}
.cap-acts button{flex:1;background:none;border:0;color:#eee;cursor:pointer;padding:9px 11px;border-radius:8px;font-size:16px;}
.cap-acts button:hover{background:rgba(255,255,255,.12);}
.cap-pick{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;max-height:210px;overflow:auto;max-width:330px;}
.chat-pinbar{display:flex;flex-direction:column;gap:1px;background:#171717;border-bottom:1px solid rgba(255,255,255,.08);}
.pin-item{display:flex;align-items:center;gap:9px;background:none;border:0;color:#eee;text-align:left;padding:9px 13px;cursor:pointer;font-size:13px;width:100%;border-left:3px solid var(--accent,#c9a84c);}
.pin-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pin-item .pin-x{opacity:.55;padding:2px;}
.pin-flash{animation:pinFlash 1.2s ease;}
@keyframes pinFlash{0%,100%{filter:none}30%{filter:brightness(1.6)}}
.bg-sheet{position:absolute;left:0;right:0;bottom:0;z-index:60;background:#161618;border-top:1px solid rgba(255,255,255,.12);border-radius:16px 16px 0 0;padding:12px 14px 18px;padding-bottom:calc(18px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .22s ease;box-shadow:0 -8px 30px rgba(0,0,0,.5);}
.bg-sheet.open{transform:translateY(0);}
.bg-sheet .bgs-head{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;color:#eee;margin-bottom:10px;}
.bg-sheet .bgs-head button{background:none;border:0;color:#bbb;font-size:18px;cursor:pointer;}
.bgs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.bgs-sw{position:relative;height:64px;border-radius:12px;border:2px solid transparent;cursor:pointer;color:#fff;overflow:hidden;background-size:cover;}
.bgs-sw span{position:absolute;left:0;right:0;bottom:0;font-size:11px;font-weight:600;padding:3px 6px;background:linear-gradient(transparent,rgba(0,0,0,.6));text-align:left;}
.bgs-sw.on{border-color:var(--accent,#c9a84c);box-shadow:0 0 0 2px rgba(201,168,76,.3);}
.chat-attachbar{display:none;align-items:center;gap:10px;padding:8px 12px;background:#171717;border-top:1px solid rgba(255,255,255,.08);}
.chat-attachbar .att-strip{display:flex;gap:10px;flex:1;overflow-x:auto;padding:4px 2px;}
.chat-attachbar .att-cell{position:relative;flex:0 0 auto;}
.chat-attachbar .att-thumb{height:56px;width:56px;object-fit:cover;border-radius:9px;display:block;}
.chat-attachbar .att-file{display:flex;align-items:center;gap:7px;height:56px;padding:0 11px;background:#262626;border-radius:9px;color:#eee;font-size:12px;max-width:150px;}
.chat-attachbar .att-file i{font-size:18px;color:var(--accent,#c9a84c);}
.chat-attachbar .att-file .att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-attachbar .att-cx{position:absolute;top:-7px;right:-7px;background:#000;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:50%;width:20px;height:20px;font-size:11px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;}
.chat-album{display:grid;gap:3px;border-radius:11px;overflow:hidden;max-width:244px;margin:2px 0;}
.chat-album.n1{grid-template-columns:1fr;}
.chat-album.n2,.chat-album.n3,.chat-album.n4{grid-template-columns:1fr 1fr;}
.chat-album .alb-cell{position:relative;aspect-ratio:1/1;overflow:hidden;}
.chat-album.n3 .alb-cell:first-child{grid-column:1/-1;aspect-ratio:2/1;}
.chat-album .alb-img{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block;}
.chat-docs{display:flex;flex-direction:column;gap:6px;}
.chat-audio{display:flex;align-items:center;gap:10px;min-width:232px;max-width:284px;padding:4px 2px;}
.chat-audio .aud-play{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;background:#1fb39b;color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;}
.chat-audio .aud-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.chat-audio .aud-wave{display:flex;align-items:center;gap:2px;height:26px;}
.chat-audio .aud-wave i{flex:1 1 0;min-width:2px;max-width:3px;border-radius:2px;background:rgba(255,255,255,.30);transition:background .1s;}
.chat-bubble.me .chat-audio .aud-wave i{background:rgba(0,0,0,.26);}
.chat-audio .aud-wave i.on{background:#1fb39b;}
.chat-bubble.me .chat-audio .aud-wave i.on{background:#0e6b5e;}
.chat-audio .aud-sub{display:flex;gap:3px;align-items:center;font-size:11px;font-variant-numeric:tabular-nums;}
.chat-audio .aud-dur,.chat-audio .aud-size{opacity:.72;}
.chat-audio .aud-speed{flex:0 0 auto;margin-left:auto;border:1px solid currentColor;background:transparent;color:inherit;font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:6px;cursor:pointer;opacity:.8;font-variant-numeric:tabular-nums;}
.chat-audio .aud-speed:hover{opacity:1;}
.chat-audio .aud-tx2{flex:0 0 auto;align-self:flex-start;height:26px;width:30px;padding:0;border-radius:7px;border:0;cursor:pointer;background:#c9a84c;color:#1a1205;font-size:14px;display:flex;align-items:center;justify-content:center;}
.chat-audio .aud-tx2.busy{opacity:.7;}
.chat-audio .aud-tx{flex:0 0 auto;align-self:flex-start;height:26px;padding:0 8px;border-radius:7px;border:0;cursor:pointer;background:#1fb39b;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:1px;}
.chat-audio .aud-tx::before{content:'\2192';font-size:11px;}
.chat-audio .aud-tx.busy{opacity:.7;}
.aud-transcript{margin-top:6px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.07);font-size:13px;line-height:1.45;}
.chat-bubble.me .aud-transcript{background:rgba(0,0,0,.14);}
.aud-transcript .tx-head{font-size:11px;opacity:.7;margin-bottom:4px;}
.aud-transcript .tx-en{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.14);}
.aud-transcript .tx-lbl{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;opacity:.55;margin-bottom:2px;}
.chat-mic{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:0;background:transparent;color:var(--accent,#c9a84c);font-size:17px;cursor:pointer;}
.chat-recbar{display:none;align-items:center;gap:12px;padding:9px 14px;padding-bottom:calc(9px + env(safe-area-inset-bottom));background:#171717;border-top:1px solid rgba(255,255,255,.08);}
.chat-recbar .rec-cancel,.chat-recbar .rec-send{width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}
.chat-recbar .rec-cancel{background:transparent;color:#e06b6b;}
.chat-recbar .rec-send{background:var(--accent,#c9a84c);color:#1a1a1a;}
.chat-recbar .rec-dot{width:11px;height:11px;border-radius:50%;background:#e05656;animation:recpulse 1.1s infinite;}
.chat-recbar .rec-time{color:#eee;font-variant-numeric:tabular-nums;font-size:14px;}
.chat-recbar .rec-grow{flex:1;}
@keyframes recpulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.once-open{display:inline-flex;align-items:center;gap:7px;background:rgba(201,168,76,.14);border:1px solid var(--accent,#c9a84c);color:var(--accent,#c9a84c);border-radius:11px;padding:8px 13px;font-size:13px;font-weight:600;cursor:pointer;}
.once-open:hover{background:rgba(201,168,76,.24);}
.once-sent{display:inline-flex;align-items:center;gap:6px;font-style:italic;opacity:.8;font-size:13px;}
.once-sent i{color:var(--accent,#c9a84c);}
.once-viewer{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;}
.once-viewer.open{display:flex;}
.once-box{max-width:92vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.once-box img{max-width:92vw;max-height:72vh;border-radius:12px;}
.once-text{color:#fff;font-size:17px;line-height:1.5;max-width:560px;padding:10px;}
.once-note{color:#e7c976;font-size:12px;display:flex;align-items:center;gap:6px;}
.once-close{background:#fff;color:#111;border:0;border-radius:9px;padding:9px 22px;font-size:14px;font-weight:600;cursor:pointer;}

/* ── Nobility: save, vetted, languages, saved toggle ── */
.nob-card{position:relative;}
.nob-save{position:absolute;top:12px;right:12px;background:transparent;border:0;color:var(--text-dim,#999);font-size:16px;cursor:pointer;padding:4px;}
.nob-save.on{color:var(--accent,#c9a84c);}
.nob-vetted{font-size:11px;color:var(--accent,#c9a84c);margin:4px 0 2px;display:flex;align-items:center;gap:6px;}
.nob-langs{font-size:11.5px;color:var(--text-dim,#999);margin:2px 0;display:flex;align-items:center;gap:6px;}
.nob-saved-toggle{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.4;color:var(--text-dim,#999);margin:2px 0 14px;cursor:pointer;text-align:left;}
.nob-saved-toggle input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent,#c9a84c);}
.nob-saved-toggle i{color:var(--accent,#c9a84c);flex:0 0 auto;margin-top:1px;}
.nob-desc{font-size:12px;color:var(--text-dim,#aaa);margin:4px 0 2px;line-height:1.45;}

/* ── Vendors board ── */
.vnd-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px;}
.vnd-sec{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent,#c9a84c);font-weight:700;margin:14px 0 8px;display:flex;align-items:center;gap:6px;}
.vnd-card{padding:0;overflow:hidden;}
#vndList{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
#vndList>.vnd-sec{grid-column:1/-1;margin:14px 0 0;}
#vndList>p{grid-column:1/-1;}
@media(max-width:600px){#vndList{grid-template-columns:1fr;}}
.vnd-img{height:130px;background-size:cover;background-position:center;}
.vnd-body{padding:14px;}
.vnd-type{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#999);font-weight:700;}
.vnd-feat{color:var(--accent,#c9a84c);}
.vnd-name{font-size:16px;font-weight:700;color:var(--text);margin:3px 0;}
.vnd-vendor{font-size:12px;color:var(--text-dim,#aaa);display:flex;align-items:center;gap:6px;}
.vnd-dates{font-size:12px;color:var(--text-dim,#aaa);margin-top:4px;display:flex;align-items:center;gap:6px;}
.vnd-desc{font-size:12.5px;color:var(--text-dim,#aaa);margin:6px 0;line-height:1.45;}
.vnd-price{font-size:14px;font-weight:700;color:var(--accent,#c9a84c);margin:6px 0 10px;}

/* ── SOS / urgent assistance ── */
.sos-bar{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#b42318;color:#fff;border:0;border-radius:12px;padding:13px 16px;font-size:13.5px;font-weight:700;cursor:pointer;margin-bottom:16px;box-shadow:0 4px 14px rgba(180,35,24,.3);}
.sos-bar:active{transform:scale(.99);}
.sos-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.sos-modal.open{display:flex;}
.sos-card{background:var(--card,#1a1a1a);border:1px solid #b42318;border-radius:16px;max-width:420px;width:100%;padding:22px;}
.sos-h{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:800;color:#fff;}
.sos-h i{color:#f04438;}
.sos-p{font-size:12.5px;color:#c7c1b6;line-height:1.5;margin:10px 0 14px;}
.sos-card textarea{width:100%;box-sizing:border-box;border:1px solid var(--line,#333);border-radius:10px;background:var(--bg,#111);color:var(--text,#fff);padding:10px 12px;font:inherit;font-size:13.5px;resize:vertical;}
.sos-loc{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.4;color:#c7c1b6;margin:10px 0 16px;cursor:pointer;text-align:left;}
.sos-loc input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent,#c9a84c);}
.sos-loc span{flex:1;}
.sos-actions{display:flex;gap:10px;justify-content:flex-end;}
.sos-cancel{background:transparent;border:1px solid var(--line,#444);color:var(--text-dim,#bbb);border-radius:10px;padding:10px 18px;font-size:13.5px;cursor:pointer;}
.sos-send{background:#b42318;border:0;color:#fff;border-radius:10px;padding:10px 20px;font-size:13.5px;font-weight:700;cursor:pointer;}

/* ── My Agents redesign: vertical card, pin, icon-only contacts ── */
.agent-card{position:relative;}
.agent-card.pinned{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;}
.ag-pin{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line,#333);background:transparent;color:var(--text-muted,#888);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:.15s;}
.ag-pin:hover{color:var(--accent);border-color:var(--accent);}
.ag-pin.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:rotate(20deg);}
.ag-icons{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.ag-ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:19px;text-decoration:none;background:var(--bg3,rgba(255,255,255,.05));color:var(--text,#eee);border:1px solid var(--line,#2a2a2a);transition:.15s;}
.ag-ic:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:translateY(-2px);}

.sos-confirm{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#f0ece2;margin:0 0 16px;cursor:pointer;}
.sos-confirm strong{color:#fff;}
.sos-send:disabled{opacity:.45;cursor:not-allowed;}

/* ── SOS slide-to-activate (anti-mistake trigger) ── */
.sos-slide{position:relative;width:100%;height:56px;border-radius:28px;background:#5e120d;overflow:hidden;user-select:none;touch-action:none;border:1px solid #7a1610;}
#screen-nobility.active{display:block;}
.sos-board{background:linear-gradient(135deg,#3a0d0a,#5e120d);border:1px solid #7a1610;border-radius:14px;padding:15px 17px;margin-bottom:18px;box-shadow:0 6px 22px rgba(120,16,12,.35);}
.sos-board.acknowledged{background:linear-gradient(135deg,#3a2a06,#6b4e0b);border-color:#8a6510;}
.sos-board-h{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#ffd9d4;display:flex;align-items:center;gap:8px;}
.sos-board.acknowledged .sos-board-h{color:#ffe9b8;}
.sos-board-st{font-size:13.5px;color:#fff;margin-top:7px;font-weight:600;}
.sos-board-note{font-size:12.5px;color:rgba(255,255,255,.82);margin-top:8px;background:rgba(0,0,0,.22);border-radius:8px;padding:8px 10px;}
.sos-board-cancel{margin-top:12px;width:100%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:13px;border-radius:9px;padding:10px;cursor:pointer;}
.sos-board-cancel:hover{background:rgba(255,255,255,.2);}
.sos-slide-fill{position:absolute;left:0;top:0;bottom:0;width:56px;background:#b42318;border-radius:28px;}
.sos-slide-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:13px;font-weight:700;pointer-events:none;letter-spacing:.01em;}
.sos-slide-knob{position:absolute;left:3px;top:3px;width:50px;height:50px;border-radius:50%;background:#fff;color:#b42318;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:grab;box-shadow:0 2px 8px rgba(0,0,0,.35);z-index:2;}
.sos-slide-knob:active{cursor:grabbing;}

/* chat file attachment chip */
.chat-file{display:inline-flex;align-items:center;gap:11px;background:rgba(0,0,0,.06);border:1px solid var(--border);border-radius:13px;padding:11px 14px;cursor:pointer;color:inherit;font:inherit;text-align:left;max-width:260px;}
.chat-file i{font-size:24px;color:var(--accent);flex:none;}
.chat-file .cf-meta{display:flex;flex-direction:column;min-width:0;}
.chat-file .cf-name{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-file .cf-size{font-size:12px;opacity:.7;margin-top:2px;}
.chat-bubble.me .chat-file{background:rgba(0,0,0,.13);border-color:rgba(0,0,0,.12);}
.chat-file[disabled]{opacity:.55;cursor:default;}

/* unsend affordance + image-viewer download */
.chat-unsend{background:none;border:none;color:inherit;opacity:.4;cursor:pointer;font-size:12px;padding:0 0 0 8px;vertical-align:middle;}
.chat-unsend:hover{opacity:.85;}
.once-actions{display:flex;gap:10px;align-items:center;justify-content:center;}
.once-dl{text-decoration:none;}

/* composer more-menu + reply + quote + location + desktop fonts */
.chat-more-menu{position:absolute;bottom:58px;left:8px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:6px;display:none;flex-direction:column;gap:1px;box-shadow:var(--shadow-md);z-index:7;min-width:196px;}
.chat-more-menu.open{display:flex;}
.chat-more-menu button{display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--text);font:inherit;font-size:14px;padding:11px 13px;border-radius:9px;cursor:pointer;text-align:left;width:100%;}
.chat-more-menu button:hover{background:var(--bg3);}
.chat-more-menu button i{width:18px;text-align:center;color:var(--accent);}
.chat-icon-btn.ttl-on{color:var(--accent);}
.chat-reply-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg2);border-top:1px solid var(--border);}
.chat-reply-bar .crb-inner{flex:1;min-width:0;border-left:3px solid var(--accent);padding-left:10px;}
.chat-reply-bar .crb-who{display:block;font-size:11px;font-weight:700;color:var(--accent);}
.chat-reply-bar .crb-text{display:block;font-size:13px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-reply-bar .crb-x{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px;}
.chat-quote{border-left:3px solid currentColor;padding:4px 9px;margin-bottom:5px;font-size:.8em;border-radius:7px;background:rgba(0,0,0,.06);opacity:.92;}
.chat-quote .cq-who{display:block;font-weight:700;margin-bottom:1px;}
.chat-bubble.me .chat-quote{background:rgba(0,0,0,.12);}
.chat-loc{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:rgba(0,0,0,.06);color:var(--accent);font-size:22px;text-decoration:none;}
.chat-bubble.me .chat-loc{background:rgba(0,0,0,.13);}
.chat-acts{display:inline-flex;gap:6px;margin-left:8px;vertical-align:middle;}
.chat-act{background:none;border:none;color:inherit;opacity:.38;cursor:pointer;font-size:12px;padding:0;}
.chat-act:hover{opacity:.92;}
@media(min-width:768px){
  .chat-bubble{font-size:19.8px;}
  .chat-bubble .chat-time{font-size:11.7px;}
  .chat-bubble .chat-emoji{height:1.71em;}
  .chat-input{font-size:15.3px;}
}

/* ── App Theme: pinned favourites ── */
.theme-chip{position:relative;}
.theme-chip .theme-name{flex:1;}
.theme-chip.pinned{border-color:var(--accent);}
.theme-pin{margin-left:auto;background:none;border:none;color:var(--text);opacity:.4;cursor:pointer;padding:5px;border-radius:8px;font-size:12px;line-height:1;transition:opacity .15s,color .15s,background .15s;}
.theme-pin:hover{opacity:.9;background:rgba(127,127,127,.12);}
.theme-pin.on{opacity:1;color:var(--accent);}
/* Sleep mode: disabled silent-hours inputs */
.set-time:disabled{opacity:.5;cursor:not-allowed;}


/* ===== ported theme palettes (36) ===== */
html[data-palette="platinum"]{--font-head:'Jost',-apple-system,sans-serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="platinum"][data-theme="dark"]{--bg:#0E1013;--bg2:#1a1c1f;--bg3:#26282b;--border:#353639;--border-soft:#26282b;--text:#fafafa;--text-dim:#979899;--text-muted:#68696b;--gold:#C9CDD2;--gold-deep:#9AA0A6;--accent:#C9CDD2;--on-accent:#0a0b0d;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="platinum"][data-theme="light"]{--bg:#fcfcfc;--bg2:#fefefe;--bg3:#f9fafa;--border:#f2f3f4;--border-soft:#f6f7f8;--text:#202122;--text-dim:#7c7d7e;--text-muted:#a4a4a5;--gold:#85878b;--gold-deep:#717376;--accent:#85878b;--on-accent:#fefefe;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="prestige"]{--font-head:'Marcellus',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="prestige"][data-theme="dark"]{--bg:#121009;--bg2:#1e1c15;--bg3:#2a2822;--border:#383630;--border-soft:#2a2822;--text:#faf6f0;--text-dim:#99958f;--text-muted:#6a6761;--gold:#C9A86A;--gold-deep:#9C7B3F;--accent:#C9A86A;--on-accent:#0d0b06;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="prestige"][data-theme="light"]{--bg:#fcfaf6;--bg2:#fefdfc;--bg3:#f9f5ef;--border:#f2eadb;--border-soft:#f6f1e7;--text:#201b11;--text-dim:#7c7971;--text-muted:#a4a19a;--gold:#856f46;--gold-deep:#715e3c;--accent:#856f46;--on-accent:#fefdfc;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="success"]{--font-head:'Oswald','Arial Narrow',sans-serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="success"][data-theme="dark"]{--bg:#0A0C0A;--bg2:#161816;--bg3:#222422;--border:#313331;--border-soft:#222422;--text:#faf6e9;--text-dim:#95948b;--text-muted:#65655f;--gold:#C9A227;--gold-deep:#176B47;--accent:#C9A227;--on-accent:#070807;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="success"][data-theme="light"]{--bg:#fcf9f2;--bg2:#fefdfb;--bg3:#f9f5e7;--border:#f2e9cb;--border-soft:#f6f0dc;--text:#201a06;--text-dim:#7c7869;--text-muted:#a4a094;--gold:#856b1a;--gold-deep:#715b16;--accent:#856b1a;--on-accent:#fefdfb;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="syndicate"]{--font-head:'Oswald','Arial Narrow',sans-serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="syndicate"][data-theme="dark"]{--bg:#0B0A0A;--bg2:#171616;--bg3:#232222;--border:#323131;--border-soft:#232222;--text:#f7f4ed;--text-dim:#94928e;--text-muted:#656360;--gold:#B08D4F;--gold-deep:#7E1C22;--accent:#B08D4F;--on-accent:#080707;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="syndicate"][data-theme="light"]{--bg:#faf8f4;--bg2:#fdfdfb;--bg3:#f6f2ec;--border:#ece4d5;--border-soft:#f2ede3;--text:#1c170d;--text-dim:#79766e;--text-muted:#a19e98;--gold:#745d34;--gold-deep:#634f2c;--accent:#745d34;--on-accent:#fdfdfb;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="salemi"]{--font-head:'EB Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="salemi"][data-theme="dark"]{--bg:#0F0E0C;--bg2:#1b1a18;--bg3:#272624;--border:#353533;--border-soft:#272624;--text:#f8f5ee;--text-dim:#96948f;--text-muted:#686662;--gold:#B79A57;--gold-deep:#5A5A2E;--accent:#B79A57;--on-accent:#0a0a08;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="salemi"][data-theme="light"]{--bg:#fbf9f5;--bg2:#fefdfc;--bg3:#f7f4ed;--border:#eee7d7;--border-soft:#f3efe4;--text:#1d190e;--text-dim:#7a776f;--text-muted:#a29f99;--gold:#796639;--gold-deep:#675730;--accent:#796639;--on-accent:#fefdfc;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="gargano"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="gargano"][data-theme="dark"]{--bg:#0C1115;--bg2:#181d21;--bg3:#24292c;--border:#33373a;--border-soft:#24292c;--text:#faf2ec;--text-dim:#969492;--text-muted:#666667;--gold:#C97B3C;--gold-deep:#1E3A4C;--accent:#C97B3C;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="gargano"][data-theme="light"]{--bg:#fcf7f3;--bg2:#fefcfb;--bg3:#f9f0ea;--border:#f2dfd0;--border-soft:#f6eae0;--text:#20140a;--text-dim:#7c736c;--text-muted:#a49c96;--gold:#855128;--gold-deep:#714522;--accent:#855128;--on-accent:#fefcfb;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="ortigia"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="ortigia"][data-theme="dark"]{--bg:#0C1413;--bg2:#18201f;--bg3:#242c2b;--border:#333a39;--border-soft:#242c2b;--text:#eaf7f6;--text-dim:#8d9897;--text-muted:#606a69;--gold:#2BB3A3;--gold-deep:#C9A85C;--accent:#2BB3A3;--on-accent:#080e0d;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="ortigia"][data-theme="light"]{--bg:#f2faf9;--bg2:#fbfdfd;--bg3:#e8f7f5;--border:#ccede9;--border-soft:#ddf3f0;--text:#071d1a;--text-dim:#6a7a78;--text-muted:#94a2a0;--gold:#1c766c;--gold-deep:#18645c;--accent:#1c766c;--on-accent:#fbfdfd;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="amoruso"]{--font-head:'EB Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="amoruso"][data-theme="dark"]{--bg:#081310;--bg2:#141f1c;--bg3:#212b28;--border:#303936;--border-soft:#212b28;--text:#e8f0ee;--text-dim:#8a9391;--text-muted:#5d6764;--gold:#1E6B52;--gold-deep:#0E3325;--accent:#1E6B52;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="amoruso"][data-theme="light"]{--bg:#E2EDE7;--bg2:#eff5f2;--bg3:#d4dfd9;--border:#c7d1cb;--border-soft:#d2dcd7;--text:#242625;--text-dim:#747a76;--text-muted:#969d99;--gold:#1E6B52;--gold-deep:#1a5b46;--accent:#1E6B52;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="mishima"]{--font-head:'Noto Serif JP',Georgia,serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="mishima"][data-theme="dark"]{--bg:#0B0B0C;--bg2:#171718;--bg3:#232324;--border:#323233;--border-soft:#232324;--text:#f9fafa;--text-dim:#959696;--text-muted:#656666;--gold:#C7C9CC;--gold-deep:#8E2A2A;--accent:#C7C9CC;--on-accent:#080808;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="mishima"][data-theme="light"]{--bg:#fcfcfc;--bg2:#fefefe;--bg3:#f9f9f9;--border:#f2f2f3;--border-soft:#f6f6f7;--text:#202021;--text-dim:#7c7c7d;--text-muted:#a4a4a4;--gold:#838587;--gold-deep:#6f7173;--accent:#838587;--on-accent:#fefefe;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="murat"]{--font-head:'Marcellus',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="murat"][data-theme="dark"]{--bg:#101F3A;--bg2:#1c2a44;--bg3:#28354e;--border:#36435a;--border-soft:#28354e;--text:#f9fafb;--text-dim:#979eaa;--text-muted:#697283;--gold:#C7CDD4;--gold-deep:#13233F;--accent:#C7CDD4;--on-accent:#0b1629;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="murat"][data-theme="light"]{--bg:#E6EAF1;--bg2:#f1f3f7;--bg3:#d8dce3;--border:#caced4;--border-soft:#d6dae0;--text:#252527;--text-dim:#76787c;--text-muted:#999ba0;--gold:#7E8794;--gold-deep:#6b737e;--accent:#7E8794;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="khan"]{--font-head:'Oswald','Arial Narrow',sans-serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="khan"][data-theme="dark"]{--bg:#100D0A;--bg2:#1c1916;--bg3:#282522;--border:#363431;--border-soft:#282522;--text:#f9f6f0;--text-dim:#97948f;--text-muted:#696661;--gold:#C2A06A;--gold-deep:#8A2B22;--accent:#C2A06A;--on-accent:#0b0907;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="khan"][data-theme="light"]{--bg:#fbf9f6;--bg2:#fefdfc;--bg3:#f8f5ef;--border:#f0e8db;--border-soft:#f5f0e7;--text:#1f1a11;--text-dim:#7b7871;--text-muted:#a3a09a;--gold:#806a46;--gold-deep:#6d5a3c;--accent:#806a46;--on-accent:#fefdfc;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="armada"]{--font-head:'EB Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="armada"][data-theme="dark"]{--bg:#0B1018;--bg2:#171c24;--bg3:#23282f;--border:#32363d;--border-soft:#23282f;--text:#f9f6ed;--text-dim:#959594;--text-muted:#656769;--gold:#C2A24E;--gold-deep:#16243B;--accent:#C2A24E;--on-accent:#080b11;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="armada"][data-theme="light"]{--bg:#fbf9f4;--bg2:#fefdfb;--bg3:#f8f5ec;--border:#f0e9d5;--border-soft:#f5f0e3;--text:#1f1a0c;--text-dim:#7b786d;--text-muted:#a3a097;--gold:#806b33;--gold-deep:#6d5b2b;--accent:#806b33;--on-accent:#fefdfb;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="sultana"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="sultana"][data-theme="dark"]{--bg:#130A18;--bg2:#1f1624;--bg3:#2b222f;--border:#39313d;--border-soft:#2b222f;--text:#fbf7eb;--text-dim:#9a9392;--text-muted:#6b6468;--gold:#D4AF37;--gold-deep:#4A1E63;--accent:#D4AF37;--on-accent:#0d0711;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="sultana"][data-theme="light"]{--bg:#F4EEDE;--bg2:#f9f6ed;--bg3:#e5e0d1;--border:#d7d1c3;--border-soft:#e3ddce;--text:#272624;--text-dim:#7d7a72;--text-muted:#a29e94;--gold:#B8941F;--gold-deep:#9c7e1a;--accent:#B8941F;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="arcangela"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="arcangela"][data-theme="dark"]{--bg:#0E1116;--bg2:#1a1d22;--bg3:#26292d;--border:#35373b;--border-soft:#26292d;--text:#f1f6fb;--text-dim:#92969b;--text-muted:#64686d;--gold:#6FA8D6;--gold-deep:#9AA3AD;--accent:#6FA8D6;--on-accent:#0a0c0f;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="arcangela"][data-theme="light"]{--bg:#f6fafd;--bg2:#fcfdfe;--bg3:#eff5fa;--border:#dceaf5;--border-soft:#e8f1f8;--text:#121b22;--text-dim:#72797e;--text-muted:#9ba1a5;--gold:#496f8d;--gold-deep:#3e5e78;--accent:#496f8d;--on-accent:#fcfdfe;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="tarantulae"]{--font-head:'Playfair Display',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="tarantulae"][data-theme="dark"]{--bg:#0D0A0D;--bg2:#191619;--bg3:#252225;--border:#343134;--border-soft:#252225;--text:#f2edf6;--text-dim:#928e94;--text-muted:#646066;--gold:#7A4DA6;--gold-deep:#6E1F2C;--accent:#7A4DA6;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="tarantulae"][data-theme="light"]{--bg:#f7f4fa;--bg2:#fcfbfd;--bg3:#f0ebf5;--border:#dfd4ea;--border-soft:#eae3f1;--text:#140c1b;--text-dim:#736d79;--text-muted:#9c97a1;--gold:#7A4DA6;--gold-deep:#68418d;--accent:#7A4DA6;--on-accent:#fcfbfd;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="black_swan"]{--font-head:'Jost',-apple-system,sans-serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="black_swan"][data-theme="dark"]{--bg:#0A0A0B;--bg2:#161617;--bg3:#222223;--border:#313132;--border-soft:#222223;--text:#fcfcfd;--text-dim:#969697;--text-muted:#666667;--gold:#E6E6E8;--gold-deep:#3A3A3C;--accent:#E6E6E8;--on-accent:#070708;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="black_swan"][data-theme="light"]{--bg:#F1F1F2;--bg2:#f7f7f8;--bg3:#e3e3e3;--border:#d4d4d5;--border-soft:#e0e0e1;--text:#272727;--text-dim:#7c7c7c;--text-muted:#a0a0a1;--gold:#1B1B1D;--gold-deep:#171719;--accent:#1B1B1D;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="vanguard"]{--font-head:'Marcellus',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="vanguard"][data-theme="dark"]{--bg:#0B1C30;--bg2:#17273a;--bg3:#233345;--border:#324051;--border-soft:#233345;--text:#eaeff3;--text-dim:#8c96a1;--text-muted:#606c7a;--gold:#2C5C86;--gold-deep:#0B1E34;--accent:#2C5C86;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="vanguard"][data-theme="light"]{--bg:#E4EBF2;--bg2:#f0f4f8;--bg3:#d6dde3;--border:#c9cfd5;--border-soft:#d4dbe1;--text:#242627;--text-dim:#75797c;--text-muted:#979ca1;--gold:#2C5C86;--gold-deep:#254e72;--accent:#2C5C86;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="wazir"]{--font-head:'Amiri','Times New Roman',serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="wazir"][data-theme="dark"]{--bg:#0A0F14;--bg2:#161b20;--bg3:#22272c;--border:#31353a;--border-soft:#22272c;--text:#e9ecf0;--text-dim:#8b8f94;--text-muted:#5f6368;--gold:#23456E;--gold-deep:#14633F;--accent:#23456E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="wazir"][data-theme="light"]{--bg:#E4E9F0;--bg2:#f0f3f7;--bg3:#d6dbe2;--border:#c9cdd3;--border-soft:#d4d9df;--text:#242526;--text-dim:#75777b;--text-muted:#979b9f;--gold:#23456E;--gold-deep:#1e3b5e;--accent:#23456E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="fionn"]{--font-head:'Marcellus',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="fionn"][data-theme="dark"]{--bg:#0C1A12;--bg2:#18251e;--bg3:#24312a;--border:#333f38;--border-soft:#24312a;--text:#faf3ec;--text-dim:#969890;--text-muted:#666c65;--gold:#D2843C;--gold-deep:#1F4030;--accent:#D2843C;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="fionn"][data-theme="light"]{--bg:#E7F0E4;--bg2:#f2f7f0;--bg3:#d9e2d6;--border:#cbd3c9;--border-soft:#d7dfd4;--text:#252624;--text-dim:#767b75;--text-muted:#999f97;--gold:#C0742E;--gold-deep:#a36327;--accent:#C0742E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="tzu"]{--font-head:'Noto Serif JP',Georgia,serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="tzu"][data-theme="dark"]{--bg:#0E0B0A;--bg2:#1a1716;--bg3:#262322;--border:#353231;--border-soft:#262322;--text:#f9ebea;--text-dim:#968d8c;--text-muted:#67605f;--gold:#C0392B;--gold-deep:#8A241B;--accent:#C0392B;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="tzu"][data-theme="light"]{--bg:#F2EBE4;--bg2:#f8f4f0;--bg3:#e3ddd6;--border:#d5cfc9;--border-soft:#e1dbd4;--text:#272624;--text-dim:#7c7975;--text-muted:#a19c97;--gold:#C0392B;--gold-deep:#a33025;--accent:#C0392B;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="britannia"]{--font-head:'EB Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="britannia"][data-theme="dark"]{--bg:#0A1330;--bg2:#161f3a;--bg3:#222b45;--border:#313951;--border-soft:#222b45;--text:#fae7ea;--text-dim:#958e9c;--text-muted:#656477;--gold:#C8102E;--gold-deep:#012169;--accent:#C8102E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="britannia"][data-theme="light"]{--bg:#EEF0F6;--bg2:#f6f7fa;--bg3:#e0e2e7;--border:#d1d3d8;--border-soft:#dddfe5;--text:#262627;--text-dim:#7a7b7e;--text-muted:#9e9fa3;--gold:#C8102E;--gold-deep:#aa0e27;--accent:#C8102E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="sandhar"]{--font-head:'Cinzel Decorative','Cinzel',serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="sandhar"][data-theme="dark"]{--bg:#0C1A10;--bg2:#18251c;--bg3:#243128;--border:#333f36;--border-soft:#243128;--text:#fcf2ea;--text-dim:#97978e;--text-muted:#676c63;--gold:#E07B2E;--gold-deep:#8E1F2E;--accent:#E07B2E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="sandhar"][data-theme="light"]{--bg:#E6F0E2;--bg2:#f1f7ef;--bg3:#d8e2d4;--border:#cad3c7;--border-soft:#d6dfd2;--text:#252624;--text-dim:#767b74;--text-muted:#999f96;--gold:#D2701F;--gold-deep:#b25f1a;--accent:#D2701F;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="mir"]{--font-head:'Oswald','Arial Narrow',sans-serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="mir"][data-theme="dark"]{--bg:#0C0E12;--bg2:#181a1e;--bg3:#24262a;--border:#333538;--border-soft:#24262a;--text:#f7ebeb;--text-dim:#948e90;--text-muted:#656264;--gold:#B23A3A;--gold-deep:#1C3350;--accent:#B23A3A;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="mir"][data-theme="light"]{--bg:#faf3f3;--bg2:#fdfbfb;--bg3:#f7e9e9;--border:#edd0d0;--border-soft:#f3dfdf;--text:#1c0909;--text-dim:#796b6b;--text-muted:#a19595;--gold:#B23A3A;--gold-deep:#973131;--accent:#B23A3A;--on-accent:#fdfbfb;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="constitution"]{--font-head:'EB Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="constitution"][data-theme="dark"]{--bg:#0B0F1A;--bg2:#171b25;--bg3:#232731;--border:#8E2230;--border-soft:#4A141C;--text:#f7e9eb;--text-dim:#948d93;--text-muted:#656269;--gold:#B22234;--gold-deep:#2A2E63;--accent:#B22234;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="constitution"][data-theme="light"]{--bg:#F0EEE8;--bg2:#f7f6f2;--bg3:#e2e0da;--border:#C0303E;--border-soft:#D89098;--text:#262625;--text-dim:#7b7a77;--text-muted:#9f9e9a;--gold:#B22234;--gold-deep:#971d2c;--accent:#B22234;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="cafe_noir"]{--font-head:'Marcellus',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="cafe_noir"][data-theme="dark"]{--bg:#160E08;--bg2:#221a14;--bg3:#2d2621;--border:#3b3530;--border-soft:#2d2621;--text:#f8f1eb;--text-dim:#99928c;--text-muted:#6c645e;--gold:#B87333;--gold-deep:#3A2418;--accent:#B87333;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="cafe_noir"][data-theme="light"]{--bg:#ECE3D8;--bg2:#f5f0ea;--bg3:#ded5cb;--border:#d0c8be;--border-soft:#dbd3c9;--text:#262423;--text-dim:#79746f;--text-muted:#9d9790;--gold:#B87333;--gold-deep:#9c622b;--accent:#B87333;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="mate_tea"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="mate_tea"][data-theme="dark"]{--bg:#0D0F0A;--bg2:#191b16;--bg3:#252722;--border:#343531;--border-soft:#252722;--text:#f0f3ed;--text-dim:#91938e;--text-muted:#636660;--gold:#6E8B4A;--gold-deep:#3A2E1E;--accent:#6E8B4A;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="mate_tea"][data-theme="light"]{--bg:#f6f8f4;--bg2:#fcfdfb;--bg3:#eff2eb;--border:#dce3d4;--border-soft:#e8ece2;--text:#12160c;--text-dim:#72756d;--text-muted:#9b9e97;--gold:#495c31;--gold-deep:#3e4e2a;--accent:#495c31;--on-accent:#fcfdfb;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="mystic_oud"]{--font-head:'Amiri','Times New Roman',serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="mystic_oud"][data-theme="dark"]{--bg:#0C0908;--bg2:#181514;--bg3:#242221;--border:#333030;--border-soft:#242221;--text:#fafafa;--text-dim:#969594;--text-muted:#666564;--gold:#C9CDD2;--gold-deep:#3A2618;--accent:#C9CDD2;--on-accent:#080606;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="mystic_oud"][data-theme="light"]{--bg:#EEEDEB;--bg2:#f6f5f4;--bg3:#e0dfdd;--border:#d1d1cf;--border-soft:#dddcdb;--text:#262626;--text-dim:#7a7a79;--text-muted:#9e9d9c;--gold:#4A4E54;--gold-deep:#3f4247;--accent:#4A4E54;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="orris_dries"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="orris_dries"][data-theme="dark"]{--bg:#100F12;--bg2:#1c1b1e;--bg3:#28272a;--border:#363538;--border-soft:#28272a;--text:#faf8f4;--text-dim:#989695;--text-muted:#696868;--gold:#C9B98C;--gold-deep:#9A8FB0;--accent:#C9B98C;--on-accent:#0b0a0d;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="orris_dries"][data-theme="light"]{--bg:#fcfbf8;--bg2:#fefefd;--bg3:#f9f7f2;--border:#f2eee3;--border-soft:#f6f4ed;--text:#201e16;--text-dim:#7c7b75;--text-muted:#a4a39e;--gold:#857a5c;--gold-deep:#71684e;--accent:#857a5c;--on-accent:#fefefd;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="bonaparte"]{--font-head:'Cinzel',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="bonaparte"][data-theme="dark"]{--bg:#0B1A38;--bg2:#172542;--bg3:#23314c;--border:#44608A;--border-soft:#2E4767;--text:#e8edf6;--text-dim:#8b94a6;--text-muted:#5f6a80;--gold:#1B4DA0;--gold-deep:#C03434;--accent:#1B4DA0;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="bonaparte"][data-theme="light"]{--bg:#EEF0F5;--bg2:#f6f7fa;--bg3:#e0e2e6;--border:#bccce2;--border-soft:#D6E1F0;--text:#262627;--text-dim:#7a7b7e;--text-muted:#9e9fa3;--gold:#1B4DA0;--gold-deep:#174188;--accent:#1B4DA0;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="yamnaya"]{--font-head:'Oswald','Arial Narrow',sans-serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="yamnaya"][data-theme="dark"]{--bg:#1A1408;--bg2:#252014;--bg3:#312c21;--border:#3f3a30;--border-soft:#312c21;--text:#f0ece9;--text-dim:#96918a;--text-muted:#6b665e;--gold:#6B4423;--gold-deep:#3A2412;--accent:#6B4423;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="yamnaya"][data-theme="light"]{--bg:#ECE4C9;--bg2:#f5f0e1;--bg3:#ded6bd;--border:#d0c9b1;--border-soft:#dbd4bb;--text:#262420;--text-dim:#797567;--text-muted:#9d9785;--gold:#5C3A1E;--gold-deep:#4e311a;--accent:#5C3A1E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="fretensis"]{--font-head:'Cinzel',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="fretensis"][data-theme="dark"]{--bg:#160A09;--bg2:#221615;--bg3:#2d2222;--border:#3b3130;--border-soft:#2d2222;--text:#f6ebea;--text-dim:#988c8c;--text-muted:#6b605e;--gold:#A8332B;--gold-deep:#6E1A16;--accent:#A8332B;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="fretensis"][data-theme="light"]{--bg:#F0E2DF;--bg2:#f7efed;--bg3:#e2d4d2;--border:#d3c7c4;--border-soft:#dfd2cf;--text:#262424;--text-dim:#7b7473;--text-muted:#9f9694;--gold:#A8332B;--gold-deep:#8f2b25;--accent:#A8332B;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="revolution"]{--font-head:'Oswald','Arial Narrow',sans-serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="revolution"][data-theme="dark"]{--bg:#0C0D0E;--bg2:#18191a;--bg3:#242526;--border:#333435;--border-soft:#242526;--text:#f7ebeb;--text-dim:#948e8e;--text-muted:#656162;--gold:#B23A33;--gold-deep:#2E3033;--accent:#B23A33;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="revolution"][data-theme="light"]{--bg:#faf3f3;--bg2:#fdfbfb;--bg3:#f7e9e9;--border:#edd0ce;--border-soft:#f3dfde;--text:#1c0908;--text-dim:#796b6b;--text-muted:#a19595;--gold:#B23A33;--gold-deep:#97312b;--accent:#B23A33;--on-accent:#fdfbfb;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="chaos"]{--font-head:'Jost',-apple-system,sans-serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="chaos"][data-theme="dark"]{--bg:#040406;--bg2:#111112;--bg3:#1d1d1f;--border:#2E2E34;--border-soft:#161619;--text:#e9e9ea;--text-dim:#89898a;--text-muted:#5b5b5d;--gold:#26262C;--gold-deep:#1A1A1F;--accent:#26262C;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="chaos"][data-theme="light"]{--bg:#EAEAF1;--bg2:#f3f3f7;--bg3:#dcdce3;--border:#33333A;--border-soft:#B8B8C0;--text:#252527;--text-dim:#78787c;--text-muted:#9b9ba0;--gold:#1A1A1E;--gold-deep:#16161a;--accent:#1A1A1E;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="achlys"]{--font-head:'Playfair Display',Georgia,serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;}
html[data-palette="achlys"][data-theme="dark"]{--bg:#080A09;--bg2:#141615;--bg3:#212222;--border:#303130;--border-soft:#212222;--text:#ecf8f3;--text-dim:#8c9491;--text-muted:#5f6462;--gold:#3FB984;--gold-deep:#4A2A6A;--accent:#3FB984;--on-accent:#060706;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="achlys"][data-theme="light"]{--bg:#f3fbf8;--bg2:#fbfefd;--bg3:#eaf7f1;--border:#d1eee1;--border-soft:#e0f4eb;--text:#0a1e15;--text-dim:#6c7b74;--text-muted:#96a39d;--gold:#2a7a57;--gold-deep:#24684a;--accent:#2a7a57;--on-accent:#fbfefd;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="gaia"]{--font-head:'Cormorant Garamond',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="gaia"][data-theme="dark"]{--bg:#0C0F0A;--bg2:#181b16;--bg3:#242722;--border:#333531;--border-soft:#242722;--text:#eaefec;--text-dim:#8d918d;--text-muted:#606460;--gold:#2F5D44;--gold-deep:#1A3A2A;--accent:#2F5D44;--on-accent:#ffffff;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="gaia"][data-theme="light"]{--bg:#f6f8f4;--bg2:#fafbf9;--bg3:#e7e9e5;--border:#d8dad7;--border-soft:#e5e7e3;--text:#272827;--text-dim:#7e7f7d;--text-muted:#a3a5a2;--gold:#234A36;--gold-deep:#1e3f2e;--accent:#234A36;--on-accent:#ffffff;--shadow:0 8px 30px rgba(60,50,20,.10);}
html[data-palette="eros"]{--font-head:'Playfair Display',Georgia,serif;--font-body:'Montserrat','Segoe UI',sans-serif;}
html[data-palette="eros"][data-theme="dark"]{--bg:#120C0D;--bg2:#1e1819;--bg3:#2a2425;--border:#383334;--border-soft:#2a2425;--text:#faf4f3;--text-dim:#999392;--text-muted:#6a6464;--gold:#C98F86;--gold-deep:#8E2A3A;--accent:#C98F86;--on-accent:#0d0809;--shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-palette="eros"][data-theme="light"]{--bg:#fcf8f8;--bg2:#fefdfd;--bg3:#f9f3f2;--border:#f2e4e2;--border-soft:#f6edec;--text:#201715;--text-dim:#7c7674;--text-muted:#a49e9d;--gold:#855e58;--gold-deep:#71504b;--accent:#855e58;--on-accent:#fefdfd;--shadow:0 8px 30px rgba(60,50,20,.10);}

/* collapsible theme groups */
.theme-stack{display:grid;gap:10px;align-items:start;grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.theme-stack{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.theme-stack{grid-template-columns:repeat(2,1fr);}}
@media(max-width:420px){.theme-stack{grid-template-columns:1fr;}}
.theme-group{border:1px solid var(--border-soft);border-radius:12px;background:var(--bg2);overflow:hidden;}
.theme-group .tg-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-head);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:12px;text-align:left;}
.theme-group .tg-toggle.open{color:var(--text);}
.tg-chev{font-size:9px;transition:transform .2s;}
.tg-toggle.open .tg-chev{transform:rotate(90deg);}
.theme-group .tg-grid{display:none;padding:0 10px 10px;}
.theme-group .tg-grid.open{display:flex;flex-direction:column;gap:6px;}


/* pinned favourites row */
.theme-pinned-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 2px 8px;font-family:var(--font-head);}
.theme-pinned{display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:18px;}
@media(min-width:700px){.theme-pinned{grid-template-columns:repeat(4,1fr);}}


/* ── VIP theme gate (added by vipthemes patch) ────────────────────────────
   Locked chips: non-VIP can see the swatch but cannot pick or pin it.
   Lock icon sits top-right; pin button is hidden for locked rows. */
.theme-chip.locked{opacity:.45;cursor:not-allowed;}
.theme-chip.locked:hover{border-color:var(--border);}
.theme-chip .theme-chip-lock{position:absolute;top:6px;right:8px;font-size:9.5px;color:var(--text-muted);opacity:.7;pointer-events:none;}
.theme-chip.locked .theme-pin{display:none;}
.theme-group.locked .tg-toggle{color:var(--text-muted);}
.theme-group .tg-lock{margin-left:auto;font-size:10px;opacity:.65;}
.theme-group .tg-viponly{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);background:rgba(127,127,127,.10);padding:2px 7px;border-radius:6px;margin-left:6px;}

/* ── Portrait lock overlay (phones in landscape only) ── */
#rotateLock{display:none;}
@media screen and (orientation: landscape) and (max-height: 500px){
  #rotateLock{
    display:flex; position:fixed; inset:0; z-index:2147483647;
    align-items:center; justify-content:center; text-align:center;
    background:#000; color:#f5f2ec; padding:24px;
  }
  #rotateLock .rl-inner{max-width:360px;}
  #rotateLock .rl-icon{font-size:46px;color:#C9A84C;margin-bottom:16px;display:block;
    transform:rotate(90deg);animation:rlspin 1.6s ease-in-out infinite;}
  #rotateLock .rl-title{font-size:18px;font-weight:700;margin-bottom:8px;}
  #rotateLock .rl-sub{font-size:13.5px;color:#bdb7ab;line-height:1.5;}
  @keyframes rlspin{0%,40%{transform:rotate(90deg);}60%,100%{transform:rotate(0deg);}}
}

/* ── Map: let the rounded frame cover the Leaflet/OSM attribution strip ── */
.map-wrap .leaflet-control-attribution{display:none;}

/* ── VIP lists: two items per row on desktop only (mobile/PWA stay single column) ── */
@media (min-width:860px){
  #nobList,#chList,#vndList{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
  #nobList>*,#chList>*,#vndList>*{margin-bottom:0;}
  #nobList>p,#chList>p,#vndList>p,#nobList>.card.center,#vndList>.card.center,.vnd-sec{grid-column:1/-1;}
}
.pro-rate{margin:8px 0 2px;font-size:12.5px;font-weight:700;color:var(--gold,#C8A24B);letter-spacing:.01em;line-height:1.4;}
.algoz-modal.pp .pro-rate{font-size:14px;margin:10px 0 2px;}

/* live recording waveform + playback equalizer */
.rec-wave{display:flex;align-items:center;gap:2px;flex:1;height:26px;min-width:0;overflow:hidden;}
.rec-wave i{flex:1 1 0;min-width:2px;max-width:4px;border-radius:2px;background:#e0564f;height:12%;transition:height .07s linear;}
.rec-wave.synthetic i{animation:recbounce .9s ease-in-out infinite;}
.rec-wave.synthetic i:nth-child(2n){animation-delay:.15s;}
.rec-wave.synthetic i:nth-child(3n){animation-delay:.30s;}
.rec-wave.synthetic i:nth-child(4n){animation-delay:.45s;}
@keyframes recbounce{0%,100%{height:14%;}50%{height:80%;}}
@keyframes audbounce{0%,100%{transform:scaleY(.45);}50%{transform:scaleY(1);}}
.aud-wave.playing i{transform-origin:center bottom;animation:audbounce .8s ease-in-out infinite;}

.chat-audio .aud-native{display:block;width:100%;margin-top:8px;height:34px;}

/* Larger, reliable tap targets for voice-note transcribe/translate on mobile */
@media(max-width:600px){
  .chat-audio .aud-tx,.chat-audio .aud-tx2{min-height:34px;min-width:38px;}
  .chat-audio .aud-tx2{width:38px;}
}

/* Swipe-left-to-reply on chat bubbles */
.chat-bubble[data-mid]{touch-action:pan-y;transition:transform .18s ease;}
.chat-bubble[data-mid].cb-swiping{transition:none;}
.chat-bubble[data-mid]::after{content:"\f3e5";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;top:50%;right:-34px;transform:translateY(-50%) scale(.5);font-size:15px;color:var(--accent);opacity:0;transition:opacity .12s ease,transform .12s ease;pointer-events:none;}
.chat-bubble[data-mid].cb-willreply::after{opacity:1;transform:translateY(-50%) scale(1);}
.chat-bubble[data-mid]::before{content:"\f064";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;top:50%;left:-34px;transform:translateY(-50%) scale(.5);font-size:15px;color:var(--accent);opacity:0;transition:opacity .12s ease,transform .12s ease;pointer-events:none;}
.chat-bubble[data-mid].cb-willfwd::before{opacity:1;transform:translateY(-50%) scale(1);}

/* Featured cards grid (member home) */
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:600px){.featured-grid{grid-template-columns:repeat(2,1fr);}.featured-grid .featured-title{font-size:14px;}.featured-grid .featured-text{font-size:12px;}.featured-grid .featured-body{padding:11px;}}
.featured-card{cursor:pointer;}
.feat-pop{max-width:520px;}
.feat-pop .feat-pop-img{width:100%;aspect-ratio:3/4;max-height:54vh;object-fit:cover;border-radius:12px;display:block;margin:2px 0 14px;}
.feat-pop .feat-pop-title{font-family:'Cinzel',serif;font-size:23px;font-weight:400;color:var(--gold-deep);line-height:1.25;letter-spacing:.01em;margin:0 0 10px;}
.feat-pop .feat-pop-text{font-size:15px;line-height:1.55;opacity:.92;}
.feat-pop .feat-pop-btn{margin-top:18px;width:100%;}
.featured-grid .featured-img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;display:block;}
.featured-btn{margin-top:12px;display:inline-block;background:var(--accent);color:#1a1407;border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;}
.featured-btn:active{opacity:.85;}

/* ── Algoz Map: compact mini-card + tap-through detail pop-up ── */
.mapmini{margin-bottom:12px;cursor:pointer;transition:border-color .15s,transform .05s;}
.mapmini:hover{border-color:var(--accent);}
.mapmini:active{transform:scale(.995);}
.mapmini-chev{margin-left:auto;color:var(--text-muted);font-size:13px;align-self:center;}
.md-card{text-align:center;}
.md-hero{margin:0 auto 16px;border-radius:14px;overflow:hidden;background:var(--bg3);}
.md-hero.md-hero-square{width:170px;aspect-ratio:1/1;border-radius:12px;}
.md-hero.md-hero-portrait{width:240px;max-width:72%;aspect-ratio:3/4;}
.md-hero img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.md-hero.md-hero-square img{object-position:center;}
.md-hero-ph{display:flex;align-items:center;justify-content:center;font-size:56px;color:var(--text-muted);}
.md-name{font-family:var(--font-head);font-size:21px;font-weight:600;color:var(--text);}
.md-type{font-size:13px;font-weight:600;color:var(--accent);margin-top:3px;letter-spacing:.02em;}
.md-city{font-size:13px;color:var(--text-dim);margin-top:6px;}
.md-langs{font-size:12.5px;color:var(--text-muted);margin-top:5px;}
.md-icons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:18px 0 4px;}
.md-ic{width:46px;height:46px;border-radius:50%;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:18px;text-decoration:none;transition:background .15s,color .15s;}
.md-ic:hover{background:var(--accent);color:var(--on-accent,#0a0a0a);}
.md-detail{font-size:13.5px;line-height:1.6;color:var(--text-dim);margin-top:16px;text-align:left;white-space:pre-line;border-top:1px solid var(--border);padding-top:14px;}

/* Reauth / 2FA-disable modal — always-present styles (not tied to the invite sheet). */
.reauth-ovl{position:fixed;inset:0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:10050;opacity:0;pointer-events:none;transition:opacity .2s;padding:18px;box-sizing:border-box;}
.reauth-ovl.open{opacity:1;pointer-events:auto;}
.reauth-card{width:100%;max-width:380px;background:var(--card,#fff);color:var(--text,#1a1a1a);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:16px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.35);}
.reauth-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.reauth-h h3{margin:0;font-size:17px;font-weight:600;}
.reauth-x{background:none;border:none;font-size:24px;line-height:1;color:var(--text-muted,#888);cursor:pointer;padding:0 4px;}
.reauth-sub{margin:0 0 14px;font-size:13.5px;line-height:1.5;color:var(--text-muted,#777);}
.reauth-inp{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--border,rgba(0,0,0,.18));background:var(--bg2,#f4f1ea);color:var(--text,#1a1a1a);font-size:15px;margin-bottom:12px;box-sizing:border-box;}
.reauth-card .btn{width:100%;}
.reauth-msg{margin-top:10px;font-size:13px;color:#d23b3a;min-height:16px;text-align:center;}

/* ── VIP services: two per line ── */
#nobList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start;}
#nobList>.card.center,#nobList>p{grid-column:1/-1;}
/* ── Around Me popup: rating stars + Algoz seal ── */
.pp-stars{color:#c9a84c;font-size:12px;letter-spacing:1.5px;margin:2px 0 1px;}
.pp-stars .pp-plus{color:#c9a84c;font-weight:800;margin-left:2px;font-size:12px;letter-spacing:0;}
.pp-seal{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#c9a84c;border:1px solid rgba(201,168,76,.55);border-radius:20px;padding:2px 9px;margin:2px 0 5px;}
/* ── Preferences: collapsible cards (start retracted, remember state) ── */
.pref-cat-head{cursor:pointer;display:flex;align-items:center;gap:9px;user-select:none;}
.pref-cat-head .pc-chev{margin-left:auto;font-size:11px;color:var(--text-muted);transition:transform .18s;}
.pref-cat.collapsed .pc-chev{transform:rotate(-90deg);}
.pref-cat.collapsed .pref-cat-body{display:none;}
.pref-cat .pref-cat-body{margin-top:10px;}
.pref-cat.collapsed .pref-cat-head{margin-bottom:0;}
