/* 猎枭点位库框架样式：深色主题，移动端优先，全部使用系统字体，不加载任何境外资源 */
* { box-sizing: border-box; }

body {
  margin: 0;
  background: #0f1923;
  color: #ece8e1;
  font-family: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  line-height: 1.6;
}

body { padding-bottom: 76px; }
body.is-landing { padding-bottom: 0; }

.site-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; background: #0f1923; position: relative;
}
.site-header .map-select-btn { display: flex; align-items: center; gap: 6px; background: transparent !important; border: 1px solid rgba(255,255,255,0.4) !important; border-radius: 999px !important; padding: 6px 12px !important; color: #ece8e1 !important; font-size: 15px !important; cursor: pointer; }
/* 地图选择只在点位库显示：hidden 属性不能被上面的 display:flex 盖掉，否则首页顶栏也会出现地图选择。 */
.site-header .map-select-btn[hidden] { display: none !important; }
/* 登录和三条杠改成黑白配色，不再用红色。 */
.site-header #headerLoginBtn { background: #fff !important; color: #000 !important; border: 1px solid #fff !important; }
.site-header .menu-btn { background: #000 !important; color: #fff !important; border: 1px solid #fff !important; border-radius: 8px !important; padding: 6px 10px !important; font-size: 18px !important; line-height: 1 !important; }
.map-dropdown { position: fixed; top: 64px; left: 0; right: 0; bottom: 0; z-index: 200; overflow-y: auto; background: #0f1923; border-bottom: 1px solid #333; animation: slideDown 0.25s ease; }
.map-dropdown .map-dropdown-grid { padding-bottom: 90px; }
@keyframes slideDown { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.map-dropdown-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px; max-width: 960px; margin: 0 auto; }
.map-card { background: #1a2733; border: 1px solid #333; border-radius: 16px; overflow: hidden; cursor: pointer; padding: 0; text-align: center; color: #ece8e1; }
.map-card.active { border-color: #ff4655; }
.map-card-thumb { aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; }
.map-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.map-photo-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #333; }
.map-photo-item img { width: 96px; height: 54px; object-fit: cover; border-radius: 8px; background: #1a2733; }
.map-section-header { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; padding: 8px 4px 0; font-size: 14px; }
.map-act { font-size: 13px; color: #b0a89f; border: 1px solid #333; border-radius: 999px; padding: 2px 10px; }
.map-card-wide { grid-column: 1 / -1; }
.map-card-thumb svg { width: 36px; height: 36px; color: rgba(255,255,255,0.9); }
.map-card-name { display: block; padding: 10px 6px; font-size: 14px; }
.header-menu { position: absolute; top: 60px; right: 16px; z-index: 100; background: #1a2733; border: 1px solid #333; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.5); padding: 8px; min-width: 140px; }
.header-menu button { width: 100%; background: none !important; border: none !important; color: #ece8e1 !important; text-align: left !important; padding: 10px 12px !important; font-size: 15px !important; cursor: pointer; }
.changelog-list { display: flex; flex-direction: column; gap: 12px; }
.site-header h1 { margin: 0; font-size: 20px; }
.site-logo { width: 40px; height: 40px; border-radius: 10px; margin-bottom: 0; }
.top-left { display: flex; align-items: center; gap: 10px; cursor: pointer; }
/* 1.25.32：左上方 logo 和选择地图点按时不再出现蓝色背景。那块蓝色不是按钮本身的
   背景色，是手机浏览器点按时自动加的点按高亮，关掉它之后点按不再变蓝，按钮
   本来的透明底和边框不变。 */
#homeBtn, #homeBtn *, .map-select-btn, .map-select-btn * { -webkit-tap-highlight-color: transparent; tap-highlight-color: transparent; }
#homeBtn:active, .map-select-btn:active { background: transparent !important; }
.top-right { display: flex; align-items: center; gap: 12px; }
.subtitle { margin: 0; color: #b0a89f; font-size: 14px; }

/* 落地页：顶栏透明压在主视觉上，主视觉全屏，下方内容和导航全部隐藏 */
body.is-landing .site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 10; background: transparent; }
body.is-landing .hero { height: 100dvh; max-width: none; border-radius: 0; margin: 0; }
body.is-landing .hero picture { height: 100%; transform: scaleY(1.15); transform-origin: top center; }
body.is-landing .hero-img { height: 100%; aspect-ratio: auto; }
body.is-landing .hero-text { bottom: 48px; }
/* 手机版首页背景不再纵向拉长：原来图片本身纵向拉 15%，竖版图在手机上会被拉得更长、比例奇怪；手机版取消这个拉伸，电脑版不动。 */
@media (max-width: 768px) {
  body.is-landing .hero picture { transform: none; }
}
.profile-header { display: flex; align-items: center; gap: 14px; padding: 8px 4px 16px; border-bottom: 1px solid #333; cursor: pointer; }
.profile-avatar { width: 64px; height: 64px; border-radius: 16px; object-fit: cover; background: #3a4552; flex-shrink: 0; }
.profile-name-wrap { flex: 1; min-width: 0; }
.profile-nickname { font-size: 20px; font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-sub { color: #b0a89f; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-arrow { font-size: 28px; color: #b0a89f; }
.profile-edit { margin-top: 16px; padding-top: 8px; border-top: 1px solid #333; }
.menu-list { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.detail .menu-row { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 16px; margin: 0; background: rgba(0, 229, 255, 0.08); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(0, 229, 255, 0.55); border-radius: 16px; box-shadow: 0 0 16px rgba(0, 229, 255, 0.25), inset 0 0 16px rgba(0, 229, 255, 0.08); color: #eafcff; font-size: 15px; cursor: pointer; text-align: left; }
.detail .menu-row:hover { transform: translateY(-1px); filter: brightness(1.15); background: rgba(0, 229, 255, 0.14); }
.detail .menu-row span:last-child { color: #00e5ff; font-size: 22px; }
.back-btn { background: transparent !important; color: #00e5ff !important; border: 1px solid rgba(0, 229, 255, 0.55) !important; border-radius: 999px !important; box-shadow: 0 0 12px rgba(0, 229, 255, 0.2) !important; }

body.is-landing .site-footer { display: none; }
body.is-landing .bottom-nav { display: none; }

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 16px;
}

.filters label { font-size: 13px; color: #b0a89f; }
.filters select, .filters input {
  display: block;
  margin-top: 4px;
  padding: 8px;
  background: #1a2733;
  border: 1px solid #333;
  border-radius: 12px;
  color: #ece8e1;
  font-size: 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.filters select:focus, .filters input:focus { border-color: #ff4655; box-shadow: 0 0 0 2px rgba(255,70,85,0.25); outline: none; }
.search-box { flex: 1; min-width: 180px; }
.search-box input { width: 100%; }

.map-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 960px;
  margin: 20px auto 0;
  padding: 0 16px;
}
.map-chips button {
  padding: 6px 14px;
  border: 1px solid #333;
  border-radius: 20px;
  background: #1a2733;
  color: #ece8e1;
  cursor: pointer;
  font-size: 13px;
  transition: background 0.2s ease, transform 0.15s ease;
}
.map-chips button:hover { transform: translateY(-1px); }
.map-chips button.active { background: #ff4655; border-color: #ff4655; }

.result-count { max-width: 960px; margin: 16px auto 0; padding: 0 16px; color: #b0a89f; font-size: 13px; }

.lineup-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  max-width: 960px;
  margin: 12px auto 0;
  padding: 0 16px;
}

.lineup-card {
  padding: 16px;
  background: #1a2733;
  border-radius: 18px;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, outline-color 0.25s ease;
  animation: fadeUp 0.45s ease both;
}
.lineup-card:hover { outline: 2px solid #ff4655; transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,0.35); }
.lineup-card h3 { margin: 0 0 8px; font-size: 16px; }
.lineup-card p { margin: 4px 0; color: #b0a89f; font-size: 13px; }
.tag {
  display: inline-block;
  margin-right: 6px;
  padding: 2px 8px;
  border-radius: 8px;
  background: #0f1923;
  font-size: 12px;
}

.detail {
  max-width: 960px;
  margin: 32px auto 0;
  padding: 24px 16px;
  background: #1a2733;
  border-radius: 20px;
  animation: fadeUp 0.45s ease both;
}
.close-btn {
  float: right;
  background: none;
  border: none;
  color: #b0a89f;
  cursor: pointer;
  font-size: 18px;
}
.detail-meta, .detail-scene { color: #b0a89f; font-size: 14px; }
.detail-steps li { margin-bottom: 8px; }
.detail-tips { padding: 12px; background: #0f1923; border-left: 3px solid #ff4655; border-radius: 0 12px 12px 0; font-size: 14px; }
.detail-images { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; }
.detail-images figure { flex: 1; min-width: 220px; margin: 0; }
.detail-images img { width: 100%; border-radius: 6px; }
.detail-images figcaption { color: #b0a89f; font-size: 12px; text-align: center; }

.detail label { display: block; margin: 10px 0; font-size: 14px; color: #b0a89f; }
.detail input, .detail textarea, .detail select { display: block; width: 100%; margin-top: 4px; padding: 8px; background: #0f1923; border: 1px solid #333; border-radius: 12px; color: #ece8e1; font-size: 14px; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.detail input:focus, .detail textarea:focus, .detail select:focus { border-color: #ff4655; box-shadow: 0 0 0 2px rgba(255,70,85,0.25); outline: none; }
.detail button { padding: 8px 16px; margin: 6px 8px 6px 0; background: #ff4655; border: none; border-radius: 12px; color: #fff; cursor: pointer; font-size: 14px; transition: transform 0.15s ease, filter 0.2s ease; }
.detail button:hover { transform: translateY(-1px); filter: brightness(1.1); }
.detail button:active { transform: scale(0.98); }

body { padding-bottom: 60px; }
.bottom-nav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
  display: flex; align-items: flex-end; background: #1a2733; border-top: 1px solid #333;
  border-radius: 18px 18px 0 0;
}
.bottom-nav button {
  flex: 1; padding: 14px 0; background: none; border: none;
  color: #b0a89f; font-size: 14px; cursor: pointer;
  transition: color 0.2s ease, transform 0.15s ease;
}
.bottom-nav button:active { transform: scale(0.97); }
.bottom-nav button.active { color: #ff4655; font-weight: bold; }
.bottom-nav .nav-item { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 0 12px; font-size: 12px; }
.bottom-nav .nav-item svg { width: 22px; height: 22px; }
.bottom-nav .nav-center { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 0 8px; font-size: 12px; }
.bottom-nav .nav-plus { width: 56px; height: 56px; border-radius: 50%; background: #ff4655; color: #fff; font-size: 32px; line-height: 54px; text-align: center; box-shadow: 0 4px 16px rgba(255, 70, 85, 0.5); transform: translateY(-14px); margin-bottom: -12px; }
.bottom-nav .nav-center.active .nav-center-label { color: #ff4655; font-weight: bold; }

.site-header button { background: #ff4655; color: #fff; border: none; border-radius: 6px; padding: 6px 14px; cursor: pointer; font-size: 14px; }
.hero { position: relative; max-width: 960px; margin: 0 auto; border-radius: 20px; overflow: hidden; background: #0f1923; min-height: 480px; display: flex; align-items: flex-end; animation: fadeUp 0.5s ease both; }
.hero picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hero-img { width: 100%; height: 100%; display: block; object-fit: cover; animation: heroZoom 14s ease-in-out infinite alternate; }
@keyframes heroZoom { from { transform: scale(1); } to { transform: scale(1.05); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(15,25,35,0.92) 0%, rgba(15,25,35,0.25) 55%, rgba(15,25,35,0.1) 100%); }
.hero-text { position: relative; z-index: 2; width: 100%; box-sizing: border-box; padding: 120px 16px 16px; color: #fff; }
.hero-kicker { margin: 0 0 4px; color: #ff4655; font-weight: bold; letter-spacing: 2px; }
.hero-text h2 { margin: 0 0 6px; font-size: 36px; line-height: 1.2; }
.hero-sub { margin: 0 0 6px; color: #fff; font-size: 14px; }
.hero-extra { margin: 0 0 14px; color: #fff; font-size: 14px; }
.hero-search { display: flex; background: #ece8e1; border-radius: 999px; padding: 6px; max-width: 520px; }
.hero-search input { flex: 1; min-width: 0; border: none; background: none; padding: 8px 12px; color: #111; font-size: 15px; outline: none; }
.hero-search button { background: #ff4655; color: #fff; border: none; border-radius: 999px; padding: 10px 18px; cursor: pointer; font-size: 15px; white-space: nowrap; transition: transform 0.15s ease, filter 0.2s ease; }
.hero-search button:hover { transform: translateY(-1px); filter: brightness(1.1); }
.hero-stats { display: flex; gap: 24px; margin: 14px 0; }
.hero-stats div { display: flex; flex-direction: column; }
.hero-stats strong { font-size: 22px; line-height: 1.2; }
.hero-stats span { color: rgba(255,255,255,0.75); font-size: 13px; }
.hero-bottom-stats { display: flex; gap: 24px; margin-top: 16px; }
.hero-bottom-stats div { display: flex; align-items: baseline; gap: 6px; }
.hero-bottom-stats strong { font-size: 16px; line-height: 1.2; }
.hero-bottom-stats span { color: rgba(255,255,255,0.75); font-size: 13px; }
.hero-enter { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 520px; background: #ece8e1; color: #111; border: none; border-radius: 999px; padding: 16px 24px; cursor: pointer; font-size: 17px; font-weight: bold; transition: transform 0.15s ease, filter 0.2s ease; }
.hero-enter:hover { transform: translateY(-1px); filter: brightness(1.05); }
.hero-secondary { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 520px; margin-top: 12px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.6); border-radius: 999px; padding: 16px 24px; cursor: pointer; font-size: 16px; transition: transform 0.15s ease, background 0.2s ease; }
.hero-secondary:hover { transform: translateY(-1px); background: rgba(255,255,255,0.12); }

.site-footer {
  max-width: 960px;
  margin: 40px auto 0;
  padding: 16px;
  border-top: 1px solid #333;
  color: #888;
  text-align: center;
  font-size: 12px;
}

.map-viewer { margin: 0 0 16px; }
.map-viewer-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.map-viewer-head h3 { margin: 0; font-size: 16px; }
.map-viewer-zoom { display: flex; align-items: center; gap: 8px; }
.map-viewer-zoom button { width: 32px; height: 32px; border: 1px solid #444; border-radius: 999px; background: #1a2733; color: #fff; font-size: 18px; cursor: pointer; }
.map-viewer-zoom span { min-width: 48px; text-align: center; font-weight: bold; }
.map-viewer-canvas { position: relative; width: 100%; max-width: 720px; margin: 0 auto; height: auto; aspect-ratio: 1 / 1; overflow: auto; border: 1px solid #333; border-left: none; border-right: none; border-radius: 0; background: #0f1923; touch-action: none; }
.map-viewer-row { display: block; margin-left: 0; position: relative; }
.map-zoom-label { position: absolute; top: 8px; right: 8px; z-index: 10; background: rgba(15,25,35,0.7); color: #ece8e1; font-size: 12px; padding: 2px 8px; border-radius: 999px; pointer-events: none; }
.map-rotate-btn { position: absolute; top: 38px; right: 8px; z-index: 10; background: rgba(15,25,35,0.7); color: #ece8e1; font-size: 14px; padding: 4px 12px; border-radius: 999px; border: none; cursor: pointer; }
.map-media-wrap { position: relative; width: 100%; transition: transform 0.2s ease; }
.map-media-wrap img { display: block; width: 100%; height: auto; }
.map-point-line { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; pointer-events: none; z-index: 4; }
/* 1.25.37 地图标注：显示在平面图上的文字，跟着地图一起缩放和旋转。 */
.map-label { position: absolute; transform: translate(-50%, -50%); font-size: 13px; font-weight: 700; white-space: nowrap; pointer-events: none; z-index: 3; text-shadow: 0 1px 2px rgba(0,0,0,0.85), 0 0 5px rgba(0,0,0,0.65); }
/* 地图标注编辑器：小地图 + 颜色选择 + 标注列表。 */
.label-editor-wrap { position: relative; width: 100%; max-width: 420px; background: #0f1923; margin: 12px 0; }
.label-editor-wrap img { display: block; width: 100%; height: auto; }
#labelEditorMarkers { position: absolute; inset: 0; pointer-events: none; }
.label-editor-marker { position: absolute; transform: translate(-50%, -50%); font-size: 12px; font-weight: 700; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,0.85); }
.label-editor-pending { position: absolute; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff; background: rgba(255,255,255,0.35); transform: translate(-50%, -50%); }
.label-color-row { display: flex; gap: 8px; margin: 10px 0; }
.label-color-btn { flex: 1; border: 2px solid var(--c); color: var(--c); background: transparent; }
.label-color-btn.active { background: var(--c); color: #0f1923; }
.label-item { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.label-item .dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.map-viewer-canvas { scrollbar-width: none; -ms-overflow-style: none; }
.map-viewer-canvas::-webkit-scrollbar { display: none; width: 0; height: 0; }
.map-viewer-inner { display: block; min-width: 100%; min-height: 100%; transition: transform 0.2s ease; position: relative; }
/* 1.25.24 两点选点：覆盖层圆点（起点蓝、落点红），只画在图上，不改平面图本身；pointer-events 关掉，点选穿透到图上。 */
.map-point-marker { position: absolute; width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid #fff; box-shadow: 0 0 8px rgba(0,0,0,0.7); transform: translate(-50%, -50%); pointer-events: none; z-index: 5; }
.point-pick-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; max-width: 960px; margin: 12px auto 0; padding: 0 16px; }
.point-pick-row button { padding: 8px 16px; background: #1a2733; border: 1px solid #333; border-radius: 999px; color: #ece8e1; cursor: pointer; font-size: 14px; }
.point-pick-row button.active { background: #ff4655; border-color: #ff4655; color: #fff; }
.point-pick-status { color: #b0a89f; font-size: 13px; }
.submit-map-picker { margin-top: 16px; padding-top: 12px; border-top: 1px solid #333; }
.submit-map-frame { position: relative; max-width: 520px; }
.submit-zoom-label { position: absolute; top: 8px; right: 8px; z-index: 10; background: rgba(15,25,35,0.7); color: #ece8e1; font-size: 12px; padding: 2px 8px; border-radius: 999px; pointer-events: none; }
.submit-map-wrap { position: relative; max-width: 520px; overflow: auto; touch-action: none; scrollbar-width: none; -ms-overflow-style: none; border-radius: 12px; background: #0f1923; aspect-ratio: 1 / 1; }
.submit-map-wrap::-webkit-scrollbar { display: none; width: 0; height: 0; }
.submit-map-inner { position: relative; }
.submit-map-wrap img { width: 100%; height: auto; display: block; border-radius: 12px; background: #0f1923; }
.submit-map-markers { position: absolute; inset: 0; pointer-events: none; }
.submit-map-markers .map-point-marker { position: absolute; width: 12px; height: 12px; border-width: 1.5px; }
#submitPointModeStart.active { background: #2f7bff; border-color: #2f7bff; color: #fff; }
#submitPointModeEnd.active { background: #ff4655; border-color: #ff4655; color: #fff; }
.map-viewer-inner svg { width: 340px; max-width: 90vw; height: auto; display: block; }
.map-viewer-inner .map-viewer-empty { color: #b0a89f; font-size: 14px; padding: 24px; text-align: center; }
.map-viewer-hint { color: #b0a89f; font-size: 13px; margin: 8px 0 0; padding: 0 16px; }
.usage-link { background: none; border: none; color: #b0a89f; font-size: 12px; text-decoration: underline; cursor: pointer; padding: 0; }
.usage-modal { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; padding: 20px; }
.usage-modal-card { position: relative; background: #1a2733; border: 1px solid #333; border-radius: 16px; padding: 24px 20px 20px; width: 100%; max-width: 420px; color: #ece8e1; font-size: 14px; line-height: 1.7; }
.usage-close { position: absolute; top: 8px; right: 12px; background: none; border: none; color: #b0a89f; font-size: 22px; line-height: 1; cursor: pointer; padding: 4px; }
.map-viewer-inner img { width: 100%; max-width: 100%; height: auto; display: block; flex-shrink: 0; }

/* 隐藏属性必须盖过所有 display 声明：底部导航的 display:flex 之前会把 hidden 顶掉，导致加载时导航栏先闪出来。 */
[hidden] { display: none !important; }
/* 查看器背面不再画大方格：图本身带统一小方格，空白处只留与图底色相同的深色，不再出现大方块。 */
.account-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.account-table th, .account-table td { border-bottom: 1px solid #333; padding: 10px 8px; text-align: left; vertical-align: top; font-size: 14px; }
.account-table th { color: #b0a89f; white-space: nowrap; }
.account-table label { font-size: 13px; }
.account-table button { padding: 6px 12px; margin: 0; background: #ff4655; border: none; border-radius: 8px; color: #fff; cursor: pointer; white-space: nowrap; }
.perm-modal { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; padding: 20px; }
.perm-modal-card { background: #0f1923; border: 1px solid #333; border-radius: 12px; padding: 20px; width: 100%; max-width: 360px; }

/* 1.25.38 投稿表单：分段按钮与 16:9 图片上传框 */
.seg-field { margin: 10px 0; }
.seg-label { display: block; font-size: 14px; color: #b0a89f; margin-bottom: 4px; }
.seg-row { display: flex; gap: 8px; }
.seg-row button { flex: 1; margin: 0; background: #0f1923; border: 1px solid #333; color: #ece8e1; }
.seg-row button.active { background: #ff4655; border-color: #ff4655; color: #fff; }
.img-field { margin: 10px 0; }
.img-upload { position: relative; aspect-ratio: 16 / 9; background: #0f1923; border: 1px dashed #555; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; overflow: hidden; margin-top: 4px; }
.img-upload .img-plus { font-size: 36px; line-height: 1; color: #b0a89f; }
.img-upload .img-hint { font-size: 13px; color: #b0a89f; }
.img-upload img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.img-upload .img-remove { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; min-width: 28px; padding: 0; margin: 0; border-radius: 50%; background: rgba(0,0,0,0.65); color: #fff; border: none; font-size: 16px; line-height: 1; z-index: 2; }
/* 详情与审核里的投稿图片 */
.detail-imgs figure { margin: 0 0 12px; }
.detail-imgs img { width: 100%; border-radius: 12px; display: block; }
.detail-imgs figcaption { font-size: 13px; color: #b0a89f; margin-top: 4px; }
.detail-aimtext { font-size: 14px; color: #ece8e1; margin: 4px 0 12px; }

/* 1.25.41 点位列表图文卡片：左图右收藏 */
.lineup-card-row { display: flex; gap: 12px; align-items: center; padding: 12px; }
.lineup-thumb { width: 112px; min-width: 112px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; background: #0f1923; }
.lineup-card-main { flex: 1; min-width: 0; }
.lineup-card-main h3 { margin: 0 0 6px; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lineup-card-main p { margin: 3px 0; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lineup-line3 { color: #ece8e1; }
.lineup-card-side { display: flex; flex-direction: column; align-items: center; justify-content: space-between; align-self: stretch; padding: 2px 0; }
.lineup-fav { background: none; border: none; padding: 4px; margin: 0; color: #b0a89f; cursor: pointer; line-height: 0; }
.lineup-fav.active { color: #ff4655; }
.lineup-fav svg { display: block; }
.lineup-views { display: flex; align-items: center; gap: 3px; font-size: 12px; color: #b0a89f; white-space: nowrap; }
.lineup-views svg { flex: none; }
