/* SOGAY Design System 01.3 — City Afterglow
 * Presentation only: routes, SEO, APIs and data contracts remain unchanged.
 */
:root{
  --sg-paper:#f4f1e9;--sg-paper-2:#e7e1d5;--sg-ink:#101b38;--sg-muted:#667087;
  --sg-line:rgba(16,27,56,.16);--sg-signal:#3e7bfa;--sg-coral:#ff6b55;
  --sg-mint:#21a77a;--sg-gold:#a67522;--sg-night:#0b1329;--sg-night-2:#101d3b;
  --sg-content:1180px;--sg-safe:env(safe-area-inset-bottom,0px);
  --sg-sans:"Avenir Next","PingFang TC","PingFang SC","Noto Sans CJK TC",sans-serif;
  --sg-serif:"Iowan Old Style","Songti TC","Songti SC",serif;
}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scrollbar-gutter:stable}
body{font-family:var(--sg-sans)}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid color-mix(in srgb,var(--sg-signal) 72%,white);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Shared four-destination navigation */
.sg-global-nav{position:fixed;z-index:110;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,var(--sg-content));height:70px;padding:7px 14px calc(7px + var(--sg-safe));display:grid;grid-template-columns:repeat(4,1fr);background:rgba(248,246,240,.95);backdrop-filter:blur(18px);border-top:1px solid rgba(16,27,56,.11);box-shadow:0 -8px 28px rgba(16,27,56,.08)}
.sg-global-nav a{min-height:48px;color:#7c8495;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:700;letter-spacing:.02em;border-radius:12px}
.sg-global-nav a:hover{background:rgba(62,123,250,.07);color:var(--sg-ink)}
.sg-global-nav a[aria-current="page"]{color:var(--sg-signal);background:rgba(62,123,250,.08)}
.sg-global-nav i{width:20px;height:20px;position:relative;display:block;font-style:normal}
.sg-global-nav .nearby i{border:1.5px solid currentColor;border-radius:50%}
.sg-global-nav .nearby i:after{content:"";width:5px;height:5px;background:currentColor;border-radius:50%;position:absolute;inset:0;margin:auto;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
.sg-global-nav .chat i{border:1.5px solid currentColor;border-radius:7px}
.sg-global-nav .chat i:after{content:"";position:absolute;bottom:-3px;left:3px;border:4px solid transparent;border-top-color:currentColor;transform:rotate(25deg)}
.sg-global-nav .wish i:before{content:"✦";font-size:21px;position:absolute;line-height:20px}
.sg-global-nav .guide i{border:1.5px solid currentColor;border-radius:3px}
.sg-global-nav .guide i:after{content:"";position:absolute;left:9px;top:0;height:100%;border-left:1px solid currentColor}

.sg-brandline{font-family:"Avenir Next Condensed",var(--sg-sans);font-weight:900;letter-spacing:-.045em}
.sg-brandline em{font-style:normal;color:var(--sg-signal)}
.sg-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--sg-coral)}

