:root{
  --ink:#F0F7F3; --ink-soft:#9FB8AE;
  --paper:#07100D; --paper-raised:#101F1A;
  --moss:#2AEBA0; --moss-deep:#16B884;
  --resin:#E3A75F; --clay:#E2665A; --teal:#5FD4E0;
  --line:rgba(240,247,243,0.10); --line-strong:rgba(240,247,243,0.22);
  --glow-border:rgba(42,235,175,0.28); --glow-border-strong:rgba(42,235,175,0.55);
  --ink-on-accent:#04140F;
}
.map-tooltip{position:fixed; z-index:9999; pointer-events:none; background:var(--paper-raised); color:var(--ink); border:1px solid var(--line-strong); border-radius:6px; padding:5px 10px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:500; letter-spacing:0.02em; white-space:nowrap; opacity:0; transform:translate(-50%,-100%) translateY(-8px) scale(0.96); transition:opacity .12s ease, transform .12s ease; box-shadow:0 4px 14px rgba(0,0,0,0.35);}
.map-tooltip.show{opacity:1; transform:translate(-50%,-100%) translateY(-12px) scale(1);}
.brand-mark{background:var(--moss-deep) !important;}
.brand-mark svg g{stroke:var(--paper) !important;}
.bg-pattern{opacity:0.06;}
*{box-sizing:border-box; margin:0; padding:0;}
input, select, textarea{background:var(--paper-raised); color:var(--ink);}
input::placeholder, textarea::placeholder{color:var(--ink-soft);}
.bg-pattern{position:fixed; inset:0; width:100%; height:100%; z-index:0; opacity:0.045; pointer-events:none;}
body{background:var(--paper); color:var(--ink); font-family:'Manrope',sans-serif; -webkit-font-smoothing:antialiased;}
.app{max-width:1180px; margin:0 auto; min-height:100vh; display:flex; flex-direction:column; position:relative; z-index:1;}

.topbar{display:flex; align-items:center; justify-content:space-between; padding:22px 28px 18px; border-bottom:1px solid var(--line); flex-wrap:wrap; gap:14px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand-mark{width:34px; height:34px; border-radius:50%; background:var(--moss); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.brand-name{font-family:'Manrope',sans-serif; font-weight:600; font-size:20px;}
.brand-sub{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft); letter-spacing:0.08em; text-transform:uppercase; margin-top:1px;}

nav.tabs{display:flex; gap:2px; background:var(--paper-raised); border:1px solid var(--line); border-radius:100px; padding:3px;}
nav.tabs button{font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; padding:8px 16px; border-radius:100px; border:none; background:transparent; color:var(--ink-soft); cursor:pointer; transition:all .15s ease;}
nav.tabs button.active{background:var(--moss); color:var(--paper);}
nav.tabs button:hover:not(.active){color:var(--ink);}
.tabs-more{position:relative; display:flex;}
#tabsMoreBtn{font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; padding:8px 16px; border-radius:100px; border:none; background:transparent; color:var(--ink-soft); cursor:pointer; transition:all .15s ease;}
#tabsMoreBtn:hover{color:var(--ink);}
#tabsMoreBtn.on{background:var(--moss); color:var(--paper);}
.tabs-more-menu{position:absolute; top:calc(100% + 6px); right:0; background:var(--paper-raised); border:1px solid var(--line-strong); border-radius:10px; padding:6px; min-width:190px; z-index:200; box-shadow:0 12px 32px rgba(0,0,0,0.35); display:flex; flex-direction:column; gap:1px;}
.tabs-more-menu[hidden]{display:none;}
.tabs-more-menu button{font-family:'Manrope',sans-serif; font-size:13px; font-weight:500; text-align:left; padding:9px 12px; border-radius:6px; border:none; background:transparent; color:var(--ink); cursor:pointer; white-space:nowrap;}
.tabs-more-menu button:hover{background:var(--paper); color:var(--moss);}
.tabs-more-sep{height:1px; background:var(--line); margin:5px 4px;}

.lang-switch{display:flex; gap:1px; background:var(--paper-raised); border:1px solid var(--line-strong); border-radius:6px; overflow:hidden; flex-shrink:0;}
.lang-switch button{font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:500; padding:7px 10px; border:none; background:transparent; color:var(--ink-soft); cursor:pointer;}
.lang-switch button.lang-on{background:var(--ink); color:var(--paper);}

.screen{display:none; padding:40px 28px 80px;}
.screen.active{display:block; animation:fade .35s ease;}
@keyframes fade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}

