/* Quiz page — separate from stories */
html,body{overflow:auto}
body.quiz-page{background:linear-gradient(180deg,#fff1e5 0%,#fff 30%,#fff 100%);min-height:100vh;min-height:100dvh;font-family:'Montserrat',system-ui,sans-serif;color:#1a1a1a;padding-bottom:40px}

/* Header */
.qheader{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:rgba(255,241,229,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.04)}
.qlogo{font-weight:900;font-size:15px;color:#1a1a1a;letter-spacing:-.01em;flex-shrink:0}
.qlogo span{color:#e95322}
.qlogo--img{display:flex;align-items:center}
.qlogo--img img{height:28px;width:auto;display:block;filter:drop-shadow(0 4px 12px rgba(233,83,34,.18))}
.qnav{display:flex;align-items:center;gap:10px}
.qnav__btn{display:inline-flex;align-items:center;padding:0 14px;height:30px;border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.08);font-size:11.5px;font-weight:700;color:#1a1a1a;transition:all .2s;white-space:nowrap}
.qnav__btn:hover{border-color:#e95322;color:#e95322}
@media(max-width:480px){.qnav__btn{padding:0 10px;font-size:10.5px;height:28px}.qlogo--img img{height:24px}}
.lang-switch--q{background:rgba(255,255,255,.7);border-radius:20px;padding:3px}
.lang-switch--q a{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;height:28px;border-radius:16px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#1a1a1a;background:none}
.lang-switch--q a.active{background:#e95322;color:#fff}

/* Main */
.qmain{max-width:520px;margin:0 auto;padding:22px 20px 40px;position:relative;min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px)}

/* Progress */
.qprogress{margin-bottom:28px}
.qprogress__bar{height:5px;background:rgba(0,0,0,.06);border-radius:3px;overflow:hidden;margin-bottom:8px}
.qprogress__fill{height:100%;width:14%;background:linear-gradient(90deg,#e95322,#ffa066);border-radius:3px;transition:width .45s cubic-bezier(.2,.9,.25,1)}
.qprogress__label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:1.5px;font-weight:700}
.qprogress__label span{color:#e95322}

/* Step */
.qstep{display:none;animation:qFadeIn .5s cubic-bezier(.2,.9,.25,1)}
.qstep.active{display:block}
.qstep[data-step="result"]{display:none}
.qstep[data-step="result"].active{display:block;animation:qReveal .8s cubic-bezier(.2,.9,.25,1)}

@keyframes qFadeIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes qReveal{0%{opacity:0;transform:scale(.94)}60%{transform:scale(1.02)}100%{opacity:1;transform:scale(1)}}

.qnum{font-size:13px;font-weight:800;color:#e95322;letter-spacing:2px;margin-bottom:10px;opacity:.7}
.qtitle{font-size:clamp(24px,6vw,34px);font-weight:900;line-height:1.1;letter-spacing:-.02em;margin-bottom:10px}
.qtitle--lg{font-size:clamp(28px,7vw,40px)}
.qtitle .accent{color:#e95322}
.qhint{font-size:14px;color:#666;line-height:1.5;margin-bottom:22px}
.qhint small{color:#999}

/* Slider */
.qslider-wrap{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:20px;padding:22px 18px;margin-bottom:18px;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.qslider{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:linear-gradient(90deg,#e95322 var(--p,40%),#f0e7d9 var(--p,40%));border-radius:4px;outline:none;margin:18px 0 14px;cursor:pointer}
.qslider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;background:#fff;border:3px solid #e95322;border-radius:50%;cursor:grab;box-shadow:0 6px 14px rgba(233,83,34,.3);transition:transform .15s}
.qslider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.12)}
.qslider::-moz-range-thumb{width:30px;height:30px;background:#fff;border:3px solid #e95322;border-radius:50%;cursor:grab;box-shadow:0 6px 14px rgba(233,83,34,.3)}
.qslider--red{background:linear-gradient(90deg,#c62828 var(--p,40%),#f0e7d9 var(--p,40%))}
.qslider--red::-webkit-slider-thumb{border-color:#c62828;box-shadow:0 6px 14px rgba(198,40,40,.3)}
.qslider-value{text-align:center;font-weight:900;font-size:38px;color:#1a1a1a;letter-spacing:-.02em;line-height:1}
.qslider-value small{display:block;font-size:12px;font-weight:600;color:#888;letter-spacing:1px;text-transform:uppercase;margin-top:6px}

/* Choices (compact buttons) */
.qchoices{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.qchoice{background:#fff;border:2px solid rgba(0,0,0,.06);border-radius:14px;padding:14px 52px 14px 18px;font-size:15px;font-weight:700;color:#1a1a1a;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:2px;transition:all .2s;position:relative;min-height:58px;line-height:1.25}
.qchoice small{font-size:12px;color:#888;font-weight:500;margin-top:1px}
.qchoice:hover{border-color:#e95322;transform:translateX(4px)}
.qchoice--selected{border-color:#e95322;background:#fff7f0;box-shadow:0 8px 20px rgba(233,83,34,.14)}
.qchoice--selected::after{content:'✓';position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#e95322;font-weight:900;font-size:20px;width:22px;height:22px;border-radius:50%;background:rgba(233,83,34,.15);display:flex;align-items:center;justify-content:center}
.qchoice--selected small{color:#e95322;opacity:.85}

/* Cards (rich choices) */
.qcards{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:22px}
@media(min-width:520px){.qcards--sm{grid-template-columns:1fr 1fr}}
.qcard{background:#fff;border:2px solid rgba(0,0,0,.06);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;text-align:left;transition:all .2s;cursor:pointer}
.qcard:hover{border-color:#e95322;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.qcard__emoji{width:48px;height:48px;border-radius:14px;background:#fff1e5;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.qcard__text{flex:1;min-width:0}
.qcard__text b{display:block;font-size:15px;font-weight:800;color:#1a1a1a;margin-bottom:3px}
.qcard__text span{font-size:12px;color:#777;font-weight:500;line-height:1.3}
.qcard--selected{border-color:#e95322;background:#fff7f0;box-shadow:0 8px 20px rgba(233,83,34,.14)}

/* Form */
.qform{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.qform label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.7px;font-weight:700}
.qform label small{text-transform:none;font-weight:500;color:#aaa;letter-spacing:0}
.qform input{font-family:inherit;font-size:15px;padding:13px 16px;border:1.5px solid #e5ddd0;border-radius:12px;background:#fff;color:#1a1a1a;outline:none;transition:border-color .15s,box-shadow .15s;font-weight:600}
.qform input:focus{border-color:#e95322;box-shadow:0 0 0 4px rgba(233,83,34,.1)}

/* Navigation */
.qback{background:none;color:#888;font-size:13px;margin-top:14px;padding:8px 0;font-weight:600;text-align:center;display:block;width:100%;text-decoration:none}
.qback:hover{color:#e95322}

.qnext{margin-top:6px}
.cta--big{font-size:16px;padding:18px 26px}

/* Status */
.qstatus{margin-top:14px;padding:12px;border-radius:10px;font-size:13px;text-align:center;display:none;font-weight:600}
.qstatus.show{display:block}
.qstatus.ok{background:#e6f7ea;color:#2e7d32}
.qstatus.err{background:#fde9e7;color:#c62828}

/* Result page — compact, fits one viewport */
.qresult__badge{display:inline-flex;align-items:center;gap:6px;background:rgba(233,83,34,.12);color:#e95322;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}
.qresult__warm{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:linear-gradient(135deg,#fff 0%,#fff1e5 100%);border:1.5px solid rgba(233,83,34,.3);border-radius:14px;margin-bottom:16px;box-shadow:0 8px 24px rgba(233,83,34,.1);animation:warmIn .5s ease .2s both}
@keyframes warmIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.qresult__warm-ic{font-size:22px;flex-shrink:0;line-height:1;margin-top:2px}
.qresult__warm b{display:block;font-size:14px;font-weight:900;color:#1a1a1a;margin-bottom:3px;line-height:1.3}
.qresult__warm span{display:block;font-size:12px;color:#555;line-height:1.45;font-weight:500}
.qresult .qtitle--lg{font-size:clamp(22px,5.5vw,30px);margin-bottom:4px}
.qresult .qhint{font-size:12px;margin-bottom:14px}

.rbox{border-radius:18px;padding:14px 16px;margin-bottom:8px;box-shadow:0 8px 22px rgba(0,0,0,.05);position:relative;overflow:hidden}
.rbox--loss{background:linear-gradient(135deg,#2a1a12 0%,#1a1a1a 100%);color:#fff;border:none}
.rbox--loss::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(233,83,34,.25),transparent 55%)}
.rbox--year{background:linear-gradient(135deg,#e95322 0%,#d14418 100%);color:#fff;border:none}
.rbox>*{position:relative}
.rbox__label{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;font-weight:700;opacity:.75;margin-bottom:2px}
.rbox__value{font-size:clamp(28px,7vw,42px);font-weight:900;line-height:1.05;letter-spacing:-.03em;margin:0}
.rbox__sub{font-size:11px;opacity:.7;font-weight:500;margin-top:2px}

.rrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:10px 0}
.rcell{background:#fff;border-radius:12px;padding:10px 6px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.04)}
.rcell__num{font-size:clamp(20px,5vw,26px);font-weight:900;color:#e95322;line-height:1;letter-spacing:-.02em;margin-bottom:4px}
.rcell__num span{font-size:.65em;font-weight:700}
.rcell__label{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.4px;line-height:1.25;font-weight:700}

.rpitch{background:#fff1e5;border-radius:16px;padding:12px 14px;margin:10px 0;text-align:center}
.rpitch h3{font-size:15px;font-weight:900;margin-bottom:4px;color:#1a1a1a;line-height:1.2}
.rpitch p{font-size:11.5px;color:#555;line-height:1.4}

.qresult .cta--big{font-size:14.5px;padding:14px 22px;margin-top:4px}
.qresult .qback{margin-top:8px;font-size:12px}
.qresult .qhint[style]{margin-top:8px !important}

/* Confetti (subtle) */
.qconfetti{position:absolute;inset:-20px;pointer-events:none;overflow:hidden;z-index:-1}
.qconfetti::before,.qconfetti::after{content:'';position:absolute;width:6px;height:6px;background:#e95322;border-radius:50%;opacity:0;animation:confetti 2s ease-out forwards}
.qconfetti::before{left:20%;top:10%;animation-delay:.2s;background:#ffc38a}
.qconfetti::after{right:18%;top:15%;animation-delay:.5s}
@keyframes confetti{0%{opacity:1;transform:translateY(0) scale(0)}40%{opacity:1;transform:translateY(30px) scale(1.2)}100%{opacity:0;transform:translateY(200px) scale(0)}}

/* Counter animation hook */
[data-counter]{transition:color .3s}
