:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#ff1744;--color-primary-dark:#cc0e36;--color-accent:#f97316;--color-background:#fafafa;--color-surface:#fff;--color-card:#fff;--color-text-primary:#171717;--color-text-secondary:#737373;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-primary-50:#fff1f2;--color-primary-100:#ffe4e6;--color-accent-50:#fff7ed;--color-accent-100:#ffedd5;--color-error:#b00020;--color-glass:#fffc;--color-glass-border:#ffffff4d;--radius-glass:24px;--blur-glass:20px;--gradient-hero:linear-gradient(135deg, var(--color-primary), var(--color-accent));--gradient-card:linear-gradient(135deg, var(--color-primary-50), var(--color-accent-50));--gradient-auth:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark), #e91e63, var(--color-accent));--font-heading:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--text-headline-lg-size:32px;--text-headline-lg-weight:700;--text-headline-md-size:24px;--text-headline-md-weight:700;--text-headline-sm-size:20px;--text-headline-sm-weight:600;--text-body-lg-size:16px;--text-body-md-size:14px;--text-body-sm-size:12px;--radius-card:12px;--radius-input:12px;--radius-button:999px;--shadow-card:0 2px 10px #0000000d;font-family:var(--font-body)}*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);margin:0}.app-shell{justify-content:center;align-items:flex-start;min-height:100vh;padding:24px;display:flex}.app-shell:has(>.bottom-nav){padding-bottom:calc(24px + 68px + env(safe-area-inset-bottom,0px))}.app-shell:has(.auth-form){background:var(--gradient-auth);align-items:center;padding:0}.centered-status{color:var(--color-text-secondary);font-size:.95rem}.auth-form{background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:var(--radius-glass);width:100%;max-width:380px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(var(--blur-glass));flex-direction:column;gap:14px;margin:40px 28px;padding:28px 24px;display:flex}.auth-form h1{font-family:var(--font-heading);font-size:var(--text-headline-md-size);font-weight:var(--text-headline-md-weight);color:var(--color-text-primary);text-align:center;margin:0 0 4px}.auth-form label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.75rem;font-weight:600;display:flex}.auth-form input{border-radius:var(--radius-input);color:var(--color-text-primary);font-size:var(--text-body-lg-size);font-family:var(--font-body);text-transform:none;letter-spacing:normal;background:#ffffffe6;border:1px solid #0000;padding:14px 16px}.auth-form input:focus{border-color:var(--color-primary);border-width:1.5px;outline:none}.auth-form button[type=submit]{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);font-size:var(--text-body-lg-size);cursor:pointer;border:none;margin-top:4px;padding:14px;font-weight:600;box-shadow:0 2px 8px #ff17444d}.auth-form button[type=submit]:disabled{opacity:.6;cursor:default;box-shadow:none}.form-error{color:var(--color-error);margin:0;font-size:.85rem}.form-switch{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.85rem}.auth-form .form-switch{color:var(--color-text-secondary)}.link-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.bottom-nav{z-index:40;background:var(--color-surface);border-top:1px solid var(--color-neutral-200);padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #00000014}.bottom-nav-item{color:var(--color-neutral-300);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;font-size:.68rem;font-weight:500;display:flex}.bottom-nav-item svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.bottom-nav-item-active{color:var(--color-primary)}.bottom-nav-item-active svg{fill:currentColor}.home-shell{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:var(--radius-card);width:100%;max-width:460px;box-shadow:var(--shadow-card);padding:28px;overflow:hidden}.home-shell h1{font-family:var(--font-heading);font-size:var(--text-headline-md-size);font-weight:var(--text-headline-md-weight);color:#fff;background:var(--gradient-hero);border-radius:var(--radius-card) var(--radius-card) 0 0;margin:-28px -28px 20px;padding:24px 28px}.home-shell>p{color:var(--color-text-secondary);font-size:var(--text-body-md-size);margin:0 0 8px}.user-facts{margin:0}.user-facts dt{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:12px;font-size:.75rem}.user-facts dt:first-child{margin-top:0}.user-facts dd{font-size:var(--text-body-md-size);color:var(--color-text-primary);margin:2px 0 0}.home-nudge{background:var(--color-primary-50);border:1px solid var(--color-primary-100);border-radius:var(--radius-input);color:var(--color-primary-dark);margin:16px 0 0;padding:10px 14px;font-size:.85rem}.home-actions{flex-direction:column;gap:10px;margin-top:16px;display:flex}.home-shell button{border:1.5px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-button);font-family:var(--font-body);cursor:pointer;background:0 0;padding:12px 16px;font-weight:600}.kyc-shell{width:100%;max-width:420px}.kyc-account-switch{color:var(--color-text-secondary);text-align:center;margin:0 0 12px;font-size:.8rem}.kyc-step{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);text-align:center;flex-direction:column;gap:14px;padding:28px;display:flex}.kyc-step h1{font-family:var(--font-heading);font-size:var(--text-headline-sm-size);font-weight:var(--text-headline-sm-weight);color:var(--color-text-primary);margin:0}.kyc-step p{color:var(--color-text-secondary);margin:0;font-size:.9rem}.kyc-hint{color:var(--color-text-secondary);font-size:.85rem}.kyc-video-wrap{width:100%;position:relative}.kyc-video{border-radius:var(--radius-input);aspect-ratio:4/3;object-fit:cover;background:#000;width:100%;display:block}.kyc-mrz-guide{pointer-events:none;border:2px solid #ffffffd9;border-radius:6px;position:absolute;box-shadow:0 0 0 9999px #0000008c}.kyc-face-preview{border-radius:var(--radius-input);width:112px;height:112px;image-rendering:pixelated;margin:0 auto}.kyc-step button{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);font-size:var(--text-body-lg-size);cursor:pointer;border:none;padding:14px;font-weight:600;box-shadow:0 2px 8px #ff17444d}.kyc-step button:disabled{opacity:.6;cursor:default;box-shadow:none}.kyc-spinner{border:3px solid var(--color-neutral-200);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.8s linear infinite kyc-spin}@keyframes kyc-spin{to{transform:rotate(360deg)}}.profile-shell{width:100%;max-width:480px}.profile-card{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:28px;display:flex}.profile-header{flex-direction:column;gap:8px;display:flex}.profile-header h1{font-family:var(--font-heading);font-size:var(--text-headline-sm-size);font-weight:var(--text-headline-sm-weight);color:var(--color-text-primary);margin:0}.profile-header .link-button{color:var(--color-primary)}.profile-completion{color:var(--color-text-secondary);font-size:var(--text-body-sm-size);margin:0}.profile-photos{flex-direction:column;gap:8px;display:flex}.profile-photo-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.profile-photo-tile{border-radius:var(--radius-input);background:var(--color-neutral-200);aspect-ratio:3/4;position:relative;overflow:hidden}.profile-photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.profile-photo-badge{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);padding:2px 8px;font-size:.7rem;font-weight:600;position:absolute;top:6px;left:6px}.profile-photo-actions{background:linear-gradient(#0000,#0000008c);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.profile-photo-actions button{color:var(--color-text-primary);border:1px solid var(--color-neutral-200);cursor:pointer;background:#ffffffd9;border-radius:6px;padding:4px 6px;font-size:.75rem}.profile-photo-add{aspect-ratio:3/4;background:var(--color-neutral-100);border:1px dashed var(--color-neutral-300);border-radius:var(--radius-input);color:var(--color-text-secondary);cursor:pointer;font-size:.85rem}.profile-photo-add:disabled{opacity:.6;cursor:default}.profile-view-fields{margin:0}.profile-view-fields div{border-bottom:1px solid var(--color-neutral-200);padding:8px 0}.profile-view-fields dt{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.profile-view-fields dd{font-size:var(--text-body-md-size);color:var(--color-text-primary);margin:2px 0 0}.profile-card>button{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);font-size:var(--text-body-lg-size);cursor:pointer;border:none;padding:14px;font-weight:600;box-shadow:0 2px 8px #ff17444d}.profile-edit-fields{flex-direction:column;gap:14px;display:flex}.profile-field{font-size:var(--text-body-sm-size);color:var(--color-text-secondary);flex-direction:column;gap:6px;display:flex}.profile-field input,.profile-field select,.profile-field textarea{background:var(--color-neutral-100);border-radius:var(--radius-input);color:var(--color-text-primary);font-size:var(--text-body-lg-size);font-family:var(--font-body);border:1px solid #0000;padding:14px 16px}.profile-field input:focus,.profile-field select:focus,.profile-field textarea:focus{border-color:var(--color-primary);border-width:2px;outline:none}.profile-field-hint{color:var(--color-text-secondary);font-size:.75rem}.profile-chip-group{flex-wrap:wrap;gap:6px;display:flex}.profile-chip{background:var(--color-neutral-100);border:1px solid var(--color-neutral-200);border-radius:var(--radius-button);color:var(--color-text-secondary);cursor:pointer;padding:6px 12px;font-size:.8rem}.profile-chip-selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.profile-chip:disabled{opacity:.4;cursor:default}.profile-tag-input-row{gap:8px;display:flex}.profile-tag-input-row input{background:var(--color-neutral-100);border-radius:var(--radius-input);color:var(--color-text-primary);border:1px solid #0000;flex:1;padding:10px 12px;font-size:.95rem}.profile-tag-input-row button{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-input);cursor:pointer;background:0 0;padding:0 14px}.profile-tag-input-row button:disabled{opacity:.5;cursor:default}.profile-edit-actions{gap:10px;display:flex}.profile-edit-actions button:first-child{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);font-size:var(--text-body-lg-size);cursor:pointer;border:none;flex:1;padding:14px;font-weight:600;box-shadow:0 2px 8px #ff17444d}.profile-edit-actions button:first-child:disabled{opacity:.6;cursor:default;box-shadow:none}.profile-cancel-btn{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-button);cursor:pointer;background:0 0;padding:14px 16px}.matches-shell{width:100%;max-width:560px}.matches-shell h1{font-family:var(--font-heading);font-size:var(--text-headline-sm-size);font-weight:var(--text-headline-sm-weight);color:var(--color-text-primary);margin:0 0 16px}.matches-empty{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center;color:var(--color-text-secondary);padding:28px}.matches-empty button{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);cursor:pointer;border:none;margin-top:14px;padding:10px 20px;font-weight:600}.matches-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.match-card{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.match-card-photo{aspect-ratio:3/4;background:var(--color-neutral-200);cursor:pointer;border:none;width:100%;padding:0;display:block}.match-card-photo img{object-fit:cover;width:100%;height:100%;display:block}.match-card-photo-placeholder,.match-card-photo-gated{background:var(--color-neutral-100);width:100%;height:100%;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:.75rem;display:flex}.match-card-info{flex-direction:column;gap:4px;padding:10px 12px;display:flex}.match-card-name{color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;font-weight:600}.match-card-location{color:var(--color-text-secondary);margin:0;font-size:.78rem}.match-card-dismiss{border:1px solid var(--color-neutral-300);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-top:6px;padding:5px 8px;font-size:.75rem}.match-card-dismiss:disabled{opacity:.6;cursor:default}.public-photo-main{aspect-ratio:3/4;border-radius:var(--radius-input);background:var(--color-neutral-200);width:100%;overflow:hidden}.public-photo-main img{object-fit:cover;width:100%;height:100%;display:block}.public-photo-gated{aspect-ratio:3/4;border-radius:var(--radius-input);background:var(--color-neutral-100);border:1px dashed var(--color-neutral-300);width:100%;color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:.85rem;display:flex}.public-match-context{background:var(--color-primary-50);border:1px solid var(--color-primary-100);border-radius:var(--radius-input);color:var(--color-primary-dark);padding:10px 14px;font-size:.85rem}.public-match-context p{margin:0 0 4px}.public-match-context p:last-child{margin-bottom:0}.public-verified-badge{color:#16a34a;margin:0;font-size:.85rem;font-weight:600}.start-chatting-section{margin:4px 0}.start-chatting-section button{border-radius:var(--radius-button);background:var(--color-primary);color:#fff;cursor:pointer;border:none;width:100%;padding:14px;font-weight:600;box-shadow:0 2px 8px #ff17444d}.start-chatting-section button:disabled{opacity:.6;cursor:default;box-shadow:none}.start-chatting-status{color:var(--color-text-secondary);text-align:center;font-size:.85rem}.chat-connection-warning{color:#b45309;font-size:.8rem}.channels-shell{flex-direction:column;gap:12px;width:100%;max-width:480px;display:flex}.channels-shell h1{font-family:var(--font-heading);font-size:var(--text-headline-sm-size);font-weight:var(--text-headline-sm-weight);color:var(--color-text-primary);margin:0}.pending-gifts-section{background:var(--color-accent-50);border:1px solid var(--color-accent-100);border-radius:var(--radius-input);flex-direction:column;gap:10px;padding:12px;display:flex}.pending-gifts-section h2{color:var(--color-text-primary);margin:0;font-size:.95rem}.pending-gift-card{align-items:center;gap:10px;display:flex}.pending-gift-photo{object-fit:cover;border-radius:50%;width:44px;height:44px}.pending-gift-info{flex:1;min-width:0}.pending-gift-info p{color:var(--color-text-secondary);margin:2px 0 0;font-size:.8rem}.pending-gift-actions,.channels-list{flex-direction:column;gap:4px;display:flex}.channel-row{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:var(--radius-input);cursor:pointer;text-align:left;color:inherit;align-items:center;gap:10px;padding:10px;display:flex}.channel-row-photo{object-fit:cover;border-radius:50%;flex-shrink:0;width:44px;height:44px}.channel-row-photo-placeholder{background:var(--color-neutral-200)}.channel-row-body{flex:1;min-width:0}.channel-row-body p{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:.8rem;overflow:hidden}.channel-row-unread{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:700;display:flex}.conversation-shell{flex-direction:column;width:100%;max-width:480px;height:100vh;max-height:720px;display:flex}.conversation-header{border-bottom:1px solid var(--color-neutral-200);align-items:center;gap:10px;padding-bottom:10px;display:flex}.conversation-header-photo{object-fit:cover;border-radius:50%;width:32px;height:32px}.conversation-messages{flex-direction:column;flex:1;gap:8px;padding:12px 0;display:flex;overflow-y:auto}.chat-bubble{background:var(--color-surface);border:1px solid var(--color-neutral-200);max-width:75%;color:var(--color-text-primary);border-radius:14px;align-self:flex-start;padding:8px 12px}.chat-bubble p{word-break:break-word;margin:0}.chat-bubble-mine{background:var(--color-primary);border-color:var(--color-primary);color:#fff;align-self:flex-end}.chat-tip-bubble{background:linear-gradient(135deg, var(--color-accent-50), #f973161a);border-color:var(--color-accent);color:#9a3412;font-weight:600}.chat-message-image{border-radius:var(--radius-input);max-width:100%;display:block}.chat-image-loading,.chat-image-failed{background:var(--color-neutral-200);border-radius:var(--radius-input);width:160px;height:160px}.chat-bubble-reactions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.reaction-pill{border:1px solid var(--color-neutral-300);border-radius:var(--radius-button);cursor:pointer;color:var(--color-text-secondary);background:0 0;padding:1px 6px;font-size:.75rem}.reaction-pill-active{border-color:var(--color-primary);color:var(--color-primary)}.chat-typing-indicator{color:var(--color-text-secondary);margin:0;font-size:.8rem;font-style:italic}.chat-composer,.chat-tip-composer{border-top:1px solid var(--color-neutral-200);align-items:center;gap:8px;padding-top:10px;display:flex}.chat-composer input[type=text],.chat-tip-composer input[type=number]{border-radius:var(--radius-input);background:var(--color-neutral-100);color:var(--color-text-primary);font-family:var(--font-body);border:1px solid #0000;flex:1;padding:10px 12px}.chat-composer button[type=button]:not(.link-button),.chat-tip-composer button[type=button]:not(.link-button){border-radius:var(--radius-button);background:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:10px 16px;font-weight:600}.chat-composer button:disabled{opacity:.5;cursor:default}
