.ea-app{
    --bg:#17151d;
    --bg-2:#100f15;
    --surface:#221f2b;
    --surface-2:#2c2837;
    --line:#38334420;
    --line:#38334480;
    --text:#f4f3f6;
    --muted:#a29cb0;
    --muted-2:#726c80;
    --ok:#1cc6a9;
    --radius:14px;
    --maxw:560px;
}
.ea-app, .ea-app *{ box-sizing:border-box; margin:0; padding:0; }
.ea-app{
    background:var(--bg) !important; color:var(--text) !important;
    font-family:"Inter",system-ui,sans-serif; line-height:1.5;
    -webkit-font-smoothing:antialiased; overflow-x:hidden;
    position:relative;
    /* Full-bleed: rompe el ancho "boxed" del contenedor de Elementor/tema
       para que el fondo siempre cubra todo el ancho del navegador.
       --ea-vw la calcula JS con window.innerWidth (evita el scroll
       horizontal que a veces causa 100vw por el ancho del scrollbar). */
    width:var(--ea-vw, 100vw);
    left:50%;
    right:50%;
    margin-left:calc(var(--ea-vw, 100vw) / -2);
    margin-right:calc(var(--ea-vw, 100vw) / -2);
    padding-top:10px;
    padding-bottom:60px;
    min-height:100vh;
}
.ea-app::before{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
        radial-gradient(60% 50% at 85% -5%, var(--ea-accent-a25), transparent 60%),
        radial-gradient(50% 40% at -10% 100%, var(--ea-accent-a15), transparent 60%);
}
.ea-app .ea-wrap{ position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; padding:60px 20px 50px; border-radius:22px; }

.ea-app .ea-topbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; min-height:34px; }
.ea-app .ea-brand{ display:flex; flex-direction:column; gap:4px; }
.ea-app .ea-tagline{ font-size:10.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--muted-2) !important; }
.ea-app .ea-logo{ height:32px !important; width:auto !important; max-width:160px; object-fit:contain; display:block !important; }
.ea-app .ea-logo-text{ font-family:"Poppins",sans-serif !important; font-weight:800 !important; font-size:18px !important; color:var(--text) !important; }
.ea-app .ea-step-count{ font-size:12px; font-weight:600; color:var(--muted) !important; font-variant-numeric:tabular-nums; }

.ea-app .ea-progress{ height:6px; border-radius:999px; background:var(--surface); overflow:hidden; margin-bottom:26px; }
.ea-app .ea-progress-fill{ height:100%; width:0%; border-radius:999px; background:linear-gradient(90deg, var(--ea-accent), var(--accent-2)); transition:width .4s cubic-bezier(.22,1,.36,1); }

.ea-app .ea-cat-badges{ display:flex; gap:8px; margin-bottom:22px; }
.ea-app .ea-cat-badge{
    flex:1; text-align:center; background:var(--surface); border:1px solid var(--line);
    border-radius:12px; padding:10px 6px; transition:border-color .3s ease, background .3s ease, opacity .3s ease;
    opacity:.5;
}
.ea-app .ea-cat-badge-letter{ display:block; font-family:"Poppins",sans-serif !important; font-weight:800 !important; font-size:17px !important; color:var(--muted) !important; }
.ea-app .ea-cat-badge-name{ display:block; font-size:9px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--muted-2) !important; margin-top:2px; }
.ea-app .ea-cat-badge.is-current{ opacity:1; border-color:var(--ea-accent); background:var(--surface-2); }
.ea-app .ea-cat-badge.is-current .ea-cat-badge-letter{ color:var(--ea-accent) !important; }
.ea-app .ea-cat-badge.is-done{ opacity:1; }
.ea-app .ea-cat-badge.is-done .ea-cat-badge-letter{ color:var(--text) !important; }
.ea-app .ea-cat-badge.is-done .ea-cat-badge-letter::after{ content:' ✓'; font-size:11px; color:var(--ea-accent); }

