:root{color:var(--text-primary);background:var(--bg-primary);--brand-orange:#ff7518;--brand-mint:#90ee90;--bg-primary:#fafaf7;--bg-secondary:#f2f2ed;--bg-surface:#fff;--text-primary:#1a1a18;--text-secondary:#5c5c56;--text-muted:#8a8a82;--border-default:#e0e0d8;--border-subtle:#eeeeea;--orange:#ff7518;--orange-hover:#e8680f;--orange-light:#fff0e0;--orange-subtle:#fff8f0;--mint:#90ee90;--mint-dark:#5cbd5c;--mint-light:#e0f8e0;--mint-subtle:#f0fbf0;--error:#dc3545;--warning:#f0ad4e;--mock-label-text:var(--text-primary);--map-bg:#f2f2ed;--map-grid-line:#1a1a1814;--map-road:#5c5c561f;--map-road-strong:color-mix(in srgb, var(--text-secondary) 28%, transparent);--map-water:#90ee9029;--map-park:#5cbd5c1f;--map-district-text:color-mix(in srgb, var(--text-secondary) 48%, transparent);--glass-panel-bg:color-mix(in srgb, var(--bg-surface) 84%, transparent);--glass-panel-border:color-mix(in srgb, var(--border-default) 72%, transparent);--glass-panel-shadow:0 18px 48px #1a1a1824;--glass-control-bg:color-mix(in srgb, var(--bg-surface) 82%, transparent);--glass-control-border:color-mix(in srgb, var(--border-default) 74%, transparent);--glass-muted-bg:color-mix(in srgb, var(--bg-secondary) 74%, transparent);--nav-panel-bg:color-mix(in srgb, var(--bg-surface) 86%, transparent);--nav-panel-border:color-mix(in srgb, var(--border-default) 82%, transparent);--nav-text-primary:var(--text-primary);--nav-text-secondary:var(--text-secondary);--nav-control-bg:color-mix(in srgb, var(--bg-secondary) 72%, transparent);--nav-control-bg-active:color-mix(in srgb, var(--bg-primary) 58%, var(--orange-light));--nav-control-border:color-mix(in srgb, var(--border-default) 84%, transparent);--nav-control-border-active:color-mix(in srgb, var(--orange) 56%, var(--border-default));--nav-handle-bg:var(--bg-surface);--nav-handle-bg-hover:color-mix(in srgb, var(--bg-surface) 96%, var(--text-primary) 4%);--nav-handle-text:var(--nav-text-primary);--nav-logo-filter:none;--chat-phone-frame:#f8f8f4;--chat-phone-border:#d4d4cb;--chat-phone-screen:#fafaf7;--space-2xs:4px;--space-xs:8px;--space-sm:10px;--space-md:12px;--space-lg:14px;--space-xl:18px;--space-2xl:24px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 32px #0000001f;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--easing-default:cubic-bezier(.16, 1, .3, 1);--size-xs:12px;--size-sm:13px;--size-md:15px;--size-lg:16px;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--bg-primary:#121210;--bg-secondary:#1e1e1a;--bg-surface:#2a2a24;--text-primary:#ededeb;--text-secondary:#a0a098;--text-muted:#6a6a62;--border-default:#3a3a32;--border-subtle:#2e2e28;--orange:#ff8530;--orange-hover:#ff9548;--orange-light:#3d2a10;--orange-subtle:#2a1e10;--mint:#a0f0a0;--mint-dark:#70d070;--mint-light:#1a2e1a;--mint-subtle:#142014;--error:#ff6b6b;--warning:#ffb84d;--mock-label-text:var(--bg-primary);--map-bg:#151515;--map-grid-line:#ffffff1a;--map-road:color-mix(in srgb, var(--text-primary) 12%, transparent);--map-road-strong:color-mix(in srgb, var(--text-primary) 22%, transparent);--map-water:color-mix(in srgb, var(--mint-dark) 14%, var(--bg-primary));--map-park:color-mix(in srgb, var(--mint-dark) 12%, transparent);--map-district-text:color-mix(in srgb, var(--text-secondary) 64%, transparent);--glass-panel-bg:color-mix(in srgb, var(--bg-secondary) 82%, transparent);--glass-panel-border:#ffffff1f;--glass-panel-shadow:0 18px 48px #00000073;--glass-control-bg:#121212b8;--glass-control-border:#ffffff1a;--glass-muted-bg:#ffffff0f;--nav-panel-bg:color-mix(in srgb, var(--bg-secondary) 78%, transparent);--nav-panel-border:color-mix(in srgb, var(--border-default) 78%, transparent);--nav-text-primary:var(--text-primary);--nav-text-secondary:var(--text-secondary);--nav-control-bg:color-mix(in srgb, var(--bg-surface) 62%, transparent);--nav-control-bg-active:color-mix(in srgb, var(--orange-light) 82%, var(--bg-surface));--nav-control-border:color-mix(in srgb, var(--border-default) 84%, transparent);--nav-control-border-active:color-mix(in srgb, var(--orange) 58%, var(--border-default));--nav-handle-bg:var(--bg-secondary);--nav-handle-bg-hover:color-mix(in srgb, var(--bg-secondary) 92%, var(--text-primary) 8%);--nav-handle-text:var(--nav-text-primary);--nav-logo-filter:invert(1);--chat-phone-frame:#09090b;--chat-phone-border:#1a1a1e;--chat-phone-screen:#0e0e11;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000057;--shadow-lg:0 12px 32px #0000006b}*{box-sizing:border-box}html{min-height:100%}body{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-primary) 96%, transparent), color-mix(in srgb, var(--bg-surface) 90%, transparent)), var(--bg-primary);min-height:100%;color:var(--text-primary);transition:background var(--duration-normal) var(--easing-default), color var(--duration-normal) var(--easing-default);margin:0}:is(body:has(.hero-full-map),html:has(.hero-full-map)){background:#080808!important}body:has(.login-dialog-root){overflow:hidden}:is(body:has(.publish-treat-modal-root),body:has(.usage-instructions-modal-root)){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-footer{justify-content:space-between;align-items:center;width:min(1120px,100% - 32px);margin:0 auto;display:flex}.site-footer div{color:var(--text-secondary);align-items:center;gap:18px;font-size:14px;font-weight:650;display:flex}.site-footer a:hover{color:var(--text-primary)}.site-footer{min-height:90px;color:var(--text-secondary);font-size:14px}.page-shell{width:min(1120px,100% - 32px);margin:0 auto}.hero{grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:48px;min-height:calc(100svh - 152px);padding:42px 0 64px;display:grid}.hero-copy{gap:22px;display:grid}.eyebrow{color:var(--mint-dark);letter-spacing:0;text-transform:uppercase;font-size:13px;font-weight:850}.hero h1,.content-page h1{max-width:820px;color:var(--text-primary);letter-spacing:0;margin:0;font-size:72px;font-weight:860;line-height:.98}.hero p,.content-page p{max-width:660px;color:var(--text-secondary);margin:0;font-size:18px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button-primary,.button-secondary{border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-size:15px;font-weight:780;display:inline-flex}.button-primary{background:var(--text-primary);color:var(--bg-surface)}.button-secondary{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary)}.phone-visual{place-items:center;min-height:620px;display:grid;position:relative}.phone-frame{aspect-ratio:9/19;border:10px solid var(--text-primary);background:var(--bg-primary);width:min(100%,330px);box-shadow:var(--shadow-lg);border-radius:36px;overflow:hidden}.phone-screen{align-content:start;gap:14px;height:100%;padding:26px 18px;display:grid}.phone-topbar{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;font-weight:800;display:flex}.phone-pill{background:var(--text-primary);border-radius:999px;width:72px;height:7px}.preview-panel{border:1px solid var(--border-default);background:var(--bg-surface);border-radius:8px;gap:10px;padding:14px;display:grid}.preview-title{color:var(--text-primary);font-size:15px;font-weight:820}.preview-line{background:var(--border-subtle);border-radius:999px;height:9px}.preview-line.short{background:var(--orange-light);width:64%}.preview-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.preview-tile{aspect-ratio:1;border:1px solid var(--border-default);background:linear-gradient(135deg, #2d6a3d29, #2979b72e), var(--bg-surface);border-radius:8px}.section-band{border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.section-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(1120px,100% - 32px);margin:0 auto;padding:44px 0;display:grid}.feature-card{border:1px solid var(--border-default);border-radius:8px;padding:18px}.feature-card h2{color:var(--text-primary);letter-spacing:0;margin:0 0 8px;font-size:17px}.feature-card p{color:var(--text-secondary);margin:0;line-height:1.55}.content-page{gap:22px;min-height:calc(100svh - 162px);padding:70px 0;display:grid}.content-page h1{font-size:58px}.legal-list{max-width:720px;color:var(--text-secondary);gap:12px;font-size:16px;line-height:1.6;display:grid}.support-form{gap:14px;max-width:560px;display:grid}.support-form label{color:var(--text-primary);gap:8px;font-size:14px;font-weight:760;display:grid}.support-form input,.support-form textarea{border:1px solid var(--border-default);background:var(--bg-surface);width:100%;color:var(--text-primary);border-radius:8px;padding:12px 14px}.support-form .button-primary{cursor:pointer;border:0}.contact-page,.admin-contact-page{align-content:start}.contact-copy{gap:var(--space-xl);display:grid}.contact-panel{gap:var(--space-lg);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:min(100%,640px);padding:var(--space-2xl);box-shadow:var(--shadow-sm);display:grid}.contact-panel h2{color:var(--text-primary);letter-spacing:0;margin:0;font-size:20px}.contact-panel p{font-size:15px}.contact-panel-centered{justify-items:start}.contact-form{gap:var(--space-xl);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:min(100%,640px);padding:var(--space-2xl);box-shadow:var(--shadow-sm);display:grid}.contact-input-group{gap:var(--space-xs);color:var(--text-primary);font-size:var(--size-sm);font-weight:760;display:grid}.contact-input-group input,.contact-input-group textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary);transition:border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default);padding:12px 14px}.contact-input-group textarea{resize:vertical}.contact-input-group input:focus,.contact-input-group textarea:focus{border-color:var(--brand-orange);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-orange) 18%, transparent);outline:0}.contact-input-group input:disabled,.contact-input-group textarea:disabled{cursor:not-allowed;opacity:.62}.contact-alert{gap:var(--space-2xs);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:var(--size-sm);line-height:1.45;display:grid}.contact-alert strong{color:inherit}.contact-alert-success{border:1px solid color-mix(in srgb, var(--mint) 36%, transparent);background:var(--mint-subtle);color:var(--mint-dark)}.contact-alert-error{border:1px solid color-mix(in srgb, var(--error) 32%, transparent);background:color-mix(in srgb, var(--error) 10%, var(--bg-surface));color:var(--error)}.contact-submit{cursor:pointer;border:0;width:fit-content}.button-primary:disabled,.button-secondary:disabled,.contact-submit:disabled{cursor:not-allowed;opacity:.62}.admin-contact-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2xl);display:flex}.admin-contact-header>div{gap:var(--space-xl);display:grid}.admin-contact-header .button-secondary{border:1px solid var(--border-default);cursor:pointer;flex:none}.admin-contact-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.admin-contact-table{border-collapse:collapse;width:100%;min-width:980px;color:var(--text-secondary);font-size:var(--size-sm)}.admin-contact-table th,.admin-contact-table td{border-bottom:1px solid var(--border-subtle);padding:var(--space-lg) var(--space-xl);text-align:left;vertical-align:top}.admin-contact-table th{background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--size-xs);text-transform:uppercase;font-weight:820}.admin-contact-table tbody tr:last-child td{border-bottom:0}.admin-contact-table td:nth-child(2),.admin-contact-table td:nth-child(3){gap:var(--space-2xs);display:grid}.admin-contact-table td:nth-child(3){max-width:420px}.admin-contact-table strong{color:var(--text-primary);font-weight:820}.admin-contact-table span,.admin-contact-table small{color:var(--text-secondary);line-height:1.45}.admin-contact-table p{max-width:100%;color:var(--text-secondary);font-size:var(--size-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.contact-status-badge{border:1px solid var(--border-default);border-radius:var(--radius-pill);min-height:28px;padding:0 var(--space-md);font-size:var(--size-xs);white-space:nowrap;align-items:center;font-weight:820;display:inline-flex}.contact-status-new{border-color:color-mix(in srgb, var(--brand-orange) 38%, var(--border-default));background:var(--orange-subtle);color:var(--brand-orange)}.contact-status-in_progress{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 12%, var(--bg-surface));color:var(--warning)}.contact-status-resolved{border-color:color-mix(in srgb, var(--mint) 42%, var(--border-default));background:var(--mint-subtle);color:var(--mint-dark)}.contact-status-spam{border-color:var(--border-default);background:var(--bg-secondary);color:var(--text-muted)}.admin-contact-actions{gap:var(--space-xs);justify-items:start;display:grid}.admin-contact-actions select{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);min-height:36px;color:var(--text-primary);cursor:pointer;padding:0 var(--space-md)}.admin-contact-small-button{min-height:36px;padding:0 var(--space-md);cursor:pointer}.admin-contact-modal{z-index:1000;background:color-mix(in srgb, var(--text-primary) 34%, transparent);padding:var(--space-2xl);place-items:center;display:grid;position:fixed;inset:0}.admin-contact-dialog{gap:var(--space-xl);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);width:min(680px,100%);max-height:calc(100dvh - 48px);padding:var(--space-2xl);box-shadow:var(--shadow-lg);display:grid;overflow-y:auto}.admin-contact-dialog header{gap:var(--space-xs);display:grid}.admin-contact-dialog h2{color:var(--text-primary);letter-spacing:0;margin:0;font-size:22px}.admin-contact-dialog header p,.admin-contact-original p{color:var(--text-secondary);font-size:var(--size-sm);margin:0;line-height:1.6}.admin-contact-original{gap:var(--space-xs);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);padding:var(--space-lg);display:grid}.admin-contact-original strong{color:var(--text-primary)}.admin-contact-modal-actions{justify-content:flex-end;gap:var(--space-md);display:flex}@media (width<=760px){.site-header,.site-footer{flex-direction:column;align-items:flex-start;gap:18px;padding:16px 0}.site-nav,.site-footer div{flex-wrap:wrap;gap:12px}.hero{grid-template-columns:1fr;gap:28px;min-height:auto;padding:28px 0 42px}.hero h1{font-size:44px;line-height:1}.content-page h1{font-size:38px}.contact-form,.contact-panel{padding:var(--space-xl)}.admin-contact-header,.admin-contact-modal-actions{flex-direction:column;align-items:stretch}.phone-visual{min-height:auto}.phone-frame{width:min(100%,300px)}.section-inner{grid-template-columns:1fr}}.phone-screen.has-map{background:var(--map-bg);height:100%;padding:0;display:block;position:relative;overflow:hidden}.map-container{isolation:isolate;background-color:var(--map-bg);width:100%;height:100%;position:relative}.google-map-element{z-index:0;width:100%;height:100%;position:absolute;inset:0}.tencent-map-element{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.map-marker-layer{pointer-events:none;z-index:500;position:absolute;inset:0;overflow:visible}.map-html-marker{--marker-anchor-x:28px;--marker-anchor-y:28px;height:56px;margin-left:calc(var(--marker-anchor-x) * -1);margin-top:calc(var(--marker-anchor-y) * -1);pointer-events:none;z-index:10;width:56px;position:absolute;overflow:visible}.map-html-marker.is-active{z-index:180}.map-user-location-html-marker{cursor:default;pointer-events:none}.map-html-marker>.star-marker,.map-html-marker>.user-location-marker{left:var(--marker-anchor-x);top:var(--marker-anchor-y)}.map-html-marker>.star-marker{pointer-events:auto}:root[data-theme=dark] .tencent-map-element canvas{filter:grayscale()invert(92%)brightness(92%)contrast(95%)}.mock-map{background:radial-gradient(circle at 48% 48%, color-mix(in srgb, var(--map-bg) 72%, var(--mint-subtle)) 0%, transparent 34%), linear-gradient(115deg, color-mix(in srgb, var(--map-bg) 82%, var(--bg-secondary)) 0%, var(--map-bg) 100%);cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.mock-map:active{cursor:grabbing}.mock-map-canvas{transform-origin:50%;will-change:transform}.mock-map-marker-layer{contain:layout style}.mock-map-marker-slot{pointer-events:auto;will-change:transform;z-index:10;width:0;height:0;position:absolute;top:0;left:0;overflow:visible;transform:translate(0,0)}.mock-map-marker-slot.is-active{z-index:180}.mock-map-marker-slot>.star-marker{top:0;left:0}.mock-map-grid{opacity:.08;background-image:linear-gradient(var(--map-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--map-grid-line) 1px, transparent 1px);background-size:20px 20px;width:100%;height:100%;position:absolute;top:0;left:0}.mock-map-street-grid{opacity:.42;background-image:linear-gradient(28deg, transparent 0 47%, var(--map-road) 47% 48%, transparent 48% 100%), linear-gradient(118deg, transparent 0 45%, var(--map-road) 45% 46%, transparent 46% 100%), linear-gradient(28deg, transparent 0 51%, color-mix(in srgb, var(--map-road) 74%, transparent) 51% 51.6%, transparent 51.6% 100%), linear-gradient(118deg, transparent 0 53%, color-mix(in srgb, var(--map-road) 74%, transparent) 53% 53.6%, transparent 53.6% 100%);background-size:210px 160px,210px 160px,120px 96px,120px 96px;position:absolute;inset:-18%;transform:rotate(-8deg)}.mock-map-arterial{background:linear-gradient(90deg, transparent, var(--map-road-strong) 12%, var(--map-road-strong) 88%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--map-road-strong) 42%, transparent);opacity:.86;border-radius:999px;position:absolute}.mock-map-arterial-market{width:132%;height:12px;top:45%;left:-12%;transform:rotate(-12deg)}.mock-map-arterial-embarcadero{width:12px;height:128%;top:-10%;right:18%;transform:rotate(34deg)}.mock-map-area-label{color:var(--map-district-text);letter-spacing:.08em;pointer-events:none;text-transform:uppercase;text-shadow:0 1px 12px var(--map-bg);font-size:clamp(12px,1.1vw,16px);font-weight:780;position:absolute}.mock-map-area-label-downtown{top:32%;left:47%}.mock-map-area-label-mission{bottom:23%;left:24%}.mock-map-area-label-bay{top:55%;right:10%}.mock-map-road{background:var(--map-road);box-shadow:0 0 12px color-mix(in srgb, var(--map-road) 55%, transparent);border-radius:999px;position:absolute;transform:rotate(-15deg)}.mock-map-road.horizontal{width:150%;height:9px;left:-25%}.mock-map-road.vertical{width:9px;height:150%;top:-25%;transform:rotate(45deg)}.mock-map-water{background:var(--map-water);filter:blur(8px);border-radius:40% 60% 70% 30%/40% 50% 60%;position:absolute}.mock-map-park{background:var(--map-park);filter:blur(12px);border-radius:60% 40% 50% 50%/30% 60% 40% 70%;position:absolute}.star-marker{cursor:pointer;z-index:10;pointer-events:auto;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .28s cubic-bezier(.175,.885,.32,1.275),opacity .24s ease-out,visibility .24s ease-out;display:flex;position:absolute;transform:translate(-50%,-50%)}.star-marker:hover{z-index:20;transform:translate(-50%,-50%)scale(1.3)}.star-marker:focus-visible{outline:2px solid var(--mint);outline-offset:6px;z-index:25;transform:translate(-50%,-50%)scale(1.22)}.star-marker.active{z-index:150}.user-location-marker{z-index:100;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-100%)}.user-location-shadow{filter:blur(1.5px);z-index:1;background:#00000073;border-radius:50%;width:14px;height:6px;position:absolute;bottom:-3px}.user-location-pin{z-index:2;background:linear-gradient(135deg,#ff7518 0%,#ff8d3b 100%);border:2px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative;transform:rotate(-45deg);box-shadow:0 3px 8px #00000059}.user-location-pin:after{content:"";background-color:#fff;border-radius:50%;width:10px;height:10px;transform:rotate(45deg);box-shadow:inset 0 1px 2px #0003}.star-marker>svg{width:24px;height:24px;display:block}.star-marker.male>svg{fill:#ff7518;filter:drop-shadow(0 0 5px #ff7518d9)}.star-marker.female>svg{fill:#90ee90;filter:drop-shadow(0 0 5px #90ee90d9)}.star-marker:after{content:"";opacity:0;pointer-events:none;border-radius:50%;width:24px;height:24px;margin-top:-12px;margin-left:-12px;position:absolute;top:50%;left:50%;transform:scale(.5)}.star-marker.male:after{background:#ff751866;animation:2.5s infinite star-pulse-orange}.star-marker.female:after{background:#90ee9066;animation:2.5s infinite star-pulse-green}@keyframes star-pulse-orange{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}@keyframes star-pulse-green{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}.star-speech-bubble{background:var(--glass-panel-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-panel-border);width:292px;max-width:calc(100vw - 32px);box-shadow:var(--glass-panel-shadow);z-index:100;pointer-events:auto;opacity:0;visibility:hidden;transform-origin:bottom;border-radius:16px;flex-direction:column;gap:8px;padding:13px 15px;transition:opacity .3s cubic-bezier(.16,1,.3,1),visibility .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;bottom:38px;left:50%;transform:translate(-50%,10px)scale(.85)}.star-speech-bubble.bubble-open-left{transform-origin:100% 100%;left:auto;right:50%;transform:translateY(10px)scale(.85)}.star-speech-bubble.bubble-open-right{transform-origin:0 100%;left:50%;transform:translateY(10px)scale(.85)}.star-speech-bubble.bubble-vertical-below{transform-origin:top;top:38px;bottom:auto}.star-speech-bubble.bubble-open-left.bubble-vertical-below{transform-origin:100% 0}.star-speech-bubble.bubble-open-right.bubble-vertical-below{transform-origin:0 0}.star-marker.active .star-speech-bubble{opacity:1;visibility:visible;animation:.48s cubic-bezier(.175,.885,.32,1.275) bubble-pop-in;transform:translate(-50%)scale(1)rotate(0)}.star-marker.active .star-speech-bubble.bubble-open-left{animation-name:bubble-pop-in-left;transform:translate(0)scale(1)rotate(0)}.star-marker.active .star-speech-bubble.bubble-open-right{animation-name:bubble-pop-in-right;transform:translate(0)scale(1)rotate(0)}.star-marker.active .star-speech-bubble.bubble-vertical-below{animation-name:bubble-pop-in-below;transform:translate(-50%)scale(1)rotate(0)}.star-marker.active .star-speech-bubble.bubble-open-left.bubble-vertical-below{animation-name:bubble-pop-in-left-below;transform:translate(0)scale(1)rotate(0)}.star-marker.active .star-speech-bubble.bubble-open-right.bubble-vertical-below{animation-name:bubble-pop-in-right-below;transform:translate(0)scale(1)rotate(0)}@keyframes bubble-pop-in{0%{opacity:0;transform:translate(-50%,12px)scale(0)rotate(-6deg)}50%{opacity:1;transform:translate(-50%,-3px)scale(1.08)rotate(3deg)}75%{transform:translate(-50%,1px)scale(.97)rotate(-2deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}@keyframes bubble-pop-in-left{0%{opacity:0;transform:translateY(12px)scale(0)rotate(-6deg)}50%{opacity:1;transform:translateY(-3px)scale(1.08)rotate(3deg)}75%{transform:translateY(1px)scale(.97)rotate(-2deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}@keyframes bubble-pop-in-right{0%{opacity:0;transform:translateY(12px)scale(0)rotate(-6deg)}50%{opacity:1;transform:translateY(-3px)scale(1.08)rotate(3deg)}75%{transform:translateY(1px)scale(.97)rotate(-2deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}@keyframes bubble-pop-in-below{0%{opacity:0;transform:translate(-50%,-12px)scale(0)rotate(-6deg)}50%{opacity:1;transform:translate(-50%,3px)scale(1.08)rotate(3deg)}75%{transform:translate(-50%,-1px)scale(.97)rotate(-2deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}@keyframes bubble-pop-in-left-below{0%{opacity:0;transform:translateY(-12px)scale(0)rotate(-6deg)}50%{opacity:1;transform:translateY(3px)scale(1.08)rotate(3deg)}75%{transform:translateY(-1px)scale(.97)rotate(-2deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}@keyframes bubble-pop-in-right-below{0%{opacity:0;transform:translateY(-12px)scale(0)rotate(-6deg)}50%{opacity:1;transform:translateY(3px)scale(1.08)rotate(3deg)}75%{transform:translateY(-1px)scale(.97)rotate(-2deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}.star-bubble-header{border-bottom:1px solid var(--border-subtle);justify-content:flex-start;align-items:center;gap:6px;margin-bottom:2px;padding-bottom:5px;display:flex}.star-bubble-avatar{font-size:15px;line-height:1}.star-bubble-name{color:var(--text-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;margin-left:0;font-size:12px;font-weight:700;overflow:hidden}.star-bubble-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px;font-size:12px;line-height:1;transition:color .2s}.star-bubble-close:hover{color:var(--text-primary)}.star-bubble-meta{align-items:center;gap:8px;min-width:0;display:flex}.star-bubble-location{min-width:0;color:var(--text-muted);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10.5px;font-weight:600;overflow:hidden}.mock-data-tag{background:linear-gradient(135deg, var(--warning) 0%, var(--orange) 100%);border:1px solid color-mix(in srgb, var(--bg-surface) 70%, transparent);border-radius:var(--radius-pill);box-shadow:0 8px 18px color-mix(in srgb, var(--warning) 34%, transparent), inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 52%, transparent);color:var(--mock-label-text);letter-spacing:0;text-transform:uppercase;white-space:nowrap;flex:none;align-items:center;padding:4px 9px;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.star-bubble-source{max-width:112px;padding:4.5px 10px;font-size:10.5px}.star-bubble-header .star-bubble-source{box-shadow:0 0 0 2px color-mix(in srgb, var(--warning) 18%, transparent), 0 10px 22px color-mix(in srgb, var(--warning) 42%, transparent), inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 60%, transparent)}.star-bubble-content{color:var(--text-secondary);text-align:left;white-space:normal;margin:0;font-size:12px;line-height:1.55}.star-bubble-line{display:block}.star-bubble-restaurant-mention{color:color-mix(in srgb, var(--orange) 82%, var(--text-primary));font-weight:var(--weight-bold);text-decoration-line:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--orange) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--orange) 30%, transparent);text-underline-offset:3px;text-decoration-thickness:1px}.star-bubble-line+.star-bubble-line{margin-top:2px}.star-bubble-actions{justify-content:flex-end;display:flex}.star-bubble-chat-btn{border:1px solid color-mix(in srgb, var(--mint) 46%, transparent);background:linear-gradient(135deg, var(--mint-light) 0%, var(--mint) 100%);min-width:72px;height:28px;color:var(--text-primary);cursor:pointer;border-radius:14px;padding:0 13px;font-size:11px;font-weight:850;line-height:1;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 8px 18px #0000003d,0 0 14px #90ee9029,inset 0 1px #ffffff80}.star-bubble-chat-btn:hover{border-color:color-mix(in srgb, var(--mint) 70%, transparent);transform:translateY(-1px);box-shadow:0 10px 22px #0000004d,0 0 18px #90ee9042,inset 0 1px #ffffff9e}.star-bubble-chat-btn:active{transform:translateY(0)}.star-bubble-arrow-svg{pointer-events:none;z-index:2;position:absolute;bottom:-11px;left:50%;transform:translate(-50%);filter:none!important;width:24px!important;height:12px!important}.star-speech-bubble.bubble-open-left .star-bubble-arrow-svg{left:auto;right:4px;transform:none}.star-speech-bubble.bubble-open-right .star-bubble-arrow-svg{left:4px;transform:none}.star-speech-bubble.bubble-vertical-below .star-bubble-arrow-svg{top:-11px;bottom:auto;transform:translate(-50%)rotate(180deg)}.star-speech-bubble.bubble-open-left.bubble-vertical-below .star-bubble-arrow-svg{left:auto;right:4px;transform:rotate(180deg)}.star-speech-bubble.bubble-open-right.bubble-vertical-below .star-bubble-arrow-svg{left:4px;transform:rotate(180deg)}.star-bubble-arrow-fill{fill:color-mix(in srgb, var(--bg-surface) 86%, transparent)}.star-bubble-arrow-outline{fill:none;stroke:var(--glass-panel-border)}.phone-overlay-status{height:38px;color:var(--text-primary);background:linear-gradient(to bottom, color-mix(in srgb, var(--bg-primary) 62%, transparent) 0%, transparent 100%);z-index:90;pointer-events:none;justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;font-weight:600;display:flex;position:absolute;top:0;left:0;right:0}.phone-overlay-status span{align-items:center;gap:4px;display:inline-flex}.phone-overlay-bottom-bar{background:linear-gradient(to top, color-mix(in srgb, var(--bg-primary) 54%, transparent) 0%, transparent 100%);z-index:90;pointer-events:none;justify-content:center;align-items:center;height:48px;display:flex;position:absolute;bottom:0;left:0;right:0}.phone-overlay-home-indicator{background:color-mix(in srgb, var(--text-primary) 42%, transparent);border-radius:99px;width:100px;height:4px}.splash-container{z-index:99999;perspective:1200px;background-color:#050505;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.splash-aurora-orange,.splash-aurora-green{filter:blur(160px);pointer-events:none;z-index:1;mix-blend-mode:screen;border-radius:50%;position:absolute}.splash-aurora-orange{background:#ff75181f;width:450px;height:450px;animation:20s ease-in-out infinite alternate aurora-float-orange;bottom:-10%;left:-10%}.splash-aurora-green{background:#90ee901a;width:500px;height:500px;animation:24s ease-in-out infinite alternate aurora-float-green;top:-15%;right:-10%}@keyframes aurora-float-orange{0%{transform:translate(0)scale(1)}to{transform:translate(120px,-80px)scale(1.2)}}@keyframes aurora-float-green{0%{transform:translate(0)scale(1)}to{transform:translate(-150px,100px)scale(1.15)}}.splash-overlay{z-index:2;pointer-events:none;background:radial-gradient(circle,#00000026 0%,#000000a6 100%);width:100%;height:100%;position:absolute;top:0;left:0}.splash-content{z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;width:100%;max-width:800px;padding:0 24px;display:flex;position:relative}.splash-brand-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.splash-logo{object-fit:contain;filter:invert()drop-shadow(0 0 10px #fff9);opacity:0;width:124px;height:124px;transform:scale(.6)}.splash-title{color:#fff;letter-spacing:0;text-shadow:0 4px 18px #0009;justify-content:center;max-width:min(92vw,760px);margin:0;font-size:58px;font-weight:900;line-height:1.05;display:flex;overflow:hidden}.splash-char{opacity:0;white-space:pre;display:inline-block;transform:translateY(105%)}.splash-char-balance{visibility:hidden;pointer-events:none}@media (width<=640px){.splash-title{font-size:38px}}@media (width<=420px){.splash-title{font-size:32px}}.splash-video-wrap{z-index:1;opacity:0;background:#000;width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden;transform:scale(1.08)}.splash-video{object-fit:cover;object-position:center 20%;pointer-events:none;width:100%;height:100%}.splash-video-overlay{pointer-events:none;z-index:2;background:radial-gradient(circle,#0003 0%,#000000a6 100%);width:100%;height:100%;position:absolute;top:0;left:0}.splash-footer-wrap{flex-direction:column;align-items:center;gap:22px;display:flex}.splash-subtitle{color:#ffffffe0;letter-spacing:.05em;text-align:center;opacity:0;text-shadow:0 2px 10px #000000bf;max-width:540px;margin:0 auto;font-size:16px;font-weight:500;line-height:1.75;transform:translateY(15px)}.splash-btn{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;opacity:0;background:#ffffff12;border:1px solid #ffffff38;border-radius:999px;outline:none;padding:14px 44px;font-size:16px;font-weight:750;transition:background .3s,border-color .3s,box-shadow .3s;transform:scale(.85);box-shadow:0 4px 20px #00000059,inset 0 1px #ffffff26}.splash-btn:hover{background:#ffffff24;border-color:#fff6;box-shadow:0 8px 25px #0000008c,0 0 12px #ffffff26,inset 0 1px #ffffff40}.splash-btn:active{transform:scale(.96)}.hero-full-map{z-index:10;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.hero-panel{background:var(--glass-panel-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-panel-border);width:min(400px,100vw - 64px);color:var(--text-primary);z-index:50;box-shadow:var(--glass-panel-shadow);border-radius:20px;flex-direction:column;gap:20px;padding:32px;display:flex;position:absolute;top:110px;left:32px}.hero-panel .eyebrow{color:var(--mint-dark);font-size:11px}.hero-panel h1{color:var(--text-primary);letter-spacing:-1px;margin:0;font-size:44px;font-weight:850;line-height:1}.hero-desc{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.6}.hero-mini-features{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:14px;margin:4px 0;padding:16px 0;display:flex}.mini-feature-item{align-items:flex-start;gap:12px;display:flex}.mini-icon{font-size:18px;line-height:1.2}.mini-feature-item div{flex-direction:column;gap:2px;display:flex}.mini-feature-item strong{color:var(--text-primary);font-size:13px;font-weight:700}.mini-feature-item span{color:var(--text-muted);font-size:12px}.hero-panel .hero-actions{gap:12px;margin-top:6px;display:flex}.hero-panel .button-primary{background:var(--text-primary);color:var(--bg-surface);flex:1}.hero-panel .button-primary:hover{background:color-mix(in srgb, var(--text-primary) 86%, var(--brand-orange))}.hero-panel .button-secondary{background:var(--glass-muted-bg);border:1px solid var(--glass-panel-border);color:var(--text-primary);flex:1}.hero-panel .button-secondary:hover{background:color-mix(in srgb, var(--bg-secondary) 74%, transparent);border-color:var(--border-default)}.map-info-card.full-page{background:var(--glass-panel-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-panel-border);width:360px;box-shadow:var(--glass-panel-shadow), inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 48%, transparent);border-radius:18px;animation:.45s cubic-bezier(.23,1,.32,1) mac-toast-in;inset:92px 24px auto auto}@keyframes mac-toast-in{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}.site-header-wrapper{z-index:100;pointer-events:auto;background:0 0;width:60px;height:100vh;transition:width .3s cubic-bezier(.16,1,.3,1) .15s;position:fixed;top:0;left:0}.site-header{background:var(--nav-panel-bg);-webkit-backdrop-filter:blur(12px);border:0;border-right:1px solid var(--nav-panel-border);pointer-events:none;box-sizing:border-box;z-index:100;border-radius:0;width:240px;height:100vh;padding:64px 28px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:8px 0 32px #00000040}.site-header-inner{opacity:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:56px;width:100%;height:100%;margin:0;padding:0;transition:opacity .4s cubic-bezier(.16,1,.3,1);display:flex}:is(:has(.hero-full-map) .site-header-wrapper:hover,:has(.hero-full-map) .site-header-wrapper.is-intro-expanded){width:240px}.site-header-wrapper.is-intro-expanded{transition:width .4s cubic-bezier(.16,1,.3,1)!important}.site-header-wrapper:hover{transition:none!important}.site-header-wrapper:hover .site-header,.site-header-wrapper.is-intro-expanded .site-header{pointer-events:auto;transform:translate(0,0)}.site-header-wrapper:hover .site-header-inner,.site-header-wrapper.is-intro-expanded .site-header-inner{opacity:1}.brand-mark{color:var(--nav-text-primary);letter-spacing:-.5px;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:20px;font-weight:850;text-decoration:none;display:flex}.brand-logo-img{object-fit:contain;width:44px;height:44px;filter:var(--nav-logo-filter)}.site-nav{color:var(--nav-text-secondary);flex-direction:column;align-items:flex-start;gap:20px;width:100%;display:flex}.site-nav a:hover{color:var(--nav-text-primary)}.language-selector{gap:var(--space-xs);width:100%;color:var(--nav-text-secondary);font-size:var(--size-sm);font-weight:700;display:grid}.language-selector select{border:1px solid var(--nav-control-border);border-radius:var(--radius-md);background:var(--nav-control-bg);width:100%;min-height:40px;color:var(--nav-text-primary);cursor:pointer;padding:0 var(--space-md)}.language-selector option{background:var(--bg-surface);color:var(--text-primary)}.theme-selector{gap:var(--space-xs);width:100%;color:var(--nav-text-secondary);font-size:var(--size-sm);font-weight:700;display:grid}.theme-options{gap:var(--space-2xs);border:1px solid var(--nav-control-border);border-radius:var(--radius-md);background:var(--nav-control-bg);width:100%;padding:var(--space-2xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.theme-option{border-radius:var(--radius-sm);min-height:36px;color:var(--nav-text-secondary);cursor:pointer;padding:0 var(--space-2xs);transition:background var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default);background:0 0;border:0;font-size:12px;font-weight:800}.theme-option:hover,.theme-option.is-active{background:var(--nav-control-bg-active);color:var(--nav-text-primary)}.site-header-drawer-handle{background:linear-gradient(var(--nav-handle-bg), var(--nav-handle-bg)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--orange) 44%, transparent) 0%, color-mix(in srgb, var(--mint) 34%, transparent) 100%) border-box;-webkit-backdrop-filter:blur(12px);width:36px;height:96px;color:var(--nav-handle-text);cursor:pointer;pointer-events:auto;border:1.5px solid #0000;border-left:0;border-radius:0 16px 16px 0;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;right:-36px;overflow:visible;transform:translateY(-50%);box-shadow:0 10px 30px #00000073,0 0 12px #ff751826}.site-header-drawer-handle:hover{background:linear-gradient(var(--nav-handle-bg-hover), var(--nav-handle-bg-hover)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--orange) 58%, transparent) 0%, color-mix(in srgb, var(--mint) 44%, transparent) 100%) border-box;transform:translateY(-50%)scale(1.03);box-shadow:0 14px 36px #0000008c,0 0 16px #ff75184d}.drawer-handle-content{-webkit-user-select:none;user-select:none;z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.drawer-handle-text{writing-mode:vertical-rl;text-orientation:mixed;color:var(--nav-handle-text);letter-spacing:2px;text-transform:uppercase;font-family:inherit;font-size:10px;font-weight:800;line-height:1}.drawer-handle-icon{color:var(--nav-handle-text);margin-top:2px;font-family:system-ui,-apple-system,sans-serif;font-size:18px;font-weight:700;line-height:1;transition:transform .4s cubic-bezier(.16,1,.3,1)}.site-header-wrapper:hover .drawer-handle-icon,.site-header-wrapper.is-intro-expanded .drawer-handle-icon{transform:rotate(180deg)}body:not(:has(.hero-full-map)) main{padding-top:64px}:has(.hero-full-map) .site-footer{display:none}.location-error-overlay{z-index:92;padding:var(--space-2xl);background:radial-gradient(circle at center, #ff751814 0%, transparent 42%), color-mix(in srgb, var(--bg-primary) 92%, transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.location-error-panel{border:1px solid var(--border-default);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--bg-secondary) 86%, transparent);-webkit-backdrop-filter:blur(22px);width:min(460px,100vw - 32px);color:var(--text-primary);padding:var(--space-2xl);text-align:left;box-shadow:0 22px 70px #00000073}.location-error-kicker{color:var(--orange);font-size:var(--size-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.location-error-title{margin:var(--space-sm) 0 0;color:var(--text-primary);font-size:var(--size-2xl);line-height:1.2}.location-error-copy,.location-error-message{margin:var(--space-md) 0 0;color:var(--text-secondary);font-size:var(--size-sm);line-height:1.65}.location-error-code-row{gap:var(--space-2xs);margin-top:var(--space-xl);display:grid}.location-error-code-label{color:var(--text-muted);font-size:var(--size-xs);font-weight:var(--weight-semibold)}.location-error-code{overflow-wrap:anywhere;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-primary);max-width:100%;color:var(--mint);font-size:var(--size-xs);font-weight:var(--weight-bold);padding:var(--space-xs) var(--space-md);display:block}.location-error-retry-btn{min-height:44px;margin-top:var(--space-xl);border-radius:var(--radius-pill);background:var(--orange);color:var(--bg-primary);cursor:pointer;font-size:var(--size-sm);font-weight:var(--weight-bold);padding:0 var(--space-2xl);transition:opacity var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);border:0}.location-error-retry-btn:hover:not(:disabled){transform:translateY(-1px)}.location-error-retry-btn:disabled{cursor:not-allowed;opacity:.58}.location-error-retry-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--mint) 65%, transparent);outline-offset:3px}.map-loading-overlay{background-color:var(--map-bg);z-index:90;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.map-loading-overlay:before{content:"";opacity:.08;background-image:linear-gradient(var(--map-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--map-grid-line) 1px, transparent 1px);background-size:20px 20px;width:100%;height:100%;position:absolute;top:0;left:0}.map-loading-radar{pointer-events:none;z-index:1;background:conic-gradient(#0000 40%,#90ee900d 90%,#90ee901f 100%);width:250%;height:250%;animation:4s linear infinite radar-sweep;position:absolute}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-loading-content{z-index:5;flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.map-loading-spinner{-webkit-mask-composite:xor;background:linear-gradient(135deg,#ff7518 0%,#90ee90 100%);border-radius:50%;width:44px;height:44px;padding:3px;animation:1.2s cubic-bezier(.5,.1,.4,.9) infinite spinner-rotate;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-loading-text{letter-spacing:.5px;color:var(--text-secondary);font-size:13px;font-weight:700;animation:1.8s ease-in-out infinite text-pulse-opacity}@keyframes text-pulse-opacity{0%{opacity:.55}50%{opacity:.95}to{opacity:.55}}.radar-ripple-pulse{-webkit-backdrop-filter:brightness(1.2)contrast(1.1)blur(2.5px);pointer-events:none;z-index:80;background:radial-gradient(circle,#90ee900d 0%,#0000 80%);border:1.5px solid #90ee9066;border-radius:50%;width:12px;height:12px;margin-top:-6px;margin-left:-6px;animation:2.2s cubic-bezier(.1,.8,.25,1) forwards ripple-out;position:fixed;box-shadow:0 0 35px #90ee9033,inset 0 0 15px #90ee901a}.map-gesture-overlay{z-index:100000;padding:var(--space-2xl);pointer-events:none;opacity:1;background:color-mix(in srgb, var(--bg-primary) 58%, transparent);-webkit-backdrop-filter:brightness(.54)blur(1.5px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.map-gesture-overlay-message{max-width:680px;padding:var(--space-xl) var(--space-2xl);border:1px solid var(--glass-panel-border);border-radius:var(--radius-md);background:var(--glass-panel-bg);box-shadow:var(--glass-panel-shadow);color:var(--text-primary);font-size:var(--size-2xl);font-weight:var(--weight-bold);text-align:center;-webkit-backdrop-filter:blur(18px);line-height:1.45}@keyframes ripple-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(220)}}.top-controls-row{z-index:95;align-items:center;gap:var(--space-lg);pointer-events:none;-webkit-user-select:none;user-select:none;max-width:calc(100vw - 32px);display:flex;position:absolute;top:24px;left:calc(50% - 72px);transform:translate(-50%)}.top-controls-container{scrollbar-width:none;background:var(--glass-control-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-control-border);min-width:0;max-width:calc(100vw - 210px);height:48px;box-shadow:var(--glass-panel-shadow);pointer-events:auto;-webkit-user-select:none;user-select:none;border-radius:24px;flex:0 auto;align-items:center;padding:2px 2px 2px 14px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:static;overflow-x:auto}.top-controls-container::-webkit-scrollbar{display:none}.publish-treat-trigger{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-lg) 0 var(--space-md);border:1px solid color-mix(in srgb, var(--orange) 64%, var(--glass-control-border));border-radius:var(--radius-pill);background:color-mix(in srgb, var(--orange) 92%, var(--bg-surface));color:#fff;box-shadow:0 12px 32px color-mix(in srgb, var(--orange) 24%, transparent), var(--shadow-md);cursor:pointer;font-size:var(--size-sm);font-weight:var(--weight-bold);letter-spacing:0;pointer-events:auto;white-space:nowrap;transition:background var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);flex:none;display:inline-flex}.publish-treat-trigger:hover{background:var(--orange-hover);box-shadow:0 14px 36px color-mix(in srgb, var(--orange) 32%, transparent), var(--shadow-lg);transform:translateY(-1px)}.publish-treat-trigger:active{transform:translate(0,0)scale(.98)}.publish-treat-trigger:focus-visible{outline:3px solid color-mix(in srgb, var(--orange) 34%, transparent);outline-offset:3px}.publish-treat-trigger-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px;width:16px;height:16px}.console-search-box{align-items:center;height:100%;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.search-box-trigger{color:var(--text-primary);cursor:pointer;align-items:center;height:100%;transition:opacity .2s;display:flex}.search-box-trigger:hover{opacity:.85}.search-icon-svg{width:14px;height:14px;color:var(--mint-dark);filter:drop-shadow(0 0 4px #90ee9066);transition:transform .3s}.console-search-box.searching .search-icon-svg{color:var(--orange);filter:drop-shadow(0 0 4px #ff751866);transform:scale(1.1)}.search-box-placeholder{color:var(--text-secondary);letter-spacing:.5px;opacity:1;white-space:nowrap;max-width:80px;margin-left:8px;font-size:11px;font-weight:700;transition:max-width .35s cubic-bezier(.16,1,.3,1),opacity .25s cubic-bezier(.16,1,.3,1),margin-left .35s cubic-bezier(.16,1,.3,1);display:inline-block;overflow:hidden}.console-search-box.searching .search-box-placeholder{opacity:0;max-width:0;margin-left:0}.search-input-wrapper{opacity:0;white-space:nowrap;pointer-events:none;align-items:center;gap:8px;max-width:0;padding-left:0;transition:max-width .35s cubic-bezier(.16,1,.3,1),opacity .25s cubic-bezier(.16,1,.3,1),padding-left .35s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.console-search-box.searching .search-input-wrapper{opacity:1;pointer-events:auto;max-width:160px;padding-left:8px}.console-search-input{width:110px;color:var(--text-primary);background:0 0;border:0;outline:none;padding:0;font-size:11px;font-weight:600}.console-search-input::placeholder{color:var(--text-muted)}.console-search-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:11px;line-height:1;transition:color .2s}.console-search-close:hover{color:var(--text-primary)}.console-divider{background-color:var(--border-default);width:1px;height:18px;margin-left:12px;margin-right:12px;transition:all .3s cubic-bezier(.16,1,.3,1)}.immersive-ui-overlay{pointer-events:none;z-index:95;justify-content:flex-end;align-items:flex-end;transition:opacity .26s,transform .32s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:32px;left:24px;right:24px}.immersive-ui-overlay.chat-hidden{opacity:0;pointer-events:none;transform:translateY(24px)scale(.98)}.floating-filter-dock{width:288px;height:42px;box-shadow:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;padding:2px;display:flex;position:relative;overflow:hidden}.filter-slider-bg{background:linear-gradient(135deg, var(--orange-subtle) 0%, var(--mint-subtle) 100%);border:1px solid var(--glass-panel-border);pointer-events:none;z-index:1;border-radius:19px;width:93px;height:38px;position:absolute;top:2px;left:2px}.filter-dock-btn{height:100%;color:var(--text-secondary);cursor:pointer;z-index:2;background:0 0;border:0;border-radius:19px;flex:1;font-size:12px;font-weight:700;transition:color .3s}.filter-dock-btn:hover,.filter-dock-btn.active{color:var(--text-primary)}.usage-instructions-modal-root{z-index:100002;background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--mint) 18%, transparent) 0%, transparent 34%), color-mix(in srgb, var(--bg-primary) 34%, #0000009e);-webkit-backdrop-filter:blur(14px)saturate(.94);pointer-events:auto;justify-content:center;align-items:center;padding:clamp(18px,4vh,44px) 20px;display:flex;position:fixed;inset:0}.usage-instructions-dialog{gap:var(--space-lg);border:1px solid var(--glass-panel-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--bg-surface) 94%, transparent);width:min(680px,100vw - 32px);max-height:min(760px,100dvh - 36px);box-shadow:var(--shadow-lg);padding:var(--space-2xl);color:var(--text-primary);animation:modalScaleUp var(--duration-normal) var(--easing-default);flex-direction:column;display:flex;overflow:hidden}.usage-instructions-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.usage-instructions-header h2{color:var(--text-primary);font-size:24px;font-weight:var(--weight-extrabold);letter-spacing:0;margin:0;line-height:1.15}.usage-instructions-close{border:1px solid color-mix(in srgb, var(--border-default) 78%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-secondary) 78%, transparent);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;font-size:22px;font-weight:var(--weight-bold);transition:background var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);flex:none;place-items:center;line-height:1;display:grid}.usage-instructions-close:hover{background:color-mix(in srgb, var(--orange-light) 86%, var(--bg-surface));color:var(--orange);transform:scale(1.04)}.usage-instructions-body{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-primary);min-height:240px;max-height:min(420px,48dvh);padding:var(--space-lg) var(--space-xl);scrollbar-color:color-mix(in srgb, var(--orange) 56%, var(--border-default)) transparent;outline:none;overflow-y:auto}.usage-instructions-body:focus-visible{border-color:color-mix(in srgb, var(--orange) 68%, var(--border-default));box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent)}.usage-instructions-list{gap:var(--space-md);padding-left:var(--space-xl);margin:0;display:grid}.usage-instructions-list li{color:var(--text-primary);font-size:var(--size-md);font-weight:var(--weight-medium);padding-left:var(--space-xs);line-height:1.65}.usage-instructions-check-row{align-self:flex-start;align-items:center;gap:var(--space-sm);min-height:44px;color:var(--text-secondary);cursor:pointer;font-size:var(--size-sm);font-weight:var(--weight-semibold);display:inline-flex}.usage-instructions-check-row input{width:18px;height:18px;accent-color:var(--orange);cursor:pointer;flex:none}.usage-instructions-read-required{margin:calc(var(--space-xs) * -1) 0 0;color:var(--text-muted);font-size:var(--size-xs);font-weight:var(--weight-semibold);line-height:1.45}.usage-instructions-actions{justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xs);display:flex}.usage-instructions-secondary,.usage-instructions-primary{border-radius:var(--radius-pill);cursor:pointer;min-height:44px;font-size:var(--size-sm);font-weight:var(--weight-bold);padding:0 var(--space-xl);transition:background var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default)}.usage-instructions-secondary{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary)}.usage-instructions-secondary:hover{border-color:color-mix(in srgb, var(--text-secondary) 36%, var(--border-default));color:var(--text-primary)}.usage-instructions-primary{border:1px solid color-mix(in srgb, var(--orange) 64%, var(--border-default));background:var(--orange);color:var(--bg-primary);box-shadow:0 10px 28px color-mix(in srgb, var(--orange) 24%, transparent)}.usage-instructions-primary:hover:not(:disabled){background:var(--orange-hover);box-shadow:0 12px 32px color-mix(in srgb, var(--orange) 32%, transparent)}.usage-instructions-primary:disabled{border-color:var(--border-default);background:color-mix(in srgb, var(--bg-secondary) 84%, transparent);box-shadow:none;color:var(--text-muted);cursor:not-allowed}.usage-instructions-secondary:active,.usage-instructions-primary:active:not(:disabled){transform:scale(.98)}.publish-treat-modal-root{z-index:9997;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--orange) 18%, transparent) 0%, transparent 34%), color-mix(in srgb, var(--bg-primary) 36%, #00000094);-webkit-backdrop-filter:blur(14px)saturate(.94);pointer-events:auto;justify-content:center;align-items:center;padding:clamp(18px,4vh,44px) 20px;display:flex;position:fixed;inset:0}.publish-treat-dialog{gap:var(--space-lg);border:1px solid var(--glass-panel-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--bg-surface) 94%, transparent);width:min(720px,100vw - 32px);max-height:min(760px,100dvh - 36px);box-shadow:var(--shadow-lg);padding:var(--space-2xl);color:var(--text-primary);animation:modalScaleUp var(--duration-normal) var(--easing-default);flex-direction:column;display:flex;overflow-y:auto}.publish-treat-dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.publish-treat-dialog-header h2{color:var(--text-primary);font-size:24px;font-weight:var(--weight-extrabold);letter-spacing:0;margin:0;line-height:1.15}.publish-treat-close{border:1px solid color-mix(in srgb, var(--border-default) 78%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-secondary) 78%, transparent);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;font-size:22px;font-weight:var(--weight-bold);transition:background var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);flex:none;place-items:center;line-height:1;display:grid}.publish-treat-close:hover{background:color-mix(in srgb, var(--orange-light) 86%, var(--bg-surface));color:var(--orange);transform:scale(1.04)}.publish-treat-gender-field,.publish-treat-fields{gap:var(--space-md);display:grid}.publish-treat-fields{column-gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.publish-treat-field{gap:var(--space-xs);display:grid}.publish-treat-field-wide{grid-column:1/-1}.publish-treat-field-label{color:var(--text-secondary);font-size:var(--size-xs);font-weight:var(--weight-bold);letter-spacing:0}.publish-treat-segments{gap:var(--space-xs);padding:var(--space-2xs);border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--glass-muted-bg);grid-template-columns:1fr 1fr;display:grid}.publish-treat-segment{border-radius:var(--radius-pill);min-height:40px;color:var(--text-secondary);cursor:pointer;font-size:var(--size-sm);font-weight:var(--weight-bold);transition:background var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default);background:0 0;border:0}.publish-treat-segment.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.publish-treat-segment:disabled{cursor:not-allowed;opacity:.84}.publish-treat-field input,.publish-treat-field textarea{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-primary);width:100%;min-height:44px;color:var(--text-primary);font-size:var(--size-sm);font-weight:var(--weight-semibold);padding:0 var(--space-lg);resize:vertical;transition:background var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default);outline:none}.publish-treat-field textarea{min-height:88px;padding-bottom:var(--space-md);padding-top:var(--space-md);line-height:1.5}.publish-treat-field input::placeholder,.publish-treat-field textarea::placeholder{color:var(--text-muted);font-weight:var(--weight-medium)}.publish-treat-field input:focus,.publish-treat-field textarea:focus{border-color:color-mix(in srgb, var(--orange) 68%, var(--border-default));background:var(--bg-surface);box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent)}.publish-treat-error{border:1px solid color-mix(in srgb, var(--error) 30%, var(--border-default));border-radius:var(--radius-md);background:color-mix(in srgb, var(--error) 10%, var(--bg-surface));color:var(--error);font-size:var(--size-sm);font-weight:var(--weight-semibold);padding:var(--space-sm) var(--space-md);margin:0;line-height:1.45}.publish-treat-actions{justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xs);display:flex}.publish-treat-secondary,.publish-treat-primary{border-radius:var(--radius-pill);cursor:pointer;min-height:44px;font-size:var(--size-sm);font-weight:var(--weight-bold);padding:0 var(--space-xl);transition:background var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default)}.publish-treat-secondary{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary)}.publish-treat-secondary:hover{border-color:color-mix(in srgb, var(--text-secondary) 36%, var(--border-default));color:var(--text-primary)}.publish-treat-primary{border:1px solid color-mix(in srgb, var(--orange) 64%, var(--border-default));background:var(--orange);color:#fff;box-shadow:0 10px 28px color-mix(in srgb, var(--orange) 24%, transparent)}.publish-treat-primary:hover{background:var(--orange-hover);box-shadow:0 12px 32px color-mix(in srgb, var(--orange) 32%, transparent)}.publish-treat-secondary:active,.publish-treat-primary:active{transform:scale(.98)}.filter-dock-btn.male.active{color:var(--orange);text-shadow:0 0 8px #ff75184d}.filter-dock-btn.female.active{color:var(--mint);text-shadow:0 0 8px #90ee904d}.stacked-cards-container{pointer-events:auto;perspective:1000px;width:312px;height:136px;position:relative}.stacked-cards-container .carousel-card{background:var(--glass-panel-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-panel-border);width:100%;height:108px;box-shadow:var(--glass-panel-shadow);transform-style:preserve-3d;-webkit-user-select:none;user-select:none;opacity:0;pointer-events:none;border-radius:14px;flex-direction:column;justify-content:space-between;padding:10px 12px;display:flex;position:absolute;top:0;left:0;right:0}.stacked-cards-container .card-top{z-index:3;opacity:1;pointer-events:auto;border-color:var(--border-default);cursor:default;transform:translate(0,0)scale(1)}.stacked-cards-container .card-middle{z-index:2;opacity:.68;pointer-events:none;transform:translate3d(0,8px,-20px)scale(.95)}.stacked-cards-container .card-bottom{z-index:1;opacity:.36;pointer-events:none;transform:translate3d(0,16px,-40px)scale(.9)}.carousel-card-user{align-items:center;gap:8px;display:flex}.carousel-card-avatar{font-size:16px}.carousel-card-name{color:var(--text-primary);font-size:13px;font-weight:700}.gender-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:800}.gender-tag.male{background:var(--orange-subtle);color:var(--orange);border:1px solid color-mix(in srgb, var(--orange) 32%, transparent)}.gender-tag.female{background:var(--mint-subtle);color:var(--mint-dark);border:1px solid color-mix(in srgb, var(--mint) 38%, transparent)}.star-bubble-gender{white-space:nowrap;flex:none;padding:3px 8px;font-size:10px}.carousel-card-content{color:var(--text-secondary);-webkit-line-clamp:1;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:5px 0;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.carousel-card-action{color:var(--text-muted);justify-content:flex-end;align-items:center;font-size:11px;display:flex}.card-next-btn{background:var(--glass-muted-bg);border:1px solid var(--glass-panel-border);color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(4px);border-radius:10px;align-items:center;gap:4px;padding:4px 9px;font-size:9.5px;font-weight:800;transition:all .2s;display:inline-flex}.card-next-btn:hover{background:color-mix(in srgb, var(--bg-secondary) 78%, transparent);border-color:var(--border-default);color:var(--text-primary);transform:translate(2px)}.chat-phone-sidebar{z-index:999;pointer-events:none;will-change:transform;background:0 0;justify-content:center;align-items:center;width:clamp(372px,22vw,460px);height:min(88svh,820px);max-height:calc(100svh - 40px);transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;right:clamp(18px,3.4vw,72px);transform:translate(calc(100% + 48px),-50%)}.chat-phone-sidebar.open{pointer-events:auto;transform:translateY(-50%)}.phone-model-frame{perspective:1000px;opacity:0;width:100%;height:100%;transition:opacity .2s,transform .5s cubic-bezier(.16,1,.3,1);transform:scale(.98)}.phone-model-frame.active{opacity:1;transform:scale(1)}.phone-bezel{background:var(--chat-phone-frame);border:9px solid var(--chat-phone-border);width:100%;height:100%;box-shadow:inset 0 0 2px 2px #ffffff1f, var(--glass-panel-shadow), 0 0 0 2px var(--chat-phone-frame);border-radius:42px;padding:1px;position:relative;overflow:hidden}.phone-screen-inner{background:var(--chat-phone-screen);border-radius:33px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.dynamic-island{background:var(--text-primary);z-index:1000;border-radius:99px;justify-content:center;align-items:center;width:90px;height:24px;transition:width .35s cubic-bezier(.19,1,.22,1),height .35s cubic-bezier(.19,1,.22,1),border-radius .35s;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0000004d}.dynamic-island-camera{background:var(--bg-primary);border-radius:50%;width:8px;height:8px;position:relative;box-shadow:inset 0 0 3px #fff3}.dynamic-island-camera:after{content:"";background:var(--mint-dark);opacity:.8;border-radius:50%;width:3px;height:3px;position:absolute;top:3px;right:-14px}.dynamic-island.typing{background:var(--text-primary);border:1px solid var(--border-default);border-radius:15px;width:148px;height:28px}.dynamic-island-text{color:var(--bg-surface);letter-spacing:-.2px;font-size:11px;font-weight:700;animation:1.5s infinite alternate pulse-glow}@keyframes pulse-glow{0%{opacity:.8;text-shadow:0 0 2px #fff3}to{opacity:1;text-shadow:0 0 8px #fff9}}.phone-header{background:color-mix(in srgb, var(--bg-surface) 86%, transparent);-webkit-backdrop-filter:blur(20px);z-index:100;justify-content:space-between;align-items:center;min-height:68px;padding:28px 18px 10px;display:flex}.phone-header-left{align-items:center;gap:11px;min-width:0;display:flex}.phone-avatar{font-size:22px;line-height:1}.phone-user-info{text-align:left;flex-direction:column;display:flex}.phone-username{color:var(--text-primary);font-size:14px;font-weight:700}.phone-status{color:var(--mint-dark);margin-top:1px;font-size:10px;font-weight:500}.phone-close-btn{background:var(--glass-muted-bg);border:1px solid var(--glass-panel-border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:all .2s;display:flex}.phone-close-btn:hover{background:color-mix(in srgb, var(--bg-secondary) 78%, transparent);color:var(--text-primary)}.phone-chat-body{background:linear-gradient(to bottom, var(--bg-primary), var(--bg-secondary));scrollbar-width:none;flex-direction:column;flex:1;gap:15px;padding:18px;display:flex;overflow-y:auto}.phone-chat-body::-webkit-scrollbar{display:none}.chat-welcome-notice{background:var(--glass-muted-bg);border:1px dashed var(--border-subtle);text-align:center;border-radius:14px;margin-bottom:8px;padding:9px 14px;font-size:11px;line-height:1.45;color:var(--text-secondary)!important}.chat-message-row{align-items:flex-end;gap:9px;max-width:88%;animation:.3s cubic-bezier(.16,1,.3,1) slide-up-fade;display:flex}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message-row.left{align-self:flex-start}.chat-message-row.right{flex-direction:row-reverse;align-self:flex-end;max-width:84%}.msg-avatar{background:var(--glass-muted-bg);border:1px solid var(--border-subtle);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:2px;font-size:17px;display:flex}.msg-bubble{text-align:left;border-radius:17px;padding:11px 15px;font-size:13px;line-height:1.5;position:relative;box-shadow:0 2px 8px #00000026}.msg-bubble.incoming{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default)}.msg-bubble.outgoing{color:var(--text-primary);border:0;font-weight:700;box-shadow:0 10px 22px #0003,inset 0 1px #ffffff57}.msg-bubble.outgoing.male{background:linear-gradient(135deg,#ff9a45 0%,#ff7518 100%)}.msg-bubble.outgoing.female{background:linear-gradient(135deg,#b7ffbd 0%,#78e889 100%)}.chat-message-row.left .msg-bubble{border-bottom-left-radius:4px}.chat-message-row.right .msg-bubble{border-bottom-right-radius:4px}.msg-text{word-break:break-word;white-space:pre-wrap;margin:0;color:inherit!important}.msg-time{text-align:right;margin-top:4px;font-size:9px;font-weight:500;display:block}.msg-bubble.incoming .msg-time{color:var(--text-muted)}.msg-bubble.outgoing .msg-time{color:#11130f94}.typing-dots{align-items:center;gap:4px;height:14px;padding:0 4px;display:flex}.typing-dots span{border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typing-bounce;display:inline-block}.typing-dots.male span{background:var(--orange)}.typing-dots.female span{background:var(--mint)}.typing-dots span:first-child{animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}}.typing-glow{background:var(--glass-muted-bg);border:1px solid var(--border-subtle)}.emoji-picker-tray{background:color-mix(in srgb, var(--bg-surface) 96%, transparent);-webkit-backdrop-filter:blur(25px);border-top:1px solid var(--border-subtle);z-index:105;padding:14px;animation:.25s cubic-bezier(.16,1,.3,1) tray-slide-up;position:absolute;bottom:62px;left:0;right:0}@keyframes tray-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.emoji-picker-grid{grid-template-columns:repeat(6,1fr);gap:9px;display:grid}.emoji-btn{background:var(--glass-muted-bg);border:1px solid var(--border-subtle);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;height:40px;font-size:19px;transition:all .2s;display:flex}.emoji-btn:hover{background:color-mix(in srgb, var(--bg-secondary) 80%, transparent);transform:scale(1.1)}.phone-input-bar{background:color-mix(in srgb, var(--bg-surface) 98%, transparent);border-top:1px solid var(--border-subtle);z-index:100;align-items:center;gap:10px;height:62px;padding:10px 14px;display:flex}.emoji-toggle-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:4px;font-size:20px;line-height:1;transition:color .2s,transform .2s}.emoji-toggle-btn:hover{transform:scale(1.1)}.emoji-toggle-btn.active.male{color:var(--orange)}.emoji-toggle-btn.active.female{color:var(--mint)}.phone-chat-input{background:var(--bg-secondary);border:1px solid var(--border-default);height:40px;color:var(--text-primary);border-radius:20px;outline:none;flex:1;padding:0 16px;font-size:13px;transition:border-color .2s}.phone-chat-input:focus{border-color:var(--orange);background:var(--bg-surface)}.phone-chat-input::placeholder{color:var(--text-muted)}.phone-send-btn{cursor:pointer;width:38px;height:38px;color:var(--bg-primary);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .2s;display:flex}.phone-send-btn.male{background:var(--orange)}.phone-send-btn.female{background:var(--mint)}.phone-send-btn:disabled{opacity:.4}.phone-send-btn:hover:not(:disabled){transform:scale(1.08)}.phone-home-pill-wrap{background:color-mix(in srgb, var(--bg-surface) 98%, transparent);justify-content:center;align-items:center;height:16px;padding-bottom:4px;display:flex}.phone-home-pill{background:var(--text-muted);border-radius:99px;width:88px;height:4px}@media (width<=980px){.chat-phone-sidebar{width:min(420px,100vw - 32px);height:min(88svh,760px);right:16px}}@media (width<=560px){.top-controls-row{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;width:calc(100vw - 20px);max-width:calc(100vw - 20px);top:16px;left:50%}.top-controls-container{max-width:100%;height:46px}.floating-filter-dock{width:240px}.filter-slider-bg{width:77px}.publish-treat-trigger{min-height:42px;padding:0 var(--space-md);font-size:var(--size-xs)}.usage-instructions-dialog{width:calc(100vw - 24px);padding:var(--space-xl)}.usage-instructions-body{min-height:220px;max-height:46dvh;padding:var(--space-md) var(--space-lg)}.usage-instructions-actions{flex-direction:column-reverse}.usage-instructions-secondary,.usage-instructions-primary{width:100%}.publish-treat-dialog{width:calc(100vw - 24px);padding:var(--space-xl)}.publish-treat-fields{grid-template-columns:1fr}.publish-treat-actions{flex-direction:column-reverse}.publish-treat-secondary,.publish-treat-primary{width:100%}.chat-phone-sidebar{width:calc(100vw - 20px);height:calc(100svh - 28px);max-height:none;right:10px}.phone-bezel{border-width:7px;border-radius:36px}.phone-screen-inner{border-radius:29px}.phone-chat-body{padding:16px 14px}}.ip-location-badge{align-items:center;gap:var(--space-xs);padding:0 var(--space-md);background-color:var(--glass-control-bg);border:1px solid var(--glass-control-border);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(10px);height:38px;color:var(--text-primary);font-size:var(--size-xs);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm);transition:all .3s var(--easing-default);display:flex}.ip-location-badge:hover{border-color:color-mix(in srgb, var(--mint) 38%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--mint) 18%, transparent)}.ip-location-dot{background-color:var(--mint);width:6px;height:6px;box-shadow:0 0 6px var(--mint);border-radius:50%;animation:2s ease-in-out infinite ipPulseGlow}.ip-location-text{white-space:nowrap;letter-spacing:.5px}@keyframes ipPulseGlow{0%,to{opacity:.6;box-shadow:0 0 4px var(--mint)}50%{opacity:1;box-shadow:0 0 10px var(--mint)}}.auth-loading-screen{min-height:calc(100svh - 152px);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.login-dialog-root{z-index:9998;position:fixed;inset:0;overflow:hidden}.login-dialog-overlay{z-index:9998;background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--orange) 14%, transparent) 0%, transparent 34%), color-mix(in srgb, var(--bg-primary) 38%, #0000008f);-webkit-backdrop-filter:blur(12px)saturate(.94);pointer-events:auto;justify-content:center;align-items:center;padding:clamp(18px,4vh,44px) 20px;display:flex;position:fixed;inset:0}.login-dialog-panel{pointer-events:auto;isolation:isolate;width:min(420px,100vw - 32px);max-height:min(720px,100dvh - 36px);animation:modalScaleUp var(--duration-normal) var(--easing-default);position:relative}.login-dialog-close{z-index:80;border:1px solid color-mix(in srgb, var(--border-default) 78%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-surface) 76%, transparent);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;font-size:20px;font-weight:var(--weight-bold);transition:background var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);place-items:center;line-height:1;display:grid;position:absolute;top:12px;right:12px}.login-dialog-close:hover{background:color-mix(in srgb, var(--bg-surface) 94%, transparent);color:var(--text-primary);transform:scale(1.04)}.auth-loading-screen .spinner{border:3px solid color-mix(in srgb, var(--orange) 18%, transparent);border-top-color:var(--brand-orange);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-card-container{background:color-mix(in srgb, var(--bg-surface) 78%, transparent);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb, var(--border-default) 72%, transparent);width:100%;max-width:460px;box-shadow:var(--shadow-md);border-radius:24px;margin:40px auto;padding:38px 32px}.auth-card-dialog{z-index:1;overscroll-behavior:contain;max-height:min(720px,100dvh - 36px);box-shadow:0 28px 90px #0000007a, inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 36%, transparent);margin:0;padding:34px 28px 28px;position:relative;overflow-y:auto}.auth-card-header{text-align:center;margin-bottom:28px}.auth-card-header h2{color:var(--text-primary);letter-spacing:-.5px;margin:6px 0 10px;font-size:28px;font-weight:800}.auth-header-desc{color:var(--text-secondary);font-size:14px;line-height:1.5}.auth-tab-group{background:var(--bg-secondary);border-radius:12px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.auth-tab-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--easing-default);background:0 0;border:0;border-radius:8px;flex:1;padding:8px 12px;font-size:13.5px;font-weight:700}.auth-tab-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.auth-alert{text-align:left;border-radius:12px;margin-bottom:20px;padding:12px 16px;font-size:13px;line-height:1.45}.auth-alert-error{background:color-mix(in srgb, var(--error) 12%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--error) 30%, transparent);color:var(--error)}.auth-alert-success{background:var(--mint-subtle);border:1px solid color-mix(in srgb, var(--mint) 35%, transparent);color:var(--mint-dark)}.auth-region-options{gap:12px;margin-bottom:20px;display:grid}.auth-region-option{border:1px solid var(--border-default);background:var(--bg-surface);min-height:64px;color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.auth-region-option:hover{border-color:color-mix(in srgb, var(--brand-orange) 42%, var(--border-default));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.auth-region-option:disabled{cursor:not-allowed;opacity:.58}.auth-region-option:disabled:hover{border-color:var(--border-default);box-shadow:none;transform:none}.auth-region-option:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-orange) 26%, transparent);outline-offset:2px}.auth-region-option span{font-size:14px;font-weight:800}.auth-region-option small{color:var(--text-secondary);font-size:12px;line-height:1.35}.auth-region-option-primary{background:var(--orange-subtle);border-color:color-mix(in srgb, var(--brand-orange) 34%, var(--border-default))}.auth-location-retry{margin:0 auto;display:block}.auth-location-retry:disabled{cursor:not-allowed;opacity:.55}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-input-group{text-align:left;flex-direction:column;gap:7px;display:flex}.auth-input-group label{color:var(--text-primary);font-size:13px;font-weight:750}.auth-input-group input{border:1px solid var(--border-default);background:var(--bg-surface);width:100%;height:46px;color:var(--text-primary);transition:all var(--duration-fast) var(--easing-default);border-radius:10px;padding:0 14px;font-size:14px}.auth-input-group input:focus{border-color:var(--brand-orange);outline:0;box-shadow:0 0 0 3px #ff75181f}.auth-phone-row{border:1px solid var(--border-default);background:var(--bg-surface);transition:all var(--duration-fast) var(--easing-default);border-radius:10px;align-items:center;display:flex;overflow:hidden}.auth-phone-row:focus-within{border-color:var(--brand-orange);box-shadow:0 0 0 3px #ff75181f}.auth-phone-prefix{color:var(--text-primary);border-right:1px solid var(--border-subtle);padding:0 12px 0 14px;font-size:14px;font-weight:700}.auth-phone-row input{border:0;border-radius:0;flex:1}.auth-phone-row input:focus{box-shadow:none}.auth-otp-row{gap:8px;display:flex}.auth-otp-row input{flex:1}.auth-send-otp-btn{border:1px solid var(--border-default);background:var(--bg-secondary);height:46px;color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--easing-default);border-radius:10px;padding:0 16px;font-size:13px;font-weight:700}.auth-send-otp-btn:hover:not(:disabled){background:var(--border-subtle)}.auth-send-otp-btn:disabled{opacity:.55;cursor:not-allowed}.auth-submit-btn{background:var(--brand-orange);height:48px;color:var(--bg-surface);cursor:pointer;transition:all var(--duration-fast) var(--easing-default);border:0;border-radius:99px;font-size:15px;font-weight:800;box-shadow:0 4px 14px #ff751833}.auth-submit-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-switch-footer{text-align:center;margin-top:14px}.auth-switch-link{color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:0;font-size:13px;text-decoration:underline}.auth-switch-link:hover{color:var(--text-primary)}.login-dialog-panel .auth-loading-screen{border:1px solid color-mix(in srgb, var(--border-default) 72%, transparent);background:color-mix(in srgb, var(--bg-surface) 78%, transparent);-webkit-backdrop-filter:blur(20px);border-radius:24px;min-height:320px;box-shadow:0 28px 90px #0000007a}.login-dialog-panel .auth-card-header{margin-bottom:20px;padding-right:28px}.login-dialog-panel .auth-card-header h2{margin:4px 0 6px;font-size:25px}.login-dialog-panel .auth-tab-group{margin-bottom:18px}.login-dialog-panel .auth-form{gap:14px}.login-dialog-panel .auth-submit-btn{margin-top:8px}.login-dialog-panel .auth-switch-footer{margin-top:18px}.gender-select-wrapper{text-align:left;flex-direction:column;gap:10px;display:flex}.gender-select-label{color:var(--text-primary);font-size:13px;font-weight:750}.gender-cards-row{gap:16px;margin-bottom:8px;display:flex}.gender-select-card{border:1px solid var(--border-default);background:var(--bg-surface);cursor:pointer;transition:all var(--duration-normal) var(--easing-default);border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:22px 14px;display:flex}.gender-symbol{font-size:32px;font-weight:700;line-height:1}.gender-name{color:var(--text-primary);margin-top:10px;font-size:16px;font-weight:800}.gender-token-desc{color:var(--text-secondary);margin-top:4px;font-size:10.5px}.gender-select-card.male{background:var(--orange-subtle)}.gender-select-card.male:hover{border-color:#ff751866}.gender-select-card.male.active{border-color:var(--brand-orange);background:var(--orange-light);border-width:2px;box-shadow:0 0 15px #ff75182e}.gender-symbol.male-symbol{color:var(--brand-orange)}.gender-select-card.female{background:var(--mint-subtle)}.gender-select-card.female:hover{border-color:#90ee9080}.gender-select-card.female.active{border-color:var(--brand-mint);background:var(--mint-light);border-width:2px;box-shadow:0 0 15px #90ee9038}.gender-symbol.female-symbol{color:var(--mint-dark)}.user-nav-name{color:var(--nav-text-primary);border-left:1px solid var(--nav-control-border);margin-left:4px;padding:0 6px;font-size:14px;font-weight:700}.btn-nav-signout{background:var(--nav-control-bg);border:1px solid var(--nav-control-border);color:var(--nav-text-secondary);cursor:pointer;transition:all var(--duration-fast);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.btn-nav-signout:hover{background:var(--nav-control-bg-active);border-color:var(--nav-control-border-active);color:var(--nav-text-primary)}.btn-nav-login{background:var(--brand-orange);cursor:pointer;height:32px;transition:all var(--duration-fast);border:0;border-radius:99px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #ff751826;color:#fff!important}.btn-nav-login:hover{opacity:.9;transform:translateY(-.5px)}.auth-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#0006;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.auth-confirm-modal{background:color-mix(in srgb, var(--bg-surface) 96%, transparent);border:1px solid color-mix(in srgb, var(--border-default) 86%, transparent);width:min(400px,100% - 32px);box-shadow:var(--shadow-lg);text-align:center;animation:modalScaleUp .3s var(--easing-default);border-radius:20px;padding:28px 24px}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.auth-confirm-modal h3{color:var(--text-primary);margin:0 0 12px;font-size:20px;font-weight:800}.auth-confirm-modal p{color:var(--text-secondary);margin:0 0 24px;font-size:14px;line-height:1.6}.auth-modal-actions{gap:12px;display:flex}.auth-modal-actions button{cursor:pointer;min-height:44px;transition:all var(--duration-fast) var(--easing-default);border-radius:12px;flex:1;font-size:14px;font-weight:700}.btn-modal-cancel{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary)}.btn-modal-cancel:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-modal-confirm{background:var(--brand-orange);color:var(--bg-surface);border:none;box-shadow:0 4px 12px #ff751833}.btn-modal-confirm:hover{background:var(--orange-hover);transform:translateY(-1px);box-shadow:0 6px 16px #ff751859}