.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--moss); display:flex; align-items:center; gap:8px;}
.eyebrow-row{display:flex; align-items:center; gap:8px; margin-bottom:14px;}
.zone-icon{flex-shrink:0; opacity:0.9;}
.hero-sprig{display:block; margin-bottom:10px;}
.trich-visual-row{display:flex; gap:28px; flex-wrap:wrap; padding:8px 4px;}
.trich-visual-item{display:flex; flex-direction:column; align-items:center; gap:8px;}
.trich-visual-label{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft);}
.eyebrow::before{content:''; width:16px; height:1px; background:var(--moss);}
h2.title{font-family:'Manrope',sans-serif; font-weight:500; font-size:32px;}
.subhead{color:var(--ink-soft); font-size:14px; margin:12px 0 4px; max-width:640px; line-height:1.6;}

/* sub navigation within a hub */
.sub-tabs{display:flex; gap:8px; flex-wrap:wrap; margin:24px 0 30px; border-bottom:1px solid var(--line); padding-bottom:16px;}
.sub-pill{font-family:'IBM Plex Mono',monospace; font-size:11.5px; padding:8px 14px; border-radius:100px; border:1px solid var(--line-strong); cursor:pointer; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); background:var(--paper-raised); display:inline-flex; align-items:center; gap:6px;}
.sub-pill.on{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.subview{display:none;}
.subview.active{display:block; animation:fade .3s ease;}
.section-title{font-family:'Manrope',sans-serif; font-weight:500; font-size:22px; margin:36px 0 16px;}
.section-title:first-child{margin-top:0;}

/* ---------- HOME ---------- */
.hero{display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:center; padding:20px 0 56px; border-bottom:1px solid var(--line);}
.hero h1{font-family:'Manrope',sans-serif; font-weight:500; font-size:46px; line-height:1.1; letter-spacing:-0.01em;}
.hero h1 em{font-style:italic; color:var(--moss-deep);}
.hero p{margin-top:18px; font-size:16px; line-height:1.6; color:var(--ink-soft); max-width:460px;}
.hero-actions{display:flex; gap:12px; margin-top:28px;}
.btn{font-family:'Manrope',sans-serif; font-weight:600; font-size:14px; padding:12px 22px; border-radius:6px; border:none; cursor:pointer;}
.btn-primary{background:var(--moss-deep); color:var(--paper);}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--line-strong);}

.leaf-wrap{position:relative; display:flex; align-items:center; justify-content:center; padding:8px 0;}
.leaf-map{width:100%; max-width:440px; height:auto; display:block;}
.leaflet-blade{fill:none; stroke-width:2.6; stroke-linejoin:round; transition:opacity .15s ease, stroke-width .15s ease;}
.leaflet-mid{stroke-width:1; opacity:.5;}
.leaflet-active{cursor:pointer;}
.leaflet-active:hover .leaflet-blade{stroke-width:3.8;}
.leaf-label{font-family:'IBM Plex Mono',monospace; font-size:12px; text-anchor:middle; text-transform:uppercase; letter-spacing:0.04em; cursor:pointer;}
.leaf-stem{stroke:var(--ink-soft); stroke-width:2;}
.leaf-node{fill:var(--paper);}

.stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.stat{background:var(--paper); padding:22px 20px;}
.stat .n{font-family:'Manrope',sans-serif; font-size:30px; font-weight:500; color:var(--moss-deep);}
.stat .l{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.06em; margin-top:4px;}

.module-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:56px;}
.module-card{border:1px solid var(--line); background:var(--paper-raised); padding:26px 22px; border-radius:4px; cursor:pointer; transition:border-color .15s ease;}
.module-card:hover{border-color:var(--line-strong);}
.module-card h3{font-family:'Manrope',sans-serif; font-weight:500; font-size:19px; margin-bottom:8px;}
.module-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.55;}

/* ---------- LEGAL / VIAJERO ---------- */
.traveler-banner{background:var(--moss-deep); color:var(--paper); border-radius:6px; padding:24px 28px; margin-bottom:32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px;}
.traveler-banner h3{font-family:'Manrope',sans-serif; font-weight:500; font-size:21px;}
.traveler-banner p{font-size:12.5px; opacity:.82; margin-top:6px; max-width:420px; line-height:1.55;}
.traveler-actions{display:flex; gap:10px; flex-wrap:wrap;}
.tb-btn{font-family:'IBM Plex Mono',monospace; font-size:10.5px; padding:9px 14px; border-radius:100px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.32); color:var(--paper); text-transform:uppercase; letter-spacing:0.03em;}

