body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100dvh}:root{--color-bg:#0b0b0b;--color-surface:#161616;--color-fg:#f5f5f5;--color-muted:#a8a8a8;--color-accent:#c9a96a;--color-accent-dark:#8f7a4b;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--spacing-xs:6px;--spacing-sm:12px;--spacing-md:20px;--spacing-lg:32px;--spacing-xl:48px;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--color-bg);height:100%;color:var(--color-fg);font-family:var(--font-body);overscroll-behavior:none;margin:0;padding:0}body{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.screen{padding:var(--spacing-lg) var(--spacing-md);flex-direction:column;flex:1;justify-content:center;min-height:100dvh;display:flex}.screen__inner{gap:var(--spacing-md);flex-direction:column;width:100%;max-width:430px;margin:0 auto;display:flex}.screen__title{letter-spacing:-.02em;margin:0;font-size:clamp(32px,9vw,44px);font-weight:800;line-height:1.05}.screen__subtitle{color:var(--color-muted);margin:0;font-size:17px;line-height:1.5}.screen--welcome{text-align:center}.screen--welcome .screen__inner{align-items:center}.screen--welcome .btn--primary{margin-top:var(--spacing-lg);width:100%;max-width:300px}.progress{gap:var(--spacing-xs);flex-direction:column;display:flex}.progress__label{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px}.progress__bar{background:#ffffff1f;border-radius:999px;height:3px;overflow:hidden}.progress__fill{background:var(--color-accent);height:100%;transition:width .3s}.question__prompt{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:clamp(22px,6.5vw,28px);font-weight:700;line-height:1.25}.question__options{gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-direction:column;display:flex}.screen--calculating{text-align:center}.screen--calculating .screen__inner{align-items:center}.spinner{border:3px solid #ffffff1a;border-top-color:var(--color-accent);border-radius:50%;width:48px;height:48px}.calculating__label{color:var(--color-muted);margin:0;font-size:16px}.result__tagline{text-align:center;margin:0 0 var(--spacing-sm);font-size:clamp(28px,8vw,36px);font-weight:800;line-height:1.15}.result__card{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--color-surface);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.result__image{object-fit:cover;width:100%;height:100%;display:block}.result__card--placeholder{color:var(--color-accent);letter-spacing:.02em;font-size:22px;font-weight:700}.result__description{color:var(--color-muted);text-align:center;margin:var(--spacing-sm) 0 var(--spacing-md);font-size:16px;line-height:1.55}.result__actions{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.result__actions .btn--primary{grid-column:span 2}.btn{appearance:none;color:inherit;font:inherit;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-align:center;background:0 0;border:none;min-height:52px;font-size:16px;font-weight:600;transition:transform .15s,background-color .2s,opacity .15s}.btn:active{transform:scale(.98)}.btn--primary{background:var(--color-accent);color:#000}.btn--primary:hover{background:var(--color-accent-dark)}.btn--secondary{color:var(--color-fg);background:#ffffff14;border:1px solid #ffffff1a}.btn--ghost{color:var(--color-fg);background:0 0;border:1px solid #ffffff26}.btn--option{background:var(--color-surface);color:var(--color-fg);text-align:left;padding:var(--spacing-md);border:1px solid #ffffff0f;min-height:76px;line-height:1.35}.btn--option:hover{border-color:var(--color-accent)}.btn--link{color:var(--color-muted);text-underline-offset:3px;min-height:0;padding:var(--spacing-sm);background:0 0;font-size:14px;text-decoration:underline}
