:root{--bg-primary:#0a0a0f;--bg-card:#13131a;--bg-elevated:#1a1a24;--accent-primary:#6c63ff;--accent-secondary:#ff6b6b;--accent-green:#00d4aa;--accent-yellow:#ffd166;--text-primary:#f0f0f5;--text-secondary:#9999b3;--text-muted:#555566;--border-subtle:#2a2a3a;--border-medium:#3a3a50}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;-webkit-font-smoothing:antialiased}.app-container{max-width:480px;margin:0 auto;min-height:100dvh;position:relative}html{scroll-behavior:smooth}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px}*{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 rgba(108,99,255,.4)}50%{box-shadow:0 0 0 8px rgba(108,99,255,0)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-slide-up{animation:slideUp .4s ease-out forwards}.animate-pulse-glow{animation:pulse-glow 2s infinite}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:20px}.card-elevated{background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:16px;padding:20px}.btn-primary{background:var(--accent-primary);color:white;border:none;border-radius:12px;padding:16px 24px;font-size:16px;font-weight:600;cursor:pointer;width:100%;transition:all .2s ease;letter-spacing:.01em}.btn-primary:hover{background:#7c73ff;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:14px 24px;font-size:15px;font-weight:500;cursor:pointer;width:100%;transition:all .2s ease}.btn-secondary:hover{border-color:var(--accent-primary);color:var(--text-primary)}.progress-bar{height:3px;background:var(--border-subtle);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .4s ease}.option-card{background:var(--bg-card);border:2px solid var(--border-subtle);border-radius:14px;padding:16px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.option-card:hover{border-color:var(--border-medium);background:var(--bg-elevated)}.option-card.selected{border-color:var(--accent-primary);background:rgba(108,99,255,.1)}.rating-btn{flex:1;padding:12px 8px;border-radius:10px;border:2px solid var(--border-subtle);background:var(--bg-card);cursor:pointer;transition:all .15s ease;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:center}.rating-btn:hover{border-color:var(--border-medium);color:var(--text-primary)}.rating-btn.active{border-color:var(--accent-primary);background:rgba(108,99,255,.15);color:var(--text-primary)}.gradient-text{background:linear-gradient(135deg,#6c63ff,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.share-card{background:linear-gradient(135deg,#13131a,#1a1a2e);border:1px solid var(--border-medium);border-radius:24px;padding:28px;position:relative;overflow:hidden}.share-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(108,99,255,.08) 0,transparent 60%);pointer-events:none}.premium-blur{filter:blur(6px);pointer-events:none;user-select:none}.premium-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,10,15,.7);border-radius:16px;z-index:10}.legal-prose h2{font-size:16px;font-weight:700;color:var(--text-primary);margin:28px 0 10px}.legal-prose li,.legal-prose p{font-size:14px;line-height:1.65;color:var(--text-secondary)}.legal-prose p{margin-bottom:12px}.legal-prose ul{padding-left:20px;margin:0 0 12px}.legal-prose li{margin-bottom:6px}.legal-prose a{color:var(--accent-primary)}.legal-prose strong{color:var(--text-primary);font-weight:600}