.legal-head{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:28px;}
.filters{display:flex; gap:8px; flex-wrap:wrap;}
.chip{font-family:'IBM Plex Mono',monospace; font-size:11px; padding:7px 13px; border-radius:100px; border:1px solid var(--line-strong); background:var(--paper-raised); cursor:pointer; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft);}
.chip.on{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.country-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px;}
.country-card{border:1px solid var(--line); background:var(--paper-raised); padding:20px; border-radius:4px; cursor:pointer; border-left:4px solid var(--status-color);}
.country-card .top{display:flex; justify-content:space-between; align-items:flex-start;}
.country-card h4{font-family:'Manrope',sans-serif; font-size:18px; font-weight:500;}
.badge{font-family:'IBM Plex Mono',monospace; font-size:9.5px; padding:4px 8px; border-radius:100px; text-transform:uppercase; letter-spacing:0.04em; color:#fff; background:var(--status-color); white-space:nowrap;}
.country-card .region{font-size:12px; color:var(--ink-soft); margin-top:4px;}
.country-card .desc{font-size:12.5px; margin-top:12px; color:var(--ink-soft); line-height:1.5;}

.detail-back{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--moss-deep); cursor:pointer; margin-bottom:20px; display:inline-block;}
.detail-head{display:flex; gap:24px; align-items:center; padding-bottom:28px; border-bottom:1px solid var(--line); margin-bottom:28px;}
.big-stamp{width:120px; height:120px; border-radius:50%; border:2.5px solid var(--status-color); color:var(--status-color); display:flex; align-items:center; justify-content:center; flex-direction:column; font-family:'IBM Plex Mono',monospace; text-align:center; flex-shrink:0;}
.big-stamp span{font-size:10px; text-transform:uppercase; letter-spacing:0.05em; font-weight:600;}
.detail-head h2{font-family:'Manrope',sans-serif; font-size:36px; font-weight:500;}
.detail-head .status-line{font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:0.05em; margin-top:6px; font-weight:600;}
.detail-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:32px;}
.card-block{border:1px solid var(--line); background:var(--paper-raised); padding:24px; border-radius:4px; margin-bottom:16px;}
.card-block h3{font-family:'Manrope',sans-serif; font-size:17px; font-weight:500; margin-bottom:12px;}
.card-block p, .card-block li{font-size:13.5px; line-height:1.65; color:var(--ink-soft);}
.timeline{border-left:2px solid var(--line-strong); padding-left:18px; margin-top:8px;}
.tl-item{margin-bottom:16px; position:relative; display:flex; align-items:center; gap:12px;}
.tl-item::before{content:''; position:absolute; left:-23px; top:5px; width:8px; height:8px; border-radius:50%; background:var(--moss);}
.tl-item .yr{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--moss-deep); font-weight:600;}
.tl-item .tx{font-size:13px; color:var(--ink-soft); margin-top:2px;}
.source-tag{display:flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:11px; padding:9px 0; border-top:1px solid var(--line); color:var(--ink-soft);}
.source-tag:first-child{border-top:none;}
.source-dot{width:6px; height:6px; border-radius:50%; background:var(--teal); flex-shrink:0;}
.note-box{background:rgba(227,167,95,0.12); border:1px dashed var(--resin); padding:14px 16px; border-radius:4px; font-size:12px; color:var(--ink-soft); margin-top:16px; line-height:1.55;}
.md-evlevel{display:inline-flex; align-items:center; font-family:'IBM Plex Mono',monospace; font-size:9.5px; font-weight:500; text-transform:uppercase; letter-spacing:.03em; border:1px solid; border-radius:100px; padding:3px 10px; white-space:nowrap;}
.md-evlevel.clinical{color:var(--moss-deep); border-color:var(--moss-deep); background:rgba(42,235,160,0.1);}
.md-evlevel.preliminary{color:var(--resin); border-color:var(--resin); background:rgba(227,167,95,0.12);}
.md-evlevel.limited{color:var(--ink-soft); border-color:var(--ink-soft); background:rgba(159,184,174,0.1);}
.md-evlevel.not-recommended{color:var(--clay); border-color:var(--clay); background:rgba(226,102,90,0.12);}
#historiaTimeline{position:relative; padding-left:26px; border-left:2px solid var(--line-strong);}
.hist-item{position:relative; margin-bottom:30px;}
.hist-item::before{content:''; position:absolute; left:-32px; top:4px; width:11px; height:11px; border-radius:50%; background:var(--moss-deep); border:2px solid var(--paper);}
.hist-year{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:var(--moss-deep); font-weight:600; margin-bottom:4px;}
.hist-item h4{font-family:'Manrope',sans-serif; font-weight:500; font-size:17px; margin-bottom:6px;}
.hist-item p{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}
.bit-entry{border:1px solid var(--line); background:var(--paper-raised); border-left:3px solid var(--moss-deep); border-radius:4px; padding:16px 18px; margin-bottom:12px;}
.bit-entry-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:6px;}
.bit-entry-meta{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--moss-deep); text-transform:uppercase;}
.bit-entry-del{cursor:pointer; color:var(--clay); font-family:'IBM Plex Mono',monospace; font-size:11px;}
.bit-empty{font-size:13px; color:var(--ink-soft); font-style:italic;}
.diag-highlight{outline:3px solid var(--resin); outline-offset:2px; animation:diagPulse 1.6s ease 2;}
@keyframes diagPulse{0%,100%{box-shadow:0 0 0 0 rgba(227,167,95,0.4);} 50%{box-shadow:0 0 0 8px rgba(227,167,95,0);}}
.search-result{display:flex; justify-content:space-between; align-items:center; padding:12px 10px; border-radius:4px; cursor:pointer; border-bottom:1px solid var(--line);}
.search-result:hover{background:var(--paper-raised);}
.search-result-title{font-family:'Manrope',sans-serif; font-size:14.5px; font-weight:500;}
.search-result-cat{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; color:var(--moss-deep); background:rgba(42,235,160,0.12); padding:3px 8px; border-radius:100px; white-space:nowrap; margin-left:10px;}
.search-empty{font-size:13px; color:var(--ink-soft); padding:20px 10px; text-align:center;}

