:root{--verde:#2D7A3A;--verde-claro:#4CAF50;--verde-suave:#E8F5E9;--laranja:#FF6B35;--amarelo:#FFC107;--branco:#FFFFFF;--cinza-100:#F8F9FA;--cinza-300:#E0E0E0;--cinza-500:#696969;--cinza-700:#4A4A4A;--preto:#1A1A1A;--font-titulo:'Georgia','Times New Roman',serif;--font-corpo:'Segoe UI',system-ui,-apple-system,sans-serif;--radius:14px;--radius-full:999px;--sombra:0 8px 30px rgba(0,0,0,0.12);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-corpo);color:var(--preto);background:var(--cinza-100);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;display:block}
a{color:inherit}

.qz-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--branco);box-shadow:0 2px 10px rgba(0,0,0,.06);position:sticky;top:0;z-index:10}
.qz-logo{font-family:var(--font-titulo);font-size:1.3rem;font-weight:700;color:var(--verde);text-decoration:none}
.qz-logo span{color:var(--laranja)}
.qz-tagline{font-size:.85rem;color:var(--cinza-500);font-weight:600}

.qz-container{max-width:640px;margin:0 auto;padding:32px 20px;flex:1;width:100%}
.qz-hero{text-align:center;margin-bottom:32px}
.qz-hero h1{font-family:var(--font-titulo);font-size:clamp(1.6rem,5vw,2.2rem);color:var(--verde);margin-bottom:8px}
.qz-hero p{color:var(--cinza-500)}

