/* Oráculo Digital — Design System 2.0 / visual and accessibility upgrade */
:root{
  --od-bg:#06101a;
  --od-panel:rgba(5,17,27,.91);
  --od-panel-soft:rgba(7,22,34,.80);
  --od-panel-raised:rgba(8,25,39,.94);
  --od-gold:#d4a33f;
  --od-gold-2:#f0d28b;
  --od-gold-3:#fff0bd;
  --od-gold-dim:#936d2d;
  --od-purple:#7132ad;
  --od-purple-2:#a85cf6;
  --od-purple-3:#d9adff;
  --od-green:#72a36b;
  --od-red:#cf5d62;
  --od-cream:#f3e9cf;
  --od-text:#e9dfc9;
  --od-muted:#b4a88f;
  --od-line:rgba(211,158,62,.42);
  --od-line-soft:rgba(211,158,62,.18);
  --od-focus:#c476ff;
  --od-shadow:0 22px 70px rgba(0,0,0,.58),0 1px 0 rgba(255,239,192,.05) inset;
  --od-font-display:"Cinzel Decorative","Cinzel",Georgia,serif;
  --od-font-title:"Cinzel",Georgia,"Times New Roman",serif;
  --od-font-body:"Source Sans 3",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --od-radius-xs:4px;
  --od-radius-sm:8px;
  --od-radius-md:12px;
  --od-radius-lg:18px;
  --od-text-scale:1;
  --sidebar:278px;
  --topbar:76px;
}

html{font-size:calc(16px * var(--od-text-scale));scroll-behavior:smooth}
body{background:#03070b}
.skip-link{position:fixed;z-index:9999;left:16px;top:12px;transform:translateY(-160%);padding:11px 16px;border:1px solid var(--od-gold);border-radius:8px;background:#071521;color:#fff4d2;font:600 14px var(--od-font-body);text-decoration:none;box-shadow:0 0 0 4px rgba(168,92,246,.28);transition:transform .2s}
.skip-link:focus{transform:none}

.realm-app{font-family:var(--od-font-body);letter-spacing:.005em;background:#03101a}
.realm-app::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.17;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08) 0 1px,transparent 1.5px),radial-gradient(circle at 75% 62%,rgba(207,160,70,.09) 0 1px,transparent 1.5px);background-size:43px 43px,67px 67px;mix-blend-mode:screen}
.realm-background{filter:brightness(.49) saturate(1.25) contrast(1.08)}
.realm-veil{background:linear-gradient(90deg,rgba(2,10,17,.98) 0,rgba(3,14,23,.83) 17%,rgba(2,8,14,.22) 43%,rgba(2,8,14,.52) 100%),linear-gradient(180deg,rgba(2,8,14,.84),transparent 20%,transparent 69%,rgba(2,8,14,.92)),radial-gradient(circle at 55% 42%,transparent 12%,rgba(0,5,10,.48) 88%)}
.realm-cursor-glow{width:620px;height:620px;background:radial-gradient(circle,rgba(168,92,246,.14),rgba(212,163,63,.035) 36%,transparent 69%);filter:blur(15px)}