/* ---------- SPECIMEN CARDS (cultivo / procesos) ---------- */
.specimen-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px;}
.specimen{border:1.5px dashed var(--line-strong); background:var(--paper-raised); padding:22px; border-radius:2px; position:relative;}
.specimen .tag-index{position:absolute; top:14px; right:16px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-soft);}
.specimen h4{font-family:'Manrope',sans-serif; font-style:italic; font-size:19px; font-weight:500; margin-bottom:4px;}
.specimen .sci{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--moss-deep); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:14px;}
.spec-row{display:flex; justify-content:space-between; font-size:12px; padding:7px 0; border-top:1px solid var(--line);}
.cp-select{flex:1; min-width:140px; padding:10px 12px; border-radius:10px; border:1px solid var(--line); background:var(--paper); font-family:'Manrope',sans-serif; font-size:13px; color:var(--ink);}
.cp-table{border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.cp-row{display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; padding:10px 14px; font-size:12.5px; border-top:1px solid var(--line);}
.cp-row:first-child{border-top:none;}
.cp-row.cp-header{background:var(--moss-deep); color:var(--paper); font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.04em;}
.cp-row span:first-child{color:var(--ink-soft); font-family:'IBM Plex Mono',monospace; font-size:11px;}
.cp-row.cp-header span:first-child{color:var(--paper);}
.cp-row span:not(:first-child){font-weight:600;}
.spec-row span:first-child{color:var(--ink-soft);}
.spec-row span:last-child{font-family:'IBM Plex Mono',monospace; font-weight:500; text-align:right;}
.spec-source{margin-top:14px; font-size:11px; color:var(--teal); font-family:'IBM Plex Mono',monospace;}
.specimen p.method-desc{font-size:12.5px; color:var(--ink-soft); line-height:1.6; margin-bottom:4px;}

/* ---------- DIAGNOSTICO ---------- */
.diag-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:16px;}
.diag-card{border:1px solid var(--line); background:var(--paper-raised); border-radius:4px; padding:22px; border-top:3px solid var(--type-color);}
.diag-card .type-tag{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--type-color); font-weight:700; margin-bottom:8px;}
.diag-card h4{font-family:'Manrope',sans-serif; font-size:18px; font-weight:500; margin-bottom:12px;}
.diag-row{font-size:12.5px; line-height:1.55; margin-bottom:8px; color:var(--ink-soft);}
.diag-row b{font-family:'Manrope',sans-serif; font-weight:600; color:var(--ink);}
.diag-source{margin-top:10px; font-size:11px; color:var(--teal); font-family:'IBM Plex Mono',monospace;}

/* ---------- GENETICA / QUIMIOTIPOS ---------- */
.chemo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:20px 0 28px;}
.chemo-card{border:1px solid var(--line-strong); background:var(--paper-raised); padding:22px; border-radius:4px; text-align:center;}
.chemo-card .ratio{font-family:'Manrope',sans-serif; font-size:26px; font-weight:500; color:var(--moss-deep); margin-bottom:6px;}
.chemo-card h4{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:10px;}
.chemo-card p{font-size:12.5px; color:var(--ink-soft); line-height:1.5;}

/* ---------- PRODUCTO / ETIQUETADO ---------- */
.label-mock{border:1px solid var(--line-strong); background:var(--paper-raised); padding:26px; border-radius:4px; max-width:340px;}
.label-row{display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--line); font-size:12.5px;}
.label-row.hl{background:rgba(42,235,160,0.08); margin:0 -26px; padding:10px 26px; border-bottom:none;}
.label-row span:last-child{font-family:'IBM Plex Mono',monospace; font-weight:600;}