.qz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:560px){.qz-grid{grid-template-columns:1fr}}
.qz-card{display:block;background:var(--branco);border-radius:var(--radius);overflow:hidden;text-decoration:none;box-shadow:0 2px 12px rgba(0,0,0,.07);transition:transform .2s,box-shadow .2s}
.qz-card:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.qz-card-img{position:relative;height:150px;overflow:hidden;background:var(--verde-suave)}
.qz-card-img img{width:100%;height:100%;object-fit:cover}
.qz-card-badge{position:absolute;bottom:8px;left:8px;background:rgba(26,26,26,.75);color:#fff;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-full)}
.qz-card-body{padding:16px}
.qz-card-body h2{font-family:var(--font-titulo);font-size:1.05rem;color:var(--preto);margin-bottom:6px;line-height:1.35}
.qz-card-body p{font-size:.85rem;color:var(--cinza-500);margin-bottom:10px}
.qz-card-cta{font-size:.85rem;font-weight:700;color:var(--verde)}
.qz-empty{grid-column:1/-1;text-align:center;color:var(--cinza-500);padding:40px 0}

.qz-footer{text-align:center;padding:24px;font-size:.85rem;color:var(--cinza-500)}
.qz-footer a{color:var(--verde);font-weight:600;text-decoration:none}

/* Player */
.qz-play{max-width:560px}
.qz-intro{background:var(--branco);border-radius:var(--radius);overflow:hidden;box-shadow:var(--sombra);text-align:center}
.qz-intro-img{height:200px;overflow:hidden}
.qz-intro-img img{width:100%;height:100%;object-fit:cover}
.qz-intro-body{padding:28px 24px}
.qz-intro-body h1{font-family:var(--font-titulo);font-size:1.5rem;color:var(--preto);margin-bottom:10px}
.qz-intro-body p{color:var(--cinza-500);margin-bottom:22px}

.qz-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 28px;border-radius:var(--radius-full);background:var(--verde);color:#fff;font-weight:700;font-size:.95rem;border:none;cursor:pointer;text-decoration:none;transition:all .2s}
.qz-btn:hover{background:var(--verde-claro);transform:translateY(-2px)}
.qz-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.qz-btn-outline{background:transparent;color:var(--verde);border:2px solid var(--verde)}
.qz-btn-outline:hover{background:var(--verde-suave)}
.qz-btn-cta{display:flex;width:100%;background:var(--laranja);color:#fff;margin-bottom:14px;font-size:1rem;padding:15px 20px}
.qz-btn-cta:hover{background:#e5592b;transform:translateY(-2px)}
.qz-btn-download{display:flex;width:100%;background:var(--verde);color:#fff;margin-bottom:14px;font-size:1rem;padding:15px 20px}
.qz-btn-download:hover{background:var(--verde-claro);transform:translateY(-2px)}

.qz-progress-wrap{margin-bottom:18px}
.qz-progress-bar{height:8px;background:var(--cinza-300);border-radius:var(--radius-full);overflow:hidden}
.qz-progress-fill{height:100%;background:var(--verde);border-radius:var(--radius-full);transition:width .3s ease}
.qz-progress-label{font-size:.78rem;color:var(--cinza-500);margin-top:6px;text-align:right}

.qz-question-card{background:var(--branco);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--sombra)}
.qz-question-text{font-family:var(--font-titulo);font-size:1.25rem;color:var(--preto);margin-bottom:20px;line-height:1.4}
.qz-options{display:flex;flex-direction:column;gap:10px}
.qz-option{display:flex;align-items:center;gap:10px;padding:14px 16px;border:2px solid var(--cinza-300);border-radius:12px;background:var(--branco);cursor:pointer;font-size:.95rem;color:var(--preto);text-align:left;transition:all .15s}
.qz-option:hover{border-color:var(--verde-claro);background:var(--verde-suave)}
.qz-option.selected{border-color:var(--verde);background:var(--verde-suave);font-weight:700}
.qz-option-letter{width:26px;height:26px;border-radius:50%;background:var(--cinza-100);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--cinza-500);flex-shrink:0}
.qz-option.selected .qz-option-letter{background:var(--verde);color:#fff}

.qz-nav{display:flex;justify-content:space-between;margin-top:22px;gap:10px}

.qz-result-card{background:var(--branco);border-radius:var(--radius);overflow:hidden;box-shadow:var(--sombra);text-align:center}
.qz-result-img{height:220px;overflow:hidden}
.qz-result-img img{width:100%;height:100%;object-fit:cover}
.qz-result-body{padding:30px 24px}
.qz-result-eyebrow{display:inline-block;background:var(--verde-suave);color:var(--verde);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px;border-radius:var(--radius-full);margin-bottom:14px}
.qz-result-title{font-family:var(--font-titulo);font-size:1.6rem;color:var(--preto);margin-bottom:14px;line-height:1.3}
.qz-result-desc{color:var(--cinza-700);margin-bottom:26px;line-height:1.7}
.qz-score-big{font-family:var(--font-titulo);font-size:3rem;color:var(--verde);font-weight:700;margin-bottom:6px}
.qz-result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.qz-loading{text-align:center;padding:60px 0;color:var(--cinza-500)}
.qz-spinner{width:38px;height:38px;border:3px solid var(--cinza-300);border-top-color:var(--verde);border-radius:50%;animation:qzspin .8s linear infinite;margin:0 auto 14px}
@keyframes qzspin{to{transform:rotate(360deg)}}

/* Captura de e-mail/WhatsApp */
.qz-capture-badge{display:inline-block;background:var(--amarelo);color:#1A1A1A;font-size:.78rem;font-weight:700;padding:6px 16px;border-radius:var(--radius-full);margin-bottom:14px}
.qz-capture-form{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.qz-capture-form input{padding:13px 16px;border:1.5px solid var(--cinza-300);border-radius:10px;font-size:.95rem;font-family:inherit}
.qz-capture-msg{margin-top:10px;color:#e53935;font-size:.85rem;min-height:1.2em}

/* Banner de pontos ganhos */
.qz-points-banner{background:var(--amarelo);color:#1A1A1A;font-size:.85rem;font-weight:600;padding:10px 14px;border-radius:10px;margin-bottom:16px}
.qz-points-banner a{color:#1A1A1A;text-decoration:underline}

/* Botão de destaque no cabeçalho (trocar pontos) */
.qz-header-cta{background:var(--laranja);color:#fff !important;font-weight:700;font-size:.85rem;padding:9px 18px;border-radius:var(--radius-full);text-decoration:none;box-shadow:0 2px 8px rgba(255,107,53,.35);transition:transform .15s,box-shadow .15s}
.qz-header-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,107,53,.45)}

/* Subtítulo do hero */
.qz-hero-sub{font-size:.88rem;color:var(--verde);font-weight:600;margin-top:6px}

/* Carteira de pontos */
.qz-wallet{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--verde) 0%,var(--verde-claro) 100%);border-radius:18px;padding:18px 22px;margin-bottom:28px;text-decoration:none;box-shadow:0 6px 20px rgba(45,122,58,.25);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.qz-wallet:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(45,122,58,.35)}
.qz-wallet::after{content:"";position:absolute;top:-30px;right:-30px;width:110px;height:110px;background:rgba(255,255,255,.08);border-radius:50%}
.qz-wallet-icon{font-size:2.2rem;flex:0 0 auto;background:rgba(255,255,255,.18);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.qz-wallet-icon img{width:28px;height:28px}
.qz-wallet-static{cursor:default;margin-bottom:24px}
.qz-wallet-static:hover{transform:none;box-shadow:0 6px 20px rgba(45,122,58,.25)}
.qz-wallet-info{flex:1;display:flex;flex-direction:column;gap:2px}
.qz-wallet-label{color:rgba(255,255,255,.85);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.qz-wallet-points{color:#fff;font-family:var(--font-titulo);font-size:1.7rem;font-weight:700;line-height:1.1}
.qz-wallet-points small{font-size:.9rem;font-weight:600;opacity:.85}
.qz-wallet-arrow{color:#fff;font-size:.8rem;font-weight:700;background:rgba(255,255,255,.18);padding:8px 14px;border-radius:var(--radius-full);white-space:nowrap;flex:0 0 auto}
@media(max-width:480px){
  .qz-wallet{flex-wrap:wrap}
  .qz-wallet-arrow{margin-left:70px}
}