.bubbles-bg[data-v-b6614c1f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--background);overflow:hidden}.bubbles-bg[data-v-b6614c1f]:before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cdefs%3E%3CradialGradient id='bubble' cx='35%25' cy='30%25' r='75%25'%3E%3Cstop offset='0%25' stop-color='%23667eea' stop-opacity='0.22'/%3E%3Cstop offset='45%25' stop-color='%23667eea' stop-opacity='0.08'/%3E%3Cstop offset='78%25' stop-color='%23764ba2' stop-opacity='0.12'/%3E%3Cstop offset='100%25' stop-color='%23764ba2' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='shine' cx='28%25' cy='26%25' r='35%25'%3E%3Cstop offset='0%25' stop-color='%23FFFFFF' stop-opacity='0.35'/%3E%3Cstop offset='100%25' stop-color='%23FFFFFF' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg fill='none'%3E%3Ccircle cx='78' cy='88' r='46' fill='url(%23bubble)' stroke='%23667eea' stroke-opacity='0.12' stroke-width='2'/%3E%3Ccircle cx='62' cy='72' r='18' fill='url(%23shine)'/%3E%3Ccircle cx='244' cy='76' r='34' fill='url(%23bubble)' stroke='%23667eea' stroke-opacity='0.1' stroke-width='2'/%3E%3Ccircle cx='232' cy='64' r='14' fill='url(%23shine)'/%3E%3Ccircle cx='270' cy='170' r='54' fill='url(%23bubble)' stroke='%23667eea' stroke-opacity='0.1' stroke-width='2'/%3E%3Ccircle cx='250' cy='150' r='20' fill='url(%23shine)'/%3E%3Ccircle cx='120' cy='230' r='38' fill='url(%23bubble)' stroke='%23667eea' stroke-opacity='0.1' stroke-width='2'/%3E%3Ccircle cx='104' cy='214' r='15' fill='url(%23shine)'/%3E%3Ccircle cx='44' cy='270' r='28' fill='url(%23bubble)' stroke='%23667eea' stroke-opacity='0.09' stroke-width='2'/%3E%3Ccircle cx='34' cy='258' r='11' fill='url(%23shine)'/%3E%3C/g%3E%3C/svg%3E");background-size:320px 320px;background-repeat:repeat;filter:blur(0px)}.bubbles-bg[data-v-b6614c1f]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 520px at 30% 0%,rgba(102,126,234,.14),rgba(102,126,234,0) 60%),radial-gradient(900px 460px at 85% 15%,rgba(118,75,162,.12),rgba(118,75,162,0) 60%)}.like-toast[data-v-d557f720]{position:fixed;top:16px;left:50%;z-index:2000;transform:translate(-50%);display:flex;align-items:center;gap:12px;width:min(360px,calc(100vw - 32px));padding:12px 14px;border-radius:16px;border:1.5px solid #C7D2FE;background:#EEF2FF;box-shadow:0 8px 24px #6366f12e;cursor:pointer;-webkit-user-select:none;user-select:none}.like-toast--offer-expired[data-v-d557f720]{border-color:#fed7aa;background:#FFFBEB;box-shadow:0 8px 24px #f59e0b2e}.like-toast__avatar[data-v-d557f720]{position:relative;flex-shrink:0;width:44px;height:44px}.like-toast__avatar-img[data-v-d557f720]{width:44px;height:44px;border-radius:50%;object-fit:cover}.like-toast__avatar-fallback[data-v-d557f720]{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366F1,#8B5CF6)}.like-toast__reaction-badge[data-v-d557f720]{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;border-radius:50%;border:2px solid #EEF2FF;display:flex;align-items:center;justify-content:center}.like-toast__reaction-badge.is-like[data-v-d557f720]{background:linear-gradient(135deg,#EC4899,#8B5CF6);color:#fff}.like-toast__reaction-badge.is-superlike[data-v-d557f720]{background:linear-gradient(135deg,#6366F1,#3B82F6);color:#fff}.like-toast__reaction-badge.is-message[data-v-d557f720]{background:linear-gradient(135deg,#3B82F6,#6366F1);color:#fff}.like-toast__reaction-badge.is-invite[data-v-d557f720]{background:linear-gradient(135deg,#6366F1,#8B5CF6);color:#fff}.like-toast__reaction-badge.is-offer-expired[data-v-d557f720]{background:linear-gradient(135deg,#F59E0B,#D97706);color:#fff}.like-toast__reaction-badge svg[data-v-d557f720]{width:10px;height:10px}.like-toast__avatar--icon[data-v-d557f720]{display:flex;align-items:center;justify-content:center}.like-toast__body[data-v-d557f720]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.like-toast__name[data-v-d557f720]{margin:0;font-size:14px;font-weight:700;background:linear-gradient(135deg,#6366F1,#8B5CF6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.like-toast__text[data-v-d557f720]{margin:0;font-size:12px;color:#6366f1;font-weight:500}.like-toast__offer[data-v-d557f720]{margin:0;font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.like-toast__close[data-v-d557f720]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:rgba(99,102,241,.12);color:#6366f1;cursor:pointer;padding:0}.like-toast__close svg[data-v-d557f720]{width:14px;height:14px}.like-toast__close[data-v-d557f720]:hover{background:rgba(99,102,241,.2)}.like-toast-enter-active[data-v-d557f720]{animation:like-toast-slide-in-d557f720 .35s cubic-bezier(.34,1.56,.64,1)}.like-toast-leave-active[data-v-d557f720]{animation:like-toast-slide-out-d557f720 .25s ease-in forwards}@keyframes like-toast-slide-in-d557f720{0%{opacity:0;transform:translate(-50%) translateY(-100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes like-toast-slide-out-d557f720{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-100%)}}#app{position:relative;min-height:100vh;min-height:100dvh}.app-content{position:relative;z-index:1;min-height:100vh;min-height:100dvh}.backend-error-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(17,24,39,.5)}.backend-error-modal{width:min(420px,100%);border-radius:18px;padding:24px;text-align:center;background:var(--surface, #fff);box-shadow:0 18px 48px #0f172a38}.backend-error-modal h2{margin:10px 0;font-size:22px;color:var(--text-primary, #111827)}.backend-error-modal p{margin:0 0 18px;line-height:1.45;color:var(--text-secondary, #4b5563)}.backend-error-modal .backend-error-detail{margin:-8px 0 18px;font-size:13px;color:var(--text-tertiary, #9ca3af);word-break:break-word}.backend-error-modal.is-wallet-error h2{color:var(--text-tertiary, #9ca3af);font-weight:400}.backend-error-modal.is-wallet-error p{color:var(--text-primary, #111827);font-weight:700}.backend-error-robot{display:flex;justify-content:center}.backend-error-robot svg{width:140px;height:140px}.robot-part,.robot-eye,.robot-mouth,.robot-line,.robot-spark{transform-origin:center}.robot-head,.robot-body,.robot-leg{fill:#cfd8e3}.robot-eye,.robot-mouth{fill:#334155}.robot-line{stroke:#64748b;stroke-width:4;stroke-linecap:round}.robot-arm-left{animation:robot-arm-left-move 1.8s ease-in-out infinite}.robot-arm-right{animation:robot-arm-right-move 1.8s ease-in-out infinite}.robot-spark{fill:#f59e0b}.robot-spark-a{animation:robot-spark-blink 1.3s ease-in-out infinite}.robot-spark-b{animation:robot-spark-blink 1.3s ease-in-out .25s infinite}.robot-spark-c{animation:robot-spark-blink 1.3s ease-in-out .5s infinite}.backend-error-close{border:none;border-radius:999px;padding:10px 20px;font-weight:600;color:#fff;background:#2563eb;cursor:pointer}.backend-error-close:hover{background:#1d4ed8}.pwa-install-banner{position:fixed;left:50%;bottom:76px;z-index:1590;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#0b1220;color:#fff;box-shadow:0 10px 28px #0f172a59}.pwa-install-text{font-size:13px;line-height:1.3}.pwa-install-button,.pwa-install-later-button{border:none;border-radius:999px;padding:8px 12px;font-weight:600;cursor:pointer}.pwa-install-button{color:#0f172a;background:#fff}.pwa-install-button:hover{background:#e2e8f0}.pwa-install-later-button{color:#e2e8f0;background:rgba(255,255,255,.16)}.pwa-install-later-button:hover{background:rgba(255,255,255,.24)}.pwa-update-banner{position:fixed;left:50%;bottom:20px;z-index:1600;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:#0f172a;color:#fff;box-shadow:0 10px 28px #0f172a59}.pwa-update-text{font-size:14px}.pwa-update-button{border:none;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;color:#0f172a;background:#fff}.pwa-update-button:hover{background:#e2e8f0}@keyframes robot-arm-left-move{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}@keyframes robot-arm-right-move{0%,to{transform:rotate(0)}50%{transform:rotate(10deg)}}@keyframes robot-spark-blink{0%,to{opacity:.2}50%{opacity:1}}:root{--phi: 1.618;--modal-ratio: 1.618;--modal-width-ratio: .618;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-color: #667eea;--secondary-color: #764ba2;--accent-home-gradient: linear-gradient(105deg, #ff3399 0%, #c44dd4 50%, #6a0dad 100%);--accent-home-shadow: 0 10px 18px rgba(255, 51, 153, .28);--accent-home-shadow-hover: 0 14px 26px rgba(255, 51, 153, .34);--background: #f8f9fa;--surface: #ffffff;--text-primary: #1a1a1a;--text-secondary: #6b7280;--border: #e5e7eb;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--info: #3b82f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-h1: 2.5rem;--font-size-h2: 2rem;--font-size-h3: 1.5rem;--modal-header-font-size: var(--font-size-h3);--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--text-primary);background:var(--background);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{overflow-y:scroll}#app{min-height:100vh;min-height:100dvh}.btn{padding:12px 24px;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-family:inherit}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-accent-home{background:var(--accent-home-gradient);color:#fff;box-shadow:var(--accent-home-shadow)}.btn-accent-home:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--accent-home-shadow-hover)}.btn-accent-home:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:#fff}.btn-ghost{background:transparent;color:var(--text-primary);border:none}.btn-ghost:hover{background:rgba(0,0,0,.05)}.btn-icon{padding:12px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);box-shadow:var(--shadow-md);border:none;cursor:pointer;transition:all .2s}.btn-icon:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}.card{background:var(--surface);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-lg)}body .card.card--soft-gray{background:linear-gradient(145deg,#ffffff 0%,#e2e8f0 52%,#fbfdff 100%);border:1px solid rgba(100,116,139,.35);box-shadow:0 14px 34px #0f172a14,0 0 0 1px #ffffff73 inset;position:relative;overflow:hidden}body .card.card--soft-gray:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 20% 0%,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 55%),linear-gradient(135deg,rgba(148,163,184,.18) 0%,rgba(148,163,184,0) 55%);pointer-events:none}body .card.card--soft-gray>*{position:relative;z-index:1}.input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;transition:all .2s;background:var(--surface)}.input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.input::placeholder{color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--surface);border-radius:var(--radius-xl);padding:24px;max-width:500px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.badge-success{background:rgba(16,185,129,.1);color:var(--success)}.badge-error{background:rgba(239,68,68,.1);color:var(--error)}.badge-warning{background:rgba(245,158,11,.1);color:var(--warning)}.badge-info{background:rgba(59,130,246,.1);color:var(--info)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}@media (max-width: 640px){:root{--font-size-h1: 2rem;--font-size-h2: 1.75rem;--font-size-h3: 1.25rem}.btn{padding:10px 20px;font-size:var(--font-size-sm)}.card{padding:16px}}@keyframes swipeLeft{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(-100vw) rotate(-30deg);opacity:0}}@keyframes swipeRight{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(100vw) rotate(30deg);opacity:0}}.swipe-left{animation:swipeLeft .3s ease forwards}.swipe-right{animation:swipeRight .3s ease forwards}