/* ---------- CIENCIA: PAPERS / CIENTIFICOS ---------- */
.paper-card{border:1px solid var(--line); background:var(--paper-raised); padding:20px 22px; border-radius:4px; margin-bottom:12px;}
.paper-top{display:flex; justify-content:space-between; align-items:flex-start; gap:12px;}
.paper-card h4{font-family:'Manrope',sans-serif; font-style:italic; font-size:16px; font-weight:500; max-width:74%; line-height:1.4;}
.evidence-tag{font-family:'IBM Plex Mono',monospace; font-size:9px; padding:4px 9px; border-radius:100px; text-transform:uppercase; white-space:nowrap; color:var(--paper); flex-shrink:0;}
.paper-meta{font-size:11.5px; color:var(--ink-soft); margin-top:6px; font-family:'IBM Plex Mono',monospace;}
.paper-card p{font-size:13px; color:var(--ink-soft); margin-top:10px; line-height:1.55;}

.scientist-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px;}
.scientist-card{border:1px solid var(--line); background:var(--paper-raised); border-radius:4px; padding:22px;}
.scientist-avatar{width:44px; height:44px; border-radius:50%; background:var(--moss-deep); color:var(--paper); display:flex; align-items:center; justify-content:center; font-family:'Manrope',sans-serif; font-size:17px; margin-bottom:14px;}
.scientist-card h4{font-family:'Manrope',sans-serif; font-size:16.5px; font-weight:500;}
.scientist-role{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--moss-deep); text-transform:uppercase; letter-spacing:0.03em; margin:4px 0 10px;}
.scientist-card p{font-size:12.5px; color:var(--ink-soft); line-height:1.55;}
.legacy-tag{display:inline-block; margin-top:10px; font-family:'IBM Plex Mono',monospace; font-size:9.5px; padding:3px 8px; border-radius:100px; background:rgba(226,102,90,0.12); color:var(--clay); text-transform:uppercase;}

.myth-row{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); margin-bottom:14px; border-radius:4px; overflow:hidden;}
.myth-col{padding:20px 22px;}
.myth-col.claim{background:rgba(226,102,90,0.08); border-right:1px solid var(--line);}
.myth-col.fact{background:rgba(42,235,160,0.08);}
.myth-label{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:0.06em; font-weight:700; margin-bottom:6px;}
.myth-col.claim .myth-label{color:var(--clay);}
.myth-col.fact .myth-label{color:var(--moss-deep);}
.myth-col p{font-size:13px; line-height:1.55; color:var(--ink-soft);}

.app-footer{border-top:1px solid var(--line); padding:20px 28px; text-align:center; font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft); letter-spacing:0.02em;}

/* ---------- PAYWALL / GATING ---------- */
.tier-switch{display:flex; gap:1px; background:var(--paper-raised); border:1px solid var(--line-strong); border-radius:6px; overflow:hidden; flex-shrink:0;}
.tier-switch button{font-family:'IBM Plex Mono',monospace; font-size:10.5px; font-weight:600; padding:7px 12px; border:none; background:transparent; color:var(--ink-soft); cursor:pointer; text-transform:uppercase; letter-spacing:0.03em;}
.tier-switch button.tier-on{background:var(--resin); color:var(--paper);}

.gate-wrap{position:relative;}
.blur-gate{filter:blur(4px); opacity:.5; pointer-events:none; user-select:none;}
.gate-cta{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:5; padding:20px; pointer-events:none;}
.gate-cta .gate-card{pointer-events:auto;}
.gate-card{background:var(--paper); border:1px solid var(--line-strong); border-radius:8px; padding:26px 30px; text-align:center; max-width:300px; box-shadow:0 8px 28px rgba(31,43,34,0.18);}
.gate-card .lock-ic{width:26px; height:26px; margin:0 auto 12px; color:var(--resin);}
.gate-card h4{font-family:'Manrope',sans-serif; font-size:17px; font-weight:500; margin-bottom:6px;}
.gate-card p{font-size:12px; color:var(--ink-soft); margin-bottom:16px; line-height:1.55;}
.gate-btn{font-family:'Manrope',sans-serif; font-weight:600; font-size:12.5px; padding:10px 20px; border-radius:6px; background:var(--moss-deep); color:var(--paper); border:none;}

.teaser-card{border:1.5px dashed var(--line-strong); background:var(--paper-raised); border-radius:4px; padding:22px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:8px; min-height:150px;}
.teaser-card .lock-ic{width:22px; height:22px; color:var(--resin);}
.teaser-card h4{font-family:'Manrope',sans-serif; font-size:14.5px; font-weight:500;}
.teaser-card p{font-size:11px; color:var(--ink-soft); line-height:1.5;}

