:root{--navy:#213549;--blue:#324F6D;--slate:#637990;--accent:#5281B1;--mist:#E6E6E6;--white:#FFFFFF;--paper:#F5F7FA;--ink:#213549;--muted:#687788;--line:#E0E7ED;--shadow:0 14px 38px rgba(25,48,69,.06);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #75B1E9;outline-offset:3px}a{color:inherit}.wrap{width:min(1216px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;background:white;padding:8px;z-index:20}.skip-link:focus{top:10px}
.topbar{background:var(--navy);color:white;border-bottom:1px solid rgba(255,255,255,.1)}.topbar-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:15px}.brand-icon{height:46px;width:55px;display:grid;place-items:center}.brand-icon img{display:block;width:100%;height:100%;object-fit:contain}.brand-main{font-weight:800;letter-spacing:.145em;font-size:15px}.brand-sub{font-size:10px;letter-spacing:.3em;margin-top:6px;color:#C7D9EA;font-weight:700}.topbar-right{display:flex;align-items:center;gap:22px}.topbar-label{font-size:10px;letter-spacing:.18em;color:#BBCAD7;font-weight:700}.topbar-v1{border:1px solid rgba(255,255,255,.28);border-radius:99px;font-size:10px;letter-spacing:.09em;padding:9px 12px;color:white}
.hero{background:linear-gradient(116deg,#213549 0%,#324F6D 49%,#5281B1 100%);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.23fr .77fr;min-height:340px}.hero-copy{padding:58px 0 62px}.eyebrow{font-size:11px;letter-spacing:.20em;font-weight:800;display:flex;align-items:center;gap:12px;color:#C4DEEF}.eyebrow-line{display:inline-block;width:25px;height:2px;background:#88BDE8}.hero h1{font-size:clamp(32px,3.4vw,53px);line-height:1.16;letter-spacing:-.042em;margin:25px 0 18px;font-weight:790}.hero h1 span{color:#B7D6EF}.hero-copy>p{font-size:15px;line-height:1.8;max-width:590px;color:#DCE8F1;margin:0}.hero-shortcuts{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:29px}.hero-shortcuts>span{font-size:12px;color:#C4D3E0;margin-right:3px}.hero-shortcuts button{color:white;background:rgba(255,255,255,.095);border:1px solid rgba(255,255,255,.25);font-size:11px;border-radius:7px;font-weight:800;letter-spacing:.05em;padding:9px 13px;transition:background .15s}.hero-shortcuts button:hover{background:rgba(255,255,255,.2)}.hero-visual{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-visual:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.12);border-radius:50%;top:-100px;right:5px}.hero-visual:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-100px;bottom:-100px}.hero-eagle{position:relative;width:min(93%,420px);height:auto;max-height:275px;object-fit:contain;filter:drop-shadow(0 12px 36px rgba(8,24,41,.12));opacity:.92;z-index:1}.hero-stat{position:absolute;bottom:19px;right:16px;display:flex;gap:10px;align-items:center;background:rgba(33,53,73,.50);backdrop-filter:blur(8px);padding:13px 15px;border:1px solid rgba(255,255,255,.18);border-radius:10px;z-index:2}.stat-number{font-size:26px;font-weight:800}.stat-label{font-size:9px;letter-spacing:.12em;max-width:90px;line-height:1.55}.hero-watermark{position:absolute;right:10px;top:18px;letter-spacing:.4em;font-size:10px;opacity:.38;font-weight:800}
.workspace{padding-bottom:62px}.mode-nav{margin-top:-1px;display:flex;gap:5px;background:#FFF;border:1px solid var(--line);border-radius:0 0 15px 15px;padding:10px;box-shadow:var(--shadow);width:fit-content;max-width:100%}.mode-button{background:transparent;border:0;border-radius:10px;padding:15px 25px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:750;color:#6C7D8E;transition:background .15s,color .15s}.mode-button.active{background:var(--navy);color:white}.mode-button:hover:not(.active){background:#EFF3F7;color:var(--navy)}.tab-icon{font-size:22px;line-height:15px;font-weight:400}.nav-count{display:inline-grid;place-items:center;background:rgba(255,255,255,.15);border-radius:6px;font-size:11px;padding:3px 8px}.nav-muted{color:#90A6BB;font-size:12px}.panel{padding-top:47px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:27px}.section-kicker{font-size:10px;letter-spacing:.20em;color:var(--accent);font-weight:850}.section-heading h2{font-size:clamp(25px,2.6vw,34px);font-weight:790;letter-spacing:-.035em;margin:9px 0 8px}.section-heading p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.section-marker{font-size:11px;letter-spacing:.1em;color:#A8B5C1;align-self:start;margin-top:8px;font-weight:700}
.searchbox{display:flex;align-items:center;gap:16px;background:white;border:1px solid #DCE4EC;border-radius:12px;padding:0 19px;height:62px;box-shadow:0 8px 25px rgba(33,53,73,.035);color:#71889D}.searchbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(82,129,177,.12)}.searchbox input{font-size:14px;background:transparent;flex:1;border:0;outline:0;min-width:0;width:100%;color:var(--ink)}.searchbox input:focus{outline:0}.searchbox input::placeholder{color:#91A1B1}.search-hint{border:1px solid var(--line);border-radius:5px;padding:5px 9px;font-size:12px;color:#9CAAAB;background:#FAFBFC}
.filter-row{display:flex;gap:9px;margin:20px 0 23px;flex-wrap:wrap}.filter-chip{border:1px solid #D8E1E9;background:white;color:#647487;font-size:12px;padding:10px 15px;border-radius:99px;font-weight:680;transition:all .15s}.filter-chip.active,.filter-chip:hover{background:var(--blue);color:white;border-color:var(--blue)}.filter-chip span{opacity:.58;margin-left:4px}.results-header{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#8695A4;font-size:12px;margin-bottom:15px}.results-header #result-count{color:var(--blue);font-weight:750}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.term-card{background:white;border:1px solid #E0E6EC;border-radius:13px;box-shadow:0 5px 18px rgba(29,53,73,.035);overflow:hidden;transition:border-color .15s,box-shadow .15s}.term-card:hover{border-color:#B8CDE0;box-shadow:0 10px 29px rgba(29,53,73,.075)}.term-card[data-open="true"]{border-color:#90B1D0}.term-toggle{display:block;width:100%;text-align:left;border:0;background:white;padding:21px 23px 20px;color:inherit}.term-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.category-badge{display:inline-flex;font-size:10px;letter-spacing:.055em;font-weight:800;color:#47709A;background:#EAF2F9;padding:7px 10px;border-radius:6px}.expand-icon{font-size:21px;color:#6986A0;font-weight:400}.term-title{font-weight:800;font-size:24px;line-height:1.2;margin:20px 0 4px;letter-spacing:-.025em}.term-english{font-size:11px;color:#91A0AC;min-height:16px;line-height:1.5}.term-spanish{margin:12px 0 10px;font-size:13px;font-weight:750;color:#425D76;line-height:1.5}.term-short{font-size:13px;color:#687987;line-height:1.75;margin:0;min-height:48px}.term-bottom{display:flex;align-items:center;gap:6px;margin-top:17px;color:#4D81B0;font-weight:800;font-size:11px;letter-spacing:.01em}.term-detail{border-top:1px solid #E8EEF3;padding:3px 23px 23px;background:#FAFCFE}.term-detail h4{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#4E7496;margin:19px 0 6px}.term-detail p{font-size:13px;line-height:1.75;color:#526478;margin:0}.term-detail .example-box{background:#EBF2F9;border-left:3px solid var(--accent);padding:11px 13px;margin-top:4px;border-radius:2px 7px 7px 2px}.term-detail .risk-box{background:#F5F2ED;border-left:3px solid #A49B8F;padding:11px 13px;margin-top:4px;border-radius:2px 7px 7px 2px}.empty{background:white;border:1px solid var(--line);text-align:center;padding:50px 24px;border-radius:14px}.empty[hidden],.panel[hidden]{display:none!important}.empty-icon{display:grid;place-items:center;width:45px;height:45px;margin:auto;background:#E8F1F9;color:#47709A;font-size:22px;border-radius:50%}.empty h3{margin-bottom:0}.empty p{font-size:13px;color:var(--muted)}.secondary-button,.primary-button,.control-button{border-radius:8px;padding:12px 16px;font-weight:750;font-size:12px}.secondary-button{background:white;border:1px solid #CAD8E5;color:var(--blue)}.secondary-button:hover{background:#ECF3F9}.primary-button{background:var(--navy);color:#FFF;border:1px solid var(--navy);min-width:178px}.primary-button:hover{background:var(--blue)}.control-button{background:transparent;color:var(--blue);border:1px solid var(--line);min-width:128px}.control-button:hover{background:#EBF2F9}
.practice-toolbar{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:24px}.practice-toolbar label{font-size:12px;color:#60748A;font-weight:760}.practice-toolbar select{border:1px solid #D5E0EA;border-radius:8px;padding:12px 14px;background:white;color:var(--blue);font-size:13px;min-width:205px}.practice-toolbar .secondary-button{margin-left:auto}.practice-zone{max-width:700px;margin:0 auto 23px}.practice-meta{display:flex;align-items:center;justify-content:space-between;color:var(--slate);font-size:12px;font-weight:700;margin-bottom:15px}.micro-label{font-size:10px;letter-spacing:.15em;color:#73889C}.flashcard{width:100%;height:330px;border:0;display:block;border-radius:18px;background:transparent;padding:0;perspective:1500px;text-align:center}.flashcard-inner{height:100%;width:100%;position:relative;transform-style:preserve-3d;transition:transform .5s}.flashcard.is-flipped .flashcard-inner{transform:rotateY(180deg)}.flash-face{position:absolute;inset:0;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flash-front{background:linear-gradient(140deg,#213549,#324F6D 73%,#4D7498);color:white;box-shadow:0 17px 44px rgba(33,53,73,.13)}.flash-back{background:white;transform:rotateY(180deg);border:1px solid #CADCEB;box-shadow:0 12px 35px rgba(33,53,73,.075);color:var(--navy)}.flash-eyebrow{font-size:10px;letter-spacing:.19em;font-weight:800;opacity:.7}.flash-front strong{font-size:clamp(44px,7vw,77px);font-weight:850;letter-spacing:-.035em;margin:29px 0 26px;line-height:1.05;overflow-wrap:anywhere}.flash-back strong{font-size:clamp(20px,3vw,28px);line-height:1.3;max-width:550px;margin:22px 0 15px;letter-spacing:-.018em}.flash-back #flash-answer{font-size:14px;max-width:560px;line-height:1.75;color:#5B7084}.flash-instruction{font-size:12px;opacity:.67;margin-top:8px}.practice-controls{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.progress-track{height:5px;background:#DBE4ED;border-radius:99px;overflow:hidden;margin-top:26px}.progress-fill{height:100%;width:1%;background:var(--accent);transition:width .15s}.practice-hint{text-align:center;font-size:11px;color:#8A9AAA;margin-top:15px}
.note{display:flex;gap:12px;margin-top:37px;border:1px solid #D9E5EF;background:#EDF3F8;border-radius:11px;padding:17px 19px}.note-dot{height:8px;width:8px;flex:none;background:var(--accent);border-radius:50%;margin-top:7px}.note p{font-size:12px;line-height:1.7;color:#597084;margin:0}.note strong{color:var(--blue)}.footer{background:white;border-top:1px solid var(--line);padding:22px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8391A0;font-size:11px}.footer-brand{display:flex;align-items:center;gap:12px;color:#324F6D;font-size:11px;font-weight:850;letter-spacing:.09em}.footer-brand img{width:36px;height:28px;object-fit:contain}.footer-brand b{font-weight:650;color:#8C9BAB}
@media(max-width:930px){.hero-grid{grid-template-columns:1.45fr .55fr}.hero-eagle{width:110%}.hero-copy{padding:52px 0}.hero h1{font-size:39px}.topbar-label{display:none}.hero-stat{right:0}.cards{gap:12px}}
@media(max-width:680px){.wrap{width:min(100% - 32px,560px)}.topbar-inner{height:72px}.brand{gap:9px}.brand-icon{width:42px;height:42px}.brand-main{font-size:12px}.brand-sub{font-size:8px;letter-spacing:.22em}.topbar-v1{font-size:8px;padding:7px 9px}.hero-grid{display:block;min-height:auto}.hero-copy{padding:42px 0 47px}.hero h1{font-size:36px;margin:19px 0}.hero-copy>p{font-size:13px}.hero-visual{display:none}.hero-shortcuts{margin-top:22px}.mode-nav{width:100%;gap:4px}.mode-button{flex:1;justify-content:center;padding:13px 10px;font-size:12px}.panel{padding-top:36px}.section-heading{align-items:flex-start}.section-heading h2{font-size:26px}.section-heading p{font-size:12px}.section-marker{font-size:9px}.searchbox{height:56px;padding:0 14px;gap:12px}.searchbox input{font-size:12px}.search-hint{display:none}.filter-row{gap:7px}.filter-chip{font-size:11px;padding:9px 12px}.results-header>span{display:none}.cards{grid-template-columns:1fr}.term-short{min-height:auto}.term-toggle{padding:19px}.term-detail{padding:3px 19px 20px}.practice-toolbar{align-items:stretch}.practice-toolbar label{width:100%}.practice-toolbar select{flex:1;min-width:140px}.practice-toolbar .secondary-button{margin-left:0}.flashcard{height:320px}.flash-face{padding:23px}.practice-controls{gap:7px}.control-button{min-width:0;padding:11px 12px;flex:1}.primary-button{min-width:0;padding:11px 9px;flex:1.2}.footer-inner{align-items:flex-start;flex-direction:column;gap:11px}.footer-brand{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* V1.4 CORREGIDA — Misma composición V1.3, nubes con relleno aportadas por el usuario. */
.hero-visual::before,.hero-visual::after{display:none!important;content:none!important}
.hero-watermark{display:none!important}
.hero-cloud{position:absolute;display:block;max-width:none;height:auto;pointer-events:none;user-select:none;z-index:0;opacity:.24;filter:none;transform:none}
.hero-cloud-upper{width:205px;top:6px;left:4px;right:auto;bottom:auto}
.hero-cloud-small{width:73px;top:4px;right:24px;left:auto;bottom:auto}
.hero-cloud-lower{width:325px;bottom:-80px;right:-112px;left:auto;top:auto}
.hero-eagle{position:relative;z-index:1;width:min(95%,430px);max-height:280px;opacity:.96}
@media(max-width:930px){
  .hero-cloud-upper{width:150px;top:5px;left:-8px}
  .hero-cloud-small{width:67px;top:0;right:6px}
  .hero-cloud-lower{width:250px;right:-130px;bottom:-73px}
}
@media(max-width:680px){
  .hero-grid{display:flex;flex-direction:column;min-height:auto}
  .hero-copy{padding:42px 0 10px}
  .hero-visual{display:flex;min-height:220px;height:220px;justify-content:center;align-items:center;overflow:hidden}
  .hero-eagle{width:min(69%,245px);height:auto;max-height:186px;object-fit:contain;opacity:.97}
  .hero-cloud-upper{width:130px;top:-4px;left:0px;right:auto}
  .hero-cloud-small{width:49px;top:4px;right:36px;left:auto}
  .hero-cloud-lower{width:190px;right:-112px;bottom:-67px;left:auto}
  .hero-stat{bottom:10px;right:4px;padding:8px 9px;gap:5px;border-radius:7px}
  .stat-number{font-size:17px}.stat-label{font-size:7px;max-width:70px}
}
@media(max-width:380px){
  .hero-visual{min-height:198px;height:198px}
  .hero-eagle{width:64%;max-height:170px}
  .hero-cloud-upper{width:120px;top:-5px;left:-6px}
  .hero-cloud-small{width:44px;right:28px}
  .hero-cloud-lower{width:180px;right:-115px;bottom:-65px}
  .hero-stat{bottom:6px;right:0}
}

/* Ajuste exclusivo para nubes rellenas. Posiciones 1:1 con V1.3. */
.hero-cloud-upper{opacity:.26}
.hero-cloud-small{opacity:.29}
.hero-cloud-lower{opacity:.19}
@media(max-width:680px){
.hero-cloud-upper{opacity:.24}
.hero-cloud-small{opacity:.27}
.hero-cloud-lower{opacity:.16}
}

/* V1.5: estado de conexión, sin cambiar la composición V1.4 corregida. */
.sync-warning{margin:0 0 16px;padding:12px 15px;border-radius:8px;background:#FFF7E8;border:1px solid #E5CE9F;color:#66532F;font-size:12px;line-height:1.6}
.sync-warning[hidden]{display:none!important}


/* V1.7.1 — Tarjetas de aprendizaje: encabezados y pie protegidos y tipografía adaptable. */
.flash-front{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-items:center;
  justify-items:center;
  row-gap:10px;
  padding:24px 30px 20px;
}
.flash-front #flash-term{
  display:grid;
  align-content:center;
  justify-self:stretch;
  align-self:stretch;
  width:100%;
  height:100%;
  min-height:0;
  max-height:100%;
  overflow:hidden;
  margin:0;
  font-size:76px;
  font-weight:850;
  line-height:1.06;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
  hyphens:none;
  text-wrap:balance;
}
.flash-front .flash-eyebrow,
.flash-front .flash-instruction{
  position:relative;
  z-index:1;
  margin:0;
  line-height:1.35;
}
.flash-back{
  justify-content:flex-start;
  gap:10px;
  padding:24px 28px 20px;
}
.flash-back #flash-answer-title{
  display:block;
  flex:none;
  width:100%;
  max-width:100%;
  max-height:112px;
  margin:0;
  overflow:hidden;
  font-size:28px;
  line-height:1.22;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.flash-back #flash-answer{
  flex:1 1 auto;
  min-height:0;
  max-width:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:2px 4px;
  line-height:1.5;
  scrollbar-width:thin;
}
.flash-back .flash-instruction{
  flex:none;
  margin-top:auto;
  line-height:1.35;
}
@media(max-width:680px){
  .flash-front{padding:22px 18px 18px;row-gap:8px}
  .flash-back{padding:22px 18px 18px;gap:8px}
  .flash-front #flash-term{font-size:58px}
  .flash-back #flash-answer-title{font-size:25px;max-height:112px}
  .flash-eyebrow{font-size:9px;letter-spacing:.1em}
  .flash-instruction{font-size:11px}
}
