/* === deck-styles.css — estilo compartido del deck (extraído del index.html de go.dinaup.com) === */
:root{
  --dn-primary:#0085FF;
  --dn-primary-dark:#0066CC;
  --dn-primary-light:#62B4FF;
  --dn-success:#10B981;
  --dn-warning:#F59E0B;
  --dn-danger:#EF4444;
  --rueda-blue:#00C1FF;
  --rueda-red:#FF6751;
  --rueda-green:#56E16A;
  --rueda-yellow:#FFDC18;
  --base-50:#FAFAFA;
  --base-100:#F1F5F9;
  --base-200:#E2E8F0;
  --base-300:#CBD5E1;
  --base-500:#64748B;
  --base-700:#334155;
  --base-900:#0F172A;
  --bg-app:#F8FAFC;
  --bg-deck:#EEF2F7;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at center, #F1F5F9 0%, #E2E8F0 70%, #CBD5E1 100%);font-family:'Open Sans',system-ui,sans-serif;color:var(--base-900);}
#root{width:100%;height:100%;}
.stage-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:transparent;}
.stage{position:relative;background:#fff;box-shadow:0 40px 120px rgba(0,133,255,0.08);overflow:hidden;}
.slide{position:absolute;inset:0;}

/* Fonts */
.f-plex{font-family:'IBM Plex Sans',sans-serif;}
.f-mono{font-family:'JetBrains Mono',monospace;}

/* Nav */
.nav{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;background:rgba(15,23,42,0.85);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,0.10);padding:8px 14px;border-radius:100px;z-index:30;transition:opacity .4s ease;box-shadow:0 8px 24px rgba(15,23,42,0.18);}
.nav button{appearance:none;border:none;background:transparent;color:rgba(255,255,255,0.88);font-family:inherit;cursor:pointer;padding:6px 10px;border-radius:100px;display:flex;align-items:center;gap:6px;font-size:13px;}
.nav button:hover{background:rgba(255,255,255,0.10);}
.nav .count{color:rgba(255,255,255,0.65);font-family:'JetBrains Mono',monospace;font-size:12px;padding:0 6px;}
.slide-idx{position:fixed;right:22px;bottom:26px;color:rgba(15,23,42,0.55);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:1px;z-index:30;}
.progress-outer{position:fixed;left:0;right:0;bottom:0;height:2px;background:rgba(15,23,42,0.06);z-index:29;}
.progress-inner{height:100%;background:linear-gradient(90deg,var(--dn-primary),var(--rueda-green));transition:width .06s linear;}
.hint{position:fixed;left:22px;bottom:26px;color:rgba(15,23,42,0.40);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;z-index:30;}

/* Overview */
.overview{position:fixed;inset:0;background:rgba(8,10,14,0.96);backdrop-filter:blur(10px);z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:60px;overflow:auto;}
.ov-thumb{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,0.08);background:#fff;transition:transform .25s ease, border-color .25s ease;}
.ov-thumb:hover{transform:translateY(-4px);border-color:var(--dn-primary);}
.ov-thumb .ov-label{position:absolute;left:10px;bottom:8px;font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(255,255,255,0.8);background:rgba(0,0,0,0.5);padding:4px 8px;border-radius:100px;}
.ov-thumb .ov-title{position:absolute;left:14px;top:12px;right:14px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:15px;color:var(--base-900);line-height:1.2;}

/* Shared Dinaup primitives */
.rueda-divider{position:relative;height:1px;display:flex;overflow:hidden;}
.rueda-divider > div{flex:1;height:100%;opacity:0.45;}
.rueda-divider .shimmer{position:absolute;top:0;bottom:0;width:80px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.85),transparent);animation:dividerShimmer 3.2s linear infinite;}
@keyframes dividerShimmer{0%{left:-80px}100%{left:100%}}
.rueda-glow{display:none;}

.dn-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--dn-primary);color:#fff;border-radius:8px;font-weight:600;font-size:13px;box-shadow:0 4px 14px rgba(0,133,255,0.3);cursor:pointer;font-family:inherit;border:none;}
.dn-btn.ghost{background:#fff;color:var(--dn-primary);border:1px solid var(--base-200);box-shadow:none;}

.grad-text{background:linear-gradient(120deg,#0085FF,#56E16A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}

.pulse-dot{width:8px;height:8px;border-radius:100px;background:var(--dn-success);animation:pulseDot 1.8s ease-in-out infinite;}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,0.7)}50%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}

.ring-pulse{position:absolute;border:2px solid var(--dn-primary);border-radius:100px;pointer-events:none;}

.dot-grid-bg{background-image:radial-gradient(circle,rgba(0,133,255,0.10) 1px,transparent 1px);background-size:28px 28px;}

.hero-bg{background:
  radial-gradient(ellipse 70% 50% at 20% 20%,rgba(0,133,255,0.10),transparent 60%),
  radial-gradient(ellipse 60% 40% at 85% 90%,rgba(86,225,106,0.07),transparent 60%),
  linear-gradient(180deg,#fff 0%,#F0F7FF 100%);
}

/* Cursor */
.cine-cursor{position:absolute;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.25));z-index:20;will-change:transform;}

.slide::-webkit-scrollbar{display:none;}

.shadow-card{box-shadow:0 20px 60px rgba(0,133,255,0.14),0 4px 12px rgba(15,23,42,0.08);}

/* Typewriter caret */
.caret{display:inline-block;width:2px;height:1em;background:var(--dn-primary);margin-left:3px;vertical-align:-2px;animation:caret 1s step-end infinite;}
@keyframes caret{50%{opacity:0}}

/* Intro slide — flechita inferior */
@keyframes introArrow{0%,100%{transform:translateY(0);opacity:0.6}50%{transform:translateY(4px);opacity:1}}