.mini-lock{display:inline-flex; align-items:center; gap:4px; font-family:'IBM Plex Mono',monospace; font-size:9px; padding:3px 7px; border-radius:100px; background:rgba(227,167,95,0.2); color:var(--resin); text-transform:uppercase; margin-left:6px; vertical-align:middle;}
.tb-btn .mini-lock{background:var(--resin); color:var(--paper);}

.travel-panel{display:none; background:var(--paper-raised); border:1px solid var(--line); border-left:3px solid var(--moss-deep); border-radius:4px; padding:22px 24px; margin-bottom:16px;}
.travel-panel.active{display:block; animation:fade .3s ease;}
.travel-panel h4{font-family:'Manrope',sans-serif; font-size:16.5px; font-weight:500; margin-bottom:12px;}
.travel-panel ul{padding-left:18px; margin-bottom:4px;}
.travel-panel li{font-size:13px; color:var(--ink-soft); line-height:1.65; margin-bottom:9px;}
.travel-panel > p{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}
.travel-panel .spec-row{border-top:1px solid var(--line); padding:9px 0; font-size:12.5px;}
.travel-panel .spec-row:first-of-type{border-top:none;}

.border-alert{background:rgba(226,102,90,0.09); border:1.5px solid var(--clay); border-radius:6px; padding:24px 26px; margin-bottom:28px;}
.border-alert-head{display:flex; align-items:flex-start; gap:12px; margin-bottom:10px;}
.border-alert-head svg{width:24px; height:24px; color:var(--clay); flex-shrink:0; margin-top:2px;}
.border-alert h3{font-family:'Manrope',sans-serif; font-weight:500; font-size:19px; color:var(--ink); line-height:1.35;}
.border-alert > p{font-size:13.5px; color:var(--ink-soft); line-height:1.6; margin-bottom:18px;}
.border-case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.border-case{background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:16px 18px;}
.border-case h4{font-family:'Manrope',sans-serif; font-size:14px; font-weight:500; margin-bottom:6px; color:var(--clay);}
.border-case p{font-size:12px; color:var(--ink-soft); line-height:1.5;}
.golden-rule{margin-top:18px; padding-top:16px; border-top:1px dashed var(--clay); font-size:13px; font-weight:600; color:var(--ink);}

.ad-slot{border:1px dashed var(--line-strong); background:var(--paper-raised); border-radius:4px; padding:14px 18px; text-align:center; margin:24px 0; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em;}
.ad-slot span{color:var(--resin);}

.premium-modal{position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:100; display:none; align-items:center; justify-content:center; padding:20px;}
.premium-modal.active{display:flex;}
.premium-sheet{background:var(--paper); border-radius:12px; max-width:520px; width:100%; max-height:90vh; overflow-y:auto; padding:32px; box-shadow:0 20px 60px rgba(0,0,0,0.25);}
.pm-row{display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-top:1px solid var(--line); font-size:12.5px;}
.pm-row:first-of-type{border-top:1px solid var(--line);}
.pm-row .feat{color:var(--ink); max-width:60%;}
.pm-cols{display:flex; gap:18px;}
.pm-cols span{width:64px; text-align:center; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-soft);}
.pm-cols span.yes{color:var(--moss-deep); font-weight:700;}

/* ---------- VERDI VISUAL LANGUAGE (utilities for the new Home/Learn/Verdi/Tools/Profile UI) ---------- */
.glow-card{position:relative; border-radius:20px; padding:20px; background:linear-gradient(160deg, var(--paper-raised), var(--paper)); border:1px solid var(--glow-border); box-shadow:0 0 0 1px rgba(42,235,175,0.05), 0 20px 40px -24px rgba(42,235,175,0.35);}
.glow-card.strong{border-color:var(--glow-border-strong); box-shadow:0 0 0 1px rgba(42,235,175,0.06), 0 18px 36px -22px rgba(42,235,175,0.45);}

.btn-pill{position:relative; display:inline-flex; align-items:center; gap:8px; font-family:'Manrope',sans-serif; background:var(--moss); color:var(--ink-on-accent); font-weight:700; font-size:13px; padding:10px 18px; border-radius:100px; border:none; cursor:pointer;}
.btn-pill.sm{padding:7px 14px; font-size:11.5px;}
.btn-pill.ghost{background:var(--paper-raised); color:var(--ink); border:1px solid var(--line-strong);}

