:root{--bg:#070b13;--surface:#101828;--surface-2:#172134;--surface-3:#1d2840;--line:#5e8cf038;--line-soft:#5e8cf01a;--ink:#eef2fb;--ink-soft:#9fb0cd;--ink-faint:#6b7d9c;--primary:#2a60e6;--primary-hover:#3f74f0;--primary-ink:#fff;--primary-soft:#2a60e62e;--primary-grad:linear-gradient(135deg, #2a60e6 0%, #4f8bf7 100%);--primary-grad-hover:linear-gradient(135deg, #3f74f0 0%, #68a2ff 100%);--primary-glow:0 8px 22px #2a60e661;--accent:#56b3f5;--accent-soft:#56b3f529;--blue:#6ea8e0;--blue-soft:#6ea8e029;--purple:#8f9dfa;--purple-soft:#8f9dfa29;--cash:#35c977;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 10px 28px #00000080;--shadow-lg:0 24px 56px #0009;--ring:0 0 0 3px #2a60e65c;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-pill:999px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f5f8fd;--surface:#fff;--surface-2:#eef3fd;--surface-3:#fff;--line:#d3e0f8;--line-soft:#e7eefb;--ink:#0e1626;--ink-soft:#55637d;--ink-faint:#8b9ab5;--primary:#1d4ed8;--primary-hover:#1740b8;--primary-ink:#fff;--primary-soft:#e6edfd;--primary-grad:linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);--primary-grad-hover:linear-gradient(135deg, #1740b8 0%, #2f74ee 100%);--primary-glow:0 8px 22px #1d4ed83d;--accent:#0b74c4;--accent-soft:#e4f1fc;--blue:#2f6fae;--blue-soft:#eaf3fb;--purple:#4f46e5;--purple-soft:#ecebfd;--cash:#12854a;--shadow-sm:0 1px 2px #141c300d, 0 1px 1px #141c300a;--shadow-md:0 8px 24px #141c3014;--shadow-lg:0 20px 48px #141c301f;--ring:0 0 0 3px #1d4ed82e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Plus Jakarta Sans,Inter,system-ui,-apple-system,sans-serif;transition:background .2s,color .2s}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{letter-spacing:-.02em;color:var(--ink);margin:0 0 4px;font-weight:700;line-height:1.2}h1{font-size:1.6rem}h2{margin-top:4px;font-size:1.05rem}p{line-height:1.5}button{cursor:pointer;color:inherit;font-family:inherit}input,textarea,select{font-family:inherit;font-size:.95rem}a{color:inherit}::selection{background:var(--primary-soft);color:var(--primary)}:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm);outline:none}.starfield{z-index:0;pointer-events:none;position:fixed;inset:0}.app-main{z-index:1;flex:1;width:100%;max-width:760px;margin:0 auto;padding:32px 20px 64px;position:relative}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page{animation:.34s ease-out both rise-in}@media (prefers-reduced-motion:reduce){.page{animation:none}}.page>h1{margin-bottom:20px}.theme-toggle{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);padding:3px;line-height:0;transition:border-color .15s;position:fixed;top:14px;right:16px}.theme-toggle:hover{border-color:var(--primary);color:var(--primary)}.theme-toggle-track{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.theme-toggle-thumb{color:var(--ink-soft);justify-content:center;align-items:center;transition:color .18s,transform .3s;display:flex}.theme-toggle:hover .theme-toggle-thumb{color:var(--primary);transform:rotate(18deg)}@media (prefers-reduced-motion:reduce){.theme-toggle:hover .theme-toggle-thumb{transform:none}}.navbar{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:12px;padding:12px 64px 12px 20px;display:flex;position:sticky;top:0}.navbar-brand{letter-spacing:-.01em;color:var(--ink);white-space:nowrap;border-radius:var(--r-pill);flex-shrink:0;align-items:center;gap:9px;font-size:1.02rem;font-weight:700;text-decoration:none;transition:opacity .18s,transform .18s;display:flex}.navbar-brand:hover{opacity:.82;transform:translateY(-1px)}.navbar-brand:active{transform:translateY(0)scale(.98)}.navbar-links{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:2px;min-width:0;margin-left:auto;display:flex;overflow-x:auto}.navbar-links::-webkit-scrollbar{display:none}.navbar-links a,.nav-logout{color:var(--ink-soft);border-radius:var(--r-pill);white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .16s,box-shadow .2s;display:inline-flex;position:relative}.navbar-links a:after,.nav-logout:after{content:"";background:var(--primary);opacity:0;border-radius:2px;height:2px;transition:left .22s,right .22s,opacity .22s;position:absolute;bottom:2px;left:50%;right:50%}.navbar-links a:hover,.nav-logout:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px)}.navbar-links a:hover:after,.nav-logout:hover:after{opacity:.75;left:14px;right:14px}.navbar-links a:active,.nav-logout:active{transform:translateY(0)scale(.96)}.navbar-links a.active{background:var(--primary-soft);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 40%, transparent)}.navbar-links a.active:after{opacity:1;left:14px;right:14px}.nav-logout:hover{color:var(--primary)}@media (prefers-reduced-motion:reduce){.navbar-links a,.nav-logout,.navbar-links a:hover,.nav-logout:hover,.navbar-links a:active,.nav-logout:active,.navbar-brand,.navbar-brand:hover{transition:none;transform:none}.navbar-links a:after,.nav-logout:after{transition:none}}.nav-badge{border-radius:var(--r-pill);background:var(--primary);min-width:18px;height:18px;color:var(--primary-ink);justify-content:center;align-items:center;padding:0 5px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.btn-link{color:var(--ink-soft);border-radius:var(--r-pill);white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn-link:hover{background:var(--surface-2);color:var(--ink)}.auth-page{justify-content:center;align-items:center;min-height:82vh;padding:20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;width:100%;max-width:380px;padding:36px 32px;display:flex}.auth-card h1{text-align:center;margin:0;font-size:1.4rem}.subtitle{text-align:center;color:var(--ink-soft);margin:-8px 0 4px;font-size:.9rem}.switch-link{text-align:center;color:var(--ink-soft);margin:4px 0 0;font-size:.86rem}.switch-link a{color:var(--primary);font-weight:700;text-decoration:none}.switch-link a:hover{text-decoration:underline}.google-auth{flex-direction:column;align-items:center;gap:16px;display:flex}.google-auth-button{background:0 0;justify-content:center;width:100%;min-height:40px;display:flex}:is(.google-auth-button div:has([role=button]),.google-auth-button iframe){background-color:#0000!important}.google-auth-divider{width:100%;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:12px;font-size:.78rem;display:flex}.google-auth-divider:before,.google-auth-divider:after{content:"";background:var(--line);flex:1;height:1px}label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;display:flex}input,textarea,select{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-3);color:var(--ink);padding:10px 13px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:var(--ring);outline:none}.btn-primary,.btn-secondary{isolation:isolate;border-radius:var(--r-pill);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:.92rem;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .12s,box-shadow .18s,filter .18s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:after,.btn-secondary:after{content:"";opacity:0;pointer-events:none;z-index:1;background:linear-gradient(100deg,#0000 0%,#ffffff80 50%,#0000 100%);width:45%;position:absolute;top:-20%;bottom:-20%;left:-70%;transform:skew(-18deg)}.btn-primary.btn-shine:after,.btn-secondary.btn-shine:after{animation:.62s cubic-bezier(.22,.61,.36,1) btn-shine}@keyframes btn-shine{0%{opacity:0;left:-70%}10%{opacity:1}90%{opacity:1}to{opacity:0;left:125%}}.btn-primary{background:var(--primary-grad);color:var(--primary-ink);box-shadow:var(--primary-glow)}.btn-primary:hover:not(:disabled){background:var(--primary-grad-hover);transform:translateY(-1px);box-shadow:0 12px 26px #2a60e673}.btn-primary:active:not(:disabled){transform:translateY(0)scale(.97);box-shadow:0 4px 12px #2a60e659}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--surface-2);color:var(--ink);border-color:color-mix(in srgb, var(--primary) 45%, transparent)}.btn-secondary:hover{background:var(--primary-soft);border-color:var(--primary);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)scale(.97)}@media (prefers-reduced-motion:reduce){.btn-primary,.btn-secondary,.btn-primary:hover:not(:disabled),.btn-secondary:hover,.btn-primary:active:not(:disabled),.btn-secondary:active{transition:none;transform:none}.btn-primary:after,.btn-secondary:after{display:none}}.error-banner,.success-banner{border-radius:var(--r-sm);border:1px solid #0000;padding:10px 14px;font-size:.86rem;font-weight:500}.error-banner{background:var(--primary-soft);color:var(--primary)}.success-banner{color:#4cb87a;background:#42b06c24}:root[data-theme=light] .success-banner{color:#206c37;background:#eef8f0}.loading-screen,.empty-state{text-align:center;color:var(--ink-soft);padding:72px 20px}.empty-state{flex-direction:column;align-items:center;gap:16px;display:flex}.empty-state-icon{color:var(--ink-faint)}.profile-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:20px;padding:26px;display:flex}.listings-page .profile-form h2{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:14px}.profile-preview{border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(135deg, var(--primary-soft), transparent 70%), var(--surface);align-items:center;gap:16px;margin-bottom:18px;padding:18px 20px;display:flex}.profile-preview-avatar{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;width:62px;height:62px;display:flex}.profile-preview-text{flex-direction:column;gap:3px;min-width:0;display:flex}.profile-preview-text strong{letter-spacing:-.01em;font-size:1.12rem}.profile-preview-role{color:var(--primary);font-size:.85rem;font-weight:600}.profile-preview-place{color:var(--ink-soft);align-items:center;gap:5px;font-size:.82rem;display:inline-flex}.form-section{flex-direction:column;gap:12px;display:flex}.form-section+.form-section{border-top:1px solid var(--line-soft);padding-top:20px}.form-section-title{margin:0;font-size:1rem}.form-section .hint{margin:-6px 0 2px}.avatar-picker{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.avatar-option{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:12px 6px;transition:border-color .18s,background .18s,transform .14s,box-shadow .18s;display:flex}.avatar-option span{color:var(--ink-soft);text-align:center;font-size:.72rem;font-weight:600;line-height:1.25}.avatar-option:hover{border-color:var(--primary);transform:translateY(-2px)}.avatar-option.selected{background:var(--primary-soft);border-color:var(--primary);box-shadow:var(--ring)}.avatar-option.selected span{color:var(--ink)}@media (prefers-reduced-motion:reduce){.avatar-option,.avatar-option:hover{transition:none;transform:none}}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .span-2{grid-column:span 2}.card-picker{flex-direction:column;gap:10px;display:flex}.card-picker-selected{background:var(--bg);border:1px dashed var(--line);border-radius:var(--r-md);flex-wrap:wrap;gap:10px;min-height:80px;padding:10px;display:flex}.mini-card{flex-direction:column;gap:4px;width:62px;display:flex;position:relative}.mini-card-condition{border-radius:6px;width:100%;padding:3px 4px;font-size:.6rem}.mini-card img{aspect-ratio:5/7;object-fit:cover;border-radius:8px;width:100%;display:block}.mini-card button{background:var(--ink);color:var(--bg);border:2px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;line-height:1;display:flex;position:absolute;top:-7px;right:-7px}.mini-card button:hover{background:var(--primary);color:var(--primary-ink)}.hint{color:var(--ink-soft);margin:0;font-size:.8rem}.mini-card-placeholder{aspect-ratio:5/7;background:var(--surface-2);border:1px dashed var(--line);width:100%;color:var(--ink-soft);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:4px;font-size:.62rem;font-weight:600;line-height:1.25;display:flex}.card-add-form{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);flex-direction:column;gap:8px;padding:12px;display:flex}.card-add-error{color:var(--primary);margin:0;font-size:.8rem}.card-add-row{align-items:center;gap:10px;display:flex}.card-add-upload{background:var(--surface-3);border:1.5px dashed var(--line);border-radius:var(--r-sm);color:var(--ink-soft);padding:10px 14px;font-size:.85rem;font-weight:600}.card-add-upload:hover{border-color:var(--ink-faint);color:var(--ink)}.card-add-preview{width:56px}.card-add-preview img{aspect-ratio:5/7;object-fit:cover;border:1px solid var(--line);border-radius:8px;width:100%;display:block}.swipe-deck{flex-direction:column;align-items:center;gap:22px;display:flex}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:480px;padding:28px}.profile-card-header{align-items:center;gap:14px;margin-bottom:4px;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--primary-soft), var(--accent-soft));border-radius:50%;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;font-size:1.4rem;display:flex}.profile-card-header h2{margin:0;font-size:1.2rem}.location{color:var(--ink-soft);align-items:center;gap:4px;margin:2px 0 0;font-size:.84rem;display:inline-flex}.tag{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);border-radius:var(--r-pill);margin:10px 6px 0 0;padding:5px 12px;font-size:.76rem;font-weight:600;display:inline-block}.bio{color:var(--ink);margin:16px 0;line-height:1.5}.favorite-cards{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.favorite-cards img{aspect-ratio:5/7;object-fit:cover;border:1px solid var(--line);border-radius:10px;width:80px}.card-thumb-wrap{border:1px solid var(--line);border-radius:10px;flex-shrink:0;position:relative;overflow:hidden}.card-thumb-wrap img{aspect-ratio:5/7;object-fit:cover;width:100%;height:100%;display:block}.card-thumb-placeholder{aspect-ratio:5/7;background:var(--surface-2);text-align:center;justify-content:center;align-items:center;width:100%;padding:6px;display:flex}.card-thumb-placeholder span{color:var(--ink-soft);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:.68rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.card-thumb-lg{width:132px}.card-thumb-md{width:84px}.card-thumb-sm{width:62px}.badge{letter-spacing:.02em;box-shadow:var(--shadow-sm);border-radius:5px;padding:3px 5px;font-size:.6rem;font-weight:800;line-height:1;position:absolute}.badge-condition{background:var(--surface);color:var(--ink);border:1px solid var(--line);top:4px;left:4px}.badge-department{background:var(--primary);color:var(--primary-ink);bottom:4px;right:4px}.swipe-actions{gap:14px;display:flex}.btn-pass,.btn-like{border-radius:var(--r-pill);border:1px solid #0000;align-items:center;gap:7px;padding:13px 26px;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform 80ms;display:inline-flex}.btn-pass{color:var(--ink-soft);border-color:var(--line);background:0 0}.btn-pass:hover{border-color:var(--ink-faint);color:var(--ink)}.btn-like{background:var(--primary);color:var(--primary-ink)}.btn-like:hover{background:var(--primary-hover)}.btn-pass:active,.btn-like:active{transform:scale(.97)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:center;max-width:400px;box-shadow:var(--shadow-lg);padding:34px 30px}.modal-card h2{justify-content:center;align-items:center;gap:8px;font-size:1.3rem;display:flex}.modal-card p{color:var(--ink-soft)}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.match-list{flex-direction:column;gap:8px;display:flex}.match-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.match-row:hover{border-color:var(--ink-faint);background:var(--surface-2)}.match-row .profile-avatar{width:42px;min-width:42px;height:42px;font-size:1.1rem}.match-row-info{min-width:0}.match-row-info strong{font-weight:700;display:block}.match-row-info p{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:.85rem;overflow:hidden}.match-row.unread{border-color:var(--primary)}.match-row.unread .match-row-info strong{color:var(--ink)}.match-row.unread .match-row-info p{color:var(--ink);font-weight:600}.match-row-badge{flex-shrink:0;margin-left:auto}.chat-page{flex-direction:column;height:calc(100vh - 150px);display:flex}.chat-header{border-bottom:1px solid var(--line);align-items:center;gap:14px;margin-bottom:4px;padding-bottom:14px;display:flex}.chat-header h1{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.chat-listing-tag{color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px;font-size:.68rem;font-weight:600}.chat-header .btn-link{padding:7px 10px 7px 4px}.chat-messages{flex-direction:column;flex:1;gap:8px;padding:16px 4px;display:flex;overflow-y:auto}.chat-bubble{border-radius:18px;max-width:75%;padding:10px 15px;font-size:.92rem;line-height:1.4}.chat-bubble.mine{background:var(--primary);color:var(--primary-ink);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.theirs{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.chat-input-row{gap:10px;padding-top:14px;display:flex}.chat-input-row input{border-radius:var(--r-pill);flex:1;padding:11px 18px}.chat-input-row button{border-radius:var(--r-pill)}@media (width<=520px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.tabs{background:var(--surface-2);border-radius:var(--r-pill);scrollbar-width:none;-ms-overflow-style:none;gap:4px;width:fit-content;max-width:100%;margin-bottom:22px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{border-radius:var(--r-pill);color:var(--ink-soft);white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:8px 16px;font-size:.84rem;font-weight:600;transition:background .15s,color .15s}.tabs button:hover{color:var(--ink)}.tabs button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.listing-list{flex-direction:column;gap:14px;display:flex}.avatar-photo{object-fit:cover;background:var(--surface-2);border-radius:50%;flex:none;display:block}.avatar-upload{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.avatar-upload-preview{border:1px solid var(--line);background:var(--surface-2);width:84px;height:84px;color:var(--text-dim);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.avatar-upload-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.avatar-upload-actions .btn-link{align-items:center;gap:5px;display:inline-flex}.info-page{max-width:720px}.info-page-mark{margin-bottom:18px;display:block}.info-lead{color:var(--text-dim);margin-bottom:30px;font-size:1.06rem;line-height:1.65}.info-section{margin-bottom:30px}.info-section h2{margin-bottom:8px;font-size:1.1rem}.info-section p{margin-bottom:10px;line-height:1.65}.info-list{margin:10px 0;padding-left:20px;line-height:1.85}.info-list .badge-condition{margin-right:6px;position:static}.info-page-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin-top:34px;padding-top:26px;display:flex}.faq{flex-direction:column;gap:10px;margin-bottom:34px;display:flex}.faq-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--text-dim);flex:none;font-size:1.25rem;font-weight:400;transition:transform .18s}.faq-item[open] summary:after{content:"−"}.faq-item summary:hover{background:var(--surface-2)}.faq-answer{padding:0 18px 16px;line-height:1.65}.faq-answer p{margin-bottom:10px}.faq-answer p:last-child{margin-bottom:0}.site-footer-links{gap:18px;display:flex}.site-footer-links a,.landing-final-links a{color:var(--text-dim);text-decoration:none}.site-footer-links a:hover,.landing-final-links a:hover{color:var(--text);text-decoration:underline}.landing-final-links{justify-content:center;gap:20px;margin-top:20px;font-size:.92rem;display:flex}.form-steps{gap:10px;margin:0 0 22px;padding:0;list-style:none;display:flex}.form-steps li{border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);border-radius:10px;flex:1;align-items:center;gap:9px;padding:10px 14px;font-size:.92rem;font-weight:500;display:flex}.form-steps li.current{border-color:var(--accent);color:var(--text)}.form-step-number{background:var(--line);width:24px;height:24px;color:var(--text-dim);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.form-steps li.current .form-step-number{background:var(--accent);color:#fff}.form-steps li.done .form-step-number{background:var(--accent-soft,var(--line));color:var(--text)}.form-recap{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin-bottom:18px;padding:12px 16px}.form-recap-title{margin:0 0 4px;font-weight:600}.form-recap .hint{margin:0}@media (width<=560px){.form-steps{flex-direction:column;gap:8px}}.card-thumb-zoomable{font:inherit;cursor:zoom-in;background:0 0;border:none;padding:0;transition:transform .15s}.card-thumb-zoomable:hover,.card-thumb-zoomable:focus-visible{transform:scale(1.04)}.card-zoom-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04070fdb;justify-content:center;align-items:center;padding:24px;animation:.16s card-zoom-in;display:flex;position:fixed;inset:0}@keyframes card-zoom-in{0%{opacity:0}}.card-zoom{flex-direction:column;align-items:center;gap:12px;max-width:min(92vw,640px);margin:0;display:flex}.card-zoom img{border-radius:12px;width:auto;max-width:100%;max-height:calc(100vh - 140px);box-shadow:0 24px 60px #0000008c}.card-zoom figcaption{color:#f2f5fb;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.card-zoom-name{font-weight:600}.card-zoom-condition{background:#ffffff24;border-radius:999px;padding:3px 10px;font-size:.82rem}.card-zoom-close{cursor:pointer;color:#f2f5fb;background:#ffffff24;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:absolute;top:18px;right:18px}.card-zoom-close:hover{background:#ffffff3d}@media (prefers-reduced-motion:reduce){.card-zoom-backdrop{animation:none}.card-thumb-zoomable:hover,.card-thumb-zoomable:focus-visible{transform:none}}.listing-more{align-self:center;min-width:220px;margin:6px 0 4px}.listing-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;transition:transform .18s,border-color .18s,box-shadow .18s}.listing-card:hover{border-color:var(--ink-faint);box-shadow:var(--shadow-md);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.listing-card,.listing-card:hover{transition:none;transform:none}}.listing-card h3{margin:10px 0 4px;font-size:1.02rem}.listing-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.listing-author{color:var(--ink-soft);align-items:center;gap:5px;font-size:.8rem;font-weight:500;display:inline-flex}.tag.type-echange{background:var(--blue-soft);color:var(--blue);border-color:#0000}.tag.type-vente{background:var(--accent-soft);color:var(--accent);border-color:#0000}.tag.type-recherche{background:var(--purple-soft);color:var(--purple);border-color:#0000}.listing-cards-split{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}@media (width<=560px){.listing-cards-split{grid-template-columns:1fr}}.listing-cards-block{background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r-md);padding:12px}.listing-cards-title{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);margin:0 0 10px;font-size:.78rem;font-weight:600}.listing-cards-offered .listing-cards-title{color:var(--accent)}.listing-cards-wanted .listing-cards-title{color:var(--purple)}.listing-cards-block .favorite-cards{margin-top:0}.listing-card.is-done{opacity:.72;border-style:dashed}.listing-card.is-done:hover{opacity:1}.listing-done-badge{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--cash) 45%, transparent);color:var(--cash);align-self:flex-start;align-items:center;margin-top:8px;padding:4px 12px;font-size:.76rem;font-weight:700;display:inline-flex}.listing-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:16px;display:flex}.site-wordmark{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;height:auto;display:block}.navbar-wordmark{flex-shrink:0}.landing-hero-wordmark{filter:drop-shadow(0 8px 22px #2a60e64d);margin:8px auto 2px}.auth-title{justify-content:center;margin:0;display:flex}.auth-wordmark{margin:0 auto}.footer-wordmark{opacity:.85}.social-links{align-items:center;gap:8px;display:inline-flex}.social-link{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);width:36px;height:36px;color:var(--ink-soft);justify-content:center;align-items:center;text-decoration:none;transition:color .18s,background .18s,border-color .18s,transform .16s,box-shadow .18s;display:inline-flex}.social-link:hover{color:#fff;transform:translateY(-2px)}.social-discord:hover{background:#5865f2;border-color:#5865f2;box-shadow:0 8px 18px #5865f266}.social-instagram:hover{background:linear-gradient(45deg,#f09433,#dc2743 45%,#bc1888);border-color:#dc2743;box-shadow:0 8px 18px #dc274361}.social-link:active{transform:translateY(0)scale(.94)}.site-footer{z-index:1;border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:26px 20px 34px;display:flex;position:relative}.site-footer-text{color:var(--ink-soft);font-size:.82rem;font-weight:600}@media (width<=560px){.landing-nav-social{display:none}}@media (prefers-reduced-motion:reduce){.social-link,.social-link:hover,.social-link:active{transition:none;transform:none}}.cash-input{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--cash) 40%, transparent);background:0 0;flex-flow:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px 16px;transition:border-color .18s;display:flex}.cash-input:focus-within{border-color:var(--cash)}.cash-input-label{color:var(--cash);align-items:center;gap:9px;font-size:.84rem;font-weight:700;display:inline-flex}.cash-input-field{align-items:center;gap:6px;display:inline-flex}.cash-input-field input{text-align:right;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);width:92px;color:var(--ink);padding:8px 12px;font-weight:700}.cash-input-field input:focus{border-color:var(--cash);box-shadow:0 0 0 3px color-mix(in srgb, var(--cash) 22%, transparent);outline:none}.cash-input-currency{color:var(--cash);font-weight:700}.cash-badge{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--cash) 55%, transparent);color:var(--cash);background:0 0;align-items:center;gap:7px;margin-top:10px;padding:6px 13px;font-size:.82rem;font-weight:700;display:inline-flex}.live-count{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);white-space:nowrap;align-items:center;gap:7px;padding:5px 12px 5px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.live-count strong{color:var(--ink);font-weight:800}.live-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-out infinite live-dot-pulse;position:relative;box-shadow:0 0 #22c55e99}.live-dot:after{content:"";border:1px solid #22c55eb3;border-radius:50%;animation:2s ease-out infinite live-dot-ring;position:absolute;inset:0}@keyframes live-dot-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 7px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes live-dot-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion:reduce){.live-dot,.live-dot:after{animation:none}}.page-ticker-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.page-ticker-head .page-ticker-label{margin:0}.landing-live-count{justify-content:center;margin:-6px 0 16px;display:flex}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.form-actions .btn-primary{flex:1;min-width:220px}.listing-search{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.listing-search-field{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);align-items:center;gap:10px;padding:0 14px;transition:border-color .18s;display:flex}.listing-search-field:focus-within{border-color:var(--primary);color:var(--primary)}.listing-search-field input{min-width:0;color:var(--ink);background:0 0;border:none;flex:1;padding:11px 0;font-weight:600}.listing-search-field input:focus{outline:none}.listing-search-field input::-webkit-search-cancel-button{display:none}.listing-search-clear{background:var(--surface-3);width:22px;height:22px;color:var(--ink-soft);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,color .18s;display:inline-flex}.listing-search-clear:hover{background:var(--primary-soft);color:var(--primary)}.listing-search-types{flex-wrap:wrap;gap:8px;display:flex}.listing-search-type{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);padding:6px 14px;font-size:.8rem;font-weight:700;transition:background .18s,border-color .18s,color .18s}.listing-search-type:hover{border-color:var(--primary);color:var(--ink)}.listing-search-type.selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.nearby-filter{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:12px;padding:14px 16px;transition:border-color .2s,background .2s;display:flex}.nearby-filter.is-active{border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:linear-gradient(135deg, var(--primary-soft), transparent 70%), var(--surface)}.nearby-filter-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.nearby-toggle{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--primary) 45%, transparent);background:var(--surface-2);color:var(--ink);align-items:center;gap:7px;padding:9px 16px;font-size:.86rem;font-weight:700;transition:background .18s,border-color .18s,transform .14s,box-shadow .18s;display:inline-flex}.nearby-toggle:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.nearby-toggle:active:not(:disabled){transform:translateY(0)scale(.97)}.nearby-toggle.active{background:var(--primary-grad);color:var(--primary-ink);box-shadow:var(--primary-glow);border-color:#0000}.nearby-toggle:disabled{opacity:.65;cursor:progress}.nearby-origin{color:var(--ink-soft);font-size:.78rem}.nearby-radii{flex-wrap:wrap;gap:8px;display:flex}.nearby-radius{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);padding:7px 14px;font-size:.82rem;font-weight:700;transition:background .18s,border-color .18s,color .18s,transform .14s}.nearby-radius:hover{border-color:var(--primary);color:var(--ink);transform:translateY(-1px)}.nearby-radius.selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.nearby-radius:active{transform:translateY(0)scale(.95)}.nearby-error{color:var(--primary);margin:0;font-size:.82rem}.listing-distance{border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);align-items:center;gap:5px;margin-top:8px;padding:3px 10px;font-size:.76rem;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){.nearby-toggle,.nearby-radius,.nearby-toggle:hover:not(:disabled),.nearby-radius:hover,.nearby-toggle:active:not(:disabled),.nearby-radius:active{transition:none;transform:none}}.ticker{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.ticker-track{gap:20px;width:max-content;padding:0 20px;animation:46s linear infinite ticker-scroll;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{flex-shrink:0;display:block}@keyframes ticker-scroll{0%{transform:translate(-50%)}to{transform:translate(0%)}}.page-ticker-section{margin:20px 0 28px}.page-ticker-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin:0 0 10px;font-size:.72rem;font-weight:700}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;overflow-x:auto}}.landing{z-index:1;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative}.landing-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(76px,5vw,96px) 16px clamp(20px,5vw,64px);display:flex}.landing-nav-actions{gap:10px;display:flex}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:640px;margin:0 auto;padding:clamp(56px,10vw,96px) 24px 48px;display:flex}.landing-hero h1{text-wrap:balance;margin:0;font-size:clamp(1.7rem,4vw,2.3rem)}.landing-hero-sub{color:var(--ink-soft);max-width:480px;margin:0;font-size:1rem;line-height:1.6}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.landing-cta{padding:13px 24px;font-size:.95rem}.landing-section-label{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 18px;font-size:.78rem;font-weight:800}.landing-ticker-section{padding:32px 0 8px}.landing-steps{max-width:1080px;margin:0 auto;padding:56px 24px}.landing-steps-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.landing-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}.landing-step-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.landing-step-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;display:flex}.landing-step-n{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:.85rem;font-weight:800}.landing-step h3{margin:0 0 6px;font-size:1rem}.landing-step p{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.55}.landing-final-cta{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 24px 80px;display:flex}.landing-final-cta h2{margin:0;font-size:1.4rem}@media (width<=560px){.landing-nav-actions .btn-secondary{display:none}}.toast-stack{z-index:30;flex-direction:column;gap:10px;width:min(320px,100vw - 32px);display:flex;position:fixed;top:62px;right:16px}.toast{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);align-items:stretch;animation:.2s toast-in;display:flex;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-body{text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.toast-avatar{width:34px;min-width:34px;height:34px;font-size:1rem}.toast-text{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-text strong{font-size:.85rem}.toast-text span:last-child{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.toast-close{border:none;border-left:1px solid var(--line);color:var(--ink-faint);background:0 0;justify-content:center;align-items:center;padding:0 12px;display:flex}.toast-close:hover{color:var(--ink);background:var(--surface-2)}@media (prefers-reduced-motion:reduce){.toast{animation:none}}
