:root{
  --navy:#0a0424; --deep:#170b43; --violet:#6a3bd1; --violet-light:#9d7aff;
  --cyan:#27dfff; --gold:#f6c94a; --ink:#181229; --muted:#a99ac4; --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--navy);color:#fff;overflow-x:hidden}
img{max-width:100%;display:block}
button{font-family:inherit}

/* ===== Welcome screen ===== */
.welcome-screen{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#241257,#0a0424 70%);text-align:center;padding:24px;transition:opacity .6s ease,visibility .6s ease}
.welcome-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}
.welcome-lang{position:absolute;top:24px;right:24px;display:flex;gap:8px}
.welcome-lang button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:100px;padding:7px 14px;font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.05em}
.welcome-lang button.active{background:linear-gradient(135deg,#6a3bd1,#9d7aff);border-color:transparent}
.welcome-skip{position:absolute;top:24px;left:24px;background:none;border:1px solid rgba(255,255,255,.18);color:var(--muted);border-radius:100px;padding:7px 16px;font-size:12px;cursor:pointer}
.welcome-core{width:min(180px,40vw);margin:0 auto 28px}
.welcome-title{font-size:clamp(26px,5vw,42px);font-weight:850;letter-spacing:-.01em;margin:0}
.welcome-sub{font-size:15px;color:var(--muted);margin-top:14px;max-width:520px;line-height:1.7}
.welcome-guide{font-size:14.5px;color:#dcd3f5;margin-top:26px;max-width:480px;line-height:1.7;font-style:italic}
.welcome-choices{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;justify-content:center}
.welcome-choice{display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(157,122,255,.3);border-radius:18px;padding:20px 26px;cursor:pointer;transition:transform .25s ease,background .25s ease;min-width:150px}
.welcome-choice:hover{transform:translateY(-4px);background:rgba(157,122,255,.14)}
.welcome-choice .ic{font-size:26px}
.welcome-choice b{font-size:13.5px;font-weight:800}

/* ===== Core visual (reused/adapted from iba-nova.com) ===== */
.core-visual{position:relative}
.core-visual svg{width:100%;height:auto;filter:drop-shadow(0 20px 55px rgba(106,59,209,.5))}
@keyframes corePulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.core-star{transform-origin:210px 180px;animation:corePulse 3s ease-in-out infinite}
@keyframes coreSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes coreSpinRev{from{transform:rotate(360deg)}to{transform:rotate(0)}}
.core-ring{transform-origin:210px 180px;animation:coreSpin 20s linear infinite}
.core-ring-2{animation:coreSpinRev 26s linear infinite}
.core-visual.reacting .core-star{animation-duration:1.1s}
.core-visual.reacting .core-ring{animation-duration:6s}
.core-visual.reacting .core-ring-2{animation-duration:8s}

/* ===== Top nav (post-welcome) ===== */
.lab-nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:rgba(10,4,36,.75);backdrop-filter:blur(12px);border-bottom:1px solid rgba(157,122,255,.18)}
.lab-nav .brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.02em;font-size:15px}
.lab-nav .brand .dot{width:26px;height:26px}
.lab-nav .tagline{font-size:10.5px;color:var(--muted);letter-spacing:.08em}
.lab-nav-links{display:flex;gap:22px;font-size:13px;font-weight:700}
.lab-nav-links a{color:#e3ddfa;text-decoration:none;opacity:.85}
.lab-nav-links a:hover{opacity:1}
.lab-nav .back{font-size:12px;color:var(--muted);text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:6px 14px}

/* ===== Hero / router landing ===== */
.lab-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:150px 24px 60px;position:relative}
.lab-hero .core-visual{width:min(320px,70vw);margin-bottom:10px}
.lab-hero h1{font-size:clamp(28px,4.5vw,46px);margin:10px 0 0}
.lab-hero h1 span{background:linear-gradient(90deg,#8be8ff,#c3a7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.lab-hero p{color:var(--muted);max-width:560px;margin:16px auto 0;line-height:1.7;font-size:15px}
.lab-hero .credo{margin-top:10px;font-size:12px;letter-spacing:.14em;color:var(--gold);font-weight:800}

/* ===== Advisor chat panel ===== */
.advisor-panel{position:fixed;right:20px;bottom:20px;width:380px;max-width:calc(100vw - 24px);height:min(560px,calc(100vh - 40px));background:#140a35;border:1px solid rgba(157,122,255,.3);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.5);z-index:1000;display:none;flex-direction:column;overflow:hidden}
.advisor-panel.open{display:flex}
.advisor-head{background:linear-gradient(135deg,#170b43,#4a1b96);padding:16px 18px;display:flex;justify-content:space-between;align-items:center}
.advisor-head b{font-size:14px}
.advisor-head small{font-size:11px;color:#c9baf0;display:block;margin-top:2px}
.advisor-head button{background:rgba(255,255,255,.14);border:0;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer}
.advisor-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#100829}
.advisor-msg{max-width:85%;padding:10px 13px;border-radius:13px;font-size:13.5px;line-height:1.6}
.advisor-msg.user{align-self:flex-end;background:linear-gradient(135deg,#6a3bd1,#9d7aff);color:#fff;border-bottom-right-radius:4px}
.advisor-msg.bot{align-self:flex-start;background:#1c1044;border:1px solid rgba(157,122,255,.2);border-bottom-left-radius:4px}
.advisor-experience-cta{align-self:flex-start;margin-top:2px;background:linear-gradient(135deg,#27dfff,#6a3bd1);color:#fff;border:0;border-radius:100px;padding:9px 16px;font-size:12.5px;font-weight:800;cursor:pointer}
.advisor-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(157,122,255,.2)}
.advisor-input-row input{flex:1;border:1px solid rgba(157,122,255,.25);background:#1c1044;color:#fff;border-radius:100px;padding:11px 15px;font-family:inherit;font-size:13px}
.advisor-input-row button{border:0;background:var(--violet);color:#fff;border-radius:100px;padding:0 18px;font-weight:800;cursor:pointer}
.advisor-launcher{position:fixed;right:20px;bottom:20px;z-index:950;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#6a3bd1,#9d7aff);color:#fff;border:0;border-radius:100px;padding:12px 18px 12px 14px;cursor:pointer;box-shadow:0 18px 40px rgba(106,59,209,.45)}
.advisor-launcher .p{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center}
.advisor-launcher .p svg{width:18px;height:18px}
.advisor-launcher b{display:block;font-size:12.5px}
.advisor-launcher small{display:block;font-size:10px;opacity:.85}
.advisor-launcher:has(~ .advisor-panel.open){display:none}

/* ===== Experience modules grid ===== */
.modules-section{padding:20px 24px 100px;max-width:1100px;margin:0 auto}
.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.module-card{background:rgba(255,255,255,.04);border:1px solid rgba(157,122,255,.22);border-radius:20px;padding:26px;text-align:left;transition:transform .3s ease,border-color .3s ease}
.module-card:hover{transform:translateY(-5px);border-color:rgba(157,122,255,.5)}
.module-card .ic{font-size:30px}
.module-card h3{font-size:17px;margin:14px 0 8px}
.module-card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 16px}
.module-card .status{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;border-radius:100px;padding:5px 11px}
.status.ready{background:rgba(139,232,255,.12);color:#8be8ff;border:1px solid rgba(139,232,255,.3)}
.status.soon{background:rgba(255,255,255,.08);color:var(--muted);border:1px solid rgba(255,255,255,.15)}

@media(max-width:760px){
  .modules-grid{grid-template-columns:1fr}
  .lab-nav-links{display:none}
  .advisor-panel{width:calc(100vw - 20px);right:10px;bottom:10px}
  .advisor-launcher{right:12px;bottom:14px}
  .welcome-choices{flex-direction:column;width:100%}
  .welcome-choice{width:100%}
}