.chip-suggest{font-family:'Manrope',sans-serif; font-size:11.5px; padding:8px 13px; border-radius:100px; background:var(--paper-raised); border:1px solid var(--line); color:var(--ink-soft); cursor:pointer;}
.chip-suggest.accent{color:var(--moss); border-color:var(--glow-border);}

.avatar-photo{position:relative; border-radius:50%; overflow:hidden; flex-shrink:0; background:var(--paper-raised); box-shadow:inset 0 0 0 1px var(--glow-border);}
.avatar-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 9%; display:block;}

/* ===================== BRILLO NEÓN (cursor / touch) ===================== */
.cursor-glow{
  position:fixed; top:0; left:0; width:260px; height:260px; margin:-130px 0 0 -130px;
  border-radius:50%; pointer-events:none; z-index:40; opacity:0;
  background:radial-gradient(circle, var(--glow-border-strong) 0%, var(--glow-border) 35%, rgba(42,235,175,0) 70%);
  filter:blur(6px); mix-blend-mode:screen; transition:opacity .4s ease;
  will-change:transform, opacity;
}
.cursor-glow.is-active{opacity:1;}

.touch-ripple{
  position:fixed; top:0; left:0; width:140px; height:140px; margin:-70px 0 0 -70px;
  border-radius:50%; pointer-events:none; z-index:40;
  background:radial-gradient(circle, var(--glow-border-strong) 0%, var(--glow-border) 40%, rgba(42,235,175,0) 72%);
  filter:blur(4px); mix-blend-mode:screen;
  transform:scale(0.2); opacity:0.9;
  animation:touchRipple .6s ease-out forwards;
}
@keyframes touchRipple{
  0%{transform:scale(0.2); opacity:0.85;}
  100%{transform:scale(1.15); opacity:0;}
}

/* ===================== EASTER EGG: MINI CIENTÍFICO ===================== */
.mini-scientist{
  position:fixed; top:22%; left:-80px; width:64px; height:64px; z-index:40;
  pointer-events:none; opacity:0;
}
.mini-scientist.is-flying{
  animation:miniScientistFly 6.5s ease-in-out forwards;
}
.mini-scientist svg{width:100%; height:100%; display:block;}
.mini-scientist .ms-bob{animation:miniScientistBob 1.1s ease-in-out infinite;}
@keyframes miniScientistFly{
  0%{opacity:0; transform:translate(0, 0) rotate(-6deg);}
  8%{opacity:1;}
  50%{transform:translate(calc(50vw - 32px), -18vh) rotate(4deg);}
  92%{opacity:1;}
  100%{opacity:0; transform:translate(calc(100vw + 80px), -6vh) rotate(-4deg);}
}
@keyframes miniScientistBob{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-5px);}
}

.ms-smoke{
  position:fixed; width:9px; height:9px; border-radius:50%;
  background:radial-gradient(circle, var(--ink-soft) 0%, rgba(159,184,174,0) 70%);
  opacity:0.3; pointer-events:none; z-index:39;
  transform:translate(-50%,-50%) scale(0.5);
}
.ms-smoke.is-fading{
  animation:msSmokeFade 0.8s ease-out forwards;
}
@keyframes msSmokeFade{
  0%{opacity:0.3; transform:translate(-50%,-50%) scale(0.5);}
  100%{opacity:0; transform:translate(-65%,-25%) scale(1.5);}
}

@media (prefers-reduced-motion: reduce){
  .cursor-glow, .touch-ripple, .mini-scientist, .ms-smoke{display:none !important;}
}

@media (max-width:760px){
  .hero{grid-template-columns:1fr; gap:28px; padding-bottom:36px;}
  .hero h1{font-size:32px;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .module-grid{grid-template-columns:1fr 1fr; gap:10px;}
  .detail-grid{grid-template-columns:1fr;}
  .myth-row{grid-template-columns:1fr;}
  .myth-col.claim{border-right:none; border-bottom:1px solid var(--line);}
  .chemo-grid{grid-template-columns:1fr;}
  nav.tabs{flex-wrap:wrap; justify-content:center;}
  .topbar{flex-direction:column; align-items:flex-start;}
  .traveler-banner{flex-direction:column; align-items:flex-start;}
}

/* ---- Descubrir (community swipe) ---- */
.discover-stack{position:relative; min-height:340px;}
.discover-card{border:1px solid var(--line-strong); background:var(--paper); border-radius:10px; overflow:hidden; transition:transform .28s ease, opacity .28s ease;}
.discover-card.leaving-left{transform:translateX(-120%) rotate(-8deg); opacity:0;}
.discover-card.leaving-right{transform:translateX(120%) rotate(8deg); opacity:0;}
.discover-cover{height:150px; background:linear-gradient(135deg, var(--moss-deep), var(--teal)); background-size:cover; background-position:center;}
.discover-body{padding:16px 18px 20px;}
.discover-body h3{font-family:'Manrope',sans-serif; font-weight:600; font-size:19px; margin:0 0 4px;}
.discover-meta{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--moss); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;}
.discover-bio{font-size:13.5px; line-height:1.6; color:var(--ink-soft); white-space:pre-wrap;}
.discover-bio.empty{color:var(--ink-soft); opacity:.6; font-style:italic;}
.discover-controls{display:flex; gap:12px; justify-content:center; margin-top:18px;}

