
/* StreetMate 2026 visual refresh - keeps existing app structure intact */
  :root{
    --bg:#05070d;--panel:rgba(15,22,35,.82);--panel2:rgba(22,32,50,.9);--text:#f7fbff;--muted:#96a4b8;--cyan:#25efff;--pink:#ff2b8a;--green:#65f2a3;--yellow:#ffd166;--line:rgba(255,255,255,.11);--shadow:0 24px 70px rgba(0,0,0,.42);--soft:0 14px 40px rgba(0,0,0,.28);--r:24px;--ease:cubic-bezier(.2,.8,.2,1)
  }
  *{-webkit-tap-highlight-color:transparent} html{color-scheme:dark} body{min-height:100vh;background:radial-gradient(circle at 15% 5%,rgba(37,239,255,.18),transparent 28rem),radial-gradient(circle at 88% 3%,rgba(255,43,138,.16),transparent 30rem),linear-gradient(180deg,#07101b 0%,var(--bg) 48%,#05070d 100%);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,"Segoe UI",sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.01em;overflow-x:hidden}
  body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(180deg,#000,transparent 74%)}
  body.is-networking:before{content:"";position:fixed;left:0;right:0;top:0;z-index:100;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),var(--pink),transparent);background-size:220% 100%;animation:sm-progress 1.1s linear infinite;box-shadow:0 0 18px rgba(37,239,255,.8)}
  @keyframes sm-progress{from{background-position:220% 0}to{background-position:-40% 0}} @keyframes sm-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}} @keyframes sm-shimmer{from{transform:translateX(-120%)}to{transform:translateX(120%)}} @keyframes sm-pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
  a,button,input,textarea,select{transition:color .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease),transform .22s var(--ease),opacity .22s var(--ease)} button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(37,239,255,.28);outline-offset:3px} button:disabled,.is-loading button[type=submit]{cursor:wait;opacity:.68;transform:none!important}
  .top{height:78px;background:rgba(5,8,14,.72);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(24px) saturate(1.2);box-shadow:0 16px 44px rgba(0,0,0,.18)} .logo{gap:12px;text-transform:lowercase;letter-spacing:-.04em}.logo span{font-weight:900}.mark{filter:drop-shadow(0 0 12px rgba(37,239,255,.36)) drop-shadow(0 0 18px rgba(255,43,138,.18))}
  nav{gap:8px;padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.035)} nav a{height:40px;padding:0 15px;border-radius:999px;color:rgba(255,255,255,.62);font-size:12px;letter-spacing:.01em} nav a:hover,nav a:first-child{color:#071019;background:var(--cyan);box-shadow:0 0 28px rgba(37,239,255,.24)}
  .btn{min-height:42px;border-color:rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)} .btn:hover{transform:translateY(-2px);border-color:rgba(37,239,255,.45);background:rgba(37,239,255,.1);box-shadow:0 14px 34px rgba(0,0,0,.22),0 0 0 5px rgba(37,239,255,.06)} .primary{background:linear-gradient(135deg,var(--cyan),#8df9ff);color:#031018;border-color:transparent;box-shadow:0 18px 45px rgba(37,239,255,.22)} .pink{background:linear-gradient(135deg,var(--pink),#ff75b5);color:#fff;border-color:transparent;box-shadow:0 18px 45px rgba(255,43,138,.24)}
  .hero{min-height:min(760px,calc(100vh - 78px));display:grid;align-content:center;padding-block:clamp(82px,11vw,148px);border-bottom:0}.hero:before{opacity:.8;mask-image:radial-gradient(circle at 24% 30%,#000,transparent 68%)}.hero:after{width:min(44vw,560px);height:min(44vw,560px);right:8vw;top:118px;border:1px solid rgba(37,239,255,.16);background:radial-gradient(circle at 55% 40%,rgba(37,239,255,.2),transparent 33%),radial-gradient(circle at 40% 62%,rgba(255,43,138,.17),transparent 30%);box-shadow:inset 0 0 90px rgba(255,255,255,.04),0 0 0 96px rgba(37,239,255,.018),0 0 140px rgba(37,239,255,.08);animation:sm-orbit 9s ease-in-out infinite alternate}@keyframes sm-orbit{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(22px,-16px,0) rotate(8deg)}}
  .kicker{color:var(--cyan);font-size:11px;letter-spacing:.18em}.hero h1{max-width:880px;margin:18px 0 22px;font-size:clamp(54px,8.4vw,118px);line-height:.88;letter-spacing:-.075em;text-wrap:balance}.hero h1 span{background:linear-gradient(90deg,var(--cyan),#fff,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0;text-shadow:none}.hero>p{max-width:680px;color:rgba(234,241,250,.74);font-size:clamp(15px,1.8vw,19px);line-height:1.75}
  .search{min-height:76px;margin-top:34px;padding:9px;border-color:rgba(255,255,255,.14);border-radius:24px;background:rgba(14,22,36,.76);backdrop-filter:blur(22px) saturate(1.25);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.08)}.search label{color:#75f7ff;font-weight:800}.search input{font-weight:650}.quick{gap:10px}.quick button,.chip{min-height:34px;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:rgba(255,255,255,.72);font-size:11px;font-weight:800}.quick button:hover,.chip:hover,.chip.active{color:#031018;background:var(--cyan);border-color:transparent;transform:translateY(-2px)}
  .section{max-width:1240px;padding-block:clamp(66px,8vw,108px)}.head h2,.tonight h2,.today-head h2{font-size:clamp(34px,4.8vw,62px);line-height:.96;letter-spacing:-.055em;text-wrap:balance}.section-copy,.body p,.detail-copy,.people-head p{color:rgba(214,224,238,.68)}
  .cats,.situations{gap:14px}.cat{position:relative;min-height:132px;overflow:hidden;border-color:rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(14,22,35,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.cat:after{content:"";position:absolute;inset:auto -30% -60% 22%;height:90px;background:radial-gradient(circle,rgba(37,239,255,.22),transparent 66%);opacity:0;transition:.28s var(--ease)}.cat:hover,.cat.active{transform:translateY(-5px);border-color:rgba(37,239,255,.36);background:linear-gradient(145deg,rgba(37,239,255,.16),rgba(255,43,138,.07)),rgba(14,22,35,.86);box-shadow:0 18px 48px rgba(0,0,0,.28),0 0 0 5px rgba(37,239,255,.045)}.cat:hover:after,.cat.active:after{opacity:1;transform:translateY(-18px)}.cat span{width:44px;height:44px;border-radius:15px;background:rgba(37,239,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.cat strong{position:relative;z-index:1;font-size:14px}.cat small{position:relative;z-index:1;color:rgba(215,226,241,.54);font-size:10px}
  .today-head{border-top-color:rgba(255,255,255,.09)}.pulse-grid{gap:14px}.pulse-card{min-height:138px;border-color:rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),rgba(14,22,35,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.pulse-card:hover{transform:translateY(-5px);border-color:rgba(37,239,255,.34);box-shadow:var(--soft)}.pulse-icon{border-radius:16px;background:rgba(255,255,255,.075)}.pulse-card small{color:var(--cyan);font-size:8px}.pulse-card strong{font-size:15px}.filters{gap:10px;flex-wrap:wrap;margin-bottom:26px}
  .grid{gap:22px}.card{position:relative;isolation:isolate;border-color:rgba(255,255,255,.1);border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03)),rgba(14,22,35,.86);box-shadow:var(--soft),inset 0 1px 0 rgba(255,255,255,.065);animation:sm-in .48s var(--ease) both}.card:nth-child(2){animation-delay:.04s}.card:nth-child(3){animation-delay:.08s}.card:nth-child(4){animation-delay:.12s}.card:nth-child(5){animation-delay:.16s}.card:hover{transform:translateY(-8px);border-color:rgba(37,239,255,.36);box-shadow:0 32px 80px rgba(0,0,0,.44),0 0 0 6px rgba(37,239,255,.045)}.visual{height:214px;border-radius:23px 23px 18px 18px}.visual:before{width:210px;height:210px;background:rgba(255,255,255,.12);filter:blur(2px)}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,13,.04),rgba(5,7,13,.6)),radial-gradient(circle at 20% 10%,rgba(255,255,255,.13),transparent 32%);pointer-events:none}.icon{font-size:68px;z-index:1}.badge,.event-mark,.detail-badge,.detail-event{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(5,9,16,.62);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.fav{width:38px;height:38px;border-color:rgba(255,255,255,.16);background:rgba(5,9,16,.56);backdrop-filter:blur(14px);color:#fff}.fav:hover{transform:scale(1.07);border-color:rgba(255,43,138,.55)}.fav.on{background:var(--pink);color:#fff}.body{padding:20px}.body h3{margin-top:11px;font-size:22px;letter-spacing:-.04em}.meta,.foot{font-size:10px}.meta b{color:#75f7ff}.foot{border-top-color:rgba(255,255,255,.08)}.open{color:var(--green)}.closed{color:#ff89ad}
  .empty,.no-people,.error-state{border-color:rgba(255,255,255,.12);border-radius:var(--r);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)),rgba(14,22,35,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.empty:before,.no-people:before{content:"⌁";display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:18px;background:rgba(37,239,255,.1);color:var(--cyan);font-size:26px}.error-state{padding:32px;color:rgba(255,214,226,.9);text-align:center}.error-state strong{display:block;margin-bottom:8px;color:#fff;font-size:18px}
  .skeleton-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:var(--r);background:rgba(14,22,35,.72);box-shadow:var(--soft)}.skeleton-card .sk-visual,.skeleton-card .sk-line,.skeleton-card .sk-pill{position:relative;overflow:hidden;background:rgba(255,255,255,.08)}.skeleton-card .sk-visual:after,.skeleton-card .sk-line:after,.skeleton-card .sk-pill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:sm-shimmer 1.35s infinite}.sk-visual{height:214px}.sk-body{padding:20px}.sk-pill{width:94px;height:18px;border-radius:999px;margin-bottom:18px}.sk-line{height:13px;border-radius:999px;margin-top:12px}.sk-line.title{width:62%;height:24px}.sk-line.short{width:46%}
  .tonight{margin-block:70px;border-block:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 78% 46%,rgba(255,43,138,.22),transparent 34%),radial-gradient(circle at 20% 30%,rgba(37,239,255,.12),transparent 32%),linear-gradient(135deg,rgba(15,24,38,.92),rgba(8,12,21,.94))}.live:before{animation:sm-pulse 1.8s ease-in-out infinite}.out,.person-ad,.fact,.venue-event-list article,.own-ad,.ad-form-wrap{border-color:rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)),rgba(14,22,35,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.out{border-radius:22px}.out:hover,.person-ad:hover{transform:translateY(-4px);border-color:rgba(37,239,255,.26);box-shadow:var(--soft)}.rank a{overflow:hidden;border-color:rgba(255,255,255,.1);border-radius:var(--r);background:radial-gradient(circle at 85% 14%,var(--tint),transparent 32%),linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(14,22,35,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.rank a:hover{transform:translateY(-7px);box-shadow:var(--soft)}
  .place-dialog,.account-dialog{border-color:rgba(255,255,255,.13);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(9,14,24,.94);backdrop-filter:blur(22px) saturate(1.18);box-shadow:0 38px 120px rgba(0,0,0,.62)}.dialog-x{border-color:rgba(255,255,255,.14);background:rgba(8,13,23,.66);backdrop-filter:blur(16px)}.dialog-x:hover{transform:rotate(6deg) scale(1.04);border-color:rgba(255,43,138,.45);color:#ff72b2}.detail-hero{height:286px}.detail-body,.account-shell{padding:34px}.detail-title h2,.account-shell h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.055em}.detail-facts{gap:12px}.detail-tags span,.person-place,.approach{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055)}.ad-form input,.ad-form textarea,.ad-form select,.account-form input,.account-form textarea{border-color:rgba(255,255,255,.12);border-radius:14px;background:rgba(3,7,13,.56)}.ad-form input:focus,.ad-form textarea:focus,.ad-form select:focus,.account-form input:focus,.account-form textarea:focus{border-color:rgba(37,239,255,.52);box-shadow:0 0 0 5px rgba(37,239,255,.08)}
  .toast{left:auto;right:22px;bottom:22px;transform:translateY(16px) scale(.98);max-width:min(420px,calc(100vw - 44px));border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07)),rgba(9,14,24,.92);backdrop-filter:blur(22px) saturate(1.2);color:#fff;box-shadow:var(--shadow);font-size:13px;line-height:1.45}.toast:before{content:"✦";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:999px;background:rgba(37,239,255,.16);color:var(--cyan)}.toast.show{transform:translateY(0) scale(1)}.toast[data-type=error]:before{content:"!";background:rgba(255,43,138,.16);color:#ff72b2}.server-banner{top:78px;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(90deg,#ffd166,#ff9f1c);color:#1b1000}footer{border-top-color:rgba(255,255,255,.08);background:rgba(3,6,11,.36)}.mobile{height:72px;border-top-color:rgba(255,255,255,.1);background:rgba(5,8,14,.84);backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 -18px 50px rgba(0,0,0,.32)}.mobile a,.mobile button{position:relative;color:rgba(255,255,255,.55);font-weight:800}.mobile a:first-child{color:var(--cyan)}.mobile a:hover,.mobile button:hover{color:#fff}
  @media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
  @media(max-width:1050px){.top{padding-inline:22px}nav{gap:4px}nav a{padding-inline:11px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:900px){.top{height:68px}.hero{min-height:auto;padding-top:74px}.pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tonight{grid-template-columns:1fr}}
  @media(max-width:650px){body{padding-bottom:78px}.top{padding-inline:16px}.logo{font-size:19px}.mark{width:38px}.hero{padding:56px 16px 48px}.hero h1{font-size:clamp(48px,15vw,76px);letter-spacing:-.08em}.hero>p{font-size:15px}.search{grid-template-columns:1fr;gap:8px;border-radius:22px}.search label{width:100%;min-height:46px;display:flex;align-items:center}.search input{width:100%}.search .btn{width:100%;min-height:50px}.quick{margin-right:-16px;padding-right:16px;overflow-x:auto;scrollbar-width:none}.quick button{flex:0 0 auto}.section{padding:58px 16px}.head{align-items:flex-start;gap:12px;margin-bottom:22px}.head h2,.today-head h2,.tonight h2{font-size:clamp(32px,10vw,44px)}.cats{display:flex;gap:10px;margin-right:-16px;padding-right:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.situations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-right:0;padding-right:0;overflow:visible}.cats:not(.situations) .cat{min-width:158px;scroll-snap-align:start}.cat{min-height:116px;padding:15px}.today-head{margin-top:48px}.pulse-grid{display:flex;gap:10px;margin-right:-16px;padding:0 16px 4px 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.pulse-card{min-width:278px;scroll-snap-align:start}.filters{flex-wrap:nowrap;margin-right:-16px;padding-right:16px;overflow-x:auto;scrollbar-width:none}.chip{flex:0 0 auto}.grid{grid-template-columns:1fr;gap:16px}.visual,.sk-visual{height:230px}.card{border-radius:26px}.body h3{font-size:24px}.tonight{margin-block:28px;padding:62px 16px}.out{grid-template-columns:46px 1fr}.out button{grid-column:2;justify-self:end}.place-dialog,.account-dialog{width:100%;height:100%;max-height:none;border-radius:0}.detail-hero{height:226px}.detail-body,.account-shell{padding:24px 18px 32px}.toast{left:14px;right:14px;bottom:86px;max-width:none}.mobile{height:76px;padding-bottom:env(safe-area-inset-bottom)}}

