:root {
    --orange: #f59e0b;
    --orange-strong: #f97316;
    --gold: #ffd166;
    --cream: #fffaf2;
    --white: #fff;
    --ink: #111318;
    --muted: #6f7888;
    --muted-light: #98a0ad;
    --line: rgba(17,19,24,.09);
    --dark: #0b0c10;
    --dark-soft: #15171c;
    --green: #22c55e;
    --radius: 28px;
    --shadow: 0 28px 80px rgba(17,19,24,.075);
    --font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body { background: var(--cream); color: var(--ink); font-family: var(--font-body), sans-serif; line-height: 1.6; overflow-x: hidden; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:-4; background:radial-gradient(circle at 90% 0%, rgba(255,209,102,.18), transparent 32%), radial-gradient(circle at 0% 55%, rgba(249,115,22,.05), transparent 30%); }
h1,h2,h3,h4 { font-family:var(--font-display),sans-serif; letter-spacing:-.055em; line-height:1.03; }
a { color:inherit; }
button,input { font:inherit; }
button { cursor:pointer; }
::selection { background:var(--orange); color:#fff; }

.section-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.site-noise { position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.016; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.ambient { position:fixed; width:55vw; height:55vw; border-radius:50%; pointer-events:none; z-index:-2; contain:strict; }
.ambient-one { top:-25vw; right:-15vw; background:radial-gradient(circle,rgba(255,209,102,.30) 0%,rgba(255,209,102,.13) 38%,transparent 72%); }
.ambient-two { bottom:-31vw; left:-23vw; background:radial-gradient(circle,rgba(249,115,22,.10) 0%,rgba(249,115,22,.035) 42%,transparent 72%); }

/* NAV */
.skip-link { position:fixed; left:16px; top:12px; z-index:2000; padding:10px 14px; border-radius:12px; background:var(--ink); color:#fff; text-decoration:none; font-size:12px; font-weight:700; transform:translateY(-180%); transition:transform .2s ease; }
.skip-link:focus { transform:translateY(0); }

.nav-wrapper {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    padding:22px 24px;
    z-index:1000;
    transition:padding .3s ease;
}
.nav-wrapper.scrolled { padding:11px 24px; }

.glass-nav { width:min(1180px,100%); margin:auto; display:flex; align-items:center; gap:25px; padding:9px 10px 9px 13px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(255,255,255,.74); backdrop-filter:blur(16px) saturate(145%); -webkit-backdrop-filter:blur(16px) saturate(145%); box-shadow:0 12px 45px rgba(25,20,10,.07); }
.nav-logo-link { display:flex; align-items:center; gap:10px; text-decoration:none; flex:none; }
.logo-mark { width:52px; height:52px; display:block; border-radius:16px; overflow:hidden; flex:0 0 52px; box-shadow:0 10px 24px rgba(17,19,24,.12); }
.logo-mark img { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }
.nav-logo-txt { font:700 19px var(--font-display); letter-spacing:-.05em; }
.nav-logo-txt span { color:var(--orange-strong); }
.nav-links { display:flex; align-items:center; justify-content:center; gap:25px; flex:1; }
.nav-links a { text-decoration:none; color:#737b89; font-size:12px; font-weight:600; transition:color .2s ease; }
.nav-links a:hover { color:var(--ink); }
.nav-actions { display:flex; align-items:center; gap:19px; }
.nav-actions-session{margin-left:auto;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.nav-quick-btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border-radius:999px;border:1px solid rgba(17,19,24,.08);background:rgba(255,255,255,.92);color:#5e6674;text-decoration:none;font:700 12px var(--font-display);box-shadow:0 10px 26px rgba(17,19,24,.06);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,background .22s ease}
.nav-quick-btn:hover{transform:translateY(-2px);color:#111318;border-color:rgba(245,158,11,.22);box-shadow:0 14px 30px rgba(17,19,24,.09)}
.nav-quick-btn.is-active{background:#fff7ea;border-color:rgba(245,158,11,.26);color:#111318;box-shadow:0 14px 32px rgba(245,158,11,.12)}
.nav-quick-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff7df,#ffe7b2);color:#c57906;font-size:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.nav-quick-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-quick-label{white-space:nowrap}
.nav-quick-btn-logout{background:#17191d;color:#fff;border-color:#17191d;box-shadow:0 12px 28px rgba(17,19,24,.14)}
.nav-quick-btn-logout .nav-quick-icon{background:rgba(255,255,255,.12);color:#fff;box-shadow:none}
.nav-quick-btn-logout:hover{background:#252830;border-color:#252830;color:#fff;box-shadow:0 16px 34px rgba(17,19,24,.18)}
.nav-btn-entrar { text-decoration:none; font-size:13px; font-weight:600; color:#687182; }
.btn-volumetrico { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:0 24px; border:0; border-radius:999px; text-decoration:none; color:#fff!important; background:linear-gradient(135deg,#ffbf46,#f97316); font:700 14px var(--font-display); box-shadow:0 12px 28px rgba(249,115,22,.24),inset 0 1px 1px rgba(255,255,255,.55); transition:transform .25s ease,box-shadow .25s ease; }
.btn-volumetrico:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(249,115,22,.32),inset 0 1px 1px rgba(255,255,255,.6); }
.btn-small { min-height:42px; padding:0 18px; font-size:13px; }
.btn-hero { min-height:60px; padding:0 29px; font-size:15px; }
.btn-light { background:#fff; color:var(--ink)!important; }
.text-link { text-decoration:none; font-size:13px; font-weight:700; color:#6f7888; }
.text-link span { color:var(--orange-strong); margin-left:4px; }

:focus-visible { outline:3px solid rgba(249,115,22,.42); outline-offset:4px; }
button:focus-visible, a:focus-visible, input:focus-visible { outline-offset:3px; }

/* COMMON */
.eyebrow { display:inline-flex; align-items:center; gap:9px; padding:8px 11px; margin-bottom:25px; border:1px solid rgba(245,158,11,.2); border-radius:999px; background:rgba(255,255,255,.68); color:#8b5b05; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; box-shadow:0 8px 25px rgba(245,158,11,.07); }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(34,197,94,.1); }
.eyebrow-code { color:#b4bac4; margin-left:5px; }
.section-kicker { color:#b2730a; font:700 10px var(--font-display); letter-spacing:.17em; margin-bottom:24px; }
.section-kicker.light { color:#9da4b0; }
.section-heading-row { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr); gap:90px; align-items:end; }
.section-title { font-size:clamp(46px,5.5vw,76px); }
.section-title span,.hero-title span,.auth-title span,.dashboard-progress-copy h2 span { display:block; background:linear-gradient(110deg,#f59e0b,#f97316); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* v167 · Home: evita que las descendentes (g, p, y, etc.) se recorten en los títulos con degradado.
   El pequeño padding amplía el área de pintura de background-clip:text sin alterar la tipografía. */
.route-home .section-title > span { padding-bottom:.12em; }
/* v168 · Refuerzo puntual para las dos líneas con "g" que aún rozaban el límite de pintura.
   Aumentamos el área vertical de la línea sin alterar visualmente la separación entre bloques. */
.route-home .section-title > span.home-descender-fix {
    line-height:1.10;
    padding-bottom:.24em;
    margin-bottom:-.12em;
}
.heading-note { display:grid; grid-template-columns:3px 1fr; gap:18px; align-items:start; padding-bottom:7px; }
.note-line { width:3px; min-height:70px; border-radius:99px; background:linear-gradient(#f59e0b,#f97316); }
.heading-note p { max-width:430px; color:#727c8e; font-size:15px; line-height:1.75; }
.texto-resaltado { background:linear-gradient(110deg,#f59e0b,#f97316); -webkit-background-clip:text; background-clip:text; color:transparent; }
.emoji-3d { display:inline-block; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; line-height:1; filter:drop-shadow(0 4px 0 rgba(0,0,0,.07)) drop-shadow(0 12px 12px rgba(0,0,0,.13)); text-shadow:0 2px 0 rgba(255,255,255,.5),0 5px 0 rgba(0,0,0,.06); }
.emoji-stage { display:grid; place-items:center; border-radius:19px; box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 12px 28px rgba(0,0,0,.06); }
.emoji-stage-orange { background:linear-gradient(145deg,#fff5d8,#ffe7ac); }
.emoji-stage-yellow { background:linear-gradient(145deg,#fffbc6,#ffef83); }
.emoji-stage-lilac { background:linear-gradient(145deg,#f8f3ff,#e8dcff); }
.emoji-stage-sky { background:linear-gradient(145deg,#f3f9ff,#dceeff); }
.emoji-stage-dark { background:linear-gradient(145deg,#272a32,#121419); }
.emoji-stage-dark .emoji-3d { filter:drop-shadow(0 4px 0 rgba(0,0,0,.18)) drop-shadow(0 12px 12px rgba(0,0,0,.25)); }

/* HERO */
.hero { position:relative; overflow:hidden; }
.hero-product { min-height:850px; padding:155px 0 100px; display:flex; align-items:center; }
.hero-grid { position:absolute; inset:0; opacity:.36; background-image:linear-gradient(rgba(17,19,24,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,19,24,.045) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,#000,transparent 92%); }
.hero-glow { position:absolute; width:760px; height:760px; right:-150px; top:60px; border-radius:50%; background:radial-gradient(circle,rgba(255,190,60,.3),rgba(255,190,60,.06) 45%,transparent 70%); filter:blur(12px); }
.hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; gap:44px; align-items:center; }
.hero-copy { padding-top:20px; }
.hero-title { max-width:670px; font-size:clamp(58px,6.5vw,91px); }
.hero-description { max-width:570px; margin:27px 0 31px; color:var(--muted); font-size:17px; line-height:1.72; }
.hero-actions { display:flex; align-items:center; gap:21px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:15px 22px; margin-top:38px; color:#858e9c; font-size:11px; font-weight:600; }
.hero-meta b { color:var(--ink); }
.hero-meta i { display:inline-block; width:5px; height:5px; margin:0 5px 1px 1px; border-radius:50%; background:#b6bdc8; }
.hero-product-stage { position:relative; min-height:590px; display:grid; place-items:center; }
.product-window { width:min(535px,100%); border:1px solid rgba(255,255,255,.85); border-radius:31px; background:rgba(255,255,255,.83); backdrop-filter:blur(22px); box-shadow:0 38px 100px rgba(23,20,13,.15); overflow:hidden; transform:rotate(1.2deg); transition:transform .25s ease; }
.window-topbar { height:52px; padding:0 19px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); background:rgba(255,255,255,.62); color:#8c95a3; font:700 9px var(--font-display); letter-spacing:.12em; }
.window-topbar>b { justify-self:end; color:#f59e0b; }
.window-dots { display:flex; gap:5px; }
.window-dots i { width:7px; height:7px; border-radius:50%; background:#d8dce2; }
.window-dots i:first-child { background:#f7c35c; }
.window-body { padding:34px; }
.session-line { display:flex; justify-content:space-between; align-items:end; }
.micro-label { display:block; margin-bottom:7px; color:#a2a9b4; font:700 9px var(--font-display); letter-spacing:.14em; }
.session-line strong { font:700 30px var(--font-display); }
.session-step { color:#9aa2ae; font-size:10px; font-weight:700; }
.memory-board { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:34px 0 18px; }
.memory-board span { min-height:72px; display:grid; place-items:center; border:1px solid rgba(17,19,24,.06); border-radius:16px; background:linear-gradient(145deg,#fffdf7,#f5f1e9); color:#15171d; font:700 28px var(--font-display); box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(17,19,24,.035); }
.memory-board span:nth-child(2),.memory-board span:nth-child(6) { color:#f59e0b; }
.memory-footer { display:flex; justify-content:space-between; color:#838b98; font-size:11px; }
.memory-footer b { color:#111318; }
.window-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:27px; }
.window-stats div { padding:13px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.window-stats span,.window-stats b { display:block; }
.window-stats span { color:#9ba2ae; font:700 8px var(--font-display); letter-spacing:.1em; }
.window-stats b { margin-top:5px; font:700 17px var(--font-display); }
.hero-float-card {
    position:absolute;
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.82);
    border-radius:17px;
    background:rgba(255,255,255,.8);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 20px 45px rgba(35,25,10,.1);
    will-change:transform;
    animation:heroFloatTop 5.8s ease-in-out infinite;
}
.hero-float-card small,.hero-float-card b { display:block; }
.hero-float-card small { color:#8e96a2; font:700 8px var(--font-display); letter-spacing:.1em; }
.hero-float-card b { font:700 14px var(--font-display); }
.float-emoji {
    font-size:25px;
    filter:drop-shadow(0 5px 7px rgba(17,19,24,.16));
    animation:floatEmoji 2.9s ease-in-out infinite;
}
.hero-float-top {
    top:12%;
    right:1%;
    animation-name:heroFloatTop;
    animation-delay:-1.2s;
}
.hero-float-bottom {
    bottom:13%;
    left:1%;
    animation-name:heroFloatBottom;
    animation-duration:6.4s;
    animation-delay:-2.8s;
}

@keyframes heroFloatTop {
    0%,100% { transform:translate3d(var(--mouse-x,0px),var(--mouse-y,0px),0) rotate(var(--mouse-r,0deg)); }
    25% { transform:translate3d(calc(5px + var(--mouse-x,0px)),calc(-8px + var(--mouse-y,0px)),0) rotate(calc(1.2deg + var(--mouse-r,0deg))); }
    50% { transform:translate3d(calc(-2px + var(--mouse-x,0px)),calc(-14px + var(--mouse-y,0px)),0) rotate(calc(-.7deg + var(--mouse-r,0deg))); }
    75% { transform:translate3d(calc(-6px + var(--mouse-x,0px)),calc(-6px + var(--mouse-y,0px)),0) rotate(calc(.8deg + var(--mouse-r,0deg))); }
}
@keyframes heroFloatBottom {
    0%,100% { transform:translate3d(var(--mouse-x,0px),var(--mouse-y,0px),0) rotate(var(--mouse-r,0deg)); }
    25% { transform:translate3d(calc(-6px + var(--mouse-x,0px)),calc(7px + var(--mouse-y,0px)),0) rotate(calc(-1deg + var(--mouse-r,0deg))); }
    50% { transform:translate3d(calc(4px + var(--mouse-x,0px)),calc(13px + var(--mouse-y,0px)),0) rotate(calc(.7deg + var(--mouse-r,0deg))); }
    75% { transform:translate3d(calc(7px + var(--mouse-x,0px)),calc(5px + var(--mouse-y,0px)),0) rotate(calc(-.8deg + var(--mouse-r,0deg))); }
}
@keyframes floatEmoji {
    0%,100% { transform:translateY(0) rotate(0deg) scale(1); }
    50% { transform:translateY(-4px) rotate(-5deg) scale(1.04); }
}

.hero-product-stage .product-window {
    animation:productWindowFloat 7s ease-in-out infinite;
}
@keyframes productWindowFloat {
    0%,100% { translate:0 0; }
    50% { translate:0 -5px; }
}

/* TICKER */
.ticker-section { overflow:hidden; border-block:1px solid var(--line); background:#111318; color:#fff; }
.ticker-track { display:flex; width:max-content; will-change:transform; animation:ticker 30s linear infinite; }
.ticker-group { display:flex; flex-shrink:0; }
.ticker-item { display:flex; align-items:center; gap:24px; padding:17px 22px; white-space:nowrap; font:700 10px var(--font-display); letter-spacing:.16em; }
.ticker-item i { color:#f59e0b; font-style:normal; font-size:12px; }
@keyframes ticker { from{transform:translate3d(0,0,0)} to{transform:translate3d(-50%,0,0)} }
.ticker-section:hover .ticker-track { animation-play-state:paused; }

/* DEMO */
.demo-section { padding:135px 0 125px; }
.demo-heading-row { margin-bottom:60px; }
.demo-card { display:grid; grid-template-columns:.34fr .66fr; min-height:430px; overflow:hidden; border:1px solid rgba(17,19,24,.08); border-radius:32px; background:#fff; box-shadow:var(--shadow); }
.demo-side { padding:35px; display:flex; flex-direction:column; border-right:1px solid var(--line); background:linear-gradient(145deg,#fff8e3,#fff); }
.demo-label { color:#a1a8b3; font:700 9px var(--font-display); letter-spacing:.15em; }
.demo-feedback { display:block; min-height:38px; max-width:320px; margin-top:auto; margin-bottom:10px; color:#707987; font-size:11px; line-height:1.5; }
.demo-result { font:700 clamp(50px,6vw,78px) var(--font-display); letter-spacing:-.07em; }
.demo-result-caption { color:#858e9b; font-size:11px; }
.demo-best { margin-top:30px; padding-top:20px; border-top:1px solid var(--line); }
.demo-best span,.demo-best b { display:block; }
.demo-best span { color:#a0a7b2; font:700 8px var(--font-display); letter-spacing:.14em; }
.demo-best b { margin-top:5px; font:700 18px var(--font-display); }
.demo-game { padding:30px; display:flex; flex-direction:column; background:#111318; color:#fff; }
.demo-game-top { display:flex; justify-content:space-between; gap:20px; color:#858c99; font-size:10px; }
.demo-target { flex:1; margin:20px 0; border:0; border-radius:24px; background:#181b21; color:#30343c; font-size:52px; transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease; }
.demo-target:disabled { cursor:default; }
.demo-target.is-live { background:linear-gradient(145deg,#ffd166,#f97316); color:#fff; box-shadow:0 0 0 9px rgba(245,158,11,.08),0 25px 60px rgba(245,158,11,.18); transform:scale(.985); }
.demo-start { align-self:flex-start; min-height:47px; padding:0 19px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:#fff; color:#111318; font:700 12px var(--font-display); }
.demo-start:disabled { opacity:.5; cursor:not-allowed; }

/* METHOD CARDS */
.intro-section,.progress-section,.pillars-section { padding:135px 0; }
.feature-grid { display:grid; grid-template-columns:1.18fr 1fr 1fr; gap:17px; margin-top:63px; }
.feature-card { min-height:350px; position:relative; display:flex; flex-direction:column; padding:27px; overflow:hidden; border:1px solid rgba(17,19,24,.07); border-radius:var(--radius); background:rgba(255,255,255,.78); box-shadow:var(--shadow); transition:transform .25s ease,box-shadow .25s ease; }
.feature-card-large { background:linear-gradient(145deg,#fff8e3,#fff); }
.feature-bg-number { position:absolute; right:-10px; top:-38px; color:rgba(17,19,24,.035); font:700 180px var(--font-display); letter-spacing:-.1em; }
.feature-top { display:flex; justify-content:space-between; position:relative; z-index:1; }
.feature-number { color:#b9bec7; font:700 10px var(--font-display); }
.feature-tag { color:#a2a9b4; font:700 8px var(--font-display); letter-spacing:.14em; }
.feature-card .emoji-stage { width:70px; height:70px; margin:32px 0 24px; position:relative; z-index:1; flex:none; }
.feature-card .emoji-3d { font-size:38px; }
.feature-content { margin-top:0; position:relative; z-index:1; }
.feature-content h3 { font-size:clamp(24px,2.2vw,31px); margin-bottom:10px; }
.feature-content p { max-width:390px; color:#737d8d; font-size:13px; line-height:1.68; }
.feature-card::after { content:""; position:absolute; left:27px; right:27px; bottom:0; height:3px; background:linear-gradient(90deg,#f59e0b,transparent); opacity:.55; }

/* SESSION */
.session-section { padding:140px 0; background:var(--dark); color:#fff; position:relative; overflow:hidden; }
.session-section::before { content:""; position:absolute; width:700px; height:700px; right:-250px; top:-200px; border-radius:50%; background:radial-gradient(circle,rgba(245,158,11,.2),transparent 67%); filter:blur(25px); }
.session-intro-row { display:grid; grid-template-columns:1fr .5fr; gap:100px; align-items:end; }
.dark-title { color:#fff; }
.dark-copy-text { color:#8d95a3; font-size:15px; line-height:1.75; }
.session-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:60px; }
.session-step-card { min-height:430px; padding:22px; border:1px solid rgba(255,255,255,.09); border-radius:25px; background:linear-gradient(145deg,#181a20,#0e0f13); box-shadow:0 30px 70px rgba(0,0,0,.2); }
.step-head { display:flex; justify-content:space-between; color:#777e8b; font:700 9px var(--font-display); letter-spacing:.1em; }
.step-visual { height:200px; margin:25px 0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; border-radius:20px; }
.step-orange { background:linear-gradient(145deg,#4a3311,#21170a); }
.step-dark { background:linear-gradient(145deg,#252831,#111318); }
.step-yellow { background:linear-gradient(145deg,#5c531e,#29240b); }
.step-visual .emoji-3d { font-size:48px; }
.mini-equation,.mini-sequence,.mini-reaction { font:700 20px var(--font-display); color:#fff; }
.session-step-card small { color:#a5abb5; font:700 8px var(--font-display); letter-spacing:.14em; }
.session-step-card h3 { margin:8px 0; font-size:25px; }
.session-step-card p { color:#858c99; font-size:12px; line-height:1.65; }

/* PROGRESS */
.data-dashboard { margin-top:62px; padding:30px; border:1px solid rgba(17,19,24,.08); border-radius:30px; background:#fff; box-shadow:var(--shadow); }
.data-dashboard-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:22px; border-bottom:1px solid var(--line); }
.data-dashboard-top strong { display:block; font:700 21px var(--font-display); }
.dashboard-pill { padding:7px 10px; border-radius:999px; background:#ecfdf3; color:#16803b; font:700 9px var(--font-display); }
.data-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:0; }
.metric-block { min-height:180px; padding:26px; border-right:1px solid var(--line); }
.metric-block:last-child { border-right:0; }
.metric-block>span { color:#a0a7b2; font:700 8px var(--font-display); letter-spacing:.14em; }
.metric-block>strong { display:block; margin:18px 0 8px; font:700 42px var(--font-display); letter-spacing:-.07em; }
.metric-block>strong small { font-size:19px; color:#a1a8b3; }
.metric-block em { color:#7c8593; font-size:10px; font-style:normal; }
.metric-line { height:5px; overflow:hidden; border-radius:99px; background:#eceef1; }
.metric-line i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#ffd166,#f97316); }
.mini-chart { height:110px; display:flex; align-items:end; gap:7px; margin-top:20px; }
.mini-chart i { flex:1; min-width:5px; border-radius:5px 5px 2px 2px; background:linear-gradient(#ffd166,#f97316); opacity:.85; }

/* STREAK */
.dark-section { position:relative; overflow:hidden; padding:145px 0; background:var(--dark); color:#fff; }
.dark-glow { position:absolute; width:650px; height:650px; right:-180px; top:50%; transform:translateY(-50%); border-radius:50%; background:radial-gradient(circle,rgba(245,158,11,.23),transparent 68%); filter:blur(25px); }
.dark-shell { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; }
.dark-copy .dark-title { margin-bottom:25px; }
.dark-copy-text { margin-bottom:34px; }
.streak-panel { padding:32px; border:1px solid rgba(255,255,255,.1); border-radius:30px; background:linear-gradient(145deg,#191b21,#0e0f13); box-shadow:0 35px 90px rgba(0,0,0,.35); transition:transform .25s ease; }
.panel-top,.panel-footer { display:flex; justify-content:space-between; align-items:center; }
.panel-top span,.panel-footer span { color:#777e8b; font-size:9px; letter-spacing:.12em; font-weight:700; }
.panel-top strong { color:#ffc857; font:700 20px var(--font-display); }
.week-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin:45px 0 28px; }
.day { display:flex; flex-direction:column; align-items:center; gap:8px; color:#777e8b; font-size:10px; }
.day b { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:rgba(255,255,255,.05); color:#4c515b; }
.day.done b { background:rgba(245,158,11,.15); color:#ffc857; }
.day.active b { background:linear-gradient(145deg,#ffd166,#f97316); color:#fff; box-shadow:0 7px 20px rgba(245,158,11,.25); }
.progress-track { height:6px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.progress-track span { display:block; width:71%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#ffd166,#f97316); }
.panel-footer { margin-top:13px; }
.pop-in { animation:pop .35s cubic-bezier(.16,1,.3,1); }
@keyframes pop { 0%{transform:scale(.6);opacity:.2} 100%{transform:scale(1);opacity:1} }

/* PILLARS */
.pillar-list { margin-top:60px; display:grid; gap:14px; }
.pillar-row { position:relative; display:grid; grid-template-columns:55px 92px minmax(0,1fr) 245px; gap:25px; align-items:center; min-height:142px; padding:24px 28px 24px 0; border:1px solid rgba(17,19,24,.07); border-radius:28px; background:rgba(255,255,255,.74); box-shadow:0 14px 35px rgba(17,19,24,.035), inset 0 1px 0 rgba(255,255,255,.85); overflow:hidden; isolation:isolate; transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; cursor:default; outline:none; }
.pillar-row::before { content:""; position:absolute; width:360px; height:220px; left:55px; top:50%; transform:translateY(-50%); border-radius:50%; background:radial-gradient(circle, rgba(245,158,11,.11), transparent 68%); filter:blur(10px); z-index:-1; transition:transform .45s ease, opacity .45s ease; }
.pillar-row:hover, .pillar-row:focus-visible { transform:translateY(-5px); box-shadow:0 25px 65px rgba(17,19,24,.09), inset 0 1px 0 rgba(255,255,255,.95); border-color:rgba(245,158,11,.18); }
.pillar-row:hover::before, .pillar-row:focus-visible::before { transform:translateY(-50%) scale(1.25); }
.pillar-index { color:#a5acb7; font:700 11px var(--font-display); padding-left:25px; }
.pillar-visual { position:relative; width:82px; height:82px; display:grid; place-items:center; perspective:600px; }
.pillar-emoji { position:relative; z-index:2; width:64px; height:64px; display:grid; place-items:center; border-radius:21px; box-shadow:inset 0 2px 0 rgba(255,255,255,.9), 0 14px 25px rgba(17,19,24,.1); transition:transform .45s cubic-bezier(.16,1,.3,1); }
.pillar-row:hover .pillar-emoji, .pillar-row:focus-visible .pillar-emoji { transform:translateY(-5px) rotate(-5deg) scale(1.06); }
.pillar-row .pillar-emoji .emoji-3d { font-size:35px; }
.pillar-orbit { position:absolute; border:1px solid rgba(245,158,11,.28); border-radius:50%; pointer-events:none; }
.orbit-a { width:92px; height:34px; transform:rotate(25deg); animation:orbitFloat 4s ease-in-out infinite; }
.orbit-b { width:72px; height:92px; transform:rotate(-32deg); border-color:rgba(17,19,24,.08); animation:orbitFloat 5s ease-in-out infinite reverse; }
.pillar-row:hover .orbit-a { animation-duration:1.8s; }
.pillar-row:hover .orbit-b { animation-duration:2.2s; }
@keyframes orbitFloat { 0%,100%{transform:rotate(25deg) scale(1)} 50%{transform:rotate(34deg) scale(1.07)} }
.pillar-copy { min-width:0; }
.pillar-label { color:#a6adb8; font:700 8px var(--font-display); letter-spacing:.16em; margin-bottom:7px; }
.pillar-copy h3 { font-size:27px; }
.pillar-copy p { margin-top:5px; color:#747e8e; font-size:12px; line-height:1.55; }
.pillar-score { padding-left:15px; }
.score-head { display:flex; align-items:end; justify-content:space-between; margin-bottom:10px; }
.score-head span { color:#a0a7b1; font:700 8px var(--font-display); letter-spacing:.14em; }
.score-head strong { font:700 22px var(--font-display); }
.score-3d { position:relative; height:14px; display:flex; align-items:center; overflow:visible; border-radius:99px; background:linear-gradient(180deg,#eef1f3,#dfe4e7); box-shadow:inset 0 2px 4px rgba(17,19,24,.08), 0 1px 0 rgba(255,255,255,.9); }
.score-3d i { position:relative; z-index:1; display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#ffd166,#f59e0b 55%,#f97316); box-shadow:inset 0 2px 1px rgba(255,255,255,.5), 0 5px 14px rgba(249,115,22,.24); transition:width .9s cubic-bezier(.16,1,.3,1); }
.score-3d b { position:absolute; top:50%; width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.9); z-index:2; transform:translateY(-50%); box-shadow:0 0 0 2px rgba(245,158,11,.16); }
.score-3d b:nth-of-type(1){left:20%}.score-3d b:nth-of-type(2){left:40%}.score-3d b:nth-of-type(3){left:60%}.score-3d b:nth-of-type(4){left:80%}.score-3d b:nth-of-type(5){left:calc(100% - 4px)}
.pillar-score small { display:block; margin-top:8px; color:#9aa1ac; font-size:9px; }
.pillar-row-dark { background:linear-gradient(145deg,#17191f,#0e1014); color:#fff; border-color:rgba(255,255,255,.07); }
.pillar-row-dark .pillar-label,.pillar-row-dark .pillar-index { color:#777f8d; }
.pillar-row-dark .pillar-copy p { color:#858d9b; }
.pillar-row-dark .score-3d { background:#252932; }
.pillar-row-dark .pillar-orbit { border-color:rgba(255,255,255,.12); }
.pillar-row-yellow::before { background:radial-gradient(circle, rgba(255,218,75,.17), transparent 68%); }

/* STATS */
.stats-section { padding:72px 0; border-block:1px solid var(--line); background:#fff; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:0 35px; border-right:1px solid var(--line); }
.stat:first-child { padding-left:0; }
.stat:last-child { border-right:0; }
.stat strong { display:block; font:700 45px var(--font-display); letter-spacing:-.06em; }
.stat strong small { color:var(--orange); font-size:19px; }
.stat>span { color:var(--muted); font-size:11px; }

/* CTA */
.final-cta { position:relative; min-height:600px; margin-top:120px; margin-bottom:80px; display:grid; place-items:center; overflow:hidden; border-radius:42px; background:#0b0c10; color:#fff; box-shadow:0 35px 90px rgba(0,0,0,.18); }
.cta-glow { position:absolute; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(245,158,11,.28),transparent 68%); filter:blur(25px); }
.cta-content { position:relative; z-index:2; width:min(650px,90%); text-align:center; }
.cta-emoji { display:block; margin-bottom:20px; font-size:54px; }
.cta-content h2 { font-size:clamp(48px,6vw,76px); margin-bottom:20px; }
.cta-content h2 span { color:#ffc857; }
.cta-content p { max-width:550px; margin:0 auto 34px; color:#8d94a1; font-size:14px; line-height:1.75; }
.cta-footnote { display:block; margin-top:17px; color:rgba(255,255,255,.38); font-size:10px; }

/* FOOTER */
.site-footer { position:relative; overflow:hidden; padding:0 0 32px; background:linear-gradient(135deg,#292924 0%,#25272b 48%,#202228 100%); color:#f7f5ef; border-top:1px solid rgba(255,255,255,.09); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.site-footer::before { content:""; position:absolute; width:620px; height:390px; right:-110px; top:-190px; border-radius:50%; background:radial-gradient(circle,rgba(245,158,11,.18),rgba(245,158,11,.055) 36%,transparent 70%); pointer-events:none; }
.site-footer::after { content:""; position:absolute; width:520px; height:300px; left:-180px; bottom:-210px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.055),transparent 70%); pointer-events:none; }
.footer-inner { position:relative; z-index:1; padding-top:70px; }
.footer-main { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; padding-bottom:55px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-logo { margin-bottom:20px; }
.site-footer .logo-mark{width:44px;height:44px;flex:0 0 44px;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.24);}
.site-footer .nav-logo-txt { color:#f8f6f0; }
.site-footer .nav-logo-txt span { color:#f6a81a; }
.footer-desc { max-width:390px; color:#b3b4b5; font-size:13px; line-height:1.7; }
.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.link-col h4 { margin-bottom:17px; color:#ece9e2; font:700 10px var(--font-display); text-transform:uppercase; letter-spacing:.13em; }
.link-col a { display:block; margin:10px 0; color:#a8aaad; font-size:12px; text-decoration:none; transition:color .2s ease,transform .2s ease; }
.link-col a:hover { color:#ffc857; transform:translateX(2px); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:25px; color:#85888d; font-size:10px; }
.footer-signature { color:#adafb2; font:700 9px var(--font-display); letter-spacing:.13em; }
.footer-signature span { color:#f6a81a; margin-left:7px; }

/* AUTH */
.auth-section { min-height:calc(100vh - 120px); padding:155px 0 90px; display:flex; align-items:center; }
.auth-shell { display:grid; grid-template-columns:1fr minmax(390px,500px); gap:100px; align-items:center; }
.auth-pitch { padding-bottom:20px; }
.auth-pitch h1 { font-size:clamp(52px,6vw,78px); }
body.route-registro .register-hero-title{max-width:650px;line-height:.98;letter-spacing:-.055em;text-wrap:balance}
body.route-registro .register-hero-title span{background:linear-gradient(110deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-pitch p { max-width:470px; margin-top:25px; color:#727c8e; font-size:16px; line-height:1.75; }
.auth-micro-data,.register-promise { display:flex; gap:20px; margin-top:34px; }
.auth-micro-data span { padding-right:20px; border-right:1px solid var(--line); color:#7f8896; font-size:11px; font-weight:700; }
.auth-micro-data span:last-child { border-right:0; }
.register-promise>.register-promise-item{display:flex;align-items:center;gap:11px;padding:11px 22px 11px 0;border-right:1px solid var(--line)}
.register-promise>.register-promise-item:last-child{border-right:0;padding-right:0}
.register-promise-icon{display:grid!important;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(245,158,11,.18);border-radius:14px;background:linear-gradient(145deg,#fff5d8,#ffe5a4);font-size:21px;box-shadow:0 8px 20px rgba(245,158,11,.12),inset 0 1px 0 rgba(255,255,255,.9)}
.register-promise-item>div>strong,.register-promise-item>div>span{display:block}
.register-promise-item>div>strong{font:800 31px/1 var(--font-display);letter-spacing:-.045em;color:#111318;font-variant-numeric:tabular-nums}
.register-promise-item>div>span{margin-top:5px;color:#7d8795;font-size:10px;white-space:nowrap}
.auth-card { padding:32px; border:1px solid rgba(17,19,24,.08); border-radius:30px; background:rgba(255,255,255,.85); box-shadow:var(--shadow); }
.auth-card-register { padding:30px; }
.emoji-stage-auth { width:62px; height:62px; margin-bottom:25px; }
.emoji-stage-auth .emoji-3d { font-size:33px; }
.auth-title { font-size:39px; margin-bottom:10px; }
body.route-registro .auth-card-register .auth-title{font-size:clamp(31px,3vw,39px);white-space:nowrap;letter-spacing:-.045em}
body.route-registro .auth-card-register .auth-title span{display:inline}
.auth-subtitle { color:#7b8492; font-size:13px; margin-bottom:25px; }
.auth-alert { display:flex; gap:10px; padding:12px; margin-bottom:20px; border-radius:13px; font-size:11px; line-height:1.5; }
.auth-alert.error { color:#9b2c2c; border:1px solid rgba(220,38,38,.15); background:rgba(220,38,38,.05); }
.form-group { margin-bottom:17px; }
.form-label { display:flex; justify-content:space-between; gap:10px; margin-bottom:7px; color:#3f4652; font:700 10px var(--font-display); }
.form-label span { color:#a2a9b3; font-weight:500; }
.form-input { width:100%; height:48px; padding:0 14px; border:1px solid #e4e6e9; border-radius:13px; outline:none; background:#fff; color:var(--ink); font-size:13px; transition:border-color .2s,box-shadow .2s; }
.form-input:focus { border-color:#f5b943; box-shadow:0 0 0 4px rgba(245,158,11,.09); }
.auth-submit { width:100%; margin-top:4px; }
.auth-footer { display:flex; flex-direction:column; gap:10px; margin-top:22px; text-align:center; color:#8a92a0; font-size:11px; }
.auth-footer a { color:#d97706; font-weight:700; text-decoration:none; }
.honeypot { display:none!important; visibility:hidden; }
.checkbox-group { display:flex; gap:9px; align-items:flex-start; margin:20px 0; }
.checkbox-group input { margin-top:3px; accent-color:var(--orange); }
.checkbox-group label { color:#7b8492; font-size:10px; line-height:1.5; }
.checkbox-group a { color:#a76708; font-weight:700; }

/* DASHBOARD */
.dashboard-page { padding:145px 0 80px; }
.dashboard-header { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:55px; }
.dashboard-header h1 { font-size:clamp(42px,5vw,64px); }
.dashboard-header h1 span { font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }
.dashboard-header p { margin-top:13px; color:#778190; font-size:14px; }
.dashboard-stats { display:grid; grid-template-columns:repeat(3,1fr); min-width:420px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 15px 45px rgba(17,19,24,.05); }
.dashboard-stats div { padding:17px 18px; border-right:1px solid var(--line); }
.dashboard-stats div:last-child { border-right:0; }
.dashboard-stats span { display:block; color:#a0a7b2; font:700 8px var(--font-display); letter-spacing:.13em; }
.dashboard-stats strong { display:block; margin-top:7px; font:700 20px var(--font-display); }
.dashboard-stats small { color:#f59e0b; }
.dashboard-account-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:-10px 0 28px;padding:28px 30px;border:1px solid rgba(17,19,24,.08);border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 16px 40px rgba(17,19,24,.05)}
.dashboard-account-cta-copy{max-width:720px}
.dashboard-account-cta-copy h2{margin:8px 0 10px;font-size:30px;line-height:1.08}
.dashboard-account-cta-copy p{color:#778190;font-size:13px;line-height:1.7;max-width:620px}
.dashboard-account-cta-actions{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}
.dashboard-account-button{white-space:nowrap}
.today-training { padding:30px; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:var(--shadow); }
.training-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:35px; }
.training-heading h2 { font-size:34px; }
.training-heading p { max-width:560px; margin-top:9px; color:#7b8492; font-size:12px; }
.training-clock { min-width:150px; padding-left:20px; border-left:1px solid var(--line); text-align:right; }
.training-clock span { display:block; color:#a1a8b3; font:700 8px var(--font-display); letter-spacing:.12em; }
.training-clock strong { display:block; margin-top:6px; color:#f59e0b; font:700 25px var(--font-display); }
.today-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.today-card { min-height:330px; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:24px; background:#fffaf2; transition:transform .25s ease,box-shadow .25s ease; }
.today-card:nth-child(2) { background:#fff; }
.today-card:nth-child(3) { background:#fffdf0; }
.today-card-top { display:flex; justify-content:space-between; }
.today-index { color:#b3b9c2; font:700 10px var(--font-display); }
.today-category { padding:5px 8px; border-radius:999px; background:#fff; color:#9b6b15; font:700 8px var(--font-display); letter-spacing:.08em; }
.today-icon { width:62px; height:62px; margin:36px 0 24px; }
.today-icon .emoji-3d { font-size:34px; }
.today-card-copy { margin-top:auto; }
.today-card-copy h3 { font-size:22px; }
.today-card-copy p { margin-top:6px; color:#7d8694; font-size:10px; }
.today-action { width:100%; min-height:45px; margin-top:20px; }
.completed-state { display:flex; align-items:center; justify-content:center; gap:7px; min-height:45px; margin-top:20px; border:1px solid rgba(34,197,94,.22); border-radius:999px; background:rgba(34,197,94,.07); color:#16803b; font:700 11px var(--font-display); }
.completed-state span { width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:#22c55e; color:#fff; font-size:11px; }
.dashboard-progress { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:center; margin-top:30px; padding:45px 30px; border-radius:30px; background:#111318; color:#fff; overflow:hidden; }
.dashboard-progress-copy h2 { font-size:42px; }
.dashboard-progress-copy p { max-width:400px; margin-top:17px; color:#858d9a; font-size:12px; line-height:1.7; }
.dashboard-chart { padding:25px; border:1px solid rgba(255,255,255,.09); border-radius:22px; background:#17191f; }
.chart-top,.chart-labels { display:flex; justify-content:space-between; }
.chart-top span,.chart-labels { color:#777e8b; font:700 8px var(--font-display); letter-spacing:.12em; }
.chart-top strong { color:#ffc857; font:700 16px var(--font-display); }
.chart-bars { height:170px; display:flex; align-items:end; gap:10px; margin-top:25px; padding-top:10px; border-bottom:1px solid rgba(255,255,255,.08); }
.chart-bars i { flex:1; border-radius:8px 8px 2px 2px; background:linear-gradient(#ffd166,#f97316); }
.chart-labels { padding-top:10px; }
.dashboard-logout { text-align:center; margin-top:28px; }
.dashboard-logout a { color:#9aa1ad; text-decoration:none; font-size:11px; font-weight:700; }
.dashboard-logout a:hover { color:#dc3f3f; }

/* REVEAL
   El primer viewport se pinta sin espera. Solo el contenido al que se llega
   haciendo scroll usa una entrada suave; así la navegación entre páginas
   se percibe inmediata sin perder movimiento dentro de la página. */
.js .scroll-fade-up,.js .reveal { opacity:0; transform:translateY(18px); transition:opacity .48s cubic-bezier(.16,1,.3,1),transform .48s cubic-bezier(.16,1,.3,1); }
.js .visible { opacity:1; transform:translateY(0); }
.js .reveal-initial { transition:none!important; }
.delay-1 { transition-delay:.06s; }
.delay-2 { transition-delay:.12s; }
.delay-3 { transition-delay:.18s; }

/* RESPONSIVE */
@media (max-width:1050px) {
    .nav-links { display:none; }
    .hero-layout { grid-template-columns:1.16fr .84fr; gap:22px; }
    .hero-product-stage { min-height:520px; }
    .product-window { transform:scale(.84) rotate(1.2deg); }
    .feature-grid { grid-template-columns:1fr 1fr; }
    .feature-card-large { grid-column:1/-1; }
    .session-steps { grid-template-columns:1fr 1fr; }
    .session-step-card:last-child { grid-column:1/-1; }
    .data-grid { grid-template-columns:1fr 1fr; }
    .metric-block:nth-child(2) { border-right:0; }
    .metric-block:nth-child(3),.metric-block:nth-child(4) { border-top:1px solid var(--line); }
    .dashboard-header { align-items:start; flex-direction:column; }
    .dashboard-stats { width:100%; min-width:0; }
}

@media (max-width:800px) {
    .nav-wrapper {
        padding-top:max(10px, env(safe-area-inset-top));
        padding-left:10px;
        padding-right:10px;
        transition:padding .3s ease, opacity .24s ease, transform .32s cubic-bezier(.22,.61,.36,1);
    }
    .section-shell { width:min(100% - 30px,620px); }
    .nav-wrapper { padding:10px; }
    .nav-wrapper.scrolled { padding:7px 10px; }
    .glass-nav { padding:7px 8px 7px 10px; }
    .nav-btn-entrar { display:none; }
    .nav-actions { margin-left:auto; }
    .nav-logo-txt { font-size:16px; }
    .logo-mark { width:38px; height:38px; flex-basis:38px; border-radius:12px; }
    .btn-small { min-height:38px; padding:0 14px; }

    .hero-product { min-height:auto; padding:130px 0 65px; }
    .hero-layout { grid-template-columns:1fr; gap:18px; }
    .hero-copy { padding:0; text-align:center; }
    .eyebrow { font-size:9px; }
    .hero-title { font-size:clamp(47px,13.5vw,68px); }
    .hero-description { max-width:520px; margin:21px auto 27px; font-size:14px; line-height:1.7; }
    .hero-actions { justify-content:center; flex-direction:column; gap:12px; }
    .hero-meta { justify-content:center; margin-top:28px; gap:8px 15px; font-size:9px; }
    .hero-product-stage { min-height:445px; margin-top:4px; }
    .product-window { width:100%; transform:rotate(0); }
    .window-body { padding:24px; }
    .memory-board span { min-height:58px; }
    .hero-float-top { right:-5px; top:5%; }
    .hero-float-bottom { left:-5px; bottom:5%; }

    .ticker-item { gap:17px; padding:15px 17px; font-size:9px; }
    .ticker-track { animation-duration:24s; }
    .demo-section,.intro-section,.progress-section,.pillars-section { padding:90px 0; }
    .section-heading-row { grid-template-columns:1fr; gap:25px; }
    .section-title { font-size:clamp(43px,12vw,60px); }
    .heading-note p { font-size:13px; }
    .demo-heading-row { margin-bottom:40px; }
    .demo-card { grid-template-columns:1fr; min-height:auto; }
    .demo-side { border-right:0; border-bottom:1px solid var(--line); padding:25px; }
    .demo-feedback { margin-top:5px; }
    .demo-result { margin-top:0; }
    .demo-best { margin-top:20px; }
    .demo-game { min-height:330px; padding:20px; }

    .feature-grid { grid-template-columns:1fr; gap:13px; margin-top:45px; }
    .feature-card-large { grid-column:auto; }
    .feature-card { min-height:310px; padding:23px; }
    .feature-card .emoji-stage { width:63px; height:63px; margin:26px 0 20px; }
    .feature-card .emoji-3d { font-size:34px; }
    .feature-content h3 { font-size:25px; }
    .feature-content p { font-size:12px; }

    .session-section,.dark-section { padding:90px 0; }
    .session-intro-row,.dark-shell { grid-template-columns:1fr; gap:35px; }
    .session-steps { grid-template-columns:1fr; gap:12px; margin-top:42px; }
    .session-step-card:last-child { grid-column:auto; }
    .session-step-card { min-height:365px; }
    .step-visual { height:155px; }

    .data-dashboard { padding:20px; }
    .data-dashboard-top { align-items:flex-start; gap:15px; }
    .data-grid { grid-template-columns:1fr 1fr; }
    .metric-block { min-height:160px; padding:20px; }
    .metric-block:nth-child(odd) { border-right:1px solid var(--line); }
    .metric-block:nth-child(even) { border-right:0; }
    .metric-block:nth-child(3),.metric-block:nth-child(4) { border-top:1px solid var(--line); }
    .metric-block>strong { font-size:34px; }

    .streak-panel { padding:23px 16px; }
    .week-grid { gap:4px; margin:35px 0 25px; }
    .day b { width:34px; height:34px; }

    .pillar-list { margin-top:45px; gap:12px; }
    .pillar-row { grid-template-columns:38px 70px minmax(0,1fr); gap:12px; min-height:170px; padding:20px 15px 20px 0; border-radius:24px; }
    .pillar-index { padding-left:15px; }
    .pillar-visual { width:68px; height:68px; }
    .pillar-emoji { width:58px; height:58px; border-radius:18px; }
    .pillar-row .pillar-emoji .emoji-3d { font-size:31px; }
    .pillar-orbit { transform:scale(.82); }
    .pillar-copy h3 { font-size:22px; }
    .pillar-copy p { font-size:11px; line-height:1.5; }
    .pillar-score { grid-column:2/-1; padding-left:0; margin-top:1px; }
    .score-head strong { font-size:19px; }

    .stats-section { padding:58px 0; }
    .stats-grid { grid-template-columns:1fr 1fr; gap:34px 0; }
    .stat { padding:0 20px; }
    .stat:first-child,.stat:nth-child(3) { padding-left:0; }
    .stat:nth-child(2) { border-right:0; }
    .stat strong { font-size:38px; }

    .final-cta { width:calc(100% - 20px); min-height:500px; margin-top:70px; margin-bottom:50px; border-radius:28px; }
    .cta-content { width:calc(100% - 30px); }
    .cta-content h2 { font-size:clamp(43px,12vw,60px); }

    .footer-main { grid-template-columns:1fr; gap:45px; }
    .footer-links { grid-template-columns:repeat(3,1fr); gap:15px; }
    .footer-bottom { align-items:flex-start; gap:20px; flex-direction:column; }

    .auth-section { min-height:auto; padding:130px 0 70px; }
    .auth-shell { grid-template-columns:1fr; gap:40px; }
    .auth-pitch { text-align:center; }
    .auth-pitch h1 { font-size:clamp(48px,12vw,62px); }
    .auth-pitch p { margin-inline:auto; font-size:14px; }
    .auth-micro-data,.register-promise { justify-content:center; }
    .auth-card { width:min(100%,520px); margin:auto; padding:24px; }

    .dashboard-page { padding:125px 0 60px; }
    .dashboard-header { gap:30px; margin-bottom:35px; }
    .dashboard-header h1 { font-size:42px; }
    .dashboard-stats { grid-template-columns:1fr 1fr; }
    .dashboard-stats div:last-child { grid-column:1/-1; border-top:1px solid var(--line); border-right:0; }
    .today-training { padding:20px; }
    .training-heading { flex-direction:column; align-items:flex-start; }
    .training-heading h2 { font-size:29px; }
    .training-clock { padding-left:0; border-left:0; text-align:left; }
    .today-grid { grid-template-columns:1fr; }
    .today-card { min-height:300px; }
    .dashboard-progress { grid-template-columns:1fr; gap:35px; padding:28px 20px; }
    .dashboard-progress-copy h2 { font-size:38px; }
}

@media (max-width:520px) {
    .section-shell { width:calc(100% - 24px); }
    .nav-logo-txt { font-size:15px; }
    .hero-title { font-size:45px; }
    .hero-product-stage { min-height:390px; }
    .window-topbar { padding:0 13px; }
    .window-body { padding:18px; }
    .memory-board { gap:6px; margin-top:25px; }
    .memory-board span { min-height:52px; border-radius:12px; font-size:22px; }
    .window-stats { gap:6px; }
    .window-stats div { padding:10px; }
    .window-stats b { font-size:14px; }
    .hero-float-card { padding:10px 11px; }
    .hero-float-top { right:-8px; }
    .hero-float-bottom { left:-8px; }
    .float-emoji { font-size:21px; }

    .demo-game { min-height:300px; }
    .demo-target { margin:15px 0; }
    .data-grid { grid-template-columns:1fr; }
    .metric-block,.metric-block:nth-child(odd),.metric-block:nth-child(even) { border-right:0; border-bottom:1px solid var(--line); }
    .metric-block:last-child { border-bottom:0; }
    .pillar-row { grid-template-columns:28px 58px minmax(0,1fr); gap:9px; min-height:168px; }
    .pillar-index { padding-left:8px; }
    .pillar-visual { width:58px; height:58px; }
    .pillar-emoji { width:52px; height:52px; border-radius:16px; }
    .pillar-row .pillar-emoji .emoji-3d { font-size:27px; }
    .pillar-copy h3 { font-size:19px; }
    .pillar-copy p { font-size:10px; }
    .pillar-label { font-size:7px; }
    .score-head span { font-size:7px; }
    .score-head strong { font-size:18px; }
    .stats-grid { grid-template-columns:1fr; gap:0; }
    .stat,.stat:first-child,.stat:nth-child(3),.stat:nth-child(2) { padding:0 0 18px; margin-bottom:18px; border-right:0; border-bottom:1px solid var(--line); }
    .stat:last-child { border-bottom:0; margin-bottom:0; }
    .footer-links { grid-template-columns:1fr 1fr; }
    .footer-links .link-col:last-child { grid-column:1/-1; }
    .auth-micro-data { gap:10px; }
    .auth-micro-data span { padding-right:10px; }
    .register-promise{gap:10px;flex-wrap:wrap}
    .register-promise>.register-promise-item{padding:9px 12px 9px 0;gap:8px}
    .register-promise-icon{width:36px;height:36px;flex-basis:36px;border-radius:12px;font-size:18px}
    .register-promise-item>div>strong{font-size:26px}
    .register-promise-item>div>span{font-size:9px;white-space:normal}
    .dashboard-stats { grid-template-columns:1fr 1fr; }
    .dashboard-stats div { padding:14px; }
}

@media (max-width:800px) {
    .hero-float-card {
        animation-duration:6.8s;
        padding:10px 12px;
        box-shadow:0 16px 34px rgba(35,25,10,.11);
    }
    .hero-float-top {
        top:4%;
        right:-4px;
    }
    .hero-float-bottom {
        bottom:4%;
        left:-4px;
    }
    .hero-product-stage .product-window {
        animation-duration:8s;
    }
}

@media (max-width:520px) {
    .hero-float-card {
        gap:8px;
        padding:9px 10px;
        border-radius:15px;
    }
    .hero-float-card small {
        font-size:7px;
    }
    .hero-float-card b {
        font-size:12px;
    }
    .float-emoji {
        font-size:20px;
    }
    .hero-float-top {
        right:-6px;
        top:3%;
    }
    .hero-float-bottom {
        left:-6px;
        bottom:3%;
    }
}

@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .js .scroll-fade-up,.js .reveal { opacity:1!important; transform:none!important; }
    .nav-wrapper { transition:none!important; }
    .hero-float-card,.float-emoji,.hero-product-stage .product-window { animation:none!important; }
    *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* PILLARS V5 — interacción por hover / foco / móvil automático */
.pillar-row { background:rgba(255,255,255,.82); color:var(--ink); }
.pillar-row-dark { background:rgba(255,255,255,.82); color:var(--ink); border-color:rgba(17,19,24,.07); }
.pillar-row-dark .pillar-label,.pillar-row-dark .pillar-index { color:#a6adb8; }
.pillar-row-dark .pillar-copy p { color:#747e8e; }
.pillar-row-dark .score-3d { background:linear-gradient(180deg,#eef1f3,#dfe4e7); }
.pillar-row-dark .pillar-orbit { border-color:rgba(245,158,11,.28); }

@media (hover:hover) and (pointer:fine) {
    .pillar-row:hover,
    .pillar-row:focus-visible { background:linear-gradient(145deg,#17191f,#0e1014); color:#fff; border-color:rgba(255,255,255,.08); }
    .pillar-row:hover .pillar-label,
    .pillar-row:hover .pillar-index,
    .pillar-row:focus-visible .pillar-label,
    .pillar-row:focus-visible .pillar-index { color:#777f8d; }
    .pillar-row:hover .pillar-copy p,
    .pillar-row:focus-visible .pillar-copy p { color:#858d9b; }
    .pillar-row:hover .score-3d,
    .pillar-row:focus-visible .score-3d { background:#252932; }
    .pillar-row:hover .pillar-orbit,
    .pillar-row:focus-visible .pillar-orbit { border-color:rgba(255,255,255,.12); }
}

.pillar-row.is-active { background:linear-gradient(145deg,#17191f,#0e1014); color:#fff; border-color:rgba(255,255,255,.08); }
.pillar-row.is-active .pillar-label,
.pillar-row.is-active .pillar-index { color:#777f8d; }
.pillar-row.is-active .pillar-copy p { color:#858d9b; }
.pillar-row.is-active .score-3d { background:#252932; }
.pillar-row.is-active .pillar-orbit { border-color:rgba(255,255,255,.12); }
.pillar-row.is-active .pillar-emoji { transform:translateY(-5px) rotate(-5deg) scale(1.06); }
.pillar-row.is-active .orbit-a { animation-duration:1.8s; }
.pillar-row.is-active .orbit-b { animation-duration:2.2s; }

/* Footer social 3D */
.footer-brand { max-width:460px; }
.footer-socials { display:flex; align-items:center; gap:12px; margin-top:26px; }
.social-disabled { cursor:default; opacity:1; }
.social-disabled:hover { transform:none!important; }
.social-3d { width:48px; height:48px; display:grid; place-items:center; position:relative; border-radius:15px; text-decoration:none; color:#fff; overflow:hidden; isolation:isolate; background:linear-gradient(145deg,#2a2d34,#0f1115); box-shadow:inset 0 2px 0 rgba(255,255,255,.18), inset 0 -4px 8px rgba(0,0,0,.18), 0 10px 22px rgba(17,19,24,.16); transform:translateY(0) rotateX(0) rotateY(0); transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease; }
.social-3d::after { content:""; position:absolute; inset:1px; border-radius:14px; background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 35%,rgba(0,0,0,.1)); pointer-events:none; z-index:-1; }
.social-3d:hover { transform:translateY(-5px) rotateX(7deg) rotateY(-7deg); box-shadow:inset 0 2px 0 rgba(255,255,255,.24), inset 0 -5px 10px rgba(0,0,0,.22), 0 18px 30px rgba(17,19,24,.2); }
.social-3d span { position:relative; z-index:2; font:700 19px var(--font-display); text-shadow:0 2px 0 rgba(0,0,0,.28),0 5px 9px rgba(0,0,0,.22); }
.social-x { background:linear-gradient(145deg,#343840,#111318); }
.social-instagram { background:linear-gradient(145deg,#ffb52e,#f97316 45%,#b83df2); }
.social-linkedin { background:linear-gradient(145deg,#45a8ff,#1769aa); }
.social-linkedin span { font-size:18px; letter-spacing:-.06em; }
.social-3d svg { width:23px; height:23px; fill:none; stroke:#fff; stroke-width:2; filter:drop-shadow(0 2px 2px rgba(0,0,0,.25)); }
.social-3d svg .social-dot { fill:#fff; stroke:none; }

/* Botón flotante Ir arriba */
.back-to-top { position:fixed; right:24px; bottom:24px; z-index:950; width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.82); border-radius:18px; background:rgba(255,255,255,.82); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); color:var(--ink); box-shadow:0 16px 38px rgba(17,19,24,.14), inset 0 1px 0 rgba(255,255,255,.9); opacity:0; visibility:hidden; transform:translateY(14px) scale(.92); transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background .25s ease; cursor:pointer; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.back-to-top:hover { background:#111318; color:#fff; transform:translateY(-4px) scale(1.03); box-shadow:0 20px 42px rgba(17,19,24,.2); }
.back-to-top span { font:700 21px var(--font-display); line-height:1; }
.back-to-top small { position:absolute; right:72px; white-space:nowrap; padding:7px 10px; border-radius:9px; background:#111318; color:#fff; font:700 8px var(--font-display); letter-spacing:.08em; text-transform:uppercase; opacity:0; pointer-events:none; transform:translateX(4px); transition:opacity .2s ease,transform .2s ease; }
.back-to-top:hover small { opacity:1; transform:translateX(0); }

@media (max-width:800px) {
    .footer-socials { margin-top:22px; }
    .social-3d { width:45px; height:45px; border-radius:14px; }
    .social-3d::after { border-radius:13px; }
    .back-to-top { right:15px; bottom:15px; width:50px; height:50px; border-radius:16px; }
    .back-to-top small { display:none; }
    .pillar-row { transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease, border-color .45s ease, background .45s ease, color .45s ease; }
}

@media (max-width:520px) {
    .footer-socials { gap:9px; }
    .social-3d { width:42px; height:42px; border-radius:13px; }
    .social-3d svg { width:20px; height:20px; }
    .back-to-top { width:47px; height:47px; right:12px; bottom:12px; border-radius:14px; }
    .back-to-top span { font-size:19px; }
}


/* =========================================================
   V8 — PRODUCT EXPERIENCE
   ========================================================= */

/* Hero live preview */
.hero-preview-state { display:none; }
.hero-preview-state.is-visible { display:block; animation:heroStateIn .55s cubic-bezier(.16,1,.3,1); }
.hero-session-preview { position:relative; }
.hero-preview-memory,.hero-preview-speed,.hero-preview-logic { min-height:205px; }
.hero-memory-accent { color:#f59e0b!important; }
@keyframes heroStateIn {
    from { opacity:0; transform:translateY(8px) scale(.985); }
    to { opacity:1; transform:translateY(0) scale(1); }
}
.speed-game { min-height:145px; display:grid; place-items:center; position:relative; overflow:hidden; border-radius:22px; background:radial-gradient(circle at center,rgba(245,158,11,.11),transparent 58%),#fbfaf7; }
.speed-pulse { position:absolute; width:68px; height:68px; border-radius:50%; border:1px solid rgba(245,158,11,.3); box-shadow:0 0 0 18px rgba(245,158,11,.05),0 0 0 36px rgba(245,158,11,.025); animation:speedPulse 2s ease-out infinite; }
.speed-game strong { position:relative; z-index:2; font:700 48px var(--font-display); letter-spacing:-.06em; }
.speed-game strong span { font-size:20px; color:#8d95a2; margin-left:2px; }
.speed-game small { position:absolute; bottom:14px; color:#a0a7b2; font:700 7px var(--font-display); letter-spacing:.16em; }
@keyframes speedPulse {
    0% { transform:scale(.55); opacity:.8; }
    75%,100% { transform:scale(1.5); opacity:0; }
}
.logic-game { min-height:145px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:22px; background:linear-gradient(145deg,#fff,#fffaf0); }
.logic-game > div { display:flex; align-items:center; gap:9px; }
.logic-game > div span,.logic-game > div b { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(17,19,24,.07); border-radius:11px; background:#fff; font:700 14px var(--font-display); box-shadow:0 8px 15px rgba(17,19,24,.05); }
.logic-game > div b { color:#f59e0b; background:#fff6df; }
.logic-game > strong { margin-top:13px; font:700 23px var(--font-display); color:#f59e0b; }
.logic-game > small { margin-top:3px; color:#9da5b0; font:700 7px var(--font-display); letter-spacing:.14em; }

/* Cognitive profile */
.cognitive-profile { display:grid; grid-template-columns:.9fr 1.1fr; gap:30px; margin-top:55px; padding:34px; border:1px solid var(--line); border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,248,226,.76)); box-shadow:var(--shadow); overflow:hidden; }
.profile-copy { padding:18px 12px; }
.profile-copy h3 { max-width:470px; margin-top:13px; font-size:clamp(30px,3.6vw,48px); line-height:1.02; letter-spacing:-.045em; }
.profile-copy h3 span { color:var(--orange); }
.profile-copy > p { max-width:470px; margin-top:17px; color:var(--muted); font-size:13px; line-height:1.7; }
.profile-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:35px; }
.profile-metrics div { padding:15px; border:1px solid rgba(17,19,24,.07); border-radius:17px; background:rgba(255,255,255,.7); }
.profile-metrics span,.profile-metrics small { display:block; color:#9aa2ae; font:700 7px var(--font-display); letter-spacing:.12em; }
.profile-metrics strong { display:block; margin:6px 0 3px; font:700 23px var(--font-display); }
.profile-metrics small { font-size:8px; letter-spacing:0; color:#f59e0b; }
.profile-radar { position:relative; min-height:410px; display:grid; place-items:center; isolation:isolate; }
.radar-grid,.radar-axis,.radar-shape,.radar-dot { position:absolute; }
.radar-grid { left:50%; top:50%; width:230px; height:230px; transform:translate(-50%,-50%) rotate(45deg); border:1px solid rgba(17,19,24,.09); }
.radar-grid-outer { width:250px; height:250px; }
.radar-grid-mid { width:180px; height:180px; }
.radar-grid-inner { width:112px; height:112px; }
.radar-axis { left:50%; top:50%; width:250px; height:1px; transform-origin:center; background:rgba(17,19,24,.07); }
.axis-v { transform:translate(-50%,-50%) rotate(90deg); }
.axis-h { transform:translate(-50%,-50%); }
.axis-d1 { transform:translate(-50%,-50%) rotate(45deg); }
.axis-d2 { transform:translate(-50%,-50%) rotate(-45deg); }
.radar-shape { left:50%; top:50%; width:250px; height:250px; transform:translate(-50%,-50%); clip-path:polygon(50% 4%,84% 36%,72% 78%,50% 69%,27% 80%,14% 35%); background:linear-gradient(145deg,rgba(245,158,11,.28),rgba(249,115,22,.08)); border:1px solid rgba(245,158,11,.4); }
.radar-dot { width:10px; height:10px; border-radius:50%; background:#f59e0b; box-shadow:0 0 0 6px rgba(245,158,11,.11),0 7px 14px rgba(245,158,11,.22); }
.dot-memory { left:calc(50% - 5px); top:calc(50% - 126px); }
.dot-calculo { left:calc(50% + 84px); top:calc(50% - 38px); }
.dot-velocidad { left:calc(50% - 5px); top:calc(50% + 86px); }
.dot-logica { left:calc(50% - 82px); top:calc(50% - 40px); }
.radar-center { position:relative; z-index:3; width:92px; height:92px; display:grid; place-items:center; align-content:center; border:1px solid rgba(255,255,255,.95); border-radius:50%; background:rgba(255,255,255,.82); backdrop-filter:blur(12px); box-shadow:0 18px 40px rgba(17,19,24,.1); }
.radar-center span { font:700 28px var(--font-display); }
.radar-center small { color:#a1a8b2; font:700 7px var(--font-display); letter-spacing:.12em; }
.radar-label { position:absolute; z-index:4; display:flex; flex-direction:column; gap:3px; color:#7f8794; font:700 7px var(--font-display); letter-spacing:.12em; text-align:center; }
.radar-label b { color:#111318; font-size:15px; letter-spacing:-.04em; }
.radar-label-top { top:18px; left:50%; transform:translateX(-50%); }
.radar-label-right { right:0; top:50%; transform:translateY(-50%); text-align:left; }
.radar-label-bottom { bottom:15px; left:50%; transform:translateX(-50%); }
.radar-label-left { left:0; top:50%; transform:translateY(-50%); text-align:right; }

/* Pillar selector hint */
.pillar-selector-note { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:25px 0 -30px; color:#a0a8b3; font:700 8px var(--font-display); letter-spacing:.11em; text-transform:uppercase; }
.pillar-selector-note b { color:#f59e0b; }

/* Today's session */
.today-session { padding:120px 0 100px; }
.today-header-row { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-top:18px; }
.today-time { display:flex; flex-direction:column; align-items:flex-end; }
.today-time strong { font:700 clamp(42px,5vw,66px) var(--font-display); letter-spacing:-.06em; }
.today-time span { color:#929aa7; font-size:9px; }
.today-session-shell { margin-top:50px; padding:24px; border:1px solid var(--line); border-radius:32px; background:rgba(255,255,255,.84); box-shadow:var(--shadow); }
.today-session-top,.today-session-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.today-session-top strong,.today-session-top span { display:block; }
.today-session-top strong { margin-top:4px; font:700 16px var(--font-display); }
.today-pill { padding:8px 11px; border-radius:999px; background:#fff4d9; color:#a96800; font:700 8px var(--font-display); }
.today-session-shell .today-grid { margin-top:18px; }
.today-session-bottom { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.today-session-bottom span,.today-session-bottom strong { display:block; }
.today-session-bottom span { color:#9aa2ad; font-size:9px; }
.today-session-bottom strong { margin-top:4px; font:700 15px var(--font-display); }

/* Improve cards as touch targets */
.pillar-row,.today-card,.feature-card,.session-step-card { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }


@media (max-width:900px) {
    .cognitive-profile { grid-template-columns:1fr; }
    .profile-radar { min-height:360px; }
    .today-session { padding-top:85px; }
}
@media (max-width:700px) {
    .hero-preview-memory,.hero-preview-speed,.hero-preview-logic { min-height:190px; }
    .speed-game,.logic-game { min-height:132px; }
    .logic-game > div span,.logic-game > div b { width:33px; height:33px; }
    .profile-copy { padding:8px 0; }
    .profile-metrics { grid-template-columns:1fr; }
    .profile-radar { min-height:330px; transform:scale(.92); margin:-10px 0 -8px; }
    .radar-label-right { right:4px; }
    .radar-label-left { left:4px; }
    .pillar-selector-note { margin-bottom:-22px; flex-direction:column; align-items:flex-start; }
    .today-header-row { align-items:flex-start; flex-direction:column; }
    .today-time { align-items:flex-start; }
    .today-session-shell { padding:16px; border-radius:24px; }
    .today-session-top,.today-session-bottom { align-items:flex-start; flex-direction:column; }
    .today-session-bottom .btn-volumetrico { width:100%; }
    .today-card { min-height:250px; }
}
@media (max-width:520px) {
    .hero-preview-memory,.hero-preview-speed,.hero-preview-logic { min-height:180px; }
    .profile-radar { min-height:300px; transform:scale(.82); margin:-25px 0 -35px; }
    .cognitive-profile { padding:20px 14px; border-radius:24px; }
    .profile-copy h3 { font-size:31px; }
    .today-session { padding-bottom:70px; }
    .today-session-shell .today-grid { gap:8px; }
    .today-card { min-height:225px; padding:16px; border-radius:19px; }
    .today-icon { margin:24px 0 15px; width:54px; height:54px; }
    .today-icon .emoji-3d { font-size:28px; }
    .today-card-copy h3 { font-size:17px; }
}

/* V9 — hero state visibility */
.hero-session-preview .hero-preview-state { display:none; }
.hero-session-preview .hero-preview-state.is-visible {
    display:block;
    animation:heroStateIn .55s cubic-bezier(.16,1,.3,1);
}
.hero-session-preview .hero-preview-state[aria-hidden="true"] { pointer-events:none; }
.hero-memory-accent { color:#f59e0b!important; }
@keyframes heroStateIn {
    from { opacity:0; transform:translateY(9px) scale(.985); }
    to { opacity:1; transform:translateY(0) scale(1); }
}

/* =========================================================
   LOGOUT — V10
   ========================================================= */
.logout-section {
    min-height:calc(100vh - 120px);
    padding:155px 0 90px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.logout-shell {
    display:flex;
    justify-content:center;
}

.logout-card {
    width:min(560px,100%);
    padding:42px;
    text-align:center;
    border:1px solid rgba(17,19,24,.08);
    border-radius:32px;
    background:rgba(255,255,255,.86);
    box-shadow:0 35px 90px rgba(17,19,24,.09), inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.logout-icon {
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    margin:0 auto 25px;
    border-radius:24px;
    font:700 32px var(--font-display);
    box-shadow:inset 0 2px 0 rgba(255,255,255,.9),0 18px 35px rgba(17,19,24,.1);
}

.logout-icon-success {
    color:#fff;
    background:linear-gradient(145deg,#fbbf4a,#f97316);
}

.logout-icon-question {
    color:#f59e0b;
    background:linear-gradient(145deg,#fff9e9,#fff0c7);
}

.logout-card h1 {
    margin-top:12px;
    font-size:clamp(48px,7vw,70px);
}

.logout-card h1 span {
    display:inline;
    background:linear-gradient(110deg,#f59e0b,#f97316);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.logout-card > p {
    max-width:450px;
    margin:20px auto 0;
    color:#737d8c;
    font-size:14px;
    line-height:1.75;
}

.logout-actions,
.logout-form {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:30px;
}

.logout-form {
    flex-direction:column;
    gap:17px;
}

.logout-form .btn-volumetrico,
.logout-actions .btn-volumetrico {
    min-width:220px;
}

.logout-form .text-link,
.logout-actions .text-link {
    font-size:12px;
}

.logout-status {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:30px;
    padding:9px 13px;
    border:1px solid rgba(34,197,94,.12);
    border-radius:999px;
    background:rgba(34,197,94,.045);
    color:#6f7a87;
    font-size:10px;
    font-weight:700;
}

.logout-status .status-dot {
    width:6px;
    height:6px;
    box-shadow:0 0 0 4px rgba(34,197,94,.09);
}

@media (max-width:800px) {
    .logout-section {
        min-height:auto;
        padding:130px 0 70px;
    }

    .logout-card {
        padding:30px 24px;
        border-radius:27px;
    }

    .logout-card h1 {
        font-size:clamp(45px,12vw,60px);
    }
}

@media (max-width:520px) {
    .logout-section {
        padding:120px 0 55px;
    }

    .logout-card {
        padding:27px 19px;
    }

    .logout-icon {
        width:68px;
        height:68px;
        border-radius:21px;
        font-size:28px;
    }

    .logout-actions {
        flex-direction:column;
        gap:15px;
    }

    .logout-actions .btn-volumetrico {
        width:100%;
    }
}

/* =========================================================
   MOBILE NAV — FIX V10
   Evita que el contenido del menú móvil aparezca como texto
   suelto en escritorio y le da su panel responsive.
   ========================================================= */
.mobile-menu-toggle,
.mobile-navigation {
    display:none;
}

@media (max-width:1050px) {
    .glass-nav {
        position:relative;
    }

    .nav-links,
    .nav-actions {
        display:none;
    }

    .mobile-menu-toggle {
        width:44px;
        height:44px;
        margin-left:auto;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;
        flex:none;
        border:1px solid rgba(17,19,24,.07);
        border-radius:14px;
        background:rgba(255,255,255,.78);
        color:var(--ink);
        box-shadow:0 8px 20px rgba(17,19,24,.06);
    }

    .mobile-menu-toggle span {
        width:17px;
        height:2px;
        border-radius:999px;
        background:currentColor;
        transition:transform .25s ease,opacity .2s ease;
    }

    .mobile-menu-toggle.is-open span:nth-child(1) {
        transform:translateY(7px) rotate(45deg);
    }

    .mobile-menu-toggle.is-open span:nth-child(2) {
        opacity:0;
    }

    .mobile-menu-toggle.is-open span:nth-child(3) {
        transform:translateY(-7px) rotate(-45deg);
    }

    .mobile-navigation {
        position:absolute;
        top:calc(100% + 8px);
        left:24px;
        right:24px;
        display:block;
        overflow:hidden;
        max-height:0;
        opacity:0;
        pointer-events:none;
        visibility:hidden;
        border:1px solid rgba(255,255,255,.78);
        border-radius:24px;
        background:rgba(255,255,255,.91);
        backdrop-filter:blur(22px) saturate(160%);
        -webkit-backdrop-filter:blur(22px) saturate(160%);
        box-shadow:0 22px 55px rgba(17,19,24,.12);
        transform:translateY(-8px) scale(.985);
        transform-origin:top center;
        transition:max-height .35s ease,opacity .25s ease,transform .35s ease;
    }

    .mobile-navigation.is-open {
        max-height:520px;
        opacity:1;
        pointer-events:auto;
        visibility:visible;
        transform:translateY(0) scale(1);
    }

    .mobile-navigation-inner {
        padding:18px;
    }

    .mobile-nav-label {
        margin:2px 4px 12px;
        color:#a0a7b2;
        font:700 9px var(--font-display);
        letter-spacing:.13em;
    }

    .mobile-navigation a {
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:48px;
        padding:0 13px;
        border-radius:13px;
        color:#515966;
        text-decoration:none;
        font-size:13px;
        font-weight:700;
        transition:background .2s ease,color .2s ease,transform .2s ease;
    }

    .mobile-navigation a:hover {
        background:#fff7e5;
        color:var(--ink);
        transform:translateX(2px);
    }
    .mobile-navigation a.is-active {
        background:#fff7e5;
        color:var(--ink);
    }


    .mobile-navigation a span {
        color:#a0a7b2;
        font:700 9px var(--font-display);
        letter-spacing:.08em;
    }

    .mobile-navigation-divider {
        height:1px;
        margin:9px 4px;
        background:var(--line);
    }

    .mobile-navigation .mobile-navigation-cta {
        margin-top:6px;
        justify-content:center;
        color:#fff;
        background:linear-gradient(135deg,#ffbf46,#f97316);
        box-shadow:0 10px 24px rgba(249,115,22,.2),inset 0 1px 1px rgba(255,255,255,.5);
    }

    .mobile-navigation .mobile-navigation-cta span {
        color:#fff;
    }

    .mobile-navigation .mobile-navigation-logout {
        background:linear-gradient(135deg,#20232a,#111318);
        box-shadow:0 10px 24px rgba(17,19,24,.16);
    }

    .mobile-navigation .mobile-navigation-logout:hover {
        background:linear-gradient(135deg,#2b2f37,#17191d);
        color:#fff;
        transform:none;
    }
}

@media (max-width:520px) {
    .mobile-navigation {
        left:12px;
        right:12px;
    }
}

/* =========================================================
   ERROR 404 — MINDS.TRAINING
   ========================================================= */
.error404-section {
    min-height:calc(100vh - 120px);
    padding:155px 0 90px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.error404-shell {
    display:flex;
    justify-content:center;
}

.error404-card {
    position:relative;
    isolation:isolate;
    width:min(650px,100%);
    padding:44px 42px 38px;
    text-align:center;
    overflow:hidden;
    border:1px solid rgba(17,19,24,.08);
    border-radius:34px;
    background:rgba(255,255,255,.84);
    box-shadow:0 35px 90px rgba(17,19,24,.09),inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.error404-card::before {
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    top:-185px;
    right:-115px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,209,102,.28),transparent 68%);
    pointer-events:none;
    z-index:-1;
}

.error404-orbit {
    position:relative;
    width:150px;
    height:150px;
    display:grid;
    place-items:center;
    margin:0 auto 26px;
    border:1px solid rgba(245,158,11,.20);
    border-radius:50%;
    background:radial-gradient(circle at 50% 45%,#fffdf7 0,#fff8e8 56%,#fff0ca 100%);
    box-shadow:inset 0 2px 0 rgba(255,255,255,.95),0 22px 45px rgba(245,158,11,.12);
}

.error404-orbit::before,
.error404-orbit::after {
    content:"";
    position:absolute;
    border:1px dashed rgba(249,115,22,.20);
    border-radius:50%;
}

.error404-orbit::before {
    inset:14px;
}

.error404-orbit::after {
    inset:28px;
    border-color:rgba(245,158,11,.13);
}

.error404-number {
    position:relative;
    z-index:2;
    font:700 39px/1 var(--font-display),sans-serif;
    letter-spacing:-.08em;
    background:linear-gradient(110deg,#f59e0b,#f97316);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.error404-dot {
    position:absolute;
    z-index:3;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#f97316;
    box-shadow:0 0 0 5px rgba(249,115,22,.10);
}

.error404-dot-one { top:17px; left:47px; }
.error404-dot-two { right:19px; bottom:47px; width:5px; height:5px; background:#f59e0b; }
.error404-dot-three { left:27px; bottom:39px; width:4px; height:4px; background:#ffd166; }

.error404-card h1 {
    margin-top:12px;
    font-size:clamp(46px,7vw,70px);
}

.error404-card h1 span {
    display:inline;
    background:linear-gradient(110deg,#f59e0b,#f97316);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.error404-card > p {
    max-width:490px;
    margin:20px auto 0;
    color:#737d8c;
    font-size:14px;
    line-height:1.75;
}

.error404-actions {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:31px;
}

.error404-actions .btn-volumetrico {
    min-width:220px;
}

.error404-actions .text-link {
    font-size:12px;
}

.error404-status {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:30px;
    padding:9px 13px;
    border:1px solid rgba(245,158,11,.13);
    border-radius:999px;
    background:rgba(245,158,11,.045);
    color:#78818e;
    font-size:10px;
    font-weight:700;
}

.error404-status .status-dot {
    width:6px;
    height:6px;
    background:#f59e0b;
    box-shadow:0 0 0 4px rgba(245,158,11,.09);
}

@media (max-width:800px) {
    .error404-section {
        min-height:auto;
        padding:130px 0 70px;
    }

    .error404-card {
        padding:34px 25px 31px;
        border-radius:28px;
    }
}

@media (max-width:520px) {
    .error404-section {
        padding:120px 0 55px;
    }

    .error404-card {
        padding:29px 19px;
    }

    .error404-orbit {
        width:126px;
        height:126px;
    }

    .error404-number {
        font-size:34px;
    }

    .error404-card h1 {
        font-size:clamp(43px,12vw,58px);
    }

    .error404-actions {
        flex-direction:column;
        gap:15px;
    }

    .error404-actions .btn-volumetrico {
        width:100%;
    }
}

/* =========================================================
   ACCOUNT RECOVERY + LEGAL — V10
   ========================================================= */
.auth-alert.success {
    color:#28643d;
    border:1px solid rgba(34,197,94,.16);
    background:rgba(34,197,94,.06);
}

.auth-recovery .auth-pitch p { max-width:500px; }
.auth-recovery .auth-card { max-width:500px; width:100%; }

/* v159 · Recuperación: misma jerarquía visual que el registro. */
body.route-recuperar-password .recovery-hero-title{max-width:670px;line-height:.98;letter-spacing:-.055em;text-wrap:balance}
body.route-recuperar-password .recovery-hero-title span{background:linear-gradient(110deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}
body.route-recuperar-password .recovery-promise{display:flex;gap:20px;margin-top:34px}
body.route-recuperar-password .recovery-promise-item{display:flex;align-items:center;gap:11px;padding:11px 22px 11px 0;border-right:1px solid var(--line);min-width:0}
body.route-recuperar-password .recovery-promise-item:last-child{border-right:0;padding-right:0}
body.route-recuperar-password .recovery-promise-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(245,158,11,.18);border-radius:14px;background:linear-gradient(145deg,#fff5d8,#ffe5a4);font-size:21px;box-shadow:0 8px 20px rgba(245,158,11,.12),inset 0 1px 0 rgba(255,255,255,.9)}
body.route-recuperar-password .recovery-promise-item>div>strong,body.route-recuperar-password .recovery-promise-item>div>span{display:block}
body.route-recuperar-password .recovery-promise-item>div>strong{font:800 31px/1 var(--font-display);letter-spacing:-.045em;color:#111318;font-variant-numeric:tabular-nums;white-space:nowrap}
body.route-recuperar-password .recovery-promise-item>div>strong small{font:800 14px/1 var(--font-display);letter-spacing:-.02em;color:#111318}
body.route-recuperar-password .recovery-promise-item>div>span{margin-top:5px;color:#7d8795;font-size:10px;white-space:nowrap}
body.route-recuperar-password .auth-card-recovery{padding:34px}
body.route-recuperar-password .recovery-card-title{font-size:clamp(32px,3vw,39px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
body.route-recuperar-password .recovery-card-title span{background:linear-gradient(110deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}

.legal-section {
    min-height:calc(100vh - 120px);
    padding:155px 0 90px;
}
.legal-shell { max-width:900px; }
.legal-shell > h1 {
    margin-top:14px;
    font-size:clamp(48px,6vw,76px);
    line-height:1;
    letter-spacing:-.055em;
}
.legal-shell > h1 span {
    background:linear-gradient(110deg,#f59e0b,#f97316);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.legal-lead {
    max-width:680px;
    margin:22px 0 32px;
    color:#727c8e;
    font-size:16px;
    line-height:1.75;
}
.legal-card {
    padding:34px;
    border:1px solid rgba(17,19,24,.08);
    border-radius:30px;
    background:rgba(255,255,255,.82);
    box-shadow:var(--shadow);
}
.legal-card h2 {
    margin:0 0 9px;
    font-size:20px;
    letter-spacing:-.02em;
}
.legal-card h2:not(:first-child) { margin-top:28px; }
.legal-card p {
    margin:0;
    color:#737d8c;
    font-size:14px;
    line-height:1.8;
}
.legal-note {
    margin-top:30px !important;
    padding:14px 16px;
    border-left:3px solid #f59e0b;
    border-radius:0 13px 13px 0;
    background:#fff9ed;
    color:#806b48 !important;
    font-size:12px !important;
}

@media (max-width:800px) {
    .legal-section { min-height:auto; padding:130px 0 70px; }
    .legal-shell > h1 { font-size:clamp(46px,12vw,64px); }
    .legal-card { padding:25px 22px; border-radius:26px; }
}

/* LEGAL MODAL */
body.modal-open { overflow:hidden; }
.legal-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease,visibility .22s ease; }
.legal-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.legal-modal-backdrop { position:absolute; inset:0; background:rgba(17,19,24,.48); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.legal-modal-dialog { position:relative; outline:none; z-index:1; width:min(900px,100%); max-height:min(82vh,780px); overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:30px; background:rgba(255,255,255,.94); box-shadow:0 35px 100px rgba(17,19,24,.25); transform:translateY(18px) scale(.985); transition:transform .28s cubic-bezier(.16,1,.3,1); }
.legal-modal.is-open .legal-modal-dialog { transform:translateY(0) scale(1); }
.legal-modal-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.82); }
.legal-modal-topbar .section-kicker { margin:0; }
.legal-modal-close { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(17,19,24,.08); border-radius:50%; background:#fff; color:#737d8c; font-size:25px; line-height:1; cursor:pointer; transition:transform .2s ease,color .2s ease,background .2s ease; }
.legal-modal-close:hover { transform:rotate(8deg); background:#fff8e8; color:var(--ink); }
.legal-modal-content { max-height:calc(min(82vh,780px) - 77px); overflow:auto; padding:34px; scrollbar-width:thin; }
.legal-modal-content > h1 { margin-top:14px; font-size:clamp(42px,5vw,64px); line-height:1; letter-spacing:-.055em; }
.legal-modal-content > h1 span { background:linear-gradient(110deg,#f59e0b,#f97316); -webkit-background-clip:text; background-clip:text; color:transparent; }
.legal-modal-content .legal-lead { max-width:680px; margin:20px 0 28px; color:#727c8e; font-size:15px; line-height:1.7; }
.legal-modal-content .legal-card { padding:30px; border:1px solid rgba(17,19,24,.08); border-radius:26px; background:linear-gradient(145deg,#fffdf8,#fff); box-shadow:none; }
.legal-modal-content .legal-card h2 { margin:0 0 9px; font-size:19px; }
.legal-modal-content .legal-card h2:not(:first-child) { margin-top:25px; }
.legal-modal-content .legal-card p { margin:0; color:#737d8c; font-size:13px; line-height:1.8; }
.legal-modal-content .legal-note { margin-top:28px!important; }
.legal-modal-loading { min-height:300px; display:grid; place-items:center; color:#8a92a0; font-size:13px; }
.legal-modal-error { padding:25px; border:1px solid rgba(220,38,38,.14); border-radius:18px; background:rgba(220,38,38,.04); color:#9b2c2c; font-size:13px; line-height:1.6; }

@media (max-width:800px) {
    .legal-modal { padding:10px; align-items:end; }
    .legal-modal-dialog { max-height:92vh; border-radius:27px 27px 18px 18px; }
    .legal-modal-content { max-height:calc(92vh - 77px); padding:23px 18px 28px; }
    .legal-modal-content > h1 { font-size:clamp(38px,11vw,54px); }
    .legal-modal-content .legal-card { padding:23px 19px; border-radius:22px; }
}


@media (max-width:380px) {
    .section-shell { width:calc(100% - 20px); }
    .glass-nav { gap:8px; }
    .nav-logo-txt { font-size:14px; }
    .logo-mark { width:34px; height:34px; flex-basis:34px; }
    .btn-small { min-height:36px; padding:0 12px; font-size:12px; }
    .mobile-menu-toggle { width:42px; height:42px; }
    .hero-title { font-size:41px; }
    .hero-description { font-size:13px; }
    .hero-float-card { max-width:126px; }
    .hero-float-card small { letter-spacing:.05em; }
    .demo-side,.demo-game { padding:18px; }
    .demo-result { font-size:64px; }
    .auth-card { padding:20px 17px; }
    .auth-title { font-size:37px; }
    .dashboard-stats { grid-template-columns:1fr; }
    .dashboard-stats div:last-child { grid-column:auto; border-top:0; border-right:0; border-top:1px solid var(--line); }
}


.status-error-section .error404-number { font-size:34px; letter-spacing:-.05em; }
.status-error-section .error404-card h1 { max-width:620px; margin-inline:auto; }

/* =========================================================
   RETOS — V11
   ========================================================= */
.challenge-section { min-height:calc(100vh - 120px); padding:140px 0 80px; }
.challenge-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.challenge-card { max-width:900px; margin:auto; padding:34px; border:1px solid rgba(17,19,24,.08); border-radius:32px; background:rgba(255,255,255,.88); box-shadow:var(--shadow); }
.challenge-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; padding-bottom:25px; border-bottom:1px solid var(--line); }
.challenge-heading h1 { margin-top:8px; font-size:clamp(42px,6vw,70px); }
.challenge-heading p { max-width:570px; margin-top:12px; color:var(--muted); font-size:14px; }
.challenge-time { flex:none; padding-left:22px; border-left:1px solid var(--line); text-align:right; }
.challenge-time span { display:block; color:#a2a9b4; font:700 9px var(--font-display); letter-spacing:.12em; }
.challenge-time strong { display:block; margin-top:6px; font:700 26px var(--font-display); }
.challenge-stage { min-height:330px; margin-top:28px; display:grid; place-items:center; padding:30px; border-radius:24px; background:linear-gradient(145deg,#15171c,#0d0e12); color:#fff; }
.challenge-start-state { text-align:center; }
.challenge-emoji { width:72px; height:72px; margin:0 auto 18px; }
.challenge-emoji .emoji-3d { font-size:36px; }
.challenge-start-state h2 { font-size:31px; }
.challenge-start-state p { margin:9px auto 22px; max-width:420px; color:#8f96a2; font-size:13px; }
.challenge-question { width:min(520px,100%); text-align:center; }
.challenge-question > span { display:block; margin-bottom:22px; font:700 46px var(--font-display); }
.challenge-question > p { margin-bottom:18px; color:#9ca3af; }
.challenge-question input { width:min(330px,100%); height:58px; margin-bottom:14px; padding:0 18px; border:1px solid rgba(255,255,255,.12); border-radius:16px; outline:none; background:#1b1e24; color:#fff; text-align:center; font:700 22px var(--font-display); }
.challenge-question input:focus { border-color:rgba(249,115,22,.7); }
.challenge-sequence { display:flex; justify-content:center; gap:9px; margin-bottom:22px; }
.challenge-sequence span,.challenge-sequence b { width:58px; height:58px; display:grid; place-items:center; border-radius:14px; background:#1c1f25; font:700 20px var(--font-display); }
.challenge-sequence b { color:#f97316; }
.challenge-memory { text-align:center; }
.challenge-memory strong { display:block; font:700 42px var(--font-display); letter-spacing:.08em; }
.challenge-memory small { display:block; margin-top:14px; color:#9ca3af; }
.visual-grid { display:grid; grid-template-columns:repeat(3,80px); gap:14px; }
.visual-choice { width:80px; height:80px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:#1b1e24; color:#fff; font-size:30px; transition:transform .2s ease,background .2s ease; }
.visual-choice:hover { transform:translateY(-3px); background:#242831; }
.challenge-reaction-target { width:150px; height:150px; border:0; border-radius:50%; background:#242831; color:#6f7888; font-size:30px; }
.challenge-reaction-target.is-live { background:#f97316; color:#fff; box-shadow:0 0 0 14px rgba(249,115,22,.12),0 20px 50px rgba(249,115,22,.22); }
.challenge-wait { display:block; margin-top:18px; color:#8f96a2; }
.challenge-feedback { min-height:45px; display:grid; place-items:center; margin-top:18px; color:#6f7888; font-size:13px; text-align:center; }
.challenge-complete-form { display:flex; justify-content:center; margin-top:8px; }
.challenge-success { display:flex; align-items:center; gap:18px; margin-top:28px; padding:25px; border:1px solid rgba(34,197,94,.16); border-radius:22px; background:rgba(34,197,94,.05); }
.challenge-success-icon { width:48px; height:48px; display:grid; place-items:center; flex:none; border-radius:50%; background:#e9f9ef; color:#2f8b4d; font-weight:800; }
.challenge-success strong { font:700 20px var(--font-display); }
.challenge-success p { margin-top:3px; color:#6f7888; font-size:13px; }

@media (max-width:800px) {
    .challenge-section { padding:125px 0 60px; }
    .challenge-card { padding:22px 18px; border-radius:26px; }
    .challenge-heading { flex-direction:column; gap:18px; }
    .challenge-time { width:100%; padding:0; border:0; text-align:left; }
    .challenge-stage { min-height:310px; padding:20px 14px; }
    .challenge-sequence { gap:6px; }
    .challenge-sequence span,.challenge-sequence b { width:50px; height:50px; }
}
@media (max-width:520px) {
    .challenge-top { align-items:flex-start; flex-direction:column-reverse; gap:12px; }
    .challenge-heading h1 { font-size:40px; }
    .challenge-memory strong { font-size:30px; }
    .visual-grid { grid-template-columns:repeat(3,64px); gap:9px; }
    .visual-choice { width:64px; height:64px; }
}

/* Enlace de administración */
.dashboard-logout{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.admin-panel-link{display:inline-flex;align-items:center;gap:8px;color:#111;text-decoration:none;font-weight:700}
.admin-panel-link span{transition:transform .2s ease}
.admin-panel-link:hover span{transform:translateX(3px)}

/* =========================================================
   ADMINISTRACIÓN — V12
   ========================================================= */
.admin-page { min-height:100vh; padding:148px 0 90px; }
.admin-shell { width:min(1280px,calc(100% - 48px)); }
.admin-header { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:34px; }
.admin-header h1 { max-width:760px; font-size:clamp(48px,5.5vw,76px); }
.admin-header h1 span { display:block; background:linear-gradient(110deg,#f59e0b,#f97316); -webkit-background-clip:text; background-clip:text; color:transparent; }
.admin-header p { margin-top:16px; color:var(--muted); font-size:15px; }
.admin-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.admin-period { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 14px; border-radius:999px; color:#687182; text-decoration:none; font-size:12px; font-weight:700; transition:.2s ease; }
.admin-period:hover,.admin-period.is-active { background:#fff; color:var(--ink); box-shadow:0 8px 25px rgba(17,19,24,.06); }
.admin-export { min-height:46px; padding-inline:19px; margin-left:5px; }
.admin-stats { display:grid; grid-template-columns:repeat(5,1fr); overflow:hidden; margin-bottom:22px; border:1px solid rgba(17,19,24,.08); border-radius:24px; background:rgba(255,255,255,.78); box-shadow:0 18px 50px rgba(17,19,24,.055); backdrop-filter:blur(16px); }
.admin-stats article { min-height:132px; padding:22px 22px 19px; border-right:1px solid var(--line); }
.admin-stats article:last-child { border-right:0; }
.admin-stats span { display:block; color:#a1a8b3; font:700 9px var(--font-display); letter-spacing:.15em; }
.admin-stats strong { display:block; margin-top:8px; font:700 39px/1 var(--font-display); letter-spacing:-.06em; }
.admin-stats small { display:block; margin-top:8px; color:#788292; font-size:11px; }
.admin-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(270px,.55fr); gap:22px; align-items:start; }
.admin-card,.admin-side-card { border:1px solid rgba(17,19,24,.08); border-radius:26px; background:rgba(255,255,255,.86); box-shadow:0 18px 55px rgba(17,19,24,.055); overflow:hidden; }
.admin-side-card { padding:27px; }
.admin-card-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:27px 27px 22px; }
.admin-card-head .section-kicker { margin-bottom:10px; }
.admin-card h2,.admin-side-card h2 { font-size:28px; }
.admin-muted { color:#9aa2ae; font-size:11px; white-space:nowrap; }
.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:760px; }
.admin-table th { padding:12px 18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#a0a7b2; text-align:left; font:700 8px var(--font-display); letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; }
.admin-table td { padding:15px 18px; border-bottom:1px solid rgba(17,19,24,.065); color:#2b3038; font-size:12px; vertical-align:middle; white-space:nowrap; }
.admin-table tbody tr:last-child td { border-bottom:0; }
.admin-table tbody tr:hover { background:rgba(255,248,232,.55); }
.admin-table td:first-child { min-width:190px; white-space:normal; }
.admin-table td strong { display:block; font-weight:700; }
.admin-table td small { display:block; margin-top:2px; color:#8d96a4; font-size:10px; }
.admin-event-summary { margin-top:22px; border-top:1px solid var(--line); }
.admin-event-summary div { display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid rgba(17,19,24,.065); color:#687182; font-size:11px; }
.admin-event-summary div:last-child { border-bottom:0; }
.admin-event-summary strong { color:var(--ink); font:700 15px var(--font-display); }
.admin-activity { margin-top:22px; }
.admin-activity-table { min-width:900px; }
.event-pill { display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border-radius:999px; background:#f3f4f6; color:#596170; font-size:9px; font-weight:700; text-transform:capitalize; }
.event-admin_visita { background:#fff4db; color:#a56600; }
.event-login_correcto,.event-registro_completado,.event-password_reset { background:#eaf9ef; color:#238047; }
.event-login_fallido { background:#fff0f0; color:#b84242; }
.admin-footer { display:flex; justify-content:space-between; gap:20px; margin-top:22px; padding:0 5px; }
.admin-footer a { color:#7b8492; text-decoration:none; font-size:11px; font-weight:700; }
.admin-footer a:hover { color:var(--ink); }
.admin-user-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-role-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:5px 8px;border-radius:999px;background:linear-gradient(135deg,#17191d,#2b2e35);color:#fff;font:800 8px var(--font-display);letter-spacing:.1em;vertical-align:middle;box-shadow:0 7px 16px rgba(17,19,24,.12)}
.is-admin-row{background:linear-gradient(90deg,rgba(245,158,11,.045),transparent 48%)}
.admin-protected-note{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:10px;background:#f4f5f7;color:#8a919d;font-size:9px;font-weight:800;white-space:nowrap}

@media (max-width:1000px) {
    .admin-header { align-items:flex-start; flex-direction:column; gap:24px; }
    .admin-actions { justify-content:flex-start; }
    .admin-stats { grid-template-columns:repeat(3,1fr); }
    .admin-stats article:nth-child(3) { border-right:0; }
    .admin-stats article:nth-child(n+4) { border-top:1px solid var(--line); }
    .admin-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
    .admin-page { padding:126px 0 60px; }
    .admin-shell { width:min(100% - 28px,600px); }
    .admin-header h1 { font-size:44px; }
    .admin-header p { font-size:13px; }
    .admin-actions { width:100%; }
    .admin-period { flex:1; }
    .admin-export { width:100%; margin:2px 0 0; }
    .admin-stats { grid-template-columns:1fr 1fr; border-radius:20px; }
    .admin-stats article { min-height:112px; padding:18px; }
    .admin-stats article:nth-child(2n) { border-right:0; }
    .admin-stats article:nth-child(n+3) { border-top:1px solid var(--line); }
    .admin-stats strong { font-size:32px; }
    .admin-card-head,.admin-side-card { padding:21px 19px; }
    .admin-card h2,.admin-side-card h2 { font-size:24px; }
    .admin-table th,.admin-table td { padding-inline:14px; }
    .admin-footer { flex-direction:column; }
}
@media (max-width:380px) {
    .admin-page { padding-top:116px; }
    .admin-stats article { padding:15px 13px; }
    .admin-stats strong { font-size:28px; }
    .admin-stats small { font-size:10px; }
}

/* ===== ADMIN V13: seguridad, usuarios y mantenimiento ===== */
.admin-flash{margin:0 0 20px;padding:14px 17px;border-radius:16px;font-size:13px;font-weight:600;border:1px solid rgba(17,19,24,.08);background:rgba(255,255,255,.82)}
.admin-flash-ok{border-color:rgba(34,197,94,.18);background:rgba(236,253,245,.88);color:#18743c}
.admin-flash-error{border-color:rgba(239,68,68,.18);background:rgba(254,242,242,.9);color:#a62929}
.admin-control-card{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 27px;margin-bottom:22px;border:1px solid rgba(17,19,24,.08);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 18px 50px rgba(17,19,24,.05);backdrop-filter:blur(16px)}
.admin-control-card h2{font-size:24px;margin-top:7px}.admin-control-card p{margin-top:7px;color:#788292;font-size:12px}
.admin-maintenance-form{flex:none}.maintenance-toggle{display:inline-flex;align-items:center;gap:11px;border:0;border-radius:999px;padding:10px 15px 10px 10px;background:#111318;color:#fff;font:700 12px var(--font-body);cursor:pointer;box-shadow:0 12px 30px rgba(17,19,24,.14)}
.maintenance-toggle.is-on{background:#fff0ee;color:#9e3029;border:1px solid rgba(239,68,68,.18);box-shadow:none}.maintenance-switch{width:36px;height:20px;border-radius:999px;background:#e3e6ea;display:inline-flex;align-items:center;padding:3px}.maintenance-switch i{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);display:block;transition:.2s}.maintenance-toggle.is-on .maintenance-switch{background:#ef4444}.maintenance-toggle.is-on .maintenance-switch i{transform:translateX(16px)}
.admin-stats{grid-template-columns:repeat(3,1fr)}
.admin-users-table{min-width:1120px}.admin-users-table td{white-space:normal}.admin-users-table td code,.admin-activity-table td code{font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#687182}.status-badge,.multi-badge{display:inline-flex;align-items:center;margin:0 5px 5px 0;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}.status-ok{background:#ecfdf3;color:#21834b}.status-ban{background:#fff0ee;color:#b33b31}.multi-badge{background:#fff6df;color:#9a6500}
.admin-user-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:150px}.admin-user-actions form{margin:0}.admin-action-btn{border:1px solid rgba(17,19,24,.1);background:#fff;border-radius:10px;padding:7px 9px;color:#545e6d;font:700 10px var(--font-body);cursor:pointer}.admin-action-btn:hover{background:#f7f8fa;color:#111318}.admin-action-danger{color:#a42d27;border-color:rgba(239,68,68,.18)}.admin-action-good{color:#18743c;border-color:rgba(34,197,94,.18)}
.admin-side-intro{margin-top:9px;color:#7c8593;font-size:11px;line-height:1.55}.admin-multi-list{margin-top:18px;border-top:1px solid var(--line)}.admin-multi-item{padding:13px 0;border-bottom:1px solid rgba(17,19,24,.065)}.admin-multi-item>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-multi-item code{font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace}.admin-multi-item span{font-size:9px;color:#9aa2ae}.admin-multi-item>strong{display:block;margin-top:7px;font:700 13px var(--font-display)}.admin-multi-item small{display:block;margin-top:4px;color:#7d8795;font-size:10px;white-space:normal;line-height:1.4}.admin-empty{padding:18px 0;color:#8b94a1;font-size:11px}
.maintenance-screen{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 75% 15%,rgba(255,202,78,.25),transparent 35%),#fffaf2}.maintenance-card{width:min(620px,calc(100% - 36px));padding:55px 45px;border:1px solid rgba(17,19,24,.08);border-radius:34px;background:rgba(255,255,255,.82);box-shadow:0 25px 80px rgba(17,19,24,.08);text-align:center;backdrop-filter:blur(18px)}.maintenance-orbit{width:94px;height:94px;display:grid;place-items:center;margin:22px auto;border-radius:28px;background:linear-gradient(135deg,#ffd35c,#ff8b19);font:700 26px var(--font-display);color:#fff;box-shadow:0 18px 35px rgba(245,158,11,.22)}.maintenance-card h1{font:700 clamp(42px,7vw,72px)/.95 var(--font-display);letter-spacing:-.06em}.maintenance-card h1 span{color:#f59e0b}.maintenance-card p{max-width:470px;margin:18px auto;color:#778191;font-size:15px;line-height:1.65}.maintenance-status{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 12px;border-radius:999px;background:#fff6df;color:#8b650f;font-size:10px;font-weight:800}.maintenance-status span{width:7px;height:7px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
@media(max-width:1050px){.admin-stats{grid-template-columns:repeat(3,1fr)}.admin-control-card{align-items:flex-start;flex-direction:column}.admin-maintenance-form{width:100%}}
@media(max-width:700px){.admin-stats{grid-template-columns:1fr 1fr}.admin-control-card{padding:21px 19px}.admin-control-card h2{font-size:21px}.admin-maintenance-form,.maintenance-toggle{width:100%;justify-content:center}.maintenance-card{padding:42px 24px;border-radius:26px}.maintenance-card h1{font-size:46px}.maintenance-card p{font-size:13px}}

/* ===== V14: privacidad, cookies y textos legales ===== */
.legal-section{padding:148px 0 90px}.legal-shell{max-width:920px}.legal-shell h1{margin-top:16px;font:700 clamp(48px,7vw,84px)/.95 var(--font-display);letter-spacing:-.065em}.legal-shell h1 span{background:linear-gradient(110deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.legal-lead{max-width:760px;margin:24px 0 30px;color:#727c8e;font-size:16px;line-height:1.75}.legal-card{padding:38px;border:1px solid rgba(17,19,24,.08);border-radius:28px;background:rgba(255,255,255,.87);box-shadow:0 24px 70px rgba(17,19,24,.06)}.legal-card h2{margin:0 0 9px;font-size:20px}.legal-card h2:not(:first-child){margin-top:27px}.legal-card p{margin:0;color:#606b79;font-size:13px;line-height:1.75}.legal-note{margin-top:30px!important;padding:16px 18px;border-radius:16px;background:#fff8e8;color:#80662b!important;font-size:11px!important}.consent-info{padding:12px 14px;margin:10px 0 18px;border-radius:14px;background:#faf8f3;color:#7d7669;font-size:10px;line-height:1.5}.consent-info a{color:#a76708;font-weight:700}
@media(max-width:760px){.legal-section{padding:124px 0 60px}.legal-card{padding:24px}.cookie-consent{left:12px;right:12px;bottom:12px}.cookie-consent-card{grid-template-columns:1fr;padding:20px}.cookie-consent-actions{justify-content:stretch}.cookie-consent-actions .cookie-btn{flex:1}.cookie-preferences{padding:12px}.cookie-preferences-head,.cookie-preferences-body,.cookie-preferences-actions{padding-left:19px;padding-right:19px}.cookie-preferences-head h2{font-size:26px}.cookie-preferences-actions{flex-direction:column}.cookie-preferences-actions .cookie-btn{width:100%}.cookie-settings-fab{right:12px;bottom:12px}.cookie-settings-fab.is-visible{display:block}}

/* ===== V16 · Cuenta, seguridad y contacto ===== */
.account-section{padding:150px 0 90px;min-height:100vh}.account-shell{width:min(1120px,calc(100% - 48px))}.account-heading{max-width:760px;margin-bottom:26px}.account-heading h1{font-size:clamp(50px,6vw,76px);line-height:.98}.account-heading h1 span{background:linear-gradient(110deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.account-heading p{max-width:620px;margin-top:17px;color:var(--muted);font-size:15px;line-height:1.7}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.account-card{padding:28px;border:1px solid rgba(17,19,24,.08);border-radius:26px;background:rgba(255,255,255,.88);box-shadow:var(--shadow)}.account-card h2{font-size:28px;margin:8px 0 18px}.account-data{display:grid;gap:15px}.account-data>div{padding-top:14px;border-top:1px solid var(--line)}.account-data small{display:block;color:#9aa2ae;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.account-data strong{display:block;margin-top:4px;font-size:15px}.account-status{display:inline-flex;margin-top:7px;padding:5px 9px;border-radius:999px;background:#fff7ed;color:#b45309;font-size:9px;font-weight:800}.account-status.ok{background:#eefbf3;color:#217a4a}.account-form{display:grid;gap:13px}.account-form label{display:grid;gap:7px;color:#6d7684;font-size:11px;font-weight:700}.account-note{color:var(--muted);font-size:12px;line-height:1.65;margin-bottom:16px}.account-wide{width:100%;border:0}.account-verify-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:18px 20px;border:1px solid rgba(245,158,11,.18);background:#fffaf0;border-radius:20px}.account-verify-banner strong{font-size:14px}.account-verify-banner p{margin-top:4px;color:#7b8492;font-size:11px}.session-list{display:grid;gap:10px;margin:12px 0 16px}.session-item{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line)}.session-item>div{min-width:0}.session-item strong{display:block;font-size:12px}.session-item small{display:block;margin-top:3px;color:#8a92a0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-state{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.session-state.active{background:#eefbf3;color:#217a4a}.session-state.revoked{background:#f2f4f7;color:#7c8591}.account-danger{grid-column:1/-1}.account-danger p{color:#7a8391;font-size:12px;line-height:1.6;max-width:700px;margin-bottom:15px}.btn-danger{border:0;border-radius:999px;padding:13px 18px;background:#17191d;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.btn-danger:hover{background:#b42318}.account-footer-links{display:flex;justify-content:space-between;margin-top:22px}.account-footer-links a{font-size:11px;font-weight:700;color:#7a8391;text-decoration:none}.account-footer-links a:hover{color:#111}.contact-copy{max-width:500px}
@media(max-width:900px){.account-grid{grid-template-columns:1fr}.account-danger{grid-column:auto}.account-verify-banner{align-items:flex-start;flex-direction:column}.account-section{padding-top:130px}}
@media(max-width:560px){.account-shell{width:min(100% - 28px,540px)}.account-card{padding:21px}.account-footer-links{flex-direction:column;gap:11px}.account-heading h1{font-size:47px}}

.admin-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr auto;gap:10px;align-items:end;margin-bottom:22px;padding:17px;border:1px solid rgba(17,19,24,.08);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 14px 40px rgba(17,19,24,.035)}.admin-filters label{display:block;color:#9aa2ae;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:7px}.admin-filter-group{min-width:0}.admin-filter-pills{display:flex;gap:4px;flex-wrap:wrap}.admin-filter-input{width:100%;min-height:42px;padding:0 13px;border:1px solid rgba(17,19,24,.1);border-radius:13px;background:#fff;color:#222;font:600 12px inherit;outline:none}.admin-filter-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.admin-filter-submit{min-height:42px;white-space:nowrap}.admin-contact-card{margin-top:22px}.admin-table .state-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eefbf3;color:#217a4a;font-size:9px;font-weight:800}
@media(max-width:1100px){.admin-filters{grid-template-columns:1fr 1fr 1fr}.admin-filter-group{grid-column:1/-1}.admin-filter-submit{grid-column:auto}}@media(max-width:720px){.admin-filters{grid-template-columns:1fr}.admin-filter-group,.admin-filter-submit{grid-column:auto}.admin-filter-pills{flex-wrap:nowrap;overflow:auto}.admin-filters .admin-period{flex:none}.admin-stats{grid-template-columns:1fr}.admin-stats article{border-right:0;border-bottom:1px solid var(--line)}.admin-stats article:last-child{border-bottom:0}}

/* V22 · Cuenta y sesiones mejoradas */
.account-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.account-card-top h2{margin-bottom:0}.account-inline-note{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#f4f6f8;color:#6f7785;font-size:11px;font-weight:800;white-space:nowrap}.session-list-enhanced{gap:14px;margin:16px 0 18px}.session-card{padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,249,251,.92));box-shadow:0 12px 30px rgba(17,19,24,.04)}.session-card.is-current{border-color:rgba(33,122,74,.16);background:linear-gradient(180deg,#fbfffc,#f3fbf6)}.session-card.is-revoked{background:linear-gradient(180deg,#fbfbfc,#f6f7f8)}.session-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.session-title-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.session-card strong{display:block;font-size:16px;line-height:1.2}.session-current-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eefbf3;color:#217a4a;font-size:10px;font-weight:800;letter-spacing:.02em}.session-browser{margin-top:10px;color:#6f7786;font-size:12px;line-height:1.65;word-break:break-word}.session-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.session-meta-item{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid rgba(17,19,24,.06)}.session-meta-item small{display:block;color:#98a0ad;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.session-meta-item span{display:block;margin-top:5px;color:#21242b;font-size:12px;font-weight:700;line-height:1.45}.session-state{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:9px 12px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.session-state.active{background:#e8f8ef;color:#217a4a}.session-state.revoked{background:#eef1f4;color:#7c8591}.account-inline-form{margin-top:6px}.account-wide{padding:14px 18px;border-radius:16px;background:#f4f6f8;color:#111827;font-weight:800;transition:.2s ease}.account-wide:hover{background:#e9edf1}.account-danger{padding:34px;border:1px solid rgba(180,35,24,.08);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,250,.94))}.account-danger-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;align-items:start}.account-danger-copy h2{margin-bottom:12px}.account-danger p{margin-bottom:0;color:#727b89;font-size:13px;line-height:1.75;max-width:640px}.danger-warning-box{display:grid;gap:6px;margin-top:18px;padding:16px 18px;border:1px solid rgba(180,35,24,.12);border-radius:18px;background:#fff4f2}.danger-warning-box strong{font-size:13px;color:#991b1b}.danger-warning-box span{color:#7d5050;font-size:12px;line-height:1.6}.danger-form{align-self:stretch;padding:20px;border:1px solid rgba(17,19,24,.06);border-radius:22px;background:#fff;gap:16px}.danger-form label{gap:10px;color:#3e4550;font-size:12px}.danger-form .form-input{margin-top:0}.btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border:0;border-radius:16px;background:linear-gradient(135deg,#17191d,#0f1217);color:#fff;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 18px 40px rgba(17,19,24,.16);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-danger:hover{transform:translateY(-1px);background:linear-gradient(135deg,#b42318,#7a1212);box-shadow:0 20px 45px rgba(180,35,24,.18)}.account-footer-links{margin-top:28px;padding:6px 2px 0}.account-footer-links a{font-size:12px}.auth-alert.success>div,.auth-alert.error>div{width:100%}
@media(max-width:900px){.account-card-top{flex-direction:column;align-items:flex-start}.session-meta-grid{grid-template-columns:1fr}.account-danger-layout{grid-template-columns:1fr}.danger-form{padding:18px}.session-card-head{flex-direction:column;align-items:flex-start}.session-state{min-width:auto}}
@media(max-width:900px){.session-pagination-wrap{align-items:flex-start}.session-pagination{gap:8px}.session-page-link{height:38px;min-width:38px;padding:0 12px}}
@media(max-width:900px){.dashboard-account-cta{flex-direction:column;align-items:flex-start;padding:24px 22px}.dashboard-account-cta-copy h2{font-size:26px}.dashboard-account-cta-actions{width:100%;justify-content:flex-start}.dashboard-account-button{width:100%}}
@media(max-width:560px){.dashboard-account-cta{margin:0 0 22px;padding:20px 18px;border-radius:22px}.dashboard-account-cta-copy h2{font-size:24px}.dashboard-account-cta-copy p{font-size:12px}.dashboard-account-button{width:100%;justify-content:center}}
@media(max-width:560px){.session-card{padding:16px}.session-browser{font-size:11px}.session-meta-item{padding:11px 12px}.account-danger{padding:22px}.btn-danger,.account-wide{width:100%}.account-inline-note{font-size:10px;padding:8px 11px}}

/* V25 · Cuenta / sesiones */
.session-meta-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.95fr)}
.session-meta-item{min-width:0;overflow:hidden}
.session-meta-item span{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.session-ip-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display),sans-serif;font-size:11px!important;letter-spacing:-.01em}
.session-pagination-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0 16px;padding:15px 16px;border:1px solid rgba(17,19,24,.07);border-radius:18px;background:rgba(248,249,251,.78)}
.session-pagination-summary{color:#7b8492;font-size:11px;font-weight:700}
.session-pagination{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.session-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border:1px solid rgba(17,19,24,.08);border-radius:12px;background:#fff;color:#555f6d;text-decoration:none;font-size:11px;font-weight:800;line-height:1;box-shadow:0 5px 14px rgba(17,19,24,.035);transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease}
.session-page-link:hover{transform:translateY(-1px);border-color:rgba(245,158,11,.28);color:#e98200}
.session-page-link.is-current{border-color:#17191d;background:#17191d;color:#fff;box-shadow:none;pointer-events:none}
.session-empty-state{padding:22px;border:1px dashed rgba(17,19,24,.12);border-radius:18px;background:#fafbfc;color:#7b8492;font-size:12px;text-align:center}
@media(max-width:900px){
  .session-meta-grid{grid-template-columns:1fr 1fr}
  .session-meta-item:last-child{grid-column:1/-1}
  .session-pagination-wrap{align-items:flex-start}
  .session-pagination{justify-content:flex-start}
}
@media(max-width:560px){
  .session-meta-grid{grid-template-columns:1fr}
  .session-meta-item:last-child{grid-column:auto}
  .session-ip-value{font-size:10.5px!important}
  .session-pagination-wrap{padding:13px;gap:12px}
  .session-pagination-summary{width:100%}
  .session-pagination{width:100%}
  .session-page-link{height:38px;min-width:38px}
}


@media(max-width:1200px){.nav-actions-session{gap:8px}.nav-quick-btn{padding:0 14px}.nav-quick-label{font-size:11px}}

/* MOBILE SESSION NAV — V28 */
@media (max-width:1050px) {
    .mobile-navigation-inner{padding:18px}
    .mobile-nav-label{margin:2px 4px 13px;color:#9aa3b1;font:700 9px var(--font-display);letter-spacing:.15em}
    .mobile-session-actions{display:grid;gap:10px}
    .mobile-navigation .mobile-session-action{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:70px;padding:10px 12px;border:1px solid rgba(17,19,24,.07);border-radius:18px;background:rgba(255,255,255,.82);color:#111318;box-shadow:0 8px 24px rgba(17,19,24,.035);transform:none}
    .mobile-navigation .mobile-session-action:hover{background:#fff;color:#111318;transform:none;border-color:rgba(245,158,11,.2)}
    .mobile-navigation .mobile-session-action.is-active{background:linear-gradient(135deg,#fffaf0,#fff5df);border-color:rgba(245,158,11,.28);box-shadow:0 10px 28px rgba(245,158,11,.08)}
    .mobile-session-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#fff4ce,#ffe19a);color:#b96b00;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
    .mobile-session-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
    .mobile-session-copy{display:grid;gap:3px;min-width:0;color:inherit}
    .mobile-navigation .mobile-session-copy strong{color:#1e2229;font:700 14px var(--font-display);letter-spacing:-.02em}
    .mobile-navigation .mobile-session-copy small{color:#8992a0;font:500 10px var(--font-body);letter-spacing:0;white-space:normal;line-height:1.35}
    .mobile-navigation .mobile-session-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f4f6f8;color:#7a8391;font:700 14px var(--font-display);letter-spacing:0}
    .mobile-session-admin .mobile-session-icon{background:#eef1f6;color:#5f6877}
    .mobile-navigation-divider{margin:14px 4px 12px}
    .mobile-navigation .mobile-session-logout{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 18px;border-radius:16px;background:linear-gradient(135deg,#20232a,#111318);color:#fff;font:700 13px var(--font-display);box-shadow:0 12px 28px rgba(17,19,24,.16);transform:none}
    .mobile-navigation .mobile-session-logout:hover{background:linear-gradient(135deg,#2a2e36,#17191d);color:#fff;transform:none}
    .mobile-navigation .mobile-session-logout .mobile-session-icon{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.1);color:#fff;box-shadow:none}
    .mobile-navigation .mobile-session-logout .mobile-session-icon svg{width:16px;height:16px}
    .mobile-navigation .mobile-session-logout>span:last-child{color:#fff;font:700 13px var(--font-display);letter-spacing:0}
}
@media (max-width:520px) {
    .nav-wrapper{padding-left:12px;padding-right:12px}
    .nav-wrapper.scrolled{padding-left:12px;padding-right:12px}
    .glass-nav{padding:8px 9px 8px 11px;gap:12px}
    .nav-logo-txt{font-size:18px}
    .logo-mark{width:40px;height:40px;flex-basis:40px}
    .mobile-navigation{left:12px;right:12px;border-radius:22px}
    .mobile-navigation-inner{padding:14px}
    .mobile-navigation .mobile-session-action{grid-template-columns:42px minmax(0,1fr) 26px;min-height:66px;padding:9px 10px;gap:10px;border-radius:16px}
    .mobile-session-icon{width:42px;height:42px;border-radius:13px}
    .mobile-navigation .mobile-session-copy strong{font-size:13px}
    .mobile-navigation .mobile-session-copy small{font-size:9.5px}
}

/* ===== V29 · Cuenta, seguridad y administración ===== */
.account-card-wide{grid-column:1/-1}
.account-notifications{margin-bottom:22px}
.notification-list{display:grid;gap:10px;margin-top:14px}
.notification-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid rgba(17,19,24,.065);border-radius:18px;background:#fafbfc}
.notification-item.is-unread{background:#fffaf0;border-color:rgba(245,158,11,.18)}
.notification-dot{width:8px;height:8px;border-radius:50%;background:#cbd1d9}.notification-item.is-unread .notification-dot{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.1)}
.notification-copy{min-width:0}.notification-copy strong{display:block;font-size:13px}.notification-copy p{margin:4px 0;color:#707a89;font-size:11px;line-height:1.5}.notification-copy small{color:#9aa2ae;font-size:9px}.notification-link{display:inline-flex;align-items:center;gap:6px;color:#9a6500;text-decoration:none;font-size:10px;font-weight:800}.notification-read-form{display:flex;justify-content:flex-end}.account-soft-button{border:0;border-radius:13px;padding:10px 14px;background:#f4f6f8;color:#586171;font-size:10px;font-weight:800;cursor:pointer}.account-empty-state{padding:20px;border:1px dashed rgba(17,19,24,.12);border-radius:16px;color:#7d8795;font-size:11px;text-align:center}
.account-note-tight{margin:6px 0 0!important}.account-sessions-card{min-width:0}.session-list-compact{gap:10px;margin-top:18px}.session-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;border:1px solid rgba(17,19,24,.07);border-radius:18px;background:linear-gradient(180deg,#fff,#fafbfc)}.session-row.is-current{border-color:rgba(34,197,94,.18);background:linear-gradient(180deg,#fbfffc,#f3fbf6)}.session-row.is-revoked{opacity:.78;background:#f8f9fa}.session-device-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#f2f4f7;color:#5e6876;font-size:18px}.session-row.is-current .session-device-icon{background:#eaf8ef;color:#21834b}.session-row-main{min-width:0}.session-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-row-title strong{font:700 13px var(--font-display)}.session-row-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px;color:#8a93a1;font-size:10px}.session-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.session-close-btn{border:1px solid rgba(239,68,68,.15);border-radius:10px;padding:7px 10px;background:#fff;color:#a43b34;font-size:9px;font-weight:800;cursor:pointer}.session-close-btn:hover{background:#fff3f2}.security-history-list{display:grid;gap:0;border-top:1px solid var(--line)}.security-history-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid rgba(17,19,24,.06)}.security-event-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:12px;background:#f1f4f6;color:#75808f;font-size:14px;font-weight:800;line-height:1}.security-event-icon.security-login{background:#eef4ff;color:#456fd6}.security-event-icon.security-danger{background:#fff1f0;color:#d84b42}.security-event-icon.security-password{background:#fff7e8;color:#b97908}.security-event-icon.security-email{background:#f4f2ff;color:#6d57d1}.security-event-icon.security-success{background:#edf9f1;color:#228a52}.security-event-icon.security-session{background:#eef7f7;color:#267b82}.security-event-icon.security-profile{background:#fff5eb;color:#c86d16}.security-event-icon.security-neutral{background:#f1f4f6;color:#75808f}.security-history-item strong{display:block;font-size:12px}.security-history-item small{display:block;margin-top:3px;color:#8992a0;font-size:9px}.security-history-item time{color:#87909e;font-size:9px;white-space:nowrap}
.auth-2fa-intro{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(245,158,11,.16);border-radius:16px;background:#fffaf0}.auth-2fa-intro strong{font-size:13px}.auth-2fa-intro p{margin-top:5px;color:#7a8391;font-size:11px;line-height:1.5}.form-code{font-family:var(--font-display),sans-serif;letter-spacing:.16em;font-size:18px!important;text-align:center}

.admin-maintenance-card{align-items:stretch}.admin-control-copy{min-width:260px}.admin-maintenance-config{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.45fr);gap:10px;flex:1;max-width:720px}.admin-maintenance-config label{display:grid;gap:6px;color:#788291;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-maintenance-config textarea,.admin-maintenance-config input{width:100%;border:1px solid rgba(17,19,24,.09);border-radius:13px;background:#fff;padding:11px 12px;color:#222;font:500 11px var(--font-body);resize:vertical}.admin-maintenance-config textarea{min-height:72px}.admin-maintenance-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:9px}.admin-maintenance-off{margin:0}.maintenance-eta{display:flex;justify-content:center;gap:8px;margin:14px auto 0;color:#80611b;font-size:11px}.maintenance-eta strong{color:#4c4535}
.admin-real-chart{margin:22px 0}.admin-chart-legend{display:flex;gap:13px;color:#808997;font-size:10px}.admin-chart-legend span{display:flex;align-items:center;gap:6px}.admin-chart-legend i{width:9px;height:9px;border-radius:3px;display:block}.legend-new,.bar-new{background:#f7bd4a}.legend-active,.bar-active{background:#17191d}.admin-chart-grid{height:220px;display:grid;grid-template-columns:repeat(14,1fr);gap:8px;align-items:end;margin-top:22px;padding-top:10px}.admin-chart-day{height:100%;display:grid;grid-template-rows:1fr auto;gap:7px;min-width:0}.admin-chart-bars{height:100%;display:flex;gap:3px;align-items:end;justify-content:center;border-bottom:1px solid var(--line)}.admin-chart-bars i{width:35%;max-width:14px;min-height:3px;border-radius:5px 5px 2px 2px}.admin-chart-day small{color:#98a0ad;font-size:8px;text-align:center}
.admin-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.status-warn{background:#fff7e8;color:#9b6600}.status-muted{background:#eef1f4;color:#77808e}.admin-2fa-secret{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;margin-top:16px;padding:14px;border:1px solid rgba(245,158,11,.16);border-radius:16px;background:#fffaf0}.admin-2fa-secret small{grid-column:1/-1;color:#a57212;font-size:8px;font-weight:800;letter-spacing:.12em}.admin-2fa-secret code{min-width:0;overflow-wrap:anywhere;font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}.admin-2fa-secret button{border:0;border-radius:9px;background:#17191d;color:#fff;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.admin-2fa-uri{margin-top:10px;color:#7c8593;font-size:10px}.admin-2fa-uri code{display:block;margin-top:7px;padding:10px;border-radius:10px;background:#f6f7f8;overflow-wrap:anywhere}.admin-inline-security-form{display:flex;gap:9px;align-items:center;margin-top:14px}.admin-inline-security-form .admin-filter-input{flex:1}.admin-rate-list{display:grid;gap:8px;margin-top:12px}.admin-rate-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid rgba(17,19,24,.065);border-radius:13px;background:#fafbfc}.admin-rate-item.is-blocked{border-color:rgba(239,68,68,.16);background:#fff6f5}.admin-rate-item strong{display:block;font-size:11px}.admin-rate-item small{display:block;margin-top:3px;color:#8992a0;font-size:9px}.admin-rate-item form{margin:0}.admin-recovery-codes{margin-bottom:22px;border-color:rgba(245,158,11,.22);background:#fffaf0}.admin-recovery-codes p{color:#716d62;font-size:11px}.recovery-code-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.recovery-code-grid code{padding:10px;border-radius:10px;background:#fff;border:1px solid rgba(17,19,24,.07);text-align:center;font-weight:800}
.admin-system-card{margin:22px 0}.admin-system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.admin-system-grid>div{min-width:0;padding:15px;border:1px solid rgba(17,19,24,.065);border-radius:16px;background:#fafbfc}.admin-system-grid small,.admin-system-grid strong,.admin-system-grid span{display:block}.admin-system-grid small{color:#9aa2af;font-size:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.admin-system-grid strong{margin-top:6px;font:700 13px var(--font-display);overflow-wrap:anywhere}.admin-system-grid span{margin-top:4px;color:#87909e;font-size:9px}.admin-system-grid form{margin-top:8px}.admin-text-button{border:0;background:transparent;padding:0;color:#a16808;font-size:9px;font-weight:800;cursor:pointer;text-decoration:underline}.admin-action-view{text-decoration:none;color:#77540d;border-color:rgba(245,158,11,.18);background:#fffaf0}
.admin-user-detail{margin:22px 0;border-color:rgba(245,158,11,.13)}.admin-user-detail-grid{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:18px;margin-top:12px}.admin-user-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-user-facts>div{min-width:0;padding:11px;border-radius:13px;background:#f7f8fa}.admin-user-facts small,.admin-user-facts strong,.admin-user-facts code{display:block}.admin-user-facts small{color:#9aa2af;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.admin-user-facts strong,.admin-user-facts code{margin-top:4px;font-size:10px;overflow-wrap:anywhere}.admin-user-detail h3{margin-bottom:8px;font-size:13px}.admin-detail-list{display:grid;gap:7px}.admin-detail-list>div{position:relative;padding:10px 88px 10px 11px;border:1px solid rgba(17,19,24,.06);border-radius:12px;background:#fafbfc}.admin-detail-list strong,.admin-detail-list small{display:block}.admin-detail-list strong{font-size:10px}.admin-detail-list small{margin-top:3px;color:#8992a0;font-size:8px}.admin-detail-list .status-badge{position:absolute;right:8px;top:8px}.admin-card-head p{margin-top:5px}

@media(max-width:1050px){.admin-security-grid,.admin-user-detail-grid{grid-template-columns:1fr}.admin-system-grid{grid-template-columns:1fr 1fr}.admin-maintenance-config{grid-template-columns:1fr}.admin-maintenance-actions{grid-column:auto}.recovery-code-grid{grid-template-columns:1fr 1fr}.account-card-wide{grid-column:1/-1}}
@media(max-width:700px){.notification-item{grid-template-columns:9px minmax(0,1fr)}.notification-link{grid-column:2}.session-row{grid-template-columns:40px minmax(0,1fr)}.session-device-icon{width:40px;height:40px}.session-row-actions{grid-column:2;justify-content:flex-start}.security-history-item{grid-template-columns:24px minmax(0,1fr)}.security-history-item time{grid-column:2}.admin-chart-grid{gap:4px;overflow-x:auto;grid-template-columns:repeat(14,minmax(28px,1fr))}.admin-system-grid{grid-template-columns:1fr}.admin-inline-security-form{flex-direction:column;align-items:stretch}.admin-rate-item{align-items:flex-start;flex-direction:column}.admin-maintenance-actions{align-items:stretch;flex-direction:column}.admin-maintenance-actions .maintenance-toggle,.admin-maintenance-off,.admin-maintenance-off button{width:100%}.admin-user-facts{grid-template-columns:1fr}.recovery-code-grid{grid-template-columns:1fr}.account-card-wide{padding:22px}.session-pagination-wrap{padding:10px 0;border:0;background:transparent}.session-pagination-summary{width:auto}.session-pagination{margin-left:auto}}
.admin-maintenance-panel{display:grid;gap:10px;flex:1;max-width:720px}.admin-maintenance-off{display:flex;justify-content:flex-end}.admin-maintenance-off .admin-action-btn{min-height:40px;padding:0 14px}
.admin-real-chart,.admin-security-center,.admin-rate-card,.admin-system-card,.admin-user-detail,.admin-recovery-codes{padding:27px}
.admin-real-chart>.admin-card-head,.admin-security-center>.admin-card-head,.admin-rate-card>.admin-card-head,.admin-system-card>.admin-card-head,.admin-user-detail>.admin-card-head{padding:0 0 20px}
.admin-security-center>.admin-card-head,.admin-rate-card>.admin-card-head{align-items:flex-start}
@media(max-width:700px){.admin-real-chart,.admin-security-center,.admin-rate-card,.admin-system-card,.admin-user-detail,.admin-recovery-codes{padding:20px 18px}}

/* ADMIN / SOPORTE V30 */
.admin-support-head{align-items:flex-start;gap:22px}.support-filter-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.support-filter-tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border:1px solid rgba(17,19,24,.08);border-radius:999px;background:#f8f9fb;color:#6e7785;text-decoration:none;font-size:11px;font-weight:800;transition:.2s ease}.support-filter-tab span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:#929aa7;font-size:9px}.support-filter-tab:hover{color:#111318;border-color:rgba(245,158,11,.2);transform:translateY(-1px)}.support-filter-tab.is-active{background:#111318;border-color:#111318;color:#fff;box-shadow:0 10px 24px rgba(17,19,24,.12)}.support-filter-tab.is-active span{background:rgba(255,255,255,.14);color:#fff}.support-table-wrap{margin-top:8px}.support-row{transition:background .18s ease}.support-row:hover{background:#fffaf2}.support-row.is-pending td:first-child{box-shadow:inset 3px 0 0 #f59e0b}.support-subject-button{display:block;max-width:360px;padding:0;border:0;background:transparent;color:#17191d;text-align:left;font:700 12px var(--font-body),sans-serif;line-height:1.45;cursor:pointer;white-space:normal}.support-subject-button:hover{color:#e67e05}.support-user-link{color:#4f5968;text-decoration:none;font-size:11px;font-weight:700}.support-user-link:hover{color:#f59e0b}.support-status{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:28px;padding:0 10px;border-radius:999px;font-size:9px;font-weight:800}.support-status.is-pending{background:#fff4dd;color:#a75b00}.support-status.is-attended{background:#eaf8f0;color:#217a4a}.support-empty{display:grid;gap:5px;padding:20px 4px}.support-empty strong{font-size:13px}.support-empty span{color:#8b94a1;font-size:11px}
.support-modal{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.support-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.support-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(17,19,24,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:default}.support-modal-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:min(88vh,860px);overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 35px 100px rgba(17,19,24,.27);transform:translateY(14px) scale(.985);transition:transform .25s cubic-bezier(.16,1,.3,1)}.support-modal.is-open .support-modal-dialog{transform:translateY(0) scale(1)}.support-modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92)}.support-modal-header .section-kicker{margin:0 0 5px}.support-modal-header h2{font-size:22px}.support-modal-close{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(17,19,24,.08);border-radius:50%;background:#fff;color:#596271;font-size:25px;line-height:1;cursor:pointer;transition:.2s ease}.support-modal-close:hover{transform:rotate(7deg);background:#fff8e8;color:#111318}.support-modal-body{max-height:calc(min(88vh,860px) - 82px);overflow:auto;padding:26px;scrollbar-width:thin}.support-modal-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.support-modal-topline>div{min-width:0}.support-modal-label{display:block;color:#a0a8b4;font:800 9px var(--font-display);letter-spacing:.13em;text-transform:uppercase}.support-modal-topline strong{display:block;margin-top:6px;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.support-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.support-detail-grid>div{min-width:0;padding:13px 14px;border:1px solid rgba(17,19,24,.06);border-radius:16px;background:#f8f9fb}.support-detail-grid small{display:block;color:#a0a8b4;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.support-detail-grid strong,.support-detail-grid a,.support-detail-grid code{display:block;margin-top:5px;color:#252932;font-size:11px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.support-detail-grid a{color:#c76b00;text-decoration:none;font-weight:700}.support-message-box,.support-last-response{padding:18px 20px;border-radius:20px;border:1px solid rgba(17,19,24,.07);background:#fff}.support-message-box p,.support-last-response p{margin-top:10px;color:#4f5968;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.support-last-response{margin-top:12px;background:#f3fbf6;border-color:rgba(33,122,74,.1)}.support-last-response .support-modal-label{color:#4c8766}.support-last-response .support-modal-label small{margin-left:6px;color:#7f9589;font-size:8px}.support-reply-form{display:grid;gap:10px;margin-top:20px;padding:20px;border:1px solid rgba(245,158,11,.12);border-radius:22px;background:#fffaf2}.support-reply-form>label{color:#363b44;font-size:12px;font-weight:800}.support-reply-form textarea{width:100%;min-height:145px;resize:vertical;padding:15px 16px;border:1px solid rgba(17,19,24,.1);border-radius:16px;background:#fff;color:#17191d;font:500 13px var(--font-body);line-height:1.65;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.support-reply-form textarea:focus{border-color:rgba(245,158,11,.45);box-shadow:0 0 0 4px rgba(245,158,11,.08)}.support-reply-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.support-management-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.support-management-actions form{margin:0}.support-modal-open{overflow:hidden}.support-table td{vertical-align:middle}
@media(max-width:900px){.admin-support-head{flex-direction:column}.support-filter-tabs{justify-content:flex-start}.support-detail-grid{grid-template-columns:1fr 1fr}.support-table{min-width:760px}.support-modal{padding:12px}.support-modal-dialog{max-height:92vh}.support-modal-body{max-height:calc(92vh - 82px)}}
@media(max-width:560px){.support-filter-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.support-filter-tab{justify-content:center;padding:0 9px}.support-modal{padding:0;align-items:end}.support-modal-dialog{width:100%;max-height:94vh;border-radius:26px 26px 0 0}.support-modal-header{padding:17px 18px}.support-modal-body{max-height:calc(94vh - 76px);padding:18px}.support-modal-topline{flex-direction:column}.support-detail-grid{grid-template-columns:1fr}.support-reply-form{padding:16px}.support-reply-actions,.support-management-actions{align-items:stretch;flex-direction:column}.support-reply-actions>*{width:100%;justify-content:center}.support-management-actions form,.support-management-actions button{width:100%}.support-subject-button{max-width:260px}}

/* V35 — Copy comercial y presentación del producto */
.feature-content p{min-height:66px}
.session-step-card>div:last-child p{min-height:60px}
.lives-grid{grid-template-columns:repeat(5,1fr);max-width:430px;margin-inline:auto}
.lives-grid .day b{width:48px;height:48px;border-radius:15px;font-size:20px}
.lives-grid .day span{font-size:8px;letter-spacing:.08em}
.pillar-examples{display:grid;gap:5px;padding:14px 15px;border:1px solid rgba(17,19,24,.06);border-radius:16px;background:rgba(255,255,255,.58)}
.pillar-examples>span{color:#a0a7b1;font:700 8px var(--font-display);letter-spacing:.14em}
.pillar-examples>strong{font:700 12px var(--font-display);line-height:1.45}
.pillar-examples>small{margin:0;color:#949ca8;font-size:9px;line-height:1.45}
.pillar-row:hover .pillar-examples,.pillar-row:focus-visible .pillar-examples,.pillar-row.is-active .pillar-examples{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}
.pillar-row:hover .pillar-examples>strong,.pillar-row:focus-visible .pillar-examples>strong,.pillar-row.is-active .pillar-examples>strong{color:#fff}
@media(max-width:700px){.feature-content p,.session-step-card>div:last-child p{min-height:0}.lives-grid{gap:6px}.lives-grid .day b{width:38px;height:38px;border-radius:12px}.pillar-examples{padding:12px}}


/* V36 — Copy compacto, tarjetas equilibradas y demo más intuitiva */
.hero-title-compact{max-width:760px;font-size:clamp(54px,5.75vw,84px);line-height:.93;letter-spacing:-.055em}
.hero-title-compact .hero-title-line{display:block;white-space:nowrap;margin:0}
.hero-title-compact .hero-title-line:nth-child(3){margin-top:10px}
.hero-title-compact .hero-title-line-dark{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--ink)}
.hero-description strong{color:#343943;font-weight:800}
.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-card,.feature-card-large{min-height:440px}
.feature-content{margin-top:auto}
.feature-content h3{min-height:76px;display:flex;flex-direction:column;justify-content:flex-end}
.feature-content p{min-height:66px}
.session-step-card{display:flex;flex-direction:column}
.session-step-card>div:last-child{margin-top:auto}
.session-step-card>div:last-child h3{min-height:32px}
.session-step-card>div:last-child p{min-height:60px}
.demo-side-intro{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:start;margin:42px 0 26px;padding:16px;border:1px solid rgba(17,19,24,.07);border-radius:18px;background:rgba(255,255,255,.72)}
.demo-side-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#fff0b4,#ffd36b);font-size:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.demo-side-intro strong{display:block;font:700 15px var(--font-display);letter-spacing:-.02em}
.demo-side-intro p{margin-top:5px;color:#7d8694;font-size:10px;line-height:1.55}
.demo-feedback{margin-top:auto}
.demo-result{font-size:clamp(46px,5.2vw,70px)}
.demo-target{position:relative;overflow:hidden;display:grid;place-items:center;min-height:265px;padding:28px;background:radial-gradient(circle at 50% 42%,#21252d 0,#181b21 55%,#15181d 100%);color:#fff;cursor:default}
.demo-target-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;max-width:340px;text-align:center;pointer-events:none}
.demo-target-ring{width:88px;height:88px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.025);box-shadow:0 0 0 14px rgba(255,255,255,.018)}
.demo-target-ring i{width:28px;height:28px;border-radius:50%;background:#343943;box-shadow:0 0 0 8px rgba(255,255,255,.025);transition:.2s ease}
.demo-target-content strong{margin-top:6px;color:#f3f5f8;font:700 16px var(--font-display);letter-spacing:.08em}
.demo-target-content small{max-width:300px;color:#8e96a3;font-size:10px;line-height:1.55}
.demo-target.is-live{cursor:pointer;background:radial-gradient(circle at 50% 42%,#ffbd3d 0,#f59e0b 36%,#f97316 100%);color:#fff;box-shadow:0 0 0 9px rgba(245,158,11,.08),0 25px 60px rgba(245,158,11,.18);transform:scale(.985)}
.demo-target.is-live .demo-target-ring{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.16);box-shadow:0 0 0 18px rgba(255,255,255,.08),0 0 60px rgba(255,255,255,.22)}
.demo-target.is-live .demo-target-ring i{background:#fff;box-shadow:0 0 0 10px rgba(255,255,255,.2);animation:demoPulse .7s ease-in-out infinite alternate}
.demo-target.is-live .demo-target-content strong,.demo-target.is-live .demo-target-content small{color:#fff}
@keyframes demoPulse{from{transform:scale(.92)}to{transform:scale(1.12)}}
.demo-start{cursor:pointer}
@media(max-width:1000px){.feature-grid,.session-steps{grid-template-columns:1fr}.feature-card-large,.session-step-card:last-child{grid-column:auto}.feature-card,.feature-card-large{min-height:330px}.feature-content h3,.feature-content p,.session-step-card>div:last-child h3,.session-step-card>div:last-child p{min-height:0}}
@media(max-width:700px){.hero-title-compact{max-width:100%;font-size:clamp(40px,11.7vw,56px);line-height:.95;letter-spacing:-.05em}.demo-side-intro{margin:28px 0 20px}.demo-target{min-height:240px;padding:22px}.demo-target-ring{width:76px;height:76px}.demo-game-top{align-items:flex-start;flex-direction:column;gap:5px}.demo-start{width:100%;justify-content:center}}


/* V37 — Hero con cuatro líneas estables y más aire para el titular */
@media (min-width:801px) and (max-width:1050px){
    .hero-copy{min-width:0}
    .hero-title-compact{font-size:clamp(52px,6.1vw,68px)}
    .hero-description{max-width:610px}
    .hero-product-stage{margin-right:-22px}
}
@media (min-width:1051px){
    .hero-copy{min-width:0}
    .hero-description{max-width:610px}
}
@media (max-width:430px){
    .hero-title-compact{font-size:clamp(37px,11.1vw,46px)}
}

/* =========================================================
   PANEL DE JUEGO — V38
   ========================================================= */
.dashboard-v38 .dashboard-shell{width:min(1220px,calc(100% - 48px))}
.dashboard-header-v38{display:block;margin-bottom:30px}
.dashboard-welcome{max-width:760px}
.dashboard-welcome h1{font-size:clamp(46px,5vw,68px);line-height:.98;letter-spacing:-.055em}
.dashboard-user-name{color:#f59e0b}.dashboard-wave{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.dashboard-welcome p{max-width:720px;margin-top:15px;color:#707a89;font-size:15px;line-height:1.7}
.dashboard-welcome p strong{color:#111318}
.dashboard-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}
.dashboard-resource-card{display:flex;align-items:center;gap:14px;min-width:0;padding:18px;border:1px solid rgba(17,19,24,.08);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 14px 38px rgba(17,19,24,.045)}
.dashboard-resource-card-lives{position:relative}
.dashboard-life-countdown{position:absolute;top:10px;right:12px;z-index:1;padding:3px 7px;border:1px solid rgba(229,63,86,.12);border-radius:999px;background:rgba(255,245,246,.92);color:#b23b4c;font:700 9px/1.15 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.035em;box-shadow:0 4px 12px rgba(229,63,86,.06);white-space:nowrap}
.dashboard-life-countdown[hidden]{display:none!important}
.resource-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:15px;background:linear-gradient(145deg,#fff9eb,#ffe8b7);font-size:23px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.dashboard-resource-card:nth-child(2) .resource-icon{background:linear-gradient(145deg,#fff4f4,#ffe2e5)}
.dashboard-resource-card:nth-child(3) .resource-icon{background:linear-gradient(145deg,#fff8d8,#ffe681)}
.dashboard-resource-card:nth-child(4) .resource-icon{background:linear-gradient(145deg,#f4f1ff,#e4ddff)}
.dashboard-resource-card div{min-width:0}
.dashboard-resource-card small{display:block;color:#9ca4b0;font:700 8px var(--font-display);letter-spacing:.13em}
.dashboard-resource-card strong{display:block;margin-top:4px;overflow:hidden;color:#17191d;font:700 20px var(--font-display);text-overflow:ellipsis;white-space:nowrap}
.dashboard-resource-card p{margin-top:4px;color:#929aa7;font-size:9px;line-height:1.4}

.daily-challenge-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.62fr);gap:24px;margin-top:26px;padding:32px;border:1px solid rgba(17,19,24,.08);border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,249,237,.92));box-shadow:0 22px 60px rgba(29,23,13,.06);overflow:hidden;position:relative}
.daily-challenge-panel::after{content:"";position:absolute;width:360px;height:360px;right:-150px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(255,186,61,.25),transparent 68%);pointer-events:none}
.daily-challenge-copy{position:relative;z-index:1;padding:10px 0}
.daily-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.daily-badge{display:inline-flex;align-items:center;min-height:29px;padding:0 10px;border:1px solid rgba(17,19,24,.07);border-radius:999px;background:#fff;color:#7d8592;font:700 8px var(--font-display);letter-spacing:.09em}
.daily-badge-orange{border-color:rgba(245,158,11,.18);background:#fff5db;color:#a76500}
.daily-challenge-copy .section-kicker{margin-bottom:10px}
.daily-challenge-copy h2{font-size:clamp(42px,4.7vw,62px);line-height:1;letter-spacing:-.055em}
.daily-challenge-copy>p{max-width:650px;margin-top:17px;color:#737d8b;font-size:14px;line-height:1.72}
.daily-rule-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:26px}
.daily-rule-row span{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(17,19,24,.045);color:#7b8491;font-size:10px;font-weight:700}
.daily-rule-row b{color:#111318;font:700 13px var(--font-display)}
.daily-game-card{position:relative;z-index:1;min-height:330px;display:flex;flex-direction:column;padding:23px;border:1px solid rgba(17,19,24,.08);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(17,19,24,.07)}
.daily-game-card-top{display:flex;justify-content:space-between;gap:12px;color:#a0a7b2;font:700 8px var(--font-display);letter-spacing:.12em}
.daily-game-icon{width:72px;height:72px;margin:31px 0 24px;border-radius:21px}
.daily-game-icon .emoji-3d{font-size:39px}
.daily-game-copy{margin-top:auto}
.daily-game-copy small{color:#a0a7b2;font:700 8px var(--font-display);letter-spacing:.11em}
.daily-game-copy h3{margin-top:7px;font-size:26px;line-height:1.05}
.daily-game-copy p{margin-top:7px;color:#858e9b;font-size:10px}
.daily-game-action{width:100%;min-height:47px;margin-top:20px}
.daily-game-empty{align-items:flex-start;justify-content:center}
.daily-game-empty>span{font-size:42px}
.daily-game-empty h3{margin-top:14px;font-size:24px}
.daily-game-empty p{margin-top:8px;color:#7d8694;font-size:11px;line-height:1.6}

.game-library{margin-top:28px;padding:32px;border:1px solid rgba(17,19,24,.08);border-radius:32px;background:rgba(255,255,255,.88);box-shadow:0 20px 55px rgba(17,19,24,.045)}
.game-library-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.game-library-heading h2{font-size:38px;line-height:1}
.game-library-heading p{max-width:650px;margin-top:11px;color:#798391;font-size:12px;line-height:1.65}
.game-filter-note{display:flex;align-items:center;gap:11px;flex:none;padding:12px 15px;border:1px solid rgba(17,19,24,.07);border-radius:17px;background:#fffaf1}
.game-filter-note>span{font-size:22px}
.game-filter-note small,.game-filter-note strong{display:block}
.game-filter-note small{color:#a0a7b2;font:700 7px var(--font-display);letter-spacing:.12em}
.game-filter-note strong{margin-top:3px;font:700 11px var(--font-display)}
.game-category-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:27px 0 20px}
.game-filter{min-height:38px;padding:0 14px;border:1px solid rgba(17,19,24,.08);border-radius:999px;background:#fff;color:#6f7886;font:700 10px var(--font-display);cursor:pointer;transition:.2s ease}
.game-filter span{margin-right:6px}
.game-filter:hover,.game-filter.is-active{border-color:rgba(245,158,11,.22);background:#fff4d8;color:#9f6400;box-shadow:0 8px 20px rgba(245,158,11,.08)}
.game-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.game-library-card{min-width:0;min-height:255px;display:flex;flex-direction:column;padding:19px;border:1px solid rgba(17,19,24,.075);border-radius:22px;background:#fff;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.game-library-card:hover{transform:translateY(-3px);border-color:rgba(245,158,11,.16);box-shadow:0 16px 34px rgba(17,19,24,.065)}
.game-library-card[hidden]{display:none!important}
.game-library-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.game-library-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:#fff6df;font-size:22px}
.game-cost{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;background:#fff2f3;color:#a94d56;font:700 8px var(--font-display)}
.game-library-copy{margin-top:23px}
.game-library-copy small{color:#b17a17;font:700 7px var(--font-display);letter-spacing:.12em}
.game-library-copy h3{height:44px;margin-top:6px;overflow:hidden;font-size:19px;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.game-library-copy p{height:44px;margin-top:8px;overflow:hidden;color:#838c99;font-size:10px;line-height:1.48;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.game-library-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid rgba(17,19,24,.07);color:#17191d;text-decoration:none;font:700 10px var(--font-display)}
.game-library-link span{color:#f97316;transition:transform .2s ease}
.game-library-link:hover span{transform:translateX(3px)}
.game-library-empty{padding:28px;border:1px dashed rgba(17,19,24,.12);border-radius:20px;color:#8a929f;text-align:center;font-size:11px}

.dashboard-progress-v38{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:34px;padding:34px;margin-top:28px}
.dashboard-progress-v38 .dashboard-progress-copy h2{font-size:40px;line-height:1.03}
.stats-coming-pill{display:inline-flex;align-items:center;gap:9px;margin-top:21px;padding:8px 11px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#9ba2ae;font-size:9px;font-weight:700}
.stats-coming-pill .status-dot{width:6px;height:6px;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
.future-stats-panel{min-width:0}
.future-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:19px;background:#17191f}
.future-stats-grid article{min-height:104px;padding:17px;border-right:1px solid rgba(255,255,255,.07)}
.future-stats-grid article:last-child{border-right:0}
.future-stats-grid small{display:block;color:#6f7784;font:700 7px var(--font-display);letter-spacing:.12em}
.future-stats-grid strong{display:block;margin-top:9px;color:#fff;font:700 25px var(--font-display)}
.future-stats-grid span{display:block;margin-top:4px;color:#737b88;font-size:8px}
.future-chart{margin-top:12px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:19px;background:#17191f}
.future-chart-top{display:flex;justify-content:space-between;gap:12px;color:#747c89;font:700 7px var(--font-display);letter-spacing:.12em}
.future-chart-top small{color:#a36b08}
.future-chart-bars{height:105px;display:flex;align-items:flex-end;gap:8px;margin-top:16px;padding:0 4px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
.future-chart-bars i{flex:1;height:32%;border-radius:6px 6px 2px 2px;background:linear-gradient(to top,rgba(249,115,22,.15),rgba(255,209,102,.18));border:1px solid rgba(255,255,255,.025)}
.future-chart-bars i:nth-child(2){height:47%}.future-chart-bars i:nth-child(3){height:39%}.future-chart-bars i:nth-child(4){height:56%}.future-chart-bars i:nth-child(5){height:44%}.future-chart-bars i:nth-child(6){height:68%}.future-chart-bars i:nth-child(7){height:61%}
.dashboard-account-cta-v38{margin:28px 0 0}
.dashboard-account-cta-v38 .dashboard-account-cta-copy h2{font-size:28px}

@media(max-width:1050px){
    .dashboard-resource-grid{grid-template-columns:1fr 1fr}
    .daily-challenge-panel{grid-template-columns:1fr .72fr}
    .game-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .future-stats-grid{grid-template-columns:1fr 1fr}
    .future-stats-grid article:nth-child(2){border-right:0}
    .future-stats-grid article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.07)}
}
@media(max-width:800px){
    .dashboard-v38 .dashboard-shell{width:min(100% - 30px,620px)}
    .dashboard-header-v38{gap:0;margin-bottom:24px}
    .dashboard-welcome h1{font-size:45px}
    .dashboard-resource-grid{margin-top:23px}
    .daily-challenge-panel{grid-template-columns:1fr;padding:24px}
    .daily-game-card{min-height:300px}
    .game-library{padding:23px}
    .game-library-heading{align-items:flex-start;flex-direction:column;gap:17px}
    .game-filter-note{width:100%}
    .dashboard-progress-v38{grid-template-columns:1fr;padding:26px 22px}
    .dashboard-account-cta-v38{flex-direction:column;align-items:flex-start}
    .dashboard-account-cta-actions{width:100%}
    .dashboard-account-button{width:100%}
}
@media(max-width:520px){
    .dashboard-v38 .dashboard-shell{width:calc(100% - 24px)}
    .dashboard-welcome h1{font-size:40px}
    .dashboard-welcome p{font-size:13px}
    .dashboard-resource-grid{grid-template-columns:1fr 1fr;gap:8px}
    .dashboard-resource-card{align-items:flex-start;flex-direction:column;padding:14px;gap:10px}
    .dashboard-life-countdown{top:9px;right:10px;font-size:8.5px}
    .resource-icon{width:39px;height:39px;flex-basis:39px;border-radius:12px;font-size:20px}
    .dashboard-resource-card strong{font-size:17px}
    .dashboard-resource-card p{font-size:8px}
    .daily-challenge-panel{padding:20px;border-radius:26px}
    .daily-badges{margin-bottom:22px}
    .daily-challenge-copy h2{font-size:40px}
    .daily-challenge-copy>p{font-size:12px}
    .daily-rule-row{gap:6px}
    .daily-rule-row span{font-size:9px;padding:0 9px}
    .game-library{padding:20px;border-radius:26px}
    .game-library-heading h2{font-size:32px}
    .game-category-filters{display:grid;grid-template-columns:1fr 1fr;gap:7px}
    .game-filter:first-child{grid-column:1/-1}
    .game-library-grid{grid-template-columns:1fr}
    .game-library-card{min-height:238px}
    .future-stats-grid article{min-height:95px;padding:14px}
    .future-stats-grid strong{font-size:22px}
    .future-chart-bars{height:90px}
}


/* ===== V39 · Cuenta compacta + tienda MC ===== */
.account-list-card-top{align-items:flex-start}.account-list-intro{max-width:610px;margin-top:8px;color:#818a98;font-size:10px;line-height:1.55}.account-list-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.account-list-head-actions form{margin:0}.account-clean-button{min-height:34px;padding:0 12px;border:1px solid rgba(180,35,24,.12);border-radius:11px;background:#fff;color:#9d3c35;font:800 9px var(--font-body);cursor:pointer;transition:background .2s ease,border-color .2s ease}.account-clean-button:hover{background:#fff4f2;border-color:rgba(180,35,24,.2)}
.notification-list-compact{grid-template-columns:repeat(auto-fit,minmax(280px,360px));justify-content:space-between;gap:12px}.notification-list-compact .notification-item{width:100%;min-height:98px;grid-template-columns:9px minmax(0,1fr) auto;align-items:start;padding:14px}.notification-list-compact .notification-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:33px}.notification-list-compact .notification-link{align-self:center}.notification-empty-wide{grid-column:1/-1}.account-list-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;flex-wrap:wrap}.account-list-footer .notification-read-form{margin:0 0 0 auto}.account-compact-pagination{margin-top:0!important;flex:1;min-width:260px}.account-security-history .account-compact-pagination{margin-top:14px!important}.account-page-counter{width:auto!important;min-width:54px;padding:0 10px!important;pointer-events:none}
.dashboard-resource-link{text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.dashboard-resource-link:hover{transform:translateY(-2px);border-color:rgba(245,158,11,.18);box-shadow:0 18px 42px rgba(17,19,24,.07)}
.dashboard-shop-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding:24px 26px;border:1px solid rgba(245,158,11,.16);border-radius:28px;background:linear-gradient(120deg,#fffaf0,#fff 65%);box-shadow:0 18px 50px rgba(17,19,24,.04)}.dashboard-shop-copy{display:flex;align-items:center;gap:18px;min-width:0}.dashboard-shop-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;border-radius:18px;background:linear-gradient(145deg,#fff0c5,#ffd970);font-size:28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.dashboard-shop-copy .section-kicker{display:block;margin-bottom:8px}.dashboard-shop-copy h2{font-size:27px;line-height:1.05}.dashboard-shop-copy p{max-width:630px;margin-top:7px;color:#7e8794;font-size:11px;line-height:1.55}.dashboard-shop-button{flex:none;min-height:46px;padding:0 20px;font-size:12px}
.shop-page{padding:145px 0 90px}.shop-shell{display:grid;gap:28px}.shop-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);gap:32px;align-items:stretch}.shop-hero-copy,.shop-wallet,.shop-catalog,.shop-how{border:1px solid rgba(17,19,24,.08);box-shadow:0 22px 60px rgba(17,19,24,.045)}.shop-hero-copy{padding:42px;border-radius:34px;background:rgba(255,255,255,.91)}.shop-hero-copy h1{font-size:clamp(52px,5.4vw,78px);line-height:.94;letter-spacing:-.055em}.shop-hero-copy h1 span{background:linear-gradient(110deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.shop-hero-copy>p{max-width:690px;margin-top:20px;color:#727d8d;font-size:14px;line-height:1.75}.shop-status-pill{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:10px 13px;border:1px solid rgba(34,197,94,.12);border-radius:999px;background:#fbfffc;color:#637064;font-size:9px;font-weight:800}
.shop-wallet{display:flex;flex-direction:column;justify-content:center;padding:32px;border-radius:34px;background:linear-gradient(145deg,#17191d,#242832);color:#fff}.shop-wallet-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:28px;border-radius:18px;background:rgba(255,255,255,.09);font-size:30px}.shop-wallet small{color:#9ea7b5;font:700 8px var(--font-display);letter-spacing:.14em}.shop-wallet strong{display:block;margin-top:7px;font:700 38px var(--font-display)}.shop-wallet p{margin-top:10px;color:#aeb5c0;font-size:10px;line-height:1.55}.shop-back-link{margin-top:28px;color:#fff;text-decoration:none;font-size:10px;font-weight:800;opacity:.8}.shop-back-link:hover{opacity:1}
.shop-catalog{padding:32px;border-radius:34px;background:rgba(255,255,255,.9)}.shop-catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px}.shop-catalog-head h2{font-size:38px;line-height:1}.shop-catalog-head p{max-width:620px;margin-top:9px;color:#7e8795;font-size:11px;line-height:1.6}.shop-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.shop-filter{min-height:38px;padding:0 13px;border:1px solid rgba(17,19,24,.08);border-radius:999px;background:#fff;color:#717a88;font-size:9px;font-weight:800;cursor:pointer}.shop-filter.is-active{border-color:#17191d;background:#17191d;color:#fff}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shop-product{display:flex;flex-direction:column;min-width:0;min-height:290px;padding:20px;border:1px solid rgba(17,19,24,.075);border-radius:24px;background:#fff;transition:transform .22s ease,box-shadow .22s ease}.shop-product:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(17,19,24,.065)}.shop-product[hidden]{display:none!important}.shop-product-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-product-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#fff5db;font-size:24px}.shop-product-tag{padding:7px 9px;border-radius:999px;background:#f4f6f8;color:#727b88;font:700 8px var(--font-display);letter-spacing:.08em}.shop-product-copy{margin-top:24px}.shop-product-copy small{color:#a56c07;font:700 7px var(--font-display);letter-spacing:.13em}.shop-product-copy h3{margin-top:6px;font-size:20px}.shop-product-copy p{min-height:50px;margin-top:8px;color:#818a97;font-size:10px;line-height:1.55}.shop-product-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(17,19,24,.07)}.shop-product-footer small,.shop-product-footer strong{display:block}.shop-product-footer small{color:#a0a7b1;font-size:7px;font-weight:800;letter-spacing:.1em}.shop-product-footer strong{margin-top:3px;font-size:11px}.shop-product-footer button{min-height:36px;padding:0 12px;border:0;border-radius:11px;background:#eef1f4;color:#9aa2ae;font-size:8px;font-weight:800;cursor:not-allowed}.shop-empty{padding:30px;border:1px dashed rgba(17,19,24,.12);border-radius:20px;color:#858e9b;text-align:center;font-size:11px}
.shop-how{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:28px;background:#17191d;color:#fff}.shop-how>div{padding:25px 27px;border-right:1px solid rgba(255,255,255,.08)}.shop-how>div:last-child{border-right:0}.shop-step{display:block;color:#f6a91b;font:700 9px var(--font-display);letter-spacing:.12em}.shop-how strong{display:block;margin-top:12px;font:700 18px var(--font-display)}.shop-how p{margin-top:7px;color:#aab1bc;font-size:10px;line-height:1.55}
@media(max-width:950px){.notification-list-compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-content:stretch}.shop-hero{grid-template-columns:1fr}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-catalog-head{align-items:flex-start;flex-direction:column}.shop-filters{justify-content:flex-start}.dashboard-shop-cta{align-items:flex-start;flex-direction:column}.dashboard-shop-button{width:100%}}
@media(max-width:700px){.account-list-card-top{gap:14px}.account-list-head-actions{justify-content:flex-start}.account-list-footer{align-items:stretch;flex-direction:column}.account-list-footer .notification-read-form{margin:0}.account-list-footer .notification-read-form button{width:100%}.account-compact-pagination{min-width:0;width:100%}.shop-page{padding-top:115px}.shop-hero-copy{padding:26px}.shop-wallet{padding:26px}.shop-catalog{padding:22px}.shop-grid{grid-template-columns:1fr}.shop-how{grid-template-columns:1fr}.shop-how>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.shop-how>div:last-child{border-bottom:0}.dashboard-shop-copy{align-items:flex-start}.dashboard-shop-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px;font-size:23px}}
@media(max-width:480px){.shop-hero-copy h1{font-size:48px}.shop-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.shop-filter:first-child{grid-column:1/-1}.dashboard-shop-copy{display:grid;grid-template-columns:48px minmax(0,1fr)}.dashboard-shop-copy .section-kicker{margin-bottom:6px}.dashboard-shop-copy h2{font-size:23px}.dashboard-shop-copy p{grid-column:1/-1;margin-top:10px}}

/* V40 · Tienda funcional y vistas de cuenta acotadas */
.shop-product-copy h3{min-height:24px}
.shop-stock{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:6px 9px;border-radius:999px;background:#f7f8fa;color:#7a8390;font-size:8px;font-weight:700}
.shop-stock strong{color:#111318}
.shop-buy-form{margin:0}
.shop-product-footer button{min-width:88px;background:linear-gradient(135deg,#ffbd43,#f97316);color:#fff;cursor:pointer;box-shadow:0 8px 18px rgba(249,115,22,.16);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.shop-product-footer button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 22px rgba(249,115,22,.23)}
.shop-product-footer button:disabled{background:#eef1f4;color:#9aa2ae;box-shadow:none;cursor:not-allowed;opacity:1}
.notification-list-compact .notification-item{min-height:108px}
.account-security-history .security-history-list{margin-top:8px}

/* V41 — perfil y auditoría previa a juegos */
.account-username-form{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}
.account-username-form>label{display:block;margin-bottom:8px;color:#8f97a4;font:700 9px var(--font-display);letter-spacing:.09em;text-transform:uppercase}
.account-username-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding-left:13px;border:1px solid rgba(17,19,24,.08);border-radius:14px;background:#fff}
.account-username-control>span{color:#f59e0b;font:700 14px var(--font-display)}
.account-username-control .form-input{min-width:0;border:0!important;box-shadow:none!important;padding-left:0}
.account-username-control button{min-height:36px;margin-right:5px;padding:0 12px;border:0;border-radius:10px;background:#17191d;color:#fff;font:700 10px var(--font-display);cursor:pointer}
.account-username-form>small{display:block;margin-top:7px;color:#9aa1ac;font-size:9px}
@media(max-width:520px){.account-username-control{grid-template-columns:auto minmax(0,1fr)}.account-username-control button{grid-column:1/-1;width:calc(100% + 13px);margin:0 0 5px -13px;border-radius:10px}}

/* =========================================================
   ADMIN — ECONOMÍA Y CATÁLOGO V43
   ========================================================= */
.admin-catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}
.admin-catalog-card{min-width:0}
.admin-catalog-list,.admin-game-admin-list{display:grid;gap:12px;margin-top:20px}
.admin-catalog-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px auto auto;gap:12px;align-items:center;padding:14px;border:1px solid rgba(17,19,24,.07);border-radius:18px;background:rgba(255,255,255,.7)}
.admin-catalog-identity{display:flex;align-items:center;gap:12px;min-width:0}
.admin-catalog-identity>div{min-width:0}
.admin-catalog-identity strong,.admin-catalog-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-catalog-identity small{margin-top:3px;color:#929aa7;font-size:9px}
.admin-catalog-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:12px;background:#fff6df;font-size:20px}
.admin-catalog-field span,.admin-game-admin-fields label span{display:block;margin-bottom:5px;color:#9aa2ad;font:700 8px var(--font-display);letter-spacing:.09em;text-transform:uppercase}
.admin-catalog-field .admin-filter-input{width:100%}
.admin-catalog-toggle{display:inline-flex;align-items:center;gap:7px;color:#646d7b;font-size:10px;font-weight:700;white-space:nowrap}
.admin-catalog-toggle input{width:16px;height:16px;accent-color:#f59e0b}
.admin-game-admin-row{display:grid;gap:12px;padding:15px;border:1px solid rgba(17,19,24,.07);border-radius:18px;background:rgba(255,255,255,.7)}
.admin-game-admin-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center}
.admin-game-icon-input{width:44px;height:44px;border:1px solid rgba(17,19,24,.08);border-radius:13px;background:#fff8e8;text-align:center;font-size:20px}
.admin-game-name-input{width:100%;border:0;background:transparent;color:#17191d;font:700 14px var(--font-display);outline:none}
.admin-game-admin-head small{display:block;margin-top:2px;color:#9ba3af;font-size:8px}
.admin-game-desc-input{width:100%}
.admin-game-admin-fields{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr;gap:10px}
.admin-game-admin-fields .admin-filter-input{width:100%}
.admin-game-admin-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:1050px){.admin-catalog-grid{grid-template-columns:1fr}.admin-catalog-row{grid-template-columns:minmax(0,1fr) 120px auto auto}}
@media(max-width:700px){.admin-catalog-row{grid-template-columns:1fr}.admin-catalog-row .admin-action-btn{width:100%;justify-content:center}.admin-game-admin-fields{grid-template-columns:1fr}.admin-game-admin-actions{align-items:stretch;flex-direction:column}.admin-game-admin-actions .admin-action-btn{width:100%;justify-content:center}}


/* =========================================================
   V45 · Notificaciones compactas + invitaciones
   ========================================================= */
.account-notifications{padding-bottom:24px}
.account-notifications .account-card-top{margin-bottom:10px}
.account-notifications .account-list-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.account-notifications .account-list-head-actions form{margin:0}
.notification-list-compact{width:100%;max-width:none;margin:14px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.notification-list-compact .notification-item{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;width:100%;min-height:0;padding:11px 12px;border-radius:13px;align-items:center;box-shadow:none}
.notification-list-compact .notification-dot{margin-top:4px}
.notification-list-compact .notification-copy strong{font-size:12px;line-height:1.25}
.notification-list-compact .notification-copy p{display:-webkit-box;min-height:0;margin:2px 0 4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;color:#77808e;font-size:9.5px;line-height:1.4}
.notification-meta{display:flex;align-items:center;gap:10px;min-width:0}
.notification-meta small{color:#a0a7b2;font-size:8.5px}
.notification-meta .notification-link{margin-left:auto;align-self:auto;font-size:9px}
.notification-empty-wide{max-width:none}

.account-fixed-username{display:flex;align-items:center;gap:11px;margin-top:18px;padding:13px 14px;border-top:1px solid var(--line);background:#fafbfc;border-radius:14px}
.account-fixed-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:11px;background:#fff3dc;color:#c87308;font:800 15px var(--font-display)}
.account-fixed-username strong{display:block;font:700 12px var(--font-display)}
.account-fixed-username small{display:block;margin-top:3px;color:#8a93a0;font-size:9px;line-height:1.45}
.form-label-optional{margin-left:5px;color:#9ba3ae;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

.security-history-item{grid-template-columns:38px minmax(0,1fr) auto;gap:12px;padding:12px 0}
.security-event-icon{width:34px;height:34px;border-radius:11px;font-size:13px;box-shadow:inset 0 0 0 1px rgba(17,19,24,.035)}

.dashboard-invite-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:28px;padding:23px 25px;border:1px solid rgba(17,19,24,.08);border-radius:28px;background:linear-gradient(120deg,#fff,#fff9ed);box-shadow:0 18px 50px rgba(17,19,24,.04)}
.dashboard-invite-copy{display:flex;align-items:center;gap:17px;min-width:0}
.dashboard-invite-icon{width:54px;height:54px;display:grid;place-items:center;flex:0 0 54px;border-radius:17px;background:linear-gradient(145deg,#17191d,#2a2e36);color:#fff;font:700 22px var(--font-display);box-shadow:0 12px 25px rgba(17,19,24,.13)}
.dashboard-invite-copy .section-kicker{display:block;margin-bottom:7px}
.dashboard-invite-copy h2{font-size:27px;line-height:1.05}
.dashboard-invite-copy p{max-width:650px;margin-top:7px;color:#7c8592;font-size:11px;line-height:1.55}
.dashboard-invite-tools{display:grid;grid-template-columns:auto auto;gap:8px;align-items:center;justify-items:stretch;min-width:330px}
.invite-code-box{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid rgba(17,19,24,.07);border-radius:13px;background:#fff}
.invite-code-box small{color:#9aa2ae;font:700 7px var(--font-display);letter-spacing:.12em}
.invite-code-box strong{font:700 13px var(--font-display);letter-spacing:.08em}
.invite-copy-btn{min-height:36px;padding:0 12px;border:1px solid rgba(17,19,24,.08);border-radius:11px;background:#f5f6f8;color:#4f5967;font:700 9px var(--font-display);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.invite-copy-btn:hover{transform:translateY(-1px);background:#17191d;color:#fff}
.invite-copy-btn.is-copied{background:#edf9f1;color:#24794b;border-color:rgba(34,197,94,.18)}
.invite-total{grid-column:1/-1;color:#959da8;font-size:8.5px;text-align:right}

@media(max-width:900px){
    .dashboard-invite-cta{grid-template-columns:1fr;align-items:start}
    .dashboard-invite-tools{min-width:0;width:100%;max-width:430px}
}
@media(max-width:700px){
    .account-notifications .account-list-head-actions{justify-content:flex-start}
    .notification-list-compact{max-width:none;grid-template-columns:1fr;gap:7px}
    .notification-list-compact .notification-item{grid-template-columns:7px minmax(0,1fr);padding:10px 11px;border-radius:12px}
    .notification-list-compact .notification-copy p{-webkit-line-clamp:1;margin-bottom:4px}
    .security-history-item{grid-template-columns:38px minmax(0,1fr)}
    .security-history-item time{grid-column:2}
    .dashboard-invite-cta{padding:20px}
    .dashboard-invite-copy{align-items:flex-start}
    .dashboard-invite-icon{width:46px;height:46px;flex-basis:46px;border-radius:14px;font-size:19px}
}
@media(max-width:480px){
    .account-notifications{padding:20px}
    .account-notifications .account-list-head-actions{gap:7px}
    .account-notifications .account-inline-note,.account-notifications .account-soft-button,.account-notifications .account-clean-button{min-height:34px;padding:0 11px;font-size:9px}
    .notification-list-compact .notification-item{min-height:0;padding:10px 11px}
    .notification-list-compact .notification-copy strong{font-size:11px}
    .notification-list-compact .notification-copy p{font-size:9.5px}
    .dashboard-invite-copy{display:grid;grid-template-columns:46px minmax(0,1fr)}
    .dashboard-invite-copy p{grid-column:1/-1;margin-top:3px}
    .dashboard-invite-tools{grid-template-columns:1fr 1fr}
    .invite-code-box{grid-column:1/-1}
}

/* V46 · paginación administrativa y cierre visual de cuenta */
.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(17,19,24,.06)}
.admin-pagination span{color:#7f8896;font-size:9px;font-weight:700}
.admin-page-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(17,19,24,.08);border-radius:11px;background:#fff;color:#222;text-decoration:none;font:700 13px var(--font-display);transition:transform .18s ease,background .18s ease}
.admin-page-btn:hover{transform:translateY(-1px);background:#fff8ec}
.admin-page-btn.is-disabled{pointer-events:none;opacity:.35}
@media(max-width:700px){.admin-pagination{justify-content:center}.notification-list-compact .notification-item{min-height:0}}

/* V47 · Juegos reales */
.daily-play-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:auto;min-height:44px;padding:0 16px;border-radius:14px;background:linear-gradient(135deg,#ffbd43,#f97316);color:#fff;text-decoration:none;font:700 11px var(--font-display);box-shadow:0 10px 24px rgba(249,115,22,.18)}
.daily-play-button span{transition:transform .2s ease}.daily-play-button:hover span{transform:translateX(3px)}
.game-library-reward{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 12px}.game-library-reward span{display:inline-flex;min-height:26px;align-items:center;padding:0 9px;border-radius:999px;background:#f5f6f8;color:#737d8a;font:700 8px var(--font-display)}
.game-library-play{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid rgba(17,19,24,.07);color:#17191d;text-decoration:none;font:700 10px var(--font-display)}.game-library-play span{color:#f97316;transition:transform .2s ease}.game-library-play:hover span{transform:translateX(3px)}


/* V51 · catálogo clickable + economía por nivel */
.game-library-card-link{color:inherit;text-decoration:none;cursor:pointer;position:relative}
.game-library-card-link:focus-visible{outline:3px solid rgba(245,158,11,.35);outline-offset:3px}
.game-library-card-link .game-library-play{min-height:44px;margin-top:auto;padding:0 14px;border:0;border-radius:13px;background:linear-gradient(135deg,#ffbd43,#f97316);color:#fff;font-size:11px;box-shadow:0 9px 20px rgba(249,115,22,.16)}
.game-library-card-link .game-library-play span{color:#fff}
.game-library-card-link:hover .game-library-play{box-shadow:0 12px 26px rgba(249,115,22,.24)}
.game-library-card-link:hover .game-library-play span{transform:translateX(4px)}
.game-library-card-link:hover{border-color:rgba(245,158,11,.28);box-shadow:0 18px 40px rgba(17,19,24,.08)}
.shop-level-next{margin-top:9px!important;color:#8a7b61!important;font-size:10px!important}
.shop-price-block{position:relative;display:flex!important;align-items:baseline;gap:7px;flex-wrap:wrap}
.shop-price-block>small{flex-basis:100%}
.shop-price-old{color:#a2a9b3;font-size:9px;text-decoration:line-through}
.shop-price-block em{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#edf9f1;color:#287c4c;font:700 8px var(--font-display);font-style:normal}
@media(max-width:700px){.game-library-card-link .game-library-play{min-height:46px;font-size:11px}}

.shop-level-benefits{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:24px;align-items:center;padding:24px 28px;border:1px solid rgba(17,19,24,.08);border-radius:28px;background:linear-gradient(120deg,#17191d,#252932);color:#fff;box-shadow:0 18px 50px rgba(17,19,24,.07)}
.shop-level-benefits h2{font-size:28px;line-height:1.05}.shop-level-benefits p{margin-top:8px;color:#adb4bf;font-size:11px;line-height:1.55}.shop-level-tier-list{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:8px}.shop-level-tier{display:grid;gap:4px;padding:12px 10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045);text-align:center}.shop-level-tier small{color:#929ba8;font:700 7px var(--font-display);letter-spacing:.09em}.shop-level-tier strong{font:700 16px var(--font-display);color:#d7dce3}.shop-level-tier.is-unlocked{border-color:rgba(245,158,11,.3);background:rgba(245,158,11,.1)}.shop-level-tier.is-unlocked small{color:#f7c76e}.shop-level-tier.is-unlocked strong{color:#ffbd43}
@media(max-width:1000px){.shop-level-benefits{grid-template-columns:1fr}.shop-level-tier-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.shop-level-benefits{padding:20px}.shop-level-tier-list{grid-template-columns:repeat(2,1fr)}}

/* V53 · Tienda más legible + partida activa */
.shop-catalog-head p{font-size:12.5px;line-height:1.65}
.shop-filter{min-height:42px;padding:0 16px;font-size:10px}
.shop-product{min-height:320px;padding:24px}
.shop-product-tag{padding:8px 10px;font-size:9px}
.shop-product-copy{margin-top:26px}
.shop-product-copy>small{font-size:8.5px}
.shop-product-copy h3{margin-top:7px;font-size:24px;line-height:1.08}
.shop-product-copy p{min-height:58px;margin-top:10px;font-size:12px;line-height:1.62}
.shop-stock{margin-top:18px;margin-bottom:16px;padding:8px 11px;font-size:9.5px}
.shop-product-footer{padding-top:20px}
.shop-product-footer small{font-size:8px}
.shop-product-footer strong{font-size:14px}
.shop-product-footer button{min-width:112px;min-height:44px;padding:0 16px;border-radius:13px;font-size:10px}
.shop-price-old{font-size:10px}
.shop-price-block em{font-size:8.5px}

.dashboard-active-game{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:4px 0 24px;padding:20px 22px;border:1px solid rgba(245,158,11,.22);border-radius:24px;background:linear-gradient(120deg,#fff8e8,#fff);box-shadow:0 16px 38px rgba(245,158,11,.08)}
.dashboard-active-game-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#fff0c4;font-size:25px}
.dashboard-active-game h2{margin-top:4px;font-size:24px;line-height:1.08}
.dashboard-active-game p{margin-top:6px;color:#747e8c;font-size:11px;line-height:1.55}
.dashboard-active-game .btn-volumetrico{white-space:nowrap}
@media(max-width:760px){
    .dashboard-active-game{grid-template-columns:auto minmax(0,1fr)}
    .dashboard-active-game .btn-volumetrico{grid-column:1/-1;width:100%}
    .shop-product{min-height:0;padding:20px}
    .shop-product-copy h3{font-size:22px}
    .shop-product-copy p{min-height:0;font-size:11.5px}
    .shop-product-footer button{min-height:46px;font-size:10.5px}
}

/* V56 · auditoría integral */
.admin-game-global-stats{display:block;margin-top:5px!important;color:#8a93a0!important;font-size:8.5px!important;line-height:1.45}

/* V57 · Home real, ticker estable, check semanal y ampliación de vidas */
.ticker-track{will-change:transform}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none!important;transform:none!important}}

.hero-memory-game,.hero-sudoku-game,.hero-flash-game{box-sizing:border-box;width:min(300px,90%);aspect-ratio:1;margin:21px auto 15px}
.hero-memory-game{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;border:1px solid rgba(17,19,24,.06);border-radius:18px;background:linear-gradient(145deg,#fff,#fffaf0)}
.hero-memory-game span{aspect-ratio:1;border:1px solid rgba(17,19,24,.065);border-radius:10px;background:#fff;box-shadow:0 7px 16px rgba(17,19,24,.035)}
.hero-memory-game span.is-lit{background:linear-gradient(145deg,#ffbd43,#f97316);border-color:transparent;box-shadow:0 9px 20px rgba(249,115,22,.18);transform:scale(.96)}
.hero-sudoku-game{display:grid;grid-template-columns:repeat(9,1fr);overflow:hidden;border:2px solid #1b1e24;border-radius:12px;background:#1b1e24;gap:1px}
.hero-sudoku-game span{display:grid;place-items:center;min-width:0;background:#fff;color:#20242b;font:700 9px var(--font-display)}
.hero-sudoku-game span:nth-child(3n){box-shadow:inset -1px 0 #b8bec7}.hero-sudoku-game span:nth-child(9n){box-shadow:none}
.hero-sudoku-game span:nth-child(n+19):nth-child(-n+27),.hero-sudoku-game span:nth-child(n+46):nth-child(-n+54){border-bottom:1px solid #868e99}
.hero-sudoku-game span.is-user{background:#fff1d5;color:#f59e0b;font-size:12px}
.hero-flash-game{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;padding:24px;border:1px solid rgba(17,19,24,.06);border-radius:18px;background:radial-gradient(circle at 28% 48%,rgba(245,158,11,.12),transparent 30%),linear-gradient(145deg,#fff,#fbfaf7);overflow:hidden}
.hero-flash-target{width:72px;height:72px;display:grid;place-items:center;margin-left:28px;border-radius:50%;background:linear-gradient(145deg,#ffbd43,#f97316);font-size:32px;box-shadow:0 0 0 14px rgba(245,158,11,.07),0 18px 35px rgba(249,115,22,.18);animation:speedPulse 2.4s ease-out infinite}
.hero-flash-copy{display:grid;justify-items:end}.hero-flash-copy small{color:#9aa2ae;font:700 8px var(--font-display);letter-spacing:.13em}.hero-flash-copy strong{margin-top:6px;font:700 27px var(--font-display)}.hero-flash-copy span{margin-top:2px;color:#8a929e;font:700 7px var(--font-display);letter-spacing:.12em}
.hero-float-mc{top:31%;left:-3%;animation-name:heroFloatBottom;animation-duration:6.1s;animation-delay:-1.7s}
.hero-float-lives{right:-2%;bottom:31%;animation-name:heroFloatTop;animation-duration:6.6s;animation-delay:-3.4s}
@media(max-width:800px){.hero-float-mc{top:28%;left:-2px}.hero-float-lives{right:-2px;bottom:28%}.hero-memory-game,.hero-sudoku-game,.hero-flash-game{width:min(270px,88%)}}
@media(max-width:520px){.hero-float-mc,.hero-float-lives{display:none}.hero-memory-game,.hero-sudoku-game,.hero-flash-game{width:min(235px,92%);margin-top:18px}.hero-memory-game{gap:6px;padding:9px}.hero-sudoku-game span{font-size:7px}.hero-flash-game{padding:16px}.hero-flash-target{width:58px;height:58px;margin-left:10px;font-size:26px}.hero-flash-copy strong{font-size:21px}.memory-footer{gap:10px;font-size:9px}}

.weekly-check-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:28px;align-items:center;margin:24px 0;padding:28px 30px;border:1px solid rgba(245,158,11,.18);border-radius:30px;background:linear-gradient(120deg,#17191d 0%,#242832 56%,#2b261d 100%);color:#fff;box-shadow:0 22px 55px rgba(17,19,24,.08)}
.weekly-check-copy h2{margin-top:9px;font-size:31px;line-height:1.05}.weekly-check-copy h2 span{color:#ffbd43}.weekly-check-copy>p{max-width:680px;margin-top:10px;color:#adb4bf;font-size:11px;line-height:1.65}.weekly-check-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.weekly-check-meta span{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.055);color:#aeb6c1;font-size:9px}.weekly-check-meta strong{color:#fff}
.weekly-check-side{display:grid;gap:14px}.weekly-check-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekly-day{min-width:0;min-height:70px;display:grid;place-items:center;align-content:center;gap:5px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.045);color:#7f8895}.weekly-day small{font:700 7px var(--font-display);letter-spacing:.08em}.weekly-day b{font:700 20px var(--font-display)}.weekly-day.is-done{border-color:rgba(245,158,11,.35);background:linear-gradient(145deg,rgba(245,158,11,.24),rgba(249,115,22,.08));color:#ffbd43;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.weekly-claim-form{margin:0}.weekly-claim-form .btn-volumetrico{width:100%;min-height:48px}.weekly-next-copy{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.055);color:#aab2bd;font-size:10px;text-align:center}
@media(max-width:900px){.weekly-check-card{grid-template-columns:1fr}.weekly-check-side{max-width:620px}}
@media(max-width:560px){.weekly-check-card{padding:21px 18px;border-radius:24px}.weekly-check-copy h2{font-size:26px}.weekly-check-days{gap:4px}.weekly-day{min-height:56px;border-radius:12px}.weekly-day b{font-size:17px}.weekly-check-meta{display:grid;grid-template-columns:1fr 1fr}.weekly-check-meta span{justify-content:center;text-align:center;padding:6px 8px}}

.shop-life-upgrade-status{background:#fff7e8;color:#8b671e;border:1px solid rgba(245,158,11,.12)}


/* HOME V63 — ORDEN EDITORIAL Y BLOQUE PROGRESO/VIDAS FUSIONADO */
.hero-subclaim{max-width:570px;margin:23px 0 -13px;color:var(--ink);font:700 20px var(--font-display);letter-spacing:-.025em}
.progress-lives-merge{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center;margin-top:24px;padding:42px;border-radius:32px;background:var(--dark);color:#fff;overflow:hidden;box-shadow:0 30px 80px rgba(17,19,24,.16)}
.progress-lives-merge::before{content:"";position:absolute;width:520px;height:520px;right:-190px;top:50%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.21),transparent 68%);filter:blur(22px);pointer-events:none}
.progress-lives-copy{position:relative;z-index:1}
.progress-lives-copy h3{margin:15px 0 18px;font:700 clamp(32px,3.7vw,50px)/.98 var(--font-display);letter-spacing:-.055em}
.progress-lives-copy h3 span{display:block;margin-top:7px;background:linear-gradient(110deg,#ffd166,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}
.progress-lives-copy p{max-width:560px;margin:0 0 27px;color:#959ca8;font-size:13px;line-height:1.72}
.progress-lives-merge .streak-panel{position:relative;z-index:1;margin:0}
.home-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px;padding:38px 0 0;border-top:1px solid var(--line)}
.home-stats-grid .stat{padding:0 30px;border-right:1px solid var(--line);text-align:center}
.home-stats-grid .stat:first-child{padding-left:0}
.home-stats-grid .stat:last-child{padding-right:0;border-right:0}
.home-stats-grid .stat strong{display:block;font:700 43px var(--font-display);letter-spacing:-.07em}
.home-stats-grid .stat>span{display:block;margin-top:4px;color:#8a93a1;font-size:10px}

@media(max-width:800px){
    .hero-subclaim{max-width:520px;margin:17px auto -9px;font-size:17px}
    .progress-lives-merge{grid-template-columns:1fr;gap:28px;padding:28px 20px;margin-top:18px}
    .progress-lives-copy{text-align:center}
    .progress-lives-copy p{margin-left:auto;margin-right:auto}
    .progress-lives-copy .btn-light{margin-inline:auto}
    .home-stats-grid{grid-template-columns:1fr 1fr;gap:28px 0;padding-top:30px}
    .home-stats-grid .stat{padding:0 18px}
    .home-stats-grid .stat:nth-child(2){border-right:0}
    .home-stats-grid .stat:nth-child(3),.home-stats-grid .stat:nth-child(4){padding-top:25px;border-top:1px solid var(--line)}
    .home-stats-grid .stat:nth-child(3){padding-left:0}
    .home-stats-grid .stat:nth-child(4){padding-right:0;border-right:0}
}
@media(max-width:380px){.hero-subclaim{font-size:16px}.progress-lives-copy h3{font-size:31px}.home-stats-grid .stat strong{font-size:36px}}


/* HOME V64 — Ritmo visual, tarjetas unificadas y CTA premium */
.pillars-section,.intro-section,.progress-section,.demo-section{
    position:relative;
    isolation:isolate;
}
.pillars-section::after,.intro-section::after,.progress-section::after,.demo-section::after{
    content:"";
    position:absolute;
    z-index:-2;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    pointer-events:none;
}
.pillars-section::after{background:#fffdf8}
.demo-section::after{background:#f5f7f9}
.intro-section::after{background:#fff8ea}
.progress-section::after{background:#f4f6f8}

.feature-card,.feature-card-large{
    background:rgba(255,255,255,.94);
}
.feature-content p{
    min-height:88px;
}

.pillar-examples>span{
    white-space:nowrap;
}

.final-cta{
    min-height:0;
    margin-top:96px;
    margin-bottom:92px;
    padding:74px 70px;
    display:block;
    border:1px solid rgba(255,255,255,.08);
    border-radius:42px;
    background:
        radial-gradient(circle at 14% 10%,rgba(245,158,11,.12),transparent 31%),
        radial-gradient(circle at 90% 90%,rgba(249,115,22,.09),transparent 34%),
        linear-gradient(145deg,#101216 0%,#0b0c10 58%,#111318 100%);
    box-shadow:0 42px 110px rgba(17,19,24,.24),inset 0 1px 0 rgba(255,255,255,.055);
}
.cta-grid{
    position:absolute;
    inset:0;
    opacity:.12;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
    background-size:58px 58px;
    mask-image:linear-gradient(90deg,#000,transparent 62%);
}
.cta-glow{
    pointer-events:none;
}
.cta-glow-main{
    width:620px;
    height:620px;
    left:-210px;
    top:-220px;
    background:radial-gradient(circle,rgba(245,158,11,.25),rgba(245,158,11,.06) 42%,transparent 70%);
    filter:blur(32px);
}
.cta-glow-secondary{
    width:460px;
    height:460px;
    right:-170px;
    bottom:-220px;
    background:radial-gradient(circle,rgba(249,115,22,.16),transparent 68%);
    filter:blur(28px);
}
.cta-premium-layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
    gap:68px;
    align-items:center;
}
.cta-content{
    width:auto;
    text-align:left;
}
.cta-badge{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:28px;
    padding:7px 12px 7px 8px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:#b6bdc8;
    font:700 8px var(--font-display);
    letter-spacing:.13em;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.cta-badge-icon{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(145deg,#ffd166,#f97316);
    font-size:14px;
    box-shadow:0 8px 22px rgba(249,115,22,.22),inset 0 1px 0 rgba(255,255,255,.65);
}
.cta-content .section-kicker{
    margin-bottom:15px;
}
.cta-content h2{
    max-width:680px;
    margin:0 0 22px;
    font-size:clamp(48px,5vw,72px);
    line-height:.94;
    letter-spacing:-.06em;
}
.cta-content p{
    max-width:610px;
    margin:0 0 30px;
    color:#9ba3af;
    font-size:14px;
    line-height:1.75;
}
.cta-actions{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}
.cta-primary{
    min-height:58px;
    padding-inline:28px;
    box-shadow:0 18px 40px rgba(249,115,22,.26),inset 0 1px 0 rgba(255,255,255,.55);
}
.cta-secondary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#c4cad3;
    text-decoration:none;
    font:700 12px var(--font-display);
    transition:color .2s ease,transform .2s ease;
}
.cta-secondary span{color:#ffbd43}
.cta-secondary:hover{
    color:#fff;
    transform:translateY(-2px);
}
.cta-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:31px;
}
.cta-benefits span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
    background:rgba(255,255,255,.035);
    color:#8f98a6;
    font-size:9px;
    white-space:nowrap;
}
.cta-benefits b{
    margin-right:5px;
    color:#fff;
    font:700 10px var(--font-display);
}
.cta-preview{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1);
    border-radius:30px;
    background:linear-gradient(155deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
    box-shadow:0 30px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.cta-preview::before{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-80px;
    top:-95px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,193,71,.22),transparent 67%);
    filter:blur(18px);
    pointer-events:none;
}
.cta-preview-top{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:54px;
    padding:0 20px;
    border-bottom:1px solid rgba(255,255,255,.075);
    color:#757e8b;
    font:700 8px var(--font-display);
    letter-spacing:.12em;
}
.cta-live-dot{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#a8b0bc;
}
.cta-live-dot::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 5px rgba(34,197,94,.09);
}
.cta-preview-core{
    position:relative;
    z-index:1;
    padding:38px 28px 34px;
}
.cta-preview-icon{
    width:66px;
    height:66px;
    display:grid;
    place-items:center;
    margin-bottom:28px;
    border-radius:20px;
    background:linear-gradient(145deg,#fff3c7,#ffc857);
    font-size:32px;
    box-shadow:0 18px 36px rgba(245,158,11,.14),inset 0 1px 0 rgba(255,255,255,.78);
}
.cta-preview-core>span{
    display:block;
    color:#858e9c;
    font:700 8px var(--font-display);
    letter-spacing:.15em;
}
.cta-preview-core>strong{
    display:block;
    margin-top:10px;
    color:#fff;
    font:700 31px/1.02 var(--font-display);
    letter-spacing:-.045em;
}
.cta-preview-core>p{
    max-width:330px;
    margin-top:15px;
    color:#858e9b;
    font-size:11px;
    line-height:1.65;
}
.cta-preview-stats{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid rgba(255,255,255,.075);
}
.cta-preview-stats div{
    min-width:0;
    padding:17px 16px 18px;
    border-right:1px solid rgba(255,255,255,.075);
}
.cta-preview-stats div:last-child{border-right:0}
.cta-preview-stats small{
    display:block;
    color:#737c89;
    font:700 7px var(--font-display);
    letter-spacing:.13em;
}
.cta-preview-stats strong{
    display:block;
    margin-top:6px;
    color:#f5f6f8;
    font:700 11px var(--font-display);
}

@media(max-width:980px){
    .final-cta{
        padding:58px 42px;
    }
    .cta-premium-layout{
        grid-template-columns:1fr;
        gap:42px;
    }
    .cta-preview{
        max-width:620px;
    }
}
@media(max-width:700px){
    .feature-content p{min-height:0}
    .pillar-examples>span{white-space:normal}
    .final-cta{
        width:calc(100% - 20px);
        margin-top:64px;
        margin-bottom:54px;
        padding:44px 24px 24px;
        border-radius:30px;
    }
    .cta-premium-layout{gap:34px}
    .cta-content{text-align:center}
    .cta-badge{margin-inline:auto}
    .cta-content h2{
        font-size:clamp(42px,12vw,58px);
    }
    .cta-content p{margin-inline:auto}
    .cta-actions{
        justify-content:center;
    }
    .cta-benefits{
        justify-content:center;
    }
    .cta-preview{text-align:left}
}
@media(max-width:470px){
    .final-cta{padding:36px 17px 17px}
    .cta-badge{font-size:7px;letter-spacing:.1em}
    .cta-primary{width:100%}
    .cta-secondary{min-height:42px}
    .cta-benefits{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }
    .cta-benefits span{justify-content:center}
    .cta-preview-core{padding:30px 22px 27px}
    .cta-preview-core>strong{font-size:27px}
    .cta-preview-stats div{padding:14px 10px 15px}
    .cta-preview-stats strong{font-size:9px}
}

/* HOME V64.1 — Rotación dinámica de juegos + footer social minimalista */
.pillar-examples{
    min-height:86px;
    grid-template-rows:auto 24px auto;
    align-content:center;
}
.pillar-game-name-viewport{
    position:relative;
    min-width:0;
    height:24px;
    overflow:hidden;
}
.pillar-game-name{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    min-width:0;
    color:#111318;
    font:700 12px/1.25 var(--font-display);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    opacity:0;
    transform:translateY(-7px);
    transition:opacity .28s ease,transform .32s cubic-bezier(.16,1,.3,1),color .25s ease;
    pointer-events:none;
}
.pillar-game-name.is-active{
    opacity:1;
    transform:translateY(0);
}
.pillar-row:hover .pillar-game-name,
.pillar-row:focus-visible .pillar-game-name,
.pillar-row.is-active .pillar-game-name{
    color:#fff;
}

/* Footer: iconografía lineal, compacta y coherente con el sistema visual. */
.footer-socials{
    gap:9px;
    margin-top:24px;
}
.social-icon{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    flex:0 0 39px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:11px;
    background:rgba(255,255,255,.035);
    color:#aeb3bb;
    text-decoration:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s ease,background .22s ease,color .22s ease;
}
.social-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.social-icon svg .social-dot{
    fill:currentColor;
    stroke:none;
}
a.social-icon:hover,
a.social-icon:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(245,158,11,.38);
    background:rgba(245,158,11,.075);
    color:#ffc857;
    outline:none;
}
.social-icon.is-disabled{
    opacity:.44;
    cursor:default;
}
.social-icon-mail{
    color:#d4d7dc;
}

@media(prefers-reduced-motion:reduce){
    .pillar-game-name{transition:none}
    .social-icon{transition:none}
}
@media(max-width:700px){
    .pillar-examples{min-height:82px}
    .pillar-game-name-viewport{height:22px}
    .pillar-game-name{font-size:11.5px}
}
@media(max-width:520px){
    .footer-socials{gap:8px}
    .social-icon{width:37px;height:37px;flex-basis:37px;border-radius:10px}
    .social-icon svg{width:17px;height:17px}
}


/* =========================================================
   V65 — navegación, avatar, cupones y ajustes de escalabilidad
   ========================================================= */

/* Escritorio: cierre de sesión reducido a icono y acceso a tienda integrado. */
.nav-quick-btn-icon-only{
    width:46px;
    min-width:46px;
    padding:0;
    justify-content:center;
    gap:0;
}
.nav-quick-btn-icon-only .nav-quick-icon{
    width:30px;
    height:30px;
}
.nav-quick-btn-shop .nav-quick-icon{
    background:linear-gradient(145deg,#fff8e8,#ffe6b0);
}
@media(max-width:1120px) and (min-width:861px){
    .nav-actions-session{gap:7px}
    .nav-quick-btn{padding:0 12px;gap:7px}
    .nav-quick-btn-icon-only{padding:0;width:44px;min-width:44px}
}

/* Avatar del panel: selector compacto, persistente y preparado para ampliar catálogo. */
.dashboard-profile-row{
    display:flex;
    align-items:flex-start;
    gap:24px;
}
.dashboard-profile-row .dashboard-welcome{min-width:0}
.dashboard-avatar-picker{
    position:relative;
    z-index:30;
    flex:0 0 auto;
}
.dashboard-avatar-picker>summary{
    position:relative;
    width:92px;
    height:92px;
    display:grid;
    place-items:center;
    cursor:pointer;
    list-style:none;
    outline:none;
}
.dashboard-avatar-picker>summary::-webkit-details-marker{display:none}
.minds-avatar{
    --avatar-accent:#f59e0b;
    position:relative;
    width:82px;
    height:82px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(17,19,24,.09);
    border-radius:27px;
    background:linear-gradient(145deg,#202329,#0f1115);
    box-shadow:0 18px 38px rgba(17,19,24,.14),inset 0 1px 0 rgba(255,255,255,.12);
    color:#fff;
}
.minds-avatar::before{
    content:"";
    position:absolute;
    width:58%;
    height:58%;
    left:-8%;
    top:-10%;
    border-radius:50%;
    background:var(--avatar-accent);
    opacity:.2;
    filter:blur(2px);
}
.minds-avatar i{
    position:absolute;
    width:46%;
    height:46%;
    right:10%;
    bottom:10%;
    border:1px solid rgba(255,255,255,.18);
    border-radius:15px;
    transform:rotate(14deg);
}
.minds-avatar b{
    position:relative;
    z-index:1;
    font:600 31px/1 var(--font-display);
    color:#fff;
    text-shadow:0 4px 14px rgba(0,0,0,.25);
}
.minds-avatar--pulse{--avatar-accent:#ff7a1a;background:linear-gradient(145deg,#362319,#14110f)}
.minds-avatar--nova{--avatar-accent:#8b7cff;background:linear-gradient(145deg,#29243d,#121116)}
.minds-avatar--grid{--avatar-accent:#44a7a0;background:linear-gradient(145deg,#18302f,#0f1515)}
.minds-avatar--focus{--avatar-accent:#ef5d7a;background:linear-gradient(145deg,#352127,#151013)}
.minds-avatar--apex{--avatar-accent:#d5aa47;background:linear-gradient(145deg,#302a1b,#14120e)}
.dashboard-avatar-edit{
    position:absolute;
    right:0;
    bottom:1px;
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border:3px solid #f7f7f8;
    border-radius:50%;
    background:#fff;
    color:#17191d;
    box-shadow:0 7px 18px rgba(17,19,24,.14);
    font:700 11px/1 var(--font-display);
}
.dashboard-avatar-picker[open]>summary .minds-avatar{
    box-shadow:0 20px 42px rgba(17,19,24,.18),0 0 0 4px rgba(245,158,11,.09);
}
.dashboard-avatar-popover{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    width:342px;
    padding:16px;
    border:1px solid rgba(17,19,24,.09);
    border-radius:22px;
    background:rgba(255,255,255,.98);
    box-shadow:0 24px 65px rgba(17,19,24,.16);
    backdrop-filter:blur(18px);
}
.dashboard-avatar-popover-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    margin-bottom:12px;
}
.dashboard-avatar-popover-head strong{
    font:700 13px var(--font-display);
}
.dashboard-avatar-popover-head small{
    color:#9aa2ae;
    font-size:9px;
}
.dashboard-avatar-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}
.dashboard-avatar-grid form{margin:0}
.dashboard-avatar-option{
    width:100%;
    display:grid;
    place-items:center;
    gap:7px;
    padding:9px 6px 8px;
    border:1px solid rgba(17,19,24,.07);
    border-radius:15px;
    background:#f8f9fa;
    cursor:pointer;
    transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.dashboard-avatar-option:hover,
.dashboard-avatar-option:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(245,158,11,.3);
    background:#fffaf0;
    outline:none;
}
.dashboard-avatar-option.is-selected{
    border-color:rgba(245,158,11,.38);
    background:#fff6df;
}
.dashboard-avatar-option .minds-avatar{
    width:56px;
    height:56px;
    border-radius:18px;
    box-shadow:0 9px 20px rgba(17,19,24,.12),inset 0 1px 0 rgba(255,255,255,.12);
}
.dashboard-avatar-option .minds-avatar b{font-size:21px}
.dashboard-avatar-option small{
    color:#747d8a;
    font:700 8px var(--font-display);
}

/* Canje de códigos dentro del panel. */
.dashboard-coupon-card{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
    align-items:center;
    gap:30px;
    margin-top:28px;
    padding:28px 30px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.07);
    border-radius:30px;
    background:linear-gradient(125deg,#17191d,#23262c);
    box-shadow:0 22px 58px rgba(17,19,24,.12);
}
.dashboard-coupon-card::after{
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    left:-150px;
    bottom:-210px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(245,158,11,.24),transparent 68%);
    pointer-events:none;
}
.dashboard-coupon-copy{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:18px;
}
.dashboard-coupon-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    flex:0 0 58px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:18px;
    background:rgba(255,255,255,.07);
    color:#ffc55a;
    font:700 24px var(--font-display);
}
.dashboard-coupon-copy .section-kicker{color:#d89d31}
.dashboard-coupon-copy h2{
    margin-top:6px;
    color:#fff;
    font-size:29px;
}
.dashboard-coupon-copy p{
    max-width:600px;
    margin-top:7px;
    color:#aab0b9;
    font-size:11px;
    line-height:1.6;
}
.dashboard-coupon-form{
    position:relative;
    z-index:1;
    padding:15px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.055);
}
.dashboard-coupon-form>label{
    display:block;
    margin:0 0 8px 3px;
    color:#9ea5af;
    font:700 8px var(--font-display);
    letter-spacing:.12em;
}
.dashboard-coupon-control{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}
.dashboard-coupon-control input{
    min-width:0;
    height:47px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:13px;
    background:rgba(255,255,255,.08);
    color:#fff;
    outline:none;
    font:700 12px var(--font-display);
    letter-spacing:.06em;
    text-transform:uppercase;
}
.dashboard-coupon-control input::placeholder{color:#727984}
.dashboard-coupon-control input:focus{
    border-color:rgba(245,158,11,.45);
    box-shadow:0 0 0 3px rgba(245,158,11,.09);
}
.dashboard-coupon-control button{
    height:47px;
    padding:0 17px;
    border:0;
    border-radius:13px;
    background:#f5a614;
    color:#15120c;
    cursor:pointer;
    font:700 11px var(--font-display);
}
.dashboard-coupon-form>small{
    display:block;
    margin:8px 3px 0;
    color:#7f8792;
    font-size:8px;
    line-height:1.45;
}

/* Administración de cupones. */
.admin-coupon-manager{
    margin-bottom:22px;
}
.admin-coupon-manager>.admin-card-head{
    align-items:flex-start;
}
.admin-coupon-manager>.admin-card-head p{
    max-width:720px;
    color:#7e8794;
    font-size:11px;
    line-height:1.55;
}
.admin-coupon-manager-grid{
    display:grid;
    grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);
    gap:20px;
    padding:0 27px 27px;
}
.admin-coupon-create-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    align-content:start;
    padding:18px;
    border:1px solid rgba(17,19,24,.07);
    border-radius:20px;
    background:#f7f8fa;
}
.admin-coupon-field{
    min-width:0;
}
.admin-coupon-field label{
    display:block;
    margin-bottom:7px;
    color:#89919d;
    font-size:8px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.admin-coupon-field small{
    display:block;
    margin-top:5px;
    color:#a0a7b1;
    font-size:8px;
    line-height:1.4;
}
.admin-coupon-code-field,
.admin-coupon-description-field,
.admin-coupon-create-button{
    grid-column:1/-1;
}
.admin-coupon-code-field input{
    text-transform:uppercase;
    letter-spacing:.06em;
}
.admin-coupon-create-button{
    width:100%;
    margin-top:2px;
}
.admin-coupon-list{
    display:grid;
    gap:9px;
    align-content:start;
    max-height:500px;
    overflow:auto;
    padding-right:3px;
}
.admin-coupon-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:15px;
    padding:14px 15px;
    border:1px solid rgba(17,19,24,.07);
    border-radius:17px;
    background:#fff;
}
.admin-coupon-item.is-inactive{background:#fafafa}
.admin-coupon-code-line{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.admin-coupon-code-line code{
    font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.04em;
}
.admin-coupon-item-main>strong{
    display:block;
    margin-top:6px;
    font:700 14px var(--font-display);
}
.admin-coupon-item-main p{
    margin-top:4px;
    color:#8c95a2;
    font-size:9px;
    line-height:1.45;
}
.admin-coupon-item-meta{
    display:flex;
    gap:15px;
    white-space:nowrap;
}
.admin-coupon-item-meta span{display:block}
.admin-coupon-item-meta small,
.admin-coupon-item-meta b{display:block;text-align:right}
.admin-coupon-item-meta small{
    color:#a0a7b1;
    font-size:7px;
    font-weight:800;
    letter-spacing:.09em;
}
.admin-coupon-item-meta b{
    margin-top:3px;
    color:#4f5865;
    font-size:9px;
}
.admin-coupon-state-form{margin:0}
.admin-coupon-empty{
    display:grid;
    place-items:center;
    min-height:180px;
    padding:24px;
    border:1px dashed rgba(17,19,24,.12);
    border-radius:18px;
    color:#8c95a2;
    text-align:center;
}
.admin-coupon-empty span{
    font:700 34px var(--font-display);
    color:#d99a26;
}
.admin-coupon-empty strong{
    color:#333943;
    font-size:12px;
}
.admin-coupon-empty p{font-size:9px}

/* Seis hitos caben en escritorio sin perder la lectura del 50%. */
.shop-level-tier-list{
    grid-template-columns:repeat(6,minmax(66px,1fr));
}

@media(max-width:1050px){
    .admin-coupon-manager-grid{grid-template-columns:1fr}
    .shop-level-tier-list{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
    .dashboard-profile-row{gap:16px}
    .dashboard-avatar-picker>summary{width:76px;height:76px}
    .minds-avatar{width:68px;height:68px;border-radius:22px}
    .minds-avatar b{font-size:26px}
    .dashboard-avatar-popover{width:min(342px,calc(100vw - 40px))}
    .dashboard-coupon-card{grid-template-columns:1fr;gap:19px;padding:23px}
}
@media(max-width:600px){
    .dashboard-profile-row{align-items:flex-start}
    .dashboard-avatar-picker>summary{width:62px;height:62px}
    .dashboard-avatar-picker>summary>.minds-avatar{width:56px;height:56px;border-radius:18px}
    .dashboard-avatar-picker>summary>.minds-avatar b{font-size:22px}
    .dashboard-avatar-edit{width:23px;height:23px;border-width:2px;font-size:9px}
    .dashboard-avatar-popover{
        position:fixed;
        top:auto;
        left:12px;
        right:12px;
        bottom:16px;
        width:auto;
        z-index:120;
    }
    .dashboard-avatar-grid{grid-template-columns:repeat(3,1fr)}
    .dashboard-coupon-copy{align-items:flex-start}
    .dashboard-coupon-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px;font-size:20px}
    .dashboard-coupon-copy h2{font-size:24px}
    .dashboard-coupon-control{grid-template-columns:1fr}
    .dashboard-coupon-control button{width:100%}
    .admin-coupon-manager-grid{padding:0 18px 20px}
    .admin-coupon-create-form{grid-template-columns:1fr;padding:14px}
    .admin-coupon-code-field,
    .admin-coupon-description-field,
    .admin-coupon-create-button{grid-column:auto}
    .admin-coupon-item{grid-template-columns:1fr auto}
    .admin-coupon-item-meta{grid-column:1/-1;justify-content:flex-start;border-top:1px solid rgba(17,19,24,.06);padding-top:9px}
    .admin-coupon-item-meta small,.admin-coupon-item-meta b{text-align:left}
    .shop-level-tier-list{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
    .dashboard-avatar-option{transition:none}
}

/* =========================================================
   V67 — panel: avatar modal, avisos y acciones sin recarga
   ========================================================= */
.dashboard-avatar-trigger{
    position:relative;
    width:92px;
    height:92px;
    flex:0 0 92px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    border-radius:30px;
}
.dashboard-avatar-trigger:focus-visible{
    outline:3px solid rgba(245,158,11,.22);
    outline-offset:3px;
}
.dashboard-avatar-trigger:hover .minds-avatar{
    transform:translateY(-2px);
    box-shadow:0 22px 44px rgba(17,19,24,.18),0 0 0 4px rgba(245,158,11,.08),inset 0 1px 0 rgba(255,255,255,.12);
}
.dashboard-avatar-trigger .minds-avatar{
    transition:transform .2s ease,box-shadow .2s ease;
}
.dashboard-avatar-trigger.is-updated .minds-avatar{
    animation:dashboardAvatarSaved .42s cubic-bezier(.2,.8,.2,1);
}
@keyframes dashboardAvatarSaved{
    0%{transform:scale(.94)}
    55%{transform:scale(1.06)}
    100%{transform:scale(1)}
}

.dashboard-avatar-modal{
    width:min(620px,calc(100vw - 32px));
    max-width:620px;
    max-height:min(82svh,720px);
    padding:0;
    border:0;
    border-radius:30px;
    background:transparent;
    color:#15171b;
    box-shadow:0 38px 110px rgba(17,19,24,.26);
    overflow:visible;
}
.dashboard-avatar-modal::backdrop{
    background:rgba(12,14,18,.58);
    backdrop-filter:blur(8px);
}
.dashboard-avatar-modal-card{
    max-height:min(82svh,720px);
    overflow:auto;
    padding:28px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:30px;
    background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(249,249,248,.97));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.dashboard-avatar-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    margin-bottom:20px;
}
.dashboard-avatar-modal-head h2{
    margin-top:7px;
    font-size:30px;
    line-height:1.05;
}
.dashboard-avatar-modal-head p{
    max-width:470px;
    margin-top:8px;
    color:#5f6875;
    font-size:11px;
    line-height:1.6;
}
.dashboard-avatar-modal-close{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border:1px solid rgba(17,19,24,.08);
    border-radius:50%;
    background:#f4f5f6;
    color:#252a31;
    cursor:pointer;
    font:400 24px/1 Arial,sans-serif;
    transition:background .18s ease,transform .18s ease;
}
.dashboard-avatar-modal-close:hover{background:#eaedf0;transform:rotate(4deg)}
.dashboard-avatar-modal .dashboard-avatar-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.dashboard-avatar-modal .dashboard-avatar-option{
    min-height:126px;
    padding:14px 8px 11px;
    border-radius:20px;
    background:#f6f7f8;
}
.dashboard-avatar-modal .dashboard-avatar-option .minds-avatar{
    width:68px;
    height:68px;
    border-radius:22px;
}
.dashboard-avatar-modal .dashboard-avatar-option .minds-avatar b{font-size:25px}
.dashboard-avatar-modal .dashboard-avatar-option small{font-size:9px;color:#5f6875}
.dashboard-avatar-modal .dashboard-avatar-option.is-selected{
    border-color:rgba(245,158,11,.48);
    background:linear-gradient(145deg,#fff9ec,#fff3d3);
    box-shadow:inset 0 0 0 1px rgba(245,158,11,.08);
}
body.dashboard-avatar-modal-open{overflow:hidden}

.dashboard-panel-alerts{
    margin:18px 0 12px;
}
.dashboard-panel-alerts:empty{display:none}
.dashboard-panel-alerts .auth-alert{
    margin:0;
    padding:13px 15px;
    font-size:11px;
    font-weight:650;
    box-shadow:none;
}
.dashboard-panel-alerts .auth-alert.success{
    color:#285f3b;
    border-color:rgba(40,126,70,.18);
    background:rgba(228,247,233,.78);
}
.dashboard-panel-alerts .auth-alert.error{
    color:#7b2525;
    border-color:rgba(165,46,46,.18);
    background:rgba(255,238,238,.82);
}
.dashboard-header-verify{
    margin:14px 0 16px;
}
.dashboard-header-verify p{color:#566171}

.dashboard-inline-feedback{
    margin-top:9px;
    color:#5d6673;
    font-size:9px;
    line-height:1.45;
}
.dashboard-inline-feedback.is-success{color:#2c6b42}
.dashboard-inline-feedback.is-error{color:#8a3030}
.dashboard-avatar-feedback{
    min-height:0;
    margin-top:14px;
    text-align:center;
    font-weight:700;
}
.dashboard-coupon-form.is-success{
    border-color:rgba(245,166,20,.22);
    box-shadow:inset 0 0 0 1px rgba(245,166,20,.05);
}
.dashboard-coupon-form.is-error{
    border-color:rgba(222,74,74,.25);
}
.dashboard-coupon-form.is-busy,
.weekly-claim-form.is-busy,
.dashboard-avatar-modal form.is-busy{opacity:.72}

/* Mantiene una separación consistente tras reordenar las secciones del panel. */
.weekly-check-card + .game-library{margin-top:28px}
.game-library + .dashboard-invite-cta{margin-top:28px}
.dashboard-invite-cta + .dashboard-coupon-card{margin-top:28px}
.dashboard-coupon-card + .dashboard-shop-cta{margin-top:28px}

@media(max-width:800px){
    .dashboard-avatar-trigger{width:76px;height:76px;flex-basis:76px}
    .dashboard-avatar-trigger>.minds-avatar{width:68px;height:68px;border-radius:22px}
    .dashboard-avatar-trigger>.minds-avatar b{font-size:26px}
    .dashboard-avatar-modal{width:min(560px,calc(100vw - 24px));max-height:88svh;border-radius:24px}
    .dashboard-avatar-modal-card{max-height:88svh;padding:22px;border-radius:24px}
    .dashboard-avatar-modal-head h2{font-size:27px}
    .dashboard-avatar-modal .dashboard-avatar-option{min-height:116px}
}
@media(max-width:600px){
    .dashboard-profile-row{align-items:center}
    .dashboard-avatar-trigger{width:62px;height:62px;flex-basis:62px;border-radius:20px}
    .dashboard-avatar-trigger>.minds-avatar{width:56px;height:56px;border-radius:18px}
    .dashboard-avatar-trigger>.minds-avatar b{font-size:22px}
    .dashboard-avatar-modal{width:calc(100vw - 20px);max-height:90svh;border-radius:22px}
    .dashboard-avatar-modal-card{max-height:90svh;padding:18px 16px 16px;border-radius:22px}
    .dashboard-avatar-modal-head{gap:14px;margin-bottom:16px}
    .dashboard-avatar-modal-head h2{font-size:24px}
    .dashboard-avatar-modal-head p{font-size:10px}
    .dashboard-avatar-modal-close{width:36px;height:36px;flex-basis:36px}
    .dashboard-avatar-modal .dashboard-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
    .dashboard-avatar-modal .dashboard-avatar-option{min-height:102px;padding:10px 4px 8px;border-radius:16px}
    .dashboard-avatar-modal .dashboard-avatar-option .minds-avatar{width:54px;height:54px;border-radius:17px}
    .dashboard-avatar-modal .dashboard-avatar-option .minds-avatar b{font-size:20px}
    .dashboard-panel-alerts{margin:14px 0 10px}
    .dashboard-panel-alerts .auth-alert{font-size:10px;padding:12px 13px}
    .dashboard-header-verify{margin:12px 0 14px}
}
@media(max-width:380px){
    .dashboard-avatar-modal .dashboard-avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
    .dashboard-avatar-trigger .minds-avatar,
    .dashboard-avatar-modal-close{transition:none}
    .dashboard-avatar-trigger.is-updated .minds-avatar{animation:none}
}


/* V68 · Modal centrado, feedback legible y mensajes de sistema integrados en la interfaz. */
.dashboard-avatar-modal{
    position:fixed;
    inset:50% auto auto 50%;
    margin:0;
    transform:translate(-50%,-50%);
    box-sizing:border-box;
    overflow:hidden;
}
.dashboard-avatar-modal-card{
    overscroll-behavior:contain;
}
.dashboard-coupon-form .dashboard-inline-feedback:not([hidden]){
    display:flex;
    align-items:center;
    min-height:34px;
    margin:11px 0 0;
    padding:9px 11px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:11px;
    background:rgba(255,255,255,.07);
    color:#f5f7fa;
    font-size:9px;
    font-weight:700;
    line-height:1.45;
}
.dashboard-coupon-form .dashboard-inline-feedback.is-error:not([hidden]){
    border-color:rgba(255,118,118,.28);
    background:rgba(142,38,38,.28);
    color:#ffd2d2;
    box-shadow:inset 3px 0 0 #ef7777;
}
.dashboard-coupon-form .dashboard-inline-feedback.is-success:not([hidden]){
    border-color:rgba(108,211,143,.22);
    background:rgba(35,111,64,.22);
    color:#d8f9e3;
    box-shadow:inset 3px 0 0 #70d293;
}

.minds-ui-dialog{
    position:fixed;
    inset:50% auto auto 50%;
    width:min(470px,calc(100vw - 32px));
    max-width:470px;
    margin:0;
    padding:0;
    border:0;
    border-radius:28px;
    background:transparent;
    color:#15171b;
    transform:translate(-50%,-50%);
    overflow:hidden;
    box-shadow:0 34px 100px rgba(9,11,15,.28);
}
.minds-ui-dialog::backdrop{
    background:rgba(12,14,18,.56);
    backdrop-filter:blur(8px);
}
.minds-ui-dialog-card{
    padding:26px;
    border:1px solid rgba(255,255,255,.82);
    border-radius:28px;
    background:linear-gradient(150deg,#fff,#f7f6f2);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}
.minds-ui-dialog-kicker{
    display:block;
    margin-bottom:9px;
    color:#c98713;
    font:700 8px var(--font-display);
    letter-spacing:.16em;
}
.minds-ui-dialog h2{
    margin:0;
    color:#15171b;
    font-size:26px;
    line-height:1.08;
    letter-spacing:-.035em;
}
.minds-ui-dialog p{
    margin:10px 0 0;
    color:#535d6b;
    font-size:11px;
    line-height:1.65;
}
.minds-ui-dialog-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:23px;
}
.minds-ui-dialog-button{
    min-height:44px;
    padding:0 17px;
    border-radius:13px;
    cursor:pointer;
    font:700 10px var(--font-display);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.minds-ui-dialog-button:hover{transform:translateY(-1px)}
.minds-ui-dialog-button:focus-visible{outline:3px solid rgba(245,158,11,.2);outline-offset:2px}
.minds-ui-dialog-button--secondary{
    border:1px solid rgba(17,19,24,.09);
    background:#f0f1f2;
    color:#3f4650;
}
.minds-ui-dialog-button--primary{
    border:1px solid rgba(214,132,0,.15);
    background:linear-gradient(135deg,#ffb52f,#f59e0b);
    color:#17120a;
    box-shadow:0 9px 22px rgba(245,158,11,.2);
}
.minds-ui-dialog--danger .minds-ui-dialog-kicker{color:#b64949}
.minds-ui-dialog--danger .minds-ui-dialog-button--primary{
    border-color:rgba(150,45,45,.12);
    background:linear-gradient(135deg,#e86b6b,#c94d4d);
    color:#fff;
    box-shadow:0 9px 22px rgba(171,58,58,.18);
}
.minds-ui-dialog--warning .minds-ui-dialog-kicker{color:#bd7b0b}

.minds-toast-stack{
    position:fixed;
    z-index:2147483000;
    top:86px;
    right:22px;
    width:min(360px,calc(100vw - 28px));
    display:grid;
    gap:9px;
    pointer-events:none;
}
.minds-toast{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:54px;
    padding:11px 13px;
    border:1px solid rgba(17,19,24,.08);
    border-radius:16px;
    background:rgba(255,255,255,.96);
    color:#343b45;
    box-shadow:0 18px 50px rgba(16,19,24,.16);
    font:650 10px/1.45 var(--font-display);
    opacity:0;
    transform:translateY(-7px) scale(.985);
    transition:opacity .2s ease,transform .2s ease;
}
.minds-toast.is-visible{opacity:1;transform:none}
.minds-toast-mark{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#fff2d4;
    color:#b77508;
    font-weight:800;
}
.minds-toast--error{
    border-color:rgba(185,65,65,.14);
    background:rgba(255,248,248,.98);
    color:#6f3030;
}
.minds-toast--error .minds-toast-mark{background:#ffe5e5;color:#b74343}
.minds-toast--success .minds-toast-mark{background:#e4f7e9;color:#287e46}
.minds-field-invalid{
    border-color:rgba(201,74,74,.62)!important;
    box-shadow:0 0 0 3px rgba(201,74,74,.1)!important;
}

@media(max-width:600px){
    .dashboard-avatar-modal{
        inset:50% auto auto 50%;
        margin:0;
        transform:translate(-50%,-50%);
        width:calc(100vw - 20px);
        max-height:90svh;
    }
    .minds-ui-dialog{width:calc(100vw - 22px);border-radius:22px}
    .minds-ui-dialog-card{padding:20px 18px 18px;border-radius:22px}
    .minds-ui-dialog h2{font-size:23px}
    .minds-ui-dialog p{font-size:10px}
    .minds-ui-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
    .minds-ui-dialog-actions .minds-ui-dialog-button:only-child{grid-column:1/-1}
    .minds-toast-stack{top:auto;right:14px;bottom:18px;width:calc(100vw - 28px)}
    .minds-toast{font-size:9px}
    .dashboard-coupon-form .dashboard-inline-feedback:not([hidden]){font-size:9px}
}
@media(prefers-reduced-motion:reduce){
    .minds-ui-dialog-button,.minds-toast{transition:none}
    .minds-ui-dialog-button:hover{transform:none}
}

/* V69 · Avisos transitorios + mejor legibilidad en escritorio */
.dashboard-panel-alerts .auth-alert,
.dashboard-inline-feedback{
    transition:opacity .22s ease,transform .22s ease;
}
.dashboard-panel-alerts .auth-alert.is-dismissing,
.dashboard-inline-feedback.is-dismissing{
    opacity:0;
    transform:translateY(-5px);
}

@media(min-width:901px){
    .dashboard-v38 .section-kicker{font-size:11px}
    .dashboard-resource-card small{font-size:9px}
    .dashboard-resource-card p{font-size:10.5px;line-height:1.5}
    .daily-badge{font-size:9px}
    .daily-rule-row span{font-size:11px}
    .daily-game-card-top{font-size:9px}
    .daily-game-copy small{font-size:9px}
    .daily-game-copy p{font-size:11.5px;line-height:1.55}
    .game-library-heading p{font-size:13px;line-height:1.7}
    .game-filter-note small{font-size:8.5px}
    .game-filter-note strong{font-size:12px}
    .game-filter{font-size:11px}
    .game-library-copy small{font-size:8.5px}
    .game-library-copy p{height:49px;font-size:11.5px;line-height:1.48}
    .game-library-link,.game-library-play{font-size:11px}
    .game-library-reward span{font-size:9px}
    .weekly-check-copy>p{font-size:12.5px;line-height:1.7}
    .weekly-check-meta span{font-size:10px}
    .weekly-day small{font-size:8px}
    .weekly-next-copy{font-size:11px}
    .dashboard-invite-copy p{font-size:12.5px;line-height:1.6}
    .invite-code-box small{font-size:8px}
    .invite-copy-btn{font-size:10px}
    .invite-total{font-size:9.5px}
    .dashboard-coupon-copy p{font-size:12.5px;line-height:1.65}
    .dashboard-coupon-form>label{font-size:9px}
    .dashboard-coupon-control input{font-size:13px}
    .dashboard-coupon-control button{font-size:12px}
    .dashboard-coupon-form>small{font-size:9.5px;line-height:1.5}
    .dashboard-shop-copy p{font-size:12.5px;line-height:1.6}
    .dashboard-active-game p{font-size:12px}
    .dashboard-panel-alerts .auth-alert{font-size:12.5px;line-height:1.55}
    .dashboard-inline-feedback{font-size:10.5px}
    .dashboard-coupon-form .dashboard-inline-feedback:not([hidden]){font-size:10.5px}
    .minds-ui-dialog-kicker{font-size:9.5px}
    .minds-ui-dialog p{font-size:12.5px;line-height:1.65}
    .minds-ui-dialog-button{font-size:11.5px}
    .minds-toast{font-size:11px}
}

@media(prefers-reduced-motion:reduce){
    .dashboard-panel-alerts .auth-alert,
    .dashboard-inline-feedback{transition:none}
}

/* V73 · Catálogo de juegos paginado */
.game-library-pagination{
    display:grid;
    grid-template-columns:auto minmax(150px,1fr) auto;
    align-items:center;
    gap:14px;
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid rgba(17,19,24,.07);
}
.game-library-pagination[hidden]{display:none!important}
.game-library-page-btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 15px;
    border:1px solid rgba(17,19,24,.08);
    border-radius:14px;
    background:#fff;
    color:#252a31;
    font:800 10px var(--font-body),sans-serif;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(17,19,24,.025);
    transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease,opacity .2s ease;
}
.game-library-page-btn:hover:not(:disabled){
    transform:translateY(-1px);
    border-color:rgba(245,158,11,.24);
    background:#fff8e9;
    color:#a46600;
}
.game-library-page-btn:disabled{opacity:.34;cursor:default;box-shadow:none}
.game-library-page-status{text-align:center}
.game-library-page-status strong{display:block;color:#353a42;font:800 10px var(--font-display),sans-serif;letter-spacing:.02em}
.game-library-page-status span{display:block;margin-top:3px;color:#929aa6;font-size:9px;font-weight:700}
@media(max-width:700px){
    .game-library-pagination{grid-template-columns:1fr auto 1fr;gap:8px;margin-top:16px;padding-top:15px}
    .game-library-page-btn{min-height:40px;padding:0 11px;border-radius:12px;font-size:9px}
    .game-library-page-btn:first-child{justify-self:stretch}
    .game-library-page-btn:last-child{justify-self:stretch}
    .game-library-page-status{min-width:74px}
    .game-library-page-status strong{font-size:9px}
    .game-library-page-status span{font-size:8px}
}
@media(max-width:420px){
    .game-library-page-btn span:not([aria-hidden="true"]){display:none}
    .game-library-page-btn{font-size:15px}
}


/* V74 · Interruptor de modo ADMIN: rol y economía de pruebas quedan separados. */
.dashboard-welcome-title-row{
    display:flex;
    align-items:center;
    gap:20px;
    min-width:0;
}
.dashboard-welcome-title-row h1{
    margin:0;
    min-width:0;
}
.dashboard-admin-mode-form{
    flex:0 0 auto;
    margin-top:8px;
}
.dashboard-admin-mode-switch{
    display:flex;
    align-items:center;
    gap:11px;
    min-height:50px;
    padding:8px 10px 8px 14px;
    border:1px solid rgba(17,19,24,.09);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    box-shadow:0 12px 30px rgba(17,19,24,.06),inset 0 1px 0 rgba(255,255,255,.9);
    color:#717986;
    cursor:pointer;
    transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,transform .18s ease;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}
.dashboard-admin-mode-switch:hover{
    transform:translateY(-1px);
    border-color:rgba(245,158,11,.28);
    box-shadow:0 15px 34px rgba(17,19,24,.08),0 0 0 4px rgba(245,158,11,.045);
}
.dashboard-admin-mode-switch:focus-visible{
    outline:0;
    box-shadow:0 0 0 4px rgba(245,158,11,.14),0 15px 34px rgba(17,19,24,.08);
}
.dashboard-admin-mode-switch:disabled{
    cursor:wait;
    opacity:.72;
    transform:none;
}
.dashboard-admin-mode-copy{
    display:grid;
    gap:1px;
    text-align:left;
    white-space:nowrap;
}
.dashboard-admin-mode-copy small{
    color:#9ca3af;
    font:700 7px var(--font-display);
    letter-spacing:.13em;
}
.dashboard-admin-mode-copy strong{
    color:#626b78;
    font:700 11px var(--font-display);
}
.dashboard-admin-mode-track{
    position:relative;
    width:42px;
    height:24px;
    flex:0 0 42px;
    border:1px solid rgba(17,19,24,.08);
    border-radius:999px;
    background:#e7e9ed;
    box-shadow:inset 0 1px 3px rgba(17,19,24,.08);
    transition:background .22s ease,border-color .22s ease;
}
.dashboard-admin-mode-track i{
    position:absolute;
    top:3px;
    left:3px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 3px 9px rgba(17,19,24,.2);
    transition:transform .24s cubic-bezier(.2,.8,.2,1),background .22s ease;
}
.dashboard-admin-mode-switch.is-active{
    border-color:rgba(245,158,11,.22);
    background:linear-gradient(135deg,rgba(255,251,240,.92),rgba(255,245,216,.8));
}
.dashboard-admin-mode-switch.is-active .dashboard-admin-mode-copy small{color:#b87808}
.dashboard-admin-mode-switch.is-active .dashboard-admin-mode-copy strong{color:#8d5a05}
.dashboard-admin-mode-switch.is-active .dashboard-admin-mode-track{
    border-color:rgba(245,158,11,.2);
    background:linear-gradient(135deg,#ffb526,#f59e0b);
}
.dashboard-admin-mode-switch.is-active .dashboard-admin-mode-track i{
    transform:translateX(18px);
}
@media(max-width:1180px){
    .dashboard-welcome-title-row{align-items:flex-end;gap:14px}
    .dashboard-admin-mode-copy{display:none}
    .dashboard-admin-mode-switch{min-height:42px;padding:8px;border-radius:15px}
}
@media(max-width:760px){
    .dashboard-welcome-title-row{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .dashboard-admin-mode-form{margin-top:0}
    .dashboard-admin-mode-copy{display:grid}
    .dashboard-admin-mode-switch{min-height:44px;padding:7px 9px 7px 12px;border-radius:16px}
}
@media(max-width:480px){
    .dashboard-welcome-title-row{gap:8px}
    .dashboard-admin-mode-switch{min-height:41px}
    .dashboard-admin-mode-copy small{font-size:6px}
    .dashboard-admin-mode-copy strong{font-size:10px}
    .dashboard-admin-mode-track{width:38px;height:22px;flex-basis:38px}
    .dashboard-admin-mode-track i{width:14px;height:14px}
    .dashboard-admin-mode-switch.is-active .dashboard-admin-mode-track i{transform:translateX(16px)}
}
@media(prefers-reduced-motion:reduce){
    .dashboard-admin-mode-switch,.dashboard-admin-mode-track,.dashboard-admin-mode-track i{transition:none}
}

/* V75 · Cabecera del panel: modo ADMIN integrado sin competir con el saludo. */
.dashboard-profile-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    column-gap:24px;
    row-gap:14px;
}
.dashboard-profile-row .dashboard-welcome{
    min-width:0;
    max-width:none;
}
.dashboard-welcome-title-row{
    display:block;
    min-width:0;
}
.dashboard-welcome-title-row h1{
    margin:0;
    max-width:100%;
}
.dashboard-wave{
    display:inline-block;
    margin-left:.08em;
    white-space:nowrap;
}
.dashboard-profile-row>.dashboard-admin-mode-form{
    align-self:center;
    justify-self:end;
    margin:16px 0 0;
}
.dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-switch{
    min-width:148px;
    justify-content:space-between;
}

@media(min-width:1181px){
    .dashboard-profile-row .dashboard-welcome h1{
        white-space:nowrap;
        font-size:clamp(46px,4.7vw,68px);
    }
}

@media(max-width:1180px) and (min-width:761px){
    .dashboard-profile-row{
        grid-template-columns:auto minmax(0,1fr) auto;
        column-gap:18px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form{
        margin-top:12px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-switch{
        min-width:46px;
        width:46px;
        min-height:46px;
        padding:8px;
        justify-content:center;
        border-radius:16px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-copy{
        display:none;
    }
}

@media(max-width:760px){
    .dashboard-profile-row{
        grid-template-columns:auto minmax(0,1fr);
        align-items:center;
        column-gap:14px;
        row-gap:13px;
    }
    .dashboard-profile-row .dashboard-avatar-trigger{
        grid-column:1;
        grid-row:1;
        align-self:center;
    }
    .dashboard-profile-row .dashboard-welcome{
        grid-column:2;
        grid-row:1;
        min-width:0;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form{
        grid-column:1 / -1;
        grid-row:2;
        width:100%;
        margin:0;
        justify-self:stretch;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-switch{
        width:100%;
        min-width:0;
        min-height:48px;
        padding:8px 10px 8px 14px;
        justify-content:space-between;
        border-radius:16px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-copy{
        display:grid;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-copy small{
        font-size:7px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-copy strong{
        font-size:11px;
    }
    .dashboard-welcome-title-row{
        display:block;
    }
    .dashboard-welcome-title-row h1{
        font-size:clamp(34px,10vw,45px);
        line-height:1;
        text-wrap:balance;
    }
}

@media(max-width:480px){
    .dashboard-profile-row{
        column-gap:11px;
        row-gap:11px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-switch{
        min-height:44px;
        padding:7px 9px 7px 12px;
        border-radius:15px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-copy small{
        font-size:6.5px;
    }
    .dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-copy strong{
        font-size:10.5px;
    }
    .dashboard-welcome-title-row h1{
        font-size:clamp(30px,9.5vw,40px);
    }
}


/* V86 · Banner ADMIN sandbox de tienda: estado especial, compacto y premium. */
.shop-admin-sandbox{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    margin:0 0 28px;
    padding:18px 20px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    background:
        radial-gradient(circle at 82% 10%,rgba(245,158,11,.18),transparent 34%),
        linear-gradient(125deg,#15171b 0%,#1b1e24 62%,#22252a 100%);
    box-shadow:0 20px 48px rgba(17,19,24,.12),inset 0 1px 0 rgba(255,255,255,.055);
    color:#fff;
}
.shop-admin-sandbox::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:180px;
    height:180px;
    right:-72px;
    bottom:-116px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(245,158,11,.22),rgba(245,158,11,0) 70%);
    pointer-events:none;
}
.shop-admin-sandbox-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.16);
}
.shop-admin-sandbox-icon span{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:12px;
    background:linear-gradient(135deg,#ffd46a,#f59e0b);
    box-shadow:0 7px 20px rgba(245,158,11,.22);
    color:#15171b;
    font:800 22px/1 var(--font-display),sans-serif;
}
.shop-admin-sandbox-copy{min-width:0}
.shop-admin-sandbox-meta{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:6px;
    color:#c9cdd5;
    font:700 8px/1 var(--font-display),sans-serif;
    letter-spacing:.14em;
}
.shop-admin-sandbox-dot{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#f59e0b;
    box-shadow:0 0 0 4px rgba(245,158,11,.11);
}
.shop-admin-sandbox-meta strong{
    margin-left:2px;
    padding:5px 7px;
    border:1px solid rgba(245,158,11,.18);
    border-radius:999px;
    background:rgba(245,158,11,.10);
    color:#ffc14d;
    font:800 7px/1 var(--font-display),sans-serif;
    letter-spacing:.12em;
}
.shop-admin-sandbox h2{
    margin:0;
    color:#fff;
    font:700 17px/1.2 var(--font-display),sans-serif;
    letter-spacing:-.025em;
}
.shop-admin-sandbox p{
    max-width:820px;
    margin:5px 0 0;
    color:#aeb5c0;
    font-size:11.5px;
    line-height:1.55;
}
.shop-admin-sandbox-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:48px;
    padding:0 16px 0 18px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:16px;
    background:rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    color:#fff;
    text-decoration:none;
    white-space:nowrap;
    font:700 10px/1 var(--font-display),sans-serif;
    transition:transform .18s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.shop-admin-sandbox-action i{
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:9px;
    background:linear-gradient(135deg,#ffbd36,#f59e0b);
    color:#14161a;
    font:800 13px/1 var(--font-display),sans-serif;
    font-style:normal;
}
.shop-admin-sandbox-action:hover{
    transform:translateY(-1px);
    border-color:rgba(245,158,11,.28);
    background:rgba(255,255,255,.11);
    box-shadow:0 10px 24px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.07);
}
.shop-admin-sandbox-action:focus-visible{
    outline:0;
    box-shadow:0 0 0 4px rgba(245,158,11,.22);
}
@media(max-width:800px){
    .shop-admin-sandbox{
        grid-template-columns:auto minmax(0,1fr);
        gap:15px;
        padding:17px;
        border-radius:22px;
    }
    .shop-admin-sandbox-action{
        grid-column:1/-1;
        width:100%;
        min-height:46px;
        justify-content:space-between;
    }
}
@media(max-width:520px){
    .shop-admin-sandbox{grid-template-columns:1fr;gap:13px;padding:16px}
    .shop-admin-sandbox-icon{width:48px;height:48px;border-radius:15px}
    .shop-admin-sandbox-icon span{width:30px;height:30px;border-radius:10px;font-size:19px}
    .shop-admin-sandbox h2{font-size:15px}
    .shop-admin-sandbox p{font-size:10.5px;line-height:1.5}
    .shop-admin-sandbox-meta{margin-bottom:5px}
}
@media(prefers-reduced-motion:reduce){
    .shop-admin-sandbox-action{transition:none}
}

/* ===== V87 · Ranking competitivo ===== */
.nav-quick-btn-ranking .nav-quick-icon{background:linear-gradient(145deg,#fff4d3,#ffd980);color:#a85f00}
.mobile-session-ranking .mobile-session-icon{background:linear-gradient(145deg,#fff4d3,#ffd980);color:#a85f00}

.dashboard-ranking-cta{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:27px 30px;border:1px solid rgba(17,19,24,.075);border-radius:28px;background:linear-gradient(135deg,#17191d 0%,#24272e 64%,#342818 100%);box-shadow:0 18px 48px rgba(17,19,24,.09);overflow:hidden;position:relative}
.dashboard-ranking-cta:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-110px;top:-130px;background:radial-gradient(circle,rgba(245,158,11,.22),rgba(245,158,11,0) 67%);pointer-events:none}
.dashboard-ranking-copy{display:flex;align-items:center;gap:18px;min-width:0;position:relative;z-index:1}.dashboard-ranking-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:linear-gradient(145deg,#ffc64c,#f59e0b);box-shadow:0 13px 30px rgba(245,158,11,.19);font-size:24px}.dashboard-ranking-copy .section-kicker{color:#ffca64}.dashboard-ranking-copy h2{margin:3px 0 5px;color:#fff;font:700 clamp(19px,2vw,25px)/1.08 var(--font-display);letter-spacing:-.035em}.dashboard-ranking-copy p{margin:0;max-width:760px;color:#adb4bf;font-size:12.5px;line-height:1.55}.dashboard-ranking-button{position:relative;z-index:1;flex:0 0 auto;white-space:nowrap}

.ranking-page{padding:136px 0 92px;min-height:100vh}.ranking-shell{width:min(1180px,calc(100% - 40px))}.ranking-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,.58fr);gap:28px;align-items:stretch;margin-bottom:22px}.ranking-hero-copy{padding:34px 36px;border:1px solid rgba(17,19,24,.07);border-radius:32px;background:rgba(255,255,255,.88);box-shadow:0 22px 58px rgba(17,19,24,.055)}.ranking-title-line{display:flex;align-items:flex-start;gap:14px}.ranking-title-line h1{margin:7px 0 13px;font:700 clamp(38px,5.3vw,68px)/.94 var(--font-display);letter-spacing:-.065em;color:#15171b}.ranking-title-line h1 span{color:#f59e0b}.ranking-hero-copy>p{max-width:760px;margin:0;color:#697281;font-size:14px;line-height:1.65}.ranking-info-btn{display:grid;place-items:center;width:34px;height:34px;margin-top:12px;flex:0 0 34px;border:1px solid rgba(17,19,24,.1);border-radius:50%;background:#fff;color:#6d7581;font:800 13px var(--font-display);cursor:pointer;box-shadow:0 8px 20px rgba(17,19,24,.05);transition:transform .18s ease,border-color .18s ease,color .18s ease}.ranking-info-btn:hover{transform:translateY(-1px);border-color:rgba(245,158,11,.4);color:#d27a00}
.ranking-prize-card{padding:27px 26px;border-radius:30px;background:linear-gradient(150deg,#17191d,#24272e 68%,#3a2a16);color:#fff;box-shadow:0 22px 58px rgba(17,19,24,.12);position:relative;overflow:hidden}.ranking-prize-card:after{content:"";position:absolute;right:-75px;top:-75px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.3),transparent 68%)}.ranking-prize-card>small{display:block;margin-bottom:17px;color:#ffca63;font:800 9px var(--font-display);letter-spacing:.14em}.ranking-prize-card>div{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08)}.ranking-prize-card>div span{font-size:19px}.ranking-prize-card>div strong{font:700 18px var(--font-display)}.ranking-prize-card p{position:relative;z-index:1;margin:15px 0 0;color:#aeb5c0;font-size:10.5px;line-height:1.5}

.ranking-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:17px;padding:14px 16px;margin-bottom:18px;border:1px solid rgba(17,19,24,.07);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 12px 32px rgba(17,19,24,.035)}.ranking-period-tabs,.ranking-category-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ranking-period-tabs{padding:4px;border-radius:15px;background:#f1f2f4}.ranking-period-tabs a,.ranking-category-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:37px;padding:0 13px;border-radius:11px;color:#727b88;text-decoration:none;font:700 10.5px var(--font-display);transition:background .18s ease,color .18s ease,box-shadow .18s ease}.ranking-period-tabs a.is-active{background:#17191d;color:#fff;box-shadow:0 6px 16px rgba(17,19,24,.13)}.ranking-category-tabs a{border:1px solid transparent}.ranking-category-tabs a:hover{background:#f7f7f6;color:#22262c}.ranking-category-tabs a.is-active{border-color:rgba(245,158,11,.24);background:#fff6e4;color:#b96d00}.ranking-category-tabs a span{font-size:13px}.ranking-period-copy{text-align:right}.ranking-period-copy span{display:block;color:#a1a8b3;font:800 8px var(--font-display);letter-spacing:.13em}.ranking-period-copy strong{display:block;margin-top:3px;color:#3b424c;font:700 10px var(--font-display);white-space:nowrap}

.ranking-my-position{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:18px;padding:20px 24px;border:1px solid rgba(245,158,11,.22);border-radius:24px;background:linear-gradient(135deg,#fffaf0,#fff 52%,#fff8e8);box-shadow:0 14px 38px rgba(245,158,11,.065)}.ranking-my-position-rank{display:grid;gap:2px;padding-right:22px;border-right:1px solid rgba(17,19,24,.08)}.ranking-my-position-rank small,.ranking-next-target small{color:#a66a08;font:800 8px var(--font-display);letter-spacing:.12em}.ranking-my-position-rank strong{font:700 37px/1 var(--font-display);letter-spacing:-.05em;color:#17191d}.ranking-my-position-copy span{color:#9a721d;font:800 9px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.ranking-my-position-copy strong{display:block;margin-top:3px;color:#17191d;font:700 20px var(--font-display)}.ranking-my-position-copy p{margin:4px 0 0;color:#808895;font-size:10.5px}.ranking-next-target{min-width:142px;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(17,19,24,.05);text-align:right}.ranking-next-target strong{display:block;color:#17191d;font:700 17px var(--font-display)}.ranking-next-target span{display:block;margin-top:2px;color:#929aa6;font-size:9.5px}.ranking-next-target.is-first strong{color:#e58a00}

.ranking-board{padding:27px;border:1px solid rgba(17,19,24,.07);border-radius:30px;background:rgba(255,255,255,.9);box-shadow:0 20px 55px rgba(17,19,24,.05)}.ranking-board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:19px}.ranking-board-head h2{margin:4px 0 0;font:700 clamp(22px,3vw,32px)/1 var(--font-display);letter-spacing:-.04em}.ranking-board-head>span{color:#99a1ad;font:700 9px var(--font-display);letter-spacing:.09em;text-transform:uppercase}.ranking-list{display:grid;gap:8px}.ranking-row{display:grid;grid-template-columns:48px 44px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:68px;padding:9px 15px;border:1px solid rgba(17,19,24,.055);border-radius:18px;background:#fafbfc;transition:transform .18s ease,border-color .18s ease,background .18s ease}.ranking-row:hover{transform:translateY(-1px);border-color:rgba(245,158,11,.18);background:#fff}.ranking-row.is-me{border-color:rgba(245,158,11,.34);background:#fff8eb;box-shadow:0 8px 24px rgba(245,158,11,.07)}.ranking-row.is-podium{background:linear-gradient(90deg,#fffaf0,#fff)}.ranking-row-position{display:grid;place-items:center;color:#5f6773;font:800 14px var(--font-display)}.ranking-row-position{font-variant-numeric:tabular-nums}.ranking-row-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#fff1c5,#ffd97d);color:#a36000;font:800 21px var(--font-display);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.ranking-row-user{min-width:0}.ranking-row-user strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#22262c;font:700 12.5px var(--font-display)}.ranking-row-user span{display:block;margin-top:3px;color:#9aa2ae;font-size:9.5px}.ranking-row-score{text-align:right}.ranking-row-score strong{display:block;color:#17191d;font:700 17px var(--font-display);font-variant-numeric:tabular-nums}.ranking-row-score span{display:block;color:#a4abb5;font:700 8px var(--font-display);letter-spacing:.1em;text-transform:uppercase}.ranking-empty{display:grid;place-items:center;text-align:center;padding:56px 20px 44px;border:1px dashed rgba(17,19,24,.12);border-radius:22px;background:#fafbfc}.ranking-empty>span{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:#fff1c8;color:#b76900;font-size:25px}.ranking-empty h3{margin:14px 0 5px;font:700 20px var(--font-display)}.ranking-empty p{max-width:520px;margin:0 0 17px;color:#858e9a;font-size:11.5px;line-height:1.55}

.ranking-history{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:28px;margin-top:20px;padding:28px 30px;border:1px solid rgba(17,19,24,.07);border-radius:28px;background:rgba(255,255,255,.84)}.ranking-history h2{margin:4px 0 7px;font:700 23px var(--font-display);letter-spacing:-.035em}.ranking-history p{margin:0;color:#87909c;font-size:11px;line-height:1.55}.ranking-history-list{display:grid;gap:8px}.ranking-history-list article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border-radius:15px;background:#f7f8f9}.ranking-history-list article>span{font-size:19px}.ranking-history-list strong{display:block;color:#2d3239;font:700 11px var(--font-display)}.ranking-history-list small{display:block;margin-top:2px;color:#9aa2ad;font-size:8.5px}.ranking-history-list b{color:#b56c00;font:800 12px var(--font-display)}

.ranking-info-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:18px;border:0;background:transparent;overflow:visible}.ranking-info-modal[open]{display:flex}.ranking-info-modal::backdrop{background:rgba(17,19,24,.58);backdrop-filter:blur(7px)}.ranking-info-modal-card{position:relative;width:min(820px,100%);padding:30px;border:1px solid rgba(255,255,255,.6);border-radius:28px;background:#fffaf2;box-shadow:0 35px 90px rgba(17,19,24,.28);overflow:auto;max-height:calc(100dvh - 36px)}.ranking-info-modal-card h2{max-width:600px;margin:6px 0 21px;color:#17191d;font:700 clamp(24px,4vw,36px)/1.05 var(--font-display);letter-spacing:-.045em}.ranking-info-close{position:absolute;right:19px;top:18px;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(17,19,24,.09);border-radius:50%;background:#fff;color:#69717e;font-size:22px;cursor:pointer}.ranking-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ranking-info-grid>div{padding:16px;border:1px solid rgba(17,19,24,.065);border-radius:17px;background:#fff}.ranking-info-grid>div>span{display:block;color:#e58a00;font:800 8px var(--font-display);letter-spacing:.12em}.ranking-info-grid strong{display:block;margin:5px 0 4px;color:#25292f;font:700 12px var(--font-display)}.ranking-info-grid p{margin:0;color:#7c8592;font-size:10.5px;line-height:1.5}.ranking-info-rules{margin:12px 0 18px;padding:15px 17px;border-radius:17px;background:#17191d;color:#b8bec8}.ranking-info-rules p{margin:0;font-size:10.5px;line-height:1.55}.ranking-info-rules p+p{margin-top:7px}.ranking-info-rules strong{color:#ffc45a}.ranking-info-done{min-width:150px}

@media (max-width:1260px) and (min-width:1051px){.nav-actions-session{gap:5px}.nav-quick-btn{padding:0 10px;gap:6px}.nav-quick-icon{width:29px;height:29px}.nav-quick-label{font-size:9.5px}}
@media(max-width:900px){.dashboard-ranking-cta{align-items:flex-start}.ranking-hero{grid-template-columns:1fr}.ranking-prize-card{display:grid;grid-template-columns:auto repeat(3,1fr);align-items:center;gap:8px}.ranking-prize-card>small{margin:0}.ranking-prize-card>div{padding:8px 10px;border:0;border-left:1px solid rgba(255,255,255,.08)}.ranking-prize-card p{grid-column:1/-1;margin:5px 0 0}.ranking-controls{grid-template-columns:1fr}.ranking-period-copy{text-align:left;padding:4px 3px 0}.ranking-my-position{grid-template-columns:auto minmax(0,1fr)}.ranking-next-target{grid-column:1/-1;text-align:left}.ranking-history{grid-template-columns:1fr}}
@media(max-width:650px){.ranking-page{padding:112px 0 68px}.ranking-shell{width:min(100% - 22px,1180px)}.ranking-hero-copy{padding:24px 21px;border-radius:24px}.ranking-title-line h1{font-size:40px}.ranking-hero-copy>p{font-size:12px}.ranking-prize-card{grid-template-columns:1fr 1fr 1fr;padding:20px;border-radius:23px}.ranking-prize-card>small{grid-column:1/-1}.ranking-prize-card>div{justify-content:center;gap:6px;border-left:0;border-top:1px solid rgba(255,255,255,.08);padding:11px 4px}.ranking-prize-card>div strong{font-size:14px}.ranking-controls{padding:12px;border-radius:19px}.ranking-period-tabs{width:100%}.ranking-period-tabs a{flex:1}.ranking-my-position{grid-template-columns:1fr;gap:13px;padding:18px;border-radius:20px}.ranking-my-position-rank{padding:0 0 12px;border-right:0;border-bottom:1px solid rgba(17,19,24,.08)}.ranking-my-position-rank strong{font-size:32px}.ranking-next-target{grid-column:auto}.ranking-board{padding:18px 12px;border-radius:23px}.ranking-board-head{padding:0 5px}.ranking-row{grid-template-columns:35px 38px minmax(0,1fr) auto;gap:8px;min-height:61px;padding:8px 9px;border-radius:15px}.ranking-row-avatar{width:36px;height:36px;border-radius:12px;font-size:18px}.ranking-row-user strong{font-size:11px}.ranking-row-user span{font-size:8.5px}.ranking-row-score strong{font-size:14px}.ranking-row-score span{font-size:7px}.ranking-history{padding:21px 18px;border-radius:22px}.ranking-info-modal{padding:12px}.ranking-info-modal-card{width:100%;max-height:calc(100dvh - 24px);padding:22px 16px 18px;border-radius:23px}.ranking-info-close{right:14px;top:14px;width:34px;height:34px}.ranking-info-grid{grid-template-columns:1fr}.ranking-info-grid>div{padding:14px}.ranking-info-rules{margin:12px 0 16px;padding:14px}.ranking-info-done{width:100%;justify-content:center}.dashboard-ranking-cta{display:grid;padding:20px;border-radius:22px}.dashboard-ranking-copy{align-items:flex-start}.dashboard-ranking-icon{width:49px;height:49px;flex-basis:49px;border-radius:15px;font-size:20px}.dashboard-ranking-copy h2{font-size:17px}.dashboard-ranking-copy p{font-size:10.5px}.dashboard-ranking-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.ranking-row,.ranking-info-btn{transition:none}}

/* ========================================================================== 
   PWA INSTALL PROMPT · MOBILE
   ========================================================================== */
.pwa-install-banner{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:2147482000;width:min(620px,calc(100% - 24px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 48px 13px 13px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:rgba(23,25,29,.96);color:#fff;box-shadow:0 24px 70px rgba(17,19,24,.3),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translate(-50%,18px) scale(.985);transition:opacity .24s ease,visibility .24s ease,transform .3s cubic-bezier(.16,1,.3,1)}
.pwa-install-banner.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.pwa-install-brand{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#fff8ea;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.pwa-install-brand img{display:block;width:44px;height:44px;border-radius:13px}
.pwa-install-copy{min-width:0}.pwa-install-copy strong{display:block;font:700 14px/1.2 var(--font-display);letter-spacing:-.015em}.pwa-install-copy p{margin:4px 0 0;color:#abb3be;font-size:10.5px;line-height:1.45}.pwa-install-copy b{color:#fff;font-weight:700}
.pwa-install-actions{display:flex;align-items:center;gap:7px}.pwa-install-primary,.pwa-install-secondary{min-height:38px;border:0;border-radius:12px;padding:0 13px;font:700 10.5px var(--font-display);cursor:pointer;white-space:nowrap}.pwa-install-primary{background:linear-gradient(135deg,#ffbd3d,#f97316);color:#fff;box-shadow:0 8px 20px rgba(249,115,22,.22)}.pwa-install-secondary{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);color:#c8ced6}.pwa-install-primary:active,.pwa-install-secondary:active{transform:translateY(1px)}
.pwa-install-close{position:absolute;right:11px;top:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:rgba(255,255,255,.055);color:#aeb6c0;font-size:18px;line-height:1;cursor:pointer}.pwa-install-close:hover{background:rgba(255,255,255,.1);color:#fff}
.pwa-install-banner.is-help{grid-template-columns:auto minmax(0,1fr);row-gap:10px}.pwa-install-banner.is-help .pwa-install-actions{grid-column:2/-1;justify-content:flex-start}
@media(min-width:821px){.pwa-install-banner{display:none!important}}
@media(max-width:520px){.pwa-install-banner{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 20px);grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px 40px 12px 12px;border-radius:20px}.pwa-install-brand{width:46px;height:46px;border-radius:14px}.pwa-install-brand img{width:40px;height:40px}.pwa-install-copy strong{font-size:13px}.pwa-install-copy p{font-size:10px}.pwa-install-actions{grid-column:1/-1;display:grid;grid-template-columns:1.2fr .8fr;width:100%;gap:8px}.pwa-install-primary,.pwa-install-secondary{width:100%;min-height:40px}.pwa-install-banner.is-help{grid-template-columns:auto minmax(0,1fr)}.pwa-install-banner.is-help .pwa-install-actions{grid-column:1/-1}.pwa-install-close{right:9px;top:9px}}
@media(max-width:360px){.pwa-install-brand{display:none}.pwa-install-banner,.pwa-install-banner.is-help{grid-template-columns:1fr}.pwa-install-banner.is-help .pwa-install-actions{grid-column:1}.pwa-install-copy{padding-right:4px}}
@media(prefers-reduced-motion:reduce){.pwa-install-banner{transition:opacity .01ms linear,visibility .01ms linear;transform:translate(-50%,0)}}

/* ========================================================================== 
   V91 · MOBILE-FIRST UX / NAVEGACIÓN / LEGIBILIDAD
   ========================================================================== */
:root{--mobile-bottom-nav-height:72px}
.mobile-bottom-nav{display:none}
.register-invite-details{margin:2px 0 14px;border:1px solid rgba(17,19,24,.08);border-radius:16px;background:#fafbfc;overflow:hidden}
.register-invite-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:0 14px;color:#515b69;font-size:12px;font-weight:800;cursor:pointer}
.register-invite-details summary::-webkit-details-marker{display:none}.register-invite-details summary span{padding:5px 8px;border-radius:999px;background:#fff1cf;color:#9e6500;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.register-invite-details .form-group{margin:0;padding:0 14px 14px}

@media(max-width:1050px){
    /* Safe areas + cabecera más ligera en GPU. */
    .nav-wrapper{padding:max(10px,env(safe-area-inset-top)) 10px 10px!important;transition:padding .22s ease,opacity .2s ease,transform .26s cubic-bezier(.22,.61,.36,1)}
    .nav-wrapper.scrolled{padding:max(7px,env(safe-area-inset-top)) 10px 7px!important}
    .glass-nav{background:rgba(255,255,255,.88);backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%);box-shadow:0 9px 28px rgba(25,20,10,.065)}
    .site-noise{display:none}
    .legal-modal-backdrop,.support-modal-backdrop{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

    /* Navegación inferior de uso diario. */
    body.is-authenticated{padding-bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))}
    .mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));z-index:1190;display:grid;grid-template-columns:repeat(4,1fr);height:64px;padding:5px;border:1px solid rgba(255,255,255,.8);border-radius:21px;background:rgba(255,255,255,.94);box-shadow:0 16px 45px rgba(17,19,24,.15),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .24s ease,opacity .2s ease}
    .mobile-bottom-nav-item{position:relative;display:grid;place-items:center;align-content:center;gap:2px;min-width:0;min-height:54px;border-radius:16px;color:#78818e;text-decoration:none;font-family:var(--font-display),sans-serif}
    .mobile-bottom-nav-item>span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;transition:background .18s ease,color .18s ease,transform .18s ease}
    .mobile-bottom-nav-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .mobile-bottom-nav-item small{font-size:10.5px!important;line-height:1;font-weight:700;letter-spacing:-.01em;color:inherit!important}
    .mobile-bottom-nav-item.is-active{color:#111318;background:#fff7e7}
    .mobile-bottom-nav-item.is-active>span{background:linear-gradient(145deg,#ffe9af,#ffc95f);color:#a66300;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
    .mobile-bottom-nav-item:active>span{transform:scale(.94)}

    /* El menú hamburguesa queda para acciones secundarias y puede hacer scroll. */
    body.mobile-menu-open{overflow:hidden;overscroll-behavior:none}
    .mobile-navigation{max-height:calc(100dvh - max(94px,env(safe-area-inset-top) + 78px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
    .mobile-navigation.is-open{max-height:calc(100dvh - max(94px,env(safe-area-inset-top) + 78px))}
    .mobile-navigation .mobile-session-copy strong{font-size:14px!important}.mobile-navigation .mobile-session-copy small{font-size:11.5px!important;line-height:1.4!important;color:#687382!important}
    .mobile-nav-label{font-size:10px!important;color:#737e8d!important}

    /* Durante una partida activa la interfaz del juego gana todo el viewport. */
    body.game-session-active .nav-wrapper{opacity:0;transform:translateY(calc(-100% - 16px));pointer-events:none}
    body.game-session-active .mobile-bottom-nav{opacity:0;transform:translateY(calc(100% + 24px));pointer-events:none}

    /* iOS: 16 px evita el zoom automático al enfocar formularios. */
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select{font-size:16px!important}

    /* Legibilidad: el móvil no utiliza microtexto funcional. */
    .section-kicker{font-size:10.5px!important;letter-spacing:.13em}
    .dashboard-resource-card small,.game-filter-note small,.game-library-copy small,.game-library-page-status span,.shop-product-copy small,.shop-product-footer small,.shop-product-tag,.ranking-prize-card>small,.ranking-row-score span,.ranking-info-grid>div>span,.ranking-history-list small,.account-data small,.session-item small,.form-help,.form-label-optional{font-size:10.5px!important}
    .dashboard-resource-card p,.game-library-copy p,.dashboard-shop-copy p,.dashboard-invite-copy p,.dashboard-coupon-copy p,.dashboard-ranking-copy p,.shop-catalog-head p,.shop-product-copy p,.ranking-row-user span,.ranking-info-grid p,.ranking-info-rules p,.ranking-history p,.account-note,.account-verify-banner p,.notification-copy p,.notification-copy small,.account-list-intro{font-size:12px!important;line-height:1.55!important;color:#687382!important}
    .game-library-reward span,.game-filter,.shop-filter,.shop-product-footer button,.account-soft-button,.account-clean-button,.invite-copy-btn{font-size:11px!important}
    .game-library-page-status strong,.ranking-row-user strong,.ranking-history-list strong{font-size:12px!important}
    .ranking-row-score strong{font-size:16px!important}.ranking-row-score span{color:#707987!important}
    .ranking-info-grid strong{font-size:13px!important}.ranking-info-done{min-height:48px}
    .ranking-info-btn,.ranking-info-close,.dashboard-avatar-modal-close{width:44px!important;height:44px!important;flex-basis:44px!important}
    .game-library-page-btn{min-height:44px!important;min-width:44px}
    .shop-filter{min-height:44px!important}.account-clean-button,.account-soft-button{min-height:44px!important}
    .dashboard-coupon-control button{min-height:48px}

    /* Panel: menos texto auxiliar, más jerarquía. */
    .dashboard-resource-card p{margin-top:3px}.dashboard-resource-card strong{font-size:18px!important}
    .dashboard-resource-card small{color:#778290!important}
    .dashboard-ranking-copy h2{font-size:22px!important}.dashboard-ranking-copy p{color:#c0c6cf!important}

    /* Home: ritmo vertical más compacto en teléfono. */
    .demo-section,.intro-section,.progress-section,.pillars-section{padding:70px 0!important}
    .final-cta{margin-top:54px!important;margin-bottom:38px!important}
    .pillar-copy p{font-size:12px!important;color:#687382}
    .feature-content p{font-size:13px!important}
    .heading-note p{font-size:13.5px!important}

    /* Login: la acción aparece primero; registro conserva el contexto comercial. */
    body.route-inicio-sesion .auth-pitch{display:none}
    body.route-inicio-sesion .auth-shell{gap:0}
    body.route-inicio-sesion .auth-section{padding-top:108px}
    body.route-registro .auth-pitch{padding-bottom:0}
    body.route-registro .auth-pitch h1{font-size:clamp(40px,11vw,54px)}
    body.route-registro .register-hero-title{max-width:560px;margin-inline:auto}
    body.route-registro .auth-card-register .auth-title{font-size:clamp(30px,8.3vw,37px)}
    body.route-registro .auth-pitch p{margin-top:15px;font-size:13px}
    .form-label,.account-form label{font-size:12px!important}.form-help{color:#687382!important;line-height:1.5}
    .checkbox-group label{font-size:12px!important;line-height:1.55}
    .register-invite-details summary{font-size:13px}.register-invite-details summary span{font-size:10px}

    /* Ranking y modales: lectura cómoda y controles táctiles. */
    .ranking-hero-copy>p{font-size:13px!important}.ranking-prize-card p{font-size:12px!important}.ranking-info-modal-card{padding-top:24px!important}
    .ranking-info-rules{color:#d0d5dc}.ranking-info-close{right:12px!important;top:12px!important}

    /* Flotantes comparten una misma zona y no pisan la navegación inferior. */
    body.is-authenticated .minds-toast-stack{top:auto;right:12px;bottom:calc(var(--mobile-bottom-nav-height) + 16px + env(safe-area-inset-bottom));width:calc(100vw - 24px)}
    .minds-toast{font-size:12px!important;line-height:1.45;min-height:58px}
    body.is-authenticated .back-to-top{display:none}
    body.is-authenticated .pwa-install-banner{bottom:calc(var(--mobile-bottom-nav-height) + 14px + env(safe-area-inset-bottom))}
    .pwa-install-banner{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
    .pwa-install-copy p{font-size:12px!important;color:#c1c7d0}.pwa-install-copy strong{font-size:14px}.pwa-install-primary,.pwa-install-secondary{min-height:44px;font-size:12px}.pwa-install-close{right:7px;top:7px;width:44px;height:44px;font-size:20px}

    /* Menos trabajo de composición en dispositivos táctiles. */
    .product-window,.dashboard-avatar-modal-card,.ranking-info-modal-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

@media(max-width:600px){
    .section-shell{width:min(100% - 22px,620px)}
    .mobile-bottom-nav{left:8px;right:8px;bottom:max(6px,env(safe-area-inset-bottom));border-radius:20px}
    .mobile-bottom-nav-item small{font-size:10px!important}
    .auth-card{padding:21px 18px!important}
    body.route-inicio-sesion .auth-section{padding-top:100px}
    .dashboard-resource-grid{gap:10px}
    .dashboard-resource-card{padding:14px!important}
    .dashboard-resource-card p{font-size:11.5px!important}
    .ranking-row{grid-template-columns:34px 38px minmax(0,1fr) auto!important;gap:7px!important}
    .ranking-row-user span{font-size:10.5px!important}.ranking-row-score span{font-size:9.5px!important}
    .shop-product-copy p{min-height:0!important}.shop-product-footer button{min-height:44px!important}
    .pwa-install-banner{width:calc(100% - 16px);padding:12px 44px 12px 12px}
}

@media(max-width:390px){
    .nav-logo-txt{font-size:16px!important}.logo-mark{width:36px!important;height:36px!important;flex-basis:36px!important}
    .mobile-bottom-nav{height:62px;padding:4px}.mobile-bottom-nav-item{min-height:52px}.mobile-bottom-nav-item small{font-size:9.5px!important}
    .dashboard-resource-card p{font-size:11px!important}
}

@media(hover:none),(pointer:coarse){
    .feature-card:hover,.shop-product:hover,.ranking-row:hover,.nav-quick-btn:hover,.btn-volumetrico:hover{transform:none}
}
@media(max-width:1050px){
    body.mobile-keyboard-open .mobile-bottom-nav{opacity:0;transform:translateY(calc(100% + 24px));pointer-events:none}
}
@media(max-width:1050px){body.mobile-keyboard-open .pwa-install-banner{opacity:0!important;pointer-events:none!important}}
@media(max-width:1050px){
    .daily-badge,.daily-game-card-top,.daily-game-copy small{font-size:10.5px!important}
    .daily-rule-row span{font-size:11.5px!important}.daily-game-copy p{font-size:12px!important;color:#687382!important}
    .weekly-check-copy>p{font-size:12.5px!important;color:#c0c6cf!important}.weekly-check-meta span{font-size:11px!important}.weekly-day small{font-size:10px!important}.weekly-next-copy{font-size:11.5px!important}
    .stats-coming-pill{font-size:11px!important;color:#b9c0ca!important}.future-stats-grid small,.future-chart-top{font-size:10px!important}.future-stats-grid span{font-size:10.5px!important;color:#9ca5b1!important}
    .invite-total{font-size:10.5px!important;color:#737d8a!important}.dashboard-coupon-form>label{font-size:10.5px!important}.dashboard-coupon-form>small{font-size:11px!important;color:#737d8a!important}
    .dashboard-avatar-modal .dashboard-avatar-option small{font-size:11px!important}
}
@media(max-width:820px){
    .hero-meta,.ticker-item{font-size:10.5px!important}
    .window-topbar,.micro-label,.window-stats span,.hero-float-card small,.demo-label,.demo-best span,.feature-tag,.step-head,.session-step-card small,.dashboard-pill,.metric-block>span,.panel-top span,.panel-footer span,.pillar-label,.score-head span,.pillar-score small,.footer-signature{font-size:10px!important}
    .pillar-label,.score-head span{letter-spacing:.11em!important}
}


/* ========================================================================== 
   V92 · Historial MC del usuario
   ========================================================================== */
.dashboard-mc-history{margin-top:24px;padding:26px 28px;border:1px solid rgba(17,19,24,.07);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 18px 48px rgba(17,19,24,.045)}
.dashboard-mc-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.dashboard-mc-history-head h2{margin:5px 0 6px;color:#17191d;font:700 clamp(23px,3vw,31px)/1 var(--font-display);letter-spacing:-.04em}.dashboard-mc-history-head h2 span{color:#e58a00}
.dashboard-mc-history-head p{max-width:610px;margin:0;color:#727c89;font-size:12px;line-height:1.55}
.dashboard-mc-history-balance{flex:0 0 auto;min-width:132px;padding:12px 14px;border:1px solid rgba(17,19,24,.065);border-radius:16px;background:#f8f9fa;text-align:right}
.dashboard-mc-history-balance small,.dashboard-mc-history-summary small{display:block;color:#89929e;font:800 8.5px var(--font-display);letter-spacing:.11em}
.dashboard-mc-history-balance strong{display:block;margin-top:3px;color:#17191d;font:700 20px var(--font-display)}.dashboard-mc-history-balance strong span{font-size:10px;letter-spacing:.06em;color:#929aa5}
.dashboard-mc-history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.dashboard-mc-history-summary>div{padding:11px 13px;border:1px solid rgba(17,19,24,.055);border-radius:14px;background:#fafbfc}
.dashboard-mc-history-summary strong{display:block;margin-top:3px;color:#252a31;font:700 13px var(--font-display)}.dashboard-mc-history-summary strong.is-income{color:#b56d00}.dashboard-mc-history-summary strong.is-expense{color:#8d5650}
.dashboard-mc-history-mobile-hint{display:none;margin:0 2px 7px;color:#8b949f;font:700 10px var(--font-display);letter-spacing:.02em}.dashboard-mc-history-mobile-hint span{color:#d78600}
.dashboard-mc-history-table-wrap{overflow-x:auto;border:1px solid rgba(17,19,24,.065);border-radius:17px;background:#fff;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}
.dashboard-mc-history-table{width:100%;min-width:610px;border-collapse:collapse;table-layout:fixed}.dashboard-mc-history-table .mc-col-date{width:145px}.dashboard-mc-history-table .mc-col-concept{width:auto}.dashboard-mc-history-table .mc-col-amount{width:92px}.dashboard-mc-history-table .mc-col-balance{width:105px}
.dashboard-mc-history-table th{padding:10px 13px;border-bottom:1px solid rgba(17,19,24,.07);background:#f7f8f9;color:#7d8692;font:800 8.5px var(--font-display);letter-spacing:.11em;text-align:left;text-transform:uppercase}
.dashboard-mc-history-table td{height:49px;padding:9px 13px;border-bottom:1px solid rgba(17,19,24,.05);color:#4d5662;font-size:11px;vertical-align:middle}.dashboard-mc-history-table tbody tr:last-child td{border-bottom:0}
.dashboard-mc-history-table td:first-child time{white-space:nowrap;color:#7c8591;font:600 10.5px var(--font-display)}.dashboard-mc-history-table td:nth-child(2){display:flex;align-items:center;gap:9px;min-width:0}.mc-movement-kind{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:#fff3d8;color:#b76d00;font:800 13px var(--font-display)}.mc-movement-kind.is-expense{background:#f8eeee;color:#945850}.mc-movement-copy{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#30363e;font-weight:650}
.dashboard-mc-history-table td:nth-child(3),.dashboard-mc-history-table td:nth-child(4){white-space:nowrap}.dashboard-mc-history-table td:nth-child(3) strong{font:750 12px var(--font-display)}.dashboard-mc-history-table td:nth-child(3) strong.is-income{color:#b56d00}.dashboard-mc-history-table td:nth-child(3) strong.is-expense{color:#945850}.dashboard-mc-history-table td:nth-child(4) span{color:#626c78;font:650 10.5px var(--font-display)}
.mc-history-empty td{display:table-cell!important;height:auto!important;padding:24px!important;text-align:center!important;color:#87909b!important}
.dashboard-mc-history-pagination{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:12px}.dashboard-mc-history-pagination[hidden]{display:none}
.mc-history-page-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:0 12px;border:1px solid rgba(17,19,24,.08);border-radius:11px;background:#fff;color:#4f5864;text-decoration:none;font:700 10.5px var(--font-display);transition:background .18s ease,border-color .18s ease,color .18s ease}.mc-history-page-btn:hover{border-color:rgba(245,158,11,.28);background:#fff8e9;color:#a76300}.mc-history-page-btn.is-disabled{opacity:.38;pointer-events:none}
.mc-history-page-status{min-width:86px;text-align:center;color:#848d98;font:700 9.5px var(--font-display)}

@media(max-width:700px){
    .dashboard-mc-history{padding:19px 16px;border-radius:22px}
    .dashboard-mc-history-head{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px}
    .dashboard-mc-history-head>div:first-child{grid-column:1/-1}.dashboard-mc-history-head p{font-size:12px!important;color:#687382!important}
    .dashboard-mc-history-balance{grid-column:2;grid-row:2;min-width:118px;padding:10px 12px}.dashboard-mc-history-balance small,.dashboard-mc-history-summary small{font-size:10px!important}.dashboard-mc-history-balance strong{font-size:18px}
    .dashboard-mc-history-summary{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}.dashboard-mc-history-summary>div{padding:10px 9px}.dashboard-mc-history-summary strong{font-size:11.5px!important;white-space:nowrap}
    .dashboard-mc-history-mobile-hint{display:block}
    .dashboard-mc-history-table-wrap{margin:0 -1px;border-radius:15px}
    .dashboard-mc-history-table{min-width:570px}.dashboard-mc-history-table th{font-size:10px!important;padding:10px 12px}.dashboard-mc-history-table td{height:52px;padding:9px 12px;font-size:12px!important}.dashboard-mc-history-table td:first-child time,.dashboard-mc-history-table td:nth-child(4) span{font-size:11px!important}.dashboard-mc-history-table td:nth-child(3) strong{font-size:12.5px!important}
    .dashboard-mc-history-pagination{justify-content:space-between;gap:6px}.mc-history-page-btn{min-width:44px;min-height:44px;padding:0 11px;font-size:11px}.mc-history-page-status{font-size:10px!important;min-width:80px}.mc-history-page-btn span{display:none}
}
@media(max-width:390px){.dashboard-mc-history{padding:17px 13px}.dashboard-mc-history-summary strong{font-size:10.5px!important}.dashboard-mc-history-table{min-width:550px}}


/* =========================================================
   V102 · Avatares de marca Minds.Training en WebP
   Mantiene los códigos históricos para no requerir migración.
   ========================================================= */
.minds-avatar--orbit{--minds-avatar-image:url('/assets/avatars/avatar-orbit.webp')}
.minds-avatar--pulse{--minds-avatar-image:url('/assets/avatars/avatar-pulse.webp')}
.minds-avatar--nova{--minds-avatar-image:url('/assets/avatars/avatar-nova.webp')}
.minds-avatar--grid{--minds-avatar-image:url('/assets/avatars/avatar-grid.webp')}
.minds-avatar--focus{--minds-avatar-image:url('/assets/avatars/avatar-focus.webp')}
.minds-avatar--apex{--minds-avatar-image:url('/assets/avatars/avatar-apex.webp')}
.minds-avatar--pirata{--minds-avatar-image:url('/assets/avatars/avatar-pirata.webp')}
.minds-avatar--sabio{--minds-avatar-image:url('/assets/avatars/avatar-sabio.webp')}
.minds-avatar--barba{--minds-avatar-image:url('/assets/avatars/avatar-barba.webp')}
.minds-avatar--rata{--minds-avatar-image:url('/assets/avatars/avatar-rata.webp')}
.minds-avatar--mujer{--minds-avatar-image:url('/assets/avatars/avatar-mujer.webp')}

.minds-avatar{
    background-color:#fff!important;
    background-image:var(--minds-avatar-image)!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    border-color:rgba(17,19,24,.08)!important;
    box-shadow:0 14px 32px rgba(17,19,24,.10)!important;
}
.minds-avatar::before,.minds-avatar i,.minds-avatar b{display:none!important}
.dashboard-avatar-trigger:hover .minds-avatar{
    box-shadow:0 20px 40px rgba(17,19,24,.14),0 0 0 4px rgba(245,158,11,.08)!important;
}
.dashboard-avatar-modal .dashboard-avatar-option .minds-avatar{
    background-size:cover!important;
    border:1px solid rgba(17,19,24,.075)!important;
    box-shadow:0 9px 22px rgba(17,19,24,.09)!important;
}
.dashboard-avatar-modal .dashboard-avatar-option.is-selected .minds-avatar{
    box-shadow:0 10px 24px rgba(245,158,11,.15),0 0 0 2px rgba(245,158,11,.18)!important;
}

.ranking-row-avatar[class*="minds-avatar--"]{
    background-color:#fff!important;
    background-image:var(--minds-avatar-image)!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    border:1px solid rgba(17,19,24,.07);
    box-shadow:0 6px 15px rgba(17,19,24,.08);
}


/* =========================================================
   V105 · Pre-lanzamiento: accesibilidad + diagnóstico ADMIN
   ========================================================= */
.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}
[hidden]{display:none!important}
:target{scroll-margin-top:110px}
@media (prefers-contrast:more){
    :focus-visible{outline-width:4px;outline-color:#d56b00}
    .nav-quick-btn,.mobile-bottom-nav-item,.form-input,.admin-filter-input{border-color:rgba(17,19,24,.28)}
}
.admin-health-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 18px;padding:18px 20px;border:1px solid rgba(17,19,24,.07);border-radius:20px;background:linear-gradient(135deg,#fffdf8,#f8fafb)}
.admin-health-score{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#17191d;color:#fff;font:800 18px var(--font-display);box-shadow:0 12px 28px rgba(17,19,24,.14)}
.admin-health-summary strong{display:block;font:700 16px var(--font-display)}.admin-health-summary p{margin:4px 0 0;color:#77818f;font-size:11px;line-height:1.55}
.admin-health-state{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.admin-health-state.is-ok{background:#e9f9ef;color:#217a4a}.admin-health-state.is-warning{background:#fff5d9;color:#986000}.admin-health-state.is-bad{background:#fff0ee;color:#a52d25}
.admin-health-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.admin-health-check{display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;align-items:start;padding:11px 12px;border:1px solid rgba(17,19,24,.06);border-radius:14px;background:#fff}
.admin-health-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.08)}
.admin-health-check.is-warning .admin-health-dot{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.09)}.admin-health-check.is-bad .admin-health-dot{background:#dc3f3f;box-shadow:0 0 0 4px rgba(220,63,63,.08)}
.admin-health-check strong{display:block;font-size:10.5px}.admin-health-check small{display:block;margin-top:2px;color:#8a93a0;font-size:9px;line-height:1.45}
.admin-system-grid>div.is-health-warning{border-color:rgba(245,158,11,.18);background:#fffaf0}.admin-system-grid>div.is-health-bad{border-color:rgba(220,63,63,.16);background:#fff7f6}
@media(max-width:900px){.admin-health-checks{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.admin-health-summary{grid-template-columns:auto 1fr}.admin-health-state{grid-column:1/-1;justify-self:start}.admin-health-checks{grid-template-columns:1fr}.admin-health-score{width:56px;height:56px;border-radius:16px;font-size:16px}}

/* V105 · Preferencia de navegación: en escritorio, accesos principales solo con icono. */
@media (min-width:1051px){
    .nav-actions-session .nav-quick-btn:not(.nav-quick-btn-logout){width:52px;min-width:52px;padding:0;justify-content:center;gap:0}
    .nav-actions-session .nav-quick-btn:not(.nav-quick-btn-logout) .nav-quick-label{display:none}
    .nav-actions-session .nav-quick-btn:not(.nav-quick-btn-logout) .nav-quick-icon{width:30px;height:30px}
}

/* ========================================================================== */
/* V106 · OBSERVABILIDAD / REPORTES                                           */
/* ========================================================================== */

.footer-text-button {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    padding: 0;
    text-align: left;
    cursor: pointer;
    opacity: .78;
    transition: opacity .2s ease, transform .2s ease;
}
.footer-text-button:hover { opacity: 1; transform: translateX(2px); }
.footer-text-button:focus-visible {
    outline: 3px solid rgba(245, 158, 11, .32);
    outline-offset: 4px;
    border-radius: 5px;
}

.problem-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}
.problem-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.problem-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 19, 24, .58);
    backdrop-filter: blur(10px);
}
.problem-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: min(760px, calc(100vh - 36px));
    overflow: auto;
    border: 1px solid rgba(17, 19, 24, .09);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(17, 19, 24, .22);
    padding: clamp(22px, 4vw, 34px);
    transform: translateY(12px) scale(.985);
    transition: transform .22s ease;
}
.problem-modal.is-open .problem-modal-dialog { transform: translateY(0) scale(1); }
.problem-modal-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.problem-modal-topbar h2 {
    margin: 8px 0 0;
    font-family: var(--font-display), sans-serif;
    font-size: clamp(28px, 5vw, 40px);
    letter-spacing: -.045em;
    line-height: 1;
}
.problem-modal-close {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border: 1px solid #e6e7e9;
    border-radius: 50%;
    background: #f8f8f7;
    color: #191b20;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.problem-modal-close:hover { background: #f0f1f2; }
.problem-modal-close:focus-visible,
.problem-report-form select:focus-visible,
.problem-report-form textarea:focus-visible {
    outline: 3px solid rgba(245, 158, 11, .28);
    outline-offset: 2px;
}
.problem-modal-desc {
    margin: 18px 0 24px;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.65;
}
.problem-report-form { display: grid; gap: 18px; }
.problem-report-form label {
    display: grid;
    gap: 8px;
    color: #282b31;
    font-size: 13px;
    font-weight: 800;
}
.problem-report-form select,
.problem-report-form textarea {
    width: 100%;
    border: 1px solid #dfe1e5;
    border-radius: 16px;
    background: #fbfbfa;
    color: #17191d;
    font: inherit;
    font-weight: 500;
    padding: 13px 14px;
}
.problem-report-form textarea { min-height: 132px; resize: vertical; line-height: 1.55; }
.problem-report-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
}
.problem-report-feedback {
    flex: 1 1 auto;
    color: #697386;
    font-size: 13px;
    line-height: 1.4;
}
.problem-report-feedback.is-ok { color: #177245; }
.problem-report-feedback.is-error { color: #a13232; }
body.problem-modal-open { overflow: hidden; }

.admin-observability-card { margin-top: 24px; }
.admin-observability-card .admin-card-head p {
    margin: 7px 0 0;
    color: #7b8493;
    font-size: 13px;
}
.admin-observability-stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin-top: 20px;
}
.admin-observability-stat {
    min-width: 0;
    border: 1px solid #e5e6e8;
    border-radius: 18px;
    background: #fbfbfa;
    padding: 15px;
}
.admin-observability-stat small,
.admin-observability-stat span {
    display: block;
    color: #8a93a1;
    font-size: 10px;
    line-height: 1.35;
}
.admin-observability-stat small {
    margin-bottom: 8px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-observability-stat strong {
    display: block;
    margin-bottom: 5px;
    color: #191b20;
    font-family: var(--font-display), sans-serif;
    font-size: 26px;
    line-height: 1;
}
.admin-observability-stat.has-events {
    border-color: #f1d8a9;
    background: #fff9ec;
}
.admin-observability-stat.is-total { background: #1b1e23; border-color: #1b1e23; }
.admin-observability-stat.is-total strong { color: #fff; }
.admin-observability-stat.is-total small,
.admin-observability-stat.is-total span { color: #aeb5bf; }
.admin-observability-list {
    display: grid;
    gap: 9px;
    margin-top: 18px;
}
.admin-observability-event {
    border: 1px solid #e6e7e9;
    border-radius: 17px;
    background: #fff;
    padding: 14px 15px;
}
.admin-observability-event.is-user_report { border-color: #efdcaa; background: #fffbf1; }
.admin-observability-event.is-database,
.admin-observability-event.is-mail { border-color: #f0c9c9; }
.admin-observability-event-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}
.admin-observability-event-head strong {
    overflow-wrap: anywhere;
    color: #24272d;
    font-size: 13px;
}
.admin-observability-event-head time {
    color: #969daa;
    font-size: 10px;
    white-space: nowrap;
}
.admin-observability-kind {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 999px;
    background: #eff1f3;
    padding: 4px 8px;
    color: #515966;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.admin-observability-event.is-user_report .admin-observability-kind { background: #fff0c9; color: #946000; }
.admin-observability-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 10px;
    color: #8d95a2;
    font-size: 10px;
}
.admin-observability-meta code {
    color: #626a76;
    font-size: 10px;
}
.admin-observability-empty {
    display: grid;
    gap: 4px;
    place-items: center;
    min-height: 110px;
    border: 1px dashed #dfe1e5;
    border-radius: 18px;
    color: #6f7886;
    text-align: center;
}
.admin-observability-empty strong { color: #30343a; }
.admin-observability-empty span { font-size: 12px; }
.admin-observability-note {
    margin: 14px 0 0;
    color: #9aa1ac;
    font-size: 10px;
}

@media (max-width: 1100px) {
    .admin-observability-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .problem-modal { padding: 10px; align-items: end; }
    .problem-modal-dialog {
        width: 100%;
        max-height: calc(100dvh - 14px);
        border-radius: 26px 26px 18px 18px;
        padding: 22px 18px max(22px, env(safe-area-inset-bottom));
    }
    .problem-report-footer { align-items: stretch; flex-direction: column; }
    .problem-report-footer .btn-volumetrico { width: 100%; justify-content: center; }
    .admin-observability-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-observability-event-head { grid-template-columns: auto minmax(0, 1fr); }
    .admin-observability-event-head time { grid-column: 2; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
    .problem-modal,
    .problem-modal-dialog,
    .footer-text-button { transition: none !important; }
}


/* V108 · Resumen Home — tarjetas métricas responsive + separación icono/título */
.home-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-top:30px;
    padding:0;
    border:0;
}
.home-stats-grid .stat{
    position:relative;
    min-width:0;
    min-height:160px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    padding:22px 23px;
    overflow:hidden;
    border:1px solid rgba(17,19,24,.075);
    border-radius:24px;
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,250,239,.78));
    box-shadow:0 12px 34px rgba(17,19,24,.045),inset 0 1px 0 rgba(255,255,255,.9);
    text-align:left;
    isolation:isolate;
}
.home-stats-grid .stat::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:120px;
    height:120px;
    right:-45px;
    top:-54px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(245,158,11,.14),rgba(245,158,11,0) 70%);
    pointer-events:none;
}
.home-stats-grid .stat:first-child,
.home-stats-grid .stat:last-child,
.home-stats-grid .stat:nth-child(3),
.home-stats-grid .stat:nth-child(4){padding-left:23px;padding-right:23px;border-right:1px solid rgba(17,19,24,.075)}
.home-stats-grid .stat:nth-child(3),
.home-stats-grid .stat:nth-child(4){padding-top:22px;border-top:1px solid rgba(17,19,24,.075)}
.home-stats-grid .stat-kicker{
    position:absolute;
    top:18px;
    left:20px;
    display:inline-flex;
    align-items:center;
    gap:11px;
    margin:0;
    color:#9b670c;
    font:700 8px var(--font-display);
    letter-spacing:.13em;
    text-transform:uppercase;
}
.home-stats-grid .stat-kicker i{
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border:1px solid rgba(245,158,11,.14);
    border-radius:9px;
    background:#fff7df;
    color:#d77a06;
    font-style:normal;
    font-size:12px;
    line-height:1;
}
.home-stats-grid .stat strong{
    display:block;
    margin:0;
    color:#111318;
    font:700 clamp(42px,4vw,58px)/.88 var(--font-display);
    letter-spacing:-.075em;
}
.home-stats-grid .stat>span.stat-copy{
    display:block;
    max-width:155px;
    margin-top:12px;
    color:#77808e;
    font-size:10.5px;
    line-height:1.35;
}
@media (hover:hover){
    .home-stats-grid .stat{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
    .home-stats-grid .stat:hover{transform:translateY(-3px);border-color:rgba(245,158,11,.2);box-shadow:0 18px 42px rgba(17,19,24,.07),inset 0 1px 0 rgba(255,255,255,.95)}
}
@media(max-width:800px){
    .home-stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-top:22px;
        padding:0;
    }
    .home-stats-grid .stat,
    .home-stats-grid .stat:first-child,
    .home-stats-grid .stat:last-child,
    .home-stats-grid .stat:nth-child(3),
    .home-stats-grid .stat:nth-child(4){
        min-height:132px;
        padding:18px;
        border:1px solid rgba(17,19,24,.075);
        border-radius:20px;
    }
    .home-stats-grid .stat-kicker{top:14px;left:15px;gap:9px;font-size:7px;letter-spacing:.1em}
    .home-stats-grid .stat-kicker i{width:22px;height:22px;border-radius:8px;font-size:10px}
    .home-stats-grid .stat strong{font-size:42px;line-height:.9}
    .home-stats-grid .stat>span.stat-copy{max-width:125px;margin-top:9px;font-size:9.5px;line-height:1.3}
    .progress-section{padding-bottom:54px!important}
}
@media(max-width:380px){
    .home-stats-grid{gap:8px}
    .home-stats-grid .stat,
    .home-stats-grid .stat:first-child,
    .home-stats-grid .stat:last-child,
    .home-stats-grid .stat:nth-child(3),
    .home-stats-grid .stat:nth-child(4){min-height:124px;padding:15px;border-radius:18px}
    .home-stats-grid .stat-kicker{top:12px;left:12px}
    .home-stats-grid .stat strong{font-size:38px}
    .home-stats-grid .stat>span.stat-copy{font-size:9px}
}


/* V110 · Home stats — mayor separación entre icono y etiqueta */
.home-stats-grid .stat-kicker{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:11px;
    top:18px;
    left:20px;
    line-height:1;
}
.home-stats-grid .stat-kicker i{
    flex:0 0 26px;
    width:26px;
    height:26px;
}

@media(max-width:800px){
    .home-stats-grid{
        grid-auto-rows:136px;
    }
    .home-stats-grid .stat,
    .home-stats-grid .stat:first-child,
    .home-stats-grid .stat:last-child,
    .home-stats-grid .stat:nth-child(3),
    .home-stats-grid .stat:nth-child(4){
        width:100%;
        height:136px;
        min-height:136px;
        padding:16px;
    }
    .home-stats-grid .stat-kicker{
        top:14px;
        left:14px;
        gap:9px;
        font-size:8px;
        letter-spacing:.11em;
    }
    .home-stats-grid .stat-kicker i{
        flex-basis:24px;
        width:24px;
        height:24px;
        border-radius:8px;
        font-size:10px;
    }
    .home-stats-grid .stat strong{
        font-size:40px;
        line-height:.9;
    }
    .home-stats-grid .stat>span.stat-copy{
        min-height:25px;
        margin-top:8px;
        font-size:9.5px;
        line-height:1.3;
    }
}

@media(max-width:380px){
    .home-stats-grid{
        grid-auto-rows:130px;
    }
    .home-stats-grid .stat,
    .home-stats-grid .stat:first-child,
    .home-stats-grid .stat:last-child,
    .home-stats-grid .stat:nth-child(3),
    .home-stats-grid .stat:nth-child(4){
        height:130px;
        min-height:130px;
        padding:14px;
    }
    .home-stats-grid .stat-kicker{
        top:12px;
        left:12px;
        gap:8px;
        font-size:7.5px;
    }
    .home-stats-grid .stat-kicker i{
        flex-basis:23px;
        width:23px;
        height:23px;
    }
    .home-stats-grid .stat strong{font-size:38px}
    .home-stats-grid .stat>span.stat-copy{font-size:9px}
}

/* V111 · Footer report + hero preview móvil */
.link-col .footer-text-button{
    display:block;
    width:auto;
    min-width:0;
    min-height:0;
    margin:10px 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#a8aaad;
    font-family:inherit;
    font-size:12px;
    font-weight:400;
    line-height:1.4;
    text-align:left;
    opacity:1;
    cursor:pointer;
    transition:color .2s ease,transform .2s ease;
}
.link-col .footer-text-button:hover{
    color:#ffc857;
    transform:translateX(2px);
}
.link-col .footer-text-button:focus-visible{
    outline:2px solid rgba(245,158,11,.45);
    outline-offset:3px;
    border-radius:3px;
}

@media(max-width:520px){
    .hero-product-stage{
        min-height:540px;
        padding:14px 0 18px;
    }
    .hero-product-stage .product-window{
        width:min(315px,86vw);
        border-radius:27px;
        transform:rotate(.55deg);
        box-shadow:0 28px 70px rgba(23,20,13,.14);
    }
    .hero-product-stage .window-topbar{
        height:46px;
        padding:0 14px;
        font-size:8px;
    }
    .hero-product-stage .window-body{
        padding:15px 16px 17px;
    }
    .hero-product-stage .session-line strong{
        font-size:27px;
    }
    .hero-product-stage .hero-memory-game,
    .hero-product-stage .hero-sudoku-game,
    .hero-product-stage .hero-flash-game{
        width:min(205px,72%);
        margin:16px auto 13px;
    }
    .hero-product-stage .hero-memory-game{
        gap:5px;
        padding:8px;
    }
    .hero-product-stage .hero-sudoku-game span{
        font-size:6.5px;
    }
    .hero-product-stage .hero-sudoku-game span.is-user{
        font-size:10px;
    }
    .hero-product-stage .hero-flash-game{
        padding:14px;
    }
    .hero-product-stage .hero-flash-target{
        width:52px;
        height:52px;
        margin-left:8px;
        font-size:23px;
    }
    .hero-product-stage .memory-footer{
        gap:8px;
        font-size:8px;
        line-height:1.35;
    }
    .hero-product-stage .window-stats{
        gap:6px;
        margin-top:18px;
    }
    .hero-product-stage .window-stats div{
        padding:8px 9px;
        border-radius:12px;
    }
    .hero-product-stage .window-stats span{
        font-size:7px;
    }
    .hero-product-stage .window-stats b{
        margin-top:4px;
        font-size:13px;
    }

    .hero-product-stage .hero-float-card{
        z-index:7;
        display:flex!important;
        gap:6px;
        max-width:112px;
        padding:7px 8px;
        border-radius:13px;
        background:rgba(255,255,255,.88);
        box-shadow:0 13px 28px rgba(35,25,10,.11);
        white-space:nowrap;
    }
    .hero-product-stage .hero-float-card small{
        font-size:6.2px;
        letter-spacing:.075em;
    }
    .hero-product-stage .hero-float-card b{
        margin-top:2px;
        font-size:10.5px;
        line-height:1.05;
    }
    .hero-product-stage .float-emoji{
        font-size:16px;
    }
    .hero-product-stage .hero-float-top{
        top:3%;
        right:0;
    }
    .hero-product-stage .hero-float-mc{
        top:31%;
        left:0;
    }
    .hero-product-stage .hero-float-lives{
        right:0;
        bottom:31%;
    }
    .hero-product-stage .hero-float-bottom{
        bottom:3%;
        left:0;
    }
}

@media(max-width:360px){
    .hero-product-stage{
        min-height:510px;
    }
    .hero-product-stage .product-window{
        width:min(286px,84vw);
    }
    .hero-product-stage .hero-memory-game,
    .hero-product-stage .hero-sudoku-game,
    .hero-product-stage .hero-flash-game{
        width:min(188px,70%);
    }
    .hero-product-stage .hero-float-card{
        max-width:102px;
        padding:6px 7px;
    }
    .hero-product-stage .hero-float-card small{font-size:5.8px}
    .hero-product-stage .hero-float-card b{font-size:9.5px}
    .hero-product-stage .float-emoji{font-size:15px}
}

/* V112 · Footer móvil centrado */
@media (max-width:700px){
    .site-footer .footer-inner{
        text-align:center;
    }
    .site-footer .footer-main{
        justify-items:center;
        gap:38px;
    }
    .site-footer .footer-brand{
        width:100%;
        max-width:430px;
        margin-inline:auto;
        text-align:center;
    }
    .site-footer .footer-logo{
        display:inline-flex;
        justify-content:center;
        margin:0 auto 18px;
    }
    .site-footer .footer-desc{
        margin-inline:auto;
        text-align:center;
    }
    .site-footer .footer-socials{
        justify-content:center;
        margin-inline:auto;
    }
    .site-footer .footer-links{
        width:100%;
        justify-items:center;
        text-align:center;
    }
    .site-footer .link-col{
        width:100%;
        text-align:center;
    }
    .site-footer .link-col h4,
    .site-footer .link-col a{
        text-align:center;
    }
    .site-footer .link-col .footer-text-button{
        margin:10px auto;
        text-align:center;
    }
    .site-footer .footer-bottom{
        align-items:center;
        justify-content:center;
        text-align:center;
    }
    .site-footer .footer-signature{
        text-align:center;
    }
}

@media (max-width:520px){
    .site-footer .footer-inner{
        padding-top:54px;
    }
    .site-footer .footer-main{
        gap:34px;
        padding-bottom:42px;
    }
    .site-footer .footer-links{
        grid-template-columns:1fr 1fr;
        column-gap:22px;
        row-gap:30px;
    }
    .site-footer .footer-links .link-col:last-child{
        grid-column:1/-1;
        max-width:240px;
    }
    .site-footer .footer-bottom{
        gap:12px;
        padding-top:22px;
    }
}


/* V113 · Footer móvil — solo Cuenta + Legal en paralelo */
@media (max-width:700px){
    .site-footer .footer-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:start;
        column-gap:28px;
        row-gap:0;
    }
    .site-footer .footer-links .link-col:first-child{
        display:none;
    }
    .site-footer .footer-links .link-col:last-child{
        grid-column:auto;
        max-width:none;
    }
}

@media (max-width:520px){
    .site-footer .footer-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:22px;
        row-gap:0;
    }
    .site-footer .footer-links .link-col:last-child{
        grid-column:auto;
        max-width:none;
    }
}


/* V115 · Navegación: se oculta mientras hay desplazamiento y vuelve al parar */
.nav-wrapper{
    transition:
        padding .3s ease,
        opacity .18s ease,
        transform .24s cubic-bezier(.22,.61,.36,1);
    will-change:transform,opacity;
}
.nav-wrapper.is-scroll-hidden{
    opacity:0;
    transform:translate3d(0,calc(-100% - 18px),0);
    pointer-events:none;
}
.mobile-bottom-nav.is-scroll-hidden{
    opacity:0;
    transform:translate3d(0,calc(100% + 24px),0);
    pointer-events:none;
}

@media(max-width:1050px){
    .nav-wrapper{
        transition:
            padding .22s ease,
            opacity .18s ease,
            transform .24s cubic-bezier(.22,.61,.36,1)!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .nav-wrapper,
    .mobile-bottom-nav{
        transition:none!important;
    }
}


/* V116 · Panel móvil — avatar con más presencia y saludo aprovechando todo el ancho */
@media(max-width:760px){
    .dashboard-profile-row{
        grid-template-columns:78px minmax(0,1fr);
        column-gap:16px;
        row-gap:14px;
        width:100%;
    }

    .dashboard-profile-row .dashboard-avatar-trigger{
        width:78px;
        height:78px;
        flex-basis:78px;
        border-radius:23px;
        align-self:center;
    }

    .dashboard-profile-row .dashboard-avatar-trigger>.minds-avatar{
        width:70px;
        height:70px;
        border-radius:21px;
    }

    .dashboard-profile-row .dashboard-avatar-edit{
        width:25px;
        height:25px;
        font-size:10px;
    }

    .dashboard-profile-row .dashboard-welcome{
        width:100%;
        min-width:0;
        max-width:none;
        align-self:center;
    }

    .dashboard-profile-row .dashboard-welcome>.section-kicker{
        display:block;
        margin-bottom:7px;
    }

    .dashboard-welcome-title-row,
    .dashboard-welcome-title-row h1{
        width:100%;
        max-width:none;
    }

    .dashboard-welcome-title-row h1{
        font-size:clamp(32px,8.35vw,38px);
        line-height:.96;
        letter-spacing:-.055em;
        text-wrap:pretty;
    }

    .dashboard-user-name{
        max-width:none;
    }

    .dashboard-wave{
        margin-left:.12em;
    }
}

@media(max-width:480px){
    .dashboard-profile-row{
        grid-template-columns:76px minmax(0,1fr);
        column-gap:14px;
    }

    .dashboard-profile-row .dashboard-avatar-trigger{
        width:76px;
        height:76px;
        flex-basis:76px;
    }

    .dashboard-profile-row .dashboard-avatar-trigger>.minds-avatar{
        width:68px;
        height:68px;
        border-radius:20px;
    }

    .dashboard-welcome-title-row h1{
        font-size:clamp(31px,8.2vw,36px);
        line-height:.95;
    }
}

@media(max-width:360px){
    .dashboard-profile-row{
        grid-template-columns:70px minmax(0,1fr);
        column-gap:12px;
    }

    .dashboard-profile-row .dashboard-avatar-trigger{
        width:70px;
        height:70px;
        flex-basis:70px;
    }

    .dashboard-profile-row .dashboard-avatar-trigger>.minds-avatar{
        width:62px;
        height:62px;
    }

    .dashboard-welcome-title-row h1{
        font-size:30px;
    }
}


/* V117 · Panel móvil — saludo siempre en una sola línea */
@media(max-width:760px){
    .dashboard-welcome-title-row{
        width:100%;
        min-width:0;
        display:flex;
        align-items:baseline;
        flex-wrap:nowrap;
        overflow:visible;
    }

    .dashboard-welcome-title-row h1{
        width:auto;
        max-width:100%;
        min-width:0;
        margin:0;
        white-space:nowrap;
        word-break:normal;
        overflow-wrap:normal;
        text-wrap:nowrap;
        font-size:clamp(25px,7.25vw,34px);
        line-height:1;
        letter-spacing:-.06em;
    }

    .dashboard-user-name,
    .dashboard-wave{
        white-space:nowrap;
    }
}

@media(max-width:430px){
    .dashboard-welcome-title-row h1{
        font-size:clamp(23px,6.95vw,30px);
        letter-spacing:-.065em;
    }
}

@media(max-width:360px){
    .dashboard-welcome-title-row h1{
        font-size:22px;
        letter-spacing:-.07em;
    }
}


/* V118 · Panel — textos secundarios compactos en una sola línea */
.dashboard-resource-card p{
    width:100%;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* CSP hardening: utilidades sin style= inline */
.auth-footer-spaced{margin-top:28px}
.clipboard-fallback{position:fixed!important;left:-9999px!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important}
.progress-track span.is-animated{animation:streakProgress 1s cubic-bezier(.16,1,.3,1) both}
@keyframes streakProgress{from{width:0}to{width:71%}}
.height-pct-0{height:0%!important}
.width-pct-0{width:0%!important}
.height-pct-1{height:1%!important}
.width-pct-1{width:1%!important}
.height-pct-2{height:2%!important}
.width-pct-2{width:2%!important}
.height-pct-3{height:3%!important}
.width-pct-3{width:3%!important}
.height-pct-4{height:4%!important}
.width-pct-4{width:4%!important}
.height-pct-5{height:5%!important}
.width-pct-5{width:5%!important}
.height-pct-6{height:6%!important}
.width-pct-6{width:6%!important}
.height-pct-7{height:7%!important}
.width-pct-7{width:7%!important}
.height-pct-8{height:8%!important}
.width-pct-8{width:8%!important}
.height-pct-9{height:9%!important}
.width-pct-9{width:9%!important}
.height-pct-10{height:10%!important}
.width-pct-10{width:10%!important}
.height-pct-11{height:11%!important}
.width-pct-11{width:11%!important}
.height-pct-12{height:12%!important}
.width-pct-12{width:12%!important}
.height-pct-13{height:13%!important}
.width-pct-13{width:13%!important}
.height-pct-14{height:14%!important}
.width-pct-14{width:14%!important}
.height-pct-15{height:15%!important}
.width-pct-15{width:15%!important}
.height-pct-16{height:16%!important}
.width-pct-16{width:16%!important}
.height-pct-17{height:17%!important}
.width-pct-17{width:17%!important}
.height-pct-18{height:18%!important}
.width-pct-18{width:18%!important}
.height-pct-19{height:19%!important}
.width-pct-19{width:19%!important}
.height-pct-20{height:20%!important}
.width-pct-20{width:20%!important}
.height-pct-21{height:21%!important}
.width-pct-21{width:21%!important}
.height-pct-22{height:22%!important}
.width-pct-22{width:22%!important}
.height-pct-23{height:23%!important}
.width-pct-23{width:23%!important}
.height-pct-24{height:24%!important}
.width-pct-24{width:24%!important}
.height-pct-25{height:25%!important}
.width-pct-25{width:25%!important}
.height-pct-26{height:26%!important}
.width-pct-26{width:26%!important}
.height-pct-27{height:27%!important}
.width-pct-27{width:27%!important}
.height-pct-28{height:28%!important}
.width-pct-28{width:28%!important}
.height-pct-29{height:29%!important}
.width-pct-29{width:29%!important}
.height-pct-30{height:30%!important}
.width-pct-30{width:30%!important}
.height-pct-31{height:31%!important}
.width-pct-31{width:31%!important}
.height-pct-32{height:32%!important}
.width-pct-32{width:32%!important}
.height-pct-33{height:33%!important}
.width-pct-33{width:33%!important}
.height-pct-34{height:34%!important}
.width-pct-34{width:34%!important}
.height-pct-35{height:35%!important}
.width-pct-35{width:35%!important}
.height-pct-36{height:36%!important}
.width-pct-36{width:36%!important}
.height-pct-37{height:37%!important}
.width-pct-37{width:37%!important}
.height-pct-38{height:38%!important}
.width-pct-38{width:38%!important}
.height-pct-39{height:39%!important}
.width-pct-39{width:39%!important}
.height-pct-40{height:40%!important}
.width-pct-40{width:40%!important}
.height-pct-41{height:41%!important}
.width-pct-41{width:41%!important}
.height-pct-42{height:42%!important}
.width-pct-42{width:42%!important}
.height-pct-43{height:43%!important}
.width-pct-43{width:43%!important}
.height-pct-44{height:44%!important}
.width-pct-44{width:44%!important}
.height-pct-45{height:45%!important}
.width-pct-45{width:45%!important}
.height-pct-46{height:46%!important}
.width-pct-46{width:46%!important}
.height-pct-47{height:47%!important}
.width-pct-47{width:47%!important}
.height-pct-48{height:48%!important}
.width-pct-48{width:48%!important}
.height-pct-49{height:49%!important}
.width-pct-49{width:49%!important}
.height-pct-50{height:50%!important}
.width-pct-50{width:50%!important}
.height-pct-51{height:51%!important}
.width-pct-51{width:51%!important}
.height-pct-52{height:52%!important}
.width-pct-52{width:52%!important}
.height-pct-53{height:53%!important}
.width-pct-53{width:53%!important}
.height-pct-54{height:54%!important}
.width-pct-54{width:54%!important}
.height-pct-55{height:55%!important}
.width-pct-55{width:55%!important}
.height-pct-56{height:56%!important}
.width-pct-56{width:56%!important}
.height-pct-57{height:57%!important}
.width-pct-57{width:57%!important}
.height-pct-58{height:58%!important}
.width-pct-58{width:58%!important}
.height-pct-59{height:59%!important}
.width-pct-59{width:59%!important}
.height-pct-60{height:60%!important}
.width-pct-60{width:60%!important}
.height-pct-61{height:61%!important}
.width-pct-61{width:61%!important}
.height-pct-62{height:62%!important}
.width-pct-62{width:62%!important}
.height-pct-63{height:63%!important}
.width-pct-63{width:63%!important}
.height-pct-64{height:64%!important}
.width-pct-64{width:64%!important}
.height-pct-65{height:65%!important}
.width-pct-65{width:65%!important}
.height-pct-66{height:66%!important}
.width-pct-66{width:66%!important}
.height-pct-67{height:67%!important}
.width-pct-67{width:67%!important}
.height-pct-68{height:68%!important}
.width-pct-68{width:68%!important}
.height-pct-69{height:69%!important}
.width-pct-69{width:69%!important}
.height-pct-70{height:70%!important}
.width-pct-70{width:70%!important}
.height-pct-71{height:71%!important}
.width-pct-71{width:71%!important}
.height-pct-72{height:72%!important}
.width-pct-72{width:72%!important}
.height-pct-73{height:73%!important}
.width-pct-73{width:73%!important}
.height-pct-74{height:74%!important}
.width-pct-74{width:74%!important}
.height-pct-75{height:75%!important}
.width-pct-75{width:75%!important}
.height-pct-76{height:76%!important}
.width-pct-76{width:76%!important}
.height-pct-77{height:77%!important}
.width-pct-77{width:77%!important}
.height-pct-78{height:78%!important}
.width-pct-78{width:78%!important}
.height-pct-79{height:79%!important}
.width-pct-79{width:79%!important}
.height-pct-80{height:80%!important}
.width-pct-80{width:80%!important}
.height-pct-81{height:81%!important}
.width-pct-81{width:81%!important}
.height-pct-82{height:82%!important}
.width-pct-82{width:82%!important}
.height-pct-83{height:83%!important}
.width-pct-83{width:83%!important}
.height-pct-84{height:84%!important}
.width-pct-84{width:84%!important}
.height-pct-85{height:85%!important}
.width-pct-85{width:85%!important}
.height-pct-86{height:86%!important}
.width-pct-86{width:86%!important}
.height-pct-87{height:87%!important}
.width-pct-87{width:87%!important}
.height-pct-88{height:88%!important}
.width-pct-88{width:88%!important}
.height-pct-89{height:89%!important}
.width-pct-89{width:89%!important}
.height-pct-90{height:90%!important}
.width-pct-90{width:90%!important}
.height-pct-91{height:91%!important}
.width-pct-91{width:91%!important}
.height-pct-92{height:92%!important}
.width-pct-92{width:92%!important}
.height-pct-93{height:93%!important}
.width-pct-93{width:93%!important}
.height-pct-94{height:94%!important}
.width-pct-94{width:94%!important}
.height-pct-95{height:95%!important}
.width-pct-95{width:95%!important}
.height-pct-96{height:96%!important}
.width-pct-96{width:96%!important}
.height-pct-97{height:97%!important}
.width-pct-97{width:97%!important}
.height-pct-98{height:98%!important}
.width-pct-98{width:98%!important}
.height-pct-99{height:99%!important}
.width-pct-99{width:99%!important}
.height-pct-100{height:100%!important}
.width-pct-100{width:100%!important}

/* Vista previa Patrones Zen */
.hero-patterns-game{box-sizing:border-box;width:min(330px,92%);min-height:300px;margin:21px auto 15px;display:grid;align-content:center;gap:22px;padding:26px 20px;border:1px solid rgba(17,19,24,.06);border-radius:18px;background:linear-gradient(145deg,#fff,#fffaf0)}
.hero-patterns-sequence{display:flex;justify-content:center;gap:8px}.hero-patterns-sequence span{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(17,19,24,.12);border-radius:12px;background:#fff;font:800 14px var(--font-display)}.hero-patterns-sequence span.is-missing{background:#17191d;color:#fff;border-color:#17191d}
.hero-patterns-options{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.hero-patterns-options span{min-height:38px;display:grid;place-items:center;border:1px solid rgba(17,19,24,.07);border-radius:11px;background:#fff;font:800 12px var(--font-display)}.hero-patterns-options span.is-answer{background:#eaf8ef;border-color:#bfe8cd;color:#227c49}
@media(max-width:800px){.hero-patterns-game{width:min(285px,90%)}}
@media(max-width:520px){.hero-patterns-game{width:min(245px,92%);min-height:235px;padding:18px 12px;gap:17px}.hero-patterns-sequence{gap:5px}.hero-patterns-sequence span{width:36px;height:36px;border-radius:10px;font-size:12px}}

/* =========================================================
   V96 — Perfil cognitivo, evolución y récords personales
   ========================================================= */
.cognitive-profile-card{margin-top:28px;padding:32px;border:1px solid rgba(17,19,24,.08);border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,250,240,.88));box-shadow:0 22px 60px rgba(17,19,24,.05)}
.cognitive-profile-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:end}.cognitive-profile-head h2,.personal-records-head h2{margin-top:8px;font-size:38px;line-height:1}.cognitive-profile-head h2 span,.personal-records-head h2 span{color:#e78808}.cognitive-profile-head p,.personal-records-head p{max-width:690px;margin-top:11px;color:#798391;font-size:12px;line-height:1.7}
.cognitive-overall{padding:20px 22px;border-radius:22px;background:#17191f;color:#fff;box-shadow:0 16px 34px rgba(17,19,24,.12)}.cognitive-overall small{display:block;color:#8e97a5;font:700 8px var(--font-display);letter-spacing:.12em}.cognitive-overall strong{display:flex;align-items:baseline;gap:4px;margin-top:7px;font:700 39px var(--font-display)}.cognitive-overall strong span{color:#848d9a;font-size:13px}.cognitive-overall em{display:inline-flex;margin-top:8px;padding:6px 9px;border-radius:999px;font-size:8px;font-style:normal;font-weight:800}.cognitive-overall.is-empty strong{color:#7d8592}
.cognitive-trend.is-up,.cognitive-dimension-footer .is-up{background:#e8f8ef;color:#21804b}.cognitive-trend.is-down,.cognitive-dimension-footer .is-down{background:#fff0eb;color:#b94f2e}.cognitive-trend.is-neutral,.cognitive-dimension-footer .is-neutral{background:#2a2d35;color:#b7bec8}.cognitive-dimension-footer .is-neutral{background:#f1f3f5;color:#7d8692}
.cognitive-dimensions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.cognitive-dimension{min-width:0;padding:18px;border:1px solid rgba(17,19,24,.075);border-radius:21px;background:#fff}.cognitive-dimension.is-empty{background:rgba(255,255,255,.62)}.cognitive-dimension-top{display:flex;align-items:center;gap:11px}.cognitive-dimension-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:14px;background:#fff5dc;font-size:21px}.cognitive-dimension-top small{display:block;color:#9b7331;font:700 7px var(--font-display);letter-spacing:.11em}.cognitive-dimension-top strong{display:flex;align-items:baseline;gap:3px;margin-top:3px;font:700 25px var(--font-display);color:#17191d}.cognitive-dimension-top strong span{color:#a0a7b1;font-size:9px}.cognitive-meter{height:7px;margin-top:17px;overflow:hidden;border-radius:999px;background:#eef0f2}.cognitive-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffc44b,#f47a24)}.cognitive-dimension.is-empty .cognitive-meter i{background:#dde1e5}.cognitive-dimension-meta,.cognitive-dimension-footer{display:flex;justify-content:space-between;gap:10px}.cognitive-dimension-meta{margin-top:9px;color:#8d95a1;font-size:8px}.cognitive-dimension-footer{align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid rgba(17,19,24,.06)}.cognitive-dimension-footer>span{color:#7a8390;font-size:8px;font-weight:700}.cognitive-dimension-footer>b{padding:5px 7px;border-radius:999px;font-size:8px}
.cognitive-evolution-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:12px;margin-top:12px}.cognitive-evolution-chart,.cognitive-insights{border-radius:22px}.cognitive-evolution-chart{padding:19px 20px;background:#17191f;color:#fff}.cognitive-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.cognitive-chart-head small,.cognitive-chart-head strong{display:block}.cognitive-chart-head small{color:#f2a726;font:700 7px var(--font-display);letter-spacing:.12em}.cognitive-chart-head strong{margin-top:4px;font:700 15px var(--font-display)}.cognitive-chart-head>span{color:#7f8895;font-size:8px}.cognitive-chart-bars{height:145px;display:grid;grid-template-columns:repeat(4,1fr);gap:13px;align-items:end;margin-top:18px}.cognitive-chart-column{height:100%;display:grid;grid-template-rows:18px 1fr 18px;align-items:end;gap:5px;text-align:center}.cognitive-chart-column>b{color:#afb6c1;font-size:8px}.cognitive-chart-column>i{display:block;width:min(100%,42px);min-height:3px;margin:0 auto;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#ffd468,#f47a24);box-shadow:0 8px 18px rgba(244,122,36,.12)}.cognitive-chart-column>i.is-empty{background:#30343c;box-shadow:none}.cognitive-chart-column>span{color:#7f8895;font-size:7px}.cognitive-insights{display:grid;grid-template-columns:1fr;overflow:hidden;border:1px solid rgba(17,19,24,.07);background:#fff}.cognitive-insights article{padding:17px 18px;border-bottom:1px solid rgba(17,19,24,.06)}.cognitive-insights article:last-child{border-bottom:0}.cognitive-insights small,.cognitive-insights strong,.cognitive-insights span{display:block}.cognitive-insights small{color:#a0a7b1;font:700 7px var(--font-display);letter-spacing:.1em}.cognitive-insights strong{margin-top:6px;font:700 16px var(--font-display)}.cognitive-insights span{margin-top:4px;color:#858e9b;font-size:8px;line-height:1.5}.cognitive-disclaimer{margin:12px 2px 0;color:#9aa2ad;font-size:8px;line-height:1.6}
.game-library-personal-meta{display:flex;gap:7px;margin-top:14px}.game-library-personal-meta>span{display:flex;align-items:baseline;gap:5px;min-width:0;padding:6px 8px;border-radius:10px;background:#f5f7f8}.game-library-personal-meta small{color:#9aa2ad;font:700 6px var(--font-display);letter-spacing:.09em}.game-library-personal-meta strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#535d6b;font:700 9px var(--font-display)}.game-library-personal-meta .is-record{background:#fff4d8}.game-library-personal-meta .is-record small{color:#af760e}.game-library-personal-meta .is-record strong{color:#a16600}
.personal-records-card{margin-top:28px;padding:28px;border:1px solid rgba(17,19,24,.08);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 20px 55px rgba(17,19,24,.045)}.personal-records-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.personal-records-count{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#fff3d5;color:#9b6506;font-size:8px;font-weight:800}.personal-records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px;margin-top:18px}.personal-record-card{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px 9px;align-content:start;padding:11px;border:1px solid rgba(17,19,24,.075);border-radius:15px;background:#fff;color:#17191d;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.personal-record-card:hover{transform:translateY(-2px);border-color:rgba(245,158,11,.18);box-shadow:0 10px 24px rgba(17,19,24,.06)}.personal-record-card.is-empty{background:#fafbfc}.personal-record-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff3d6;font-size:17px}.personal-record-copy{min-width:0;align-self:center}.personal-record-copy small{display:none}.personal-record-copy h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2}.personal-record-value{grid-column:1/-1;margin-top:1px;padding:8px 9px;border-radius:10px;background:#17191f;color:#fff}.personal-record-card.is-empty .personal-record-value{background:#eef1f4;color:#6f7885}.personal-record-value small,.personal-record-value strong{display:block}.personal-record-value small{color:#929ba8;font:700 6px var(--font-display);letter-spacing:.08em}.personal-record-value strong{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 17px var(--font-display)}.personal-record-meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:5px;color:#8b94a0;font-size:7px;font-weight:700;white-space:nowrap}.personal-record-meta span:last-child{overflow:hidden;text-overflow:ellipsis}
@media(max-width:1050px){.cognitive-dimensions{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.cognitive-profile-card,.personal-records-card{padding:23px}.cognitive-profile-head{grid-template-columns:1fr}.cognitive-overall{width:100%}.cognitive-evolution-grid{grid-template-columns:1fr}.personal-records-head{align-items:flex-start;flex-direction:column}.personal-records-count{align-self:flex-start}.personal-records-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:520px){.cognitive-profile-card,.personal-records-card{padding:18px;border-radius:24px}.cognitive-profile-head h2,.personal-records-head h2{font-size:32px}.cognitive-dimensions{grid-template-columns:1fr}.cognitive-chart-bars{height:125px;gap:7px}.cognitive-dimension{padding:16px}.game-library-personal-meta{flex-wrap:wrap}.game-library-personal-meta>span{max-width:100%}.personal-records-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.personal-record-card{padding:10px;grid-template-columns:30px minmax(0,1fr)}.personal-record-icon{width:30px;height:30px;border-radius:9px;font-size:15px}.personal-record-copy h3{font-size:11px}.personal-record-value strong{font-size:15px}.personal-record-meta{font-size:6.5px}}
@media(max-width:350px){.personal-records-grid{grid-template-columns:1fr}}

/* =========================================================
   V126 · Selector de avatares paginado y navegación visual
   Seis opciones por página; paginador centrado, compacto y táctil.
   ========================================================= */
.dashboard-avatar-modal{
    max-height:calc(100svh - 24px);
}
.dashboard-avatar-modal-card{
    max-height:none;
    overflow:hidden;
}
.dashboard-avatar-pages{
    min-height:244px;
}
.dashboard-avatar-page{
    width:100%;
}
.dashboard-avatar-modal .dashboard-avatar-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.dashboard-avatar-modal .dashboard-avatar-option{
    min-height:112px;
    padding:10px 7px 9px;
}
.dashboard-avatar-modal .dashboard-avatar-option .minds-avatar{
    width:62px;
    height:62px;
    border-radius:20px;
}
.dashboard-avatar-pagination{
    width:max-content;
    max-width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:15px auto 0;
    padding:6px;
    border:1px solid rgba(17,19,24,.07);
    border-radius:999px;
    background:rgba(246,247,249,.92);
    box-shadow:0 8px 24px rgba(17,19,24,.05),inset 0 1px 0 rgba(255,255,255,.85);
}
.dashboard-avatar-page-button{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#20242a;
    box-shadow:0 2px 8px rgba(17,19,24,.07);
    font:800 21px/1 var(--font-display);
    cursor:pointer;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,opacity .16s ease;
}
.dashboard-avatar-page-button:not(:disabled):hover{
    transform:translateY(-1px);
    background:#17191d;
    color:#fff;
    box-shadow:0 7px 16px rgba(17,19,24,.14);
}
.dashboard-avatar-page-button:not(:disabled):active{
    transform:translateY(0) scale(.96);
}
.dashboard-avatar-page-button:focus-visible,
.dashboard-avatar-page-dot:focus-visible{
    outline:2px solid #efa421;
    outline-offset:2px;
}
.dashboard-avatar-page-button:disabled{
    opacity:.3;
    box-shadow:none;
    cursor:default;
}
.dashboard-avatar-pagination-center{
    min-width:104px;
    display:grid;
    place-items:center;
    gap:4px;
    padding:0 4px;
}
.dashboard-avatar-page-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
}
.dashboard-avatar-page-dot{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#cbd0d6;
    cursor:pointer;
    transition:width .18s ease,background .18s ease,transform .18s ease;
}
.dashboard-avatar-page-dot:hover{
    transform:scale(1.2);
    background:#9ca4ae;
}
.dashboard-avatar-page-dot.is-active{
    width:20px;
    background:#e89a15;
}
.dashboard-avatar-page-status{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:4px;
    color:#9199a4;
    font:700 8px/1 var(--font-display);
    letter-spacing:.035em;
    font-variant-numeric:tabular-nums;
}
.dashboard-avatar-page-status strong{
    color:#252a31;
    font-size:10px;
}
.dashboard-avatar-page-status b{
    color:#6f7884;
    font-size:9px;
}
.dashboard-avatar-page-status em{
    font-style:normal;
    color:#a1a8b1;
}

@media(max-width:600px){
    .dashboard-avatar-modal{
        width:calc(100vw - 16px);
        max-height:calc(100svh - 16px);
        border-radius:20px;
    }
    .dashboard-avatar-modal-card{
        padding:15px 14px 13px;
        border-radius:20px;
    }
    .dashboard-avatar-modal-head{margin-bottom:12px;gap:10px}
    .dashboard-avatar-modal-head h2{margin-top:4px;font-size:22px}
    .dashboard-avatar-modal-head p{margin-top:5px;font-size:9.5px;line-height:1.4}
    .dashboard-avatar-modal-close{width:34px;height:34px;flex-basis:34px}
    .dashboard-avatar-pages{min-height:171px}
    .dashboard-avatar-modal .dashboard-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
    .dashboard-avatar-modal .dashboard-avatar-option{min-height:82px;padding:6px 3px 5px;border-radius:14px}
    .dashboard-avatar-modal .dashboard-avatar-option .minds-avatar{width:48px;height:48px;border-radius:15px}
    .dashboard-avatar-modal .dashboard-avatar-option small{margin-top:4px;font-size:9px!important;line-height:1.1}
    .dashboard-avatar-pagination{gap:8px;margin-top:10px;padding:5px}
    .dashboard-avatar-page-button{width:34px;height:34px;flex-basis:34px;font-size:19px}
    .dashboard-avatar-pagination-center{min-width:92px;gap:3px}
    .dashboard-avatar-page-status{font-size:7px}
    .dashboard-avatar-page-dot{width:6px;height:6px}
    .dashboard-avatar-page-dot.is-active{width:17px}
    .dashboard-avatar-feedback{margin-top:8px}
}
@media(max-width:360px){
    .dashboard-avatar-modal-card{padding:13px 11px 11px}
    .dashboard-avatar-modal-head p{display:none}
    .dashboard-avatar-pages{min-height:157px}
    .dashboard-avatar-modal .dashboard-avatar-option{min-height:75px}
    .dashboard-avatar-modal .dashboard-avatar-option .minds-avatar{width:43px;height:43px;border-radius:14px}
}
@media(max-height:520px){
    .dashboard-avatar-modal-head p{display:none}
    .dashboard-avatar-modal-card{padding-top:12px;padding-bottom:10px}
    .dashboard-avatar-modal-head{margin-bottom:8px}
    .dashboard-avatar-pages{min-height:137px}
    .dashboard-avatar-modal .dashboard-avatar-option{min-height:65px;padding:4px 2px}
    .dashboard-avatar-modal .dashboard-avatar-option .minds-avatar{width:38px;height:38px;border-radius:12px}
    .dashboard-avatar-modal .dashboard-avatar-option small{font-size:8px!important}
    .dashboard-avatar-pagination{margin-top:6px}
    .dashboard-avatar-feedback{display:none!important}
}


/* Vista previa pública de Parejas Zen */
.hero-pairs-game{box-sizing:border-box;width:min(300px,90%);aspect-ratio:1;margin:21px auto 15px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px;border:1px solid rgba(17,19,24,.06);border-radius:18px;background:linear-gradient(145deg,#fff,#fffaf0)}
.hero-pairs-game span{position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(17,19,24,.07);border-radius:16px;background:linear-gradient(145deg,#252932,#17191d);box-shadow:0 8px 18px rgba(17,19,24,.06)}
.hero-pairs-game span b{color:#fff;font:700 25px var(--font-display)}
.hero-pairs-game span.is-revealed{background:#fff;border-color:rgba(245,158,11,.18)}
.hero-pairs-game img{width:88%;height:88%;object-fit:contain;border-radius:12px}
@media(max-width:800px){.hero-pairs-game{width:min(270px,88%)}}
@media(max-width:520px){.hero-pairs-game{width:min(235px,92%);margin-top:18px;gap:7px;padding:12px}.hero-pairs-game span{border-radius:12px}}

/* === Admin · Diccionario Ahorcado v112 === */
.admin-hangman-manager{margin:22px 0;overflow:visible}
.admin-hangman-head{align-items:center}
.admin-hangman-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.admin-hangman-summary>span{display:flex;align-items:baseline;gap:5px;padding:9px 11px;border:1px solid rgba(17,19,24,.07);border-radius:999px;background:#f8f9fa;color:#7d8694;font-size:9px;font-weight:800;white-space:nowrap}
.admin-hangman-summary strong{color:#181a1f;font-size:13px}
.admin-hangman-summary .has-duplicates{border-color:rgba(239,68,68,.18);background:#fff4f3;color:#a93d36}
.admin-hangman-summary .is-clean{border-color:rgba(34,197,94,.16);background:#f0faf4;color:#24794c}
.admin-hangman-duplicate-alert{margin:0 27px 18px;padding:14px 16px;border:1px solid rgba(245,158,11,.24);border-radius:18px;background:#fff9eb;color:#6e581d;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.admin-hangman-duplicate-alert strong,.admin-hangman-duplicate-alert span{display:block}.admin-hangman-duplicate-alert strong{font-size:11px}.admin-hangman-duplicate-alert>div>span{margin-top:3px;font-size:9px;color:#8b7a50}
.admin-hangman-duplicate-list{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.admin-hangman-duplicate-list span{padding:6px 8px;border-radius:10px;background:#fff;border:1px solid rgba(245,158,11,.15);font-size:8px}
.admin-hangman-toolbar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr);gap:14px;padding:0 27px 20px}
.admin-hangman-search>span,.admin-hangman-new-category label>span,.admin-hangman-category-tools label>span{display:block;margin-bottom:6px;color:#929ba8;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.admin-hangman-new-category{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.admin-hangman-new-category .admin-hangman-live-check{grid-column:1/-1}
.admin-hangman-categories{display:grid;gap:10px;padding:0 27px 24px}
.admin-hangman-category{border:1px solid rgba(17,19,24,.075);border-radius:18px;background:rgba(250,251,252,.72);overflow:hidden}
.admin-hangman-category[hidden]{display:none}
.admin-hangman-category>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;user-select:none}.admin-hangman-category>summary::-webkit-details-marker{display:none}
.admin-hangman-category-title{display:flex;align-items:center;gap:9px}.admin-hangman-category-title b{font-size:12px}.admin-hangman-category-title small{padding:5px 7px;border-radius:999px;background:#fff;color:#919aa8;font-size:8px;font-weight:800}
.admin-hangman-chevron{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#fff;color:#737d8b;font-size:15px;transition:transform .2s ease}.admin-hangman-category[open] .admin-hangman-chevron{transform:rotate(180deg)}
.admin-hangman-category-body{padding:0 16px 16px;border-top:1px solid rgba(17,19,24,.055)}
.admin-hangman-category-tools{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:14px 0}
.admin-hangman-rename,.admin-hangman-add-word{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;padding:11px;border:1px solid rgba(17,19,24,.06);border-radius:14px;background:#fff}
.admin-hangman-rename .admin-hangman-live-check,.admin-hangman-add-word .admin-hangman-live-check{grid-column:1/-1}
.admin-hangman-live-check{display:block;min-height:13px;margin:0;color:#929aa8;font-size:8px;font-weight:700}.admin-hangman-live-check.is-ok{color:#1f8350}.admin-hangman-live-check.is-bad{color:#bb3e3e}.admin-hangman-live-check.is-neutral{color:#929aa8}
.admin-hangman-word-grid{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 14px}
.admin-hangman-word-chip{display:inline-flex;align-items:center;gap:5px;margin:0;padding:6px 6px 6px 9px;border:1px solid rgba(17,19,24,.065);border-radius:999px;background:#fff;color:#4e5765}.admin-hangman-word-chip span{font-size:9px;font-weight:800;letter-spacing:.025em}.admin-hangman-word-chip button{width:20px;height:20px;border:0;border-radius:50%;background:#f4f5f6;color:#8b939f;display:grid;place-items:center;cursor:pointer;font-size:13px;line-height:1}.admin-hangman-word-chip button:hover{background:#fff0ef;color:#b63838}.admin-hangman-word-chip.is-duplicate{border-color:rgba(239,68,68,.22);background:#fff5f4}.admin-hangman-duplicate-where{font-style:normal;font-size:7px;font-weight:800;color:#b63838;background:rgba(239,68,68,.08);border-radius:999px;padding:3px 6px;white-space:nowrap}
.admin-hangman-delete-category{display:flex;justify-content:flex-end;border-top:1px solid rgba(17,19,24,.05);padding-top:12px}
.admin-hangman-note{margin:0;padding:0 27px 24px;color:#8c95a3;font-size:9px;line-height:1.6}.admin-hangman-note strong{color:#5b6471}
@media(max-width:900px){.admin-hangman-toolbar{grid-template-columns:1fr}.admin-hangman-category-tools{grid-template-columns:1fr}.admin-hangman-new-category{grid-template-columns:1fr 1fr auto}}
@media(max-width:650px){.admin-hangman-head{align-items:flex-start}.admin-hangman-summary{justify-content:flex-start}.admin-hangman-toolbar,.admin-hangman-categories{padding-left:18px;padding-right:18px}.admin-hangman-duplicate-alert{margin-left:18px;margin-right:18px;flex-direction:column}.admin-hangman-duplicate-list{justify-content:flex-start}.admin-hangman-new-category{grid-template-columns:1fr}.admin-hangman-new-category .admin-action-btn{width:100%;justify-content:center}.admin-hangman-rename,.admin-hangman-add-word{grid-template-columns:1fr}.admin-hangman-rename .admin-action-btn,.admin-hangman-add-word .admin-action-btn{width:100%;justify-content:center}.admin-hangman-note{padding-left:18px;padding-right:18px}}

/* V124 · Claridad de racha/ranking en Modo ADMIN */
.daily-sandbox-warning{display:block;margin-top:9px;color:#a46608;font-size:9px;line-height:1.45;text-align:center}
.weekly-sandbox-warning{margin-top:12px;padding:10px 12px;border:1px solid rgba(245,158,11,.2);border-radius:13px;background:#fff8e7;color:#8d650f;font-size:10px;line-height:1.5}
.weekly-sandbox-warning strong{color:#744d00}


/* Panel v135: récords con solo juegos jugados + alternancia visual de bloques. */
.personal-records-empty{margin-top:18px;padding:18px 20px;border:1px dashed rgba(17,19,24,.12);border-radius:18px;background:linear-gradient(135deg,#fffdf7,#fff);color:#6f7885}
.personal-records-empty strong{display:block;color:#17191d;font:700 16px var(--font-display)}
.personal-records-empty p{margin:6px 0 0;font-size:12px;line-height:1.6}
.personal-record-value{margin-top:3px;padding:10px 11px;border:1px solid rgba(229,138,0,.16);border-radius:12px;background:linear-gradient(135deg,#fffaf0 0%,#fff3d8 100%);color:#3a3124;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.personal-record-value small{color:#a17122;font:800 6px var(--font-display);letter-spacing:.1em}
.personal-record-value strong{margin-top:3px;color:#17191d;font:800 17px var(--font-display)}
.personal-record-card:hover .personal-record-value{border-color:rgba(245,158,11,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 10px 22px rgba(245,158,11,.08)}

.dashboard-section-dark{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06)!important;background:linear-gradient(135deg,#17191d 0%,#23262d 62%,#2e2418 100%)!important;box-shadow:0 20px 52px rgba(17,19,24,.12)!important}
.dashboard-section-dark::after{content:"";position:absolute;inset:auto auto -160px -140px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.18),transparent 68%);pointer-events:none}
.dashboard-section-dark .section-kicker{color:#dba13e!important}
.dashboard-section-dark h2,.dashboard-section-dark strong,.dashboard-section-dark .dashboard-progress-copy h2,.dashboard-section-dark .dashboard-progress-copy h2 span,.dashboard-section-dark .dashboard-account-cta-copy h2,.dashboard-section-dark .dashboard-account-cta-copy h2 span,.dashboard-section-dark .dashboard-mc-history-head h2,.dashboard-section-dark .dashboard-mc-history-head h2 span{color:#fff!important}
.dashboard-section-dark p,.dashboard-section-dark span,.dashboard-section-dark small,.dashboard-section-dark .dashboard-progress-copy p,.dashboard-section-dark .future-stats-grid article span,.dashboard-section-dark .future-chart-top span,.dashboard-section-dark .future-chart-top small,.dashboard-section-dark .chart-labels span,.dashboard-section-dark .dashboard-mc-history-head p{color:#aab1bc!important}
.dashboard-section-dark .dashboard-invite-icon,.dashboard-section-dark .dashboard-shop-icon,.dashboard-section-dark .dashboard-ranking-icon,.dashboard-section-dark .dashboard-coupon-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.dashboard-section-dark .dashboard-invite-icon{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.1)}
.dashboard-section-dark .invite-code-box,.dashboard-section-dark .invite-copy-btn,.dashboard-section-dark .future-stats-grid article,.dashboard-section-dark .future-chart,.dashboard-section-dark .dashboard-mc-history-balance,.dashboard-section-dark .dashboard-mc-history-summary>div,.dashboard-section-dark .dashboard-mc-history-table-wrap{border-color:rgba(255,255,255,.09)!important;background:rgba(255,255,255,.05)!important;box-shadow:none}
.dashboard-section-dark .invite-code-box small,.dashboard-section-dark .dashboard-mc-history-balance small,.dashboard-section-dark .dashboard-mc-history-summary small{color:#929aa6!important}
.dashboard-section-dark .invite-code-box strong,.dashboard-section-dark .dashboard-mc-history-balance strong,.dashboard-section-dark .dashboard-mc-history-summary strong,.dashboard-section-dark .future-stats-grid article strong{color:#fff!important}
.dashboard-section-dark .invite-copy-btn{color:#e8edf6!important}
.dashboard-section-dark .invite-total{color:#aab1bc!important}
.dashboard-section-dark .future-chart-bars{border-bottom-color:rgba(255,255,255,.08)}
.dashboard-section-dark .dashboard-mc-history-table th{background:rgba(255,255,255,.06)!important;border-bottom-color:rgba(255,255,255,.08)!important;color:#9ea7b3!important}
.dashboard-section-dark .dashboard-mc-history-table td{border-bottom-color:rgba(255,255,255,.06)!important;color:#e5e9ef!important}
.dashboard-section-dark .dashboard-mc-history-table td:first-child time,.dashboard-section-dark .dashboard-mc-history-table td:nth-child(4) span{color:#aeb5bf!important}
.dashboard-section-dark .mc-movement-copy{color:#fff!important}
.dashboard-section-dark .dashboard-mc-history-mobile-hint{color:#aab1bc!important}

.dashboard-section-light{border-color:rgba(17,19,24,.08)!important;background:linear-gradient(120deg,#fff,#fff9ed)!important;box-shadow:0 18px 50px rgba(17,19,24,.04)!important}
.dashboard-section-light .dashboard-coupon-copy .section-kicker,.dashboard-section-light .dashboard-account-cta-copy .section-kicker{color:#c68416!important}
.dashboard-section-light .dashboard-coupon-icon{border-color:rgba(245,158,11,.1)!important;background:linear-gradient(145deg,#fff0c5,#ffd970)!important;color:#b36b00!important}
.dashboard-section-light .dashboard-coupon-copy h2,.dashboard-section-light .dashboard-account-cta-copy h2,.dashboard-section-light .dashboard-account-cta-copy h2 span{color:#17191d!important}
.dashboard-section-light .dashboard-coupon-copy p,.dashboard-section-light .dashboard-account-cta-copy p{color:#7e8794!important}
.dashboard-section-light .dashboard-coupon-form{border-color:rgba(17,19,24,.08)!important;background:rgba(255,255,255,.8)!important}
.dashboard-section-light .dashboard-coupon-form>label{color:#8b949f!important}
.dashboard-section-light .dashboard-coupon-control input{border-color:rgba(17,19,24,.1)!important;background:#fff!important;color:#17191d!important}
.dashboard-section-light .dashboard-coupon-control input::placeholder{color:#9aa2ad!important}
.dashboard-section-light .dashboard-coupon-control button{background:#f5a614!important;color:#15120c!important}
.dashboard-section-dark .dashboard-progress-copy h2 span,
.dashboard-section-dark .dashboard-account-cta-copy h2 span,
.dashboard-section-dark .dashboard-mc-history-head h2 span{color:#f5a614!important}
.dashboard-section-dark .mc-history-page-btn{border-color:rgba(255,255,255,.1)!important;background:rgba(255,255,255,.05)!important;color:#fff!important}

/* =========================================================
   V136 · Auditoría global de legibilidad tipográfica
   Eleva microtextos y metadatos sin alterar la jerarquía visual.
   ========================================================= */
body{font-size:16px}
.section-kicker,.eyebrow{font-size:11px}

/* Panel: recursos, reto, biblioteca y bloques auxiliares. */
.dashboard-resource-card small{font-size:10px;line-height:1.35}
.dashboard-resource-card p{font-size:11px;line-height:1.5}
.daily-rule-row span,.daily-game-copy p,.game-library-copy p{font-size:11.5px;line-height:1.55}
.daily-badge,.daily-game-card-top,.daily-game-copy small,.game-library-reward span{font-size:10px}
.stats-coming-pill{font-size:10.5px}
.future-stats-grid small,.future-chart-top{font-size:9.5px}
.future-stats-grid span{font-size:10.5px;line-height:1.4}
.chart-labels span{font-size:10px}
.dashboard-shop-copy p,.dashboard-ranking-copy p,.dashboard-invite-copy p,.dashboard-coupon-copy p{font-size:12px;line-height:1.6}
.invite-code-box small,.dashboard-coupon-form>label{font-size:10px}
.invite-copy-btn{font-size:11px}
.dashboard-coupon-form>small{font-size:10px;line-height:1.5}
.dashboard-inline-feedback,.dashboard-coupon-form .dashboard-inline-feedback:not([hidden]){font-size:10.5px}

/* Perfil cognitivo: en escritorio varios textos estaban entre 7 y 9 px. */
.cognitive-profile-head p,.personal-records-head p{font-size:13px;line-height:1.7}
.cognitive-overall small{font-size:10px}
.cognitive-overall em{font-size:10px}
.cognitive-dimension-top small{font-size:9.5px;line-height:1.3}
.cognitive-dimension-top strong span{font-size:11px}
.cognitive-dimension-meta{font-size:10.5px;line-height:1.35}
.cognitive-dimension-footer>span,.cognitive-dimension-footer>b{font-size:10px;line-height:1.3}
.cognitive-chart-head small{font-size:9.5px}
.cognitive-chart-head strong{font-size:17px}
.cognitive-chart-head>span{font-size:10px}
.cognitive-chart-column>b{font-size:10px}
.cognitive-chart-column>span{font-size:9.5px}
.cognitive-insights small{font-size:9.5px}
.cognitive-insights span{font-size:10.5px;line-height:1.55}
.cognitive-disclaimer{font-size:10.5px;line-height:1.6}

/* Récords: tarjetas más aprovechables y sin microtexto de 6–7 px. */
.personal-records-count{font-size:10.5px;padding:8px 12px}
.personal-records-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}
.personal-record-card{padding:13px;grid-template-columns:38px minmax(0,1fr);gap:10px 10px;border-radius:17px}
.personal-record-icon{width:38px;height:38px;border-radius:11px;font-size:19px}
.personal-record-copy h3{font-size:13px;line-height:1.3}
.personal-record-value{padding:11px 12px}
.personal-record-value small{font-size:9px;line-height:1.3}
.personal-record-value strong{font-size:19px;line-height:1.2}
.personal-record-meta{font-size:10px;line-height:1.35;gap:9px}

/* Biblioteca y métricas personales. */
.game-library-personal-meta small{font-size:9px}
.game-library-personal-meta strong{font-size:10.5px}
.game-library-page-status span,.game-library-page-btn{font-size:10.5px}
.game-library-page-status strong{font-size:11px}

/* Tienda. */
.shop-status-pill,.shop-filter,.shop-product-tag{font-size:10.5px}
.shop-wallet small{font-size:10px}
.shop-wallet p,.shop-back-link,.shop-product-copy p,.shop-how p,.shop-level-next{font-size:11.5px;line-height:1.55}
.shop-product-footer small,.shop-stock{font-size:10px}
.shop-product-footer button{font-size:11px}
.shop-price-old{font-size:10.5px}

/* Cuenta, notificaciones y sesiones. */
.account-data small,.account-status,.session-item small,.session-state,.session-meta-item small,.notification-copy small,.security-history-item small,.security-history-item time{font-size:10.5px}
.account-inline-note,.notification-link,.account-soft-button,.session-current-badge,.session-row-meta,.session-close-btn{font-size:11px}
.account-list-intro{font-size:11.5px}
.form-label-optional{font-size:10px}

/* Ranking. */
.ranking-row-user span{font-size:10px}
.ranking-row-score span{font-size:9.5px}
.ranking-row-user strong{font-size:12px}

/* Home y piezas de demostración donde el texto era ornamentalmente pequeño. */
.window-topbar,.micro-label,.window-stats span,.hero-float-card small,.demo-label,.demo-best span,.feature-tag,.step-head,.session-step-card small,.dashboard-pill,.metric-block>span{font-size:11px}
.hero-meta,.ticker-item,.pillar-score small,.pillar-examples>small,.home-stats-grid .stat>span,.cta-benefits span,.cta-preview-stats strong{font-size:10.5px}
.pillar-label,.score-head span,.home-stats-grid .stat-kicker,.cta-badge{font-size:9.5px}

/* Diálogos, soporte y mensajes de sistema. */
.support-modal-label,.support-detail-grid small,.support-last-response .support-modal-label small{font-size:10px}
.support-detail-grid strong,.support-detail-grid a,.support-detail-grid code{font-size:12px}
.minds-toast,.minds-ui-dialog p,.dashboard-panel-alerts .auth-alert{font-size:11px;line-height:1.5}

/* Administración: evita datos críticos en 7–9 px. */
.admin-table td small,.admin-stats small,.admin-multi-item small,.maintenance-status,.consent-info,.admin-detail-list strong,.admin-2fa-uri,.admin-chart-legend{font-size:11px}
.event-pill,.admin-protected-note,.status-badge,.multi-badge,.admin-multi-item span,.admin-filters label,.admin-table .state-pill,.admin-maintenance-config label,.admin-2fa-secret button,.admin-rate-item small,.admin-system-grid span,.admin-text-button,.support-filter-tab span,.support-status,.admin-pagination span{font-size:10px}
.admin-chart-day small,.admin-2fa-secret small,.admin-system-grid small,.admin-user-facts small,.admin-detail-list small{font-size:9.5px}
.admin-user-facts strong,.admin-user-facts code{font-size:11px}

/* Diccionario Ahorcado del admin. */
.admin-hangman-summary>span,.admin-hangman-duplicate-alert>div>span,.admin-hangman-word-chip span,.admin-hangman-note{font-size:10.5px}
.admin-hangman-duplicate-list span,.admin-hangman-search>span,.admin-hangman-new-category label>span,.admin-hangman-category-tools label>span,.admin-hangman-category-title small,.admin-hangman-live-check,.admin-hangman-duplicate-where{font-size:9.5px}

/* MC e historial. */
.dashboard-mc-history-balance small,.dashboard-mc-history-summary small,.dashboard-mc-history-table th{font-size:10.5px!important}
.dashboard-mc-history-balance strong span,.mc-history-page-status{font-size:11px!important}
.dashboard-mc-history-table td,.dashboard-mc-history-table td:first-child time,.dashboard-mc-history-table td:nth-child(4) span{font-size:11.5px!important}

/* Controles pequeños que deben seguir siendo legibles en táctil. */
.mobile-nav-label,.mobile-bottom-nav-item small{font-size:11px}
.dashboard-admin-mode-copy small,.dashboard-profile-row>.dashboard-admin-mode-form .dashboard-admin-mode-copy small{font-size:9px}
.dashboard-admin-mode-copy strong{font-size:11px}
.dashboard-avatar-edit,.dashboard-profile-row .dashboard-avatar-edit{font-size:11px}
.dashboard-avatar-modal .dashboard-avatar-option small{font-size:10.5px}
.dashboard-avatar-page-status,.dashboard-avatar-page-status b{font-size:10px}
.dashboard-avatar-page-status strong{font-size:11px}
.daily-sandbox-warning,.weekly-sandbox-warning{font-size:11px;line-height:1.5}

@media(max-width:800px){
    .section-kicker,.eyebrow{font-size:10.5px}
    .dashboard-resource-card small{font-size:10px}
    .dashboard-resource-card p{font-size:11px}
    .cognitive-dimension-top small{font-size:10px}
    .cognitive-dimension-meta,.cognitive-dimension-footer>span,.cognitive-dimension-footer>b{font-size:10.5px}
    .cognitive-chart-column>b{font-size:10.5px}
    .cognitive-chart-column>span{font-size:10px}
    .cognitive-insights span,.cognitive-disclaimer{font-size:11px}
    .personal-records-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .personal-record-card{padding:12px;grid-template-columns:36px minmax(0,1fr)}
    .personal-record-icon{width:36px;height:36px;font-size:18px}
    .personal-record-copy h3{font-size:12.5px}
    .personal-record-value small{font-size:9px}
    .personal-record-value strong{font-size:18px}
    .personal-record-meta{font-size:9.5px;white-space:normal;flex-wrap:wrap}
}

@media(max-width:420px){
    .personal-records-grid{grid-template-columns:1fr}
    .personal-record-copy h3{font-size:14px}
    .personal-record-meta{font-size:10px}
}

/* ========================================================================== 
   V137 · Accesibilidad visual (100% opt-in)
   Ninguna regla de adaptación se activa sin una clase a11y-* en <html>.
   ========================================================================== */

/* Controles y modal: visibles como herramientas, sin modificar el tema normal. */
.account-accessibility-card{margin-bottom:28px}
.account-accessibility-head{align-items:flex-start}
.accessibility-settings-grid,.accessibility-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.accessibility-setting{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:15px 16px;border:1px solid rgba(17,19,24,.085);border-radius:17px;background:#fafbfc;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.accessibility-setting:hover{border-color:rgba(245,158,11,.24);background:#fffdf8}
.accessibility-setting:focus-within{outline:3px solid rgba(47,125,211,.2);outline-offset:2px}
.accessibility-setting input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.accessibility-setting-switch{position:relative;width:42px;height:25px;flex:0 0 42px;border:1px solid rgba(17,19,24,.12);border-radius:999px;background:#e8ebef;box-shadow:inset 0 1px 2px rgba(17,19,24,.08);transition:background .16s ease,border-color .16s ease}
.accessibility-setting-switch i{position:absolute;width:19px;height:19px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(17,19,24,.18);transition:transform .16s ease}
.accessibility-setting input:checked + .accessibility-setting-switch{border-color:#d78700;background:#f5a614}
.accessibility-setting input:checked + .accessibility-setting-switch i{transform:translateX(17px)}
.accessibility-setting-copy{display:grid;gap:3px;min-width:0}
.accessibility-setting-copy strong{color:#20242b;font:750 13px/1.25 var(--font-display)}
.accessibility-setting-copy small{color:#727c89;font-size:11px;line-height:1.45}
.accessibility-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;padding-top:15px;border-top:1px solid rgba(17,19,24,.065)}
.accessibility-settings-footer p{margin:0;color:#7d8692;font-size:11px;line-height:1.5}

.mobile-session-action-button{width:100%;font:inherit;text-align:left;-webkit-appearance:none;appearance:none}

.accessibility-modal{position:fixed;inset:0;z-index:10050;display:none;place-items:center;padding:18px}
.accessibility-modal.is-open{display:grid}
.accessibility-modal-backdrop{position:absolute;inset:0;background:rgba(15,17,21,.62);backdrop-filter:blur(10px)}
.accessibility-modal-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:25px;border:1px solid rgba(255,255,255,.5);border-radius:27px;background:#fff;box-shadow:0 30px 90px rgba(17,19,24,.24)}
.accessibility-modal-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.accessibility-modal-topbar h2{margin:6px 0 0;color:#17191d;font:750 29px/1 var(--font-display);letter-spacing:-.035em}
.accessibility-modal-close{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border:1px solid rgba(17,19,24,.08);border-radius:13px;background:#f6f7f9;color:#4c5663;cursor:pointer;font:500 25px/1 var(--font-display)}
.accessibility-modal-desc{max-width:620px;margin:12px 0 0;color:#727c89;font-size:12px;line-height:1.6}
.accessibility-modal-grid{margin-top:18px}
.accessibility-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px;padding-top:16px;border-top:1px solid rgba(17,19,24,.07)}
.accessibility-modal-footer>span{color:#8f650e;font:800 10px var(--font-display);letter-spacing:.03em}
.accessibility-reset-btn{min-height:39px;padding:0 14px;border:1px solid rgba(17,19,24,.09);border-radius:12px;background:#f5f6f8;color:#4c5663;cursor:pointer;font:750 10px var(--font-display)}
.accessibility-storage-note{margin:12px 0 0;color:#929aa5;font-size:10px;line-height:1.5}
body.accessibility-modal-open{overflow:hidden}

@media(max-width:720px){
    .accessibility-settings-grid,.accessibility-modal-grid{grid-template-columns:1fr}
    .accessibility-settings-footer,.accessibility-modal-footer{align-items:flex-start;flex-direction:column}
    .accessibility-modal{padding:10px}
    .accessibility-modal-dialog{max-height:calc(100dvh - 20px);padding:20px 16px;border-radius:22px}
    .accessibility-modal-topbar h2{font-size:25px}
    .accessibility-setting{padding:13px 14px}
    .accessibility-setting-copy strong{font-size:13px}
    .accessibility-setting-copy small{font-size:11.5px}
}

/* Daltonismo: paleta semántica azul/naranja + patrones. */
html.a11y-colorblind{--a11y-positive:#0072b2;--a11y-warning:#e69f00;--a11y-negative:#d55e00;--a11y-neutral:#59636f}
html.a11y-colorblind .status-dot,
html.a11y-colorblind .game-live-dot{background:var(--a11y-positive)!important;box-shadow:0 0 0 5px rgba(0,114,178,.12)!important}
html.a11y-colorblind .auth-alert.success{border-color:rgba(0,114,178,.38)!important;background:linear-gradient(135deg,#eef8ff,#fff)!important;color:#084f79!important;box-shadow:inset 5px 0 0 var(--a11y-positive)}
html.a11y-colorblind .auth-alert.error{border-color:rgba(213,94,0,.38)!important;background:linear-gradient(135deg,#fff4ea,#fff)!important;color:#8f3e00!important;box-shadow:inset 5px 0 0 var(--a11y-negative)}
html.a11y-colorblind .account-status.ok,
html.a11y-colorblind .session-state.active,
html.a11y-colorblind .security-event-icon.security-success{color:#005b8f!important;border-color:rgba(0,114,178,.28)!important;background:#e9f6ff!important}
html.a11y-colorblind .cognitive-dimension-footer .is-up{color:#005b8f!important}
html.a11y-colorblind .cognitive-dimension-footer .is-down{color:#a44a00!important}
html.a11y-colorblind .mc-movement-kind.is-income{background:#e9f6ff!important;color:#005b8f!important}
html.a11y-colorblind .dashboard-mc-history-summary strong.is-income,
html.a11y-colorblind .dashboard-mc-history-table td:nth-child(3) strong.is-income{color:#0072b2!important}
html.a11y-colorblind .mc-movement-kind.is-expense{background:#fff0e6!important;color:#a44a00!important}
html.a11y-colorblind .dashboard-mc-history-summary strong.is-expense,
html.a11y-colorblind .dashboard-mc-history-table td:nth-child(3) strong.is-expense{color:#b34f00!important}

/* Alto contraste: conserva el diseño pero refuerza separación visual y foco. */
html.a11y-high-contrast body{color:#050505}
html.a11y-high-contrast .glass-nav,
html.a11y-high-contrast .account-card,
html.a11y-high-contrast .personal-records-card,
html.a11y-high-contrast .cognitive-profile-card,
html.a11y-high-contrast .game-library,
html.a11y-high-contrast .dashboard-resource-card,
html.a11y-high-contrast .shop-card,
html.a11y-high-contrast .ranking-board,
html.a11y-high-contrast .notification-item{border-color:rgba(0,0,0,.24)!important;box-shadow:0 12px 32px rgba(0,0,0,.08)}
html.a11y-high-contrast p,
html.a11y-high-contrast small,
html.a11y-high-contrast .account-note,
html.a11y-high-contrast .game-library-personal-meta,
html.a11y-high-contrast .personal-record-meta{color:#3f4650}
html.a11y-high-contrast input,
html.a11y-high-contrast textarea,
html.a11y-high-contrast select{border-color:#555!important;color:#090909!important;background:#fff!important}
html.a11y-high-contrast a:focus-visible,
html.a11y-high-contrast button:focus-visible,
html.a11y-high-contrast input:focus-visible,
html.a11y-high-contrast textarea:focus-visible,
html.a11y-high-contrast select:focus-visible{outline:3px solid #0072b2!important;outline-offset:3px!important}
html.a11y-high-contrast .dashboard-section-dark,
html.a11y-high-contrast .dashboard-ranking-cta,
html.a11y-high-contrast .dashboard-progress{border-color:rgba(255,255,255,.35)!important}
html.a11y-high-contrast .dashboard-section-dark p,
html.a11y-high-contrast .dashboard-section-dark small,
html.a11y-high-contrast .dashboard-ranking-cta p{color:#e1e5ea!important}

/* Texto ampliado: eleva mínimos de lectura sin escalar títulos grandes. */
html.a11y-large-text .section-kicker{font-size:11px!important;line-height:1.35!important}
html.a11y-large-text p{font-size:15px!important;line-height:1.68!important}
html.a11y-large-text small{font-size:12px!important;line-height:1.45!important}
html.a11y-large-text label{font-size:13px!important}
html.a11y-large-text .nav-quick-label,
html.a11y-large-text .mobile-bottom-nav-item small,
html.a11y-large-text .footer-links a,
html.a11y-large-text .footer-text-button{font-size:12px!important}
html.a11y-large-text .personal-record-copy h3{font-size:14px!important}
html.a11y-large-text .personal-record-value small{font-size:9px!important}
html.a11y-large-text .personal-record-value strong{font-size:20px!important}
html.a11y-large-text .personal-record-meta{font-size:10.5px!important;white-space:normal}
html.a11y-large-text .cognitive-dimension-meta,
html.a11y-large-text .cognitive-dimension-footer,
html.a11y-large-text .cognitive-chart-head span,
html.a11y-large-text .cognitive-chart-column span{font-size:11px!important}
html.a11y-large-text .future-stats-grid article span,
html.a11y-large-text .future-chart-top,
html.a11y-large-text .chart-labels{font-size:11px!important}
html.a11y-large-text .account-inline-note,
html.a11y-large-text .notification-meta,
html.a11y-large-text .session-row-meta{font-size:11px!important}

/* Reducir movimiento: también sirve aunque el SO no tenga la preferencia activa. */
html.a11y-reduce-motion{scroll-behavior:auto!important}
html.a11y-reduce-motion *,
html.a11y-reduce-motion *::before,
html.a11y-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.a11y-reduce-motion .ambient,
html.a11y-reduce-motion .site-noise{animation:none!important}

/* v140 · Catálogo demo público. El modo normal de los juegos autenticados no se modifica. */
.demo-catalog-section{padding-bottom:128px}
.demo-catalog{position:relative;padding:22px;border:1px solid rgba(17,19,24,.08);border-radius:30px;background:linear-gradient(135deg,#17191d 0%,#22252b 65%,#332817 100%);box-shadow:0 26px 70px rgba(17,19,24,.12);overflow:hidden}
.demo-catalog::after{content:"";position:absolute;right:-110px;top:-170px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.22),transparent 68%);pointer-events:none}
.demo-catalog-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px;padding:0 2px}
.demo-catalog-top>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.demo-catalog-top span{color:#e7a32b;font:800 10px var(--font-display);letter-spacing:.14em}
.demo-catalog-top strong{color:#fff;font:700 15px var(--font-display)}
.demo-carousel-controls{display:flex;gap:8px}
.demo-carousel-controls button{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;font:700 18px var(--font-display);transition:transform .18s ease,background .18s ease,border-color .18s ease}
.demo-carousel-controls button:hover{transform:translateY(-1px);background:rgba(255,255,255,.12);border-color:rgba(245,158,11,.35)}
.demo-carousel{position:relative;z-index:1;display:flex;gap:12px;overflow-x:auto;padding:2px 2px 11px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(245,158,11,.55) rgba(255,255,255,.05);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.demo-carousel::-webkit-scrollbar{height:7px}.demo-carousel::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:10px}.demo-carousel::-webkit-scrollbar-thumb{background:rgba(245,158,11,.55);border-radius:10px}
.demo-game-card{scroll-snap-align:start;flex:0 0 178px;min-height:155px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(255,255,255,.055);color:#fff;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.demo-game-card:hover,.demo-game-card:focus-visible{transform:translateY(-4px);background:rgba(255,255,255,.105);border-color:rgba(245,158,11,.34);box-shadow:0 16px 34px rgba(0,0,0,.16)}
.demo-game-card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#fff0c1,#ffd368);font-size:25px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.demo-game-card strong{font:700 14px/1.25 var(--font-display);letter-spacing:-.02em}
.demo-catalog-footnote{position:relative;z-index:1;margin:8px 3px 0;color:#929aa6;font-size:11px}.demo-catalog-footnote span{margin-right:5px;color:#e7a32b}

.game-demo-modal{width:min(940px,calc(100% - 28px));max-width:none;max-height:min(860px,calc(100dvh - 28px));padding:0;border:0;border-radius:28px;background:#f7f8fa;color:#17191d;box-shadow:0 35px 110px rgba(0,0,0,.3);overflow:hidden}
.game-demo-modal::backdrop{background:rgba(12,14,18,.72);backdrop-filter:blur(7px)}
.game-demo-shell{position:relative;display:flex;flex-direction:column;max-height:min(860px,calc(100dvh - 28px));min-height:560px}
.game-demo-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid rgba(17,19,24,.07);background:#fff}
.game-demo-title-wrap{display:flex;align-items:center;gap:13px;min-width:0}.game-demo-icon{width:45px;height:45px;display:grid;place-items:center;flex:0 0 45px;border-radius:14px;background:#fff0c9;font-size:22px}.game-demo-title-wrap small{display:block;color:#b67409;font:800 9px var(--font-display);letter-spacing:.13em}.game-demo-title-wrap h2{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 20px var(--font-display);letter-spacing:-.03em}.game-demo-close{width:43px;height:43px;display:grid;place-items:center;flex:0 0 43px;border:1px solid rgba(17,19,24,.08);border-radius:50%;background:#f5f6f7;color:#17191d;cursor:pointer;font:500 25px/1 Arial}
.game-demo-notice{padding:9px 20px;border-bottom:1px solid rgba(17,19,24,.055);background:#fffaf0;color:#6d7580;font-size:11px;line-height:1.5}.game-demo-notice span{margin-right:6px;color:#a96b00;font-weight:800}
.game-demo-stage{position:relative;flex:1;min-height:0;overflow:auto;padding:22px;background:radial-gradient(circle at 50% 15%,#fff 0,#f7f8fa 68%)}
.game-demo-stage button,.game-demo-stage input{font-family:inherit}
.game-demo-result{position:absolute;z-index:4;inset:72px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center;background:rgba(248,249,250,.97);backdrop-filter:blur(8px)}.game-demo-result[hidden]{display:none}
.game-demo-result-icon{width:68px;height:68px;display:grid;place-items:center;margin-bottom:15px;border-radius:50%;background:#dff5ec;color:#17875f;font:800 30px var(--font-display)}.game-demo-result.is-fail .game-demo-result-icon{background:#fff0e9;color:#cf5c34}
.game-demo-result>small{color:#b77508;font:800 9px var(--font-display);letter-spacing:.14em}.game-demo-result h3{margin:7px 0 9px;font:700 clamp(26px,5vw,40px)/1 var(--font-display);letter-spacing:-.045em}.game-demo-result p{max-width:570px;margin:0;color:#707987;font-size:13px;line-height:1.65}
.game-demo-result-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:23px}.game-demo-register{min-height:48px}.game-demo-login,.game-demo-result-actions button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;border:1px solid rgba(17,19,24,.1);border-radius:999px;background:#fff;color:#17191d;text-decoration:none;cursor:pointer;font:700 11px var(--font-display)}

.demo-play{width:min(100%,720px);margin:0 auto}.demo-play-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.demo-play-head>div{min-width:0}.demo-play-kicker{display:block;color:#b67409;font:800 9px var(--font-display);letter-spacing:.13em}.demo-play-title{display:block;margin-top:3px;font:700 16px var(--font-display)}.demo-play-stat{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(17,19,24,.07);border-radius:13px;background:#fff;color:#5d6672;font:700 11px var(--font-display)}
.demo-meter{height:8px;margin:0 0 18px;border-radius:999px;background:#e8ebef;overflow:hidden}.demo-meter i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f5b429,#f97316);transition:width .15s linear}
.demo-board-card{padding:20px;border:1px solid rgba(17,19,24,.07);border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(17,19,24,.055)}.demo-instruction{min-height:44px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;color:#4f5965;font:700 13px/1.45 var(--font-display);text-align:center}.demo-feedback-line{min-height:25px;margin-top:12px;color:#7b8490;font-size:11px;text-align:center}.demo-feedback-line.is-ok{color:#20815f;font-weight:700}.demo-feedback-line.is-bad{color:#b9503d;font-weight:700}
.demo-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.demo-choice{min-height:54px;padding:10px;border:1px solid #dfe4e9;border-radius:15px;background:#fff;color:#20252c;cursor:pointer;font:800 14px var(--font-display);transition:.15s ease}.demo-choice:hover{border-color:#f0b44a;background:#fffaf0;transform:translateY(-1px)}
.demo-big-prompt{display:grid;place-items:center;min-height:120px;padding:15px;border-radius:19px;background:#f7f8fa;color:#17191d;font:800 clamp(34px,7vw,60px) var(--font-display);letter-spacing:-.04em;text-align:center}
.demo-sequence{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;min-height:110px}.demo-sequence span{min-width:54px;height:54px;display:grid;place-items:center;border:1px solid #dfe4e9;border-radius:15px;background:#f8f9fa;font:800 18px var(--font-display)}.demo-sequence span.is-missing{background:#fff2d5;color:#b36f00;border-color:#ffd687}

.demo-grid{display:grid;gap:8px;width:min(100%,460px);aspect-ratio:1;margin:0 auto}.demo-grid-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid #dfe4e9;border-radius:12px;background:#fff;color:#1d2834;cursor:pointer;font:800 clamp(15px,4vw,25px) var(--font-display);transition:transform .12s ease,background .15s ease,border-color .15s ease,color .15s ease}.demo-grid-cell:active{transform:scale(.96)}.demo-grid-cell.is-on{background:#ffad28;border-color:#f49a08;color:#fff}.demo-grid-cell.is-active{background:#ffd371;border-color:#f7b82c}.demo-grid-cell.is-selected{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.13)}.demo-grid-cell.is-correct{background:#cdeee2!important;border-color:#78cbae!important;color:#155d46!important}.demo-grid-cell.is-wrong{background:#ffe0d8!important;border-color:#ec9c89!important;color:#9d3f2f!important}.demo-grid-cell.is-missed{box-shadow:inset 0 0 0 3px #f59e0b}.demo-grid-cell.is-locked{cursor:default}.demo-grid-cell .demo-symbol{font-size:clamp(20px,5vw,36px)}
.demo-memory-grid .demo-grid-cell{background:#f7f8fa}.demo-memory-grid .demo-grid-cell.is-active{background:#ffb23b}.demo-memory-grid .demo-grid-cell.is-selected{background:#fff1ce}
.demo-retentio-grid .demo-grid-cell{font-size:26px}.demo-retentio-grid .demo-grid-cell.is-hidden .demo-symbol{opacity:0;transform:scale(.65)}.demo-retentio-target{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px auto 16px;color:#5f6975;font:700 12px var(--font-display)}.demo-retentio-target b{font-size:32px}

.demo-pairs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,390px);margin:0 auto}.demo-pair-card{aspect-ratio:1.4;border:1px solid #dfe4e9;border-radius:17px;background:linear-gradient(145deg,#20242b,#111318);color:#fff;cursor:pointer;font-size:34px}.demo-pair-card span{opacity:0;transform:scale(.75);display:block;transition:.15s ease}.demo-pair-card.is-open,.demo-pair-card.is-match{background:#fff7df;border-color:#f3c65b}.demo-pair-card.is-open span,.demo-pair-card.is-match span{opacity:1;transform:scale(1)}.demo-pair-card.is-match{box-shadow:inset 0 0 0 2px #93d5bd}

.demo-hangman-word{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:18px 0}.demo-hangman-word span{min-width:28px;padding:0 3px 6px;border-bottom:2px solid #39414b;text-align:center;font:800 21px var(--font-display)}.demo-letter-grid,.demo-wordle-keyboard{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:17px}.demo-letter-grid button,.demo-wordle-keyboard button{min-width:34px;height:38px;padding:0 8px;border:1px solid #dfe4e9;border-radius:10px;background:#fff;color:#20252c;cursor:pointer;font:800 11px var(--font-display)}.demo-letter-grid button:disabled{opacity:.35}.demo-hangman-drawing{display:flex;align-items:center;justify-content:center;gap:15px;padding:11px;border-radius:15px;background:#f7f8fa}.demo-hangman-drawing strong{font:800 18px var(--font-display)}.demo-hangman-drawing span{color:#707987;font-size:11px}.demo-hint-btn{margin-top:10px;padding:8px 12px;border:1px solid #efd393;border-radius:999px;background:#fff7df;color:#8a5d0b;cursor:pointer;font:700 10px var(--font-display)}

.demo-schulte-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(100%,390px);aspect-ratio:1;margin:0 auto}.demo-schulte-grid button{border:1px solid #d8dfe6;border-radius:12px;background:#fff;color:#18232d;cursor:pointer;font:800 clamp(20px,5vw,31px) var(--font-display)}.demo-schulte-grid button.is-done{background:#e5f5ef;color:#2e7760}.demo-schulte-grid button.is-wrong{animation:demoShake .3s ease;background:#ffe8e1}

.demo-stroop-word{margin:16px 0 24px;text-align:center;font:900 clamp(45px,11vw,78px) var(--font-display);letter-spacing:.03em}.demo-stroop-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.demo-stroop-options button{min-height:55px;border:1px solid #dfe4e9;border-radius:15px;background:#fff;color:#20252c;cursor:pointer;font:800 13px var(--font-display);text-transform:uppercase}

.demo-reflex-board{position:relative;width:min(100%,560px);height:min(390px,48vh);min-height:300px;margin:0 auto;border:1px solid rgba(17,19,24,.08);border-radius:22px;background:radial-gradient(circle at 50% 50%,#262b33,#14171c);overflow:hidden;cursor:crosshair}.demo-reflex-target{position:absolute;width:82px;height:82px;border:0;border-radius:50%;background:radial-gradient(circle,#fff7c8 0,#ffbf3f 30%,#f97316 100%);box-shadow:0 0 0 10px rgba(249,115,22,.12),0 14px 34px rgba(249,115,22,.28);cursor:pointer;animation:demoPulseTarget .75s ease-in-out infinite alternate}

.demo-wordle-grid{display:grid;grid-template-rows:repeat(6,1fr);gap:6px;width:min(100%,330px);margin:0 auto}.demo-wordle-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.demo-wordle-cell{aspect-ratio:1;display:grid;place-items:center;border:2px solid #dde3e8;border-radius:10px;background:#fff;font:800 clamp(18px,5vw,26px) var(--font-display);text-transform:uppercase}.demo-wordle-cell.is-correct{background:#69b99a;border-color:#69b99a;color:#fff}.demo-wordle-cell.is-present{background:#e9a63f;border-color:#e9a63f;color:#fff}.demo-wordle-cell.is-absent{background:#7e8792;border-color:#7e8792;color:#fff}.demo-wordle-input{position:absolute;opacity:0;pointer-events:none}

.demo-knight-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));width:min(100%,470px);aspect-ratio:1;margin:0 auto;border:4px solid #19374c;border-radius:14px;overflow:hidden;background:#19374c;box-sizing:border-box}.demo-knight-grid button{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:0;appearance:none;-webkit-appearance:none;box-sizing:border-box;overflow:hidden;background:#fff;color:#153c51;cursor:pointer;box-shadow:none}.demo-knight-grid button:nth-child(odd){background:#e7edf2}.demo-knight-grid button:disabled{opacity:1;cursor:default}.demo-knight-grid button.is-current{background:#a8decf!important;color:#153c51;font-size:28px}.demo-knight-grid button.is-visited::after{content:attr(data-step);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:#9da8b2;font:800 15px var(--font-display)}.demo-knight-grid button.is-current::after{display:none}.demo-knight-grid button.is-legal::before{content:"";position:absolute;left:50%;top:50%;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#f6a168;box-shadow:0 0 0 5px rgba(246,161,104,.14)}.demo-restart{display:block;margin:13px auto 0;padding:10px 14px;border:1px solid #dfe4e9;border-radius:999px;background:#fff;cursor:pointer;color:#313943;font:700 10px var(--font-display)}

.demo-sudoku-grid{display:grid;grid-template-columns:repeat(9,1fr);width:min(100%,520px);aspect-ratio:1;margin:0 auto;border:3px solid #1e3547;background:#1e3547;gap:1px}.demo-sudoku-cell{border:0!important;border-radius:0!important;background:#fff!important;color:#233543!important;font-size:clamp(10px,2.7vw,19px)!important}.demo-sudoku-cell:nth-child(9n+3),.demo-sudoku-cell:nth-child(9n+6){border-right:2px solid #1e3547!important}.demo-sudoku-cell.is-fixed{background:#f0f3f6!important;font-weight:900}.demo-sudoku-cell.is-selected{background:#fff0c9!important;box-shadow:inset 0 0 0 2px #f5a614!important}.demo-sudoku-numbers{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;width:min(100%,520px);margin:12px auto 0}.demo-sudoku-numbers button{height:38px;border:1px solid #dfe4e9;border-radius:9px;background:#fff;cursor:pointer;font:800 12px var(--font-display)}

@keyframes demoShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@keyframes demoPulseTarget{from{transform:scale(.96)}to{transform:scale(1.04)}}
@media(max-width:720px){.demo-catalog-section{padding-bottom:90px}.demo-catalog{margin-left:-2px;margin-right:-2px;padding:17px;border-radius:24px}.demo-carousel-controls{display:none}.demo-game-card{flex-basis:145px;min-height:132px;padding:15px;border-radius:18px}.demo-game-card-icon{width:46px;height:46px;border-radius:14px;font-size:22px}.demo-game-card strong{font-size:12px}.game-demo-modal{width:100%;max-height:100dvh;height:100dvh;margin:0;border-radius:0}.game-demo-shell{max-height:100dvh;height:100dvh;min-height:0}.game-demo-header{padding:12px 14px}.game-demo-notice{padding:8px 14px}.game-demo-stage{padding:14px}.game-demo-result{inset:62px 0 0;padding:22px}.game-demo-result-actions{width:100%;display:grid}.game-demo-result-actions>*{width:100%;box-sizing:border-box}.demo-board-card{padding:14px;border-radius:19px}.demo-play-head{align-items:flex-start}.demo-choice-grid{gap:7px}.demo-reflex-board{height:48vh;min-height:290px}.demo-pairs-grid{width:min(100%,340px)}.demo-grid{gap:6px}.demo-grid-cell{border-radius:9px}.demo-knight-grid{border-width:3px}.demo-sudoku-grid{border-width:2px}}
@media(max-width:400px){.demo-game-card{flex-basis:132px}.demo-game-card strong{font-size:11.5px}.game-demo-title-wrap h2{font-size:17px}.demo-stroop-word{font-size:42px}.demo-letter-grid button,.demo-wordle-keyboard button{min-width:31px;height:36px;padding:0 6px}.demo-sudoku-numbers{gap:3px}.demo-sudoku-numbers button{height:34px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.demo-game-card,.demo-choice,.demo-grid-cell,.demo-reflex-target{transition:none!important;animation:none!important}}
html.game-demo-open,html.game-demo-open body{overflow:hidden}
html.a11y-colorblind .demo-wordle-cell.is-correct{background:#0072b2;border-color:#005f95;box-shadow:inset 0 -5px 0 rgba(255,255,255,.6)}
html.a11y-colorblind .demo-wordle-cell.is-present{background:#e69f00;border-color:#b97f00;background-image:linear-gradient(135deg,rgba(255,255,255,.22) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.22) 75%,transparent 75%);background-size:12px 12px}
html.a11y-colorblind .demo-wordle-cell.is-absent{background:#59636f;border-color:#414a54}
html.a11y-high-contrast .demo-game-card{border-color:rgba(255,255,255,.35)}
html.a11y-high-contrast .game-demo-stage button{border-color:#4b535d}
html.a11y-large-text .demo-game-card strong{font-size:16px!important}
html.a11y-large-text .demo-instruction,html.a11y-large-text .demo-feedback-line,html.a11y-large-text .game-demo-notice{font-size:14px!important}

/* v141 · Modal de demos centrado y adaptado a viewport móvil. */
.game-demo-modal{
    position:fixed;
    inset:0;
    margin:auto;
    box-sizing:border-box;
    width:min(940px,calc(100vw - 28px));
    max-width:940px;
    max-height:min(860px,calc(100dvh - 28px));
}
.game-demo-modal[open]{display:block}
.game-demo-shell{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.game-demo-header,.game-demo-notice,.game-demo-stage{box-sizing:border-box;width:100%}
.game-demo-header{flex:0 0 auto}
.game-demo-notice{flex:0 0 auto}
.game-demo-stage{overscroll-behavior:contain;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.demo-play,.demo-board-card{box-sizing:border-box;max-width:100%}

@media(max-width:720px){
    .game-demo-modal{
        position:fixed;
        inset:0;
        width:100vw;
        max-width:none;
        height:100dvh;
        max-height:100dvh;
        margin:0;
        border-radius:0;
    }
    .game-demo-shell{
        width:100%;
        height:100dvh;
        max-height:100dvh;
        min-height:0;
        overflow:hidden;
    }
    .game-demo-header{
        padding-top:max(12px,env(safe-area-inset-top));
        padding-right:max(14px,env(safe-area-inset-right));
        padding-left:max(14px,env(safe-area-inset-left));
    }
    .game-demo-notice{
        padding-right:max(14px,env(safe-area-inset-right));
        padding-left:max(14px,env(safe-area-inset-left));
    }
    .game-demo-stage{
        min-width:0;
        padding:14px max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    }
    .demo-play{width:100%;min-width:0}
    .demo-play-head{gap:10px}
    .demo-play-title{font-size:15px}
    .demo-play-stat{padding:7px 9px;font-size:10px;white-space:nowrap}
    .demo-board-card{width:100%;min-width:0;padding:13px;border-radius:18px}
    .demo-grid{width:min(100%,calc(100dvh - 245px));max-width:460px;max-height:calc(100dvh - 245px)}
    .demo-reflex-board{height:min(48vh,430px);min-height:260px}
    .demo-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .game-demo-result{inset:0;padding:calc(72px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:auto}
}

@media(max-width:420px){
    .game-demo-title-wrap{gap:10px}
    .game-demo-icon{width:40px;height:40px;flex-basis:40px;border-radius:12px;font-size:20px}
    .game-demo-close{width:40px;height:40px;flex-basis:40px}
    .game-demo-title-wrap h2{font-size:16px}
    .game-demo-notice{font-size:10.5px;line-height:1.4}
    .demo-instruction{min-height:38px;margin-bottom:11px;font-size:12px}
    .demo-feedback-line{font-size:10.5px}
    .demo-grid{gap:5px}
    .demo-grid-cell{border-radius:8px}
}
/* v149 · Demos Ahorcado/Wordle: mismo flujo del juego completo, nivel 1 y sin ventajas. */
.demo-language-helper{min-height:0;margin:14px 0 0;font-size:11px;font-weight:600;color:#7a8490}
.demo-hangman-layout{width:min(100%,650px);display:grid;grid-template-columns:150px 1fr;align-items:center;gap:22px;padding:16px;margin:0 auto;border:1px solid rgba(23,39,54,.09);border-radius:24px;background:linear-gradient(145deg,#fff,#fbfcfd)}
.demo-hangman-figure{display:grid;place-items:center;min-height:160px}.demo-hangman-figure svg{width:138px;height:158px;overflow:visible}.demo-hangman-figure svg line,.demo-hangman-figure svg circle{fill:none;stroke:#1b2631;stroke-width:5;stroke-linecap:round}.demo-hangman-figure .demo-hangman-part{opacity:0;transition:opacity .28s ease,stroke .28s ease}.demo-hangman-figure .demo-hangman-part.is-visible{opacity:1;stroke:#d14a40}
.demo-hangman-word{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;align-content:center;min-height:110px;margin:0}.demo-hangman-letter-slot{width:40px;height:48px;border:1px solid #dfe5ea;border-bottom:3px solid #b7c1ca;border-radius:10px;display:grid;place-items:center;background:#fff;color:#c1c8ce;font:900 20px var(--font-display);box-shadow:0 6px 16px rgba(22,38,53,.04)}.demo-hangman-letter-slot.is-revealed{border-color:rgba(242,122,89,.35);border-bottom-color:#f27a59;color:#1b2631}
.demo-hangman-keyboard{width:min(100%,650px);display:flex;flex-direction:column;gap:7px;margin:16px auto 0}.demo-hangman-key-row{display:flex;justify-content:center;gap:6px}.demo-hangman-key{flex:1 1 0;min-width:0;max-width:52px;height:46px;border:1px solid #dde3e8;border-radius:10px;background:#fff;color:#1d2a35;font:900 14px var(--font-display);cursor:pointer}.demo-hangman-key.is-correct{background:#eaf8f1;border-color:#a9dfc4;color:#18784a}.demo-hangman-key.is-wrong{background:#f4f6f8;border-color:#e7eaed;color:#9da7b0;text-decoration:line-through}.demo-hangman-key:disabled{cursor:default}
.demo-wordle-keyboard{display:grid;gap:6px;width:min(560px,100%);margin:18px auto 0}.demo-wordle-key-row{display:flex;justify-content:center;gap:5px}.demo-wordle-key{flex:1;min-width:0;max-width:48px;height:46px;padding:0;border:1px solid #dfe5ea;border-radius:9px;background:#fff;color:#202630;cursor:pointer;font:800 13px var(--font-display)}.demo-wordle-key.is-wide{max-width:82px;flex:1.45;font-size:9px}.demo-wordle-key.is-correct{background:#69b99a;border-color:#69b99a;color:#fff}.demo-wordle-key.is-present{background:#e9a63f;border-color:#e9a63f;color:#fff}.demo-wordle-key.is-absent{background:#7e8792;border-color:#7e8792;color:#fff}.demo-wordle-row.is-shake{animation:demoWordleShake .38s ease}.demo-wordle-cell.is-pop{animation:demoWordlePop .14s ease-out}
@keyframes demoWordleShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}@keyframes demoWordlePop{0%{transform:scale(.88)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:620px){.demo-hangman-layout{grid-template-columns:100px 1fr;gap:10px;padding:12px}.demo-hangman-figure{min-height:122px}.demo-hangman-figure svg{width:98px;height:116px}.demo-hangman-letter-slot{width:31px;height:41px;font-size:17px}.demo-hangman-key-row{gap:3px}.demo-hangman-key{height:40px;font-size:11px}.demo-wordle-key{height:42px;font-size:12px}.demo-wordle-key.is-wide{font-size:8px}}
html.a11y-colorblind .demo-wordle-key.is-correct{background:#0072b2;border-color:#005f95}html.a11y-colorblind .demo-wordle-key.is-present{background:#e69f00;border-color:#b97f00;color:#17191d}html.a11y-colorblind .demo-wordle-key.is-absent{background:#59636f;border-color:#414a54}


/* v152 · DEMO Camino del caballo: filas y celdas 5x5 fijadas para evitar deformaciones de renderizado. */


/* v159 · Responsive recuperación */
@media(max-width:900px){
    body.route-recuperar-password .recovery-hero-title{max-width:600px;margin-inline:auto}
    body.route-recuperar-password .recovery-promise{justify-content:center;flex-wrap:wrap}
}
@media(max-width:600px){
    body.route-recuperar-password .auth-pitch h1{font-size:clamp(40px,11vw,54px)}
    body.route-recuperar-password .auth-pitch p{margin-top:15px;font-size:13px}
    body.route-recuperar-password .recovery-promise{gap:10px;margin-top:24px}
    body.route-recuperar-password .recovery-promise-item{padding:9px 12px 9px 0;gap:8px}
    body.route-recuperar-password .recovery-promise-icon{width:36px;height:36px;flex-basis:36px;border-radius:12px;font-size:18px}
    body.route-recuperar-password .recovery-promise-item>div>strong{font-size:26px}
    body.route-recuperar-password .recovery-promise-item>div>strong small{font-size:12px}
    body.route-recuperar-password .recovery-promise-item>div>span{font-size:9px;white-space:normal}
    body.route-recuperar-password .auth-card-recovery{padding:22px 18px!important}
    body.route-recuperar-password .recovery-card-title{font-size:clamp(30px,8.3vw,37px)}
}


/* v164 · Login: jerarquía visual alineada con registro/recuperación. */
body.route-inicio-sesion .login-hero-title{max-width:690px;line-height:.98;letter-spacing:-.055em;text-wrap:balance}
body.route-inicio-sesion .login-hero-title span{background:linear-gradient(110deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}
body.route-inicio-sesion .login-promise{display:flex;gap:20px;margin-top:34px}
body.route-inicio-sesion .login-promise-item{display:flex;align-items:center;gap:11px;padding:11px 22px 11px 0;border-right:1px solid var(--line);min-width:0}
body.route-inicio-sesion .login-promise-item:last-child{border-right:0;padding-right:0}
body.route-inicio-sesion .login-promise-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(245,158,11,.18);border-radius:14px;background:linear-gradient(145deg,#fff5d8,#ffe5a4);font-size:21px;box-shadow:0 8px 20px rgba(245,158,11,.12),inset 0 1px 0 rgba(255,255,255,.9)}
body.route-inicio-sesion .login-promise-item>div>strong,body.route-inicio-sesion .login-promise-item>div>span{display:block}
body.route-inicio-sesion .login-promise-item>div>strong{font:800 31px/1 var(--font-display);letter-spacing:-.045em;color:#111318;font-variant-numeric:tabular-nums}
body.route-inicio-sesion .login-promise-item>div>span{margin-top:5px;color:#7d8795;font-size:10px;white-space:nowrap}
body.route-inicio-sesion .auth-card-login{padding:34px}
body.route-inicio-sesion .auth-card-login .auth-title{font-size:clamp(32px,3vw,40px);letter-spacing:-.045em;line-height:1.03}
body.route-inicio-sesion .auth-card-login .auth-title span{display:inline}
body.route-inicio-sesion .auth-verification-resend{margin:-5px 0 20px;text-align:center}
body.route-inicio-sesion .auth-resend-link{appearance:none;-webkit-appearance:none;border:0;padding:3px 2px;background:transparent;color:#d97706;font:800 11px/1.45 var(--font-display);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}
body.route-inicio-sesion .auth-resend-link:hover{color:#f97316}
body.route-inicio-sesion .auth-resend-link:focus-visible{outline:3px solid rgba(245,158,11,.22);outline-offset:4px;border-radius:6px}

@media(max-width:900px){
    body.route-inicio-sesion .login-hero-title{max-width:610px;margin-inline:auto}
    body.route-inicio-sesion .login-promise{justify-content:center;flex-wrap:wrap}
}
@media(max-width:600px){
    body.route-inicio-sesion .login-promise{gap:10px;margin-top:24px}
    body.route-inicio-sesion .login-promise-item{padding:9px 12px 9px 0;gap:8px}
    body.route-inicio-sesion .login-promise-icon{width:36px;height:36px;flex-basis:36px;border-radius:12px;font-size:18px}
    body.route-inicio-sesion .login-promise-item>div>strong{font-size:26px}
    body.route-inicio-sesion .login-promise-item>div>span{font-size:9px}
    body.route-inicio-sesion .auth-card-login{padding:22px 18px!important}
}

/* v165 · Admin: paneles de gestión extensos plegables por defecto. */
[data-admin-collapsible].is-collapsed > :not(.admin-card-head){display:none!important}
[data-admin-collapsible] > .admin-card-head{align-items:center}
.admin-collapse-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid rgba(17,19,24,.09);border-radius:999px;background:#fff;color:#6f7784;font:800 9px var(--font-display);cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}
.admin-collapse-toggle:hover{border-color:rgba(245,158,11,.28);background:#fffaf0;color:#9a6508}
.admin-collapse-toggle i{font-style:normal;font-size:15px;line-height:1;transition:transform .18s ease}
.admin-collapse-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
[data-admin-collapsible].is-collapsed{overflow:hidden}
@media(max-width:700px){[data-admin-collapsible]>.admin-card-head{flex-wrap:wrap}.admin-collapse-toggle{margin-left:auto}}


/* v166 · Admin: cupones eliminables, plegado corregido y acciones AJAX. */
.admin-coupon-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.admin-coupon-actions form{margin:0}
.admin-coupon-actions .admin-action-danger{border-color:rgba(190,50,50,.18);color:#a63838;background:#fff7f7}
.admin-coupon-actions .admin-action-danger:hover{border-color:rgba(190,50,50,.32);background:#fff0f0}
form[data-admin-ajax-busy="1"]{opacity:.72;transition:opacity .16s ease}
form[data-admin-ajax-busy="1"] button{cursor:wait}
@media(max-width:700px){.admin-coupon-actions{justify-content:flex-start;grid-column:1/-1}.admin-coupon-actions .admin-action-btn{min-height:36px}}