/* ---- Community feed (posts + comments) ---- */
.cmy-post-tools{display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap;}
.cmy-count{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft); margin-left:auto;}
.cmy-post{border:1px solid var(--line); background:var(--paper-raised); border-radius:8px; padding:16px 18px; margin-bottom:12px;}
.cmy-post-head{display:flex; justify-content:space-between; align-items:baseline; gap:8px; font-size:13px;}
.cmy-post-time{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft);}
.cmy-post-body{font-size:14px; line-height:1.6; color:var(--ink); margin:10px 0 0; white-space:pre-wrap;}
.cmy-post-photo{display:block; margin-top:12px; max-width:100%; border-radius:6px; border:1px solid var(--line-strong);}
.cmy-post-foot{margin-top:12px;}
.cmy-translated, .cmy-comment-toggle, .cmy-del{background:none; border:none; padding:0; cursor:pointer; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--moss-deep);}
.cmy-translated{margin-top:6px; display:inline-block;}
.cmy-del{color:var(--clay);}
.cmy-thread{margin-top:12px; padding-top:12px; border-top:1px solid var(--line);}
.cmy-comment{font-size:13px; line-height:1.55; color:var(--ink-soft); padding:8px 0; border-bottom:1px solid var(--line);}
.cmy-comment b{color:var(--ink);}
.cmy-comment-composer{display:flex; flex-direction:column; gap:8px; margin-top:10px;}
.cmy-comment-composer .btn-pill{align-self:flex-start;}

/* ---- "In development" sections (traveler / grow / diagnosis / questions) ---- */
.wip-block [disabled]{opacity:0.45; cursor:not-allowed;}
.wip-block .note-box{border-style:solid; border-color:var(--resin); background:rgba(227,167,95,0.12); color:var(--ink); margin-bottom:14px;}

/* ---- Avatars (photo, or a colored initial when none is set) ---- */
.mv-avatar{border-radius:50%; object-fit:cover; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;}
.mv-avatar-initial{color:var(--ink-on-accent); font-family:'Manrope',sans-serif; font-weight:700; line-height:1;}

/* ---- Post-type pills (composer) and the tag they leave on the post ---- */
.cmy-type-pills{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px;}
.cmy-type-pill{font-family:'IBM Plex Mono',monospace; font-size:11.5px; padding:6px 12px; border-radius:100px; border:1px solid var(--line-strong); background:var(--paper); color:var(--ink-soft); cursor:pointer;}
.cmy-type-pill.on{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.cmy-type-help{font-size:12.5px; color:var(--ink-soft); margin:0 0 10px; line-height:1.5;}
.cmy-post-tag{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; border:1px solid; border-radius:100px; display:inline-block; padding:3px 10px; margin-bottom:10px;}
/* color is !important: the badge is a fixed-token component and lands inside
   containers with their own colour rules (e.g. .spec-row span:first-child). */
.mv-verified{display:inline-flex; align-items:center; gap:4px; font-family:'IBM Plex Mono',monospace; font-size:9.5px; font-weight:500; text-transform:uppercase; letter-spacing:.03em; color:var(--moss-deep)!important; background:rgba(42,235,160,0.12); border:1px solid var(--moss-deep); border-radius:100px; padding:2px 8px 2px 5px; white-space:nowrap; vertical-align:middle; line-height:1;}
.mv-verified svg{width:12px; height:12px; flex-shrink:0;}
.mv-verified > span{color:var(--moss-deep);}

/* ---- Profile screen ---- */
.perfil-cover{height:120px; border-radius:10px; margin-bottom:-40px;}
.perfil-id{display:flex; align-items:flex-end; gap:14px; padding:0 4px;}
.perfil-id .mv-avatar{border:3px solid var(--paper);}
.perfil-name{font-family:'Manrope',sans-serif; font-weight:600; font-size:22px; margin:0;}
.perfil-meta{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--moss); text-transform:uppercase; letter-spacing:.04em; margin-top:3px;}
.perfil-bio{font-size:14px; line-height:1.6; color:var(--ink-soft); margin:14px 4px 0; white-space:pre-wrap;}
.perfil-mutuo{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--moss-deep); margin-left:10px;}