.ea-app .ea-cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:28px; }
.ea-app .ea-cat-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px; }
.ea-app .ea-cat-card-letter{ font-family:"Poppins",sans-serif !important; font-weight:800 !important; font-size:19px !important; color:var(--ea-accent) !important; margin-bottom:6px; }
.ea-app .ea-cat-card-name{ font-family:"Poppins",sans-serif !important; font-weight:700 !important; font-size:14px !important; color:var(--text) !important; margin-bottom:4px; }
.ea-app .ea-cat-card-desc{ font-size:12.5px; color:var(--muted) !important; line-height:1.4; }
@media (max-width:480px){ .ea-app .ea-cat-grid{ grid-template-columns:1fr; } }

.ea-app .ea-screen{ display:none; animation: eaRise .45s cubic-bezier(.22,1,.36,1); }
.ea-app .ea-screen.ea-active{ display:block; }
@keyframes eaRise{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none; } }

.ea-app .ea-eyebrow{ font-family:"Poppins",sans-serif; font-weight:800; font-size:12px; letter-spacing:3px; color:var(--ea-accent) !important; text-transform:uppercase; margin-bottom:14px; }
.ea-app h1{ font-family:"Poppins",sans-serif !important; font-weight:900 !important; font-size:clamp(28px,7.5vw,38px) !important; line-height:1.05 !important; letter-spacing:-.5px; color:var(--text) !important; background:none !important; -webkit-text-fill-color:var(--text) !important; }
.ea-app .ea-lede{ color:var(--muted) !important; font-size:15px; margin:16px 0 22px; max-width:42ch; }
.ea-app .ea-pillrow{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.ea-app .ea-pill{ font-size:12px; font-weight:600; color:var(--text) !important; background:var(--surface); border:1px solid var(--line); padding:7px 12px; border-radius:100px; }
.ea-app .ea-pill b{ color:var(--ea-accent) !important; }

.ea-app .ea-q-card{
    background:var(--surface-2); border:1px solid var(--line); border-radius:20px;
    padding:32px 26px; min-height:280px; display:flex; flex-direction:column; justify-content:center;
}
.ea-app .ea-q-eyebrow{ font-size:11.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ea-accent) !important; margin-bottom:12px; }
.ea-app .ea-q-text{ font-family:"Poppins",sans-serif !important; font-weight:800 !important; font-size:22px !important; line-height:1.3 !important; margin-bottom:22px; color:var(--text) !important; }
.ea-app .ea-opts{ display:flex; flex-direction:column; gap:11px; }
.ea-app .ea-opt{
    text-align:left; width:100%; cursor:pointer; background:var(--surface); border:1px solid var(--line);
    border-radius:var(--radius); padding:15px 16px; color:var(--text); font-family:"Inter"; font-size:15px; font-weight:600;
    display:flex; align-items:center; gap:14px; transition:border-color .15s, background .15s, transform .08s;
}
.ea-app .ea-opt:active{ transform:scale(.99); }
.ea-app .ea-opt .ea-mark{ width:24px; height:24px; flex:none; border-radius:7px; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:var(--muted); transition:all .15s; }
.ea-app .ea-opt.ea-sel{ border-color:var(--ea-accent); background:var(--surface-2); }
.ea-app .ea-opt.ea-sel .ea-mark{ border-color:var(--ea-accent); color:var(--ea-accent); background:var(--ea-accent-a18); }
@media (hover:hover){
    .ea-app .ea-opt:hover{ border-color:var(--ea-accent); background:var(--surface-2); }
    .ea-app .ea-opt:hover .ea-mark{ border-color:var(--ea-accent); color:var(--ea-accent); }
}

