/* ============ GetRind UI v3 · 黑白 · 清爽（默认主题）============
   规则：界面只用黑/白/灰；12 个分类色只在 Pin 与分类圆点；红色 #E5484D 只给热帖 + 未读角标。
   HERE 皮肤（skin-here-v264）若启用，应在本文件之后加载并覆盖。 */
:root {
  --v3-ink: #0A0A0A; --v3-bg: #FFFFFF; --v3-card: #F5F5F5; --v3-line: #EFEFEF; --v3-mute: #8A8A8A; --v3-hot: #E5484D;
  --coral: #0A0A0A; --ink: #0A0A0A; --ink-2: #8A8A8A; --bg: #FFFFFF; --fill: #F5F5F5; --hairline: #EFEFEF; --ios-tint: #0A0A0A;
}
@font-face { font-family: "Archivo Black"; src: local("Archivo Black"), local("ArchivoBlack-Regular"); font-display: swap; }
html body { background: #fff; font-family: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif; }
html body .view { background: #fff; }
html body .ios-big-title, html body .page-head h1 { font-family: "Archivo Black", "Arial Black", Inter, "PingFang SC", sans-serif; font-weight: 900; letter-spacing: -.02em; }

/* ---- Tab bar：中间黑色「+」 ---- */
html body .tabbar { background: rgba(255,255,255,.96); border-top: 1px solid var(--v3-line); }
html body .tab { color: #9A9A9A; }
html body .tab.active { color: var(--v3-ink); }
html body .tab[data-action="goto-publish"] > span:not(.tab-ico) { display: none; }
html body .tab[data-action="goto-publish"] .tab-ico { width: 48px; height: 36px; border-radius: 12px; background: var(--v3-ink); color: #fff; display: flex; align-items: center; justify-content: center; }
html body .tab[data-action="goto-publish"] .tab-ico svg rect { display: none; }
html body .tab[data-action="goto-publish"] .tab-ico svg { width: 22px; height: 22px; stroke-width: 2.2; }
html body .tab .badge, html body .tab-badge { background: var(--v3-hot); }

/* ---- 地图顶部：搜索栏 + 时间筛选 ---- */
.v3-mapbar { position: absolute; z-index: 6; left: 12px; right: 12px; top: calc(env(safe-area-inset-top, 0px) + 10px); display: flex; gap: 8px; }
.v3-search { flex: 1; height: 44px; border-radius: 14px; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.10); display: flex; align-items: center; gap: 10px; padding: 0 8px; color: var(--v3-mute); font-size: 14px; cursor: text; }
.v3-mark { width: 30px; height: 30px; border-radius: 8px; }
.v3-time { height: 44px; padding: 0 12px; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.10); font: inherit; font-size: 13px; font-weight: 600; color: var(--v3-ink); display: flex; align-items: center; gap: 4px; }
.v3-time-menu { position: absolute; right: 0; top: 50px; width: 180px; background: #fff; border-radius: 14px; box-shadow: 0 8px 28px rgba(0,0,0,.16); padding: 6px; display: flex; flex-direction: column; }
.v3-time-menu button { border: 0; background: none; font: inherit; font-size: 15px; text-align: left; padding: 10px 12px; border-radius: 10px; }
.v3-time-menu button:active { background: var(--v3-card); }
.v3-time-menu small { color: var(--v3-mute); font-size: 11px; padding: 4px 12px 6px; }
html body #view-map .map-chips { top: calc(env(safe-area-inset-top, 0px) + 62px) !important; }
html body .mchip, html body .mchip[style*="--cat"] { background: #fff; color: var(--v3-ink); box-shadow: 0 1px 6px rgba(0,0,0,.08); font-weight: 500; }
html body .mchip[style*="--cat"] .ic, html body .mchip[style*="--cat"] svg { color: var(--cat); }
html body .mchip.on, html body .mchip.on[style*="--cat"] { background: var(--v3-ink); color: #fff; }
html body .mchip.on[style*="--cat"] .ic, html body .mchip.on[style*="--cat"] svg { color: #fff; }
html body .map-locate-btn { color: var(--v3-ink); }

/* ---- 地图底部卡片（可左右滑） ---- */
html body .map-card.map-sheet { border-radius: 22px 22px 0 0; box-shadow: 0 -6px 24px rgba(0,0,0,.10); transition: transform .25s; }
html body .map-card.sw-l { animation: v3swl .26s ease; } html body .map-card.sw-r { animation: v3swr .26s ease; }
@keyframes v3swl { from { transform: translateX(24px); opacity: .5; } } @keyframes v3swr { from { transform: translateX(-24px); opacity: .5; } }
html body .ms-tag { background: var(--v3-card); color: var(--v3-ink); }
html body .ms-tag.hot { background: rgba(229,72,77,.10); color: var(--v3-hot); }
html body .ms-btn.p { background: var(--v3-ink); color: #fff; }
html body .ms-btn.g { background: #fff; color: var(--v3-ink); box-shadow: inset 0 0 0 1px #E2E2E2; }
.ms-dots { display: flex; justify-content: center; gap: 5px; margin-top: 12px; }
.ms-dots i { width: 5px; height: 5px; border-radius: 3px; background: #D6D6D6; }
.ms-dots i.on { width: 14px; background: var(--v3-ink); }
.ms-swipehint { text-align: center; font-size: 11px; color: var(--v3-mute); margin-top: 6px; }
html body .map-pin.selected:not(.hot-pin), html body .map-pin.avatar.selected:not(.hot-pin) { border-color: var(--v3-ink); }
html body .map-pin.avatar.me { border-color: var(--v3-ink); }
html body .mp-spin { border-top-color: var(--v3-ink); }

/* ---- 发现 ---- */
html body #view-feed .chip.on, html body .chip.active { background: var(--v3-ink); color: #fff; }
html body #view-feed .chip.chip-hot { color: var(--v3-hot); }
html body #view-feed .wf-card.wf-hot { box-shadow: 0 0 0 2px var(--v3-hot), 0 4px 14px rgba(229,72,77,.18); }
html body .feed-search input { background: var(--v3-card); }

/* ---- 发布 ---- */
html body .cp-btn { background: var(--v3-ink); border-radius: 14px; }
html body .cp-btn.off, html body .cp-btn:disabled { background: #CFCFCF; }
html body .cp-pill.on { background: var(--v3-ink); color: #fff; }
html body .cat-chip.on { border-color: var(--v3-ink); color: var(--v3-ink); background: var(--v3-card); }
html body .cat-chip.on .ic { stroke: var(--v3-ink); }
html body .cp-sw.on { background: var(--v3-ink); }
html body #pub-loc-sub { display: block; color: var(--v3-mute); font-size: 12px; }
.v3-perm { font-size: 12px; color: var(--v3-mute); padding: 0 2px 6px; }

/* ---- 帖子详情：模糊地点卡片 ---- */
.v3-place { display: flex; align-items: center; gap: 12px; margin: 14px 0 6px; padding: 12px 14px; border-radius: 14px; background: var(--v3-card); }
.v3-place-ic { width: 34px; height: 34px; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--v3-ink); }
.v3-place-ic .ic { width: 18px; height: 18px; }
.v3-place b { display: block; font-size: 14px; }
.v3-place small { display: block; font-size: 12px; color: var(--v3-mute); }
html body .act-btn.on { color: var(--v3-hot); } html body .act-btn.on .ic { fill: var(--v3-hot); stroke: var(--v3-hot); }
html body .follow-btn { background: var(--v3-ink); color: #fff; border-color: var(--v3-ink); }
html body .follow-btn.following { background: #fff; color: var(--v3-ink); border: 1px solid #E2E2E2; }
html body .btn-primary { background: var(--v3-ink); }
html body #post-group-row .btn-ghost.post-group-btn { color: var(--v3-ink); }

/* ---- 个人页 ---- */
html body #view-profile .pfb-tab.active::after { background: var(--v3-ink); }
html body #view-profile .pfb-primary { background: var(--v3-ink); color: #fff; }
html body .pp-cover-default, html body .profile-cover-default { background: linear-gradient(135deg, #1a1a1a 0%, #5a5a5a 100%); }

/* ---- 未登录发布页：黑底大 Logo ---- */
html body .lo-screen { background: var(--v3-ink); color: #fff; }
html body .lo-screen .pfl-hero { display: none; }
.v3-lo-logo { display: block; width: 132px; height: 132px; margin: 0 auto 28px; border-radius: 30px; }
html body .lo-screen .pfl-text h2 { color: #fff; text-align: center; }
html body .lo-screen .pfl-text p { color: rgba(255,255,255,.6); text-align: center; }
html body .lo-screen .pfl-btn { background: #fff; color: var(--v3-ink); }
.pfl-guest { display: block; margin: 14px auto 0; border: 0; background: none; color: rgba(255,255,255,.7); font: inherit; font-size: 14px; }

/* ---- 消息：未读用黑点，红只给通知数 ---- */
html body .conv-unread, html body .unread-dot { background: var(--v3-ink); }
html body .act-btn { white-space: nowrap; }

/* ================= v3 round 2 ================= */
/* 规则：布局类不加作用域（HERE 皮肤也用）；颜色类限定 html:not([data-skin=here])，保证皮肤优先 */

/* ---- 点赞统一黑色（红色只给热帖 + 未读角标） ---- */
html:not([data-skin=here]) body .act-btn.on, html:not([data-skin=here]) body .wf-like.on, html:not([data-skin=here]) body .ipc-act.on, html:not([data-skin=here]) body .v3-like.on { color: var(--v3-ink); }
html:not([data-skin=here]) body .act-btn.on .ic, html:not([data-skin=here]) body .wf-like.on .ic, html:not([data-skin=here]) body .ipc-act.on .ic, html:not([data-skin=here]) body .v3-like.on .ic { fill: var(--v3-ink); stroke: var(--v3-ink); }

/* ---- 发现：大热帖卡 + 附近的新鲜事 ---- */
.v3-feedhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.v3-area { font-size: 14px; color: var(--v3-mute); padding-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 50%; }
html body #view-feed .chips { gap: 8px; padding: 4px 20px 12px; }
html:not([data-skin=here]) body #view-feed .chip { background: var(--v3-card); color: var(--v3-ink); border: 0; border-radius: 18px; height: 34px; padding: 0 14px; font-weight: 600; font-size: 14px; }
html:not([data-skin=here]) body #view-feed .chip.active { background: var(--v3-ink); color: #fff; }
html body #view-feed .feed-search { padding: 0 20px 6px; }
.v3-disc { padding: 0 20px calc(var(--tabbar-h, 84px) + 24px); }
.v3-hero { position: relative; display: block; height: 240px; border-radius: 20px; overflow: hidden; cursor: pointer; margin-bottom: 26px; }
.v3-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v3-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.62)); }
.v3-hero .v3-hot { position: absolute; left: 16px; top: 16px; }
.v3-hero-txt { position: absolute; left: 20px; right: 20px; bottom: 18px; color: #fff; }
.v3-hero-txt b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 22px; line-height: 29px; font-weight: 800; }
.v3-hero-txt small { display: block; margin-top: 6px; font-size: 13px; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v3-hero-txt .v3-dot { display: none; }
.v3-hot { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: 6px; background: var(--v3-hot); color: #fff; font-size: 12px; font-weight: 700; margin-right: 6px; flex: none; }
.v3-sec { font-size: 16px; font-weight: 700; margin: 0 0 14px; }
.v3-row { display: flex; gap: 16px; align-items: flex-start; padding: 0 0 22px; cursor: pointer; }
.v3-row-img { width: 96px; height: 96px; flex: none; border-radius: 14px; object-fit: cover; background: var(--v3-card); }
.v3-row-txt { display: flex; align-items: center; justify-content: center; padding: 10px; box-sizing: border-box; font-size: 13px; font-weight: 600; text-align: center; overflow: hidden; }
.v3-row-main { flex: 1; min-width: 0; padding-top: 2px; }
.v3-row-meta { display: flex; align-items: center; font-size: 13px; color: var(--v3-mute); white-space: nowrap; overflow: hidden; }
.v3-dot { display: inline-block; width: 7px; height: 7px; border-radius: 4px; margin-right: 6px; flex: none; }
.v3-dot[class*="tone-"] { background: currentColor !important; }
.v3-row-title { margin-top: 8px; font-size: 16px; font-weight: 700; line-height: 22px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v3-row-foot { margin-top: 8px; font-size: 13px; color: var(--v3-mute); display: flex; align-items: center; gap: 4px; }
.v3-like { border: 0; background: none; padding: 0; font: inherit; color: inherit; display: inline-flex; align-items: center; gap: 3px; cursor: pointer; }
.v3-like .ic { width: 14px; height: 14px; }

/* ---- 个人页：浅色，封面在上，头像压边 ---- */
html body #view-profile .pfb-hero.v3-cover { min-height: 0; height: calc(env(safe-area-inset-top, 0px) + 220px); }
html body #view-profile .v3-pfhead { padding: 0 24px; margin-top: -52px; }
html body #view-profile .v3-pfhead .pfb-avatar { width: 96px; height: 96px; border-radius: 50%; font-size: 36px; border-width: 4px; }
html body #view-profile .v3-pfhead .pfb-name { font-size: 28px; font-weight: 800; line-height: 34px; margin-top: 12px; letter-spacing: -.3px; }
.v3-pf-area { font-size: 15px; margin-top: 4px; min-height: 20px; }
html body #view-profile .v3-pfhead .pfb-stats { gap: 22px; margin-top: 18px; flex-wrap: nowrap; }
html body #view-profile .v3-pfhead .pfb-stats .stat b { display: block; font-family: "Archivo Black", "Arial Black", Inter, sans-serif; font-size: 22px; font-weight: 900; line-height: 26px; margin: 0; }
html body #view-profile .v3-pfhead .pfb-stats .stat small { display: block; font-size: 12px; margin-top: 2px; }
html body #view-profile .v3-pfhead .pfb-dot { display: none; }
html body #view-profile.pfb-on .my-grid { grid-template-columns: repeat(3, 1fr); gap: 2px; padding-left: 0; padding-right: 0; }
html body #view-profile.pfb-on .my-grid > div { aspect-ratio: 1; }
html:not([data-skin=here]) body #view-profile.pfb-on, html:not([data-skin=here]) body #view-profile.pfb-on #profile-body { background: #fff; color: var(--v3-ink); color-scheme: light; }
html:not([data-skin=here]) body #view-profile .pfb-hero.v3-cover { background: linear-gradient(135deg, #D9DEFF 0%, #8F9AD0 55%, #5C6699 100%); background-size: cover; }
html:not([data-skin=here]) body #view-profile .pfb-hero.v3-cover.has-cover { background-size: cover; }
html:not([data-skin=here]) body #view-profile .pfb-hero.v3-cover::after { background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,0) 30%); }
html:not([data-skin=here]) body #view-profile .v3-pfhead .pfb-avatar { border-color: #fff; }
html:not([data-skin=here]) body #view-profile .pfb-avatar:not(:has(img)) { background: #EDEDED; color: var(--v3-ink); }
html:not([data-skin=here]) body #view-profile .pfb-name { color: var(--v3-ink); }
html:not([data-skin=here]) body #view-profile .v3-pf-area, html:not([data-skin=here]) body #view-profile .pfb-stats small { color: var(--v3-mute); }
html:not([data-skin=here]) body #view-profile .pfb-bio { color: var(--v3-ink); }
html:not([data-skin=here]) body #view-profile .pfb-stats b { color: var(--v3-ink); }
html:not([data-skin=here]) body #view-profile .pfb-primary { background: #fff; color: var(--v3-ink); box-shadow: inset 0 0 0 1.5px #E2E2E2; font-weight: 700; }
html:not([data-skin=here]) body #view-profile .pfb-share { background: #fff; color: var(--v3-ink); box-shadow: inset 0 0 0 1.5px #E2E2E2; }
html:not([data-skin=here]) body #view-profile .pfb-tab { color: var(--v3-mute); font-weight: 600; }
html:not([data-skin=here]) body #view-profile .pfb-tab.active { color: var(--v3-ink); font-weight: 800; }
html body #view-profile .pfb-tab.active::after { width: 100%; height: 3px; border-radius: 2px; }
html:not([data-skin=here]) body #view-profile.pfb-on .my-grid > div, html:not([data-skin=here]) body #view-profile.pfb-on .my-grid .noimg { background: var(--v3-card); color: var(--v3-ink); }
html:not([data-skin=here]) body #view-profile .pfb-empty, html:not([data-skin=here]) body #view-profile.pfb-on .loading { color: var(--v3-mute); }
html:not([data-skin=here]) body #view-profile #pfb-footmap { background: var(--v3-card); }
html:not([data-skin=here]) body #view-profile .pfb-foot-cap, html:not([data-skin=here]) body #view-profile .pfb-foot-cap b { color: var(--v3-ink); }
html:not([data-skin=here]) body #view-profile .pfb-bar .pfb-iconbtn { color: #fff; }
html:not([data-skin=here]) body #view-profile.pfb-scrolled .pfb-bar { background: rgba(255,255,255,.9); box-shadow: 0 .5px 0 var(--v3-line); }
html:not([data-skin=here]) body #view-profile.pfb-scrolled .pfb-bar-name, html:not([data-skin=here]) body #view-profile.pfb-scrolled .pfb-bar .pfb-iconbtn { color: var(--v3-ink); }

/* ---- 消息列表 ---- */
html body #view-social .social-head .ios-big-title { font-size: 34px; }
html body #view-social .search-mic { display: none; }
html body #view-social .social-seg { display: flex; gap: 8px; background: none; padding: 0 20px; margin: 4px 0 8px; width: auto; }
html:not([data-skin=here]) body #view-social .social-seg .seg { flex: none; height: 34px; padding: 0 16px; border-radius: 17px; background: var(--v3-card); color: var(--v3-ink); font-weight: 600; box-shadow: none; }
html:not([data-skin=here]) body #view-social .social-seg .seg.active { background: var(--v3-ink); color: #fff; }
html body .dm-conv { padding: 12px 20px; gap: 16px; }
html body .dm-conv .avatar { width: 56px; height: 56px; }
html body .dm-conv-main { padding-bottom: 12px; }
html:not([data-skin=here]) body .dm-conv-main { border-bottom: 1px solid var(--v3-line); }
html body .dm-conv-name { font-weight: 700; font-size: 17px; }
html body .dm-chev { display: none; }
html:not([data-skin=here]) body .dm-unread { background: var(--v3-ink); color: #fff; }
html:not([data-skin=here]) body .dm-conv.pinned { background: #FAFAFA; }

/* ---- 登录：浅色全屏，GET/RIND 字标 ---- */
html body .v3-auth .modal-card { position: relative; width: 100%; max-width: 480px; height: 100%; max-height: none; border-radius: 0; margin: 0; display: flex; flex-direction: column; padding: calc(env(safe-area-inset-top, 0px) + 40px) 28px calc(env(safe-area-inset-bottom, 0px) + 24px); box-sizing: border-box; overflow-y: auto; }
html body .v3-auth { align-items: stretch; justify-content: center; padding: 0; }
.v3-auth-hero { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 230px; }
.v3-auth-word { font-family: "Archivo Black", "Arial Black", Impact, sans-serif; font-weight: 900; font-size: 92px; line-height: .9; letter-spacing: -.02em; text-align: center; transform: scaleX(.78); }
.v3-auth-hero svg { margin-top: 18px; }
html body .v3-auth h2 { text-align: center; font-size: 20px; font-weight: 800; margin: 18px 0 6px; }
.v3-auth-sub { text-align: center; font-size: 14px; margin: 0 0 28px; }
.v3-auth-btns { display: flex; flex-direction: column; gap: 12px; }
html body .v3-auth .oauth-btn { height: 52px; border-radius: 14px; font-size: 16px; font-weight: 700; margin: 0; width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; }
.v3-auth-email { display: none; flex-direction: column; gap: 10px; }
.v3-auth.v3-email-open .v3-auth-email { display: flex; }
.v3-auth.v3-email-open .v3-auth-email-toggle { display: none; }
.v3-auth.v3-email-open .v3-auth-hero { flex: none; min-height: 0; transform: scale(.55); margin: -40px 0 -50px; }
html body .v3-auth .v3-auth-email input { margin: 0; }
html body .v3-auth .oauth-div { display: none; }
.v3-auth-guest { border: 0; background: none; font: inherit; font-size: 14px; margin: 18px auto 6px; cursor: pointer; }
html body .v3-auth .oauth-terms { text-align: center; font-size: 12px; margin: 6px 0 0; }
html:not([data-skin=here]) body .v3-auth { background: #fff; }
html:not([data-skin=here]) body .v3-auth .modal-card { background: #fff; color: var(--v3-ink); box-shadow: none; }
html:not([data-skin=here]) body .v3-auth-hero { color: var(--v3-ink); }
html:not([data-skin=here]) body .v3-auth-sub, html:not([data-skin=here]) body .v3-auth-guest, html:not([data-skin=here]) body .v3-auth .oauth-terms, html:not([data-skin=here]) body .v3-auth .oauth-terms a { color: var(--v3-mute); }
html:not([data-skin=here]) body .v3-auth .oauth-apple { background: var(--v3-ink); color: #fff; border: 0; }
html:not([data-skin=here]) body .v3-auth .v3-auth-email-toggle, html:not([data-skin=here]) body .v3-auth .oauth-google { background: #fff; color: var(--v3-ink); border: 1.5px solid #E2E2E2; }
html:not([data-skin=here]) body .v3-auth .btn-primary { background: var(--v3-ink); height: 50px; border-radius: 14px; }
html:not([data-skin=here]) body .v3-auth input { background: var(--v3-card); border: 0; border-radius: 12px; height: 48px; }
html:not([data-skin=here]) body #view-feed, html:not([data-skin=here]) body #view-feed .feed-list, html:not([data-skin=here]) body #view-feed .chips, html:not([data-skin=here]) body #view-feed .page-head, html:not([data-skin=here]) body #view-feed .feed-search { background: #fff; }
html body #view-feed .feed-list { padding: 0; }
html body .dm-conv { border-bottom: 0 !important; }
html body .dm-conv::after { display: none; }
