/* quiz.electric-go.shop — landing-квіз про розбаланс батареї Tesla */
:root{
  --bg:#07090f; --bg2:#0d1119; --card:#111726; --card2:#161d2e;
  --border:#232c3f; --text:#e9edf5; --muted:#98a3b8;
  --accent:#ff6a00; --accent2:#ff9a3d; --accent-soft:rgba(255,106,0,.14);
  --green:#2fd97a; --red:#ff5a5a; --cyan:#35d0ff;
  --radius:16px; --maxw:560px;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg); color:var(--text); line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow:hidden;
  overscroll-behavior:none;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* poster */
.poster{position:fixed;inset:0;z-index:1000;background:radial-gradient(120% 90% at 50% 35%,#0e1626 0%,#07090f 62%);display:flex;align-items:center;justify-content:center;transition:opacity .5s var(--ease),visibility .5s var(--ease)}
.poster.done{opacity:0;visibility:hidden;pointer-events:none}
.poster-inner{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:24px}
.poster-batt{font-size:3.4rem;animation:pulse 1.4s ease-in-out infinite}
.poster-title{font-weight:700;font-size:1.05rem}
.poster-bar{width:min(300px,70vw);height:6px;border-radius:999px;background:var(--border);overflow:hidden}
.poster-bar span{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s var(--ease)}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

/* app layout: mobile-first, 3D top + panel bottom */
.app{position:relative;height:100%;display:flex;flex-direction:column}
.stage{position:relative;height:45%;flex:none;background:radial-gradient(120% 90% at 50% 40%,#0e1626 0%,#07090f 65%)}
#stage-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.stage-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(7,9,15,0) 55%,var(--bg) 100%)}

/* range HUD */
.range-hud{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;width:min(300px,70vw);display:flex;flex-direction:column;gap:6px;align-items:center}
.range-label{font-size:.75rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.range-bar{width:100%;height:10px;border-radius:999px;background:var(--border);overflow:hidden}
.range-bar span{display:block;height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--cyan));transition:width .7s var(--ease)}
.range-val{font-size:.85rem;font-weight:700;color:var(--text)}

/* panel */
.panel{flex:1;overflow-y:auto;padding:18px 20px 24px;max-width:var(--maxw);margin:0 auto;width:100%;-webkit-overflow-scrolling:touch}
.panel-kicker{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent2);font-size:.8rem;font-weight:600;border:1px solid rgba(255,106,0,.25);margin-bottom:12px}
.panel-title{font-size:clamp(1.35rem,5vw,1.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}
.panel-sub{color:var(--muted);font-size:.98rem;margin-bottom:16px}
.panel-note{color:var(--muted);font-size:.8rem;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:12px;font-weight:600;font-size:.98rem;transition:.25s var(--ease);border:1px solid transparent}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0b0b0b;box-shadow:0 8px 30px -8px rgba(255,106,0,.5)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-primary:disabled{opacity:.6;transform:none;cursor:default}
.btn-lg{padding:15px 26px;font-size:1.03rem;width:100%}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}

/* quiz top */
.quiz-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.back{width:38px;height:38px;flex:none;border-radius:10px;border:1px solid var(--border);font-size:1.1rem;display:grid;place-items:center;color:var(--muted);transition:.2s}
.back:hover{background:var(--card);color:var(--text)}
.progress{flex:1;height:7px;border-radius:999px;background:var(--border);overflow:hidden}
.progress span{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .35s var(--ease)}
.progress-text{font-size:.8rem;color:var(--muted);font-weight:600;white-space:nowrap}

/* question + options */
.q-title{font-size:clamp(1.15rem,4.5vw,1.45rem);font-weight:700;margin-bottom:16px;line-height:1.25}
.q-opts{display:flex;flex-direction:column;gap:10px}
.opt{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--card);font-size:.98rem;font-weight:500;transition:.18s var(--ease);color:var(--text)}
.opt:hover{border-color:#33405a;background:var(--card2)}
.opt.picked{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.opt .opt-key{color:var(--accent2);font-weight:700;margin-right:8px}

/* result */
.res-badge{font-size:.85rem;font-weight:700;padding:7px 14px;border-radius:999px;display:inline-block;margin-bottom:12px}
.res-badge.risk-high{background:rgba(255,90,90,.15);color:var(--red);border:1px solid rgba(255,90,90,.35)}
.res-badge.risk-mid{background:rgba(255,176,32,.15);color:#ffb020;border:1px solid rgba(255,176,32,.35)}
.res-badge.risk-low{background:rgba(47,217,122,.15);color:var(--green);border:1px solid rgba(47,217,122,.35)}
.res-disclaimer{padding:12px 14px;border-radius:12px;background:var(--card);border:1px solid var(--border);font-size:.86rem;color:var(--muted);margin-bottom:16px}
.res-do{margin-bottom:16px}
.res-do-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}
.res-do-list{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.res-do-list li{color:var(--text);font-size:.92rem}

/* lead form */
.lead-form{display:flex;flex-direction:column;gap:12px}
.lead-form input[type=text],.lead-form input[type=tel]{padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:1rem;font-family:inherit}
.lead-form input:focus{outline:none;border-color:var(--accent)}
.contact-method{display:flex;gap:8px}
.method{flex:1;padding:11px;border-radius:10px;border:1px solid var(--border);background:var(--card);font-size:.88rem;font-weight:600;color:var(--muted);transition:.18s var(--ease)}
.method.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:.78rem;color:var(--muted)}
.consent input{margin-top:2px}
.consent a{color:var(--accent2);text-decoration:underline}

/* toast */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--card2);border:1px solid var(--green);color:var(--text);padding:12px 20px;border-radius:12px;font-weight:600;font-size:.9rem;z-index:2000;box-shadow:0 10px 40px -10px rgba(0,0,0,.6)}

@media (min-width:760px){
  .app{flex-direction:row}
  .stage{height:100%;flex:1}
  .panel{flex:0 0 440px;height:100%;overflow-y:auto;padding:40px 32px;border-left:1px solid var(--border)}
  .range-hud{bottom:auto;top:20px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