/* Nearby / radar — the real map remains the evidence layer */
body.sg-nearby{background:var(--sg-night);color:#fff;padding-bottom:70px}
body.sg-nearby:before{content:"";position:fixed;z-index:1;right:max(42px,calc((100vw - var(--sg-content))/2 + 44px));top:51%;transform:translateY(-50%);width:min(46vw,590px);aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:.82;background:radial-gradient(circle,#3e7bfa 0 7px,#fff 8px 10px,rgba(62,123,250,.16) 11px 16%,transparent 16.4% 29%,rgba(92,139,240,.22) 29.3% 29.6%,transparent 30% 43%,rgba(92,139,240,.16) 43.3% 43.6%,transparent 44% 57%,rgba(92,139,240,.11) 57.3% 57.6%,transparent 58%),repeating-linear-gradient(32deg,transparent 0 82px,rgba(118,143,197,.06) 83px 84px,transparent 85px 148px);filter:drop-shadow(0 30px 70px rgba(13,62,165,.17))}
body.sg-nearby #tabbar{display:none!important}
body.sg-nearby #bottomnav{display:none!important}
body.sg-nearby .sg-fh{bottom:82px!important}
body.sg-nearby #topbar{height:64px!important;top:0!important;background:rgba(8,14,31,.88)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;backdrop-filter:blur(18px)}
body.sg-nearby #topbar .brand{font-family:"Avenir Next Condensed",var(--sg-sans);letter-spacing:-.04em}
body.sg-nearby #map:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,12,28,.82) 0,rgba(7,12,28,.38) 38%,transparent 66%)}
.sg-radar-intro{position:fixed;z-index:16;left:max(28px,calc((100vw - var(--sg-content))/2 + 42px));top:50%;transform:translateY(-48%);width:min(430px,37vw);padding:28px 30px 26px;background:rgba(7,13,30,.75);border:1px solid rgba(255,255,255,.12);border-radius:3px 28px 28px 28px;backdrop-filter:blur(16px);box-shadow:0 28px 70px rgba(0,0,0,.28)}
.sg-radar-intro .sg-eyebrow{color:#9eb7ee}
.sg-radar-intro h1{font-size:clamp(38px,4.2vw,64px);line-height:.98;letter-spacing:-.055em;margin:12px 0 18px}
.sg-radar-intro p{font-family:var(--sg-serif);font-size:15px;line-height:1.72;color:#b4c0db;margin:0;max-width:31em}
.sg-radar-intro button{width:100%;min-height:52px;margin-top:24px;padding:0 18px;border:0;border-radius:14px;background:var(--sg-signal);color:#fff;font:800 15px var(--sg-sans);box-shadow:0 12px 24px rgba(62,123,250,.28);display:flex;align-items:center;justify-content:space-between}
.sg-radar-intro small{display:block;color:#7784a4;font-size:10px;margin-top:10px}
.sg-utility-actions{border-top:1px solid rgba(255,255,255,.12);margin-top:10px;padding-top:10px}
.sg-utility-actions .nav-ico{width:100%;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;border:0!important;background:transparent!important;color:#eef3ff!important;padding:8px 10px!important;border-radius:10px!important}

/* City chat — editorial lobby on desktop, focused room when entered */
body.sg-chat{margin:0;background:linear-gradient(135deg,#d5d2ca,#ebe8df);color:var(--sg-ink);padding-bottom:70px}
body.sg-chat #app{width:min(100%,var(--sg-content));max-width:none;min-height:100vh;height:100%;margin:0 auto;background:var(--sg-paper);box-shadow:0 0 70px rgba(16,27,56,.14)}
body.sg-chat .top{padding:22px clamp(18px,4vw,48px) 14px;background:rgba(244,241,233,.96);border-bottom:1px solid var(--sg-line)}
body.sg-chat .brand b{font-family:"Avenir Next Condensed",var(--sg-sans);font-size:21px;letter-spacing:-.04em}
body.sg-chat .brand em{font-size:10px;letter-spacing:.09em;color:var(--sg-muted)}
body.sg-chat .nav{display:none}
body.sg-chat #app>.scroll{padding:28px clamp(18px,4vw,48px) 100px;background:var(--sg-paper)}
body.sg-chat .main{max-width:760px;margin:0 0 38px;padding:30px;border-radius:3px 30px 30px 30px;background:linear-gradient(145deg,#132553,#234a9d);box-shadow:0 24px 48px rgba(16,27,56,.18)}
body.sg-chat .main .n b{font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}
body.sg-chat .main .n em{font-family:var(--sg-serif);font-size:16px;margin-top:7px}
body.sg-chat .sec2,body.sg-chat .sec{max-width:900px;margin-left:0;margin-right:0;border-bottom:1px solid var(--sg-line);padding-bottom:8px}
body.sg-chat .here{max-width:900px;margin:0 0 18px;border-radius:2px 18px 18px 18px;background:#dfe8fb}
body.sg-chat .chips{max-width:900px;margin:0;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:0;border-top:1px solid var(--sg-line)}
body.sg-chat .chips button{min-height:48px;border:0;border-bottom:1px solid var(--sg-line);border-radius:0;background:transparent;text-align:left;padding:10px 8px}
body.sg-chat.sg-chat-room{padding-bottom:0}
body.sg-chat.sg-chat-room .sg-global-nav{display:none}

/* Wish — warm paper time stream, no cork-board metaphor */
body.sg-wish{margin:0;background:linear-gradient(135deg,#d5d2ca,#ece9e1);color:var(--sg-ink);padding-bottom:70px}
body.sg-wish #app{width:min(100%,var(--sg-content));max-width:none;min-height:100vh;margin:0 auto;background:var(--sg-paper);box-shadow:0 0 70px rgba(16,27,56,.14);overflow:visible}
body.sg-wish .top{padding:26px clamp(18px,4vw,48px) 18px;background:var(--sg-paper);border-bottom:4px solid var(--sg-ink)}
body.sg-wish .top h1{font-family:"Avenir Next Condensed",var(--sg-sans);font-size:22px;letter-spacing:-.04em}
body.sg-wish .nav{display:none}
body.sg-wish .oneline{font-family:var(--sg-serif);font-size:16px;color:var(--sg-muted);margin-top:12px}
body.sg-wish .wall{padding:24px clamp(18px,4vw,48px) 120px;background:var(--sg-paper);background-image:none;box-shadow:none}
body.sg-wish .cols{column-count:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;max-width:980px}
body.sg-wish .note{margin:0;padding:22px 0;border-radius:0;border-top:1px solid var(--sg-line);box-shadow:none;background:transparent!important;transform:none!important;min-height:0}
body.sg-wish .note:before,body.sg-wish .bignote:before{display:none}
body.sg-wish .note .meta{font-size:10px;color:var(--sg-coral);letter-spacing:.04em}
body.sg-wish .note .txt{font-family:var(--sg-serif);font-size:19px;line-height:1.55;color:var(--sg-ink);-webkit-line-clamp:5}
body.sg-wish .note .foot{font-size:10px;color:var(--sg-muted);margin-top:10px}
body.sg-wish .frow{padding:18px clamp(18px,4vw,48px) 0}
body.sg-wish .fab{bottom:calc(84px + var(--sg-safe));left:auto;right:max(18px,calc((100vw - var(--sg-content))/2 + 28px));transform:none;min-height:48px;border-radius:14px;padding:0 20px;background:var(--sg-signal)}
body.sg-wish .fab:active{transform:scale(.97)}
body.sg-wish .sheet{max-width:800px;margin:0 auto;background:var(--sg-paper);padding-bottom:110px}
body.sg-wish .bignote{border-radius:2px 22px 22px 22px;background:#fffdf7!important;box-shadow:0 14px 34px rgba(16,27,56,.08)}

/* Guide — warm editorial ledger */
body.sg-guide{margin:0;background:#d9d6ce;color:var(--sg-ink);padding-bottom:70px;font-family:var(--sg-sans);line-height:1.65}
body.sg-guide .wrap{width:min(100%,var(--sg-content));max-width:none;min-height:100vh;margin:0 auto;padding:22px clamp(18px,4vw,48px) 120px;background:var(--sg-paper);box-shadow:0 0 70px rgba(16,27,56,.14)}
body.sg-guide header{padding:4px 0 24px;border-bottom:1px solid var(--sg-line)}
body.sg-guide .logo{font-family:"Avenir Next Condensed",var(--sg-sans);font-size:22px;letter-spacing:-.04em;color:var(--sg-ink)}
body.sg-guide .logo span{color:var(--sg-signal)}
body.sg-guide .openmap{background:var(--sg-ink);color:#fff;border-radius:12px;box-shadow:none}
body.sg-guide .crumb{margin-top:24px;color:var(--sg-muted)}
body.sg-guide .crumb a{color:var(--sg-signal)}
body.sg-guide h1{font-family:var(--sg-serif);font-size:clamp(38px,5vw,62px);line-height:1.06;letter-spacing:-.045em;color:var(--sg-ink);margin:18px 0}
body.sg-guide h1 small{font-family:var(--sg-sans);font-size:13px;letter-spacing:.03em;color:var(--sg-muted)}
body.sg-guide h2{font-size:20px;color:var(--sg-ink);border-color:var(--sg-line);margin-top:50px}
body.sg-guide .intro{max-width:760px;color:#4d5870;font-family:var(--sg-serif);font-size:16px}
body.sg-guide .intro.en{color:var(--sg-muted)}
body.sg-guide .cities,body.sg-guide .venues,body.sg-guide .cexps{gap:0;border-top:1px solid var(--sg-line)}
body.sg-guide .city,body.sg-guide .v,body.sg-guide .cexp{border:0;border-bottom:1px solid var(--sg-line);border-radius:0;background:transparent;padding:18px 0;box-shadow:none;color:var(--sg-ink)}
body.sg-guide a.city:hover,body.sg-guide a.v:hover,body.sg-guide a.cexp:hover{transform:none;border-color:var(--sg-line);background:rgba(62,123,250,.05);padding-left:10px}
body.sg-guide .city .meta,body.sg-guide .v h3 .go,body.sg-guide .more a,body.sg-guide .cexp-h b{color:var(--sg-signal)}
body.sg-guide .v p,body.sg-guide .cexp p,body.sg-guide .cexp-m{color:var(--sg-muted)}
body.sg-guide .catrow2{border-top:3px solid var(--sg-ink);padding-top:14px}
body.sg-guide .catchip{background:transparent;border-color:var(--sg-line);color:var(--sg-ink)}
body.sg-guide .catchip b{color:var(--sg-coral)}
body.sg-guide .cta{background:var(--sg-ink);border:0;border-radius:2px 24px 24px 24px;color:#fff;text-align:left;padding:26px}
body.sg-guide .cta p{color:#b7c1d8}
body.sg-guide .cta .openmap{background:var(--sg-signal);display:inline-block}
body.sg-guide .hero{border-radius:2px 28px 28px 28px;background:var(--sg-ink)!important;min-height:180px}
body.sg-guide .info,body.sg-guide .exp,body.sg-guide .qa,body.sg-guide .expform{background:#fffdf7;border-color:var(--sg-line);color:var(--sg-ink);border-radius:3px 18px 18px 18px}
body.sg-guide .info .r,body.sg-guide .ans,body.sg-guide footer{border-color:var(--sg-line)}
body.sg-guide .info .r .k,body.sg-guide .note,body.sg-guide .mini,body.sg-guide footer,body.sg-guide .tr{color:var(--sg-muted)}
body.sg-guide .info .r .val a{color:var(--sg-signal)}
body.sg-guide .exp p,body.sg-guide .abody p{color:#3e4961}
body.sg-guide .expform textarea,body.sg-guide .expform input[type=text]:not(.hp),body.sg-guide .expform input[name=nick],body.sg-guide .expform input[name=region],body.sg-guide .expform input[name=visits],body.sg-guide .expform input[name=tag],body.sg-guide .askform input[name=q],body.sg-guide .ansform textarea,body.sg-guide .ansform input:not(.hp){background:#fff;color:var(--sg-ink);border-color:var(--sg-line)}
body.sg-guide .vtabs{top:0;background:rgba(244,241,233,.94);backdrop-filter:blur(15px)}
body.sg-guide .vtabs a{background:#fffdf7;border-color:var(--sg-line);color:var(--sg-ink)}
body.sg-guide .botbar{bottom:70px;background:rgba(244,241,233,.96);border-color:var(--sg-line)}
body.sg-guide .botbar a{background:#fffdf7;border-color:var(--sg-line);color:var(--sg-ink)}
body.sg-guide .botbar a.p{background:var(--sg-signal);color:#fff}
body.sg-guide.sg-venue .wrap{padding-bottom:190px!important}

/* Internal noindex design-system page */
body.sg-system{margin:0;background:#d9d6ce;color:var(--sg-ink);font-family:var(--sg-sans);padding-bottom:70px}
.sg-system-page{width:min(100%,var(--sg-content));min-height:100vh;margin:auto;padding:48px clamp(18px,4vw,56px) 120px;background:var(--sg-paper);box-shadow:0 0 70px rgba(16,27,56,.14)}
.sg-system-page h1{font-size:clamp(44px,6vw,76px);line-height:.94;letter-spacing:-.06em;margin:10px 0 20px}.sg-system-page>p{font:17px/1.7 var(--sg-serif);color:var(--sg-muted);max-width:760px}
.sg-token-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:44px 0}.sg-token{min-height:130px;padding:16px;border:1px solid var(--sg-line);display:flex;flex-direction:column;justify-content:flex-end}.sg-token b{font-size:13px}.sg-token small{color:var(--sg-muted)}
.sg-specimen{border-top:1px solid var(--sg-line);padding:28px 0;display:grid;grid-template-columns:220px 1fr;gap:30px}.sg-specimen h2{margin:0;font-size:17px}.sg-actions{display:flex;flex-wrap:wrap;gap:12px}.sg-actions button{min-height:48px;padding:0 20px;border-radius:14px;border:1px solid var(--sg-line);background:transparent;font-weight:800}.sg-actions .primary{background:var(--sg-signal);border-color:var(--sg-signal);color:#fff}

@media(max-width:760px){
  body.sg-nearby:before{width:320px;right:-104px;top:62%;opacity:.62}
  .sg-radar-intro{left:14px;right:14px;top:112px;transform:none;width:auto;padding:18px 18px 16px;background:rgba(7,13,30,.83)}
  .sg-radar-intro h1{font-size:34px;margin:8px 0 10px;max-width:9em}.sg-radar-intro p{font-size:13px;line-height:1.55}.sg-radar-intro button{margin-top:14px}
  body.sg-nearby #map:after{background:linear-gradient(180deg,rgba(7,12,28,.48),transparent 58%)}
  body.sg-chat #app>.scroll{padding-top:22px}body.sg-chat .main{padding:22px;margin-bottom:28px}
  body.sg-wish .cols{grid-template-columns:1fr}.sg-token-grid{grid-template-columns:repeat(2,1fr)}.sg-specimen{grid-template-columns:1fr}
  body.sg-guide .openmap{padding:9px 11px;font-size:11px}body.sg-guide .info .r{gap:8px}
}
@media(max-width:380px){.sg-global-nav{padding-left:6px;padding-right:6px}.sg-global-nav a{font-size:9px}.sg-radar-intro h1{font-size:30px}}

/* ===== Phase 3C gate fixes（仅展示层）===== */
/* 1) 场所页没有真实图片时：压缩为「场所身份横幅」，让营业状态/地址/时间/价格尽量进首屏 */
body.sg-guide .hero{min-height:0!important;height:128px;padding:12px 18px;font-size:38px;border-radius:2px 22px 22px 22px}
body.sg-guide .hero span{line-height:1}
/* 语言切换（Guide 页内）在暖纸背景下保持可读 */
body.sg-guide .gi-lang summary{background:#fffdf7;border-color:var(--sg-line);color:var(--sg-ink)}
body.sg-guide .gi-menu{background:#fffdf7;border-color:var(--sg-line);box-shadow:0 12px 30px rgba(16,27,56,.16)}
body.sg-guide .gi-menu a{color:var(--sg-ink)}
body.sg-guide .gi-menu a.on{color:var(--sg-signal)}
/* 手机端：品牌与「更多」只在桌面显示，底部四项保持不变 */
.sg-global-nav .sg-brand,.sg-global-nav .sg-more{display:none}
/* 2) 桌面端 ≥1024：顶部轻导航；底部四项/第二条固定底栏不再出现 */
@media(min-width:1024px){
  .sg-global-nav{top:0;bottom:auto;left:0;transform:none;width:100%;height:56px;padding:0 max(24px,calc((100% - var(--sg-content))/2));display:flex;flex-direction:row;align-items:center;gap:4px;border-top:0;border-bottom:1px solid rgba(16,27,56,.11);box-shadow:0 6px 24px rgba(16,27,56,.06)}
  .sg-global-nav .sg-brand{display:block;margin-right:auto;font-weight:900;font-size:20px;letter-spacing:.02em;color:var(--sg-ink);text-decoration:none;padding:0 8px 0 0}
  .sg-global-nav a:not(.sg-brand){flex-direction:row;min-height:38px;padding:0 16px;font-size:14px;gap:0}
  .sg-global-nav i{display:none}
  .sg-global-nav .sg-more{display:block;position:relative}
  .sg-global-nav .sg-more-btn{min-height:38px;padding:0 16px;border-radius:12px;font-size:14px;font-weight:700;color:#7c8495;background:none;border:0;cursor:pointer}
  .sg-global-nav .sg-more-btn:hover,.sg-global-nav .sg-more-btn[aria-expanded="true"]{background:rgba(62,123,250,.07);color:var(--sg-ink)}
  .sg-global-nav .sg-more-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;background:#fffdf7;border:1px solid var(--sg-line);border-radius:14px;padding:6px;box-shadow:0 14px 34px rgba(16,27,56,.18);display:grid}
  .sg-global-nav .sg-more-menu[hidden]{display:none}
  .sg-global-nav .sg-more-menu button,.sg-global-nav .sg-more-menu a{display:block;text-align:left;padding:10px 12px;border:0;background:none;border-radius:9px;font:600 14px/1.3 var(--sg-sans);color:var(--sg-ink);cursor:pointer;text-decoration:none;min-height:0}
  .sg-global-nav .sg-more-menu button:hover,.sg-global-nav .sg-more-menu a:hover{background:rgba(62,123,250,.08)}
  .sg-global-nav .sg-more-menu button.on{color:var(--sg-signal)}
  body{padding-top:56px}
  body.sg-nearby{padding-bottom:0}
  body.sg-nearby #topbar{top:56px!important}
  body.sg-nearby #map{top:56px!important}
  body.sg-wish .top,body.sg-guide .vtabs{top:56px}
  body.sg-chat.sg-chat-room .sg-global-nav{display:none}
  body.sg-chat.sg-chat-room{padding-top:0}
  body.sg-system{padding-bottom:0}
  /* Guide 场所页：「补充资料 / 写体验」不再是遮挡内容的第二条固定底栏，改为页内操作行 */
  body.sg-guide .botbar{position:static;bottom:auto;display:flex;gap:12px;max-width:520px;margin:28px 0 8px;padding:0;background:none;border:0;backdrop-filter:none}
  body.sg-guide.sg-venue .wrap{padding-bottom:70px!important}
  body.sg-guide h2[id],body.sg-guide div[id]{scroll-margin-top:120px}
}

/* ===== P0 Hotfix：功能恢复 ===== */
/* 群聊房间：恢复微信群观感（浅灰底、白气泡左、绿气泡右、按钮清晰） */
body.sg-chat.sg-chat-room #app,body.sg-chat.sg-chat-room .room,body.sg-chat .page{background:#ededed;color:#1d1d21}
body.sg-chat.sg-chat-room .room .scroll{background:#ededed;padding:0}
body.sg-chat .m.me .bub{background:#95ec69;color:#111}
body.sg-chat .m.me .bub::before{border-left-color:#95ec69}
body.sg-chat .m.me .q{background:rgba(0,0,0,.07);color:#444}
body.sg-chat .bub{color:#111}
body.sg-chat .sendb{background:#07c160;color:#fff;min-width:60px}
body.sg-chat .ib{border-color:#444;color:#222;background:#fff}
body.sg-chat .inp textarea{border:1px solid #d9d9d9}
body.sg-chat .av{cursor:pointer}
@media(min-width:1024px){body.sg-chat.sg-chat-room #app{max-width:760px}}
/* 消息入口（顶部常驻）+ 未读红点 */
.sg-msg{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:0;background:transparent;color:inherit;cursor:pointer;text-decoration:none;flex:0 0 auto}
.sg-msg:hover{background:rgba(127,127,127,.14)}
.sg-msg-n{position:absolute;top:3px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ff3b30;color:#fff;font:700 10px/17px var(--sg-sans);text-align:center;font-style:normal;box-shadow:0 0 0 2px var(--sg-paper)}
body.sg-nearby .sg-msg{color:#fff}
body.sg-nearby .sg-msg-n{box-shadow:0 0 0 2px #0b1329}
body.sg-guide .sg-msg{color:var(--sg-ink)}
body.sg-chat .rh .sg-msg{width:36px}
/* Guide 页头在窄屏上留出消息入口：语言只留地球图标，「打开地图」缩小 */
body.sg-guide header{gap:8px}
@media(max-width:460px){
  body.sg-guide .gi-lang summary{padding:8px 10px}
  body.sg-guide .gi-lang .gi-lt{display:none}
  body.sg-guide header .openmap{padding:9px 10px;font-size:11px}
}
/* 手机端：愿望/群聊的子页面隐藏底部导航（输入框要用整个底部） */
@media(max-width:1023px){body.sg-subview .sg-global-nav{display:none}body.sg-subview{padding-bottom:0}}

/* 创建身份弹窗打开时，收起首屏介绍卡，避免文字叠在弹窗下面 */
#createOverlay:not([hidden]) ~ .sg-radar-intro{display:none}
/* Guide 列表里的类型标签在暖纸底色上要看得清 */
body.sg-guide .badge{background:rgba(255,95,174,.12);border-color:rgba(176,48,111,.45);color:#9a2a63}
body.sg-nearby #topbar .top-left{display:flex;align-items:center;gap:2px}
