:root{--tg-theme-bg-color:#0a0a0f;--tg-theme-secondary-bg-color:#12121a;--tg-theme-text-color:#e8e8f0;--tg-theme-hint-color:#8888a0;--tg-theme-link-color:#7c6aff;--tg-theme-button-color:#7c6aff;--tg-theme-button-text-color:#fff;--tg-theme-section-bg-color:#1a1a28;--tg-theme-section-separator-color:#2a2a3a;--accent-surface:#22c55e;--accent-surface-glow:#22c55e26;--accent-values:#f97316;--accent-values-glow:#f9731626;--accent-deep:#a855f7;--accent-deep-glow:#a855f726;--glass-bg:#ffffff0a;--glass-border:#ffffff14;--glass-shadow:0 8px 32px #0006;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.4s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow-x:hidden}body{background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}html,body{margin:0;padding:0}body{background:#06060b}#ambient-bg{z-index:0!important;pointer-events:none!important;width:100vw!important;height:100vh!important;position:fixed!important;top:0!important;left:0!important}.app-container{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(1.4);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:all var(--transition-normal)}.glass-card:hover{background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 12px 40px #00000080}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{transition:background var(--transition-fast);background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}[data-phase=surface]{--phase-accent:var(--accent-surface);--phase-glow:var(--accent-surface-glow)}[data-phase=values]{--phase-accent:var(--accent-values);--phase-glow:var(--accent-values-glow)}[data-phase=deep]{--phase-accent:var(--accent-deep);--phase-glow:var(--accent-deep-glow)}.phase-accent{color:var(--phase-accent,var(--accent-surface))}.phase-border{border-color:var(--phase-accent,var(--accent-surface))}.phase-bg{background:var(--phase-glow,var(--accent-surface-glow))}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--tg-theme-button-color), #6a5af0);color:var(--tg-theme-button-text-color);box-shadow:0 4px 16px #7c6aff4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #7c6aff66}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--glass-bg);color:var(--tg-theme-text-color);border:1px solid var(--glass-border)}.btn-ghost:hover{background:#ffffff14}.btn-icon{border-radius:50%;width:48px;height:48px;padding:0;font-size:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px var(--phase-glow,#7c6aff33)}50%{box-shadow:0 0 40px var(--phase-glow,#7c6aff66)}}.animate-fade-in{animation:fadeIn var(--transition-normal) both}.animate-slide-up{animation:slideUp var(--transition-normal) both}.animate-slide-right{animation:slideInRight var(--transition-normal) both}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.animate-glow{animation:2s ease-in-out infinite glow-pulse}.page{flex:1;width:100%;max-width:480px;margin:0 auto;padding:20px 16px}.page-header{padding:16px 20px;padding-top:calc(env(safe-area-inset-top,0px) + 16px);z-index:10;-webkit-backdrop-filter:blur(20px);background:#0a0a0fcc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.page-title{background:linear-gradient(135deg, var(--tg-theme-text-color), #a0a0b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:700}.tag{background:var(--glass-bg);border:1px solid var(--glass-border);transition:all var(--transition-fast);border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.tag:hover{background:#ffffff14}.tag-active{background:var(--phase-glow,var(--accent-surface-glow));border-color:var(--phase-accent,var(--accent-surface));color:var(--phase-accent,var(--accent-surface))}.badge-icon{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:inline-flex}.progress-bar{background:#ffffff14;border-radius:2px;height:4px;overflow:hidden}.progress-fill{height:100%;transition:width var(--transition-normal);border-radius:2px}.timer-bar{background:#ffffff0f;border-radius:2px;height:3px;position:relative;overflow:hidden}.timer-fill{border-radius:2px;height:100%;transition:width .3s linear}.timer-fill.warning{background:#f97316}.timer-fill.danger{background:#ef4444;animation:.5s ease-in-out infinite pulse}.reaction-btn{border:1px solid var(--glass-border);background:var(--glass-bg);cursor:pointer;width:52px;height:52px;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex}.reaction-btn:hover{background:#ffffff0f;border-color:#fff3;transform:scale(1.2)}.reaction-btn:active{transform:scale(.9)}.phase-indicator{align-items:center;gap:8px;padding:12px;display:flex}.phase-dot{width:10px;height:10px;transition:all var(--transition-normal);background:#ffffff1a;border-radius:50%}.phase-dot.active{transform:scale(1.3)}.phase-dot.completed{background:var(--phase-accent,var(--accent-surface))}.phase-label{text-align:center;text-transform:uppercase;letter-spacing:.5px;width:60px;color:var(--tg-theme-hint-color);transition:color var(--transition-normal);font-size:12px;font-weight:600}.phase-label.active{color:var(--phase-accent,var(--accent-surface))}.phase-connector{background:#ffffff0f;border-radius:1px;flex:1;height:2px;position:relative;overflow:hidden}.phase-connector-fill{height:100%;transition:width var(--transition-slow);border-radius:1px}.option-card{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0f;border:1px solid #ffffff1a;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 2px 12px #0000004d}.option-card:hover{border-color:var(--phase-accent,#7c6aff4d);background:#ffffff0f;transform:translate(4px)}.option-card.selected{border-color:var(--phase-accent,var(--accent-surface));background:var(--phase-glow,var(--accent-surface-glow))}.option-card .option-emoji{background:#ffffff0a;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;display:flex}.option-card .option-text{color:#f0f0ff;font-size:16px;font-weight:500;line-height:1.4}.image-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.image-option{border-radius:var(--radius-md);aspect-ratio:1;cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;position:relative;overflow:hidden}.image-option img{object-fit:cover;width:100%;height:100%}.image-option:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:#0000004d;position:absolute;inset:0}.image-option:hover:after{opacity:1}.image-option.selected{border-color:var(--phase-accent,var(--accent-surface));box-shadow:0 0 20px var(--phase-glow,var(--accent-surface-glow))}.image-option.selected:after{opacity:.5}.image-option .check-mark{background:var(--phase-accent,var(--accent-surface));color:#fff;z-index:2;opacity:0;width:24px;height:24px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:8px;right:8px;transform:scale(.5)}.image-option.selected .check-mark{opacity:1;transform:scale(1)}.pairing-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pairing-column{flex-direction:column;gap:8px;display:flex}.pairing-column h4{text-transform:uppercase;letter-spacing:.5px;color:var(--tg-theme-hint-color);text-align:center;padding-bottom:8px;font-size:13px;font-weight:600}.pairing-item{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);cursor:grab;text-align:center;transition:all var(--transition-fast);padding:12px;font-size:14px}.pairing-item:hover{border-color:var(--phase-accent,#7c6aff4d);background:#ffffff0f}.pairing-item.matched{border-color:var(--phase-accent,var(--accent-surface));background:var(--phase-glow,var(--accent-surface-glow))}.report-score{background:linear-gradient(135deg, var(--accent-surface), var(--accent-values), var(--accent-deep));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:800;line-height:1}.report-ring{border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;display:flex;position:relative}.report-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.report-ring svg circle{fill:none;stroke-width:6px;stroke-linecap:round}.profile-photo{object-fit:cover;border:3px solid var(--glass-border);width:80px;height:80px;transition:border-color var(--transition-fast);border-radius:50%}.profile-photo:hover{border-color:var(--phase-accent,var(--accent-surface))}.loading-spinner{border:3px solid #ffffff14;border-top-color:var(--tg-theme-button-color);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.loading-screen p{color:var(--tg-theme-hint-color);font-size:14px}.onboarding-option{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;display:flex}.onboarding-option:hover{border-color:var(--tg-theme-button-color);background:#7c6aff0f;transform:translateY(-2px)}.onboarding-option.selected{border-color:var(--tg-theme-button-color);background:#7c6aff1a;box-shadow:0 0 20px #7c6aff26}.onboarding-option .option-emoji{font-size:36px}.onboarding-option .option-title{font-size:15px;font-weight:600}.onboarding-option .option-desc{color:var(--tg-theme-hint-color);font-size:12px}.match-card{cursor:pointer;align-items:center;gap:16px;padding:16px;display:flex}.match-card .match-info{flex:1}.match-card .match-name{font-size:16px;font-weight:600}.match-card .match-vibe{color:var(--tg-theme-hint-color);font-size:13px}.match-card .match-score{color:var(--accent-surface);font-size:20px;font-weight:700}@media (width<=400px){.page{padding:16px 12px}.report-score{font-size:48px}.image-grid{gap:8px}}
