:root{
  --verde:#22C55E;--verde-escuro:#16A34A;--azul:#0EA5E9;
  --dark:#0A0D12;--dark2:#111520;--dark3:#181D2A;
  --borda:rgba(255,255,255,.08);--branco:#fff;--texto:#D1D5DB;--cinza:#9CA3AF;
  --crit:#F87171;--alerta:#FBBF24;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--dark);color:var(--texto);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.55;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.orb{position:fixed;border-radius:50%;filter:blur(80px);opacity:.16;pointer-events:none;animation:orb 9s ease-in-out infinite;z-index:0}
.orb.a{width:520px;height:520px;background:var(--verde);top:-220px;left:-160px}
.orb.b{width:380px;height:380px;background:var(--azul);bottom:-160px;right:-120px;animation-delay:-3s}
@keyframes orb{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-26px) scale(1.05)}}
.grid-bg{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(34,197,94,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(34,197,94,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000,transparent);mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000,transparent)}
.wrap{position:relative;z-index:1;max-width:620px;margin:0 auto;padding:22px 16px 48px}
.wrap.wide{max-width:1100px}
.tag{display:inline-flex;align-items:center;gap:8px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:var(--verde);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:100px}
h1,h2,h3{color:var(--branco);line-height:1.15;margin:0}
h1{font-size:clamp(2rem,8vw,2.9rem);font-weight:900;letter-spacing:-.02em;margin:18px 0 14px}
h1 em,h2 em{font-style:normal;color:var(--verde)}
h2{font-size:1.45rem;font-weight:800;margin-bottom:6px}
h3{font-size:1.05rem;font-weight:700;margin-bottom:10px}
p{margin:0 0 14px}
.lead{font-size:1.06rem;color:var(--texto)}
.muted{color:var(--cinza);font-size:.9rem}
.card{background:var(--dark2);border:1px solid var(--borda);border-radius:18px;padding:20px;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s}
.card.hl::before{content:"";position:absolute;top:0;left:18px;right:18px;height:2px;background:linear-gradient(90deg,transparent,var(--verde),transparent);border-radius:2px}
.stack{display:flex;flex-direction:column;gap:14px}
.pts{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:10px}
.pts li{display:flex;gap:10px;align-items:flex-start}
.pts li::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;border-radius:50%;background:var(--verde);box-shadow:0 0 10px var(--verde)}
.btn{appearance:none;border:1px solid var(--borda);background:var(--dark3);color:var(--branco);font:inherit;font-weight:700;font-size:1rem;padding:15px 22px;border-radius:14px;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;min-height:52px}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:linear-gradient(135deg,var(--verde),var(--verde-escuro));border-color:transparent;color:#04130A;box-shadow:0 8px 30px rgba(34,197,94,.25)}
.btn.primary:hover{box-shadow:0 10px 36px rgba(34,197,94,.4)}
.btn.block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn.ghost{background:transparent}
.f{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;color:var(--branco)}
.f input,.f select{font:inherit;font-size:16px;font-weight:500;color:var(--branco);background:var(--dark);border:1px solid var(--borda);border-radius:12px;padding:14px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}
.f input:focus,.f select:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.f small{font-weight:400;color:var(--cinza)}
.err{color:var(--crit);font-size:.9rem;font-weight:600;margin:0}
.prog{height:6px;background:var(--dark3);border-radius:6px;overflow:hidden;margin:8px 0 6px}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--verde-escuro),var(--verde));border-radius:6px;transition:width .3s}
.qhead{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--cinza);font-weight:600;letter-spacing:.04em}
.qarea{color:var(--verde);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;margin:22px 0 8px}
.qtxt{font-size:1.35rem;font-weight:800;color:var(--branco);line-height:1.3;margin:0 0 22px}
.opts{display:flex;flex-direction:column;gap:10px}
.opt{appearance:none;text-align:left;font:inherit;font-size:1rem;font-weight:600;color:var(--branco);background:var(--dark2);border:1px solid var(--borda);border-radius:14px;padding:16px 18px;cursor:pointer;display:flex;gap:14px;align-items:center;transition:transform .15s,border-color .2s,background .2s;min-height:58px}
.opt:hover{transform:translateY(-2px);border-color:rgba(34,197,94,.45)}
.opt[aria-pressed=true]{border-color:var(--verde);background:rgba(34,197,94,.1);box-shadow:0 0 0 1px var(--verde) inset}
.opt .dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--cinza);display:grid;place-items:center}
.opt[aria-pressed=true] .dot{border-color:var(--verde);background:var(--verde);box-shadow:0 0 12px var(--verde)}
.back{background:none;border:0;color:var(--cinza);font:inherit;font-weight:600;cursor:pointer;padding:8px 0;margin-top:14px}
.score{display:flex;gap:18px;align-items:center}
.ring{--p:0;flex:none;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--verde) calc(var(--p)*1%),var(--dark3) 0);display:grid;place-items:center;box-shadow:0 0 40px rgba(34,197,94,.18)}
.ring span{width:88px;height:88px;border-radius:50%;background:var(--dark2);display:grid;place-items:center;font-size:2rem;font-weight:900;color:var(--branco)}
.nivel{font-size:1.25rem;font-weight:800;color:var(--branco);margin:2px 0 4px}
.bars{display:flex;flex-direction:column;gap:10px}
.bar-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:.9rem;font-weight:600;color:var(--branco)}
.bar-row b{font-variant-numeric:tabular-nums}
.bar{grid-column:1/-1;height:8px;background:var(--dark3);border-radius:8px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:8px}
.crit-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--borda)}
.crit-item:first-of-type{border-top:0;padding-top:4px}
.crit-n{flex:none;width:32px;height:32px;border-radius:10px;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:var(--crit);font-weight:900;display:grid;place-items:center}
.crit-item h4{margin:0 0 4px;color:var(--branco);font-size:1rem}
.crit-item p{margin:0;font-size:.93rem}
.manifesto{font-size:1.05rem;color:var(--branco);font-weight:600;border-left:3px solid var(--verde);padding-left:14px;margin:0}
.wa{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;box-shadow:0 8px 30px rgba(37,211,102,.25)}
footer{position:relative;z-index:1;text-align:center;color:var(--cinza);font-size:.8rem;padding:0 16px 28px}
.fade{animation:fade .35s ease}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (min-width:720px){.wrap{padding-top:48px}.card{padding:26px}}
@media print{.orb,.grid-bg,.noprint{display:none!important}body{background:#fff;color:#111}.card{background:#fff;border-color:#ddd}h1,h2,h3,.nivel,.bar-row,.crit-item h4,.manifesto{color:#111}}
