:root{--cream:#f2efea;--ink:#1a1a1a;--coral:#f14d46;--coral-dark:#d63a34;--muted:#767066;--line:#e2ddd3;--white:#fff;--bottom-nav-height:3.5rem}*{box-sizing:border-box}body,html{height:100%}body{background:var(--cream);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#__nuxt{min-height:100dvh}#__nuxt,.page-body{flex-direction:column;display:flex}.content,.page-body{flex:1 0 auto}a{color:var(--coral-dark);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0 0 1rem;font-size:1.6rem}h2{margin:0 0 .75rem;font-size:1.1rem}.muted{color:var(--muted);font-size:.9rem}.topbar{background:var(--white);border-bottom:1px solid var(--line)}.topbar-inner{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:.75rem 1.25rem;display:flex}.brand-logo{height:28px;display:block}.topbar-actions{align-items:center;gap:.9rem;font-size:.88rem;font-weight:600;display:flex}.link-btn{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;padding:0}.link-btn:hover{color:var(--coral)}.select{appearance:none;font:inherit;color:var(--ink);background:var(--white) url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22none%22%20stroke%3D%22%231a1a1a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E) no-repeat right .8rem center;border:1px solid var(--line);cursor:pointer;background-size:14px;border-radius:10px;padding:.55rem 2.3rem .55rem .9rem;font-size:.85rem;font-weight:600}.select:hover{border-color:var(--coral)}.select:focus{outline:2px solid var(--coral);outline-offset:1px}.lang-switch{appearance:none;background:var(--white) url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22none%22%20stroke%3D%22%23767066%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E) no-repeat right .85rem center;border:1px solid var(--line);color:var(--muted);cursor:pointer;background-size:14px;border-radius:999px;padding:.5rem 2.4rem .5rem 1.1rem;font-size:.85rem;font-weight:700}.lang-switch:hover{border-color:var(--coral)}.lang-switch:focus{outline:2px solid var(--coral);outline-offset:1px}@media (width<=767px){.topbar-inner{grid-template-columns:1fr auto 1fr;display:grid}.brand{grid-column:2;justify-self:center}.topbar-actions{grid-column:3;justify-self:end}.topbar .lang-switch-authed{display:none}}.profile-lang-switch{width:100%;display:block}.content{width:100%;max-width:960px;margin:0 auto;padding:2rem 1.5rem}.page-body-with-bottom-nav{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.bottom-nav{z-index:20;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));background:var(--white);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{max-width:960px;height:100%;margin:0 auto;display:flex}.bottom-nav-item{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;display:flex}.bottom-nav-item:hover{color:var(--coral);text-decoration:none}.bottom-nav-item.router-link-active{color:var(--coral)}.bottom-nav-icon-wrap{display:inline-flex;position:relative}.bottom-nav-badge{top:-5px;right:-9px}.bottom-nav-dot{background:var(--coral);border:2px solid var(--white);border-radius:50%;width:9px;height:9px;position:absolute;top:-2px;right:-4px}.page-narrow{max-width:480px;margin:0 auto}.landing{min-height:100%}.hero{text-align:center;background-image:linear-gradient(0deg,#611613f2 0,#d63a348c 45%,#f14d461f 100%),var(--hero-photo);max-width:960px;min-height:40vh;color:var(--white);background-position:50% 22%;background-repeat:no-repeat;background-size:cover;border-radius:20px;flex-direction:column;justify-content:flex-end;margin:1.25rem auto 0;padding:2.5rem 1.25rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px #1a1a1a38}.hero-kicker{text-transform:uppercase;letter-spacing:.06em;background:#ffffff24;border:1px solid #ffffff4d;border-radius:999px;align-self:center;margin:0 0 .9rem;padding:.3rem .8rem;font-size:.8rem;font-weight:700;display:inline-block}.hero-headline{margin:0 0 .7rem;letter-spacing:-.01em;max-width:20rem;margin-inline:auto;font-size:1.9rem;line-height:1.18}.hero-subtitle{opacity:.85;max-width:22rem;margin:0 auto 1.6rem;font-size:.95rem;line-height:1.4}.hero-alert{text-align:left;max-width:320px;margin:0 auto .9rem}.hero-cta{max-width:320px;margin:0 auto;box-shadow:0 8px 24px #00000040}.hero-note{opacity:.8;max-width:300px;margin:.9rem auto 0;font-size:.78rem}.hero-email-form{flex-direction:column;gap:.7rem;max-width:320px;margin:0 auto;display:flex}.hero-email-input{font:inherit;color:var(--ink);background:#ffffffeb;border:1px solid #fff6;border-radius:10px;padding:.7rem .9rem}.hero-email-input:focus{outline:2px solid var(--white);outline-offset:1px}.hero-email-form .hero-cta{margin:0}@media (width>=640px){.hero{min-height:40vh;padding-bottom:3rem}.hero-headline{max-width:26rem;font-size:2.4rem}}.info-section{text-align:center;max-width:640px;margin:0 auto;padding:2.5rem 1.5rem}.info-section h2{margin-bottom:1.75rem;font-size:1.3rem}.info-rows{text-align:left;flex-direction:column;gap:2.75rem;display:flex}.info-row{align-items:center;gap:1.25rem;display:flex}.info-row.reverse{text-align:right;flex-direction:row-reverse}.info-row-icon{background:var(--white);width:96px;height:96px;color:var(--coral);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 3px #00000014}.info-row-text{min-width:0}.info-row-text h3{margin:0 0 .35rem;font-size:.98rem}.info-row-text p{margin:0;font-size:.88rem}@media (width<=520px){.info-row,.info-row.reverse{text-align:center;flex-direction:column}}.auth-page{justify-content:center;padding:2.5rem 1.5rem;display:flex}.auth-card h2{margin:0 0 .5rem;font-size:1.3rem}.auth-card{width:100%;max-width:380px;padding:2rem}.auth-card,.card{background:var(--white);border:1px solid var(--line);border-radius:16px}.card{margin-bottom:1.25rem;padding:1.5rem}.stack-form{flex-direction:column;gap:.9rem;margin-top:1rem;display:flex}.stack-form .field-hint{margin:-.6rem 0 0;font-size:.8rem}.checkbox-row{cursor:pointer;align-items:center;gap:.6rem;font-weight:600;display:flex}.checkbox-row input[type=checkbox]{cursor:pointer;width:1.1rem;height:1.1rem}.toggle-row{cursor:pointer;align-items:center;gap:.6rem;margin:1rem 0;font-weight:600;display:flex}.toggle-switch{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.toggle-switch-track{background:var(--line);border-radius:999px;transition:background .15s;position:absolute;inset:0}.toggle-switch-track:before{content:"";background:var(--white);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1a1a1a40}.toggle-switch input:checked~.toggle-switch-track{background:var(--coral)}.toggle-switch input:checked~.toggle-switch-track:before{transform:translate(18px)}.toggle-switch input:focus-visible~.toggle-switch-track{outline:2px solid var(--coral);outline-offset:2px}.stack-form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.stack-form input,.stack-form select,.stack-form textarea{font:inherit;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:8px;padding:.6rem .7rem}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{outline:2px solid var(--coral);outline-offset:1px}.btn{cursor:pointer;text-align:center;border:none;border-radius:999px;padding:.7rem 1.4rem;font-size:.95rem;font-weight:700;display:inline-block}.btn-primary{background:var(--coral);color:var(--white)}.btn-primary:hover{background:var(--coral-dark);text-decoration:none}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--coral);text-decoration:none}.btn-block{cursor:pointer;border:none;width:100%;margin-top:1rem;display:block}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-iconed{align-items:center;gap:.4rem;display:inline-flex}.auth-note{text-align:center;margin-top:1rem;font-size:.82rem}.btn-row{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.btn-small{padding:.4rem .9rem;font-size:.8rem}.connection-row{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.connection-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.connection-provider{font-weight:700}.connection-status{font-size:.85rem}.service-logo{background:var(--white);border:1px solid var(--line);border-radius:10px;flex:none;justify-content:center;align-items:center;width:76px;height:44px;padding:6px;display:flex}.service-logo img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:100%}.service-list{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.service-option{border:1px solid var(--line);background:var(--white);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.service-option:hover:not(:disabled){border-color:var(--coral)}.service-option:disabled{cursor:default}.service-option:disabled .service-desc,.service-option:disabled .service-logo{opacity:.5}.service-option:disabled .service-name{color:var(--muted)}.service-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.service-name{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:700;display:flex}.service-desc{color:var(--muted);font-size:.82rem}.service-badge{color:var(--muted);background:var(--cream);border-radius:999px;flex:none;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.alert{border:1px solid var(--coral);color:var(--coral-dark);background:#fdeceb;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-success{color:#2f7a49;background:#eaf4ec;border-color:#4caf6a}.avatar-preview{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:88px;height:88px}.profile-stats{margin:.9rem 0 .4rem}.photos-note{margin-top:.9rem}.photo-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.6rem;display:grid}.photo-thumb{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;background:var(--cream);border-radius:10px;width:100%;display:block}.photo-select-count{margin-top:.4rem;font-size:.82rem}.photo-select-item-wrap{position:relative}.photo-select-item{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;padding:0;position:relative}.photo-select-item .photo-thumb{border-radius:8px}.photo-select-item:hover:not(:disabled){border-color:var(--coral)}.photo-select-item:disabled{opacity:.25;cursor:not-allowed}.photo-select-badge{background:var(--coral);width:20px;height:20px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:.3rem;right:.3rem}.photo-section-title{margin:1.1rem 0 .3rem;font-size:.95rem}.photo-drag-hint{margin-top:.4rem;font-size:.8rem}.photo-grid-scroll{max-height:28rem;padding:.15rem;overflow-y:auto}.photo-drag-item{cursor:grab;border:2px solid #0000;border-radius:10px;position:relative}.photo-drag-item:active{cursor:grabbing}.photo-drag-item .photo-thumb{border-radius:8px}.photo-drag-over{border-color:var(--coral)}.photo-remove-btn{width:20px;height:20px;color:var(--white);cursor:pointer;background:#1a1a1aa6;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;line-height:1;display:flex;position:absolute;top:.3rem;left:.3rem}.photo-remove-btn:hover{background:var(--coral)}.danger-zone{border-color:var(--coral)}.btn-danger{background:var(--white);color:var(--coral-dark);border:1px solid var(--coral)}.btn-danger:hover{background:var(--coral);color:var(--white)}.btn-logout{background:var(--white);color:var(--coral-dark);border:1px solid var(--coral);margin-bottom:1.25rem}.btn-logout:hover{background:var(--coral);color:var(--white);text-decoration:none}.empty-state{text-align:center;background:var(--white);border:1px dashed var(--line);border-radius:16px;padding:3rem 1rem}.discover-page{text-align:center;max-width:420px;margin:0 auto}.card-stack{height:560px;margin:1rem 0;position:relative}.swipe-card{background:var(--white);touch-action:none;cursor:grab;border-radius:20px;flex-direction:column;transition:transform .25s,opacity .25s;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 28px #1a1a1a1f}.swipe-card.dragging{cursor:grabbing;transition:none}.swipe-photo-wrap{width:100%;height:60%;position:relative}.swipe-photo{-o-object-fit:cover;object-fit:cover;background:var(--cream);width:100%;height:100%;display:block}.swipe-photo-placeholder{font-size:3rem}.swipe-photo-placeholder,.swipe-route-overlay{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.swipe-route-overlay{background:var(--cream);flex-direction:column;gap:.5rem;padding:.75rem}.swipe-route-overlay .route-overlay-svg{aspect-ratio:1;background:var(--white);width:auto;height:75%}.swipe-route-overlay .route-overlay-caption{text-align:center;margin:0}.photo-dots{gap:.3rem;display:flex;position:absolute;top:.6rem;left:.6rem;right:.6rem}.photo-dots span{background:#ffffff73;border-radius:2px;flex:1;height:3px}.photo-dots span.active{background:var(--white)}.photo-tap{cursor:pointer;background:0 0;border:none;width:50%;padding:0;position:absolute;top:0;bottom:0}.photo-tap-left{left:0}.photo-tap-right{right:0}.swipe-report-btn{z-index:2;width:28px;height:28px;color:var(--white);cursor:pointer;background:#1a1a1a73;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.6rem;right:.6rem}.swipe-report-btn:hover:not(:disabled){background:var(--coral)}.swipe-report-btn:disabled{opacity:.5;cursor:not-allowed}.swipe-info{text-align:left;flex:1;padding:1.1rem 1.25rem}.swipe-info h2{font-size:1.25rem}.swipe-bio{margin:.4rem 0 .8rem;font-size:.9rem}.stats-row{color:var(--muted);flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem;font-size:.82rem;display:flex}.encounter-badge{background:var(--cream);border-radius:12px;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;font-size:.85rem;display:flex}.encounter-icon{font-size:1.1rem}.swipe-card.fly-left{opacity:0;transform:translate(-140%)rotate(-12deg)}.swipe-card.fly-right{opacity:0;transform:translate(140%)rotate(12deg)}.swipe-actions{justify-content:center;gap:1.5rem;margin-top:1rem;display:flex}.swipe-btn{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:50%;width:60px;height:60px;font-size:1.4rem}.swipe-pass{color:var(--muted)}.swipe-like{color:var(--coral);border-color:var(--coral)}.swipe-btn:hover{transform:scale(1.06)}.swipe-btn.active{transform:scale(1.15)}.swipe-pass.active{background:var(--muted);color:var(--white);border-color:var(--muted)}.swipe-like.active{background:var(--coral);color:var(--white)}.toast{background:var(--ink);max-width:calc(100% - 2.5rem);color:var(--white);text-align:center;opacity:0;pointer-events:none;z-index:30;border-radius:12px;padding:.75rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .25s;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 12px 28px #1a1a1a38}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.match-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.match-list-item{background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:14px;align-items:center;gap:.9rem;padding:.75rem 1rem;font-weight:600;display:flex}.match-list-item:hover{border-color:var(--coral);text-decoration:none}.match-avatar{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:48px;height:48px}.match-avatar-placeholder{background:var(--cream);justify-content:center;align-items:center;font-size:1.3rem;display:flex}.match-avatar-wrap{flex:none;display:inline-flex;position:relative}.match-unread-dot{background:var(--coral);border:2px solid var(--white);border-radius:50%;width:12px;height:12px;position:absolute;top:-1px;right:-1px}.chat-layout{align-items:flex-start;gap:1.5rem;display:flex}.chat-main{flex:480px;min-width:0}.chat-main,.chat-side{flex-direction:column;display:flex}.chat-side{flex:0 0 280px}.profile-toggle-btn{display:none}.chat-side-actions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.chat-side-actions .btn-block{margin-top:0}.chat-mobile-actions{display:none}@media (width<=767px){.chat-layout{max-width:480px;margin:0 auto;display:block}.chat-side{display:none}.chat-side.chat-side-open{margin-bottom:1rem;display:flex}.profile-toggle-btn{display:inline-flex}.chat-side-actions-desktop-only{display:none}.chat-mobile-actions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.chat-mobile-actions .btn-block{margin-top:0}}.chat-header{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:1.25rem;display:flex}.chat-header h1{flex:1;margin:0}.back-link{font-size:.9rem}.chat-encounter{margin-bottom:1rem}.route-overlay-card{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;padding:.75rem}.route-overlay-svg{aspect-ratio:1;background:var(--cream);border-radius:10px;width:100%;display:block}.route-line{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.route-line-mine{stroke:var(--coral)}.route-line-theirs{stroke:var(--coral-dark);opacity:.5}.route-overlay-caption{text-align:center;margin-top:.6rem;font-size:.82rem}.match-celebration{z-index:50;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.match-celebration.show{opacity:1}.match-celebration-backdrop{background:#1a1a1ad1;position:absolute;inset:0}.match-reveal{z-index:1;flex-direction:column;align-items:center;gap:1.1rem;padding:1.5rem;display:flex;position:relative}.match-reveal-photo,.match-reveal-photos{justify-content:center;align-items:center;display:flex}.match-reveal-photo{border:3px solid var(--white);background:var(--muted);width:96px;height:96px;color:var(--white);opacity:0;border-radius:50%;animation:.55s cubic-bezier(.34,1.56,.64,1) forwards match-photo-pop;overflow:hidden;transform:scale(.4);box-shadow:0 6px 18px #00000059}.match-reveal-photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.match-reveal-photo-mine{z-index:1;margin-right:-18px;animation-delay:50ms}.match-reveal-photo-theirs{margin-left:-18px;animation-delay:.2s}.match-reveal-heart{z-index:2;background:var(--coral);width:40px;height:40px;color:var(--white);opacity:0;border-radius:50%;justify-content:center;align-items:center;animation:.55s cubic-bezier(.34,1.56,.64,1) .35s forwards match-photo-pop;display:flex;transform:scale(.4);box-shadow:0 4px 12px #00000059}@keyframes match-photo-pop{to{opacity:1;transform:scale(1)}}.match-reveal-title{color:var(--white);letter-spacing:-.01em;opacity:0;margin:0;font-size:1.6rem;font-weight:800;animation:.4s ease-out .5s forwards match-text-in}.match-reveal-subtitle{color:#fffc;opacity:0;margin:0;font-size:.95rem;animation:.4s ease-out .62s forwards match-text-in}@keyframes match-text-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.match-confetti{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.confetti-piece{top:-12px;left:var(--left);background:var(--color);opacity:0;width:7px;height:13px;animation:confetti-fall var(--duration) cubic-bezier(.4,0,.6,1) var(--delay) forwards;border-radius:1px;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--drift),105vh) rotate(var(--rotate));opacity:.85}}.chat-profile-panel{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;padding:1rem}.chat-profile-panel .photo-grid{margin-top:0;margin-bottom:.7rem}.match-list-item-dissolved{opacity:.55;cursor:default}.match-dissolved-tag{text-transform:uppercase;color:var(--muted);margin-left:auto;font-size:.72rem;font-weight:700}.dissolved-notice{background:var(--cream);text-align:center;color:var(--muted);border-radius:14px;padding:1.5rem}.messages{background:var(--white);border:1px solid var(--line);gap:.5rem;height:50vh;min-height:260px;padding:1rem;overflow-y:auto}.message,.messages{border-radius:14px;flex-direction:column;display:flex}.message{gap:.15rem;max-width:75%;padding:.55rem .85rem;font-size:.92rem}.message-mine{background:var(--coral);color:var(--white);align-self:flex-end}.message-theirs{background:var(--cream);align-self:flex-start}.message-time{opacity:.65;align-self:flex-end;font-size:.68rem}.chat-teaser{text-align:center;max-width:22rem;color:var(--muted);flex-direction:column;align-items:center;gap:.5rem;margin:auto;display:flex}.chat-teaser p{margin:0;font-size:.9rem}.message-form{gap:.6rem;margin-top:.75rem;display:flex}.message-form input{font:inherit;border:1px solid var(--line);background:var(--white);border-radius:999px;flex:1;padding:.65rem .9rem}.nav-admin{color:var(--coral-dark)!important}.admin-page{max-width:100%}.admin-table-scroll{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.88rem}.admin-table td,.admin-table th{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.7rem .9rem}.admin-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}.admin-table tr:last-child td{border-bottom:none}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-table th.sortable:hover{color:var(--coral)}.admin-table th .sort-arrow{opacity:.3;margin-left:.3rem;font-size:.6rem;display:inline-block}.admin-table th .sort-arrow.active{opacity:1;color:var(--coral)}.admin-table tr.row-admin{background:#fdf6f0}.admin-table tr.row-mod{background:var(--cream)}.admin-row-clickable{cursor:pointer}.admin-row-clickable:hover{background:var(--cream)}.admin-section{margin-bottom:2.5rem}.admin-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-section-header h2{margin:0}.admin-section-title-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ad-thumb{-o-object-fit:cover;object-fit:cover;border-radius:8px}.ad-slot{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:14px;width:100%;margin:1rem 0;padding:0;display:block;position:relative;overflow:hidden}.ad-slot-label{z-index:1;color:var(--white);text-transform:uppercase;letter-spacing:.04em;background:#1a1a1a99;border-radius:999px;padding:.2rem .5rem;font-size:.68rem;font-weight:700;position:absolute;top:.5rem;left:.5rem}.ad-slot-image{-o-object-fit:cover;object-fit:cover;width:100%;max-height:160px;display:block}.ad-image-section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.ad-image-preview{-o-object-fit:contain;object-fit:contain;background:var(--cream);border-radius:8px;max-width:220px;max-height:140px;margin-bottom:.75rem;display:block}.ad-image-dimensions-hint{margin:0 0 .5rem}.admin-avatar{-o-object-fit:cover;object-fit:cover;display:block}.admin-avatar,.admin-avatar-placeholder{border-radius:50%;width:40px;height:40px}.admin-avatar-placeholder{background:var(--cream);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.admin-bio{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.badge{border:none;border-radius:999px;padding:.3rem .75rem;font-size:.78rem;font-weight:700}.badge-btn{cursor:pointer}.badge-admin{background:var(--coral);color:var(--white)}.badge-mod{background:var(--ink);color:var(--white)}.badge-user{background:var(--cream);color:var(--muted)}.btn-sm{margin-right:.4rem;padding:.4rem .85rem;font-size:.8rem}.admin-stats-heading{margin:1.5rem 0 .75rem;font-size:.95rem}.admin-stats-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.admin-stats-heading-row .admin-stats-heading,.admin-stats-heading-row .lang-switch{margin:1.5rem 0 0}.admin-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.75rem;display:grid}.admin-stat-tile{background:var(--white);border:1px solid var(--line);color:var(--coral-dark);border-radius:14px;align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:flex}.admin-stat-tile strong{color:var(--ink);font-size:1.4rem;line-height:1.2;display:block}.admin-stat-tile .muted{font-size:.8rem}@media (width<=640px){.admin-stats{grid-template-columns:1fr}}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.admin-tabs a,.admin-tabs button{background:var(--white);border:1px solid var(--line);cursor:pointer;color:var(--muted);border-radius:999px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.admin-tabs a.active,.admin-tabs button.active{background:#fdeceb}.admin-tabs a.active,.admin-tabs a:hover,.admin-tabs button.active{border-color:var(--coral);color:var(--coral-dark)}.tab-count{background:var(--coral);min-width:1.1rem;height:1.1rem;color:var(--white);border-radius:999px;justify-content:center;align-items:center;margin-left:.25rem;padding:0 .3rem;font-size:.7rem;display:inline-flex}.admin-filters{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.admin-search{font:inherit;border:1px solid var(--line);background:var(--white);border-radius:10px;flex:220px;padding:.6rem .9rem}.admin-list-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.admin-per-page{color:var(--muted);align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;display:flex}.admin-per-page .select{padding:.35rem 2rem .35rem .7rem;font-size:.82rem}.btn-group{flex-wrap:wrap;gap:.4rem;display:flex}.admin-actions{min-width:140px}.btn-icon{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}tr.row-blocked{opacity:.55}.admin-block-reason{max-width:220px;font-style:italic}.admin-pagination{align-items:center;gap:1rem;display:flex}.report-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.report-item{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem}.report-meta{justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:flex}.report-reason{margin:0 0 .8rem;font-size:.92rem}.report-user{align-items:center;gap:.7rem;margin-bottom:.9rem;display:flex}.site-footer{border-top:1px solid var(--line);margin-top:2rem}.site-footer-inner{justify-content:space-between;gap:.75rem;max-width:960px;margin:0 auto;padding:1.5rem}.footer-links,.site-footer-inner{flex-wrap:wrap;align-items:center;display:flex}.footer-links{gap:1rem;font-size:.85rem}.footer-links a{color:var(--muted)}.footer-links a:hover{color:var(--coral)}.footer-social{align-items:center;display:inline-flex}.footer-copy{color:var(--muted);margin:0;font-size:.8rem}.maintenance-screen{text-align:center;background:var(--cream);min-height:100vh;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.maintenance-logo{height:40px}.maintenance-screen h1{margin:0;font-size:1.5rem}.maintenance-screen p{max-width:28rem;color:var(--muted);margin:0}.faq-list{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.faq-item{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem}.faq-item summary{cursor:pointer;font-weight:600}.faq-item p{color:var(--muted);margin:.6rem 0 0;font-size:.92rem}.contact-email{font-size:1.1rem;font-weight:700}.legal-page section{margin-top:1.5rem}.legal-page li,.legal-page p{color:var(--muted);font-size:.92rem;line-height:1.5}.modal-overlay{z-index:30;background:#1a1a1a80;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--white);border-radius:16px;width:100%;max-width:480px;max-height:85vh;padding:1.5rem;position:relative;overflow-y:auto}.modal-close{background:var(--cream);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex;position:absolute;top:.9rem;right:.9rem}.modal-close:hover{background:var(--coral);color:var(--white)}.confirm-modal-panel{max-width:380px}.confirm-modal-panel p{margin:0 1.5rem 1.25rem 0}.confirm-modal-actions{justify-content:flex-end;gap:.6rem;display:flex}.modal-panel-wide{max-width:640px}.form-grid{grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1rem;display:grid}.form-grid label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.form-grid .span-2{grid-column:span 2}.form-grid input,.form-grid select{font:inherit;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:8px;padding:.6rem .7rem}.form-grid input:focus,.form-grid select:focus{outline:2px solid var(--coral);outline-offset:1px}@media (width<=480px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.admin-modal-bio{white-space:pre-wrap;margin:.9rem 0}.admin-modal-blocked{margin:.9rem 0}.ads-sport-field{flex-direction:column;gap:.35rem;display:flex}.ads-sport-field-label{font-size:.9rem;font-weight:600}.ads-sport-hint{margin:0;font-size:.8rem}.ads-sport-checkboxes{-moz-columns:2;columns:2;-moz-column-gap:1.5rem;column-gap:1.5rem}.ads-sport-checkbox{cursor:pointer;-moz-column-break-inside:avoid;break-inside:avoid;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.88rem;font-weight:400;display:flex;flex-direction:row!important}@media (width<=480px){.ads-sport-checkboxes{-moz-columns:1;columns:1}}.report-reason-list{flex-direction:column;gap:.4rem;margin:1rem 0 1.25rem;display:flex}.report-reason-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:.6rem;padding:.65rem .8rem;font-size:.9rem;display:flex}.report-reason-option:has(input:checked){border-color:var(--coral);background:#fdeceb}.report-reason-option input{accent-color:var(--coral)}.notif-bell,.notif-bell-btn{position:relative}.notif-bell-btn{cursor:pointer;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.notif-badge{background:var(--coral);min-width:16px;height:16px;color:var(--white);border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-size:.62rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-8px}.notif-dropdown{background:var(--white);border:1px solid var(--line);z-index:25;border-radius:14px;width:300px;max-height:360px;padding:.4rem;position:absolute;top:calc(100% + .6rem);right:0;overflow-y:auto;box-shadow:0 12px 28px #1a1a1a26}.notif-empty{text-align:center;padding:1rem}.notif-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;border:none;border-radius:10px;flex-direction:column;gap:.15rem;padding:.6rem .7rem;font-size:.85rem;display:flex}.notif-item:hover{background:var(--cream)}.notif-item-unread{background:#fdeceb}.notif-item-unread:hover{background:#fbe0de}.notif-item-label,.sync-status{align-items:center;gap:.4rem;display:flex}.sync-status{margin-top:.3rem}.notif-time{font-size:.72rem}.notif-push-prompt{background:var(--cream);border-radius:10px;margin-bottom:.4rem;padding:.7rem;font-size:.8rem}.notif-push-prompt p{margin:0 0 .5rem}.notif-push-actions{gap:.5rem;display:flex}.notif-push-actions .btn-sm{padding:.35rem .7rem;font-size:.78rem}.install-banner{background:var(--coral);color:var(--white);font-size:.85rem}.install-banner-inner{align-items:center;gap:.75rem;max-width:960px;margin:0 auto;padding:.6rem 1.25rem;display:flex}.install-banner-icon{border-radius:10px;flex-shrink:0;width:40px;height:40px;display:block}.install-banner-body{flex-direction:column;flex:1;gap:.05rem;display:flex}.install-banner-title{font-weight:700}.install-banner-text{margin:0;line-height:1.35}.install-banner-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.install-banner-cta{background:var(--white);color:var(--coral-dark);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:.35rem .9rem;font-size:.8rem;font-weight:700}.install-banner-cta:hover{background:var(--cream)}.install-banner-close{cursor:pointer;color:var(--white);opacity:.85;background:0 0;border:none;flex-shrink:0;align-items:center;padding:.3rem;display:flex}.install-banner-close:hover{opacity:1}.dev-console{right:1rem;bottom:calc(var(--bottom-nav-height) + 1rem + env(safe-area-inset-bottom,0px));z-index:40;position:fixed}.dev-console-toggle{background:var(--ink);width:44px;height:44px;color:var(--white);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 18px #1a1a1a47}.dev-console-toggle:hover{background:var(--coral-dark)}.dev-console-panel{background:var(--white);border:1px solid var(--line);border-radius:14px;width:280px;max-height:360px;padding:.9rem;position:absolute;bottom:calc(100% + .6rem);right:0;overflow-y:auto;box-shadow:0 12px 28px #1a1a1a33}.dev-console-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dev-console-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:.2rem;display:flex}.dev-console-close:hover{color:var(--coral)}.dev-console-subtitle{margin:.35rem 0 .75rem;font-size:.78rem}.dev-console-select{width:100%}.dev-console-select:disabled{opacity:.6;cursor:not-allowed}.lightbox{z-index:100;background:#000000eb;justify-content:center;align-items:center;padding:3rem 1rem;display:flex;position:fixed;inset:0}.lightbox-image{-o-object-fit:contain;object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.lightbox-close,.lightbox-nav{color:var(--white);cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff4d}.lightbox-close{width:40px;height:40px;position:absolute;top:1rem;right:1rem}.lightbox-nav{width:48px;height:48px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.photo-enlarge-btn{z-index:1;width:24px;height:24px;color:var(--white);cursor:pointer;background:#1a1a1a8c;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.3rem;right:.3rem}.photo-enlarge-btn:hover{background:var(--coral)}.photo-thumb-clickable{cursor:pointer}.feather-icon{vertical-align:-3px;flex-shrink:0}.report-transcript{margin-bottom:.9rem;font-size:.85rem}.report-transcript summary{cursor:pointer;color:var(--muted);font-weight:600}.report-transcript-messages{background:var(--cream);border-radius:10px;flex-direction:column;gap:.4rem;max-height:260px;margin-top:.6rem;padding:.7rem;display:flex;overflow-y:auto}.report-transcript-messages .message{max-width:90%;font-size:.85rem}