.ea-app .ea-field-input, .ea-app .ea-field-textarea, .ea-app .ea-field-select{
    width:100% !important; background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:var(--radius) !important;
    padding:14px 16px !important; color:var(--text) !important; -webkit-text-fill-color:var(--text) !important;
    font-family:"Inter" !important; font-size:15px !important; font-weight:500 !important;
    transition:border-color .15s; height:auto !important; min-height:52px; line-height:normal !important;
    box-shadow:none !important;
}
.ea-app .ea-field-input:focus, .ea-app .ea-field-textarea:focus, .ea-app .ea-field-select:focus{ outline:none; border-color:var(--ea-accent) !important; }
.ea-app .ea-field-textarea{ min-height:110px !important; resize:vertical; }
.ea-app .ea-field-select{
    -webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a29cb0' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important; background-position:right 16px center !important; padding-right:36px !important;
    text-overflow:ellipsis; white-space:nowrap; overflow:hidden;
}
.ea-app .ea-field-select option{ background:var(--surface); color:var(--text); white-space:normal; }
.ea-app .ea-field-input::placeholder, .ea-app .ea-field-textarea::placeholder{ color:var(--muted-2) !important; -webkit-text-fill-color:var(--muted-2) !important; opacity:1 !important; }
.ea-app .ea-hint{ font-size:12px; color:var(--muted-2); margin-top:8px; }
.ea-app .ea-errmsg{ font-size:12.5px; color:#ff7a6b; margin-top:8px; display:none; }
.ea-app .ea-errmsg.ea-show{ display:block; }
.ea-app .ea-field-input.ea-err, .ea-app .ea-field-textarea.ea-err, .ea-app .ea-field-select.ea-err{ border-color:#ff7a6b !important; }

.ea-app .ea-navrow{ display:flex; justify-content:space-between; align-items:center; margin-top:24px; gap:12px; }
.ea-app .ea-back{ background:none; border:none; color:var(--muted); font-size:13px; font-weight:600; cursor:pointer; padding:10px 0; }
.ea-app .ea-back:hover{ color:var(--text); }
.ea-app .ea-back[style*="hidden"]{ visibility:hidden; }
.ea-app .ea-next{
    flex:1; max-width:220px; margin-left:auto;
    font-family:"Poppins",sans-serif; font-weight:800; font-size:14px; letter-spacing:.2px;
    padding:14px 20px; border-radius:var(--radius); border:none; color:#fff; cursor:pointer;
    background:linear-gradient(95deg, var(--ea-accent), var(--accent-2));
    box-shadow:0 8px 22px var(--ea-accent-a35);
    transition:transform .08s, box-shadow .2s;
}
.ea-app .ea-next:hover{ box-shadow:0 10px 28px var(--ea-accent-a45); }
.ea-app .ea-next:active{ transform:translateY(1px); }
.ea-app .ea-next:disabled{ opacity:.55; cursor:wait; box-shadow:none; }

.ea-app .ea-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; cursor:pointer;
    font-family:"Poppins",sans-serif; font-weight:800; font-size:16px; letter-spacing:.2px;
    padding:17px 20px; border-radius:var(--radius); border:none; color:#fff;
    background:linear-gradient(95deg, var(--ea-accent), var(--accent-2));
    box-shadow:0 8px 24px var(--ea-accent-a35);
    transition:transform .08s, box-shadow .2s;
}
.ea-app .ea-btn:hover{ box-shadow:0 10px 30px var(--ea-accent-a45); }
.ea-app .ea-btn:active{ transform:translateY(1px); }
.ea-app .ea-micro{ font-size:11.5px; color:var(--muted-2); text-align:center; margin-top:12px; }

.ea-app .ea-result-head{ text-align:center; margin-bottom:26px; }
.ea-app .ea-result-emoji{ font-size:42px; margin-bottom:10px; }
.ea-app .ea-result-head h2{ font-family:"Poppins",sans-serif !important; font-weight:900 !important; font-size:24px !important; margin-bottom:8px; color:var(--text) !important; -webkit-text-fill-color:var(--text) !important; }
.ea-app .ea-result-head p{ color:var(--muted) !important; font-size:14px; max-width:38ch; margin:0 auto; }

.ea-app .ea-answers{ display:flex; flex-direction:column; gap:10px; }
.ea-app .ea-answer-row{ background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.ea-app .ea-answer-row .ea-a-q{ font-size:11.5px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; color:var(--ea-accent) !important; margin-bottom:5px; }
.ea-app .ea-answer-row .ea-a-v{ font-size:14.5px; font-weight:600; color:var(--text) !important; }
.ea-app .ea-answer-row .ea-a-v.ea-empty{ color:var(--muted-2) !important; font-weight:400; font-style:italic; }

.ea-app .ea-email-card{
    background:var(--surface); border:1px dashed var(--line); border-radius:16px;
    padding:18px; margin-bottom:20px; text-align:center;
}
.ea-app .ea-email-toggle{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:"Poppins",sans-serif !important; font-weight:700 !important; font-size:14px !important;
    padding:12px 20px; border-radius:999px; border:1.5px solid var(--ea-accent) !important;
    background:transparent !important; color:var(--ea-accent) !important; cursor:pointer;
    transition:background .2s ease, color .2s ease;
}
.ea-app .ea-email-toggle:hover{ background:var(--ea-accent) !important; color:#fff !important; }
.ea-app .ea-email-form{ margin-top:14px; text-align:left; }
.ea-app .ea-list-field{ display:flex; flex-direction:column; gap:10px; }
.ea-app .ea-list-rows{ display:flex; flex-direction:column; gap:10px; }
.ea-app .ea-list-row{ display:flex; align-items:center; gap:8px; }
.ea-app .ea-list-row .ea-list-input{ flex:1; }
.ea-app .ea-list-remove{
    flex:none; width:38px; height:38px; border-radius:10px;
    border:1px solid var(--line); background:var(--surface); color:var(--muted);
    font-size:18px; line-height:1; cursor:pointer; transition:border-color .15s, color .15s;
}
.ea-app .ea-list-remove:hover{ border-color:#ff7a6b; color:#ff7a6b; }
.ea-app .ea-list-add{
    align-self:flex-start; background:none; border:none; color:var(--ea-accent) !important;
    font-family:"Inter" !important; font-weight:700 !important; font-size:13.5px !important;
    cursor:pointer; padding:6px 0;
}

.ea-app .ea-email-note, .ea-app #eaEmailNote{ font-size:13px; font-weight:600; color:var(--ea-accent) !important; text-align:center; margin-top:4px; }

.ea-app .ea-cat-intro{
    background:var(--surface-2); border:1px solid var(--ea-accent); border-radius:14px;
    padding:14px 18px; margin-bottom:16px; text-align:center;
    font-family:"Poppins",sans-serif !important; font-weight:700 !important; font-size:14px !important;
    color:var(--text) !important;
    animation: eaCatIntroIn .5s cubic-bezier(.22,1,.36,1);
}
@keyframes eaCatIntroIn{ from{ opacity:0; transform:translateY(-8px) scale(.97);} to{ opacity:1; transform:none; } }

.ea-app .ea-nickname-card{
    background:linear-gradient(135deg, var(--ea-accent-a25), var(--ea-accent-a15));
    border:1px solid var(--ea-accent); border-radius:16px; padding:18px 20px; margin-bottom:16px; text-align:center;
}
.ea-app .ea-nickname-label{ font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--ea-accent) !important; margin-bottom:6px; }
.ea-app .ea-nickname-text{ font-family:"Poppins",sans-serif !important; font-weight:800 !important; font-size:17px !important; color:var(--text) !important; line-height:1.35; }

.ea-app .ea-share-row{ margin-bottom:12px; }
.ea-app .ea-share-row .ea-email-toggle{ width:100%; }

.ea-app .ea-confetti-layer{ position:fixed; inset:0; pointer-events:none; z-index:9999; overflow:hidden; }
.ea-app .ea-confetti-piece{
    position:absolute; top:-12px; width:8px; height:14px; opacity:.9;
    animation: eaConfettiFall linear forwards;
}
@keyframes eaConfettiFall{
    to{ transform: translateY(110vh) rotate(540deg); opacity:.2; }
}

@media (prefers-reduced-motion: reduce){ .ea-app, .ea-app *{ animation:none!important; transition:none!important; } }
