:root {
  --bg: #0b1d26;
  --bg-soft: #102732;
  --card: #132f3b;
  --card-hover: #163643;
  --border: #1f4452;
  --border-soft: #1a3a47;
  --text: #eaf4f6;
  --text-dim: #a9c4cb;
  --text-dimmer: #7fa0a8;
  --accent: #35c2e0;
  --accent-soft: #1a8aa6;
  --accent-text: #04232c;
  --green: #3ecf8e;
  --yellow: #f2c94c;
  --red: #ff6b6b;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  --font-head: "Unbounded", "Manrope", system-ui, sans-serif;
  --font-body: "Manrope", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--text); font-family: var(--font-body); -webkit-tap-highlight-color: transparent; }
body { min-height: 100vh; padding-bottom: 84px; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 600; margin: 0; letter-spacing: -0.01em; }
p { margin: 0; }
button { font-family: var(--font-body); cursor: pointer; border: none; background: none; color: inherit; }
.topbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: linear-gradient(180deg, rgba(11,29,38,0.97), rgba(11,29,38,0.85)); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-soft); }
.topbar .brand { display: flex; align-items: center; gap: 10px; }
.brand .logo { width: 34px; height: 34px; border-radius: 10px; background: radial-gradient(circle at 30% 30%, var(--accent), var(--accent-soft)); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.brand h1 { font-size: 16px; line-height: 1.1; }
.brand span.sub { display: block; font-size: 11px; color: var(--text-dimmer); font-weight: 400; }
.back-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--card); border: 1px solid var(--border); color: var(--text); padding: 8px 12px; border-radius: 999px; font-size: 13px; }
.back-btn:hover { background: var(--card-hover); }
.weather-widget { display: flex; align-items: center; gap: 10px; background: var(--card); border: 1px solid var(--border); border-radius: 999px; padding: 6px 14px 6px 8px; font-size: 13px; white-space: nowrap; }
.weather-widget .ico { font-size: 20px; }
.weather-widget .t { font-weight: 600; font-family: var(--font-head); }
.weather-widget .d { color: var(--text-dimmer); font-size: 11px; }
.container { max-width: 1100px; margin: 0 auto; padding: 16px; }
.hero { padding: 22px 18px 26px; margin-bottom: 18px; border-radius: var(--radius); background: radial-gradient(120% 140% at 10% -10%, rgba(53,194,224,0.18), transparent 60%), linear-gradient(160deg, var(--bg-soft), var(--bg)); border: 1px solid var(--border-soft); }
.hero h2 { font-size: 22px; margin-bottom: 6px; }
.hero p { color: var(--text-dim); font-size: 14px; max-width: 560px; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin: 26px 0 12px; }
.section-title h3 { font-size: 16px; }
.section-title .count { font-size: 12px; color: var(--text-dimmer); background: var(--card); border: 1px solid var(--border); padding: 3px 10px; border-radius: 999px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.rcard { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
.rcard:hover { transform: translateY(-2px); border-color: var(--accent-soft); box-shadow: var(--shadow); }
.rcard .thumb { position: relative; width: 100%; aspect-ratio: 16 / 10; background: linear-gradient(135deg, #0e2531, #163643); overflow: hidden; }
.rcard .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rcard .thumb .badge { position: absolute; top: 10px; left: 10px; background: rgba(10, 25, 32, 0.78); border: 1px solid rgba(255,255,255,0.08); color: var(--accent); font-size: 11px; padding: 4px 9px; border-radius: 999px; backdrop-filter: blur(4px); z-index: 2; }
.noimg { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--text-dimmer); font-size: 13px; text-align: center; padding: 10px; }
.rcard .body { padding: 14px 14px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.rcard h4 { font-size: 15px; line-height: 1.25; }
.rcard .loc { font-size: 12px; color: var(--text-dimmer); display: flex; align-items: center; gap: 5px; }
.rcard .desc { font-size: 12.5px; color: var(--text-dim); line-height: 1.4; flex: 1; }
.rcard .fish-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 2px; }
.tag { font-size: 10.5px; padding: 3px 8px; border-radius: 999px; background: var(--bg-soft); border: 1px solid var(--border); color: var(--text-dim); }
.rcard .actions { display: flex; gap: 8px; margin-top: 10px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 600; padding: 9px 14px; border-radius: var(--radius-sm); border: 1px solid transparent; flex: 1; transition: filter 0.15s ease, transform 0.1s ease; }
.btn:active { transform: scale(0.97); }
.btn-primary { background: linear-gradient(135deg, var(--accent), var(--accent-soft)); color: var(--accent-text); }
.btn-primary:hover { filter: brightness(1.08); }
.btn-ghost { background: var(--bg-soft); border-color: var(--border); color: var(--text); }
.btn-ghost:hover { background: var(--card-hover); }
.btn-sm { padding: 7px 10px; font-size: 12px; }
.layout { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 900px) { .layout { grid-template-columns: 2.1fr 1fr; align-items: start; } }
.sidebar { display: flex; flex-direction: column; gap: 16px; }
.panel { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; }
.panel h3 { font-size: 14px; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.chat-card { background: linear-gradient(135deg, #15313d, #0f2029); border: 1px solid var(--border-soft); }
.chat-card p { font-size: 12.5px; color: var(--text-dim); margin-bottom: 12px; }
.chat-card .tg-btn { display: flex; align-items: center; gap: 10px; background: #1c8ad0; color: #fff; padding: 11px 14px; border-radius: var(--radius-sm); font-weight: 600; font-size: 13.5px; }
.chat-card .tg-btn:hover { filter: brightness(1.07); }
.chat-card .tg-btn .ico { font-size: 18px; }
.ads-list { display: flex; flex-direction: column; gap: 10px; }
.ad-empty { border: 1px dashed var(--border); border-radius: var(--radius-sm); padding: 18px 12px; text-align: center; color: var(--text-dimmer); font-size: 12.5px; }
.ad-item { background: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 12px; font-size: 12.5px; }
.ad-item .ad-title { font-weight: 600; margin-bottom: 3px; }
.ad-item .ad-meta { color: var(--text-dimmer); font-size: 11px; }
.ad-form { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.ad-form input, .ad-form textarea { background: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text); padding: 9px 10px; font-size: 13px; font-family: var(--font-body); resize: vertical; }
.ad-form input:focus, .ad-form textarea:focus { outline: none; border-color: var(--accent-soft); }
.detail-hero { position: relative; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border-soft); margin-bottom: 18px; min-height: 160px; }
.detail-hero img { width: 100%; display: block; max-height: 360px; object-fit: cover; }
.detail-hero .overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,20,26,0.92) 0%, rgba(8,20,26,0.15) 55%, transparent 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; z-index: 2; }
.detail-hero h2 { font-size: 22px; margin-bottom: 4px; }
.detail-hero .loc { color: var(--text-dim); font-size: 13px; }
.noimg-hero { width: 100%; min-height: 200px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0e2531, #163643); color: var(--text-dimmer); font-size: 14px; text-align: center; padding: 20px; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.detail-actions .btn { flex: none; padding: 11px 18px; }
.facts-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.fact-chip { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 12px; min-width: 100px; }
.fact-chip .fl { color: var(--text-dimmer); display: block; font-size: 10.5px; margin-bottom: 2px; }
.fact-chip .fv { font-weight: 600; font-family: var(--font-head); font-size: 13px; display: block; overflow-wrap: anywhere; line-height: 1.45; }
.tabs { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 16px; border-bottom: 1px solid var(--border-soft); }
.tab-btn { color: var(--text-dimmer); padding: 10px 14px; font-size: 13.5px; font-weight: 600; white-space: nowrap; border-bottom: 2px solid transparent; }
.tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.fish-list { display: flex; flex-direction: column; gap: 8px; }
.fish-item { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.fish-item summary { list-style: none; cursor: pointer; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fish-item summary::-webkit-details-marker { display: none; }
.fish-item summary .fname { font-weight: 600; font-size: 14px; }
.fish-item summary .fkind { font-size: 10.5px; padding: 2px 8px; border-radius: 999px; }
.fkind.white { background: rgba(62,207,142,0.14); color: var(--green); }
.fkind.predator { background: rgba(255,107,107,0.14); color: var(--red); }
.fish-item .fbody { padding: 0 14px 14px; font-size: 13px; color: var(--text-dim); }
.fish-item .frow { display: flex; gap: 16px; flex-wrap: wrap; margin: 10px 0; }
.fish-item .frow .fcell { font-size: 12.5px; }
.fish-item .frow .fcell b { display: block; color: var(--text); font-size: 13px; }
.fish-item .chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.season-guide { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--border); }
.season-guide .sg-title { font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-dimmer); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.season-switcher { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.season-chip { font-size: 11.5px; padding: 6px 11px; border-radius: 999px; background: var(--bg-soft); border: 1px solid var(--border); color: var(--text-dim); }
.season-chip.active { background: var(--accent); color: var(--accent-text); border-color: var(--accent); }
.season-panel { display: none; }
.season-panel.active { display: block; }
.season-panel .sp-recipe { font-size: 12.5px; color: var(--text-dim); background: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 12px; margin-bottom: 8px; line-height: 1.5; }
.season-panel .sp-tip { font-size: 12px; color: var(--text-dimmer); }
.map-wrap { position: relative; width: 100%; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border-soft); background: #061219; }
.map-wrap img { width: 100%; display: block; }
.map-wrap.yandex-map-wrap { height: min(64vh, 560px); min-height: 350px; background: #101820; }
.yandex-reservoir-map { width: 100%; height: 100%; min-height: 350px; }
.yandex-map-status { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; padding: 20px; color: var(--text-dim); text-align: center; font-size: 13px; background: rgba(8, 18, 25, .82); }
.map-map-caption { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 9px; color: var(--text-dim); font-size: 11.5px; }
.map-map-caption span:first-child { color: var(--accent); font-weight: 700; }
@media (max-width: 520px) { .map-wrap.yandex-map-wrap, .yandex-reservoir-map { height: 56vh; min-height: 320px; } .map-map-caption { font-size: 10.5px; } }
.map-pin { position: absolute; width: 22px; height: 22px; margin-left: -11px; margin-top: -11px; border-radius: 50%; background: var(--accent); color: var(--accent-text); font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 2px solid #04232c; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,0.4); transition: transform 0.15s ease; }
.map-pin:hover { transform: scale(1.25); z-index: 5; }
.map-pin.dim { opacity: 0.25; }
.map-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11.5px; color: var(--text-dimmer); margin-top: 10px; }
.map-legend .lg-item { display: flex; align-items: center; gap: 6px; }
.map-legend .dot { width: 10px; height: 10px; border-radius: 50%; }
.map-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.filter-chip { font-size: 11.5px; padding: 6px 11px; border-radius: 999px; background: var(--bg-soft); border: 1px solid var(--border); color: var(--text-dim); }
.filter-chip.active { background: var(--accent); color: var(--accent-text); border-color: var(--accent); }
.sheet-backdrop { position: fixed; inset: 0; background: rgba(4, 12, 16, 0.6); z-index: 90; display: none; }
.sheet-backdrop.open { display: block; }
.sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; background: var(--card); border-top: 1px solid var(--border); border-radius: 20px 20px 0 0; padding: 18px; max-height: 72vh; overflow-y: auto; transform: translateY(100%); transition: transform 0.22s ease; }
.sheet.open { transform: translateY(0); }
.sheet .handle { width: 40px; height: 4px; background: var(--border); border-radius: 999px; margin: 0 auto 14px; }
.sheet-close { position: absolute; top: 14px; right: 14px; width: 28px; height: 28px; border-radius: 50%; background: var(--bg-soft); color: var(--text-dim); display: flex; align-items: center; justify-content: center; font-size: 14px; }
.sheet h4 { font-size: 17px; margin-bottom: 4px; }
.sheet .sub { font-size: 12.5px; color: var(--text-dimmer); margin-bottom: 12px; }
.info-list { display: flex; flex-direction: column; gap: 8px; margin: 0 0 18px; padding: 0; }
.info-list li { list-style: none; font-size: 13.5px; color: var(--text-dim); padding-left: 18px; position: relative; line-height: 1.5; }
.info-list li::before { content: "—"; position: absolute; left: 0; color: var(--accent); }
.sources-list a { display: block; font-size: 12.5px; color: var(--accent); margin-bottom: 6px; word-break: break-all; }
.verify-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; padding: 4px 9px; border-radius: 999px; margin-bottom: 14px; }
.verify-badge.ok { background: rgba(62,207,142,0.12); color: var(--green); border: 1px solid rgba(62,207,142,0.3); }
.verify-badge.warn { background: rgba(242,201,76,0.12); color: var(--yellow); border: 1px solid rgba(242,201,76,0.3); }
.footer { text-align: center; padding: 30px 16px 10px; color: var(--text-dimmer); font-size: 11.5px; line-height: 1.6; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }
.hidden { display: none !important; }
.flex-row { display: flex; align-items: center; gap: 8px; }
.mt-10 { margin-top: 10px; }
.mb-10 { margin-bottom: 10px; }

/* ============================================================
   ДОПОЛНЕНИЕ К styles.css — стили для платных объявлений с фото.
   Добавь это содержимое В КОНЕЦ существующего файла public/styles.css
   (не заменяй весь файл — просто допиши эти правила снизу).
   ============================================================ */

/* Блок с ценой и кнопкой администратора */
.ad-pricing-box {
  background: linear-gradient(135deg, rgba(53,194,224,0.12), rgba(26,138,166,0.06));
  border: 1px solid var(--accent-soft);
  border-radius: var(--radius-sm);
  padding: 12px;
  margin: 12px 0;
}
.ad-pricing-title {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--text);
}
.ad-pricing-text {
  font-size: 12px;
  color: var(--text-dim);
  line-height: 1.5;
  margin-bottom: 10px;
}
.ad-pricing-text #adPriceText,
.ad-pricing-text #adDurationText {
  color: var(--accent);
  font-weight: 700;
}

.tg-btn-admin {
  background: #1c8ad0;
  font-size: 12.5px;
  padding: 9px 12px;
}

/* Загрузка фото */
.ad-photo-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--bg-soft);
  border: 1px dashed var(--border);
  border-radius: var(--radius-sm);
  padding: 10px;
  font-size: 12.5px;
  color: var(--text-dim);
  cursor: pointer;
  text-align: center;
}
.ad-photo-label:hover { border-color: var(--accent-soft); color: var(--text); }
.ad-photo-label input[type="file"] { display: none; }

.ad-photo-preview {
  position: relative;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border);
}
.ad-photo-preview img {
  width: 100%;
  max-height: 160px;
  object-fit: cover;
  display: block;
}
.ad-photo-remove {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(10, 25, 32, 0.8);
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  border: 1px solid rgba(255,255,255,0.1);
}

/* Сообщение после отправки формы */
.ad-submit-msg {
  font-size: 12px;
  margin-top: 8px;
  line-height: 1.5;
}
.ad-submit-msg.success { color: var(--green); }
.ad-submit-msg.error { color: var(--red); }

/* Блок для администраций водоёмов */
.reservoir-admin-box {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.reservoir-admin-text {
  font-size: 11.5px;
  color: var(--text-dimmer);
  line-height: 1.5;
}

/* Фото внутри карточки объявления в списке */
.ad-item .ad-photo {
  width: 100%;
  max-height: 140px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  margin-bottom: 8px;
  display: block;
}

/* Бейдж "Администрация водоёма" на объявлении */
.ad-item .ad-badge-admin {
  display: inline-block;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(62,207,142,0.14);
  color: var(--green);
  margin-bottom: 4px;
}

/* ===== Админка: статусы объявлений ===== */
.ad-status-badge {
  display: inline-block;
  font-size: 10.5px;
  padding: 3px 9px;
  border-radius: 999px;
  margin-bottom: 6px;
}
.ad-status-badge.pending { background: rgba(242,201,76,0.14); color: var(--yellow); }
.ad-status-badge.published { background: rgba(62,207,142,0.14); color: var(--green); }
.ad-status-badge.expired { background: rgba(127,160,168,0.14); color: var(--text-dimmer); }
.ad-status-badge.rejected { background: rgba(255,107,107,0.14); color: var(--red); }

.admin-ad-photo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.icon-btn.confirm:hover { background: rgba(62,207,142,0.15); border-color: var(--green); }
/* Главная: рекламный слот и переключаемые разделы */
.home-container { padding-top: 14px; }
.top-ad-slot { min-height: 112px; position: relative; isolation: isolate; overflow: hidden; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 24px; margin:0 0 18px; border:1px solid rgba(81,190,211,.28); border-radius:20px; background:linear-gradient(112deg,#123543 0%,#102a35 48%,#142b37 100%); box-shadow:0 12px 34px rgba(0,0,0,.2); }
.ad-slot-copy { display:flex; flex-direction:column; gap:5px; position:relative; z-index:1; }
.ad-slot-kicker,.eyebrow { color:#64d3e8; font-size:9px; font-weight:800; letter-spacing:.16em; }
.ad-slot-copy strong { font-family:var(--font-head); font-size:17px; letter-spacing:-.03em; }
.ad-slot-copy>span:last-child { color:var(--text-dimmer); font-size:11px; }
.ad-slot-action { position:relative; z-index:1; flex:none; padding:11px 15px; border:1px solid rgba(91,211,231,.32); border-radius:12px; background:rgba(53,194,224,.13); color:#a9eff8; font-size:11px; font-weight:800; }
.ad-slot-action span { margin-left:8px; }
.ad-slot-glow { position:absolute; z-index:0; width:220px; height:220px; right:15%; top:-150px; border-radius:50%; background:rgba(53,194,224,.18); filter:blur(34px); pointer-events:none; }
.home-layout { gap:18px; }
.home-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:7px; margin:0 0 18px; border:1px solid var(--border-soft); border-radius:17px; background:rgba(9,25,33,.72); }
.home-tab { min-height:58px; display:flex; align-items:center; justify-content:center; gap:9px; position:relative; border:1px solid transparent; border-radius:12px; color:var(--text-dimmer); font-size:12px; font-weight:800; transition:all .2s ease; }
.home-tab:hover { color:var(--text); background:rgba(255,255,255,.035); }
.home-tab.active { color:#c9f6fb; border-color:rgba(53,194,224,.3); background:linear-gradient(135deg,rgba(53,194,224,.19),rgba(26,138,166,.12)); box-shadow:inset 0 0 20px rgba(53,194,224,.06),0 4px 14px rgba(0,0,0,.12); }
.home-tab-icon { font-size:19px; }
.chat-live-dot { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 9px rgba(62,207,142,.8); }
.home-view { display:none; animation:homeFade .22s ease; }
.home-view.active { display:block; }
@keyframes homeFade { from {opacity:.35; transform:translateY(5px)} to {opacity:1;transform:translateY(0)} }
.view-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin:3px 0 16px; }
.view-heading h2 { font-size:20px; margin:5px 0 5px; }
.view-heading p { color:var(--text-dimmer); font-size:12px; }
.view-heading .count { flex:none; margin-bottom:3px; }
#homeView-reservoirs .grid { gap:14px; }
#homeView-reservoirs .rcard { box-shadow:0 8px 22px rgba(0,0,0,.16); }
#homeView-reservoirs .rcard .thumb { aspect-ratio:16/9; }
#homeView-reservoirs .rcard .body { gap:7px; }
#homeView-reservoirs .rcard h4 { font-size:14px; }
#homeView-reservoirs .rcard .desc { min-height:34px; }
.fish-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.fish-filters { display:flex; flex-wrap:wrap; gap:6px; }
.fish-filter { padding:8px 12px; border:1px solid var(--border); border-radius:999px; background:var(--bg-soft); color:var(--text-dimmer); font-size:10.5px; font-weight:800; }
.fish-filter.active { color:#c9f6fb; border-color:rgba(53,194,224,.48); background:rgba(53,194,224,.14); }
.fish-search { display:flex; align-items:center; gap:7px; min-width:150px; padding:7px 10px; border:1px solid var(--border); border-radius:999px; background:var(--bg-soft); color:var(--text-dimmer); }
.fish-search span { font-size:19px; line-height:1; }
.fish-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--text); font:500 11px var(--font-body); }
.fish-search input::placeholder { color:var(--text-dimmer); }
.fish-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.fish-card { min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:16px; background:linear-gradient(155deg,#153542,#102630); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.fish-card:hover { transform:translateY(-2px); border-color:#2c8296; box-shadow:0 10px 24px rgba(0,0,0,.2); }
.fish-card-top { display:flex; align-items:center; gap:11px; padding:12px; cursor:pointer; }
.fish-thumb { width:76px; height:68px; flex:none; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid rgba(117,208,224,.16); border-radius:12px; background:radial-gradient(circle at 50% 45%,rgba(67,180,199,.25),rgba(7,27,36,.3) 72%),linear-gradient(145deg,#1d5260,#0d2631); }
.fish-thumb:before { content:""; position:absolute; width:58px; height:58px; border:1px solid rgba(151,225,235,.12); border-radius:50%; }
.fish-thumb span { position:relative; z-index:1; font-size:35px; filter:drop-shadow(0 4px 5px rgba(0,0,0,.35)); }
.fish-card-title { min-width:0; flex:1; }
.fish-card-title h3 { font-family:var(--font-head); font-size:12px; line-height:1.35; margin-bottom:6px; }
.fish-kind { display:inline-flex; padding:4px 7px; border-radius:999px; font-size:9px; font-weight:800; }
.fish-kind.white { color:#7ee3b5; background:rgba(62,207,142,.12); }
.fish-kind.predator { color:#ff9999; background:rgba(255,107,107,.12); }
.fish-kind.other { color:#e9c98a; background:rgba(233,201,138,.12); }
.fish-photo-credit { display:block; margin:6px 0 12px; color:var(--muted,#8fa69e); font-size:10px; line-height:1.45; }
.fish-photo-credit a { color:var(--accent,#83d9c1); text-decoration:underline; }
.fish-open { color:var(--text-dimmer); font-size:18px; transition:transform .2s ease; }
.fish-card.expanded .fish-open { transform:rotate(180deg); color:var(--accent); }
.fish-card-teaser { padding:0 12px 12px 99px; color:var(--text-dimmer); font-size:10.5px; line-height:1.45; }
.fish-card-detail { display:none; padding:0 12px 13px; border-top:1px solid var(--border-soft); }
.fish-card.expanded .fish-card-detail { display:block; }
.fish-detail-label { margin:12px 0 6px; color:#75cfe0; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.fish-detail-text { color:var(--text-dim); font-size:11px; line-height:1.55; }
.fish-detail-chips { display:flex; flex-wrap:wrap; gap:5px; }
.fish-detail-chips .tag { font-size:9.5px; }
.fish-season-switch { display:flex; flex-wrap:wrap; gap:5px; }
.fish-season-btn { padding:6px 8px; border:1px solid var(--border); border-radius:8px; background:var(--bg-soft); color:var(--text-dimmer); font-size:9.5px; }
.fish-season-btn.active { color:var(--accent-text); background:var(--accent); border-color:var(--accent); }
.fish-season-content { margin-top:8px; padding:10px; border:1px solid var(--border-soft); border-radius:10px; background:rgba(5,20,27,.35); }
.fish-recipe { color:var(--text-dim); font-size:10.5px; line-height:1.55; }
.fish-empty { grid-column:1/-1; padding:28px; border:1px dashed var(--border); border-radius:14px; text-align:center; color:var(--text-dimmer); font-size:12px; }
.chat-status { display:flex; align-items:center; gap:7px; color:var(--green); font-size:10px; white-space:nowrap; }
.chat-status i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 9px rgba(62,207,142,.7); }
.chat-hub { display:flex; align-items:center; gap:24px; padding:25px; border:1px solid rgba(53,194,224,.25); border-radius:20px; background:radial-gradient(80% 120% at 0 0,rgba(53,194,224,.16),transparent 70%),linear-gradient(140deg,#153642,#102630); }
.chat-hub-art { width:132px; height:132px; flex:none; position:relative; display:flex; align-items:center; justify-content:center; border:1px solid rgba(113,215,231,.25); border-radius:28px; background:linear-gradient(145deg,#1e6474,#12313e); box-shadow:0 15px 32px rgba(0,0,0,.25),inset 0 0 30px rgba(89,205,225,.1); }
.chat-hub-art span { font-size:58px; filter:drop-shadow(0 7px 8px rgba(0,0,0,.3)); }
.chat-hub-art b { position:absolute; right:14px; bottom:12px; font-size:25px; }
.chat-hub-art i { position:absolute; top:12px; right:17px; color:#b5f4fb; font-style:normal; }
.chat-hub-copy h3 { margin:6px 0; font-size:18px; }
.chat-hub-copy p { max-width:480px; color:var(--text-dim); font-size:12px; line-height:1.6; }
.chat-launch { display:inline-flex!important; width:auto; margin-top:14px; }
.chat-launch>span:last-child { margin-left:auto; }
.chat-hub-copy small { display:block; margin-top:9px; color:var(--text-dimmer); font-size:9px; line-height:1.5; }
.chat-feature-row { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:12px; }
.chat-feature-row>div { display:flex; flex-direction:column; gap:5px; padding:13px; border:1px solid var(--border-soft); border-radius:13px; background:rgba(16,39,50,.7); }
.chat-feature-row span { font-size:19px; }
.chat-feature-row b { font-size:10.5px; }
.chat-feature-row small { color:var(--text-dimmer); font-size:9px; line-height:1.4; }
@media(max-width:620px) {
  .home-container { padding:10px 12px 24px; }
  .top-ad-slot { min-height:100px; padding:15px; gap:8px; border-radius:15px; }
  .ad-slot-copy strong { font-size:13px; }
  .ad-slot-copy>span:last-child { max-width:190px; font-size:9px; }
  .ad-slot-kicker { font-size:8px; }
  .ad-slot-action { max-width:116px; padding:9px 10px; font-size:9px; line-height:1.35; text-align:center; }
  .home-tabs { gap:5px; padding:5px; margin-bottom:15px; border-radius:14px; }
  .home-tab { min-height:56px; flex-direction:column; gap:3px; font-size:9px; }
  .home-tab-icon { font-size:19px; }
  .view-heading { align-items:center; }
  .view-heading h2 { font-size:16px; }
  .view-heading p { max-width:230px; font-size:10px; }
  .fish-toolbar { align-items:stretch; flex-direction:column; }
  .fish-filters { overflow-x:auto; flex-wrap:nowrap; padding-bottom:2px; }
  .fish-filter { white-space:nowrap; }
  .fish-search { min-height:36px; }
  .fish-directory { grid-template-columns:1fr; gap:9px; }
  .fish-card-top { padding:10px; }
  .fish-thumb { width:68px; height:60px; }
  .fish-card-teaser { padding-left:89px; }
  .chat-hub { flex-direction:column; align-items:flex-start; gap:16px; padding:18px; }
  .chat-hub-art { width:92px; height:92px; border-radius:20px; }
  .chat-hub-art span { font-size:42px; }
  .chat-hub-art b { font-size:20px; }
  .chat-feature-row { gap:6px; }
  .chat-feature-row>div { padding:10px 8px; }
  .chat-feature-row b { font-size:9px; }
  .chat-feature-row small { font-size:8px; }
}
@media(min-width:900px) {
  .home-tabs { position:sticky; top:76px; z-index:10; backdrop-filter:blur(12px); }
}

/* ===== Mobile-first visual polish, iteration B ===== */
:root {
  --bg: #071820;
  --bg-soft: #0d2530;
  --card: #102d39;
  --card-hover: #153b49;
  --border: #24505f;
  --border-soft: #1b3d49;
  --accent: #45d0e8;
}
html { scroll-behavior:smooth; }
body { background:
  radial-gradient(ellipse at 85% 0%, rgba(32,123,145,.12), transparent 34rem),
  linear-gradient(180deg,#081b24 0%,#071820 65%,#091e27 100%); }
.topbar {
  min-height:76px;
  padding:13px max(16px, calc((100vw - 1100px)/2));
  background:rgba(7,24,32,.92);
  border-bottom-color:rgba(89,184,203,.18);
  box-shadow:0 8px 28px rgba(0,0,0,.13);
}
.brand .logo {
  width:46px;height:46px;border-radius:15px;
  font-size:25px;box-shadow:0 7px 20px rgba(29,166,193,.2);
}
.brand h1 {font-size:17px;letter-spacing:-.04em;}
.brand span.sub {font-size:10px;margin-top:3px;}
.weather-widget {padding:7px 12px 7px 9px;background:rgba(17,49,61,.82);}
.container.home-container {padding-top:18px;}
.top-ad-slot {
  min-height:116px;
  padding:19px 21px;
  border-radius:19px;
  background:
    radial-gradient(circle at 92% 15%,rgba(62,198,222,.22),transparent 32%),
    linear-gradient(115deg,#123a48 0%,#102b37 58%,#0d2631 100%);
  border-color:rgba(78,196,218,.3);
  box-shadow:0 13px 34px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035);
}
.ad-slot-kicker {font-size:9px;letter-spacing:.13em;}
.ad-slot-copy strong {font-size:16px;line-height:1.3;}
.ad-slot-copy>span:last-child {font-size:11px;line-height:1.45;max-width:410px;}
.ad-slot-action {padding:11px 14px;border-radius:12px;white-space:nowrap;}
.home-tabs {
  position:relative;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;padding:6px;margin-bottom:21px;
  border:1px solid rgba(89,174,192,.2);
  border-radius:17px;
  background:rgba(12,34,44,.9);
  box-shadow:0 9px 24px rgba(0,0,0,.16);
}
.home-tab {
  min-width:0;min-height:57px;padding:7px 5px;
  display:flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid transparent;border-radius:12px;
  color:#91adb6;font-size:11px;font-weight:800;line-height:1.2;
}
.home-tab.active {
  color:#d7faff;
  border-color:rgba(69,208,232,.34);
  background:linear-gradient(145deg,rgba(45,169,193,.25),rgba(20,94,113,.18));
  box-shadow:inset 0 1px rgba(255,255,255,.07),0 4px 13px rgba(0,0,0,.15);
}
.home-tab-icon {font-size:18px;}
.view-heading {align-items:center;margin:0 0 15px;}
.view-heading h2 {font-size:21px;line-height:1.22;letter-spacing:-.045em;}
.view-heading p {font-size:12px;line-height:1.5;margin-top:5px;}
.view-heading .eyebrow {font-size:9px;}
.view-heading .count {
  padding:6px 10px;border:1px solid var(--border);
  border-radius:999px;background:rgba(17,48,60,.8);
  color:#9fc1cb;font-size:10px;white-space:nowrap;
}
#homeView-reservoirs .grid {grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px;}
#homeView-reservoirs .rcard {
  border-radius:19px;border-color:rgba(81,157,175,.27);
  background:linear-gradient(160deg,#123441,#0e2934);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
#homeView-reservoirs .rcard .thumb {aspect-ratio:16/9;min-height:150px;}
#homeView-reservoirs .rcard .thumb img {transition:transform .45s ease;}
#homeView-reservoirs .rcard:hover .thumb img {transform:scale(1.035);}
#homeView-reservoirs .rcard .body {padding:16px;gap:9px;}
#homeView-reservoirs .rcard h4 {font-size:16px;line-height:1.35;}
#homeView-reservoirs .rcard .loc {font-size:11px;line-height:1.5;}
#homeView-reservoirs .rcard .desc {font-size:12px;line-height:1.55;color:#a9c4cb;}
#homeView-reservoirs .tag {padding:5px 9px;font-size:10px;border-radius:999px;}
#homeView-reservoirs .actions .btn {min-height:40px;border-radius:11px;}
.fish-card {border-radius:17px;background:linear-gradient(150deg,#153946,#0e2934);}
.fish-card-top {min-height:88px;}
.fish-thumb {border-radius:15px;}
.chat-hub {box-shadow:0 14px 34px rgba(0,0,0,.18);}
.footer {padding:22px 18px;color:#6f929c;font-size:10px;line-height:1.6;text-align:center;}

@media (max-width:760px) {
  .topbar {min-height:72px;padding:11px 15px;gap:8px;}
  .brand {min-width:0;}
  .brand .logo {width:42px;height:42px;flex:none;}
  .brand h1 {font-size:15px;}
  .brand span.sub {font-size:8px;max-width:158px;line-height:1.25;letter-spacing:.01em;}
  .weather-widget {gap:6px;padding:6px 9px;font-size:11px;}
  .weather-widget .ico {font-size:17px;}
  .weather-widget .d {font-size:9px;}
  .container.home-container {padding:13px 13px 24px;}
  .top-ad-slot {
    min-height:0;padding:15px;gap:10px;margin-bottom:14px;
    border-radius:16px;align-items:center;
  }
  .ad-slot-copy {gap:5px;min-width:0;}
  .ad-slot-kicker {font-size:7px;letter-spacing:.1em;}
  .ad-slot-copy strong {font-size:12px;line-height:1.35;}
  .ad-slot-copy>span:last-child {font-size:9px;line-height:1.4;max-width:190px;}
  .ad-slot-action {max-width:108px;white-space:normal;padding:9px 8px;font-size:9px;line-height:1.35;text-align:center;}
  .home-tabs {gap:4px;padding:5px;margin-bottom:17px;border-radius:15px;}
  .home-tab {min-height:54px;flex-direction:column;gap:3px;padding:5px 2px;font-size:9px;}
  .home-tab-icon {font-size:18px;line-height:1;}
  .chat-live-dot {position:absolute;top:6px;right:9px;width:5px;height:5px;}
  .view-heading {gap:7px;margin-bottom:13px;align-items:flex-end;}
  .view-heading h2 {font-size:17px;line-height:1.25;margin-top:5px;}
  .view-heading p {font-size:10px;line-height:1.45;max-width:235px;}
  .view-heading .count {font-size:9px;padding:5px 7px;}
  #homeView-reservoirs .grid {grid-template-columns:1fr;gap:13px;}
  #homeView-reservoirs .rcard {border-radius:17px;}
  #homeView-reservoirs .rcard .thumb {aspect-ratio:16/9;min-height:0;}
  #homeView-reservoirs .rcard .body {padding:14px;gap:8px;}
  #homeView-reservoirs .rcard h4 {font-size:15px;}
  #homeView-reservoirs .rcard .desc {font-size:11px;}
  .fish-directory {grid-template-columns:1fr;gap:10px;}
  .fish-toolbar {gap:9px;}
  .fish-filters {flex-wrap:nowrap;overflow-x:auto;}
  .fish-filter {white-space:nowrap;}
  .chat-hub {padding:17px;border-radius:17px;}
  .chat-feature-row {grid-template-columns:1fr;gap:8px;}
  .chat-feature-row>div {display:grid;grid-template-columns:26px 1fr;align-items:center;column-gap:8px;}
  .chat-feature-row small {grid-column:2;}
}
@media (max-width:370px) {
  .weather-widget .d {display:none;}
  .ad-slot-action {max-width:91px;}
  .home-tab {font-size:8px;}
}

/* HOME BLOCK REDESIGN — 04.11.2026 */
.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 25px}
.home-shortcut{min-width:0;min-height:92px;position:relative;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(105,180,193,.2);border-radius:18px;background:linear-gradient(145deg,#153541,#102630);color:var(--text);text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.home-shortcut:hover,.home-shortcut.active{transform:translateY(-2px);border-color:rgba(87,205,219,.55);background:linear-gradient(145deg,#1a4652,#12303a)}
.shortcut-icon{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:14px;font-size:25px;background:rgba(68,185,198,.13);border:1px solid rgba(100,205,215,.16)}
.rest-icon{background:rgba(91,177,130,.13);border-color:rgba(91,177,130,.2)}
.chat-icon{background:rgba(144,117,202,.15);border-color:rgba(144,117,202,.22)}
.shortcut-copy{display:flex;min-width:0;flex-direction:column;gap:5px}
.shortcut-copy b{font-family:var(--font-head);font-size:12px;line-height:1.25}
.shortcut-copy small{color:var(--text-dimmer);font-size:10px;line-height:1.35}
.shortcut-arrow{margin-left:auto;align-self:flex-start;color:#78cbd7;font-size:15px}
.home-shortcut .chat-live-dot{position:absolute;right:12px;bottom:12px}
#homeDashboard[hidden]{display:none!important}
.section-page{display:none}
.section-page.active{display:block;animation:homeFade .22s ease}
.back-home{position:sticky;top:calc(env(safe-area-inset-top, 0px) + 8px);z-index:30;display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;padding:10px 15px;border:1px solid var(--border);border-radius:999px;background:rgba(17,43,53,.8);color:#9bdce5;font-size:11px;font-weight:800;cursor:pointer}
.back-home[hidden]{display:none!important}

.reservoir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.reservoir-grid .rcard{overflow:hidden;border:1px solid rgba(105,180,193,.2);border-radius:18px;background:linear-gradient(155deg,#153541,#0e252f);box-shadow:0 9px 24px rgba(0,0,0,.16);transition:transform .2s ease,border-color .2s ease}
.reservoir-grid .rcard:hover{transform:translateY(-3px);border-color:rgba(87,205,219,.5)}
.reservoir-grid .rcard>a:first-child{display:block}
.reservoir-grid .rcard .thumb{height:158px;position:relative;overflow:hidden;background:#163641}
.reservoir-grid .rcard .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.reservoir-grid .rcard:hover .thumb img{transform:scale(1.045)}
.reservoir-grid .rcard .badge{position:absolute;z-index:2;top:10px;left:10px;padding:6px 9px;border-radius:999px;background:rgba(5,20,27,.78);color:#c6f1f3;font-size:9px;backdrop-filter:blur(8px)}
.reservoir-grid .rcard .body{padding:14px}
.reservoir-grid .rcard h4{font-family:var(--font-head);font-size:12px;line-height:1.45;margin:0 0 8px}
.reservoir-grid .rcard .loc{font-size:10px;color:var(--text-dimmer);line-height:1.4}
.reservoir-grid .rcard .desc{min-height:38px;margin:9px 0;color:var(--text-dim);font-size:10.5px;line-height:1.5}
.reservoir-grid .rcard .fish-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 12px}
.reservoir-grid .rcard .tag{font-size:9px}
.reservoir-grid .rcard .actions{display:flex;gap:7px}
.reservoir-grid .rcard .actions .btn{flex:1;justify-content:center;font-size:10px;padding:8px 9px}
.home-ads-panel{margin-top:24px}
.leisure-card{min-height:250px;position:relative;display:block;overflow:hidden;border:1px solid rgba(105,180,193,.22);border-radius:20px;background:#102a35;color:#fff;text-decoration:none}
.leisure-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.leisure-card:hover img{transform:scale(1.035)}
.leisure-card-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,23,.92),rgba(4,17,23,.55) 58%,rgba(4,17,23,.12))}
.leisure-card-copy{position:relative;z-index:1;display:flex;max-width:490px;min-height:250px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:9px;padding:24px}
.leisure-card-copy small{color:#9fe4e9;font-size:9px;font-weight:800;letter-spacing:.14em}
.leisure-card-copy b{font-family:var(--font-head);font-size:20px}
.leisure-card-copy span{color:#d1e0e4;font-size:12px;line-height:1.5}
.leisure-card-copy em{margin-top:5px;color:#a5edf0;font-size:11px;font-style:normal;font-weight:800}
.leisure-note{margin-top:13px;color:var(--text-dimmer);font-size:11px;line-height:1.6}
@media(max-width:760px){.home-shortcuts{gap:7px;margin-bottom:20px}.home-shortcut{min-height:88px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;padding:10px;border-radius:15px}.shortcut-icon{width:38px;height:38px;border-radius:11px;font-size:21px}.shortcut-copy b{font-size:10px}.shortcut-copy small{font-size:8px}.shortcut-arrow{position:absolute;right:9px;top:10px;font-size:12px}.home-shortcut .chat-live-dot{right:9px;bottom:10px}.reservoir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reservoir-grid .rcard .thumb{height:118px}.reservoir-grid .rcard .body{padding:11px}.reservoir-grid .rcard h4{font-size:10px}.reservoir-grid .rcard .desc{font-size:9.5px;min-height:48px}.reservoir-grid .rcard .actions{flex-direction:column}.reservoir-grid .rcard .actions .btn{width:100%}.leisure-card,.leisure-card-copy{min-height:220px}.leisure-card-copy{padding:18px}.leisure-card-copy b{font-size:17px}}
@media(max-width:360px){.shortcut-copy small{display:none}.reservoir-grid{gap:8px}.reservoir-grid .rcard .thumb{height:105px}}

/* Compact reservoir directory cards */
.reservoir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.reservoir-grid .rcard.reservoir-name-card{min-width:0;min-height:82px;display:block;overflow:hidden;border:1px solid rgba(112,190,202,.19);border-radius:15px;background:linear-gradient(145deg,rgba(25,62,74,.96),rgba(13,36,46,.98));box-shadow:0 5px 16px rgba(0,0,0,.13);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.reservoir-grid .rcard.reservoir-name-card:hover{transform:translateY(-2px);border-color:rgba(87,205,219,.55);background:linear-gradient(145deg,#204b58,#12313c);box-shadow:0 9px 22px rgba(0,0,0,.2)}
.reservoir-name-link{display:flex;min-height:82px;align-items:center;gap:11px;padding:13px;color:var(--text);text-decoration:none}
.reservoir-name-mark{width:35px;height:35px;flex:none;display:grid;place-items:center;border:1px solid rgba(92,205,216,.22);border-radius:11px;background:linear-gradient(145deg,rgba(71,184,197,.18),rgba(34,113,130,.08))}
.reservoir-name-mark span{width:15px;height:15px;border:2px solid #70d2dc;border-radius:50% 50% 50% 2px;transform:rotate(-45deg);position:relative}
.reservoir-name-mark span:after{content:"";position:absolute;width:5px;height:5px;left:3px;top:3px;border-radius:50%;background:#70d2dc}
.reservoir-name-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}
.reservoir-name-kicker{color:#76cbd5;font-size:8px;font-weight:800;letter-spacing:.14em}
.reservoir-grid .reservoir-name-card h4{margin:0;font-family:var(--font-body);font-size:12px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.reservoir-name-arrow{flex:none;color:#7bcbd5;font-size:17px;transition:transform .18s ease}
.reservoir-name-card:hover .reservoir-name-arrow{transform:translate(2px,-2px)}
@media(max-width:760px){.reservoir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.reservoir-grid .rcard.reservoir-name-card,.reservoir-name-link{min-height:72px}.reservoir-name-link{gap:9px;padding:10px}.reservoir-name-mark{width:32px;height:32px;border-radius:10px}.reservoir-grid .reservoir-name-card h4{font-size:11px}.reservoir-name-kicker{font-size:7px}}
@media(min-width:761px) and (max-width:1000px){.reservoir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Reservoir directory: paired blocks, left and right on every screen */
#reservoirGrid.reservoir-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
#reservoirGrid .reservoir-name-card,
#reservoirGrid .reservoir-name-link {
  min-width: 0;
  min-height: 76px;
}
#reservoirGrid .reservoir-name-link { padding: 11px 12px; }
#reservoirGrid .reservoir-name-card h4 { font-size: 12px; }
@media (max-width: 380px) {
  #reservoirGrid.reservoir-grid { gap: 8px; }
  #reservoirGrid .reservoir-name-link { gap: 7px; padding: 9px; }
  #reservoirGrid .reservoir-name-mark { width: 28px; height: 28px; }
  #reservoirGrid .reservoir-name-card h4 { font-size: 10px; }
}

/* Premium aqua-glass cards for the reservoir directory */
#reservoirGrid.reservoir-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  counter-reset: reservoir-card;
}
#reservoirGrid .rcard.reservoir-name-card {
  counter-increment: reservoir-card;
  position: relative;
  min-height: 96px;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(137, 218, 225, .20);
  border-radius: 19px;
  background:
    radial-gradient(125% 130% at 100% 0%, rgba(73, 190, 197, .20), transparent 54%),
    linear-gradient(135deg, #173d49 0%, #102b37 54%, #0d2530 100%);
  box-shadow: 0 9px 24px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255,255,255,.055);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
#reservoirGrid .rcard.reservoir-name-card::before {
  content: "0" counter(reservoir-card);
  position: absolute;
  z-index: -1;
  right: 10px;
  bottom: -19px;
  color: rgba(177, 237, 238, .055);
  font-family: var(--font-head);
  font-size: 64px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.09em;
  pointer-events: none;
}
#reservoirGrid .rcard.reservoir-name-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 118px;
  height: 118px;
  right: -47px;
  top: -63px;
  border: 1px solid rgba(132, 224, 226, .15);
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(132,224,226,.025), 0 0 0 21px rgba(132,224,226,.02);
  pointer-events: none;
}
#reservoirGrid .rcard.reservoir-name-card:hover {
  transform: translateY(-3px);
  border-color: rgba(105, 226, 226, .55);
  box-shadow: 0 14px 30px rgba(0,0,0,.28), 0 0 22px rgba(48,190,201,.09), inset 0 1px 0 rgba(255,255,255,.09);
}
#reservoirGrid .reservoir-name-link {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 96px;
  align-items: center;
  gap: 12px;
  padding: 14px;
  color: var(--text);
}
#reservoirGrid .reservoir-name-mark {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(130, 222, 226, .30);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(106,220,220,.20), rgba(42,139,157,.10));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 5px 14px rgba(0,0,0,.13);
}
#reservoirGrid .reservoir-name-mark span {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  transform: none;
  color: #91e2e3;
  font-size: 24px;
  line-height: 1;
  font-family: var(--font-body);
  font-weight: 500;
}
#reservoirGrid .reservoir-name-mark span::before { content: "≈"; }
#reservoirGrid .reservoir-name-mark span::after { display: none; }
#reservoirGrid .reservoir-name-copy { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 6px; }
#reservoirGrid .reservoir-name-kicker {
  color: #86d9dc;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .17em;
}
#reservoirGrid .reservoir-name-card h4 {
  margin: 0;
  color: #f0fbfb;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.38;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
#reservoirGrid .reservoir-name-arrow {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  display: grid;
  place-items: center;
  align-self: flex-start;
  margin: 0 0 0 auto;
  border: 1px solid rgba(144,220,224,.18);
  border-radius: 50%;
  background: rgba(8,29,38,.30);
  color: #a1e5e5;
  font-size: 13px;
  transition: transform .22s ease, background .22s ease;
}
#reservoirGrid .reservoir-name-card:hover .reservoir-name-arrow {
  transform: translate(2px,-2px);
  background: rgba(80,194,199,.17);
}
#reservoirGrid .rcard.reservoir-name-card:nth-child(4n+2) {
  background: radial-gradient(125% 130% at 100% 0%, rgba(78,164,205,.19), transparent 54%), linear-gradient(135deg,#193b50 0%,#112c3c 55%,#0d2533 100%);
}
#reservoirGrid .rcard.reservoir-name-card:nth-child(4n+3) {
  background: radial-gradient(125% 130% at 100% 0%, rgba(69,184,164,.16), transparent 54%), linear-gradient(135deg,#173f43 0%,#102e35 55%,#0c252d 100%);
}
@media (max-width: 480px) {
  #reservoirGrid.reservoir-grid { gap: 9px; }
  #reservoirGrid .rcard.reservoir-name-card,
  #reservoirGrid .reservoir-name-link { min-height: 88px; }
  #reservoirGrid .reservoir-name-link { gap: 9px; padding: 10px; }
  #reservoirGrid .reservoir-name-mark { width: 35px; height: 35px; flex-basis: 35px; border-radius: 12px; }
  #reservoirGrid .reservoir-name-mark span { font-size: 21px; }
  #reservoirGrid .reservoir-name-card h4 { font-size: 10.5px; }
  #reservoirGrid .reservoir-name-arrow { width: 22px; height: 22px; flex-basis: 22px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  #reservoirGrid .rcard.reservoir-name-card,
  #reservoirGrid .reservoir-name-arrow { transition: none; }
}

/* Visual upgrade: fish encyclopedia */
.fish-card{overflow:hidden;border:1px solid rgba(137,224,210,.16);background:linear-gradient(145deg,rgba(17,55,65,.96),rgba(8,29,39,.98));box-shadow:0 12px 32px rgba(0,0,0,.18);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.fish-card:hover{transform:translateY(-3px);border-color:rgba(112,225,203,.4);box-shadow:0 16px 38px rgba(0,0,0,.25),0 0 22px rgba(62,190,174,.08)}
.fish-card-top{gap:14px;padding:15px 16px}
.fish-thumb{position:relative;display:grid;place-items:center;flex:0 0 76px;width:76px;height:62px;overflow:hidden;border-radius:17px;background:radial-gradient(ellipse at 50% 45%,rgba(114,220,199,.25),rgba(24,83,94,.12) 68%,transparent 72%),linear-gradient(145deg,#174652,#0c2935);border:1px solid rgba(163,239,221,.22)}
.fish-thumb:before{content:"";position:absolute;width:95px;height:95px;border:1px solid rgba(145,235,215,.12);border-radius:50%;box-shadow:0 0 0 9px rgba(145,235,215,.035),0 0 0 19px rgba(145,235,215,.025)}
.fish-thumb span{position:relative;z-index:1;font-size:35px;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4));animation:fishDrift 5s ease-in-out infinite}
@keyframes fishDrift{0%,100%{transform:translateX(-2px) rotate(-3deg)}50%{transform:translateX(2px) rotate(2deg)}}
.fish-card-title h3{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.025em}
.fish-kind{border-radius:999px;padding:4px 9px;background:rgba(96,207,185,.12);border:1px solid rgba(96,207,185,.18)}
.fish-kind.predator{background:rgba(236,147,105,.12);border-color:rgba(236,147,105,.2)}
.fish-card-detail{padding:0 16px 17px}
.fish-season-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0 12px}
.fish-season-btn{border-radius:10px;padding:8px 3px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);color:#a9c5c7;font-size:11px;font-weight:700;transition:all .2s}
.fish-season-btn.active{color:#eafff8;background:linear-gradient(135deg,rgba(74,190,169,.32),rgba(38,119,135,.28));border-color:rgba(120,231,207,.42);box-shadow:0 0 16px rgba(77,204,178,.12)}
.fish-season-switch:after{content:"СЕЗОННЫЙ КАЛЕНДАРЬ  ·  ВЕСНА / ЛЕТО / ОСЕНЬ / ЗИМА";grid-column:1/-1;display:block;margin-top:3px;color:#73999c;font-size:9px;letter-spacing:.11em;text-align:center}
.fish-recipe{padding:11px 12px;border-radius:12px;background:linear-gradient(110deg,rgba(67,153,148,.13),rgba(24,65,79,.22));border:1px solid rgba(143,218,207,.12);line-height:1.55}
@media(max-width:480px){.fish-thumb{flex-basis:66px;width:66px;height:56px}.fish-thumb span{font-size:31px}.fish-card-top{gap:11px;padding:13px}.fish-card-detail{padding:0 13px 14px}}
@media(prefers-reduced-motion:reduce){.fish-thumb span{animation:none}.fish-card{transition:none}}

/* Advertising is available on demand, not on the home dashboard */
.ad-shortcut{border-color:rgba(213,174,112,.23);background:linear-gradient(145deg,#3a3025,#182b31)}
.ad-shortcut:hover,.ad-shortcut.active{border-color:rgba(239,190,113,.58);background:linear-gradient(145deg,#51402b,#1b3439)}
.ad-icon{background:linear-gradient(145deg,rgba(229,177,103,.25),rgba(148,111,62,.12));border:1px solid rgba(232,190,128,.22)}
#homeView-ads .view-heading{margin-bottom:16px}
#homeView-ads .home-ads-panel{margin-top:0}
#homeView-ads .ad-form{margin-top:16px}
@media(max-width:760px){.home-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.ad-shortcut .shortcut-copy b{font-size:9px}.ad-shortcut .shortcut-copy small{font-size:7px}}
@media(max-width:420px){.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shortcut{min-height:94px}}

/* Увеличенный верхний рекламный баннер */
.top-ad-slot {
  min-height: 154px;
  padding: 27px 30px;
  margin-bottom: 22px;
  border-radius: 22px;
  box-shadow: 0 16px 42px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.055);
}
.ad-slot-copy { gap: 8px; }
.ad-slot-kicker { font-size: 10px; }
.ad-slot-copy strong { font-size: 20px; }
.ad-slot-copy>span:last-child { font-size: 12px; }
.ad-slot-action { padding: 13px 17px; font-size: 12px; }
.ad-slot-glow { width: 280px; height: 280px; top: -175px; }
@media(max-width:760px) {
  .top-ad-slot {
    min-height: 132px;
    padding: 18px 17px;
    margin-bottom: 17px;
    border-radius: 18px;
    gap: 12px;
  }
  .ad-slot-copy { gap: 7px; }
  .ad-slot-kicker { font-size: 8px; }
  .ad-slot-copy strong { font-size: 15px; line-height: 1.3; }
  .ad-slot-copy>span:last-child { font-size: 10px; line-height: 1.45; max-width: 220px; }
  .ad-slot-action { max-width: 112px; padding: 10px 9px; font-size: 10px; }
}
@media(max-width:380px) {
  .top-ad-slot { min-height: 126px; padding: 15px 12px; gap: 8px; }
  .ad-slot-copy strong { font-size: 13px; }
  .ad-slot-copy>span:last-child { font-size: 9px; }
  .ad-slot-action { max-width: 98px; font-size: 9px; padding: 9px 7px; }
}

/* Fish encyclopedia: consistent image thumbnails */
.fish-thumb:has(img):before{display:none}
.fish-thumb img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;padding:3px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}
.fish-image-credits{margin:14px 0 4px;color:var(--text-dimmer);font-size:10px}
.fish-image-credits summary{cursor:pointer;color:#8bd8d0;font-weight:700}
.fish-image-credits ul{margin:8px 0 0;padding-left:18px;line-height:1.65}
.fish-image-credits a{color:#9bdfe8;text-decoration:underline;text-underline-offset:2px}

/* All 30 fish use real, pre-optimized photographic thumbnails */
.fish-thumb:has(img):before{display:none}
.fish-thumb img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;padding:0;border-radius:10px}


/* Сведения о водоёме внутри вкладки «Карта». */
.map-tab-content { display: flex; flex-direction: column; gap: 16px; }
.map-info-divider { height: 1px; background: linear-gradient(90deg, transparent, var(--border), transparent); margin: 4px 0; }
.map-info-section { background: linear-gradient(145deg, rgba(19,47,59,.78), rgba(16,39,50,.62)); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 15px; }
.map-info-section h3 { font-size: 14px; margin: 0 0 11px; }
.map-info-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; color: var(--text); font-size: 14px; font-weight: 700; }
.map-info-heading .verify-badge { margin: 0; }
.map-info-description { color: var(--text-dim); font-size: 13px; line-height: 1.6; margin: 0 0 12px; }
.map-info-section .facts-row { margin: 0; }
.map-info-section .info-list { margin-bottom: 0; }
.map-info-section .sources-list a { padding: 5px 0; }
@media (max-width: 520px) { .map-info-section { padding: 13px; } .map-info-heading { align-items: flex-start; flex-direction: column; } }


/* Leisure directory: ЖИЖА */
.leisure-intro{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid rgba(87,190,164,.18);border-radius:16px;background:linear-gradient(120deg,rgba(38,132,111,.13),rgba(20,52,59,.32))}.leisure-intro>span{font-size:23px}.leisure-intro div{display:flex;flex-direction:column;gap:4px}.leisure-intro b{font-size:12px;color:var(--text)}.leisure-intro small{font-size:10px;line-height:1.55;color:var(--text-dimmer)}.leisure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.leisure-tile{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid rgba(105,180,193,.18);border-radius:17px;background:linear-gradient(155deg,#122d38,#0d222c);color:var(--text);text-decoration:none;transition:transform .2s ease,border-color .2s ease}.leisure-tile:hover{transform:translateY(-2px);border-color:rgba(91,208,205,.45)}.leisure-photo{height:174px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1b4650,#132c39)}.leisure-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(4,16,22,.65),transparent)}.leisure-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.leisure-tile:hover .leisure-photo img{transform:scale(1.04)}.leisure-type{position:absolute;z-index:1;left:11px;top:11px;padding:6px 8px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(5,22,29,.72);color:#c7f2e8;font-size:8px;font-weight:800;letter-spacing:.08em}.leisure-info{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:13px 14px 14px;gap:7px}.leisure-info>small{font-size:8px;font-weight:800;letter-spacing:.1em;color:#8bbfc2}.leisure-info>b{font-family:var(--font-head);font-size:13px;line-height:1.35}.leisure-info p{margin:0;color:var(--text-dimmer);font-size:10px;line-height:1.55}.leisure-link{margin-top:auto;padding-top:5px;color:#9de7e5;font-size:10px;font-weight:800}.leisure-note{margin-top:15px;color:var(--text-dimmer);font-size:9px;line-height:1.6}.leisure-grid+.leisure-note{max-width:850px}@media(max-width:560px){.leisure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.leisure-photo{height:126px}.leisure-info{padding:10px;gap:6px}.leisure-info>b{font-size:11px}.leisure-info p{font-size:9px}.leisure-type{left:7px;top:7px;font-size:7px;padding:5px 6px}}@media(max-width:350px){.leisure-grid{grid-template-columns:1fr}.leisure-photo{height:175px}}

/* Онлайн-чат рыбаков */
.chat-shell{overflow:hidden;border:1px solid rgba(104,201,207,.2);border-radius:20px;background:linear-gradient(155deg,#102d38,#0b202a);box-shadow:0 16px 40px rgba(0,0,0,.2)}
.chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid rgba(150,210,210,.12);background:rgba(55,135,145,.08)}
.chat-toolbar>div{display:flex;flex-direction:column;gap:4px}.chat-toolbar b{font-size:13px}.chat-toolbar small{font-size:10px;color:var(--text-dimmer)}.chat-toolbar small.is-online{color:#68dca7}
.chat-refresh{padding:8px 11px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.04);color:var(--text);font-size:11px;font-weight:700}
.chat-messages{height:min(52vh,520px);min-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px}
.chat-empty{margin:auto;color:var(--text-dimmer);font-size:12px;text-align:center;padding:25px}
.chat-message{max-width:88%;align-self:flex-start;padding:10px 12px;border:1px solid rgba(112,190,196,.15);border-radius:13px 13px 13px 4px;background:rgba(35,75,86,.52);overflow-wrap:anywhere}
.chat-message-head{display:flex;align-items:center;gap:10px;margin-bottom:5px}.chat-message-head b{font-size:11px;color:#9ce1df}.chat-message-head time{font-size:9px;color:var(--text-dimmer)}
.chat-message p{margin:0;color:#e4eff0;font-size:12px;line-height:1.55;white-space:pre-wrap}.chat-report{margin-top:7px;padding:0;border:0;background:none;color:#77999e;font-size:9px}
.chat-compose{display:flex;flex-direction:column;gap:8px;padding:14px;border-top:1px solid rgba(150,210,210,.12);background:rgba(4,18,25,.24)}
.chat-nickname{display:flex;align-items:center;gap:10px}.chat-nickname span,.chat-message-label{font-size:10px;color:var(--text-dimmer);font-weight:700}
.chat-nickname input,.chat-compose textarea{width:100%;padding:10px 12px;border:1px solid rgba(121,188,194,.2);border-radius:11px;background:#0a1c25;color:var(--text);font:inherit;font-size:12px;outline:none}
.chat-nickname input{max-width:260px}.chat-compose textarea{resize:vertical;min-height:70px;line-height:1.5}.chat-nickname input:focus,.chat-compose textarea:focus{border-color:#58bfc5}
.chat-compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-compose-bottom small{max-width:65%;font-size:9px;line-height:1.45;color:var(--text-dimmer)}
.chat-compose .tg-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border:0;border-radius:11px;background:linear-gradient(135deg,#168d91,#176e82);color:#fff;font-size:11px;font-weight:800}.chat-compose .tg-btn:disabled{opacity:.55}
.chat-feedback{min-height:14px;color:#9bd9c5;font-size:10px}.chat-rules{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;border-top:1px solid rgba(150,210,210,.1);background:rgba(53,126,112,.07)}.chat-rules>span{font-size:17px}.chat-rules div{display:flex;flex-direction:column;gap:4px}.chat-rules b{font-size:10px;color:#a4d8c8}.chat-rules small{font-size:9px;line-height:1.5;color:var(--text-dimmer)}
@media(max-width:480px){.chat-shell{border-radius:16px}.chat-messages{height:54vh;min-height:230px;padding:10px}.chat-message{max-width:94%}.chat-nickname{align-items:flex-start;flex-direction:column;gap:5px}.chat-nickname input{max-width:none}.chat-compose{padding:11px}.chat-compose-bottom{align-items:flex-end}.chat-compose-bottom small{max-width:58%}}

/* Личный кабинет участников */
.account-shell{max-width:920px;margin:0 auto}.account-auth{max-width:420px;margin:0 auto;padding:22px}.account-auth-tabs{display:flex;gap:8px;margin-bottom:18px}.account-auth-tabs button{flex:1;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);color:var(--text)}.account-auth-tabs button.active{background:rgba(45,185,147,.16);border-color:#36b991;color:#9ce6ce}.account-auth .field-row{display:flex;flex-direction:column;gap:6px;margin:12px 0}.account-auth input,.account-profile input,.account-profile textarea,.account-columns input,.account-messages+form textarea,.account-messages+form input{width:100%;background:var(--bg-soft);border:1px solid var(--border);border-radius:11px;color:var(--text);padding:11px;font:inherit}.account-auth small{display:block;margin-top:12px;color:var(--text-dimmer);line-height:1.5}.account-profile{padding:18px;margin-bottom:14px}.account-profile-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.account-profile-head>div:nth-child(2){flex:1}.account-profile-head small{display:block;color:var(--text-dimmer);font-size:11px;margin-top:3px}.account-avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(140deg,#245c56,#173440);display:grid;place-items:center;font-size:25px;overflow:hidden;border:1px solid rgba(133,210,185,.25)}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-avatar.small{width:38px;height:38px;font-size:18px;flex:none}.account-profile .field-row{display:flex;flex-direction:column;gap:6px;margin:10px 0}.account-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.account-columns .panel,#accountConversation{padding:16px}.account-columns h3,#accountConversation h3{font-size:15px;margin:0 0 12px}.account-list{display:flex;flex-direction:column;gap:7px;margin-top:10px;max-height:320px;overflow:auto}.account-user-row,.account-inbox-row{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:9px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);color:var(--text)}.account-user-row>span:nth-child(2){min-width:0}.account-user-row b,.account-inbox-row b{display:block;font-size:12px}.account-user-row small,.account-inbox-row small{display:block;color:var(--text-dimmer);font-size:10px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.account-inbox-row{display:block;position:relative}.account-inbox-row i{position:absolute;right:9px;top:9px;color:#8fe0c1;font-style:normal}.account-messages{display:flex;flex-direction:column;gap:9px;max-height:350px;overflow:auto;padding:8px 2px}.account-bubble{max-width:85%;padding:10px 12px;border-radius:13px;background:var(--bg-soft);border:1px solid var(--border)}.account-bubble.mine{align-self:flex-end;background:rgba(37,145,117,.17);border-color:rgba(70,190,150,.25)}.account-bubble p{margin:0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.account-bubble a{display:block;color:#8fe0c1;font-size:11px;margin-top:6px}.account-bubble small{display:block;color:var(--text-dimmer);font-size:9px;margin-top:6px}.account-messages+form{display:grid;gap:8px;margin-top:10px}.account-messages+form button{justify-self:end}
@media(max-width:650px){.account-columns{grid-template-columns:1fr}.account-auth{padding:16px}.account-profile{padding:14px}}
/* Рыболовная погода: карточка под рекламным баннером и на странице водоёма */
.weather-card{position:relative;overflow:hidden;margin:0 0 22px;min-height:154px;padding:20px 24px;border:1px solid rgba(81,190,211,.28);border-radius:20px;background:radial-gradient(circle at 92% 8%,rgba(62,198,222,.16),transparent 30%),linear-gradient(112deg,#123543 0%,#102a35 52%,#142b37 100%);box-shadow:0 12px 34px rgba(0,0,0,.2);color:var(--text)}
.weather-card-loading{min-height:110px;display:flex;align-items:center;gap:14px}
.weather-card-loading b,.weather-card-title b{display:block;font-family:var(--font-head);font-size:15px}
.weather-card-loading small,.weather-card-title small{display:block;margin-top:5px;color:var(--text-dimmer);font-size:10px}
.weather-card-icon{font-size:34px;line-height:1}
.weather-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.weather-card-title{display:flex;align-items:center;gap:12px}
.weather-card-title .weather-card-icon{font-size:30px}
.weather-current{text-align:right;display:flex;flex-direction:column;gap:3px}
.weather-current strong{font-family:var(--font-head);font-size:27px;line-height:1}
.weather-current span{font-size:10px;color:var(--text-dimmer)}
.weather-card-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:17px 0 12px}
.weather-card-stats>div{display:flex;flex-direction:column;gap:4px;padding:10px 11px;border:1px solid rgba(111,190,202,.14);border-radius:12px;background:rgba(5,20,27,.25)}
.weather-card-stats span{font-size:9px;color:var(--text-dimmer)}
.weather-card-stats b{font-size:12px}
.weather-card-stats small{font-size:9px;color:var(--text-dimmer)}
.weather-bite-row{display:flex;align-items:center;gap:12px}
.weather-score{display:flex;flex-direction:column;gap:3px;flex:none;padding:8px 12px;border-radius:11px;background:rgba(80,190,135,.12);border:1px solid rgba(80,190,135,.25)}
.weather-score b{font-size:11px}.weather-score small{font-size:9px;color:var(--text-dimmer)}
.weather-score.mid{background:rgba(230,180,85,.1);border-color:rgba(230,180,85,.25)}
.weather-score.low{background:rgba(225,100,90,.1);border-color:rgba(225,100,90,.25)}
.weather-note{font-size:9px;line-height:1.45;color:var(--text-dimmer)}
.weather-expand{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:13px;padding:10px 0 0;border:0;border-top:1px solid rgba(111,190,202,.16);background:transparent;color:#9fe4e9;font-size:11px;font-weight:800;cursor:pointer}
.weather-expand span{font-size:16px}
.weather-details{padding-top:12px}.weather-details.hidden{display:none}
.weather-subtitle{display:block;margin:8px 0;font-size:11px}
.weather-hours{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.weather-hour{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 3px;border-radius:10px;background:rgba(5,20,27,.25)}
.weather-hour small{font-size:8px;color:var(--text-dimmer)}.weather-hour span{font-size:16px}.weather-hour b{font-size:11px}
.weather-days{display:flex;flex-direction:column;gap:5px}
.weather-day{display:grid;grid-template-columns:1fr 25px 1fr 48px;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;background:rgba(5,20,27,.2);font-size:10px}
.weather-day small{color:var(--text-dimmer);text-align:right}
.weather-source{display:block;margin-top:10px;color:var(--text-dimmer);font-size:8px}
.weather-card-error{padding:22px 4px;color:var(--text-dimmer);font-size:11px}
.reservoir-weather-card{margin:0 0 18px}
@media(max-width:760px){.weather-card{min-height:132px;padding:17px;border-radius:18px;margin-bottom:17px}.weather-card-head{align-items:flex-start}.weather-card-title b{font-size:12px}.weather-card-title small{font-size:9px}.weather-card-icon{font-size:27px}.weather-current strong{font-size:24px}.weather-current span{max-width:130px;font-size:9px}.weather-card-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:13px 0 10px}.weather-card-stats>div{padding:9px}.weather-card-stats b{font-size:11px}.weather-bite-row{align-items:flex-start;flex-direction:column;gap:7px}.weather-note{font-size:9px}.weather-hours{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-day{grid-template-columns:1fr 20px 1fr 42px;font-size:9px}}
/* Компактная высота погодной карточки в свернутом состоянии */
.weather-card{padding:16px 22px;min-height:154px}
.weather-card-stats{margin:10px 0 8px}
.weather-card-stats>div{padding:7px 9px;gap:3px}
.weather-bite-row{gap:0}
.weather-score{flex-direction:row;align-items:center;gap:8px;padding:6px 10px}
.weather-score small{display:inline}
.weather-note{display:none}
.weather-expand{margin-top:9px;padding-top:8px}
.weather-daylight{margin-top:10px;color:var(--text-dimmer);font-size:10px}
@media(max-width:760px){
 .weather-card{padding:14px 15px;min-height:132px}
 .weather-card-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:9px 0 7px}
 .weather-card-stats>div{padding:6px 4px;gap:3px;min-width:0}
 .weather-card-stats span{font-size:8px;white-space:nowrap}
 .weather-card-stats b{font-size:9px;white-space:nowrap}
 .weather-card-stats small{font-size:7px;white-space:nowrap}
 .weather-score{gap:6px;padding:6px 8px}
 .weather-score b{font-size:10px}.weather-score small{font-size:8px}
 .weather-expand{margin-top:8px;padding-top:7px;font-size:10px}
}
@media(max-width:370px){.weather-card{padding:12px}.weather-card-stats span{font-size:7px}.weather-card-stats b{font-size:8px}}
/* Верхняя шапка: акцент на названии проекта и регионе */
.topbar .brand{gap:13px}
.brand span.sub{font-size:11px!important;letter-spacing:.045em;color:#8fcbd3!important;font-weight:700!important;margin-top:5px!important}
@media(max-width:760px){.topbar{min-height:68px!important;padding:10px 15px!important}.brand span.sub{font-size:10px!important;max-width:none!important;letter-spacing:.025em}}

/* Авторская круглая эмблема в правой части шапки */
.header-emblem{display:block;flex:0 0 48px;width:48px;height:48px;object-fit:cover;border-radius:50%;border:1px solid rgba(111,224,213,.62);box-shadow:0 0 0 3px rgba(69,190,184,.08),0 0 18px rgba(64,213,204,.22);background:#102a32;}
@media(max-width:420px){.header-emblem{width:43px;height:43px;flex-basis:43px}.topbar{gap:7px!important}.topbar .brand{gap:9px!important}}

/* Торговая площадка и каталог магазинов */
.market-intro-panel{max-width:760px;margin:0 auto;padding:clamp(20px,4vw,32px);text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(45,151,132,.16),transparent 65%),var(--card)}
.market-intro-icon{width:66px;height:66px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#1c6659,#173d49);font-size:32px;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.market-intro-panel h3{display:block;font-size:19px;margin:0 0 8px}
.market-intro-panel>p{max-width:520px;margin:0 auto;color:var(--text-dimmer);font-size:13px;line-height:1.65}
.market-feature-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:19px 0}
.market-feature-tags span{padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg-soft);font-size:11px;color:var(--text)}
.market-empty-state{margin-top:20px;padding:17px;border:1px dashed rgba(105,180,193,.35);border-radius:15px;background:rgba(13,39,47,.45)}
.market-empty-state b,.market-empty-state small{display:block}
.market-empty-state b{font-size:13px;color:#a9e5d5}
.market-empty-state small{max-width:470px;margin:6px auto 0;color:var(--text-dimmer);font-size:11px;line-height:1.55}


/* Премиальный блок эксклюзива */
.exclusive-section{position:relative;margin:28px 0 30px;padding:clamp(18px,3vw,28px);overflow:hidden;border:1px solid rgba(196,158,83,.35);border-radius:25px;background:radial-gradient(ellipse at 50% -20%,rgba(183,145,69,.19),transparent 58%),linear-gradient(145deg,#142b27 0%,#0c2026 55%,#14272a 100%);box-shadow:0 18px 48px rgba(0,0,0,.27),inset 0 1px rgba(255,226,160,.08)}
.exclusive-heading{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 22px;text-align:left}.exclusive-crown{width:49px;height:49px;display:grid;place-items:center;flex:none;border:1px solid rgba(226,190,111,.5);border-radius:16px;background:linear-gradient(145deg,#5b4828,#302b20);color:#f2d18b;font-size:30px;text-shadow:0 2px 12px rgba(240,194,98,.35)}.exclusive-kicker{display:block;color:#d8b879;font-size:9px;font-weight:800;letter-spacing:.2em}.exclusive-heading h2{margin:3px 0 4px;color:#f3d69b;font-family:var(--font-head);font-size:clamp(17px,2.5vw,23px);letter-spacing:.14em}.exclusive-heading p{margin:0;color:#a9bbb2;font-size:11px;line-height:1.5}.exclusive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;max-width:980px;margin:0 auto}.exclusive-card{min-width:0;overflow:hidden;border:1px solid rgba(215,181,112,.35);border-radius:20px;background:linear-gradient(160deg,rgba(35,54,46,.98),rgba(12,30,35,.98));box-shadow:0 13px 30px rgba(0,0,0,.27);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.exclusive-card:hover{transform:translateY(-3px);border-color:rgba(239,204,132,.72);box-shadow:0 18px 38px rgba(0,0,0,.34),0 0 24px rgba(193,153,77,.09)}.exclusive-card-visual{position:relative;height:clamp(145px,22vw,220px);overflow:hidden;background:#10282c}.exclusive-card-visual:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent,rgba(7,20,23,.88))}.exclusive-card-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%;filter:saturate(.88) contrast(1.06);transition:transform .5s ease}.exclusive-card:hover .exclusive-card-visual img{transform:scale(1.045)}.exclusive-ribbon{position:absolute;z-index:2;top:13px;left:13px;padding:7px 11px;border:1px solid rgba(255,226,164,.65);border-radius:999px;background:linear-gradient(120deg,#e7c47e,#a87c36);color:#241d12;font-size:9px;font-weight:900;letter-spacing:.16em;box-shadow:0 4px 16px rgba(0,0,0,.25)}.exclusive-fish-glow{position:absolute;z-index:1;right:-35px;bottom:-55px;width:170px;height:100px;border-radius:50%;background:rgba(212,174,99,.16);filter:blur(30px)}.exclusive-card-body{position:relative;padding:17px 19px 18px}.exclusive-card-label{color:#d8b879;font-size:8px;font-weight:800;letter-spacing:.17em}.exclusive-card-body h3{margin:6px 0 7px;color:#fff0d0;font-family:var(--font-head);font-size:clamp(15px,2vw,19px);line-height:1.3}.exclusive-card-body p{min-height:38px;margin:0;color:#b2c2bb;font-size:11px;line-height:1.6}.exclusive-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(221,190,129,.2)}.exclusive-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.exclusive-price strong{color:#f0d18f;font-family:var(--font-head);font-size:23px}.exclusive-price span{color:#c8d4c8;font-size:10px;font-weight:700}.exclusive-access{padding:7px 9px;border:1px solid rgba(221,190,129,.32);border-radius:8px;color:#dfc48f;font-size:8px;font-weight:800;letter-spacing:.08em;white-space:nowrap;background:rgba(185,145,69,.08)}
@media(max-width:760px){.exclusive-grid{grid-template-columns:1fr}.exclusive-section{margin:22px 0;padding:15px 12px;border-radius:20px}.exclusive-heading{gap:10px;margin-bottom:16px}.exclusive-crown{width:42px;height:42px;border-radius:13px;font-size:25px}.exclusive-heading p{font-size:9px}.exclusive-grid{gap:12px}.exclusive-card{border-radius:15px}.exclusive-card-visual{height:155px}.exclusive-ribbon{top:8px;left:8px;padding:5px 7px;font-size:7px}.exclusive-card-body{padding:12px 11px 13px}.exclusive-card-body h3{font-size:13px}.exclusive-card-body p{font-size:9px;min-height:54px}.exclusive-card-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:11px;padding-top:10px}.exclusive-price strong{font-size:20px}.exclusive-price span{font-size:9px}.exclusive-access{font-size:7px;padding:6px 8px}}
@media(max-width:360px){.exclusive-grid{grid-template-columns:1fr}.exclusive-card-visual{height:155px}.exclusive-card-body p{min-height:0}.exclusive-card-bottom{flex-direction:row;align-items:center}}

/* Photo-led home shortcuts */
.home-shortcut{overflow:hidden;align-items:center;gap:12px;padding:10px;background:linear-gradient(145deg,#153541,#102630)}
.shortcut-image{position:relative;display:block;flex:0 0 88px;width:88px;height:72px;overflow:hidden;border-radius:12px;background:#10282c;box-shadow:0 5px 14px rgba(0,0,0,.24)}
.shortcut-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(5,18,22,.26));pointer-events:none}
.shortcut-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease;filter:saturate(1.06) contrast(1.04)}
.home-shortcut:hover .shortcut-image img,.home-shortcut.active .shortcut-image img{transform:scale(1.07);filter:saturate(1.15) contrast(1.06)}
.home-shortcut .shortcut-copy{flex:1;min-width:0}
@media(max-width:760px){.home-shortcut{min-height:150px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:8px}.shortcut-image{width:100%;height:82px;flex:0 0 82px;border-radius:10px}.shortcut-copy{gap:4px}.shortcut-copy b{font-size:10px}.shortcut-copy small{font-size:8px}.shortcut-arrow{z-index:2}.home-shortcut .chat-live-dot{z-index:3}}
@media(max-width:420px){.home-shortcut{min-height:142px}.shortcut-image{height:76px;flex-basis:76px}.shortcut-copy b{font-size:10px}}

/* Community marketplace */
.market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;margin:0 0 16px;background:linear-gradient(115deg,rgba(38,111,91,.22),rgba(18,43,53,.9));border:1px solid rgba(109,194,166,.2)}
.market-toolbar b{display:block;font-size:14px}.market-toolbar small{display:block;color:var(--text-dimmer);font-size:11px;margin-top:4px}
.market-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.market-listing-card{min-width:0;overflow:hidden;border:1px solid rgba(104,174,164,.2);border-radius:17px;background:linear-gradient(150deg,#17343a,#10272f);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.market-listing-photo{display:block;width:100%;height:210px;object-fit:cover;background:#0b2027}
.market-listing-body{padding:14px}.market-listing-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.market-listing-top h3{margin:0;color:var(--text);font-size:15px;line-height:1.35;overflow-wrap:anywhere}.market-listing-price{flex:none;color:#f0d18f;font-size:14px;white-space:nowrap}.market-listing-description{margin:10px 0 13px;color:#c0d0ca;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.market-listing-seller{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid rgba(180,211,199,.12)}.market-listing-seller b{font-size:11px}.market-listing-seller small{color:var(--text-dimmer);font-size:10px}.market-listing-seller .market-listing-city{color:#9ce6ce;font-weight:700}.market-listing-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:11px}.market-phone-link{display:inline-flex;align-items:center;gap:6px;color:#8fe0c1;text-decoration:none;font-size:12px;font-weight:800}.market-owner-controls{display:flex;gap:6px}.market-delete-btn{color:#ffaaa0}.market-empty-state{grid-column:1/-1;padding:30px 16px;border:1px dashed rgba(132,194,174,.25);border-radius:16px;text-align:center;background:rgba(17,42,46,.45)}.market-empty-state b,.market-empty-state small{display:block}.market-empty-state small{margin-top:7px;color:var(--text-dimmer);font-size:11px;line-height:1.5}.market-loading{grid-column:1/-1;color:var(--text-dimmer);padding:24px;text-align:center}.market-disclaimer{margin:15px 0 0;color:var(--text-dimmer);font-size:10px;line-height:1.5;text-align:center}
.account-market-panel{padding:18px;margin:0 0 14px;border:1px solid rgba(100,190,157,.24);background:linear-gradient(145deg,rgba(24,62,57,.55),rgba(16,37,46,.92))}.account-market-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-market-heading h3{margin:4px 0 5px;font-size:16px}.account-market-heading p{margin:0;color:var(--text-dimmer);font-size:11px;line-height:1.5}.account-market-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;background:rgba(73,185,146,.13);font-size:25px}.marketplace-form{margin-top:16px;padding:14px;border-radius:14px;background:rgba(4,20,27,.28);border:1px solid rgba(143,198,176,.12)}.marketplace-form .field-row{display:flex;flex-direction:column;gap:6px;margin:10px 0}.marketplace-form input,.marketplace-form textarea{width:100%;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);color:var(--text);font:inherit}.marketplace-form input[type=file]{font-size:11px}.marketplace-form .field-row small{color:var(--text-dimmer);font-size:10px}.marketplace-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.marketplace-photo-preview{max-width:300px;margin:10px 0;border-radius:12px;overflow:hidden}.marketplace-photo-preview img{display:block;width:100%;max-height:210px;object-fit:cover}.marketplace-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.marketplace-form-status{min-height:18px}.account-market-list-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 9px;font-size:12px}.account-market-list-heading span{color:#9ce6ce}.marketplace-mine-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.marketplace-mine-list .market-listing-card{display:flex;flex-direction:column}.marketplace-mine-list .market-listing-photo{height:130px}.marketplace-mine-list .market-listing-body{padding:10px}.marketplace-mine-list .market-listing-top h3{font-size:12px}.marketplace-mine-list .market-listing-price{font-size:11px}.marketplace-mine-list .market-listing-description{font-size:10px;margin:7px 0}.marketplace-mine-list .market-phone-link{font-size:10px}.marketplace-mine-list>small{grid-column:1/-1;color:var(--text-dimmer);padding:8px}
@media(max-width:650px){.market-toolbar{align-items:flex-start;flex-direction:column}.market-toolbar .btn{width:100%}.market-feed{grid-template-columns:1fr;gap:12px}.market-listing-photo{height:220px}.marketplace-form-row{grid-template-columns:1fr;gap:0}.marketplace-mine-list{grid-template-columns:1fr}.marketplace-mine-list .market-listing-card{display:grid;grid-template-columns:112px minmax(0,1fr)}.marketplace-mine-list .market-listing-photo{height:100%;min-height:145px}.marketplace-mine-list .market-listing-footer{align-items:flex-start;flex-direction:column}}

/* Section pages: replace the landing screen instead of scrolling below it. */
.home-container.section-open > .top-ad-slot,
.home-container.section-open > .weather-card,
.home-container.section-open > .home-shortcuts,
.home-container.section-open > .exclusive-section { display:none !important; }
.home-container.section-open { padding-top:14px; }
.home-container.section-open > .section-page.active { display:block; }

/* Отдельные витрины магазинов и кабинеты владельцев */
.shop-view{display:none}.shop-view.active{display:block}.shops-intro{display:flex;align-items:center;gap:14px;padding:17px 19px;margin-bottom:17px;border:1px solid rgba(108,185,154,.22);border-radius:17px;background:linear-gradient(120deg,rgba(37,105,83,.24),rgba(17,42,52,.9))}.shops-intro>span{font-size:32px}.shops-intro b,.shops-intro small{display:block}.shops-intro b{font-size:14px}.shops-intro small{margin-top:4px;color:var(--text-dimmer);font-size:11px;line-height:1.5}.shops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shops-loading,.shops-empty{grid-column:1/-1;padding:30px 16px;text-align:center;border:1px dashed rgba(132,194,174,.28);border-radius:16px;color:var(--text-dimmer)}.shops-empty b,.shops-empty span{display:block}.shops-empty span{font-size:11px;margin-top:7px}.shop-card{display:flex;min-width:0;gap:13px;padding:12px;text-align:left;color:var(--text);border:1px solid rgba(104,174,164,.23);border-radius:17px;background:linear-gradient(145deg,#173640,#10272f);cursor:pointer;transition:.18s}.shop-card:hover{border-color:rgba(117,208,173,.55);transform:translateY(-2px)}.shop-card-photo{display:grid;place-items:center;flex:0 0 112px;height:112px;overflow:hidden;border-radius:12px;background:#183b40;font-size:35px}.shop-card-photo img{width:100%;height:100%;object-fit:cover}.shop-card-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:5px}.shop-card-copy b{font-size:14px}.shop-card-copy small,.shop-card-copy em{color:var(--text-dimmer);font-size:10px;line-height:1.45;font-style:normal}.shop-card-copy strong{margin-top:auto;color:#9ce2c3;font-size:10px}.shop-inner-back{margin-bottom:14px}.shop-store-head{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid rgba(108,185,154,.24);border-radius:18px;background:linear-gradient(135deg,#1b4542,#102a34)}.shop-store-logo{display:grid;place-items:center;flex:0 0 92px;width:92px;height:92px;overflow:hidden;border-radius:17px;background:#10252c;font-size:36px}.shop-store-logo img{width:100%;height:100%;object-fit:cover}.shop-store-head h2{margin:5px 0;font-size:20px}.shop-store-head p{margin:0;color:#c0d4ce;font-size:11px;line-height:1.5}.shop-store-info{display:flex;flex-wrap:wrap;gap:9px 17px;padding:14px 3px;color:var(--text-dimmer);font-size:11px}.shop-store-info b{color:var(--text);font-weight:600}.shop-products-title{margin:12px 0;font-size:16px}.shop-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.shop-product{overflow:hidden;border:1px solid rgba(104,174,164,.2);border-radius:15px;background:linear-gradient(150deg,#17343a,#10272f)}.shop-product>img{display:block;width:100%;height:165px;object-fit:cover;background:#0b2027}.shop-product>div{padding:12px}.shop-product b{font-size:13px}.shop-product p{min-height:32px;color:var(--text-dimmer);font-size:10px;line-height:1.5}.shop-product strong{color:#f0d18f;font-size:14px}.shop-login-card{max-width:430px;margin:20px auto;padding:24px;border:1px solid rgba(108,185,154,.25);border-radius:19px;background:linear-gradient(145deg,#173a40,#10262f);text-align:center}.shop-login-card>span{font-size:34px}.shop-login-card h3{margin:8px 0}.shop-login-card p{color:var(--text-dimmer);font-size:11px}.shop-login-card form,.shop-editor{display:flex;flex-direction:column;gap:12px;text-align:left}.shop-login-card label,.shop-editor label{display:flex;flex-direction:column;gap:6px;color:#b8d0ca;font-size:11px}.shop-login-card input,.shop-editor input:not([type=file]),.shop-editor textarea{width:100%;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);color:var(--text);font:inherit}.shop-login-card button{width:100%}.shop-login-card small,.shop-editor>small{min-height:16px;color:#8fe0c1;font-size:10px}.shop-cabinet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.shop-cabinet-heading h2{margin:4px 0;font-size:20px}.shop-cabinet-heading p{margin:0;color:var(--text-dimmer);font-size:11px}.shop-editor{margin:0 0 14px;padding:17px}.shop-editor h3{margin:0 0 3px;font-size:15px}.shop-form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shop-editor input[type=file]{font-size:11px}.shop-owner-products{display:flex;flex-direction:column;gap:8px}.shop-owner-product{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid rgba(104,174,164,.16);border-radius:11px}.shop-owner-product img{width:55px;height:55px;object-fit:cover;border-radius:8px}.shop-owner-product span{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.shop-owner-product b{font-size:11px}.shop-owner-product small{color:#e5c98d;font-size:10px}.shop-owner-product button{border:1px solid rgba(255,130,120,.25);border-radius:8px;background:transparent;color:#ffaaa0;padding:7px;font-size:10px}.shop-status{color:#8fe0c1;font-size:11px}
@media(max-width:650px){.shops-grid{grid-template-columns:1fr}.shop-card{gap:10px;padding:9px}.shop-card-photo{flex-basis:94px;height:100px}.shop-card-copy b{font-size:13px}.shop-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shop-product>img{height:130px}.shop-store-head{gap:11px;padding:13px}.shop-store-logo{flex-basis:70px;width:70px;height:70px}.shop-store-head h2{font-size:17px}.shop-form-two{grid-template-columns:1fr;gap:12px}}

/* Увеличенные карточки магазинов и публичные отметки акций/новинок */
.shops-grid{gap:18px}.shop-card{min-height:174px;padding:15px;gap:16px;border-radius:19px}.shop-card-photo{flex-basis:140px;height:142px;border-radius:14px}.shop-card-copy{gap:7px}.shop-card-copy b{font-size:16px}.shop-card-copy small,.shop-card-copy em{font-size:11px}.shop-card-copy strong{font-size:11px}.shop-promo-badge{display:block;width:100%;padding:7px 9px;border-radius:9px;font-size:10px;line-height:1.4;font-weight:800;overflow-wrap:anywhere}.shop-promo-badge.sale{color:#ffe0b1;background:rgba(184,91,35,.23);border:1px solid rgba(240,157,86,.35)}.shop-promo-badge.new{color:#c7f3df;background:rgba(46,137,104,.22);border:1px solid rgba(112,204,163,.32)}.shop-store-promotion{margin:14px 0;padding:14px 16px;border-radius:13px;font-size:13px;font-weight:750;line-height:1.5}.shop-store-promotion[hidden]{display:none}.shop-store-promotion.sale{color:#ffe0b1;background:linear-gradient(100deg,rgba(174,80,31,.28),rgba(85,49,29,.2));border:1px solid rgba(240,157,86,.4)}.shop-store-promotion.new{color:#c7f3df;background:linear-gradient(100deg,rgba(46,137,104,.25),rgba(22,69,59,.2));border:1px solid rgba(112,204,163,.35)}.shop-promo-editor{padding:14px;border:1px solid rgba(112,204,163,.28);border-radius:13px;background:rgba(31,89,72,.13)}.shop-promo-editor h3{margin:0 0 5px}.shop-promo-editor p{margin:0 0 12px;color:var(--text-dimmer);font-size:11px;line-height:1.5}.shop-promo-editor select{width:100%;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);color:var(--text)}.shop-promo-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important}.shop-promo-toggle input{width:18px;height:18px;accent-color:#66c99c}
@media(max-width:650px){.shop-card{min-height:150px;padding:11px;gap:11px}.shop-card-photo{flex-basis:112px;height:124px}.shop-card-copy b{font-size:14px}.shop-card-copy small,.shop-card-copy em{font-size:10px}.shop-promo-badge{font-size:9px;padding:6px 7px}}

/* Shop logos: preserve the complete logo and prevent preview paths from cropping the artwork. */
.shop-card-photo,.shop-store-logo{background:#f3f6f4;color:#173640;}
.shop-card-photo img,.shop-store-logo img{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center;padding:7px;}
.shop-store-logo{flex-basis:100px;width:100px;height:100px;border-radius:16px;}
@media(max-width:650px){.shop-store-logo{flex-basis:78px;width:78px;height:78px;}}


/* Лента объявлений администрации и автоматических новостей */
.announcements-panel{padding:clamp(14px,2.5vw,24px)}
.announcements-feed{display:grid;gap:13px}
.announcement-card{padding:17px 18px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,var(--card),var(--bg-soft));box-shadow:0 8px 24px rgba(0,0,0,.12)}
.announcement-kind{font-size:10px;letter-spacing:.09em;font-weight:800;color:var(--accent);margin-bottom:8px}
.announcement-card h3{font-size:16px;margin:0 0 7px;color:var(--text)}
.announcement-card p{font-size:13px;line-height:1.55;color:var(--text-soft);white-space:pre-wrap;margin:0}
.announcement-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px;padding-top:10px;border-top:1px solid var(--border)}
.announcement-bottom time{font-size:10px;color:var(--text-dimmer)}
.announcement-link{font-size:12px;font-weight:700;color:var(--accent);text-decoration:none}
.announcement-link:hover{text-decoration:underline}
.announcement-shop{border-color:rgba(61,190,139,.3)}
.announcement-marketplace{border-color:rgba(53,194,224,.28)}
.market-announcement-highlight{outline:2px solid var(--accent);outline-offset:3px}


/* Ненавязчивое мигание кнопки при непрочитанных новостях */
.home-shortcut.has-new-announcements{border-color:rgba(255,190,91,.9);box-shadow:0 0 0 1px rgba(255,190,91,.32),0 0 22px rgba(255,165,65,.22);animation:announcementButtonPulse 1.25s ease-in-out infinite}
.announcement-new-marker{position:absolute;z-index:5;top:7px;right:8px;padding:4px 7px;border-radius:999px;background:#f0b85f;color:#2b2113;font-size:8px;font-weight:900;letter-spacing:.06em;box-shadow:0 2px 9px rgba(0,0,0,.25)}
@keyframes announcementButtonPulse{0%,100%{filter:brightness(1);box-shadow:0 0 0 1px rgba(255,190,91,.24),0 0 9px rgba(255,165,65,.12)}50%{filter:brightness(1.22);box-shadow:0 0 0 2px rgba(255,190,91,.52),0 0 23px rgba(255,165,65,.34)}}
@media(prefers-reduced-motion:reduce){.home-shortcut.has-new-announcements{animation:none}}


/* Фото в новостях администрации */
.announcement-photo{display:block;width:100%;max-height:340px;object-fit:cover;border-radius:12px;margin:0 0 13px;background:var(--bg-soft)}
.announcement-photo-preview[hidden]{display:none!important}
.announcement-photo-preview{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-top:10px}
.announcement-photo-preview img{display:block;max-width:min(100%,320px);max-height:190px;object-fit:contain;border-radius:10px;border:1px solid var(--border)}
.admin-announcement-thumb{display:block;width:120px;height:82px;object-fit:cover;border-radius:8px;margin:0 0 8px;border:1px solid var(--border);background:var(--bg-soft)}

/* Premium Fisherman's Workshop */
.exclusive-workshop{cursor:pointer;position:relative}.exclusive-workshop:focus-visible{outline:2px solid #e7c47e;outline-offset:4px}
.workshop-page{padding-bottom:20px}.workshop-hero{position:relative;display:flex;align-items:center;gap:18px;overflow:hidden;padding:25px 24px;margin:0 0 25px;border:1px solid rgba(224,190,119,.43);border-radius:23px;background:radial-gradient(ellipse at 15% 0%,rgba(208,168,91,.22),transparent 50%),linear-gradient(130deg,#203d34,#10252b 58%,#1a3030);box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 1px rgba(255,232,180,.1)}
.workshop-hero:after{content:"";position:absolute;right:-45px;bottom:-110px;width:260px;height:220px;border-radius:50%;background:rgba(203,164,91,.12);filter:blur(45px)}.workshop-hero-mark{display:grid;place-items:center;flex:none;width:70px;height:70px;border:1px solid rgba(229,194,125,.55);border-radius:21px;background:linear-gradient(145deg,#6b542d,#30291d);color:#f5d899;font-size:43px;text-shadow:0 3px 18px rgba(244,205,126,.4)}.workshop-kicker{display:block;color:#d9b879;font-size:9px;font-weight:900;letter-spacing:.2em}.workshop-hero h2{margin:5px 0 7px;color:#fff0ce;font-family:var(--font-head);font-size:clamp(21px,4vw,30px)}.workshop-hero p{max-width:650px;margin:0;color:#bdcec4;font-size:12px;line-height:1.65}.workshop-edition{position:absolute;right:18px;top:17px;padding:6px 9px;border:1px solid rgba(229,194,125,.35);border-radius:7px;color:#e7c987;font-size:8px;font-weight:900;letter-spacing:.15em}.workshop-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 13px}.workshop-section-heading>div>span{color:#d2b477;font-size:8px;font-weight:900;letter-spacing:.18em}.workshop-section-heading h3{margin:4px 0 0;color:#f4e4c1;font-family:var(--font-head);font-size:17px}.workshop-section-heading>small{color:var(--text-dimmer);font-size:10px}.workshop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.workshop-tile{display:flex;align-items:center;gap:13px;min-width:0;min-height:112px;padding:15px;text-align:left;border:1px solid rgba(212,177,111,.28);border-radius:17px;background:linear-gradient(145deg,rgba(37,62,52,.96),rgba(13,34,40,.98));color:var(--text);box-shadow:0 9px 23px rgba(0,0,0,.2);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.workshop-tile:hover{transform:translateY(-2px);border-color:rgba(231,196,126,.7);box-shadow:0 13px 29px rgba(0,0,0,.27),0 0 20px rgba(202,164,91,.08)}.workshop-tile-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border:1px solid rgba(221,187,119,.25);border-radius:15px;background:linear-gradient(145deg,rgba(196,156,83,.19),rgba(17,47,48,.75));font-size:26px}.workshop-tile-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.workshop-tile-copy b{color:#f2dfb8;font-size:13px;line-height:1.3}.workshop-tile-copy small{color:#aebfb5;font-size:10px;line-height:1.5}.workshop-tile-arrow{flex:none;color:#d8b879;font-size:18px}.workshop-footnote{margin:17px 2px 0;padding:12px 14px;border-left:2px solid rgba(215,181,112,.55);background:rgba(185,145,69,.06);color:#aebfb5;font-size:10px;line-height:1.55}.workshop-topic-view[hidden],.workshop-grid[hidden]{display:none!important}.workshop-topic-back{margin-bottom:14px}.workshop-topic-hero{display:flex;align-items:center;gap:15px;padding:19px;margin-bottom:14px;border:1px solid rgba(215,181,112,.28);border-radius:17px;background:linear-gradient(130deg,#1c3b35,#10282f)}.workshop-topic-hero>span{font-size:38px}.workshop-topic-hero h2{margin:3px 0 5px;color:#f2dfb8;font-family:var(--font-head);font-size:21px}.workshop-topic-hero p{margin:0;color:#b6c8be;font-size:11px;line-height:1.6}.workshop-topic-cards{display:grid;grid-template-columns:1fr;gap:10px}.workshop-topic-card{display:flex;gap:13px;padding:16px;border:1px solid rgba(120,175,151,.18);border-radius:14px;background:linear-gradient(145deg,rgba(27,54,51,.88),rgba(13,34,42,.95))}.workshop-topic-card>span{color:#d9b879;font-family:var(--font-head);font-size:16px;font-weight:800}.workshop-topic-card h3{margin:0 0 5px;color:#e9d7b1;font-size:13px}.workshop-topic-card p{margin:0;color:#b4c4bb;font-size:11px;line-height:1.65}
@media(max-width:600px){.workshop-hero{align-items:flex-start;gap:12px;padding:19px 15px;border-radius:18px}.workshop-hero-mark{width:52px;height:52px;border-radius:15px;font-size:32px}.workshop-hero h2{font-size:20px;padding-right:30px}.workshop-hero p{font-size:10px}.workshop-edition{top:10px;right:10px;font-size:7px}.workshop-grid{grid-template-columns:1fr;gap:9px}.workshop-tile{min-height:91px;padding:11px;gap:11px}.workshop-tile-icon{width:45px;height:45px;border-radius:13px;font-size:23px}.workshop-tile-copy b{font-size:12px}.workshop-tile-copy small{font-size:9px}.workshop-section-heading h3{font-size:15px}.workshop-topic-hero{padding:14px}.workshop-topic-hero>span{font-size:30px}.workshop-topic-hero h2{font-size:18px}}

/* Photographic premium tiles for the workshop */
.workshop-tile-image{display:block;flex:none;width:112px;height:76px;overflow:hidden;border:1px solid rgba(221,187,119,.42);border-radius:12px;background:#102b2b;box-shadow:0 4px 14px rgba(0,0,0,.28)}.workshop-tile-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.workshop-tile:hover .workshop-tile-image img{transform:scale(1.07)}.workshop-tile{padding:11px;gap:11px}.workshop-tile-copy b{font-size:12px}.workshop-tile-copy small{font-size:9px}.workshop-tile-arrow{margin-left:auto}@media(max-width:600px){.workshop-tile-image{width:104px;height:70px;border-radius:10px}.workshop-tile{min-height:88px;padding:9px;gap:10px}.workshop-tile-copy b{font-size:12px}.workshop-tile-copy small{font-size:9px}}


/* Premium field guide: large photographic species cards */
.fish-card{border:1px solid rgba(204,177,111,.24);background:linear-gradient(155deg,#142f32 0%,#0b2029 70%,#101d27 100%);box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.035)}
.fish-card:hover{border-color:rgba(218,185,112,.55);box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 24px rgba(204,177,111,.08)}
.fish-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:12px 14px 8px}
.fish-thumb{grid-column:1/-1;width:100%;height:176px;min-height:176px;flex:none;border-radius:13px;border:1px solid rgba(216,190,130,.28);background:radial-gradient(ellipse at 50% 50%,rgba(57,113,116,.28),rgba(7,23,30,.95) 76%);}
.fish-thumb img{object-fit:contain!important;padding:7px!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.42))!important}
.fish-card-title h3{font-size:15px;color:#f0e5c7}
.fish-open{align-self:center}
.fish-card-teaser{padding:0 14px 14px;color:#b8c9c4;font-size:11px;line-height:1.55}
.fish-card-detail{padding:12px 14px 17px;border-top:1px solid rgba(213,183,117,.18)}
.fish-premium-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid rgba(213,183,117,.16)}
.fish-premium-heading span{color:#d5b879;font-size:9px;font-weight:900;letter-spacing:.16em}
.fish-premium-heading b{color:#829e9d;font-size:9px;font-weight:600;font-style:italic}
.fish-premium-section{margin:0 0 9px;padding:11px 12px;border:1px solid rgba(153,190,177,.13);border-radius:11px;background:linear-gradient(120deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}
.fish-premium-section h4{margin:0 0 5px;color:#d9c28e;font-size:11px;font-weight:850;letter-spacing:.025em}
.fish-premium-section p{margin:0;color:#c0d0ca;font-size:11px;line-height:1.62}
.fish-premium-section small{display:block;margin-top:7px;color:#83a8a2;font-size:9px;line-height:1.5}
.fish-premium-cook{border-color:rgba(201,155,89,.2);background:linear-gradient(120deg,rgba(153,111,57,.12),rgba(255,255,255,.015))}
@media(max-width:480px){.fish-thumb{height:158px;min-height:158px}.fish-card-top{padding:10px 11px 7px}.fish-card-teaser{padding:0 11px 12px}.fish-card-detail{padding:10px 11px 14px}}

/* Bait and groundbait practical guide */
.bait-guide-list{display:grid;gap:14px;margin:18px 0 28px}
.bait-guide-item{overflow:hidden;border:1px solid rgba(190,157,86,.28);border-radius:18px;background:linear-gradient(145deg,rgba(21,43,34,.96),rgba(13,27,24,.98));color:inherit}
.bait-guide-item summary{display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:12px;padding:17px;cursor:pointer;list-style:none}
.bait-guide-item summary::-webkit-details-marker{display:none}
.bait-guide-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(201,166,91,.14);color:#d9bd78;font-weight:800}
.bait-guide-item summary strong{display:block;font-size:17px;color:#f3e5bd;margin-bottom:5px}
.bait-guide-item summary small{display:block;color:#bdc9c0;font-size:13px;line-height:1.45}
.bait-guide-chevron{color:#d9bd78;font-size:22px;transition:transform .2s}
.bait-guide-item[open] .bait-guide-chevron{transform:rotate(180deg)}
.bait-guide-content{padding:0 18px 18px 70px}
.bait-guide-content section{padding:13px 0;border-top:1px solid rgba(255,255,255,.08)}
.bait-guide-content h4{margin:0 0 6px;color:#e4c982;font-size:15px}
.bait-guide-content p{margin:0;color:#d0d8d2;font-size:14px;line-height:1.6}
@media(max-width:520px){.bait-guide-item summary{padding:14px;grid-template-columns:36px 1fr 18px;gap:9px}.bait-guide-number{width:34px;height:34px}.bait-guide-content{padding:0 14px 14px}.bait-guide-item summary strong{font-size:16px}}

/* Premium photography for bait guide */
.bait-guide-item summary{grid-template-columns:112px minmax(0,1fr) 22px;align-items:stretch}
.bait-guide-photo{width:112px;height:104px;object-fit:cover;border-radius:13px;display:block}
.bait-guide-summary-text{display:flex;flex-direction:column;justify-content:center;min-width:0}
.bait-guide-summary-text .bait-guide-number{margin-bottom:7px;width:32px;height:28px}
.bait-guide-credit{margin:12px 0 0!important;color:#8e9d93!important;font-size:11px!important}
@media(max-width:520px){.bait-guide-item summary{grid-template-columns:92px minmax(0,1fr) 16px;gap:10px;padding:11px}.bait-guide-photo{width:92px;height:92px}.bait-guide-item summary small{font-size:12px}.bait-guide-item summary strong{font-size:15px}}

/* Expanded photos inside bait guide descriptions */
.bait-guide-detail-photo{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:16px;margin:4px 0 18px;border:1px solid rgba(255,255,255,.1)}
.bait-guide-content section{margin-top:14px}

/* Inline photos for individual bait descriptions */
.bait-inline-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 12px}
.bait-inline-photos figure{margin:0;min-width:0;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:13px;overflow:hidden}
.bait-inline-photos img{display:block;width:100%;height:150px;object-fit:cover}
.bait-inline-photos figcaption{padding:8px 10px;color:#e4c982;font-size:12px;font-weight:600}
.bait-inline-photos figcaption small{display:block;margin-top:3px;color:#9eaaa2;font-size:10px;font-weight:400}
@media(max-width:520px){.bait-inline-photos{gap:8px}.bait-inline-photos img{height:112px}.bait-inline-photos figcaption{padding:7px;font-size:11px}}

/* Workshop: responsive tackle rig diagrams */
.rig-diagram{margin:14px 0 4px;padding:14px;border:1px solid rgba(207,174,103,.28);border-radius:14px;background:linear-gradient(145deg,rgba(8,23,19,.78),rgba(24,43,34,.72));max-width:100%;overflow:hidden}
.rig-diagram figcaption{margin:0 0 8px;color:#e8d29b;font-size:13px;font-weight:700;letter-spacing:.02em}
.rig-diagram svg{display:block;width:100%;height:auto;max-width:560px;margin:auto}
.rig-diagram .rig-lines path{fill:none;stroke:#c9a85f;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:3 3}
.rig-diagram .rig-nodes circle{fill:#d5b66e;stroke:#f1dfae;stroke-width:2}
.rig-diagram .rig-label{fill:#f2e6c8;font-size:13px;font-weight:700}
.rig-diagram .rig-note{fill:#b9c9be;font-size:10px}
.rig-diagram>small{display:block;margin-top:8px;color:#9eafa4;font-size:11px;line-height:1.45}
@media(max-width:520px){.rig-diagram{padding:10px;margin-top:12px}.rig-diagram .rig-label{font-size:13px}.rig-diagram .rig-note{font-size:10px}}

/* Общение: вложения, реакции, набор текста и уведомления */
.chat-media-image,.account-media-image{display:block;max-width:min(100%,260px);max-height:260px;object-fit:contain;border-radius:10px;margin-top:8px}
.chat-media-video,.account-media-video{display:block;width:min(100%,320px);max-height:280px;border-radius:10px;margin-top:8px;background:#000}
.chat-media-audio,.account-media-audio{display:block;width:min(100%,300px);max-width:100%;margin-top:8px}
.chat-message.mine{align-self:flex-end;background:rgba(37,145,117,.17);border-color:rgba(70,190,150,.25)}
.chat-message-actions,.account-message-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.chat-message-actions button,.account-message-actions button,.chat-report{border:0;background:none;color:#8fcfc5;font-size:10px;cursor:pointer;padding:2px 0}
.chat-deleted,.account-deleted{color:var(--text-dimmer);font-style:italic}
.chat-edited,.account-edited{display:block;color:var(--text-dimmer);font-size:9px;margin-top:5px}
.message-reactions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.reaction-chip{border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.035);color:var(--text);padding:3px 8px;font-size:11px;cursor:pointer;min-height:26px}
.reaction-chip.active{border-color:#45b995;background:rgba(45,185,147,.18);color:#a7ead4}
.typing-indicator{min-height:18px;padding:2px 10px;color:#8fcfc5;font-size:11px;font-style:italic}
.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#259879;color:white;font-size:10px;vertical-align:middle}
.unread-badge[hidden]{display:none}
.message-file-label{display:inline-flex;align-items:center;gap:8px;color:#9bd8cb;font-size:11px;cursor:pointer}
.message-file-label input{max-width:100%;font-size:10px}
.chat-attachment-tools,.account-voice-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.chat-attachment-tools audio,.account-voice-tools audio{max-width:100%;height:34px}
.chat-message-actions button:hover,.account-message-actions button:hover{color:#fff}

/* Рыболовная мастерская: восемь глав библиотеки снастей */
.tackle-chapters{display:grid;gap:13px;margin:18px 0 30px}
.tackle-chapter{overflow:hidden;border:1px solid rgba(190,157,86,.38);border-radius:20px;background:linear-gradient(145deg,rgba(22,48,37,.98),rgba(12,27,24,.99));box-shadow:0 10px 28px rgba(0,0,0,.13);color:inherit}
.tackle-chapter>summary{display:grid;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none}
.tackle-chapter>summary::-webkit-details-marker{display:none}
.tackle-chapter-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(211,177,105,.48);border-radius:15px;background:rgba(191,153,77,.12);font-size:25px}
.tackle-chapter-copy{min-width:0}
.tackle-chapter-copy .bait-guide-number{display:inline-flex;width:auto;height:auto;margin:0 0 6px;padding:0;border:0;background:none;color:#c9a969;font-size:10px;letter-spacing:.13em;font-weight:800}
.tackle-chapter-copy strong{display:block;color:#f3e5bd;font-size:17px;line-height:1.3;margin-bottom:4px}
.tackle-chapter-copy small{display:block;color:#bdc9c0;font-size:12px;line-height:1.45}
.tackle-chapter>summary>.bait-guide-chevron{color:#d0b477;transition:transform .2s}
.tackle-chapter[open]>summary>.bait-guide-chevron{transform:rotate(180deg)}
.tackle-chapter-content{padding:0 18px 16px;border-top:1px solid rgba(190,157,86,.16)}
.tackle-chapter-content .bait-guide-list{margin:14px 0 0;gap:10px}
.tackle-chapter-content .bait-guide-item{background:rgba(7,18,16,.56);border-color:rgba(190,157,86,.2);border-radius:15px}
.tackle-chapter-content .bait-guide-item summary{padding:12px;grid-template-columns:92px minmax(0,1fr) 18px;gap:11px}
.tackle-chapter-content .bait-guide-photo{width:92px;height:76px;object-fit:cover;border-radius:10px}
@media(max-width:520px){.tackle-chapter>summary{grid-template-columns:40px minmax(0,1fr) 16px;gap:10px;padding:14px}.tackle-chapter-icon{width:40px;height:40px;border-radius:12px;font-size:21px}.tackle-chapter-copy strong{font-size:15px}.tackle-chapter-copy small{font-size:11px}.tackle-chapter-content{padding:0 10px 12px}.tackle-chapter-content .bait-guide-item summary{grid-template-columns:76px minmax(0,1fr) 15px;padding:9px;gap:9px}.tackle-chapter-content .bait-guide-photo{width:76px;height:70px}}

/* Fishing library: mobile-safe tables and richer line chapter */
.bait-guide-content .bait-guide-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:14px 0 18px;border:1px solid rgba(220,205,150,.22);border-radius:12px}
.bait-guide-content .bait-guide-table{width:100%;min-width:560px;border-collapse:separate;border-spacing:0;margin:0;font-size:15px;line-height:1.45}
.bait-guide-content .bait-guide-table th,.bait-guide-content .bait-guide-table td{padding:11px 12px;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid rgba(255,255,255,.09)}
.bait-guide-content .bait-guide-table th{color:#ead58b;font-weight:700;background:rgba(255,255,255,.035)}
.bait-guide-content .bait-guide-table tr:last-child td{border-bottom:0}
.bait-guide-content .bait-guide-detail-photo{width:100%;height:auto;max-height:360px;object-fit:contain;background:rgba(0,0,0,.16);padding:5px}
@media(max-width:600px){.bait-guide-content .bait-guide-table{min-width:540px;font-size:14px}.bait-guide-content .bait-guide-table th,.bait-guide-content .bait-guide-table td{padding:9px 10px}.bait-guide-content .bait-guide-table-wrap:after{content:'Прокрутите таблицу вправо, чтобы увидеть остальные столбцы';display:block;padding:7px 10px;color:#b9c5be;font-size:12px;border-top:1px solid rgba(255,255,255,.08)}}

/* Section 8: detailed maintenance illustrations */
.maintenance-illustration{margin:16px 0 22px;padding:10px;background:rgba(16,37,31,.55);border:1px solid rgba(112,214,189,.22);border-radius:16px}
.maintenance-illustration img{display:block;width:100%;height:auto;max-height:none;border-radius:10px}
.maintenance-illustration figcaption{margin:8px 4px 2px;color:#9cb9ad;font-size:12px;line-height:1.4}
@media(max-width:600px){.maintenance-illustration{padding:6px;margin:12px 0 18px}.maintenance-illustration figcaption{font-size:11px}}


/* Exclusive dual constructor */
.exclusive-builder{cursor:pointer}
.exclusive-builder:focus-visible{outline:3px solid #e5c47e;outline-offset:4px}
.builder-page{padding-bottom:34px}
.builder-hero{padding:25px;border:1px solid rgba(214,180,108,.42);border-radius:22px;background:radial-gradient(circle at 90% 5%,rgba(206,169,98,.22),transparent 32%),linear-gradient(135deg,#102b25,#1c4438 65%,#0b211d);color:#f7f0df;box-shadow:0 14px 35px rgba(0,0,0,.2)}
.builder-kicker{font-size:9px;font-weight:900;letter-spacing:2px;color:#dfc184}
.builder-hero h2{margin:9px 0 7px;font:700 clamp(25px,4vw,34px) Georgia,serif;color:#fff2d5}
.builder-hero p{max-width:650px;margin:0;color:#d0ddd4;font-size:13px;line-height:1.65}
.builder-tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}
.builder-tab{min-height:54px;padding:12px;border:1px solid #d9d1bf;border-radius:13px;background:#f8f6ef;color:#46594c;font-size:12px;font-weight:800;cursor:pointer;transition:.2s}
.builder-tab.active{border-color:#b99558;background:linear-gradient(135deg,#1a4034,#102b25);color:#f3dfb5;box-shadow:0 6px 17px rgba(18,53,42,.17)}
.builder-panel{padding:20px;border:1px solid #e4ddce;border-radius:19px;background:linear-gradient(145deg,#fffefa,#f6f4ec);box-shadow:0 8px 25px rgba(25,37,28,.06)}
.builder-panel[hidden]{display:none!important}
.builder-panel-heading>span{font-size:9px;letter-spacing:1.7px;font-weight:900;color:#a27e45}
.builder-panel-heading h3{margin:7px 0 5px;font:700 25px Georgia,serif;color:#1d4034}
.builder-panel-heading p{margin:0;color:#6c786e;font-size:12px;line-height:1.6}
.builder-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}
.builder-form label{display:flex;flex-direction:column;gap:6px;color:#766a4e;font-size:10px;font-weight:800;letter-spacing:.2px}
.builder-form select,.builder-form input{width:100%;min-height:43px;padding:10px 11px;border:1px solid #ddd7c9;border-radius:10px;background:#fff;color:#30463a;font:500 12px inherit;outline:none}
.builder-form select:focus,.builder-form input:focus{border-color:#b38d4e;box-shadow:0 0 0 3px rgba(179,141,78,.12)}
.builder-submit{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:0 16px;border:1px solid #b38d4e;border-radius:11px;background:linear-gradient(110deg,#244b3c,#102c25);color:#f4e3bd;font-size:12px;font-weight:900;cursor:pointer}
.builder-submit span{font-size:19px}
.builder-result{margin-top:17px;padding:16px;border:1px solid #e3ddce;border-radius:15px;background:#fff}
.builder-result-head>span{font-size:9px;letter-spacing:1.5px;color:#a17c43;font-weight:900}
.builder-result-head h3{margin:5px 0;color:#1c4033;font:700 21px Georgia,serif}
.builder-result-head p{margin:0;color:#788176;font-size:11px}
.builder-result-list{display:grid;gap:0;margin-top:13px}
.builder-result-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid #eee9df}
.builder-result-row b{flex:0 0 36%;color:#52644f;font-size:10px}
.builder-result-row span{color:#3e4c42;font-size:11px;line-height:1.55;text-align:right}
.builder-disclaimer{margin:12px 0 0;color:#788176;font-size:10px;line-height:1.6}
.builder-copy{margin-top:12px;padding:9px 13px;border:1px solid #c7b58e;border-radius:9px;background:#f6f0e3;color:#66502c;font-size:11px;font-weight:800;cursor:pointer}
.feed-total{margin-top:12px;padding:11px 13px;border-radius:10px;background:#edf1e9;color:#52634f;font-size:11px}
.feed-total b{color:#1b4034;font-size:15px}
.builder-footer-note{margin:14px 3px 0;color:#879087;font-size:10px;line-height:1.6}
@media(max-width:560px){.builder-hero{padding:19px}.builder-tabs{gap:7px}.builder-tab{padding:10px 7px;font-size:10px;line-height:1.4}.builder-panel{padding:14px}.builder-form{grid-template-columns:1fr;gap:10px}.builder-submit{grid-column:1}.builder-result-row{gap:9px}.builder-result-row b{flex-basis:34%}.builder-result-row span{font-size:10px}}


/* Статусы модерации объявлений торговой площадки */
.market-listing-state{display:inline-flex;align-self:flex-start;margin:0 0 9px;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:.2px}.market-listing-state.pending{color:#ffe2a8;background:rgba(173,125,42,.2);border:1px solid rgba(222,177,91,.35)}.market-listing-state.approved{color:#a8f0ce;background:rgba(46,137,104,.2);border:1px solid rgba(112,204,163,.32)}.market-listing-state.rejected{color:#ffc0b8;background:rgba(171,65,57,.2);border:1px solid rgba(255,130,120,.32)}.market-listing-state.hidden-state{color:#c4d0d0;background:rgba(120,140,145,.16);border:1px solid rgba(160,180,185,.24)}.market-moderation-note{display:block;margin:0 0 8px;color:#ffb5a9;font-size:10px;line-height:1.4}

.premium-code-value{display:inline-block;padding:9px 12px;border-radius:8px;background:#10252b;color:#f0d18f;font:800 14px monospace;letter-spacing:1px;user-select:all}

.premium-access-overlay[hidden]{display:none}
.shops-grid{gap:20px}.shop-card{min-height:190px;padding:17px;gap:17px;border-radius:20px}.shop-card-photo{flex-basis:158px;height:158px;border-radius:15px}.shop-card-copy b{font-size:17px}.shop-card-copy small,.shop-card-copy em{font-size:12px}.shop-card-copy strong{font-size:12px}@media(max-width:650px){.shop-card{min-height:165px;padding:12px;gap:12px}.shop-card-photo{flex-basis:120px;height:132px}.shop-card-copy b{font-size:14px}.shop-card-copy small,.shop-card-copy em{font-size:10px}}

/* Contact administration for premium access */
.premium-contact-btn{display:flex;justify-content:center;align-items:center;width:100%;margin-top:12px;padding:11px 12px;border:1px solid rgba(213,185,124,.55);border-radius:10px;background:rgba(199,167,107,.12);color:#e8d19e;text-align:center;text-decoration:none;font-size:12px;font-weight:800;line-height:1.35;transition:background .2s,border-color .2s}
.premium-contact-btn:hover{background:rgba(199,167,107,.24);border-color:#d8bb7d}

/* Mobile tactile feedback for home navigation and interactive cards */
.home-shortcut,.back-home,.exclusive-card,.premium-contact-btn,.workshop-tile,.builder-tab,.fish-filter,.btn,[data-auth-mode]{-webkit-tap-highlight-color:transparent;transform-origin:center;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}
.tap-pressed,.tap-clicked{transform:scale(.975)!important;filter:brightness(1.16)}
.home-shortcut:active,.back-home:active,.exclusive-card:active,.premium-contact-btn:active,.workshop-tile:active,.builder-tab:active,.fish-filter:active,.btn:active,[data-auth-mode]:active{transform:scale(.975);filter:brightness(1.16)}
@media(prefers-reduced-motion:reduce){.tap-pressed,.tap-clicked,.home-shortcut:active,.back-home:active,.exclusive-card:active,.premium-contact-btn:active,.workshop-tile:active,.builder-tab:active,.fish-filter:active,.btn:active,[data-auth-mode]:active{transition:none}}

/* Техническая приёмная */
.support-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;max-width:920px;margin:0 auto}.support-create-form,.support-ticket-panel,.support-conversation{padding:18px}.support-form-heading,.support-ticket-heading,.support-conversation-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.support-form-heading>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(62,178,142,.14);font-size:23px}.support-form-heading>div,.support-ticket-heading>div,.support-conversation-heading>div{flex:1;min-width:0}.support-form-heading b,.support-ticket-heading b,.support-conversation-heading b{display:block;font-size:14px}.support-form-heading small,.support-ticket-heading small,.support-conversation-heading small{display:block;color:var(--text-dimmer);font-size:10px;margin-top:4px}.support-create-form>label,.support-reply-form>label{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-size:11px;color:var(--text-dimmer)}.support-create-form input,.support-create-form select,.support-create-form textarea,.support-reply-form textarea{width:100%;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--bg-soft);color:var(--text);font:inherit;font-size:12px}.support-file-label{padding:10px;border:1px dashed rgba(106,190,170,.32);border-radius:11px;background:rgba(23,70,62,.12)}.support-file-label input{border:0;padding:4px 0;background:transparent}.support-file-label small{font-size:9px;color:var(--text-dimmer)}.support-ticket-heading{justify-content:space-between}.support-ticket-list{display:grid;gap:8px}.support-ticket-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);color:var(--text);text-align:left}.support-ticket-row>span:first-child{flex:1;min-width:0}.support-ticket-row b{display:block;font-size:12px;overflow-wrap:anywhere}.support-ticket-row small{display:block;color:var(--text-dimmer);font-size:10px;margin-top:4px}.support-status{flex:none;padding:5px 8px;border-radius:20px;background:rgba(105,170,190,.13);color:#a8dce7;font-size:9px;white-space:nowrap}.support-status.new{color:#ffd18a;background:rgba(221,159,69,.14)}.support-status.waiting_user{color:#b7d8ff;background:rgba(82,137,210,.16)}.support-status.resolved,.support-status.closed{color:#9ce6c2;background:rgba(64,173,124,.14)}.support-conversation-heading{flex-wrap:wrap}.support-conversation-heading>div{min-width:130px}.support-messages{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow:auto;padding:8px 0}.support-message{max-width:88%;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:var(--bg-soft)}.support-message.user{align-self:flex-end;background:rgba(37,145,117,.16);border-color:rgba(70,190,150,.25)}.support-message.admin{align-self:flex-start;background:rgba(47,105,127,.18)}.support-message b{display:block;font-size:10px;color:#9ce6ce;margin-bottom:5px}.support-message p{margin:0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.support-message time{display:block;margin-top:7px;color:var(--text-dimmer);font-size:9px}.support-attachment{display:block;margin-top:8px;color:#8fdcc9;font-size:10px;overflow-wrap:anywhere}.support-attachment img{display:block;max-width:min(100%,260px);max-height:220px;object-fit:contain;border-radius:8px;margin-top:5px}.support-attachment video{display:block;max-width:100%;max-height:220px;border-radius:8px;margin-top:5px}.support-reply-form{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.support-reply-form button{justify-self:start}.support-auth-notice{max-width:520px;margin:0 auto}.support-auth-notice p{font-size:11px;color:var(--text-dimmer);margin:7px 0 12px}.support-shortcut-icon{display:grid;place-items:center;font-size:32px;background:linear-gradient(145deg,#205b55,#163944)}@media(max-width:600px){.support-create-form,.support-ticket-panel,.support-conversation{padding:13px}.support-ticket-row{padding:11px}.support-message{max-width:94%}.support-conversation-heading{gap:8px}}

.support-unread-badge{position:absolute;right:10px;top:10px;min-width:19px;height:19px;padding:0 5px;border-radius:20px;display:grid;place-items:center;background:#e6a84f;color:#17252a;font-size:10px;font-style:normal;font-weight:800;box-shadow:0 0 0 3px rgba(230,168,79,.13)}.support-unread-badge[hidden]{display:none}.support-new-reply{flex:none;padding:4px 7px;border-radius:20px;background:rgba(226,169,81,.15);color:#f4c77f;font-size:9px}.support-shortcut-icon{position:relative}

/* Нижняя широкая карточка технической приёмной */
.home-shortcut.support-home-shortcut{grid-column:1/-1;min-height:76px;flex-direction:row;align-items:center;justify-content:flex-start;padding:10px 18px;border-color:rgba(89,190,166,.34);background:linear-gradient(100deg,#123a3b,#153341 58%,#183c4a)}.support-home-shortcut .shortcut-image{width:54px;height:54px;flex:0 0 54px;border-radius:13px}.support-home-shortcut .shortcut-copy{display:flex;flex-direction:column;gap:4px}.support-home-shortcut .shortcut-copy b{font-size:13px}.support-home-shortcut .shortcut-copy small{font-size:10px}.support-home-shortcut .shortcut-arrow{position:static;margin-left:auto;font-size:19px}.support-home-shortcut .support-unread-badge{right:48px;top:50%;transform:translateY(-50%)}
@media(max-width:760px){.home-shortcut.support-home-shortcut{min-height:70px;height:70px;flex-direction:row;align-items:center;justify-content:flex-start;padding:8px 12px;gap:11px}.support-home-shortcut .shortcut-image{width:48px;height:48px;flex:0 0 48px}.support-home-shortcut .shortcut-copy{align-items:flex-start;justify-content:center}.support-home-shortcut .shortcut-copy b{font-size:12px}.support-home-shortcut .shortcut-copy small{font-size:9px}.support-home-shortcut .shortcut-arrow{position:static;top:auto;right:auto;margin-left:auto}.support-home-shortcut .support-unread-badge{right:42px;top:50%}}
/* Общая панель эмодзи для чата, личных сообщений и обращений */
.emoji-picker-wrap{position:relative;display:block;width:100%;margin:5px 0 7px}.emoji-picker-bar{display:flex;align-items:center;gap:9px}.emoji-picker-toggle{border:1px solid rgba(105,190,180,.25);border-radius:9px;background:rgba(43,105,99,.16);color:var(--text);padding:6px 10px;font-size:11px;cursor:pointer}.emoji-picker-toggle.active{background:rgba(58,153,126,.3);border-color:rgba(99,211,175,.55)}.emoji-picker-hint{font-size:9px;color:var(--text-dimmer)}.emoji-picker-panel{position:relative;z-index:25;margin-top:7px;padding:10px;border:1px solid rgba(105,190,180,.3);border-radius:13px;background:#10262d;box-shadow:0 12px 30px rgba(0,0,0,.3)}.emoji-picker-panel[hidden]{display:none}.emoji-picker-search{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#0b1d23;color:var(--text);font:inherit;font-size:11px}.emoji-picker-tabs{display:flex;gap:5px;overflow-x:auto;padding:8px 0;scrollbar-width:thin}.emoji-tab{flex:none;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-dimmer);font-size:9px;cursor:pointer}.emoji-tab.active{background:rgba(49,142,118,.24);color:#a9efd6;border-color:rgba(99,211,175,.4)}.emoji-picker-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;max-height:180px;overflow-y:auto}.emoji-choice{min-width:0;min-height:32px;border:0;border-radius:7px;background:transparent;font-size:21px;cursor:pointer}.emoji-choice:hover,.emoji-choice:focus{background:rgba(103,187,170,.18);outline:none}.emoji-empty{grid-column:1/-1;padding:12px;text-align:center;color:var(--text-dimmer);font-size:11px}@media(max-width:420px){.emoji-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.emoji-picker-panel{padding:8px}}

/* Push notification controls */
.topbar-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.push-enable-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 11px;border:1px solid rgba(76,205,190,.35);border-radius:999px;background:rgba(22,65,70,.72);color:#dffcf4;font-size:11px;font-weight:800;white-space:nowrap;min-height:38px}
.push-enable-btn:active{transform:scale(.96)}
.push-enable-btn.push-enabled{border-color:rgba(62,207,142,.6);background:rgba(24,91,67,.7)}
.push-enable-btn:disabled{opacity:.6}
.push-notice{position:fixed;left:16px;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:1000;padding:13px 16px;border:1px solid rgba(76,205,190,.4);border-radius:14px;background:#12343b;color:#eafffa;box-shadow:0 12px 35px rgba(0,0,0,.4);font-size:13px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}
.push-notice.visible{opacity:1;transform:translateY(0)}
.push-notice.error{border-color:rgba(255,107,107,.55);background:#3b2026}
@media(max-width:420px){.topbar-actions{gap:6px}.push-enable-btn{padding:8px 9px;font-size:10px;min-height:36px}.header-emblem{width:39px;height:39px;flex-basis:39px}}

/* Статус стоимости рыбалки в каталоге водоёмов */
.reservoir-grid .rcard.reservoir-name-card.access-free{border-color:rgba(65,205,126,.55);background:linear-gradient(145deg,rgba(20,75,53,.98),rgba(12,43,37,.99));box-shadow:0 5px 17px rgba(30,180,100,.12)}
.reservoir-grid .rcard.reservoir-name-card.access-paid{border-color:rgba(239,91,91,.58);background:linear-gradient(145deg,rgba(91,38,42,.98),rgba(48,24,32,.99));box-shadow:0 5px 17px rgba(220,65,75,.12)}
.reservoir-name-card.access-free .reservoir-name-kicker,.reservoir-name-card.access-free .reservoir-name-arrow{color:#76e6a1}
.reservoir-name-card.access-paid .reservoir-name-kicker,.reservoir-name-card.access-paid .reservoir-name-arrow{color:#ff9696}
.reservoir-access-badge{display:inline-flex;align-self:flex-start;padding:4px 7px;border-radius:7px;font-size:8px;font-weight:900;letter-spacing:.06em;line-height:1.2}
.access-free .reservoir-access-badge{color:#b8ffd0;background:rgba(42,190,105,.2);border:1px solid rgba(91,226,143,.4)}
.access-paid .reservoir-access-badge{color:#ffd0d0;background:rgba(220,65,75,.2);border:1px solid rgba(255,120,120,.42)}
.access-unknown .reservoir-access-badge{color:#d0dadd;background:rgba(130,155,160,.13);border:1px solid rgba(160,185,190,.2)}


/* Карточка погоды на главной странице */

.leisure-placeholder{display:flex;align-items:center;justify-content:center;min-height:170px;background:linear-gradient(135deg,rgba(44,145,112,.2),var(--card));font-size:42px}
/* Торговая площадка: галерея до пяти фотографий в объявлении */
.marketplace-photo-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:100%;margin:12px 0}.marketplace-photo-thumb{position:relative;min-width:0}.marketplace-photo-thumb img{display:block;width:100%;height:86px;object-fit:cover;border-radius:9px;border:1px solid var(--border);background:var(--bg-soft)}.marketplace-photo-thumb button{position:absolute;top:4px;right:4px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(8,20,24,.88);color:#fff;font-size:16px;cursor:pointer}.market-listing-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:0 10px 10px;background:#0b2027}.market-listing-gallery button{padding:0;border:1px solid rgba(255,255,255,.15);border-radius:7px;overflow:hidden;background:transparent;cursor:pointer}.market-listing-gallery button.active{border:2px solid #9ce6ce}.market-listing-gallery img{display:block;width:100%;height:48px;object-fit:cover}.market-listing-gallery:empty{display:none}@media(max-width:650px){.marketplace-photo-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.marketplace-photo-thumb img{height:78px}.market-listing-gallery img{height:54px}}
.leisure-intro>a{flex:none;margin-left:auto;align-self:center;white-space:nowrap}
@media(max-width:650px){.leisure-intro{flex-wrap:wrap}.leisure-intro>div{flex:1;min-width:150px}.leisure-intro>a{margin:4px 0 0 35px}}

/* Кабинет администрации расположен непосредственно в разделе «Где отдохнуть» */
.base-admin-entry{display:flex;align-items:center;gap:12px;width:100%;min-width:0;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(93,213,175,.42);border-radius:14px;background:linear-gradient(110deg,rgba(28,132,100,.3),rgba(24,86,83,.24));color:#eafff5;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);transition:filter .18s ease,transform .18s ease}
.base-admin-entry:active{filter:brightness(1.16);transform:scale(.992)}
.base-admin-entry>span:first-child{font-size:25px;flex:none}
.base-admin-entry>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.base-admin-entry b{font-size:13px;color:#d8fff0}
.base-admin-entry small{font-size:10px;line-height:1.45;color:#a9d9c8}
.base-admin-entry strong{flex:none;padding:9px 13px;border-radius:9px;background:#238d70;color:white;font-size:11px}
@media(max-width:560px){.base-admin-entry{gap:9px;padding:12px 11px}.base-admin-entry>span:first-child{font-size:22px}.base-admin-entry b{font-size:11px}.base-admin-entry small{font-size:9px}.base-admin-entry strong{padding:8px 10px;font-size:10px}}


/* Полноэкранный просмотр фотографий торговой площадки */
.market-listing-photo{cursor:zoom-in}
.market-listing-photo:focus-visible{outline:3px solid #9ce6ce;outline-offset:-3px}
body.market-lightbox-open{overflow:hidden}
.market-photo-lightbox{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:56px 58px 66px;background:rgba(0,0,0,.96);backdrop-filter:blur(8px);}
.market-photo-lightbox[hidden]{display:none}
.market-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 12px 50px rgba(0,0,0,.45)}
.market-lightbox-close,.market-lightbox-prev,.market-lightbox-next{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(20,35,40,.72);color:#fff;cursor:pointer;line-height:1}
.market-lightbox-close{top:14px;right:14px;width:44px;height:44px;font-size:32px}
.market-lightbox-prev,.market-lightbox-next{top:50%;transform:translateY(-50%);width:46px;height:58px;border-radius:14px;font-size:42px}
.market-lightbox-prev{left:12px}.market-lightbox-next{right:12px}
.market-lightbox-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);padding:7px 13px;border-radius:20px;background:rgba(20,35,40,.78);color:#fff;font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:650px){.market-photo-lightbox{padding:58px 8px 66px}.market-lightbox-prev,.market-lightbox-next{top:auto;bottom:10px;transform:none;width:42px;height:42px;font-size:32px}.market-lightbox-prev{left:12px}.market-lightbox-next{right:12px}.market-lightbox-count{bottom:21px}.market-lightbox-close{top:10px;right:10px}}


/* Seller profiles, listing ratings and seller badges */
.market-seller-link{padding:0;border:0;background:transparent;color:#dff8ed;font:inherit;font-size:12px;font-weight:800;text-align:left;text-decoration:underline;text-decoration-color:rgba(156,230,206,.45);text-underline-offset:3px;cursor:pointer}
.market-seller-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}
.market-seller-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:7px;font-size:9px!important;font-weight:800;line-height:1.25;white-space:normal}
.market-seller-badge.verified{background:rgba(49,174,124,.17);border:1px solid rgba(89,220,163,.35);color:#9af0c4}
.market-seller-badge.warning{background:rgba(213,82,67,.15);border:1px solid rgba(245,123,104,.36);color:#ffaaa0}
.market-rating{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding-top:9px;border-top:1px solid rgba(180,211,199,.1)}
.market-rating-summary{color:#e9d08a;font-size:11px;font-weight:800;white-space:nowrap}.market-rating-stars{display:flex;gap:2px}
.market-rating-stars button{padding:1px 3px;border:0;background:transparent;color:#62777a;font-size:19px;line-height:1;cursor:pointer}.market-rating-stars button.selected,.market-rating-stars button:hover{color:#f3cf69}.market-rating-stars button:disabled{cursor:default;opacity:.55}
.market-seller-modal{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}.market-seller-modal[hidden]{display:none}
.market-seller-dialog{position:relative;width:min(760px,100%);max-height:min(88dvh,900px);overflow:auto;padding:20px;border:1px solid rgba(114,196,166,.28);border-radius:20px;background:linear-gradient(150deg,#17343a,#0d222b);box-shadow:0 24px 80px rgba(0,0,0,.5)}
.market-seller-close{position:sticky;top:0;float:right;z-index:2;width:38px;height:38px;margin:-7px -7px 0 8px;border:1px solid var(--border);border-radius:50%;background:#17343a;color:#fff;font-size:27px;cursor:pointer}
.market-seller-head{display:flex;align-items:center;gap:14px;padding:8px 0 17px;border-bottom:1px solid rgba(180,211,199,.14)}.market-seller-avatar{width:64px;height:64px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#204b4c;font-size:30px}.market-seller-avatar img{width:100%;height:100%;object-fit:cover}
.market-seller-head h3{margin:0 0 7px;font-size:20px}.market-seller-head p{margin:7px 0 0;color:#bfd0ca;font-size:12px;line-height:1.5;white-space:pre-wrap}.market-seller-list-title{margin:18px 0 12px;font-size:14px}.market-seller-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.market-badge-admin{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.market-badge-admin label{display:flex;align-items:center;gap:7px;color:var(--text-dimmer);font-size:11px}.market-badge-admin select{max-width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:var(--bg-soft);color:var(--text);font:inherit;font-size:11px}
@media(max-width:650px){.market-seller-list{grid-template-columns:1fr}.market-seller-dialog{padding:14px}.market-rating{align-items:flex-start;flex-direction:column}.market-badge-admin{align-items:stretch;flex-direction:column}.market-badge-admin label{align-items:flex-start;flex-direction:column}.market-badge-admin select{width:100%}}

/* Рыбацкие регалии */
.fishing-regalia-inline,.account-regalia,.market-regalia{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.fishing-regalia-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid rgba(99,190,205,.28);border-radius:999px;background:rgba(41,133,151,.13);color:#bfeaf0;font-size:10px;font-weight:700;line-height:1.35;white-space:nowrap}
.fishing-regalia-chip.exclusive{border-color:rgba(235,190,83,.58);background:linear-gradient(135deg,rgba(183,132,35,.25),rgba(99,71,23,.22));color:#ffdf91;box-shadow:0 0 12px rgba(219,168,62,.12)}
.chat-message-head{flex-wrap:wrap;align-items:center}
.chat-message-head .fishing-regalia-inline{flex:1 1 100%;margin-top:2px}
.account-regalia{margin:5px 0 3px;max-width:100%}
.market-regalia{margin:6px 0}
.market-regalia-mini{font-size:10px;color:#e7c77e;font-weight:700}
.regalia-rules-list{display:grid;gap:10px;margin:14px 0}
.regalia-rule-row{display:grid;grid-template-columns:70px minmax(130px,1fr) 110px 110px;gap:8px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:12px;background:rgba(8,24,31,.28)}
.regalia-rule-row label{display:grid;gap:5px;font-size:11px;color:var(--text-dimmer)}
.regalia-rule-row input{min-width:0;width:100%}
@media(max-width:560px){.regalia-rule-row{grid-template-columns:55px 1fr 1fr}.regalia-rule-row label:nth-child(2){grid-column:span 2}}

.account-regalia-heading{display:block;margin-top:6px;color:var(--text-dimmer);font-size:10px;text-transform:uppercase;letter-spacing:.08em}


.chat-rules-panel{margin:10px 12px;border:1px solid rgba(104,201,207,.22);border-radius:14px;background:rgba(31,91,99,.16);overflow:hidden}
.chat-rules-panel>summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none;user-select:none}
.chat-rules-panel>summary::-webkit-details-marker{display:none}
.chat-rules-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:rgba(72,169,151,.16);font-size:18px}
.chat-rules-panel>summary>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.chat-rules-panel summary b{font-size:12px;color:#d8f0e9}.chat-rules-panel summary small{font-size:10px;color:var(--text-dimmer)}
.chat-rules-chevron{font-size:20px;color:#9bd9c5;transition:transform .2s}.chat-rules-panel[open] .chat-rules-chevron{transform:rotate(180deg)}
.chat-rules-content{display:grid;gap:14px;padding:0 15px 15px;border-top:1px solid rgba(150,210,210,.1)}
.chat-rules-content section{padding-top:12px}.chat-rules-content h3{margin:0 0 8px;font-size:12px;color:#a9e0cf}.chat-rules-content ol{margin:0;padding-left:19px;display:grid;gap:7px}.chat-rules-content li,.chat-rules-content p{font-size:11px;line-height:1.55;color:#c0d2d2}.chat-rules-content li b{color:#e1eeee}.chat-award-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.chat-award-list>div{display:flex;flex-direction:column;gap:4px;padding:9px;border:1px solid rgba(104,201,207,.16);border-radius:10px;background:rgba(4,21,28,.28)}
.chat-award-list b{font-size:11px;color:#e0f1ed}.chat-award-list span{font-size:10px;line-height:1.45;color:var(--text-dimmer)}
.chat-award-list.rare>div{border-color:rgba(219,168,62,.2)}.chat-award-list.rare b{color:#f1d28d}.chat-rules-content .chat-rules-note{margin:8px 0 0;color:#8eaaa8;font-size:10px}
@media(max-width:520px){.chat-award-list{grid-template-columns:1fr}.chat-rules-panel{margin:8px}.chat-rules-content{padding-left:12px;padding-right:12px}}

/* Авторские векторные медали регалий */
.fishing-regalia-chip.regalia-art{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 4px;border-radius:9px;border:1px solid rgba(119,183,191,.24);background:linear-gradient(145deg,rgba(24,61,69,.94),rgba(10,32,41,.94));color:#d7eeeb;font-size:10px;font-weight:750;letter-spacing:.01em;box-shadow:inset 0 1px rgba(255,255,255,.06),0 3px 9px rgba(0,0,0,.13)}
.fishing-regalia-chip.regalia-art svg{width:24px;height:27px;flex:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.fishing-regalia-chip.regalia-art.compact{padding:2px 7px 2px 3px;font-size:9px;gap:4px}
.fishing-regalia-chip.regalia-art.compact svg{width:20px;height:23px}
.fishing-regalia-chip.regalia-art.exclusive{border-color:rgba(241,198,105,.62);background:linear-gradient(145deg,rgba(101,70,25,.55),rgba(24,39,39,.96));color:#ffe5a3;box-shadow:inset 0 1px rgba(255,255,255,.13),0 0 13px rgba(222,174,72,.14)}
.regalia-rule-title{display:flex;align-items:center;gap:7px}.regalia-rule-title svg{width:24px;height:27px;flex:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.chat-award-list b.regalia-rule-title{font-size:11px}


/* Тематические разделы рыбацкого сообщества */
.community-tabs{display:flex;flex-wrap:wrap;gap:7px;overflow-x:visible;padding:11px 12px;border-bottom:1px solid rgba(150,210,210,.12);scrollbar-width:thin;background:rgba(4,18,25,.25)}
.community-tab{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(119,188,194,.18);border-radius:11px;background:rgba(22,57,66,.58);color:#b9d4d5;font:inherit;font-size:11px;font-weight:750;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.community-tab:active{transform:scale(.97)}.community-tab.active{border-color:rgba(92,204,177,.55);background:linear-gradient(135deg,rgba(32,132,116,.38),rgba(27,91,104,.42));color:#e0fff1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.community-panel{padding:14px}.community-panel[hidden]{display:none!important}.community-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 3px 15px}.community-intro h3{margin:5px 0;font-size:19px;color:#e2f5ef}.community-intro p{margin:0;max-width:560px;color:#a9c2c3;font-size:11px;line-height:1.5}.community-hero-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid rgba(117,205,182,.22);border-radius:17px;background:linear-gradient(145deg,rgba(38,130,117,.28),rgba(16,55,69,.55));font-size:27px}
.community-award-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:2px 0 14px}.community-award-stat{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid rgba(222,181,92,.23);border-radius:13px;background:linear-gradient(145deg,rgba(91,69,30,.22),rgba(13,38,44,.55))}.community-award-stat b{font-size:11px;color:#f2d58f}.community-award-stat span{font-size:10px;line-height:1.45;color:#b9c8bd}
.community-post-form{display:grid;gap:9px;padding:13px;border:1px solid rgba(102,194,181,.2);border-radius:14px;background:rgba(6,23,31,.45)}.community-post-form h4,.community-feed-heading h4{margin:0;color:#dff2ec;font-size:13px}.community-post-form input:not([type=file]),.community-post-form textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid rgba(121,188,194,.2);border-radius:10px;background:#0a1c25;color:var(--text);font:inherit;font-size:12px}.community-post-form textarea{resize:vertical;line-height:1.5}.community-file-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 11px;border:1px dashed rgba(117,197,183,.32);border-radius:10px;color:#bfe5d8;font-size:11px;cursor:pointer}.community-file-label input{max-width:100%;font-size:10px}.community-post-form>small{font-size:10px;color:var(--text-dimmer)}.community-post-form .btn{justify-self:start}.community-form-status{min-height:15px;margin:0;color:#9fe0c4;font-size:11px}.community-feed-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 10px}.community-feed{display:grid;gap:11px}.community-post{padding:13px;border:1px solid rgba(112,182,187,.17);border-radius:14px;background:linear-gradient(145deg,rgba(20,52,62,.78),rgba(8,29,38,.86));min-width:0}.community-post-head{display:flex;align-items:center;gap:9px;margin-bottom:9px}.community-post-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;overflow:hidden;border-radius:50%;background:rgba(70,146,139,.2);color:#d4f1e7;font-weight:800}.community-post-avatar img{width:100%;height:100%;object-fit:cover}.community-post-author{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.community-post-author b{overflow:hidden;color:#e1f3ee;font-size:11px;text-overflow:ellipsis}.community-post-author small,.community-post time{color:#8faead;font-size:9px}.community-post h4{margin:7px 0;color:#e3f3ed;font-size:14px;overflow-wrap:anywhere}.community-post>p{margin:0;color:#c0d3d0;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.community-post-location{margin:0 0 8px;color:#8ed7bd;font-size:10px}.community-post-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.community-post-media img,.community-post-media video{display:block;width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:9px;background:#071820}.community-post-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px;padding-top:9px;border-top:1px solid rgba(145,199,197,.1)}.community-vote{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid rgba(130,188,184,.2);border-radius:9px;background:rgba(14,43,50,.75);color:#bdd7d1;font-size:10px;font-weight:750;cursor:pointer}.community-vote.active.like{border-color:rgba(89,204,147,.55);background:rgba(37,126,82,.25);color:#a6f0c3}.community-vote.active.dislike{border-color:rgba(225,125,112,.55);background:rgba(135,56,52,.22);color:#ffc1b7}.community-vote:disabled{opacity:.55;cursor:default}.community-delete{margin-left:auto;border:0;background:transparent;color:#b98c85;font-size:10px;cursor:pointer}.community-empty{padding:24px 12px;text-align:center;color:#91aaa9;font-size:11px;border:1px dashed rgba(122,183,183,.18);border-radius:12px}.community-beginner-topics{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px}.community-beginner-topics span{padding:7px 9px;border:1px solid rgba(111,185,184,.17);border-radius:9px;background:rgba(28,75,78,.22);color:#b9d8ce;font-size:10px}
@media(max-width:520px){.community-tabs{flex-wrap:wrap;overflow-x:visible;gap:6px;padding:9px}.community-tab{padding:9px 10px;font-size:10px}.community-panel{padding:10px}.community-award-board{grid-template-columns:1fr}.community-post-media{grid-template-columns:repeat(2,minmax(0,1fr))}.community-intro h3{font-size:17px}}


/* Мигание вкладки объявлений администрации в онлайн-чате при новых сообщениях */
.community-tab.has-new-community-announcements{position:relative;border-color:rgba(255,190,91,.95);box-shadow:0 0 0 1px rgba(255,190,91,.3),0 0 18px rgba(255,165,65,.22);animation:communityAnnouncementPulse 1.15s ease-in-out infinite}
.community-announcement-new-marker{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:999px;background:#f0b85f;color:#2b2113;font-size:8px;font-weight:900;letter-spacing:.05em;vertical-align:middle}
@keyframes communityAnnouncementPulse{0%,100%{filter:brightness(1);box-shadow:0 0 0 1px rgba(255,190,91,.22),0 0 7px rgba(255,165,65,.1)}50%{filter:brightness(1.2);box-shadow:0 0 0 2px rgba(255,190,91,.5),0 0 20px rgba(255,165,65,.3)}}
@media(prefers-reduced-motion:reduce){.community-tab.has-new-community-announcements{animation:none}}

.account-id-footer{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding-top:11px;border-top:1px solid var(--border);color:var(--text-dimmer);font-size:10px}.account-id-footer .account-user-id{display:block;margin:0;font-size:10px;color:var(--text-dimmer);overflow-wrap:anywhere;word-break:break-word;line-height:1.4}

/* Личный кабинет: длинный ID не должен сжимать аватар */
.account-profile-head{min-width:0}
.account-profile-head>.account-avatar{flex:0 0 54px;width:54px;height:54px}
.account-profile-head>div:nth-child(2){flex:1 1 0;min-width:0;overflow-wrap:anywhere}
.account-profile-head .account-user-id{max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
@media(max-width:520px){.account-profile-head{gap:9px}.account-profile-head>.account-avatar{flex-basis:54px}}

/* Жизнь водоёмов */
.life-shortcut-icon{display:grid;place-items:center;background:linear-gradient(145deg,#174b3b,#102d2c);font-size:27px}.life-home-shortcut{border-color:rgba(80,170,132,.32)}.life-notice{display:grid;gap:6px;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(100,177,132,.24);border-radius:15px;background:linear-gradient(135deg,rgba(24,83,62,.42),rgba(13,39,43,.72));color:#dff5e8}.life-notice b{font-size:13px}.life-notice span{font-size:11px;line-height:1.55;color:#b9d4c7}.life-report-form{display:grid;gap:12px;padding:16px;border:1px solid rgba(116,183,153,.2)}.life-form-title{display:flex;align-items:center;gap:11px;margin-bottom:2px}.life-form-title>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(47,133,98,.2);font-size:22px}.life-form-title div{display:grid;gap:3px}.life-form-title b{font-size:14px;color:#e4f4eb}.life-form-title small,.life-feed-heading small{font-size:10px;color:#9db9b4}.life-report-form label{display:grid;gap:6px;color:#c4d9d5;font-size:11px}.life-report-form input,.life-report-form select,.life-report-form textarea{width:100%;min-width:0;border:1px solid rgba(140,190,183,.2);border-radius:11px;padding:11px 12px;background:#0d2029;color:#e7f3ef;font:inherit;font-size:13px}.life-report-form select option{background:#10242d;color:#fff}.life-report-form>small{font-size:10px;line-height:1.5;color:#91aaa9}.life-feed-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 2px 12px}.life-feed-heading h3{margin:0 0 3px;color:#e2f2eb;font-size:17px}.life-feed{display:grid;gap:12px}.life-report-card{padding:15px;border:1px solid rgba(132,180,171,.17);border-radius:16px;background:linear-gradient(145deg,rgba(19,47,53,.92),rgba(11,29,37,.96));box-shadow:0 8px 22px rgba(0,0,0,.12)}.life-report-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.life-report-type{font-size:10px;font-weight:800;letter-spacing:.35px;color:#c7e7d5}.life-report-date{font-size:10px;color:#89a6a6}.life-report-card h4{margin:10px 0 6px;color:#e7f5ee;font-size:15px}.life-report-reservoir{margin-bottom:8px;color:#9fd5bf;font-size:11px}.life-report-card p{margin:0;color:#c0d1ce;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.life-report-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.life-report-media img,.life-report-media video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#09171d}.life-report-author{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(145,185,174,.12);color:#91b0aa;font-size:10px}.life-report-author img{width:24px;height:24px;object-fit:cover;border-radius:50%}.life-unverified{padding:4px 7px;border-radius:20px;background:rgba(190,146,65,.15);color:#e6c78a;font-size:9px;font-weight:700}@media(max-width:520px){.life-report-form{padding:13px}.life-report-media{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Life of reservoirs photo header */
.life-home-shortcut{border-color:rgba(91,190,143,.42);background:linear-gradient(145deg,#17483d,#102e32)}.life-home-shortcut .shortcut-image{border:1px solid rgba(151,218,179,.28)}.life-hero{position:relative;height:clamp(155px,30vw,245px);margin:4px 0 20px;overflow:hidden;border:1px solid rgba(123,190,157,.24);border-radius:19px;background:#102a2b;box-shadow:0 12px 28px rgba(0,0,0,.22)}.life-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,23,.82),rgba(5,26,25,.35) 58%,rgba(5,25,25,.04)),linear-gradient(0deg,rgba(3,19,20,.35),transparent 55%);pointer-events:none}.life-hero>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;filter:saturate(1.08) contrast(1.04)}.life-hero-caption{position:absolute;z-index:1;left:clamp(16px,4vw,30px);top:50%;transform:translateY(-50%);display:grid;gap:9px;max-width:75%;color:#f0f8e9;text-shadow:0 2px 12px rgba(0,0,0,.55)}.life-hero-caption span{font-size:9px;font-weight:900;letter-spacing:.22em;color:#b8e3bf}.life-hero-caption b{font-size:clamp(19px,4vw,31px);line-height:1.12;font-family:var(--font-head)}@media(max-width:520px){.life-hero{height:158px;margin:2px 0 16px;border-radius:15px}.life-hero-caption{gap:7px;max-width:82%}.life-hero-caption span{font-size:8px}.life-hero-caption b{font-size:20px}}

.life-custom-reservoir{padding:11px;border:1px solid rgba(103,190,143,.25);border-radius:12px;background:rgba(30,91,64,.12)}.life-custom-reservoir[hidden]{display:none}

/* Дополнительные фотографии водоёмов */
.reservoir-photo-controls{position:absolute;z-index:4;left:12px;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.reservoir-photo-controls button{pointer-events:auto;width:40px;height:40px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.58);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.reservoir-photo-controls .reservoir-photo-count{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;padding:5px 10px;border-radius:20px;background:rgba(0,0,0,.58);color:#fff;font-size:12px}
.re-gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px}
.re-gallery-item{display:flex;flex-direction:column;gap:5px;padding:7px;border:1px solid var(--border-soft);border-radius:10px;min-width:0}
.re-gallery-item img{width:100%;height:76px;object-fit:cover;border-radius:7px}
.re-gallery-item span{font-size:12px}
.re-gallery-item button{width:100%}

/* Полноэкранная фотогалерея водоёма */
.detail-hero>img.reservoir-hero-clickable{cursor:zoom-in}
.reservoir-lightbox{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:54px 58px 64px;background:rgba(0,0,0,.96);backdrop-filter:blur(8px)}
.reservoir-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:5px;box-shadow:0 12px 50px rgba(0,0,0,.4)}
.reservoir-lightbox button{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(22,35,39,.72);color:#fff;cursor:pointer;touch-action:manipulation}
.reservoir-lightbox-close{top:max(14px,env(safe-area-inset-top));right:16px;width:44px;height:44px;font-size:30px;line-height:1}
.reservoir-lightbox-prev,.reservoir-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:38px;line-height:1}
.reservoir-lightbox-prev{left:12px}.reservoir-lightbox-next{right:12px}
.reservoir-lightbox-count{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:7px 13px;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:rgba(22,35,39,.78);color:#fff;font-size:12px}
@media(max-width:600px){.reservoir-lightbox{padding:58px 8px 66px}.reservoir-lightbox-prev,.reservoir-lightbox-next{width:40px;height:40px;font-size:32px;background:rgba(15,25,29,.58)}.reservoir-lightbox-prev{left:8px}.reservoir-lightbox-next{right:8px}.reservoir-lightbox-image{max-width:100%;max-height:100%;border-radius:2px}}

/* Компактный счётчик посетителей онлайн */
.site-online-counter{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:4px 8px;border:1px solid rgba(92,205,153,.24);border-radius:20px;background:rgba(36,132,86,.12);color:var(--text-dim);font-size:10px;white-space:nowrap}.site-online-counter i{width:7px;height:7px;border-radius:50%;background:#4bd58b;box-shadow:0 0 8px rgba(75,213,139,.65)}.site-online-counter b{color:var(--text);font-variant-numeric:tabular-nums}
@media(max-width:600px){.site-online-counter{font-size:9px;padding:3px 6px;margin-left:3px}}


/* Рыбацкое ТВ: кнопка справа от погоды */
.home-weather-row{display:grid;grid-template-columns:minmax(0,1fr) 174px;gap:12px;align-items:stretch;margin:0 0 22px}
.home-weather-row .weather-card{margin:0;min-width:0}
.home-tv-shortcut{display:flex;min-width:0;min-height:154px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px 10px;border:1px solid rgba(235,169,94,.32);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(255,183,94,.2),transparent 54%),linear-gradient(150deg,#3b3024,#1d2b2c 72%);color:#f8e6c9;box-shadow:0 12px 30px rgba(0,0,0,.2);cursor:pointer;transition:transform .16s,border-color .16s,filter .16s}
.home-tv-shortcut:active{transform:scale(.97);filter:brightness(1.14)}
.home-tv-icon{display:grid;place-items:center;width:47px;height:47px;border:1px solid rgba(255,196,121,.35);border-radius:15px;background:rgba(255,176,86,.13);color:#ffd18e;font-size:23px}
.home-tv-shortcut>b{font-family:var(--font-head);font-size:11px;letter-spacing:.04em;text-align:center}
.home-tv-shortcut>small{font-size:9px;color:#cdbda7;text-align:center;line-height:1.35}
.home-tv-live{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(255,187,109,.2);border-radius:20px;background:rgba(255,170,76,.09);color:#f1c38e;font-size:8px;font-weight:900;letter-spacing:.08em}
.home-tv-live i,.tv-channel-label i{width:7px;height:7px;border-radius:50%;background:#65d69a;box-shadow:0 0 9px rgba(101,214,154,.7)}
.home-container.section-open>.home-weather-row{display:none!important}
@media(max-width:760px){.home-weather-row{grid-template-columns:minmax(0,1fr) 108px;gap:8px;margin-bottom:17px}.home-tv-shortcut{min-height:132px;padding:9px 5px;border-radius:17px;gap:7px}.home-tv-icon{width:39px;height:39px;border-radius:12px;font-size:19px}.home-tv-shortcut>b{font-size:9px}.home-tv-shortcut>small{font-size:8px}.home-tv-live{font-size:7px;padding:4px 6px}.home-weather-row .weather-card{padding:14px 11px}}
@media(max-width:370px){.home-weather-row{grid-template-columns:minmax(0,1fr) 94px;gap:6px}.home-tv-shortcut{min-height:132px}.home-weather-row .weather-card{padding:12px 8px}}

/* Полноэкранный видеозал «Рыбацкое ТВ» */
.tv-page{max-width:1120px;margin:0 auto}
.tv-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:5px 0 18px;padding:19px 21px;border:1px solid rgba(220,169,105,.2);border-radius:18px;background:linear-gradient(110deg,rgba(78,62,40,.42),rgba(17,43,48,.78))}
.tv-heading h2{margin:5px 0;font-family:var(--font-head);font-size:clamp(20px,3vw,28px);color:#f4e3c6}
.tv-heading p{margin:0;color:var(--text-dimmer);font-size:11px;line-height:1.5}
.tv-heading-mark{font-size:40px;filter:drop-shadow(0 0 15px rgba(255,185,105,.22))}
.tv-player-panel{overflow:hidden;padding:14px;border:1px solid rgba(214,166,105,.2);background:linear-gradient(145deg,rgba(28,49,48,.96),rgba(12,29,37,.98))}
.tv-player-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 3px 12px}
.tv-channel-label{display:inline-flex;align-items:center;gap:8px;color:#f0d2a8;font-size:9px;font-weight:900;letter-spacing:.12em}
.tv-queue-position{color:var(--text-dimmer);font-size:10px;text-align:right}
.tv-screen{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;min-height:220px;overflow:hidden;border:1px solid rgba(223,181,124,.18);border-radius:13px;background:radial-gradient(ellipse at 50% 40%,#25464a,#08151d 72%);}
.tv-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.tv-screen-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px;text-align:center;color:#e7d9c3}
.tv-screen-placeholder>span{font-size:42px;filter:drop-shadow(0 0 16px rgba(255,183,94,.3))}
.tv-screen-placeholder>b{font-family:var(--font-head);font-size:clamp(14px,2.4vw,20px)}
.tv-screen-placeholder>small{max-width:390px;color:#9eb3ad;font-size:11px;line-height:1.5}
.tv-screen-placeholder .btn{margin-top:5px}
.tv-now-playing{display:grid;gap:5px;padding:15px 4px 12px}
.tv-now-playing>span{color:#d4ac7b;font-size:8px;font-weight:900;letter-spacing:.15em}
.tv-now-playing>b{color:#f2eee4;font-size:14px;line-height:1.4}
.tv-now-playing>small{color:var(--text-dimmer);font-size:10px;line-height:1.5}
.tv-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid rgba(170,199,183,.12)}
.tv-playlist-label{display:grid;flex:1;min-width:0;gap:6px;color:#c8b28e;font-size:8px;font-weight:900;letter-spacing:.1em}
.tv-playlist-label select{width:100%;min-width:0;padding:10px 11px;border:1px solid rgba(157,191,173,.2);border-radius:10px;background:#102a31;color:#e5eee7;font:inherit;font-size:11px;letter-spacing:0}
.tv-control-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.tv-control-buttons .btn{white-space:nowrap;font-size:10px}
.tv-autoplay-note{min-height:17px;margin-top:10px;color:#91b9a6;font-size:9px;line-height:1.5}
.tv-footer-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 4px;color:var(--text-dimmer);font-size:9px}
.tv-footer-links a{color:#d5b78e;text-decoration:none}
.tv-page.tv-fullscreen{position:fixed;z-index:99999;inset:0;width:100vw;height:100dvh;max-width:none;margin:0;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));overflow:auto;background:#071219}
.tv-page.tv-fullscreen .back-home,.tv-page.tv-fullscreen .tv-heading,.tv-page.tv-fullscreen .tv-footer-links{display:none}
.tv-page.tv-fullscreen .tv-player-panel{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:8px;border:0;background:transparent;box-shadow:none}
.tv-page.tv-fullscreen .tv-screen{width:100%;max-height:calc(100dvh - 190px);aspect-ratio:16/9;min-height:0;margin:auto 0}
.tv-page.tv-fullscreen .tv-now-playing{padding:8px 3px}
.tv-page.tv-fullscreen .tv-controls{padding-top:8px}
@media(max-width:650px){.tv-heading{padding:15px;border-radius:15px}.tv-heading-mark{font-size:32px}.tv-player-panel{padding:9px;border-radius:15px}.tv-screen{min-height:190px;border-radius:10px}.tv-controls{align-items:stretch;flex-direction:column}.tv-control-buttons{display:grid;grid-template-columns:1fr 1fr}.tv-control-buttons .btn{width:100%;padding:10px 7px;font-size:9px}.tv-page.tv-fullscreen{padding-left:6px;padding-right:6px}.tv-page.tv-fullscreen .tv-screen{max-height:calc(100dvh - 190px)}}
@media(max-width:390px){.tv-screen{min-height:170px}.tv-player-top{align-items:flex-start;flex-direction:column;gap:5px}.tv-queue-position{text-align:left}}


/* Исправление скрытия iframe/заглушки и полноэкранного режима на Android WebView */
.tv-screen [hidden],.tv-screen-placeholder[hidden],.tv-screen iframe[hidden]{display:none!important}
html.tv-kiosk,html.tv-kiosk body{width:100%;height:100%;overflow:hidden!important;background:#050d12!important}
html.tv-kiosk body>.topbar{display:none!important}
html.tv-kiosk #homeView-tv.tv-fullscreen{position:fixed!important;z-index:2147483000!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)!important;overflow:auto!important;background:#050d12!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-player-panel{min-height:100%;padding:8px 0!important;border:0!important;border-radius:0!important;background:#050d12!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-player-top,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-now-playing,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-controls,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-autoplay-note{padding-left:12px!important;padding-right:12px!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-screen{flex:1 0 auto!important;width:100vw!important;max-height:none!important;min-height:0!important;aspect-ratio:16/9!important;margin:auto 0!important;border:0!important;border-radius:0!important;background:#000!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-screen iframe{width:100%!important;height:100%!important}


/* Погода рядом с кнопкой ТВ: не даём четырём показателям слипаться в узкой колонке */
.home-weather-row{grid-template-columns:minmax(0,1fr) clamp(96px,14vw,174px);align-items:stretch}
.home-weather-row>.weather-card{width:100%;min-width:0;box-sizing:border-box}
.home-weather-row .weather-card-head{min-width:0;gap:8px}
.home-weather-row .weather-card-title{min-width:0;flex:1 1 auto;gap:8px}
.home-weather-row .weather-card-title>div{min-width:0}
.home-weather-row .weather-card-title b{line-height:1.2}
.home-weather-row .weather-current{flex:0 0 auto;min-width:52px}
.home-weather-row .weather-card-stats{min-width:0}
.home-weather-row .weather-card-stats>div{min-width:0;overflow:hidden;box-sizing:border-box}
.home-weather-row .weather-card-stats b,.home-weather-row .weather-card-stats small,.home-weather-row .weather-card-stats span{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;line-height:1.35}
@media(max-width:760px){
 .home-weather-row{grid-template-columns:minmax(0,1fr) 108px;gap:8px}
 .home-weather-row .weather-card{padding:14px 11px!important}
 .home-weather-row .weather-card-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:12px 0 9px!important}
 .home-weather-row .weather-card-stats>div{padding:8px 7px!important;gap:4px!important}
 .home-weather-row .weather-card-stats span{font-size:9px!important}
 .home-weather-row .weather-card-stats b{font-size:11px!important}
 .home-weather-row .weather-card-stats small{font-size:9px!important}
 .home-weather-row .weather-card-title b{font-size:12px!important}
 .home-weather-row .weather-card-title small{font-size:9px!important;line-height:1.35}
 .home-weather-row .weather-card-icon{font-size:25px!important}
 .home-weather-row .weather-current strong{font-size:23px!important}
 .home-weather-row .weather-current span{font-size:9px!important;max-width:95px}
}
@media(max-width:370px){
 .home-weather-row{grid-template-columns:minmax(0,1fr) 94px;gap:6px}
 .home-weather-row .weather-card{padding:11px 8px!important}
 .home-weather-row .weather-card-stats{gap:5px!important}
 .home-weather-row .weather-card-stats>div{padding:7px 5px!important}
 .home-weather-row .weather-card-stats b{font-size:10px!important}
}


/* Главная: полноценная погода на всю ширину, Рыбацкое ТВ отдельной длинной кнопкой ниже */
.home-weather-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%;margin:0 0 20px!important}
.home-weather-row>.weather-card{display:block!important;flex:0 0 auto!important;width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;margin:0!important}
.home-weather-row .weather-card-head{min-width:0}
.home-weather-row .weather-card-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.home-weather-row .weather-card-stats>div{min-width:0!important;overflow:visible!important}
.home-weather-row .weather-card-stats span,.home-weather-row .weather-card-stats b,.home-weather-row .weather-card-stats small{max-width:100%;overflow-wrap:normal;white-space:normal;line-height:1.35}
.home-weather-row>.home-tv-shortcut{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;width:100%!important;min-width:0!important;min-height:66px!important;padding:10px 16px!important;box-sizing:border-box!important;border:1px solid rgba(235,169,94,.3)!important;border-radius:16px!important;background:linear-gradient(100deg,rgba(73,57,37,.7),rgba(20,54,55,.92))!important;box-shadow:0 7px 20px rgba(0,0,0,.14)!important;text-align:left!important}
.home-tv-shortcut .home-tv-icon{flex:0 0 40px;width:40px!important;height:40px!important;border-radius:12px!important;font-size:19px!important}
.home-tv-shortcut>b{flex:0 1 auto!important;font-size:12px!important;white-space:nowrap!important;text-align:left!important}
.home-tv-shortcut>small{flex:1 1 auto!important;font-size:10px!important;text-align:left!important;white-space:normal!important}
.home-tv-shortcut .home-tv-live{flex:0 0 auto!important;margin-left:auto!important;font-size:8px!important;white-space:nowrap!important}
@media(max-width:760px){
 .home-weather-row{gap:9px!important;margin-bottom:17px!important}
 .home-weather-row>.weather-card{padding:14px 15px!important;min-height:132px!important}
 .home-weather-row .weather-card-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;margin:9px 0 7px!important}
 .home-weather-row .weather-card-stats>div{padding:6px 4px!important;gap:3px!important}
 .home-weather-row .weather-card-stats span{font-size:8px!important;white-space:normal!important}
 .home-weather-row .weather-card-stats b{font-size:9px!important;white-space:normal!important}
 .home-weather-row .weather-card-stats small{font-size:7px!important;white-space:normal!important}
 .home-weather-row>.home-tv-shortcut{min-height:62px!important;padding:9px 12px!important;gap:10px!important}
 .home-tv-shortcut .home-tv-icon{flex-basis:36px;width:36px!important;height:36px!important}
 .home-tv-shortcut>b{font-size:11px!important}
 .home-tv-shortcut>small{font-size:9px!important}
}
@media(max-width:390px){
 .home-weather-row .weather-card{padding:12px!important}
 .home-weather-row .weather-card-stats{gap:4px!important}
 .home-weather-row .weather-card-stats>div{padding:6px 3px!important}
 .home-weather-row .weather-card-stats span{font-size:7px!important}
 .home-weather-row .weather-card-stats b{font-size:8px!important}
 .home-tv-shortcut>small{display:none!important}
 .home-tv-shortcut>b{font-size:10px!important}
}


/* ТВ: заставка должна целиком помещаться в экран плеера, включая кнопку запуска */
.tv-screen{min-height:0!important;overflow:hidden!important}
.tv-screen-placeholder{box-sizing:border-box;width:100%;height:100%;min-height:0;padding:10px 14px!important;gap:7px!important;overflow:hidden}
.tv-screen-placeholder>span{font-size:clamp(24px,5vw,38px)!important;line-height:1!important}
.tv-screen-placeholder>b{font-size:clamp(13px,2.2vw,19px)!important;line-height:1.15!important}
.tv-screen-placeholder>small{max-width:420px;font-size:clamp(9px,1.25vw,12px)!important;line-height:1.3!important}
.tv-screen-placeholder .btn{margin-top:2px!important;min-height:42px!important;padding:9px 18px!important;white-space:nowrap!important}
@media(max-width:650px){
 .tv-screen{min-height:0!important;aspect-ratio:16/9!important}
 .tv-screen-placeholder{padding:8px 10px!important;gap:5px!important}
 .tv-screen-placeholder>span{font-size:26px!important}
 .tv-screen-placeholder>b{font-size:13px!important}
 .tv-screen-placeholder>small{font-size:9px!important;line-height:1.25!important}
 .tv-screen-placeholder .btn{min-height:38px!important;padding:7px 13px!important;font-size:12px!important}
}


/* Настоящий иммерсивный ТВ-режим: без шапки сайта, подписи, плейлиста и кнопок поверх видео */
html.tv-kiosk,html.tv-kiosk body{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;overscroll-behavior:none!important;background:#000!important}
html.tv-kiosk body>.topbar,html.tv-kiosk body>header{display:none!important}
html.tv-kiosk #homeView-tv.tv-fullscreen{position:fixed!important;z-index:2147483000!important;inset:0!important;display:block!important;width:100vw!important;height:100vh!important;height:100dvh!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#000!important;transform:none!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-player-panel{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#000!important;box-shadow:none!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-player-top,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-heading,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-now-playing,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-controls,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-autoplay-note,html.tv-kiosk #homeView-tv.tv-fullscreen .tv-footer-links,html.tv-kiosk #homeView-tv.tv-fullscreen .back-home{display:none!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-screen{position:absolute!important;inset:0!important;display:block!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#000!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-screen iframe{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border:0!important}
html.tv-kiosk #homeView-tv.tv-fullscreen .tv-screen-placeholder{display:none!important}

/* Federation emblem in the left brand mark */
.topbar .brand img.logo{display:block;object-fit:contain;border-radius:50%;background:#071820;box-shadow:0 0 0 2px rgba(79,190,205,.28),0 7px 20px rgba(29,166,193,.22);flex:none;padding:0}

/* Региональный переключатель федеральной ленты */
.region-picker-label{display:flex;flex-direction:column;gap:3px;color:var(--muted,#9fb2ba);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.region-picker-label select{max-width:190px;min-width:145px;padding:8px 28px 8px 10px;border:1px solid rgba(88,190,166,.35);border-radius:10px;background:var(--card,#102a34);color:var(--text,#eef7f5);font:600 12px Manrope, sans-serif;outline:none}.region-picker-label select:focus{border-color:#55c9a8;box-shadow:0 0 0 2px rgba(85,201,168,.15)}@media(max-width:520px){.region-picker-label select{min-width:112px;max-width:132px;font-size:10px;padding:7px 20px 7px 7px}.region-picker-label{font-size:8px}.topbar-actions{gap:5px}}


/* Режим доступности для слабовидящих на всём портале */
.site-accessibility-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border:1px solid #69a8b8;border-radius:11px;background:#173b49;color:#f4fdff;font:800 12px/1.25 var(--font-body);cursor:pointer;white-space:nowrap;}
.site-accessibility-btn[aria-pressed="true"]{background:#f5f8f8;color:#10252c;border:2px solid #fff;}
.site-accessibility :is(p,li,label,small,strong,b,span,a,button,input,select,textarea){line-height:1.55;}
.site-accessibility body{font-size:19px;}
.site-accessibility .container{max-width:1280px;}
.site-accessibility .brand h1{font-size:clamp(19px,2vw,24px);}
.site-accessibility .brand span.sub{font-size:14px;}
.site-accessibility .section-title h3,.site-accessibility .panel h3{font-size:20px;}
.site-accessibility .hero h2,.site-accessibility .detail-hero h2{font-size:28px;}
.site-accessibility .hero p,.site-accessibility .rcard .desc,.site-accessibility .rcard .loc,.site-accessibility .chat-card p,.site-accessibility .ad-item,.site-accessibility .panel p{font-size:17px;line-height:1.65;}
.site-accessibility .rcard h4{font-size:20px;}
.site-accessibility .rcard .body,.site-accessibility .panel{padding:20px;}
.site-accessibility .btn,.site-accessibility .back-btn,.site-accessibility .tab-btn,.site-accessibility .push-enable-btn{font-size:16px;min-height:48px;padding:11px 15px;}
.site-accessibility input,.site-accessibility select,.site-accessibility textarea{font-size:17px!important;min-height:48px;}
.site-accessibility .tag,.site-accessibility .fact-chip,.site-accessibility .fact-chip .fl,.site-accessibility .fact-chip .fv{font-size:15px;line-height:1.5;}
.site-accessibility :focus-visible{outline:3px solid #ffe36a!important;outline-offset:3px!important;}
.site-accessibility .topbar{flex-wrap:wrap;}
.site-accessibility .topbar-actions{flex-wrap:wrap;}
@media(max-width:650px){.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.site-accessibility-btn{font-size:11px;min-height:40px;padding:8px 9px}.site-accessibility .topbar{align-items:flex-start}.site-accessibility .topbar-actions{width:100%;justify-content:space-between}.site-accessibility .region-picker-label select{font-size:14px;max-width:150px}.site-accessibility .grid{grid-template-columns:1fr}.site-accessibility .home-shortcuts{grid-template-columns:1fr}}

/* Мобильная шапка: бренд отдельной строкой, элементы управления без наложений */
@media (max-width: 650px) {
  body > .topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    justify-content: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
  }
  body > .topbar > .brand {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 11px !important;
  }
  body > .topbar > .brand > div { min-width: 0 !important; }
  body > .topbar > .brand h1 { font-size: 17px !important; line-height: 1.2 !important; }
  body > .topbar > .brand span.sub {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
  body > .topbar > .topbar-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }
  body > .topbar .site-accessibility-btn,
  body > .topbar .push-enable-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    padding: 8px 7px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-align: center !important;
  }
  body > .topbar .region-picker-label {
    display: flex !important;
    min-width: 0 !important;
    width: 100% !important;
    justify-content: center !important;
    font-size: 8px !important;
  }
  body > .topbar .region-picker-label select {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    font-size: 11px !important;
    padding: 9px 22px 9px 8px !important;
  }
  body > .topbar .header-emblem { display: none !important; }
}
@media (max-width: 370px) {
  body > .topbar { padding-left: 10px !important; padding-right: 10px !important; }
  body > .topbar > .topbar-actions { gap: 6px !important; }
  body > .topbar .site-accessibility-btn,
  body > .topbar .push-enable-btn { font-size: 9px !important; }
}

/* Компактная кнопка push рядом с названием, не занимает место в панели региона */
.topbar .brand .push-bell-btn {
  display:grid !important; place-items:center !important; flex:0 0 38px !important;
  width:38px !important; height:38px !important; min-height:38px !important;
  margin-left:auto !important; padding:0 !important; border-radius:50% !important;
  border:1px solid rgba(93,204,190,.48) !important; background:rgba(22,65,70,.8) !important;
  color:#e4fff8 !important; font-size:22px !important; line-height:1 !important;
  white-space:nowrap !important; cursor:pointer !important;
}
.topbar .brand .push-bell-btn.push-enabled { background:rgba(24,91,67,.9) !important; border-color:#65d69a !important; color:#8ff0bd !important; }
.topbar .brand .push-bell-btn:disabled { opacity:.55; }
@media(max-width:650px){
  body > .topbar > .brand { gap:10px !important; }
  body > .topbar > .brand .push-bell-btn { flex:0 0 36px !important; width:36px !important; height:36px !important; margin-left:auto !important; }
  body > .topbar > .topbar-actions { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; }
}

/* Настройка push находится в личном кабинете, вне верхней шапки */
.account-push-settings{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:13px 15px;border:1px solid rgba(83,190,174,.25);border-radius:14px;background:linear-gradient(100deg,rgba(24,72,69,.42),rgba(18,48,59,.48))}
.account-push-settings>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.account-push-settings b{font-size:13px;color:var(--text)}
.account-push-settings small{font-size:10px;color:var(--text-dimmer);line-height:1.4}
.account-push-settings .push-enable-btn{flex:none;min-width:142px}
.account-push-settings .push-enable-btn.push-enabled{border-color:rgba(62,207,142,.6);background:rgba(24,91,67,.7)}
@media(max-width:520px){.account-push-settings{align-items:flex-start;flex-direction:column;gap:10px}.account-push-settings .push-enable-btn{width:100%}}

/* Усиленный режим доступности: крупный текст во всех разделах портала */
html.site-accessibility body{font-size:20px!important;line-height:1.65!important}
html.site-accessibility body :is(p,li,label,small,strong,b,span,a,button,input,select,textarea,summary,dt,dd,figcaption,td,th){font-size:max(18px,1em)!important;line-height:1.6!important}
html.site-accessibility body :is(h1,h2,h3,h4,h5,h6){font-size:max(22px,1em)!important;line-height:1.3!important}
html.site-accessibility body :is(.eyebrow,.tag,.badge,.fish-kind,.fish-filter,.season-chip,.fact-chip .fl,.ad-slot-kicker,.chat-status){font-size:max(16px,1em)!important;letter-spacing:normal!important}
html.site-accessibility body :is(.ico,.icon,.fish-thumb span,.home-tv-icon,.map-pin,.weather-card-icon){font-size:initial!important}
html.site-accessibility body :is(input,select,textarea){min-height:52px!important;padding:12px!important}
html.site-accessibility body :is(button,.btn,.tab-btn,.back-btn){min-height:50px!important;padding:12px 16px!important}
html.site-accessibility body .site-accessibility-btn{font-size:14px!important;min-height:48px!important;padding:10px 12px!important;white-space:normal!important}
html.site-accessibility body .region-picker-label select{font-size:16px!important}
html.site-accessibility body :focus-visible{outline:3px solid #ffe36a!important;outline-offset:3px!important}
@media(max-width:650px){html.site-accessibility body > .topbar .site-accessibility-btn{font-size:14px!important;min-height:48px!important;padding:9px 8px!important}html.site-accessibility body > .topbar .region-picker-label{font-size:14px!important}html.site-accessibility body > .topbar .region-picker-label select{font-size:16px!important}}


/* Ростовский каталог: фильтр по населённому пункту и плавная отрисовка длинного списка. */
#reservoirSettlementFilter { min-width: 190px; }
@media(max-width:640px){ #homeView-reservoirs .reservoir-toolbar .reservoir-filter { width:100%; } #reservoirSettlementFilter { width:100%; } }
#reservoirGrid.reservoir-grid > .reservoir-name-card { content-visibility: auto; contain-intrinsic-size: auto 112px; }
