/* Free-Ride — mobile-first theme. Palette: green / red / metal grey / black (overridable via /theme.css). */
:root {
  --g: #1a7f37; --r: #c0392b; --m: #8a9097; --k: #111315;
  --bg: #dfe2e5; --panel: #f6f7f8; --line: #c3c8cd; --text: #16181a; --mute: #5d646b;
  --rad: 10px; --sh: 0 1px 2px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.06);
  --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 15px/1.5 var(--font); color: var(--text); padding-bottom: calc(64px + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, #cfd3d7 0, var(--bg) 220px) fixed, var(--bg); }
a { color: var(--g); text-decoration: none; } a:hover { text-decoration: underline; }
img { max-width: 100%; display: block; }
h1 { font-size: 1.45rem; line-height: 1.25; margin: .6rem 0 .8rem; letter-spacing: -.01em; }
h2 { font-size: 1.15rem; margin: .4rem 0 .6rem; } h3 { font-size: 1rem; margin: .8rem 0 .3rem; } h4 { margin: .3rem 0; }
p { margin: .4rem 0; } ul { padding-left: 1.2rem; }
code, .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; }
.wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 12px; }
.muted { color: var(--mute); } .small { font-size: .85rem; } .center { text-align: center; }
.pos { color: var(--g); } .neg, .err { color: var(--r); }
.sr, .skip:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip:focus { position: fixed; z-index: 100; top: 6px; left: 6px; background: #fff; padding: 6px 10px; }
.hp { position: absolute; left: -9999px; }

/* ---------- Header ---------- */
.top { background: var(--k); color: #e9ecef; position: relative; z-index: 40; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.topin { display: flex; align-items: center; gap: 10px; min-height: 54px; flex-wrap: wrap; padding-top: 6px; padding-bottom: 6px; }
.logo { display: flex; align-items: center; gap: 8px; color: #fff; text-decoration: none !important; min-width: 0; }
.logo-mark { width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; overflow: hidden; flex: none;
  background: linear-gradient(145deg, #2b2f33, #0a0b0c); color: var(--g); border: 1px solid #3a3f44; }
.logo-svg { width: 100%; height: 100%; display: block; }
.logo-text b { display: block; font-size: 1.1rem; letter-spacing: .02em; text-transform: uppercase; }
.logo-text small { display: none; color: var(--m); font-size: .72rem; }
.topsearch { order: 3; flex: 1 1 100%; display: flex; }
.topsearch input { flex: 1; border: 1px solid #3a3f44; background: #1d2023; color: #fff; border-radius: 8px 0 0 8px; padding: 8px 10px; min-height: 38px; }
.topsearch input::placeholder { color: #8a9097; }
.topsearch button { border: 0; background: var(--g); color: #fff; border-radius: 0 8px 8px 0; padding: 0 14px; font-size: 1.1rem; cursor: pointer; }
.me { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.ico { position: relative; color: #e9ecef; font-size: 1.15rem; padding: 6px 8px; border-radius: 8px; text-decoration: none !important; }
.ico:hover { background: #24282c; }
/* Личные сообщения: зелёный конверт темы, на ~20% крупнее прежнего значка ✉ */
.i-mail { width: 1.4em; height: 1.4em; display: inline-block; vertical-align: -.32em; }
.ico.dm { color: var(--g); } .ico.dm:hover { color: color-mix(in srgb, var(--g) 70%, #fff); }
.cnt { position: absolute; top: -2px; right: -4px; background: var(--r); color: #fff; font-style: normal; font-size: .68rem; font-weight: 700;
  min-width: 18px; height: 18px; line-height: 18px; text-align: center; border-radius: 9px; padding: 0 4px; }
.cnt.in { position: static; display: inline-block; height: auto; line-height: 1.4; }
details > summary { cursor: pointer; } details > summary::-webkit-details-marker { display: none; }
.usermenu, .threadmenu { position: relative; }
.usermenu summary { list-style: none; padding: 6px 10px; border-radius: 8px; background: #24282c; color: #fff; max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.usermenu summary::after { content: " ▾"; color: var(--m); }
.menu { position: absolute; right: 0; top: calc(100% + 6px); background: #fff; color: var(--text); min-width: 220px; border-radius: var(--rad);
  box-shadow: 0 8px 28px rgba(0,0,0,.25); padding: 6px; z-index: 60; }
.menu a, .menu .linkbtn { display: block; width: 100%; text-align: left; padding: 9px 12px; border-radius: 6px; color: var(--text); }
.menu a:hover, .menu .linkbtn:hover { background: #eef0f2; text-decoration: none; }
.linkbtn { background: none; border: 0; font: inherit; color: var(--g); cursor: pointer; padding: 0; }
.linkbtn.red { color: var(--r); }
.mainnav { background: linear-gradient(180deg, #2c3135, #1b1e21); border-top: 1px solid #33383d; }
.navin { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.navin::-webkit-scrollbar { display: none; }
.navin a { color: #d5d9dd; padding: 10px 12px; white-space: nowrap; font-weight: 600; font-size: .92rem; border-bottom: 3px solid transparent; text-decoration: none; }
.navin a:hover { color: #fff; background: rgba(255,255,255,.04); }
.navin a.on { color: #fff; border-bottom-color: var(--g); }
.navin a.fitlink { color: #fff; } .navin a.adm { color: #ffb3aa; margin-left: auto; } .navin a.adm.on { border-bottom-color: var(--r); }
.strip { background: var(--k); border-top: 1px solid #000; }
.strip .wrap { padding-top: 4px; padding-bottom: 4px; }
.strip p { margin: 3px 0; padding: 6px 10px; border-radius: 6px; color: #fff; font-weight: 600; font-size: .9rem; }
.strip p.green { background: var(--g); } .strip p.red { background: var(--r); }
.strip a { color: #fff; text-decoration: underline; }
main { padding-top: 10px; padding-bottom: 24px; min-height: 60vh; }

/* ---------- Footer + bottom nav ---------- */
.foot { background: var(--k); color: #c7ccd1; padding: 18px 0; margin-top: 20px; }
.foot a { color: #e9ecef; } .foot .muted { color: #8a9097; }
.bottomnav { position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; display: flex; background: #0d0f10; border-top: 1px solid #2c3135;
  padding-bottom: env(safe-area-inset-bottom); }
.bottomnav a { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; gap: 1px; color: #aab0b6; font-size: .68rem; padding: 7px 0 6px; text-decoration: none; }
.bottomnav a span { font-size: 1.15rem; line-height: 1.2; filter: grayscale(1); }
.bottomnav a.on { color: #fff; box-shadow: inset 0 3px 0 var(--g); } .bottomnav a.on span { filter: none; }
.bottomnav a span.dm { filter: none; color: var(--g); }
.bottomnav .i-mail { width: 1.3em; height: 1.2em; vertical-align: top; }   /* высота строки эмодзи соседей: подписи на одной линии */
.bottomnav .cnt { top: 2px; right: calc(50% - 20px); }

/* ---------- Buttons & forms ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 8px; background: var(--g); color: #fff;
  font: 600 .95rem var(--font); padding: 9px 16px; min-height: 40px; cursor: pointer; text-decoration: none !important; white-space: nowrap;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.18); transition: filter .15s; }
.btn:hover { filter: brightness(1.1); } .btn:disabled { opacity: .6; cursor: progress; }
.btn.red { background: var(--r); }
.btn.ghost { background: #fff; color: var(--k); border: 1px solid var(--line); box-shadow: none; }
.btn.ghost:hover { border-color: var(--m); filter: none; background: #f1f3f5; }
.top .btn.ghost { background: transparent; color: #fff; border-color: #444a50; }
.btn.sm { padding: 6px 12px; min-height: 34px; font-size: .88rem; } .btn.xs { padding: 4px 9px; min-height: 28px; font-size: .8rem; border-radius: 6px; }
input, select, textarea { font: inherit; color: var(--text); width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 8px; padding: 8px 10px; min-height: 40px; }
textarea { resize: vertical; min-height: 80px; }
input:focus, select:focus, textarea:focus { outline: 2px solid color-mix(in srgb, var(--g) 45%, transparent); border-color: var(--g); }
input[type=checkbox], input[type=radio] { width: auto; min-height: 0; accent-color: var(--g); }
input[type=color] { padding: 2px; height: 42px; }
input[type=file] { padding: 6px; background: #f1f3f5; }
.form label, label.block { display: block; margin: 0 0 12px; font-weight: 600; font-size: .9rem; }
.form label > input, .form label > select, .form label > textarea { margin-top: 4px; font-weight: 400; }
.form label small { font-weight: 400; }
label.check { display: inline-flex !important; align-items: center; gap: 8px; font-weight: 500 !important; margin-right: 14px; }
fieldset { border: 1px solid var(--line); border-radius: var(--rad); padding: 10px 12px 2px; margin: 0 0 12px; }
legend { font-weight: 700; padding: 0 6px; }
.two, .three, .colors { display: grid; gap: 0 12px; grid-template-columns: 1fr; }
.row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.row input, .row select { width: auto; flex: 1 1 140px; min-height: 34px; padding: 5px 8px; }
form.inline { display: inline; } .inline { display: inline-flex; gap: 4px; align-items: center; }
.w-sm { max-width: 70px; flex: 0 0 70px !important; }
.seg { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.seg label { display: inline-flex; gap: 6px; align-items: center; background: #fff; border: 1px solid var(--line); padding: 7px 12px; border-radius: 8px; font-weight: 500; margin: 0; }
.seg label:has(input:checked) { border-color: var(--g); background: color-mix(in srgb, var(--g) 10%, #fff); }
.days { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.day { display: inline-flex !important; gap: 4px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; margin: 0 !important; }
.day:has(input:checked) { background: var(--g); color: #fff; border-color: var(--g); }
.sched:has(input[value=once]:checked) .weekly-only { display: none; }

/* ---------- Panels ---------- */
.card, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); padding: 12px 14px; margin: 0 0 14px; }
.panel.flush { padding: 0; overflow: hidden; } .panel.flush > .bar { margin: 0; border-radius: 0; }
.panel > .bar { margin: -12px -14px 12px; border-radius: var(--rad) var(--rad) 0 0; }
.bar { background: linear-gradient(180deg, color-mix(in srgb, var(--g) 88%, #fff), var(--g)); color: #fff; font-size: .95rem; text-transform: uppercase;
  letter-spacing: .04em; padding: 9px 14px; margin: 0 0 10px; border-radius: 8px; }
.bar.red { background: linear-gradient(180deg, color-mix(in srgb, var(--r) 88%, #fff), var(--r)); }
.bar.dark { background: linear-gradient(180deg, #3a3f44, var(--k)); }
.bar.green { background: var(--g); }
details.card > summary, details.panel > summary { font-weight: 600; padding: 2px 0; }
details[open].card > summary, details[open].panel > summary { margin-bottom: 8px; }
.notice { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--g); border-radius: 8px; padding: 10px 12px; margin: 0 0 12px; }
.notice.red { border-left-color: var(--r); background: color-mix(in srgb, var(--r) 6%, #fff); }
.empty { background: #fff; border: 1px dashed var(--line); border-radius: var(--rad); padding: 22px 14px; text-align: center; color: var(--mute); margin: 8px 0 14px; }
.pagehead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pagehead h1 { margin-bottom: .4rem; }
.actions { display: flex; gap: 6px; flex-wrap: wrap; }
.crumbs { font-size: .85rem; color: var(--mute); margin: 2px 0 4px; } .crumbs a { color: var(--mute); }
.meta { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; font-size: .85rem; color: var(--mute); }
.pill { display: inline-block; font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; background: #e4e7ea; color: #3a3f44; border: 1px solid #cdd2d6; }
.pill.green { background: var(--g); color: #fff; border-color: transparent; } .pill.red { background: var(--r); color: #fff; border-color: transparent; }
.pill.dark { background: var(--k); color: #fff; border-color: transparent; }
.badge { display: inline-block; font-size: .72rem; font-weight: 700; padding: 2px 7px; border-radius: 4px; color: #fff; background: var(--m); }
.badge.verified { background: var(--g); } .badge.status { background: var(--k); }
.tag { font-size: .82rem; margin-right: 6px; }
.modbar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 10px 0; }
.modbar form { margin: 0; }
.staffbar { padding: 8px; background: color-mix(in srgb, var(--r) 5%, #fff); border: 1px dashed color-mix(in srgb, var(--r) 40%, #fff); border-radius: 8px; }
.staffbox > summary { color: var(--r); }
ul.plain { list-style: none; padding: 0; margin: 0; }
ul.plain li { padding: 5px 0; }
ul.list li { border-bottom: 1px solid #e3e6e9; padding: 8px 0; } ul.list li:last-child { border-bottom: 0; }
li.revoked, li.past { opacity: .6; } li.revoked { text-decoration: line-through; text-decoration-color: rgba(0,0,0,.25); }
.pager { display: flex; justify-content: center; gap: 8px; margin: 12px 0; flex-wrap: wrap; }
.pager.pages a { min-width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--k); }
.pager.pages a.on { background: var(--g); color: #fff; border-color: var(--g); }
.searchbar { display: flex; gap: 6px; align-items: center; margin: 0 0 12px; flex-wrap: wrap; }
.searchbar input:not([type=checkbox]) { flex: 1 1 200px; }
.chips { display: flex; gap: 6px; overflow-x: auto; padding: 2px 0 8px; margin-bottom: 4px; scrollbar-width: thin; }
.chip { flex: 0 0 auto; padding: 6px 13px; border-radius: 20px; background: #fff; border: 1px solid var(--line); color: var(--k); font-size: .88rem; font-weight: 600; text-decoration: none !important; }
.chip:hover { border-color: var(--m); }
.chip.on { background: var(--k); color: #fff; border-color: var(--k); }
.chips.sub .chip { font-size: .8rem; padding: 4px 11px; font-weight: 500; }
.chips.sub .chip.on { background: var(--g); border-color: var(--g); }
.cols { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
.text, .pbody { white-space: pre-wrap; overflow-wrap: anywhere; }
.tablewrap { overflow-x: auto; }
.tbl { width: 100%; border-collapse: collapse; background: #fff; border-radius: 8px; overflow: hidden; font-size: .9rem; }
.tbl th { background: var(--k); color: #fff; text-align: left; padding: 8px; font-weight: 600; }
.tbl td { padding: 7px 8px; border-top: 1px solid #e3e6e9; vertical-align: top; }
.tbl tr:nth-child(even) td { background: #f7f8f9; }

/* ---------- News ---------- */
.newscard { display: grid; grid-template-columns: 1fr; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); overflow: hidden; margin-bottom: 14px; box-shadow: var(--sh); }
.newscard.pinned { border-color: var(--g); box-shadow: 0 0 0 1px var(--g), var(--sh); }
.ncover img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.nbody { padding: 10px 14px 12px; }
.newscard h2 { font-size: 1.2rem; margin: 4px 0; } .newscard h2 a { color: var(--k); }
.excerpt { color: #33383d; white-space: pre-line; }
.side .important { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 12px 14px; margin-bottom: 14px; box-shadow: var(--sh); }
.side .important .bar { margin: -12px -14px 10px; border-radius: var(--rad) var(--rad) 0 0; }
.side .important li { border-bottom: 1px solid #eee; } .side .important li a { color: var(--k); font-weight: 600; }
.article { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 14px; box-shadow: var(--sh); margin-bottom: 14px; }
.article .text { font-size: 1.02rem; line-height: 1.65; margin: 12px 0; }
.hero { width: 100%; max-height: 70vh; object-fit: contain; background: #0c0d0e; border-radius: 8px; }
.caption { font-size: .85rem; color: var(--mute); }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 6px; margin: 12px 0; }
.gallery figure { margin: 0; } .gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.gallery figcaption { font-size: .75rem; color: var(--mute); }
.qitem { border-bottom: 1px solid #e3e6e9; padding: 8px 0 4px; } .qitem:last-child { border: 0; }
.diff { display: grid; gap: 10px; grid-template-columns: 1fr; } .diff > div { background: #fff; border: 1px solid #e3e6e9; padding: 8px; border-radius: 8px; max-height: 300px; overflow: auto; }

/* ---------- Forum ---------- */
.sections .section, .topics .trow { display: grid; align-items: center; gap: 4px 10px; padding: 10px 14px; border-bottom: 1px solid #e3e6e9; color: var(--text); text-decoration: none !important; background: #fff; }
.sections .section { grid-template-columns: 12px 1fr auto; }
.sections .section:hover, .topics .trow:hover { background: #f4f6f7; }
.sdot { width: 10px; height: 10px; border-radius: 50%; background: var(--g); box-shadow: 0 0 0 3px color-mix(in srgb, var(--g) 25%, transparent); }
.sname small { display: block; color: var(--mute); font-size: .82rem; }
.snum, .tnum { text-align: center; font-size: .8rem; color: var(--mute); line-height: 1.1; } .snum b, .tnum b { display: block; color: var(--k); font-size: 1rem; }
.snum + .snum, .slast { display: none; }
.slast, .tlast { font-size: .78rem; color: var(--mute); }
.topics .trow { grid-template-columns: 1fr auto; }
.tmain a b { color: var(--k); } .tmain small { display: block; }
.trow.pinned { background: color-mix(in srgb, var(--g) 6%, #fff); }
.tlast { display: none; }
.result .snippet { color: #33383d; }
.post { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); margin: 0 0 12px; box-shadow: var(--sh); overflow: hidden; scroll-margin-top: 110px; }
.post:target { box-shadow: 0 0 0 2px var(--g); }
.post.hidden-post { opacity: .75; background: repeating-linear-gradient(45deg, #fff, #fff 12px, #fbeeee 12px, #fbeeee 24px); }
.phead { display: flex; justify-content: space-between; background: linear-gradient(180deg, #4a5056, #2c3135); color: #dfe3e6; font-size: .8rem; padding: 5px 12px; }
.phead a { color: #dfe3e6; }
.pgrid { display: grid; grid-template-columns: 1fr; }
.author { background: linear-gradient(180deg, #eef0f2, #e2e5e8); border-bottom: 1px solid #d6dadd; padding: 10px 12px; display: grid; grid-template-columns: 56px 1fr; gap: 2px 10px; align-items: start; }
.author .who { grid-column: 2; margin: 0; } .author .who a { color: var(--k); }
.author .ava { grid-row: 1 / span 3; grid-column: 1; }
.author .staffrole { grid-column: 2; margin: 0; font-size: .75rem; font-weight: 700; color: var(--r); }
.facts { grid-column: 2; display: flex; flex-wrap: wrap; gap: 0 10px; margin: 0; font-size: .78rem; color: var(--mute); }
.facts dt { display: none; } .facts dd { margin: 0; }
.facts dd:nth-of-type(n+5) { display: none; }
.x { display: inline-block; font-weight: 900; font-size: 1.05em; line-height: 1; }
.x.on { color: var(--g); } .x.off { color: var(--r); }
.ava { display: block; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: #c9ced3; border: 1px solid #b7bdc2; }
.ava img { width: 100%; height: 100%; object-fit: cover; }
.ava.none span { display: grid; place-items: center; height: 100%; font-weight: 800; font-size: 1.4rem; color: #fff; background: linear-gradient(145deg, var(--m), #4a5056); }
.ava.sm { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; } .ava.sm.none span { font-size: 1rem; }
.ava.big { width: 104px; height: 104px; border-radius: 12px; } .ava.big.none span { font-size: 2.6rem; }
.post .body { padding: 10px 14px; min-width: 0; }
.post .pbody { font-size: .98rem; line-height: 1.6; }
.quote { margin: 0 0 10px; padding: 8px 12px; background: #f1f3f4; border-left: 4px solid var(--m); border-radius: 0 8px 8px 0; font-size: .92rem; }
.qhead { font-size: .8rem; color: var(--mute); margin: 0 0 4px; }
.edited { font-size: .78rem; color: var(--mute); font-style: italic; }
.sig { border-top: 1px dashed #d0d4d8; margin-top: 10px; padding-top: 6px; font-size: .82rem; color: var(--mute); font-style: italic; }
.pfoot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 7px 12px; border-top: 1px solid #e3e6e9; background: #fafbfb; font-size: .84rem; }
.plink { font-weight: 600; }
.reacts { display: flex; gap: 4px; margin-left: auto; }
.rx { border: 1px solid var(--line); background: #fff; border-radius: 6px; padding: 3px 9px; font: 700 .82rem var(--font); cursor: pointer; min-height: 28px; }
.rx.up { color: var(--g); } .rx.down { color: var(--r); }
span.rx { cursor: default; }
.rx.up.mine { background: var(--g); color: #fff; border-color: var(--g); } .rx.down.mine { background: var(--r); color: #fff; border-color: var(--r); }
.pact { display: flex; flex-wrap: wrap; gap: 4px 12px; width: 100%; }
.quote-preview:empty { display: none; }
.quote-preview { background: #f1f3f4; border-left: 3px solid var(--g); padding: 6px 10px; font-size: .88rem; }
.quote-fab { position: fixed; z-index: 70; bottom: calc(76px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); box-shadow: 0 6px 18px rgba(0,0,0,.3); }
.rev .pbody { background: #fff; padding: 8px; border-radius: 6px; margin: 6px 0; }

/* ---------- Market ---------- */
.filters { background: var(--panel); border: 1px solid var(--line); border-radius: var(--rad); padding: 8px; margin: 0 0 10px; box-shadow: var(--sh); }
.filters.sticky { position: sticky; top: 4px; z-index: 30; }
.frow { display: flex; gap: 6px; flex-wrap: wrap; }
.filters > .frow:first-child { flex-wrap: nowrap; }
.filters > .frow:first-child input { min-width: 0; }
.fmore > summary { font-size: .85rem; font-weight: 700; color: var(--mute); padding: 6px 2px 0; list-style: none; }
.fmore > summary::before { content: '⚙ '; }
.fmore[open] > summary { margin-bottom: 6px; }
[hidden] { display: none !important; }
.frow + .frow { margin-top: 6px; }
.frow input, .frow select { flex: 1 1 140px; width: auto; min-height: 38px; }
.frow select[name=country] { flex: 0 0 112px; font-weight: 700; }
.small-row select, .small-row input { font-size: .88rem; min-height: 34px; padding: 5px 8px; }
.hint { font-size: .78rem; color: var(--mute); margin: 6px 2px 0; }
.lgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.lcard { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--sh); transition: transform .12s, box-shadow .12s; }
.lcard:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.lcard.prio { background: color-mix(in srgb, var(--g) 12%, #fff); border-color: color-mix(in srgb, var(--g) 55%, #fff); }
.limg { position: relative; display: block; aspect-ratio: 4/3; background: #e9ecef; }
.limg img { width: 100%; height: 100%; object-fit: cover; }
.noimg { display: grid; place-items: center; height: 100%; min-height: 80px; color: #9aa1a8; font-size: .8rem; background: repeating-linear-gradient(135deg, #eceff1, #eceff1 10px, #e3e6e9 10px, #e3e6e9 20px); }
.noimg.big { min-height: 220px; border-radius: 8px; }
.ltag { position: absolute; left: 6px; top: 6px; background: rgba(17,19,21,.82); color: #fff; font-size: .7rem; font-weight: 700; padding: 2px 7px; border-radius: 4px; }
.ltag.new { background: var(--g); }
.lstat { position: absolute; right: 6px; top: 6px; background: var(--r); color: #fff; font-size: .7rem; font-weight: 800; padding: 2px 7px; border-radius: 4px; }
.linfo { padding: 8px 10px 10px; display: flex; flex-direction: column; gap: 2px; flex: 1; }
.linfo h3 { margin: 0; font-size: .9rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.linfo h3 a { color: var(--k); }
.price { font-weight: 800; color: var(--g); margin: 2px 0; font-size: 1rem; white-space: nowrap; }
.price.big { font-size: 1.7rem; }
.lmeta { display: flex; justify-content: space-between; gap: 6px; font-size: .74rem; color: var(--mute); margin: 0; }
.lseller { font-size: .76rem; margin: 2px 0 0; }
details.priority { background: color-mix(in srgb, var(--g) 8%, #fff); border: 1px solid color-mix(in srgb, var(--g) 40%, #fff); border-radius: var(--rad); padding: 8px; margin-bottom: 14px; }
details.priority > summary { font-weight: 700; color: var(--g); margin-bottom: 8px; } details.priority > summary small { color: var(--mute); font-weight: 400; }
details.priority .lgrid { margin: 0; }
.item { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
.thumbs { display: flex; gap: 6px; overflow-x: auto; margin-top: 6px; } .thumbs img { width: 76px; height: 76px; object-fit: cover; border-radius: 6px; }
.item-info h1 { margin-top: 0; }
.seller { display: flex; gap: 10px; align-items: center; padding: 10px; background: #fff; }
.recs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #e3e6e9; }
.rec { display: flex; flex-direction: column; gap: 2px; background: #fff; padding: 8px; color: var(--text); text-decoration: none !important; }
.rec:hover { background: #f4f6f7; }
.rec img, .rec .noimg { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 6px; min-height: 0; }
.rtitle { font-weight: 600; font-size: .86rem; line-height: 1.3; }
.why { font-size: .74rem; color: var(--mute); }

/* ---------- Events ---------- */
.evlayout { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
.map { height: 320px; border-radius: var(--rad); border: 1px solid var(--line); background: #cfd5da; z-index: 1; }
.map.small { height: 240px; }
.map.nomap::after { content: "Карта недоступна — пользуйтесь списком"; display: grid; place-items: center; height: 100%; color: var(--mute); }
.evlist { display: flex; flex-direction: column; gap: 8px; }
.evcard { display: flex; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 8px 10px; color: var(--text); text-decoration: none !important; box-shadow: var(--sh); }
.evcard:hover { border-color: var(--g); }
.evcard.live { border-left: 5px solid var(--g); } .evcard.cancelled { opacity: .6; }
.evdate { flex: 0 0 52px; height: 56px; border-radius: 8px; background: var(--k); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.evdate b { font-size: 1.35rem; } .evdate small { font-size: .7rem; text-transform: uppercase; color: var(--m); margin-top: 3px; }
.evinfo { display: flex; flex-direction: column; min-width: 0; } .evinfo small { color: var(--mute); font-size: .8rem; }
.occ { list-style: none; padding: 0; margin: 0; }
.occ li { border: 1px solid #e3e6e9; background: #fff; border-radius: 8px; padding: 8px 10px; margin-bottom: 6px; scroll-margin-top: 120px; }
.occ li.live { border-color: var(--g); } .occ li.cancelled { background: #f7eeee; } .occ li.cancelled b { text-decoration: line-through; }
.occ li:target { box-shadow: 0 0 0 2px var(--g); }
.occhead, .occact { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.occact { margin-top: 4px; justify-content: space-between; }
.leaflet-popup-content a { color: var(--g); font-weight: 700; }

/* ---------- Profile ---------- */
.phero { display: grid; grid-template-columns: auto 1fr; gap: 14px; background: linear-gradient(135deg, #2c3135, var(--k)); color: #e9ecef; border-radius: var(--rad); padding: 14px; margin-bottom: 10px; box-shadow: var(--sh); }
.phero h1 { margin: 0 0 4px; color: #fff; } .phero .muted { color: #a9b0b6; }
.phero .btn.ghost { background: transparent; color: #fff; border-color: #50565c; }
.phero-main { min-width: 0; }
.stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 10px 0 4px; }
.stat { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 6px 8px; text-align: center; }
.stat b { display: block; font-size: 1.3rem; line-height: 1.2; } .stat small { font-size: .72rem; color: #a9b0b6; }
.phero .pos { color: #4cd17a; } .phero .neg { color: #ff7a6b; }
.tabs { display: flex; gap: 2px; overflow-x: auto; border-bottom: 2px solid var(--k); margin-bottom: 12px; scrollbar-width: none; }
.tabs a { white-space: nowrap; padding: 8px 12px; color: #33383d; font-weight: 600; font-size: .88rem; border-radius: 8px 8px 0 0; text-decoration: none; }
.tabs a small { color: var(--mute); font-weight: 400; }
.tabs a.on { background: var(--k); color: #fff; } .tabs a.on small { color: var(--m); }
.anketa { display: grid; grid-template-columns: 1fr; margin: 0; }
.anketa dt { font-size: .78rem; color: var(--mute); font-weight: 600; margin-top: 6px; }
.anketa dd { margin: 0 0 4px; padding-bottom: 6px; border-bottom: 1px solid #e6e9ec; }
.repform { display: grid; gap: 6px; margin-bottom: 10px; }
.albums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.album { background: #fff; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; color: var(--text); text-decoration: none !important; display: flex; flex-direction: column; }
.album img, .album .noimg { width: 100%; aspect-ratio: 4/3; object-fit: cover; } .album b { padding: 6px 8px 0; } .album small { padding: 0 8px 8px; color: var(--mute); }
.people { display: grid; grid-template-columns: 1fr; gap: 6px; }
.person { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; color: var(--text); text-decoration: none !important; }
.person:hover { border-color: var(--g); } .person small { display: block; }
.comments { list-style: none; padding: 0; margin: 0 0 10px; }
.comments li { border-bottom: 1px solid #e3e6e9; padding: 8px 0; }

/* ---------- Messages ---------- */
.dialogs { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.dialog { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 10px; color: var(--text); text-decoration: none !important; }
.dialog:hover { border-color: var(--m); }
.dialog.unread { border-left: 4px solid var(--g); background: color-mix(in srgb, var(--g) 5%, #fff); }
.dmain { flex: 1; min-width: 0; } .dmain b, .dmain small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dside { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.dside .cnt { font-size: .7rem; padding: 1px 7px; border-radius: 10px; }
.threadhead { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 8px 10px; margin-bottom: 8px; }
.threadhead h1 { font-size: 1.05rem; margin: 0; } .threadhead h1 a { color: var(--k); }
.threadhead .back { font-size: 1.3rem; padding: 0 6px; color: var(--k); }
.threadmenu { margin-left: auto; } .threadmenu summary { font-size: 1.4rem; padding: 0 10px; list-style: none; }
.chat { background: linear-gradient(180deg, #e9ecee, #dfe3e6); border: 1px solid var(--line); border-radius: var(--rad); padding: 10px; display: flex; flex-direction: column; gap: 6px;
  max-height: 62vh; min-height: 200px; overflow-y: auto; margin-bottom: 8px; }
.msg { max-width: 82%; padding: 7px 10px 4px; border-radius: 12px; box-shadow: 0 1px 1px rgba(0,0,0,.08); }
.msg p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; } .msg small { display: block; text-align: right; font-size: .68rem; opacity: .7; }
.msg.theirs { align-self: flex-start; background: #fff; border-bottom-left-radius: 3px; }
.msg.mine { align-self: flex-end; background: var(--g); color: #fff; border-bottom-right-radius: 3px; }
.composer { display: flex; gap: 6px; align-items: flex-end; position: sticky; bottom: calc(60px + env(safe-area-inset-bottom)); background: var(--bg); padding: 4px 0; }
.composer textarea { min-height: 44px; }
.notes { list-style: none; padding: 0; } .notes li { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 9px 12px; margin-bottom: 6px; }
.notes li.new { border-left: 4px solid var(--g); font-weight: 600; }

/* ---------- Auth / misc ---------- */
.authbox { max-width: 440px; margin: 10px auto; }
.codes { background: var(--k); color: #9df0b5; padding: 12px; border-radius: 8px; font-size: 1.05rem; letter-spacing: .08em; overflow-x: auto; }
.qr { width: 200px; max-width: 100%; background: #fff; padding: 8px; border-radius: 8px; margin: 8px 0; border: 1px solid var(--line); }
.qr svg { width: 100%; height: auto; display: block; }
.steps li { margin-bottom: 10px; }
.errorbox { text-align: center; padding: 30px 10px; }
.errcode { font-size: 4rem; font-weight: 900; margin: 0; color: var(--m); line-height: 1; }
.sgrid { display: grid; gap: 12px; grid-template-columns: 1fr; }
.deal h3 { margin-top: 0; }
.langsw { display: flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.langsw a { padding: 5px 12px; color: var(--k); font-weight: 700; background: #fff; text-decoration: none; } .langsw a.on { background: var(--k); color: #fff; }
.fitres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 8px; }
.fitres .stat { background: var(--k); color: #fff; } .fitres .stat b { color: #4cd17a; }

/* ---------- Admin ---------- */
.kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.kpi { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 10px; color: var(--text); text-decoration: none !important; }
.kpi b { display: block; font-size: 1.6rem; color: var(--k); } .kpi small { color: var(--mute); }
.kpi.warn { border-color: var(--r); } .kpi.warn b { color: var(--r); }
.admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.tile { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 12px; color: var(--text); display: flex; flex-direction: column; gap: 2px; text-decoration: none !important; box-shadow: var(--sh); }
.tile:hover { border-color: var(--g); } .tile span { font-size: 1.4rem; } .tile small { color: var(--mute); font-size: .78rem; }
.tree .node { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; margin-bottom: 4px; }
.tree .d2 { margin-left: 14px; } .tree .d3 { margin-left: 28px; } .tree .d4 { margin-left: 42px; } .tree .d5 { margin-left: 56px; }
.tree .node.archived { opacity: .55; }
.ucard.blocked { border-left: 4px solid var(--r); }
.ucard h3 { margin-top: 0; }

/* ---------- Larger screens ---------- */
@media (min-width: 560px) {
  .two { grid-template-columns: 1fr 1fr; } .three { grid-template-columns: repeat(3, 1fr); } .colors { grid-template-columns: repeat(4, 1fr); }
  .lgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .recs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .albums { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .people { grid-template-columns: 1fr 1fr; }
  .newscard { grid-template-columns: 220px 1fr; } .ncover img { height: 100%; aspect-ratio: auto; min-height: 150px; }
  .newscard:not(:has(.ncover)) { grid-template-columns: 1fr; }
  .diff { grid-template-columns: 1fr 1fr; }
  .kpis { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .admin-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .anketa { grid-template-columns: 180px 1fr; } .anketa dt { margin: 0; padding: 6px 0; border-bottom: 1px solid #e6e9ec; } .anketa dd { padding: 6px 0; margin: 0; }
  .fitres { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}
@media (min-width: 860px) {
  body { padding-bottom: 0; font-size: 15.5px; }
  .bottomnav { display: none; }
  .composer { bottom: 0; }
  h1 { font-size: 1.7rem; }
  .logo-text small { display: block; }
  .topsearch { order: 0; flex: 0 1 360px; margin-left: 18px; }
  .top { position: sticky; top: 0; }
  .filters.sticky { top: 100px; }
  .fmore > summary { display: none; }
  .fmore > .frow { margin-top: 6px; }   /* без «Фильтры» между рядами отступ даёт сам ряд */
  .frow select[name=country] { flex-basis: 170px; }
  .cols { grid-template-columns: minmax(0, 1fr) 300px; }
  .fitcols { grid-template-columns: 340px minmax(0, 1fr); }
  .lgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .recs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .item { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .evlayout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
  .evlayout .mapbox { position: sticky; top: 110px; } .map { height: 520px; } .map.small { height: 300px; }
  .evlayout.single { grid-template-columns: minmax(0, 1fr) 360px; }
  .sgrid { grid-template-columns: 1fr 1fr; }
  .sections .section { grid-template-columns: 12px 1fr 70px 70px 150px; } .snum + .snum, .slast { display: block; }
  .topics .trow { grid-template-columns: 1fr 70px 160px; } .tlast { display: block; }
  .pgrid { grid-template-columns: 190px minmax(0, 1fr); }
  .author { display: block; border-bottom: 0; border-right: 1px solid #d6dadd; text-align: center; padding: 12px 10px; }
  .author .ava { width: 110px; height: 110px; margin: 6px auto; }
  .author .staffrole { margin-bottom: 4px; }
  .facts { display: grid; grid-template-columns: auto auto; gap: 2px 8px; text-align: left; font-size: .78rem; margin-top: 6px; }
  .facts dt { display: block; color: var(--mute); } .facts dd { color: var(--k); text-align: right; overflow-wrap: anywhere; } .facts dd:nth-of-type(n+5) { display: block; }
  .post .body { padding: 12px 18px; }
  .pact { width: auto; }
  .phero { grid-template-columns: 130px 1fr; padding: 20px; } .ava.big { width: 130px; height: 130px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
@media (max-width: 859px) { .fitcols > div:last-child { order: -1; } }
.dmbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 2px 2px 8px; }

/* ---------- Suspension & geometry calculator (/fit/suspension) — mobile first: drawing on top, panels below ---------- */
.fittabs { margin-top: 4px; }
.schemetabs { margin-bottom: 10px; }
.schemetabs button { border: 0; background: none; font: inherit; white-space: nowrap; padding: 8px 12px; color: #33383d; font-weight: 600; font-size: .88rem;
  border-radius: 8px 8px 0 0; cursor: pointer; }
.schemetabs button.on { background: var(--k); color: #fff; }
.suspgrid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
.suspview, .suspctl { min-width: 0; }
.suspcanvas { display: block; width: 100%; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); }
.susp-msg { min-height: 1.5em; }
.susprange { display: grid; grid-template-columns: auto minmax(0, 1fr) 5.5em; align-items: center; gap: 8px; margin: 8px 0; font-size: .88rem; font-weight: 600; }
.susprange input[type=range] { width: 100%; accent-color: var(--g); }
.susprange output { text-align: right; font-weight: 400; color: var(--mute); }
.susptools { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.susptools label.btn { cursor: pointer; margin: 0; }
.susp-link { overflow-wrap: anywhere; }
.suspstats { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(140px, 100%), 1fr)); gap: 8px; margin: 10px 0; }
.suspstats > div { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 6px 9px; font-size: .78rem; color: var(--mute); min-width: 0; overflow-wrap: anywhere; }
.suspstats b { display: block; font-size: 1.02rem; color: var(--k); }
.suspstats .note { display: block; margin-top: 2px; }
.hints { margin: 8px 0 12px; padding-left: 1.1rem; }
.hints li { margin: 3px 0; }
.susp-metric { display: flex; align-items: center; gap: 8px; margin: 12px 0 8px; font-weight: 600; }
.susp-metric select { flex: 1; min-width: 0; }
.suspctl .panel > summary { margin-bottom: 8px; }
.prow { display: grid; grid-template-columns: minmax(0, 1fr) 76px 76px; gap: 6px; align-items: center; margin-bottom: 6px; font-size: .85rem; }
.prow.param { grid-template-columns: minmax(0, 1fr) 96px; }
.prow.head { margin-bottom: 4px; }
.prow input { width: 100%; min-width: 0; padding: 5px 6px; min-height: 34px; border: 1px solid var(--line); border-radius: 6px; font: inherit; background: #fff; }
.checkline { display: flex !important; align-items: center; gap: 8px; font-weight: 400 !important; }
.checkline input { width: auto; margin: 0; }
.cfgtext { width: 100%; min-height: 420px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; }
.checks { list-style: none; padding: 0; margin: 6px 0; }
.checks li { padding: 5px 8px; border-radius: 6px; margin: 3px 0; background: #fff; border-left: 4px solid var(--g); }
.checks li.fail { border-left-color: var(--r); background: color-mix(in srgb, var(--r) 6%, #fff); }
@media (min-width: 860px) {
  .suspgrid { grid-template-columns: 340px minmax(0, 1fr); align-items: start; }
  .suspctl { grid-column: 1; grid-row: 1; }
  .suspview { grid-column: 2; grid-row: 1; }
}

/* Complaints */
.reportbox { display: inline-block; } .reportbox > summary { color: var(--mute); font-size: .85rem; list-style: none; }
.reportbox > summary:hover { color: var(--r); } .reportbox[open] > summary { color: var(--r); margin-bottom: 4px; }
.reportbox form { display: flex; gap: 6px; flex-wrap: wrap; } .reportbox input[name=reason] { flex: 1 1 200px; min-width: 0; }
.report blockquote { margin: 6px 0; padding: 8px 10px; background: #fff; border-left: 3px solid var(--line); border-radius: 6px; }
/* Articles: a library (table of contents by topic), not a feed */
.lead { margin: 0 0 12px; }
.library { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); margin-bottom: 14px; }
.shelf { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--g); border-radius: var(--rad); padding: 12px 14px; box-shadow: var(--sh); min-width: 0; }
.shelf h2 { font-size: 1.15rem; margin: 0 0 4px; } .shelf h2 a { color: var(--k); }
.toc { margin: 6px 0 0; padding-left: 1.4em; } .toc li { padding: 3px 0; overflow-wrap: anywhere; }
.artcard .num { color: var(--mute); font-weight: 600; }
@media (min-width: 760px) { .library { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Events: region buttons + «Другие регионы» drop-down (outside the scrolling chips row, so the panel is never clipped) */
.regionbar { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 6px; position: relative; margin-bottom: 4px; }
.regionbar .chips { margin-bottom: 0; flex: 0 1 auto; min-width: 0; }
.regionmenu { padding: 2px 0 8px; }
.regionmenu > summary { list-style: none; cursor: pointer; display: inline-block; font-size: .8rem; padding: 4px 11px; font-weight: 500; user-select: none; }
.regionmenu > summary::-webkit-details-marker { display: none; }
.regionmenu > summary.on { background: var(--g); border-color: var(--g); color: #fff; }
.regionmenu[open] > summary span { display: inline-block; transform: rotate(180deg); }
.regionlist { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 10px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: 0 8px 24px rgba(0, 0, 0, .14); }
.regionlist .chip { display: block; text-align: center; font-size: .88rem; padding: 9px 8px; overflow-wrap: anywhere; }
.regionlist .chip.on { background: var(--g); border-color: var(--g); color: #fff; }
@media (min-width: 560px) { .regionlist { right: auto; width: 420px; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* «Идеальная рама»: project text, progress, donation wallets (long addresses break anywhere, never widen the page) */
.frame h1 { margin-top: 0; }
.raise { margin: 14px 0; } .raise-nums { margin: 0 0 6px; font-size: 1.15rem; }
.raise progress { width: 100%; height: 14px; accent-color: var(--g); }
.wallets { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
.wallet { border: 1px solid var(--line); border-radius: var(--rad); padding: 12px; background: #fff; min-width: 0; }
.wallet h3 { margin: 0 0 6px; font-size: 1.05rem; } .wallet .notice { margin-bottom: 8px; }
.wallet .qr { width: 180px; max-width: 100%; margin: 4px auto 8px; } .wallet .qr svg { display: block; width: 100%; height: auto; }
.addr, input.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.addr { display: block; padding: 8px 10px; background: #f4f6f7; border: 1px solid var(--line); border-radius: 8px; font-size: .9rem; line-height: 1.45;
  overflow-wrap: anywhere; word-break: break-all; user-select: all; }
.wallet-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 0; }
.mainnav .framelink { color: #ffd479; }
@media (min-width: 760px) { .wallets { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
