.ffq{--ffq-fg:rgb(var(--color-foreground,20,20,20));--ffq-acc:rgb(var(--color-button,30,30,30));--ffq-acc-t:rgb(var(--color-button-text,255,255,255));--ffq-soft:rgba(var(--color-foreground,20,20,20),.06);--ffq-line:rgba(var(--color-foreground,20,20,20),.14);color:var(--ffq-fg)}
.ffq-intro{text-align:center;margin:0 auto 2.4rem;max-width:64rem}
.ffq-badge{display:inline-block;padding:.5rem 1.2rem;border-radius:99rem;background:var(--ffq-acc);color:var(--ffq-acc-t);font-size:1.25rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ffq-h1{margin:1rem 0 .6rem}
.ffq-sub{font-size:1.6rem;line-height:1.5;opacity:.85;margin:0}
.ffq-card,.ffq-result{max-width:72rem;margin:0 auto;padding:2.8rem 2.4rem;border:1px solid var(--ffq-line);border-radius:2rem;background:rgb(var(--color-background,255,255,255));box-shadow:0 10px 30px rgba(0,0,0,.06)}
.ffq-progress{height:.8rem;border-radius:99rem;background:var(--ffq-soft);overflow:hidden;margin-bottom:1.6rem}
.ffq-progress span{display:block;height:100%;width:0;background:var(--ffq-acc);border-radius:99rem;transition:width .35s ease}
.ffq-step{margin:0 0 .4rem;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.ffq-q{margin:0 0 2rem;font-size:clamp(2.2rem,3.4vw,2.8rem);line-height:1.25}
.ffq-opts{display:grid;gap:1rem}
@media(min-width:750px){.ffq-opts--2{grid-template-columns:1fr 1fr}}
.ffq-opt{display:flex;align-items:center;gap:1.2rem;width:100%;text-align:left;padding:1.3rem 1.6rem;border:2px solid var(--ffq-line);border-radius:1.4rem;background:transparent;color:inherit;font:inherit;font-size:1.55rem;line-height:1.35;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.ffq-opt:hover,.ffq-opt:focus-visible{border-color:var(--ffq-acc);background:var(--ffq-soft);transform:translateY(-2px);outline:none}
.ffq-opt.is-picked{border-color:var(--ffq-acc);background:var(--ffq-acc);color:var(--ffq-acc-t)}
.ffq-emoji{font-size:2.4rem;line-height:1;flex:none}
.ffq-back{margin-top:1.6rem;background:none;border:0;color:inherit;opacity:.7;font:inherit;font-size:1.4rem;cursor:pointer;text-decoration:underline}
.ffq-fade{animation:ffqIn .35s ease both}
@keyframes ffqIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ffq-result{text-align:center}
.ffq-big{font-size:5.6rem;line-height:1;margin:.8rem 0}
.ffq-name{margin:.4rem 0;font-size:clamp(2.8rem,4.4vw,3.8rem)}
.ffq-tag{font-style:italic;font-size:1.7rem;margin:0 0 1.2rem;opacity:.85}
.ffq-desc{font-size:1.6rem;line-height:1.55;max-width:56rem;margin:0 auto 1.6rem}
.ffq-verse{font-family:serif;font-size:1.7rem;line-height:1.5;max-width:52rem;margin:0 auto 1.6rem;padding:1.2rem 1.6rem;border-left:3px solid var(--ffq-acc);background:var(--ffq-soft);border-radius:0 1.2rem 1.2rem 0;text-align:left}
.ffq-bestie{font-size:1.5rem;line-height:1.5;max-width:52rem;margin:0 auto 2.2rem;opacity:.9}
.ffq-bestie strong{font-size:1.7rem}
.ffq-bestie span{display:block;font-style:italic;opacity:.8;margin-top:.3rem}
.ffq-reward{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;padding:1.8rem;border:2px dashed var(--ffq-acc);border-radius:1.6rem;background:var(--ffq-soft);margin:0 auto 1rem;max-width:56rem}
.ffq-reward strong{display:block;width:100%;font-size:1.5rem}
.ffq-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.08em;padding:.6rem 1.4rem;border-radius:1rem;background:rgb(var(--color-background,255,255,255));border:1px solid var(--ffq-line)}
.ffq-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1.2rem 2.2rem;border-radius:99rem;border:2px solid var(--ffq-acc);background:var(--ffq-acc);color:var(--ffq-acc-t);font:inherit;font-size:1.5rem;font-weight:700;text-decoration:none;cursor:pointer}
.ffq-btn--ghost{background:transparent;color:var(--ffq-fg)}
.ffq-btn:disabled{opacity:.6;cursor:default}
.ffq-fine{font-size:1.25rem;opacity:.7;margin:.6rem 0 2rem}
.ffq-email{max-width:56rem;margin:0 auto 2.4rem;padding:1.8rem;border-radius:1.6rem;background:var(--ffq-soft);text-align:left}
.ffq-email label{display:block;font-weight:700;font-size:1.5rem;margin:0 0 .8rem}
.ffq-email-row{display:flex;gap:.8rem;flex-wrap:wrap}
.ffq-email-row input{flex:1 1 20rem;min-width:0;padding:1.1rem 1.4rem;border:2px solid var(--ffq-line);border-radius:99rem;font:inherit;font-size:1.5rem;background:rgb(var(--color-background,255,255,255));color:inherit}
.ffq-email-row input:focus{outline:none;border-color:var(--ffq-acc)}
.ffq-email-note{margin:.8rem 0 0;font-size:1.25rem;opacity:.75}
.ffq-email-done{margin:0;font-size:1.5rem;font-weight:700;text-align:center}
.ffq-picks{margin:2.4rem 0 1.2rem;font-size:2rem}
.ffq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;text-align:left}
@media(min-width:750px){.ffq-grid{grid-template-columns:repeat(3,1fr)}}
.ffq-pc{display:flex;flex-direction:column;gap:.5rem;color:inherit;text-decoration:none}
.ffq-pc-img{display:block;aspect-ratio:1/1;border-radius:1.2rem;overflow:hidden;background:var(--ffq-soft)}
.ffq-pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.ffq-pc:hover .ffq-pc-img img{transform:scale(1.04)}
.ffq-pc-t{font-size:1.4rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ffq-pc-p{font-weight:700;font-size:1.4rem}
.ffq-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2.4rem}
.ffq-foot{text-align:center;margin-top:2.4rem;font-size:1.4rem;opacity:.8}