/* Typography */
.brand-lockup strong,.brand-lockup span,.section-heading h1,.panel-title h2,.scene-callout h3,.card-content h3,.content-card h4,.modal-card h2,.metric strong,.table-row b,.table-value,.heading-copy h1{font-family:var(--od-font-title)}
.brand-lockup strong,.section-heading h1,.heading-copy h1{font-family:var(--od-font-display)}
.realm-app p,.realm-app small,.realm-app input,.realm-app textarea,.realm-app select,.realm-app button{font-family:var(--od-font-body)}
.section-heading h1{font-weight:500;letter-spacing:.035em;text-shadow:0 2px 20px rgba(0,0,0,.8)}
.section-heading h1,.panel-title h2,.scene-callout h3,.card-content h3,.content-card h4,.modal-card h2{background:linear-gradient(180deg,#fff0bd 3%,#dfb962 54%,#a8792b 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-kicker{font-family:var(--od-font-title)!important;font-weight:600;letter-spacing:.18em!important;text-transform:uppercase;color:var(--od-purple-3)!important}

/* Sidebar */
.realm-sidebar{padding:16px 14px 13px;background:linear-gradient(180deg,rgba(3,15,25,.985),rgba(3,12,20,.96));border-right-color:rgba(211,158,62,.42);box-shadow:18px 0 70px rgba(0,0,0,.36),1px 0 0 rgba(250,218,145,.06) inset}
.realm-sidebar::after{content:"";position:absolute;inset:7px 6px;pointer-events:none;border:1px solid rgba(211,158,62,.14);border-radius:14px}
.brand-lockup{position:relative;padding:4px 6px 18px;gap:12px}
.brand-logo{width:70px;height:70px;filter:contrast(1.1) saturate(1.08) drop-shadow(0 0 15px rgba(212,163,63,.18))}
.brand-lockup strong{font-size:17px;letter-spacing:.075em;color:#efcf80}
.brand-lockup span{font-family:var(--od-font-title);font-size:12px;letter-spacing:.31em;color:#d7aa52}
.brand-lockup small{font-size:8px;letter-spacing:.105em;color:#b28d48}
.realm-nav{margin-top:10px;padding:0 3px 0 1px}
.nav-group-title{font:600 9px var(--od-font-title);letter-spacing:.2em;color:#8e7950;padding:12px 10px 5px}
.nav-item{min-height:42px;gap:12px;padding:9px 12px;margin:2px 0;border-radius:8px;color:#cabd9f;overflow:hidden}
.nav-item::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.08) 48%,transparent 70%);transform:translateX(-120%);transition:transform .55s ease}
.nav-item:hover::after{transform:translateX(120%)}
.nav-item svg{width:19px;height:19px;color:#d2a348;filter:drop-shadow(0 0 4px rgba(210,163,72,.25))}
.nav-item span{font-size:13px;font-weight:500}
.nav-item:hover{background:linear-gradient(90deg,rgba(211,158,62,.09),rgba(168,92,246,.06));border-color:rgba(211,158,62,.18);color:#fff0c5;transform:translateX(3px)}
.nav-item.is-active{background:linear-gradient(90deg,rgba(74,32,103,.92),rgba(52,25,76,.7) 68%,rgba(31,19,45,.36));border-color:rgba(231,190,96,.65);color:#fff2cb;box-shadow:inset 0 0 20px rgba(193,107,255,.18),0 0 20px rgba(121,52,171,.22)}
.nav-item.is-active::before{top:9px;bottom:9px;width:3px;background:linear-gradient(#f5d783,#b868fb);box-shadow:0 0 12px #ae61f2}
.sidebar-card{position:relative;border-color:rgba(211,158,62,.35);border-radius:10px;background:linear-gradient(145deg,rgba(9,24,34,.94),rgba(4,12,20,.93));overflow:hidden}
.sidebar-card::before{content:"";position:absolute;inset:4px;pointer-events:none;border:1px solid rgba(211,158,62,.09);border-radius:7px}
.currency-card{min-height:69px}.currency-crystal{color:#bd6bff;text-shadow:0 0 18px #7e32b8}
.live-card strong{font-family:var(--od-font-title);font-weight:500;color:#ead8aa}

/* Topbar */
.realm-topbar{padding:10px 20px;gap:14px;background:linear-gradient(90deg,rgba(3,15,25,.97),rgba(5,14,24,.9));border-bottom-color:rgba(211,158,62,.38);box-shadow:0 12px 42px rgba(0,0,0,.34);backdrop-filter:blur(18px) saturate(1.25)}
.breadcrumbs{font-size:12px}.breadcrumbs strong{font-family:var(--od-font-title);font-size:13px;color:#efcf82}
.realm-search{height:44px;border-radius:11px;border-color:rgba(211,158,62,.36);background:rgba(1,9,15,.72);box-shadow:0 1px 0 rgba(255,255,255,.03) inset}
.realm-search::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#ae5af5,transparent);opacity:0;transition:.25s}
.realm-search:focus-within::after{opacity:1}
.realm-search input{font-size:13px;color:#f0e4cb}
.top-icon,.mobile-menu{width:44px;height:44px;border-color:rgba(211,158,62,.38);background:linear-gradient(145deg,rgba(8,23,34,.92),rgba(2,10,17,.85));color:#dfb75e;box-shadow:0 3px 13px rgba(0,0,0,.24)}
.top-icon:hover,.top-icon:focus-visible{color:#fff0bd;border-color:#e4bb61;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.35),0 0 18px rgba(211,158,62,.18)}
.currency-pill{height:48px;min-width:166px;border-radius:12px;border-color:rgba(211,158,62,.5);background:linear-gradient(110deg,rgba(58,21,82,.9),rgba(8,17,25,.94) 67%);box-shadow:0 8px 24px rgba(0,0,0,.26),0 0 16px rgba(124,47,178,.1) inset}
.currency-pill b{font-family:var(--od-font-title);font-size:16px}.currency-pill small{font-size:10px}
.profile-chip{min-height:48px;border:1px solid rgba(211,158,62,.25);border-radius:25px;padding:4px 10px 4px 5px;background:rgba(3,13,21,.48);transition:.2s}
.profile-chip:hover{border-color:rgba(211,158,62,.55);background:rgba(10,24,34,.8)}
.profile-chip .avatar{width:38px;height:38px;background:radial-gradient(circle at 45% 30%,#bc6cff,#512071 56%,#151124);box-shadow:0 0 0 1px #d6aa55,0 0 15px rgba(170,82,235,.28)}

/* Section framing */
.realm-main{scrollbar-color:#a97733 rgba(0,0,0,.15)}
.section-shell{max-width:1720px;padding:24px clamp(18px,2.2vw,38px) 54px}
.section-heading{position:relative;align-items:flex-end;margin-bottom:18px;padding:4px 3px 17px;border-bottom:1px solid rgba(211,158,62,.2)}
.section-heading::after{content:"✦";position:absolute;left:0;bottom:-10px;width:80px;color:#d6a344;text-align:center;background:linear-gradient(90deg,transparent,#091520 25%,#091520 75%,transparent);font-size:13px;text-shadow:0 0 10px rgba(212,163,63,.4)}
.section-heading h1{font-size:clamp(31px,2.65vw,48px);line-height:1.08;margin-bottom:8px}
.section-heading .heading-copy>p:last-child{max-width:760px;font-size:14px;line-height:1.55;color:#c0b398}
.heading-actions{gap:10px}

/* Ornamented panels */
.realm-panel{position:relative;border:1px solid rgba(211,158,62,.38);border-radius:12px;background:linear-gradient(145deg,rgba(7,22,33,.94),rgba(3,12,20,.91));box-shadow:var(--od-shadow);backdrop-filter:blur(13px) saturate(1.18);overflow:hidden}
.realm-panel::before,.realm-panel::after{content:"";position:absolute;pointer-events:none;z-index:3;width:18px;height:18px}
.realm-panel::before{left:5px;top:5px;border-left:1px solid rgba(239,200,111,.68);border-top:1px solid rgba(239,200,111,.68)}
.realm-panel::after{right:5px;bottom:5px;border-right:1px solid rgba(239,200,111,.5);border-bottom:1px solid rgba(239,200,111,.5)}
.panel-title{padding:15px 17px 13px;border-bottom-color:rgba(211,158,62,.23);background:linear-gradient(90deg,rgba(211,158,62,.045),transparent)}
.panel-title h2{font-size:18px;font-weight:500;letter-spacing:.04em}
.panel-title small{font-size:10px;color:#9f906f}
.panel-body{padding:16px}
.scene-layout{gap:18px}
.scene-callout{border-color:rgba(232,186,84,.48);background:linear-gradient(110deg,rgba(7,20,30,.95),rgba(26,15,35,.91));box-shadow:0 20px 50px rgba(0,0,0,.48),0 0 30px rgba(129,56,178,.12)}
.scene-callout .callout-icon{border-color:rgba(225,179,75,.55);background:radial-gradient(circle,rgba(147,65,199,.34),rgba(7,15,23,.9) 68%);color:#e7be68;box-shadow:0 0 25px rgba(155,70,214,.2)}
.scene-callout h3{font-size:20px;letter-spacing:.03em}
.scene-callout p{font-size:12px;line-height:1.62;color:#bbae91}

/* Buttons and inputs */
.od-button,.od-enter,.od-guided{position:relative;isolation:isolate;min-height:42px;border-radius:7px;overflow:hidden}
.od-button{padding:10px 17px;border-color:rgba(229,186,88,.58);background:linear-gradient(180deg,#5b2978,#381a4c);font:600 12px var(--od-font-title);letter-spacing:.045em;color:#f7e6bb;box-shadow:0 6px 16px rgba(0,0,0,.26),0 1px 0 rgba(255,255,255,.1) inset}
.od-button::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.16) 48%,transparent 72%);transform:translateX(-125%);transition:transform .55s}
.od-button::after{content:"✦";margin-left:9px;color:#e9be62;font-size:9px}
.od-button:hover::before{transform:translateX(125%)}
.od-button:hover{border-color:#f0cc77;transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.36),0 0 22px rgba(148,66,201,.28)}
.od-button:active{transform:translateY(0) scale(.985)}
.od-button.secondary{background:linear-gradient(180deg,rgba(17,34,44,.96),rgba(5,15,24,.96));color:#e0c996}
.od-button.ghost{border-color:rgba(211,158,62,.22);background:rgba(5,15,23,.42);color:#c8b58e}
.od-button.success{background:linear-gradient(180deg,#47713e,#263e28)}
.od-button.danger{background:linear-gradient(180deg,#7d3037,#481b22)}
.icon-button,.text-button,.menu-option,.feature-item,.content-card,.vote-button,.switch{transition:transform .2s,border-color .2s,background .2s,color .2s,box-shadow .2s}
.menu-option{min-height:58px;border-radius:8px;padding:11px 12px}
.menu-option:hover,.menu-option:focus-visible{background:linear-gradient(90deg,rgba(211,158,62,.08),rgba(164,78,220,.09));border-color:rgba(211,158,62,.38);transform:translateX(3px)}
.menu-option.is-selected{background:linear-gradient(90deg,rgba(83,37,111,.84),rgba(46,23,63,.6));border-color:rgba(229,187,91,.55);box-shadow:inset 0 0 20px rgba(168,92,246,.14)}
.option-icon,.feature-icon{color:#dfa947;filter:drop-shadow(0 0 5px rgba(218,165,68,.25))}
.menu-option b,.feature-item b{font-family:var(--od-font-title);font-size:13px;font-weight:500;color:#ebd6a7}
.menu-option small,.feature-item small{font-size:10px;line-height:1.4;color:#a89a7e}
.feature-item{min-height:64px;border-radius:8px;padding:11px 10px}
.feature-item:hover,.feature-item:focus-visible{background:linear-gradient(90deg,rgba(166,77,223,.10),rgba(211,158,62,.06));border-color:rgba(211,158,62,.3);transform:translateX(-2px)}
.feature-item .status{border:1px solid rgba(173,87,235,.35);border-radius:999px;padding:4px 8px;background:rgba(100,39,139,.24);color:#d9aaff;font-size:9px}
.form-field input,.form-field textarea,.form-field select,.realm-app input,.realm-app textarea,.realm-app select{border-color:rgba(211,158,62,.32);background:rgba(1,9,15,.68);color:#eee3cb}
.form-field input:focus,.form-field textarea:focus,.realm-app input:focus,.realm-app textarea:focus,.realm-app select:focus{border-color:#b45ef5;box-shadow:0 0 0 3px rgba(180,94,245,.16),0 0 18px rgba(180,94,245,.12)}

/* Cards */
.dashboard-layout{gap:18px}.dash-card{border-radius:12px}.card-image{height:150px;filter:brightness(.77) saturate(1.22) contrast(1.04);transition:transform .55s ease,filter .35s}.dash-card:hover .card-image,.content-card:hover .card-image{filter:brightness(.9) saturate(1.28);transform:scale(1.025)}
.card-content{padding:17px}.card-content h3{font-size:19px}.card-content p{font-size:12px;line-height:1.58;color:#b3a68c}
.content-grid{gap:12px}.content-card{border-radius:10px;padding:15px;background:linear-gradient(145deg,rgba(10,27,38,.88),rgba(3,13,20,.84));overflow:hidden}
.content-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent,rgba(255,255,255,.04),transparent);transform:translateX(-100%);transition:transform .65s}
.content-card:hover::before{transform:translateX(100%)}
.content-card:hover{border-color:rgba(226,182,82,.57);transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.36),0 0 22px rgba(153,71,206,.11)}
.content-card h4{font-size:16px}.content-card p{font-size:11px;line-height:1.55;color:#a99c82}
.tag{min-height:22px;padding:3px 9px;font-size:9px;font-weight:600;letter-spacing:.035em}
.metric{border-radius:9px;background:linear-gradient(145deg,rgba(211,158,62,.05),rgba(0,0,0,.18));padding:14px}
.metric small{font-size:10px}.metric strong{font-size:21px}
.progress-track{height:8px;background:rgba(255,255,255,.08);box-shadow:0 1px 4px rgba(0,0,0,.5) inset}
.progress-fill{background:linear-gradient(90deg,#6e2a9c,#b45af0 65%,#e2a8ff);box-shadow:0 0 15px rgba(184,90,244,.75)}

/* Map 2.0 */
.map-layout{height:min(77vh,840px);min-height:610px;border-radius:15px;border-color:rgba(222,178,76,.55);background:#04101a;box-shadow:0 28px 90px rgba(0,0,0,.68),0 0 0 1px rgba(255,239,184,.04) inset;touch-action:none}
.map-layout::before,.map-layout::after{content:"";position:absolute;z-index:11;pointer-events:none;inset:8px;border:1px solid rgba(221,175,73,.17);border-radius:10px}
.map-layout::after{inset:0;background:radial-gradient(circle at 50% 44%,transparent 32%,rgba(0,5,10,.13) 62%,rgba(0,4,8,.52) 100%);border:0}
.map-stage{position:absolute;inset:0;transform-origin:center;will-change:transform;transition:transform .45s cubic-bezier(.2,.75,.2,1)}
.map-stage.is-dragging{transition:none;cursor:grabbing}
.map-image{filter:brightness(.88) saturate(1.18) contrast(1.06);transform:scale(1.025)}
.map-layout:hover .map-image{transform:scale(1.025)}
.map-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 52% 45%,rgba(196,100,255,.11),transparent 21%),radial-gradient(circle at 78% 28%,rgba(255,199,90,.08),transparent 18%);mix-blend-mode:screen;animation:map-breathe 7s ease-in-out infinite alternate}
@keyframes map-breathe{to{opacity:.58;filter:saturate(1.2)}}
.map-routes{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 5px rgba(235,190,87,.48))}
.map-routes path{fill:none;stroke:url(#routeGradient);stroke-width:.32;stroke-linecap:round;stroke-dasharray:1.5 1.1;vector-effect:non-scaling-stroke;animation:route-flow 18s linear infinite}
.map-routes path.route-secondary{stroke-width:.22;opacity:.62;animation-duration:28s}
@keyframes route-flow{to{stroke-dashoffset:-48}}
.map-hotspot{z-index:5;min-width:1px;min-height:1px}
.map-hotspot .pulse{width:20px;height:20px;background:radial-gradient(circle,#efe2ff 0 16%,#a850e3 30%,#592078 70%);border:2px solid #f1d488;box-shadow:0 0 0 0 rgba(173,90,235,.55),0 0 22px #a74bef,0 0 4px #fff inset}
.map-hotspot .label{display:grid;grid-template-columns:34px minmax(112px,1fr) auto;gap:8px;align-items:center;bottom:29px;min-width:190px;padding:9px 10px;border:1px solid rgba(226,181,80,.58);border-radius:8px;background:linear-gradient(135deg,rgba(3,15,24,.96),rgba(8,17,26,.92));box-shadow:0 12px 30px rgba(0,0,0,.48),0 0 18px rgba(132,55,184,.12);font-family:var(--od-font-body);opacity:.96;transform:translateX(-50%);backdrop-filter:blur(10px);text-align:left}
.map-hotspot .label::before,.map-hotspot .label::after{content:"";position:absolute;width:8px;height:8px}.map-hotspot .label::before{left:3px;top:3px;border-left:1px solid #e0b45b;border-top:1px solid #e0b45b}.map-hotspot .label::after{right:3px;bottom:3px;border-right:1px solid #e0b45b;border-bottom:1px solid #e0b45b}
.map-place-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(219,171,67,.45);border-radius:50%;background:radial-gradient(circle,rgba(132,55,183,.35),rgba(3,13,20,.72));font-size:16px;color:#e6b75c}
.map-place-copy{display:block;min-width:0}.map-place-copy b{display:block;font:600 11px var(--od-font-title);letter-spacing:.035em;color:#f4d990;white-space:nowrap}.map-place-copy small{display:block;margin-top:2px;font:9px var(--od-font-body);color:#aaa084;white-space:nowrap}.map-place-count{font:600 9px var(--od-font-body);color:#d3c29a;white-space:nowrap}
.map-hotspot:hover .label,.map-hotspot:focus-visible .label{opacity:1;transform:translateX(-50%) translateY(-3px);border-color:#f0cc75;box-shadow:0 15px 38px rgba(0,0,0,.56),0 0 28px rgba(164,76,222,.25)}
.realm-app.hide-map-labels .map-hotspot .label{opacity:0;transform:translateX(-50%) translateY(6px)}
.realm-app.hide-map-labels .map-hotspot:hover .label,.realm-app.hide-map-labels .map-hotspot:focus-visible .label{opacity:1;transform:translateX(-50%)}
.map-hotspot.is-filtered{opacity:.16;filter:grayscale(.8);pointer-events:none}
.map-hotspot.is-highlighted .pulse{animation-duration:1.1s;box-shadow:0 0 0 8px rgba(173,90,235,.15),0 0 30px #c36dff}
.map-toolbar{position:absolute;z-index:14;right:16px;top:16px;display:grid;gap:8px;padding:8px;border:1px solid rgba(211,158,62,.43);border-radius:12px;background:rgba(3,14,23,.88);box-shadow:0 14px 35px rgba(0,0,0,.38);backdrop-filter:blur(12px)}
.map-toolbar button{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(211,158,62,.28);border-radius:9px;background:rgba(4,17,27,.86);color:#e2b55c;font:600 18px var(--od-font-body);cursor:pointer}
.map-toolbar button:hover,.map-toolbar button:focus-visible{border-color:#ecc46c;color:#fff0bd;background:rgba(70,31,91,.75);box-shadow:0 0 16px rgba(164,76,222,.2)}
.map-status{position:absolute;z-index:14;right:16px;bottom:16px;width:min(305px,calc(100% - 32px));padding:12px 14px;border:1px solid rgba(211,158,62,.4);border-radius:10px;background:rgba(3,14,23,.9);box-shadow:0 14px 35px rgba(0,0,0,.4);backdrop-filter:blur(12px)}
.map-status b{display:block;font:600 12px var(--od-font-title);color:#ebc773}.map-status span{display:block;margin-top:3px;font-size:10px;line-height:1.4;color:#aba086}
.map-legend{left:16px;bottom:16px;z-index:14;gap:7px;padding:8px;border-radius:10px;border-color:rgba(211,158,62,.43);background:rgba(3,14,23,.9);box-shadow:0 12px 32px rgba(0,0,0,.36)}
.map-legend button{min-height:35px;border-radius:7px;padding:7px 11px;font-size:10px;color:#b9ab8d}
.map-legend button:hover,.map-legend button:focus-visible{border-color:rgba(225,181,80,.55);color:#efdba8;background:rgba(211,158,62,.08)}
.map-legend button.is-active{background:linear-gradient(180deg,#643087,#3c1c52);border-color:#dda956;color:#fff0c5;box-shadow:0 0 18px rgba(162,74,221,.2)}

/* Modal, toast and popovers */
.realm-modal{backdrop-filter:blur(2px)}
.modal-card{width:min(680px,100%);border-radius:14px;border-color:rgba(221,176,73,.55);background:linear-gradient(145deg,#0b1b27,#04101a);box-shadow:0 35px 110px rgba(0,0,0,.76),0 0 55px rgba(133,55,183,.18);padding:28px}
.modal-card::before{content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid rgba(219,174,73,.13);border-radius:9px}
.modal-close{width:38px;height:38px;border-radius:9px}.modal-card h2{font-size:28px}.modal-card p{font-size:13px}
.realm-toast{min-width:260px;border-color:rgba(225,180,78,.55);border-radius:10px;background:rgba(4,18,28,.97);color:#f0dda9;font-size:13px;box-shadow:0 18px 55px rgba(0,0,0,.55),0 0 24px rgba(139,61,190,.15)}
.profile-menu-popover{top:74px;border-radius:11px;border-color:rgba(211,158,62,.45);background:#061520}.profile-menu-popover button{min-height:42px;font-size:12px}
.realm-help,.realm-accessibility-fab{position:fixed;z-index:22;width:46px;height:46px;border:1px solid rgba(211,158,62,.48);border-radius:50%;background:linear-gradient(145deg,#3e1d53,#07131d);color:#f0d28b;font:20px var(--od-font-title);cursor:pointer;box-shadow:0 0 26px rgba(116,46,164,.28);transition:.2s}
.realm-help{right:21px;bottom:22px}.realm-accessibility-fab{right:78px;bottom:22px;font-family:var(--od-font-body)}
.realm-help:hover,.realm-accessibility-fab:hover{transform:translateY(-3px);border-color:#efd07c;box-shadow:0 10px 26px rgba(0,0,0,.35),0 0 26px rgba(165,76,224,.32)}

/* Accessibility popover */
.accessibility-popover{position:fixed;z-index:88;right:18px;top:72px;width:min(370px,calc(100vw - 28px));padding:18px;border:1px solid rgba(229,184,80,.58);border-radius:14px;background:linear-gradient(145deg,rgba(6,22,33,.985),rgba(3,12,20,.985));box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 42px rgba(134,56,186,.17);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transition:.22s;backdrop-filter:blur(18px)}
.accessibility-popover.is-open{opacity:1;visibility:visible;transform:none}
.accessibility-popover::before{content:"";position:absolute;inset:6px;pointer-events:none;border:1px solid rgba(218,172,70,.13);border-radius:9px}
.accessibility-popover header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid rgba(211,158,62,.18)}
.accessibility-popover h2{margin:2px 0 0;font:500 22px var(--od-font-title);color:#efd18a}.accessibility-kicker{font:600 8px var(--od-font-title);letter-spacing:.16em;color:#be83e8}
.accessibility-close{width:34px;height:34px;border:1px solid rgba(211,158,62,.3);border-radius:8px;background:rgba(0,0,0,.18);color:#d9bc7c;font-size:22px;cursor:pointer}
.accessibility-popover>p{position:relative;margin:12px 0;color:#aaa087;font-size:11px;line-height:1.5}
.accessibility-options{position:relative;display:grid;gap:7px}
.a11y-option{width:100%;min-height:58px;display:grid;grid-template-columns:37px minmax(0,1fr) 38px;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(211,158,62,.2);border-radius:9px;background:rgba(2,12,19,.48);text-align:left;cursor:pointer}
.a11y-option:hover,.a11y-option:focus-visible{border-color:rgba(225,180,79,.52);background:rgba(20,28,39,.7)}
.a11y-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(211,158,62,.3);border-radius:50%;color:#e2b45d;font-size:14px}
.a11y-option b,.a11y-option small{display:block}.a11y-option b{font:500 12px var(--od-font-title);color:#ead7a7}.a11y-option small{margin-top:2px;font-size:10px;color:#8f866f}
.a11y-option i{position:relative;width:36px;height:21px;border:1px solid rgba(211,158,62,.32);border-radius:20px;background:#131a20}
.a11y-option i::after{content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:#7d725e;transition:.2s}
.a11y-option[aria-pressed="true"]{border-color:rgba(171,82,231,.45);background:rgba(77,32,103,.22)}
.a11y-option[aria-pressed="true"] i{background:#4f2169}.a11y-option[aria-pressed="true"] i::after{left:18px;background:#d8a5ff;box-shadow:0 0 10px #a852e9}
.text-scale-control{position:relative;display:grid;grid-template-columns:1fr 42px 52px 42px;align-items:center;gap:6px;margin-top:10px;padding:10px;border:1px solid rgba(211,158,62,.2);border-radius:9px;color:#c6b795;font-size:11px}
.text-scale-control button,.reset-preferences{min-height:36px;border:1px solid rgba(211,158,62,.3);border-radius:7px;background:rgba(3,14,22,.7);color:#e6c674;cursor:pointer}
.text-scale-control output{text-align:center;color:#e4d4b1;font-weight:600}.reset-preferences{position:relative;width:100%;margin-top:9px;font-size:10px;color:#aa9d82}

/* Command palette suggestions */
.search-suggestions{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 8px);max-height:380px;overflow:auto;padding:7px;border:1px solid rgba(211,158,62,.48);border-radius:11px;background:rgba(4,17,27,.985);box-shadow:0 24px 65px rgba(0,0,0,.65);backdrop-filter:blur(18px)}
.search-suggestions[hidden]{display:none}.search-suggestion{width:100%;min-height:48px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#d5c7a8;text-align:left;cursor:pointer}
.search-suggestion:hover,.search-suggestion.is-active{background:linear-gradient(90deg,rgba(93,39,126,.7),rgba(211,158,62,.06));color:#fff0bd}.search-suggestion span:first-child{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(211,158,62,.28);border-radius:50%;color:#dcae51}.search-suggestion b{font:500 12px var(--od-font-title)}.search-suggestion small{font-size:9px;color:#8f856f}.search-suggestion kbd{font-size:8px;color:#8c816b}

/* Focus, contrast and scalable text */
.realm-app :focus-visible{outline:2px solid var(--od-focus);outline-offset:3px;box-shadow:0 0 0 5px rgba(180,94,245,.15),0 0 22px rgba(180,94,245,.22)}
.realm-app.strong-focus :focus-visible{outline-width:3px;outline-color:#efd07b;box-shadow:0 0 0 6px rgba(168,92,246,.32),0 0 28px rgba(239,208,123,.35)}
.realm-app.high-contrast{--od-text:#fff8e8;--od-muted:#ded4bd;--od-line:rgba(255,207,102,.72);--od-panel:rgba(0,8,14,.98);--od-panel-soft:rgba(0,10,17,.96)}
.realm-app.high-contrast .realm-background{filter:brightness(.38) saturate(1.02) contrast(1.22)}
.realm-app.high-contrast .realm-panel,.realm-app.high-contrast .accessibility-popover{background:#020d15;border-color:#f0c86f}
.realm-app.high-contrast .menu-option small,.realm-app.high-contrast .feature-item small,.realm-app.high-contrast .card-content p,.realm-app.high-contrast .content-card p{color:#eee5d3}
.realm-app.high-contrast .nav-item{color:#f6ead1}
.realm-app.reduce-motion .map-routes path,.realm-app.reduce-motion .map-stage::after,.realm-app.reduce-motion .map-hotspot .pulse{animation:none!important}
.realm-app.reduce-motion .map-stage{transition:none}

/* Decorative click spark */
.ui-spark{position:fixed;z-index:999;pointer-events:none;width:8px;height:8px;border-radius:50%;background:#f7dc91;box-shadow:0 0 10px #d793ff;animation:ui-spark .58s ease-out forwards}
@keyframes ui-spark{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}

@media(max-width:1280px){:root{--sidebar:246px}.map-hotspot .label{min-width:165px;grid-template-columns:29px minmax(96px,1fr) auto;padding:7px 8px}.map-place-icon{width:29px;height:29px}.map-place-copy b{font-size:10px}.map-place-copy small{font-size:8px}}
@media(max-width:1040px){:root{--sidebar:228px}.section-heading h1{font-size:36px}.map-hotspot .label{opacity:0;min-width:170px}.map-hotspot:hover .label,.map-hotspot:focus-visible .label{opacity:1}.map-status{display:none}.accessibility-trigger{display:grid!important}}
@media(max-width:820px){:root{--topbar:66px}.realm-topbar{padding:9px 11px}.section-shell{padding:18px 13px 96px}.section-heading{padding-bottom:13px}.section-heading h1{font-size:29px}.section-heading .heading-copy>p:last-child{font-size:12px}.map-layout{min-height:calc(100svh - 176px);height:calc(100svh - 176px);border-radius:10px}.map-toolbar{right:9px;top:9px}.map-toolbar button{width:39px;height:39px}.map-legend{left:9px;right:58px;bottom:9px;overflow:auto}.map-hotspot .label{display:grid;min-width:150px;grid-template-columns:27px 1fr;padding:6px}.map-place-icon{width:27px;height:27px}.map-place-count,.map-place-copy small{display:none}.realm-accessibility-fab{bottom:82px;right:60px;width:40px;height:40px}.realm-help{bottom:82px;right:13px;width:40px;height:40px}.accessibility-popover{top:71px;right:10px}.mobile-bottom-nav{height:74px;background:rgba(3,14,23,.97);border-top-color:rgba(211,158,62,.48)}.mobile-nav-item{font-size:9px}.mobile-nav-item.is-active{color:#f0cf7b;text-shadow:0 0 10px rgba(168,92,246,.5)}}
@media(max-width:520px){.brand-lockup strong{font-size:16px}.section-heading h1{font-size:25px}.map-hotspot .label{display:none}.map-toolbar{grid-template-columns:repeat(2,39px)}.map-legend button{padding:7px 9px}.accessibility-popover{width:calc(100vw - 20px);max-height:calc(100svh - 86px);overflow:auto}.text-scale-control{grid-template-columns:1fr 38px 48px 38px}.realm-toast{min-width:0}.modal-card{padding:22px 17px}.modal-card h2{font-size:24px}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.realm-app.reduce-motion .realm-background{transform:scale(1.045)!important}
.realm-app.reduce-motion .realm-particles{display:none!important}
.section-shell.is-entering .section-heading{animation:section-heading-in .55s cubic-bezier(.2,.75,.2,1) both}
.section-shell.is-entering .section-content{animation:section-content-in .62s .04s cubic-bezier(.2,.75,.2,1) both}
@keyframes section-heading-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes section-content-in{from{opacity:0;transform:translateY(14px) scale(.995)}to{opacity:1;transform:none}}
.map-image{background-image:url('../images/mapa-realm.webp')!important}
.brand-logo{object-fit:contain;border-radius:0;mix-blend-mode:normal;filter:drop-shadow(0 0 13px rgba(218,166,66,.32))}
.realm-app[data-section="mapa"] .heading-actions [data-target="mapa"]{display:none}
.map-layout::after{background:linear-gradient(180deg,rgba(1,8,14,.58),transparent 17%,transparent 80%,rgba(1,7,12,.48)),radial-gradient(circle at 50% 44%,transparent 32%,rgba(0,5,10,.13) 62%,rgba(0,4,8,.54) 100%)}
