/* v5: shared chat-list geometry, light and dark semantic palettes. */
:root[data-theme="light"]{color-scheme:light;--list-card:#fff;--list-line:#e8ecf7;--list-title:#202840;--list-muted:#747f9d;--list-soft:#f0f3fc}
:root[data-theme="dark"]{color-scheme:dark;--ground:#101426;--ground-2:#151a30;--card:#1b2239;--card-2:#222b46;--ink:#f0f3ff;--ink-2:#c0cae3;--muted:#98a6c9;--line:#35405d;--line-2:#303b58;--accent:#ab8cff;--accent-soft:#332850;--primary:#9572ff;--primary-2:#bb92ff;--blue:#76b6ff;--blue-soft:#223d61;--violet:#bb9cff;--violet-soft:#392e5d;--green:#67dfad;--green-soft:#163e36;--red:#ff929c;--red-soft:#54283a;--amber:#ffd285;--amber-soft:#503d26;--teal:#6dddd1;--teal-soft:#193e46;--pink:#ffabd4;--pink-soft:#50304a;--list-card:#1b2239;--list-line:#303b55;--list-title:#eef2ff;--list-muted:#a6b3d1;--list-soft:#26304a}
.row.crystal-chat-row{display:grid!important;grid-template-columns:46px minmax(0,1fr) 14px!important;align-items:start!important;column-gap:13px!important;row-gap:8px!important;padding:18px 15px!important;min-height:102px;text-align:left;background:var(--list-card)!important;color:var(--list-title);border-radius:0;position:relative}
.row.crystal-chat-row+.row.crystal-chat-row{border-top:1px solid var(--list-line)!important}
.row.crystal-chat-row>.ava{grid-column:1;grid-row:1;align-self:start;width:46px!important;height:46px!important;margin:2px 0 0!important;flex-shrink:0}
.row.crystal-chat-row>.body{grid-column:2;grid-row:1;min-width:0!important;width:auto!important;display:flex;flex-direction:column;gap:7px}
.row.crystal-chat-row>.body>.t{font-size:15px!important;font-weight:600;line-height:1.32!important;color:var(--list-title)!important;white-space:normal!important;overflow-wrap:anywhere;display:block!important;-webkit-line-clamp:unset;max-height:none}
.row.crystal-chat-row>.body>.s{font-size:12px!important;line-height:1.4!important;display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:var(--list-muted)!important;margin:0;min-width:0}
.row.crystal-chat-row .cnt,.row.crystal-chat-row .list-chat-count{font-size:13px!important;font-weight:600;color:var(--blue)}
.crystal-chat-tags,.crystal-chat-status{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;min-width:0}
.crystal-chat-tags .pill,.crystal-chat-status .pill,.crystal-chat-status .slotpill{font-size:11px!important;font-weight:600;line-height:1.4;white-space:normal;max-width:100%;border-radius:7px;padding:3px 7px!important;box-shadow:none}
.crystal-chat-status .hint{font-size:11px!important;color:var(--list-muted)}
.row.crystal-chat-row>.chev{grid-column:3;grid-row:1;align-self:center;margin:0!important;color:var(--muted)}
.row.crystal-chat-row .actbtn{align-self:flex-start;max-width:100%;width:auto;white-space:normal;min-height:34px;font-size:11px;padding:6px 9px;border-radius:9px;box-shadow:none!important}
.row.crystal-chat-row .list-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0;font-size:11px}
.row.crystal-chat-row>.list-row-actions{grid-column:2/4;grid-row:2;display:flex;flex-wrap:wrap;gap:8px}
.row.crystal-chat-row>.pill,.row.crystal-chat-row>.val,.row.crystal-chat-row>.hint,.row.crystal-chat-row>.slotpill{grid-column:2;grid-row:2;justify-self:start}
.card:has(>.crystal-chat-row){overflow:hidden;border-radius:20px;border:1px solid var(--list-line);box-shadow:0 5px 18px #20304b08}
.crystal-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 18px;color:var(--list-muted)}.crystal-empty img{object-fit:contain}
:root[data-theme="dark"] body,:root[data-theme="dark"] .phone{background:radial-gradient(ellipse at 80% 0,#2c2347,transparent 50%),#101426!important;color:var(--ink)}
:root[data-theme="dark"] .head .round,:root[data-theme="dark"] .brandsw button,:root[data-theme="dark"] .q{background:#252e49!important;border-color:#3a4664!important;color:#e2e8ff;box-shadow:none}
:root[data-theme="dark"] .v3-home .ownercard.v7{background:linear-gradient(125deg,#222941,#302747)!important;border-color:#414060!important}
:root[data-theme="dark"] .ownercard.v7 .nm,:root[data-theme="dark"] .factrow .f .n{color:#f4f5ff!important}
:root[data-theme="dark"] .ownercard.v7 .hello,:root[data-theme="dark"] .ownercard.v7 .who{color:#a6b1d4!important}
:root[data-theme="dark"] .factrow .f,:root[data-theme="dark"] .factrow .f:nth-child(2),:root[data-theme="dark"] .factrow .f:nth-child(3){background:linear-gradient(135deg,#242d47,#24223e)!important;border-color:#3a425e!important;box-shadow:none!important}
:root[data-theme="dark"] .factrow .f .k,:root[data-theme="dark"] .factrow .f .pct{color:#c1cbea!important}
:root[data-theme="dark"] .v3-home .quick button[data-tone]{background:linear-gradient(130deg,#242e4a,#2c2645)!important;border-color:#42445f!important;color:#f1f3ff!important;box-shadow:none!important}
:root[data-theme="dark"] .quick .s,:root[data-theme="dark"] .row .s,:root[data-theme="dark"] .hint,:root[data-theme="dark"] .modtile .s{color:#a6b4d4!important}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .block,:root[data-theme="dark"] .modtile,:root[data-theme="dark"] .pcard,:root[data-theme="dark"] .hcard,:root[data-theme="dark"] .sheet{background:var(--card)!important;border-color:var(--line)!important;color:var(--ink)}
:root[data-theme="dark"] .tabbar,:root[data-theme="dark"] .tabbar.liquid-on{background:linear-gradient(130deg,#283351bb,#32274ab0,#283852ba)!important;border-color:#a7b7de70!important;box-shadow:0 12px 30px #0007,inset 0 1px 1px #ffffff50,0 0 0 2px #b4c1ff13!important}
:root[data-theme="dark"] .tabbar button{color:#c0cae9!important}:root[data-theme="dark"] .tabbar button[aria-current="true"]{color:#fff!important}
:root[data-theme="dark"] .mode,:root[data-theme="dark"] .rig,:root[data-theme="dark"] .btn:not(.primary),:root[data-theme="dark"] input,:root[data-theme="dark"] textarea,:root[data-theme="dark"] select{background:var(--card-2)!important;color:var(--ink)!important;border-color:var(--line)!important}
:root[data-theme="dark"] .pill.calm,:root[data-theme="dark"] .slotpill,:root[data-theme="dark"] .chip{background:var(--list-soft);color:var(--ink-2);border-color:var(--line)}
@media(max-width:370px){.row.crystal-chat-row{padding:15px 11px!important;grid-template-columns:42px minmax(0,1fr) 12px!important;gap:10px!important}.row.crystal-chat-row>.ava{width:42px!important;height:42px!important}.row.crystal-chat-row>.body>.t{font-size:14px!important}}
.row.crystal-chat-row>.tile{grid-column:1;grid-row:1;width:46px!important;height:46px!important;margin:2px 0 0!important;align-self:start}
/* Crystal v6: shared tactile buttons and restored account control. */
#head #brandSw{display:none!important}
#head #profBtn{display:grid!important;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;padding:3px;background:linear-gradient(145deg,#fafbff,#d8d8ff)!important;border:1px solid #fff!important;box-shadow:0 4px 10px #6655cc26,inset 0 1px 2px #fff!important}
#profBtn svg{width:34px;height:34px}
#head{gap:9px!important}
#scrTitle{min-width:0;flex:1}
#brandLogo{flex:1;min-width:0}
:root .btn,:root .actbtn,:root #saveBtn,:root #undoBtn,:root .sheet-foot button{border-radius:15px!important;min-height:42px;background:linear-gradient(160deg,#ffffff,#ebeaff)!important;border:1px solid #d8d5f6!important;color:#383159!important;box-shadow:inset 0 1px 2px #fff,0 3px 0 #d8d4ef,0 5px 12px #6c55ba12!important;font-weight:700;transition:transform .15s,box-shadow .15s}
:root .btn.primary,:root .actbtn,:root #saveBtn{background:linear-gradient(155deg,#a88aff 0%,#784cf6 48%,#5931df 100%)!important;color:#fff!important;border:1px solid #b8a1ff!important;box-shadow:inset 0 1px 2px #ffffff94,0 3px 0 #4827b8,0 7px 15px #7044e938!important;text-shadow:0 1px 1px #3b189940}
:root .btn.danger{background:linear-gradient(145deg,#fff0f4,#ffd7e1)!important;color:#a92348!important;border-color:#eeb0c1!important}
:root button:focus-visible{outline:3px solid #33b9ff!important;outline-offset:3px}
:root .btn:active,:root .actbtn:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #50309025!important}
:root button:disabled{opacity:.45;cursor:not-allowed}
:root[data-theme="dark"] #head #profBtn{background:linear-gradient(150deg,#4c426f,#222b49)!important;border-color:#77729e!important}
:root[data-theme="dark"] .btn:not(.primary),:root[data-theme="dark"] #undoBtn,:root[data-theme="dark"] .sheet-foot button:not(.primary){background:linear-gradient(155deg,#394364,#262d48)!important;color:#e9edff!important;border-color:#56617e!important;box-shadow:inset 0 1px 1px #ffffff24,0 3px 0 #171c31,0 5px 12px #0002!important}
:root[data-theme="dark"] .btn.danger{color:#ffb6c9!important;background:linear-gradient(145deg,#603044,#412438)!important;border-color:#985069!important}
.wizard-steps{gap:3px!important;overflow:visible!important;padding:6px 0 10px!important}
:root .wizard-number{position:relative;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;min-width:0!important;height:auto!important;aspect-ratio:1;isolation:isolate}
.wizard-number .crystal-digit{width:100%;height:100%;display:block;overflow:hidden;filter:saturate(.55);opacity:.72}
.wizard-number.current .crystal-digit{filter:none;opacity:1;transform:translateY(-2px) scale(1.12)}
.wizard-number.current:after{content:"";position:absolute;bottom:-5px;width:15px;height:3px;border-radius:4px;background:#7846ff;left:calc(50% - 7.5px)}
:root[data-theme="dark"] .wizard-number.current:after{background:#c1a3ff}
#wizbar .inner{border-radius:22px!important;background:rgba(248,247,255,.85)!important;backdrop-filter:blur(20px);padding:10px!important;border:1px solid #ffffffcc!important}
:root[data-theme="dark"] #wizbar .inner{background:rgba(31,37,60,.9)!important;border-color:#66708b!important}
:root .toolbar .tool,:root button.chip,:root .seg button{background:linear-gradient(150deg,#fff,#e9e7ff)!important;border:1px solid #d8d3f3!important;border-radius:12px!important;box-shadow:inset 0 1px 1px #fff,0 2px 0 #d9d4ef!important;color:#433864!important}
:root .toolbar .tool.on,:root button.chip.on,:root .seg button.on{background:linear-gradient(145deg,#a387ff,#643cea)!important;color:#fff!important;border-color:#b6a0ff!important}
:root[data-theme="dark"] .toolbar .tool,:root[data-theme="dark"] button.chip,:root[data-theme="dark"] .seg button{background:linear-gradient(150deg,#394363,#252b46)!important;border-color:#515a79!important;color:#e6eaff!important;box-shadow:inset 0 1px 1px #ffffff20,0 2px 0 #161b30!important}
:root[data-theme="dark"] .toolbar .tool.on,:root[data-theme="dark"] button.chip.on,:root[data-theme="dark"] .seg button.on{background:linear-gradient(145deg,#8663e8,#5530be)!important;color:#fff!important}
/* v7: deterministic step geometry and separate action/navigation rails. */
:root .wizard-steps{gap:6px!important;padding:5px 0 8px!important;align-items:center}
:root .wizard-number{height:38px!important;min-height:38px!important;aspect-ratio:auto;border-radius:11px!important;border:1px solid #c9c8ed!important;background:linear-gradient(155deg,#fff 0%,#eff0ff 54%,#dedff9 100%)!important;box-shadow:inset 0 1px 1px #fff,0 2px 2px #53498c20!important;transform:none!important;color:#575779}
:root .wizard-number .crystal-digit{display:none!important}
:root .wizard-number:before{content:attr(data-crystal-digit);display:grid;place-items:center;position:absolute;inset:0;font:700 17px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:inherit}
:root .wizard-number.current{background:linear-gradient(155deg,#ad8bff,#784bf1 55%,#5935cb)!important;border-color:#a184f0!important;color:#fff!important;box-shadow:inset 0 1px 1px #ffffffa0,0 2px 3px #6240ad40!important}
:root .wizard-number.current:after{display:none!important}
:root[data-theme="dark"] .wizard-number{background:linear-gradient(155deg,#394260,#252d46)!important;border-color:#525e7d!important;color:#d8dff3}
:root[data-theme="dark"] .wizard-number.current{background:linear-gradient(155deg,#a07df0,#7244d7 65%,#5632ae)!important;border-color:#b49ae8!important;color:#fff}
:root .tabbar,:root .tabbar.liquid-on,:root .tabbar.liquid-on.scrolling{bottom:calc(17px + env(safe-area-inset-bottom,0px))!important}
:root #wizbar{bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;max-width:550px;padding:0 12px!important}
:root #wizbar .inner{padding:8px!important;border-radius:20px!important;box-shadow:0 4px 14px #30265e12!important}
:root #wizbar .btn{height:44px!important;min-height:44px!important;border-radius:13px!important;box-shadow:inset 0 1px 1px #ffffff70,0 2px 2px #57368925!important}
.phone:has(#wizbar.on) #scroll{padding-bottom:230px!important}
@media(max-width:370px){:root .wizard-steps{gap:4px!important}:root .wizard-number{height:36px!important;min-height:36px!important}}
:root #fab{bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;right:max(20px,calc(50% - 255px))!important;display:grid;place-items:center;padding:0!important;width:54px!important;min-width:54px!important;height:54px!important;border-radius:18px!important}
:root #fab svg{display:block;flex-shrink:0;width:36px!important;height:36px!important}
.phone:has(#wizbar.on) #fab{display:none!important}
/* v8: shared ImageGen glass material; typeset labels retain exact alignment. */
:root .wizard-number,:root[data-theme="dark"] .wizard-number{background:transparent!important;border:0!important;border-radius:10px!important;box-shadow:none!important;color:#fff!important;filter:saturate(.5);opacity:.76}
:root .wizard-number:before{background:url('../img/crystal-button-v8.webp?v=c13b') center/100% 100% no-repeat;font-size:18px;font-weight:700;text-shadow:0 1px 0 #fff8,0 2px 2px #170e6199}
:root .wizard-number.current,:root[data-theme="dark"] .wizard-number.current{background:transparent!important;border:0!important;box-shadow:0 0 0 2px #9c81f0!important;filter:none;opacity:1}
:root .btn.primary,:root #wizbar .btn.primary,:root .actbtn,:root #saveBtn,:root .toolbar .tool.on,:root button.chip.on,:root .seg button.on{background:transparent!important;border:0!important;border-image:url('../img/crystal-button-v8.webp?v=c13b') 25% fill / 16px / 0 stretch!important;box-shadow:none!important;color:#fff!important;text-shadow:0 1px 2px #241268}
:root .btn:not(.primary),:root #wizbar .btn:not(.primary),:root #undoBtn{background:linear-gradient(180deg,#fff 0%,#f3f0ff 45%,#e4dff8 50%,#f5f1ff 100%)!important;border:1px solid #cac1e9!important;box-shadow:inset 0 1px 1px #fff,inset 0 -2px 2px #b0a1d94d,0 2px 4px #51417d18!important}
:root[data-theme="dark"] .btn:not(.primary),:root[data-theme="dark"] #wizbar .btn:not(.primary),:root[data-theme="dark"] #undoBtn{background:linear-gradient(180deg,#47516f,#343c59 45%,#293149 50%,#38415e)!important;border-color:#7580a0!important;box-shadow:inset 0 1px 1px #ffffff40,inset 0 -2px 2px #151a34,0 2px 4px #0002!important}
:root .btn.danger{color:#b12a4e!important;border-color:#dc9cb2!important}
:root[data-theme="dark"] .btn.danger{color:#ffabc4!important;border-color:#a86b80!important}
/* v9: original approved blue digit artwork, individually aligned crops. */
:root .wizard-number,:root[data-theme="dark"] .wizard-number{opacity:1;filter:none;box-shadow:none!important;border:0!important;background:transparent!important}
:root .wizard-number:before{display:none!important}
:root .wizard-number .crystal-digit{display:block!important;width:100%;height:100%;opacity:1;filter:none;transform:none!important}
:root .wizard-number.current,:root[data-theme="dark"] .wizard-number.current{box-shadow:none!important}
:root .wizard-number.current:after{display:block!important;content:"";position:absolute;bottom:-5px;left:calc(50% - 7px);width:14px;height:3px;background:#8154ff;border-radius:3px}
:root .wizard-steps{padding-bottom:12px!important}
:root .btn.primary,:root #wizbar .btn.primary,:root .actbtn,:root #saveBtn,:root .toolbar .tool.on,:root button.chip.on,:root .seg button.on{border-image:none!important;border:0!important;background-image:url('../img/crystal-wide-button-v9.webp?v=c13b')!important;background-size:103% 242%!important;background-position:center 50%!important;background-repeat:no-repeat!important;background-color:transparent!important;box-shadow:none!important;border-radius:16px!important;overflow:hidden;color:#fff!important;text-shadow:0 1px 2px #153688}
:root #wizbar .btn{height:48px!important;min-height:48px!important}
/* v10: paid participants share the dashboard card and action system. */
:root .crystal-paid{padding:18px!important;border-radius:24px!important;background:linear-gradient(135deg,#fff,#f2f0ff)!important;border:1px solid #fff!important;box-shadow:0 7px 24px #6254b51a!important}
.crystal-paid .head{padding:0!important;margin-bottom:16px;gap:12px!important}
.crystal-paid .head .nm{font-size:21px;line-height:1.2;overflow-wrap:anywhere}
.crystal-paid .head .sub{font-size:12px;margin-top:5px}
.crystal-paid-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.crystal-paid-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;min-width:0}
:root .mc-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:12px 0!important}
:root .mc-actions .mc-btn{display:flex!important;align-items:center;justify-content:center;gap:9px;min-height:46px!important;width:100%;padding:8px 12px!important;font-size:13px!important;line-height:1.25;white-space:normal!important}
.mc-ico{display:flex;align-items:center;justify-content:center;flex:0 0 25px}
.crystal-paid .tags{margin:16px 0 12px;gap:6px;flex-wrap:wrap}
.crystal-paid>.hint{padding:12px;background:#eae6fb80;border-radius:13px;font-style:normal!important;line-height:1.5}
.crystal-paid .wallet{gap:9px!important;margin-top:16px}
.crystal-paid .wallet .w{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;aspect-ratio:1;border-radius:17px!important;background:linear-gradient(150deg,#fff,#e8efff)!important;border:1px solid #dce5ff!important;padding:8px!important}
.crystal-paid .wallet .w:nth-child(2){background:linear-gradient(150deg,#fff,#eee3fb)!important}
.crystal-paid .wallet .w:nth-child(3){background:linear-gradient(150deg,#fff,#e5e1ff)!important}
.crystal-paid .wallet .n{font-size:22px!important;line-height:1.1}
.crystal-paid .wallet .k{font-size:10px!important}
:root[data-theme="dark"] .crystal-paid{background:linear-gradient(135deg,#202a43,#27213d)!important;border-color:#444566!important}
:root[data-theme="dark"] .crystal-paid>.hint{background:#35304c}
:root[data-theme="dark"] .crystal-paid .wallet .w{background:linear-gradient(150deg,#303957,#28233e)!important;border-color:#484a6b!important}
:root #savebar{bottom:calc(112px + env(safe-area-inset-bottom,0px))!important}
:root #savebar .inner{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:0 5px 20px #33275420}
.phone:has(#savebar.on) #scroll{padding-bottom:240px!important}
/* v11: actual chip state is aria-pressed, not class .on. */
:root button.chip[aria-pressed="true"],:root[data-theme="dark"] button.chip[aria-pressed="true"],:root .seg button[aria-pressed="true"],:root[data-theme="dark"] .seg button[aria-pressed="true"]{background:linear-gradient(155deg,#9875ff,#7444ef 55%,#5130be)!important;color:#fff!important;border:1px solid #ad91ff!important;box-shadow:inset 0 1px 1px #ffffff80,0 2px 5px #623bcc44!important;text-shadow:0 1px 1px #382266}
:root button.chip[aria-pressed="true"]::after{content:"✓";display:inline-block;margin-left:6px;font-weight:700}
/* v12/v14: выбор чата при публикации. Компактная геометрия v12 давала заголовок
   13px, подпись 10px и значок площадки 12px — на телефоне не читалось. Теперь
   ряд 66px: аватар 46px, значок MAX/TG 22px, заголовок 16px, подпись 13px. */
:root :is(.row.chat-choice,.v2-chat-select .row){grid-template-columns:46px minmax(0,1fr) 28px!important;align-items:center!important;column-gap:12px!important;row-gap:0!important;padding:8px 12px!important;min-height:62px!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.ava{width:46px!important;height:46px!important;align-self:center;margin:0!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.body{gap:3px!important;justify-content:center}
:root :is(.row.chat-choice,.v2-chat-select .row)>.body>.t{font-size:16px!important;line-height:20px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.body>.s{display:block!important;font-size:13px!important;line-height:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
:root :is(.row.chat-choice,.v2-chat-select .row) .list-chat-count{font-size:14px!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.chat-choice-mark{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:center!important;width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;margin:0!important}
:root :is(.row.chat-choice,.v2-chat-select .row) .platform-badge{width:22px!important;height:22px!important}
:root :is(.row.chat-choice,.v2-chat-select .row){display:grid!important;grid-template-columns:46px minmax(0,1fr) 28px!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.ava .img{width:46px!important;height:46px!important;border-radius:14px!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.ava .plat{width:22px!important;height:22px!important;border-radius:7px!important;right:-4px!important;bottom:-4px!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.body{grid-column:2!important;grid-row:1!important;min-width:0!important;display:flex!important;flex-direction:column!important}
:root .v2-chat-select .row[aria-disabled="true"]>.pill{grid-column:3!important;grid-row:1!important;align-self:center;font-size:0!important;width:28px;height:28px;padding:0!important;background:none!important}
:root .v2-chat-select .row[aria-disabled="true"]>.pill:after{content:"—";font-size:20px;color:var(--muted)}
/* v13: fixed geometry for both selected/unselected publishing rows. */
:root .v2-chat-select .row{box-sizing:border-box!important;height:66px!important;min-height:66px!important;padding:9px 14px!important;border-left:0!important;border-right:0!important;box-shadow:none!important;grid-template-columns:46px minmax(0,1fr) 28px!important;column-gap:12px!important;transform:none!important}
:root .v2-chat-select .row::before{display:none!important}
:root .v2-chat-select .row.chat-choice-selected{background:#eee9ff!important;box-shadow:none!important}
:root[data-theme="dark"] .v2-chat-select .row.chat-choice-selected{background:#352c56!important}
:root .v2-chat-select .row .body>.t{font-weight:600!important;font-size:16px!important;line-height:20px!important}
:root .v2-chat-select .row .body>.s{font-size:13px!important;line-height:17px!important}
:root .v2-chat-select .row>.chat-choice-mark{display:grid!important;place-items:center!important;box-sizing:border-box!important;border-radius:8px!important;border:2px solid #d5d8ea!important;background:transparent!important;box-shadow:none!important;position:relative;transform:none!important;font-size:0!important}
:root .v2-chat-select .row.chat-choice-selected>.chat-choice-mark{background:#8154ee!important;border-color:#8154ee!important}
:root .v2-chat-select .row>.chat-choice-mark::after{content:""!important;display:none;width:7px;height:12px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);position:absolute;left:8px;top:4px}
:root .v2-chat-select .row.chat-choice-selected>.chat-choice-mark::after{display:block!important}
:root .v2-chat-select .row[aria-disabled="true"]{opacity:.6!important}

/* Список чатов сетки: строки были по 120 пикселей, потому что кнопка «убрать»
   уезжала на вторую строку. Ставим её в строку и ужимаем отступы. */
.netchats .row.crystal-chat-row{grid-template-columns:40px minmax(0,1fr) 28px 14px!important;
  padding:10px 12px!important;min-height:0!important;row-gap:4px!important;column-gap:13px!important}
.netchats .row.crystal-chat-row>.ava{width:40px!important;height:40px!important;margin:0!important}
.netchats .row.crystal-chat-row>.body{gap:3px!important}
.netchats .row.crystal-chat-row>.netx{grid-column:3;grid-row:1;align-self:center;margin:0!important}
.netchats .row.crystal-chat-row>.chev{grid-column:4!important}

/* Кнопки шапки и значковые кнопки: значок кристального набора сам нарисован
   кнопкой, вторая подложка под ним лишняя. Ночная тема задаёт фон кнопкам
   шапки более частным правилом, поэтому перебиваем его здесь. */
:root[data-theme="dark"] .head .round.crystal-host,
:root[data-theme="light"] .head .round.crystal-host,
:root .head .round.crystal-host,
:root .head .round.profbtn.crystal-host,
:root .iconbtn.crystal-host,
:root[data-theme="dark"] .iconbtn.crystal-host{
  background:none!important;background-color:transparent!important;border-color:transparent!important;
  box-shadow:none!important;padding:0!important}
/* «Написать в ЛС» и соседние значковые кнопки были мелкими */
:root .iconbtn.crystal-host{width:34px!important;height:34px!important;flex:0 0 34px!important}
:root .head .round.crystal-host>svg.crystal-icon,
:root .iconbtn.crystal-host>svg.crystal-icon{width:100%!important;height:100%!important}

/* Кнопка профиля красится правилом с двумя идентификаторами, поэтому классами
   его не перебить — снимаем подложку таким же по весу селектором. */
:root[data-theme="dark"] #head #profBtn.crystal-host,
:root[data-theme="light"] #head #profBtn.crystal-host,
#head #profBtn.crystal-host,
#head #themeBtn.crystal-host,
#head #supportBtn.crystal-host,
#head #backBtn.crystal-host{
  background:none!important;background-color:transparent!important;border-color:transparent!important;
  box-shadow:none!important;padding:0!important}
#head #profBtn.crystal-host>svg.crystal-icon,
#head #supportBtn.crystal-host>svg.crystal-icon,
#head #themeBtn.crystal-host>svg.crystal-icon{width:100%!important;height:100%!important}

/* Кнопки шапки были 35x41, а рисунок значка растягивается по форме кнопки —
   солнце выходило узким и вытянутым. Делаем их квадратными. */
#head #themeBtn.crystal-host,
#head #profBtn.crystal-host,
#head #supportBtn,
#head #backBtn{width:38px!important;height:38px!important;flex:0 0 38px!important}
@media(max-width:390px){
  #head #themeBtn.crystal-host,
  #head #profBtn.crystal-host,
  #head #supportBtn,
  #head #backBtn{width:36px!important;height:36px!important;flex:0 0 36px!important}
}

/* ── кнопка «занято» ─────────────────────────────────────────────────────
   Базовое правило прячет подпись прозрачным цветом, но цвет кнопок выше задан
   с !important, поэтому подпись оставалась, и кольцо крутилось прямо поверх
   слова «Обновить». Здесь содержимое прячется надёжно, кольцо встаёт по центру
   и берёт цвет темы. Кнопке со значком кольцо не нужно: крутится сам значок,
   подпись остаётся на месте и ширина кнопки не меняется. */
:root .btn.busy{pointer-events:none}
:root:root:root .btn.busy.busy:not(:has(> svg:first-child)){color:transparent!important;text-shadow:none!important}
:root .btn.busy:not(:has(> svg:first-child)) > *{visibility:hidden}
:root .btn.busy::after{content:"";position:absolute;inset:0;margin:auto;box-sizing:border-box;width:18px;height:18px;border-radius:50%;border:2.5px solid #5a4d8f;border-top-color:transparent;animation:spin .7s linear infinite}
:root[data-theme="dark"] .btn.busy::after{border-color:#e9edff;border-top-color:transparent}
:root .btn.danger.busy::after{border-color:#b12a4e;border-top-color:transparent}
:root[data-theme="dark"] .btn.danger.busy::after{border-color:#ffabc4;border-top-color:transparent}
:root .btn.primary.busy::after,:root .btn.danger.solid.busy::after{border-color:#fff;border-top-color:transparent}
:root .btn.busy:has(> svg:first-child)::after{content:none}
:root .btn.busy:has(> svg:first-child) > svg:first-child{animation:spin .8s linear infinite;transform-origin:50% 50%}
:root .btn.busy:has(> svg:first-child) > span{opacity:.6;transition:opacity .15s}

/* ── модераторы бота: строка + две кнопки под ней ── */
.mod-acts{display:flex;gap:8px;padding:0 14px 14px 62px}
.mod-acts .btn{flex:0 1 auto;min-width:0}
.mod-acts .btn:first-child{flex:1 1 auto}
.mod-acts .mod-sum{font-weight:600;font-size:12px;opacity:.6}
.iconbtn.mod-write{flex:0 0 auto;align-self:center}
.hint.net-applied{display:flex;align-items:center;gap:6px;color:var(--green,#1f9d63);font-weight:600;margin-top:8px}

/* ── строки чатов со слотом (профиль, «Слоты на чаты»): в одну строку ──────
   Общая строка чата рассчитана на список чатов с кнопками под названием и
   держит 102px с пилюлей во втором ряду. Здесь под названием ничего нет —
   пилюля уходит вправо, строка сжимается до аватара. */
.slotrows .row.crystal-chat-row{grid-template-columns:40px minmax(0,1fr) auto 14px!important;align-items:center!important;padding:9px 14px!important;min-height:0!important;row-gap:0!important;column-gap:11px!important}
.slotrows .row.crystal-chat-row>.ava{width:40px!important;height:40px!important;margin:0!important;align-self:center}
.slotrows .row.crystal-chat-row>.body{gap:2px!important}
.slotrows .row.crystal-chat-row>.body>.t{font-size:14.5px!important;line-height:1.25!important}
.slotrows .row.crystal-chat-row>.pill,.slotrows .row.crystal-chat-row>.slotpill{grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:center;white-space:nowrap}
.slotrows .row.crystal-chat-row>.chev{grid-column:4!important}

/* ── «написать» в ленте событий: значок без подложки, нормального размера ── */
:root .activity-write{width:34px!important;height:34px!important;padding:0!important;background:none!important;box-shadow:none!important;border-radius:10px}
:root .activity-write>svg{width:100%!important;height:100%!important}

/* ── плюс: сам рисунок уже объёмная кнопка, вторая подложка под ним лишняя ── */
:root #fab{width:62px!important;min-width:62px!important;max-width:62px!important;height:62px!important;background:none!important;border:0!important;border-image:none!important;box-shadow:none!important;filter:drop-shadow(0 6px 10px #3a2a8a40)}
:root #fab svg{width:100%!important;height:100%!important}

/* ── кнопки шапки крупнее ── */
#head #themeBtn.crystal-host,#head #profBtn.crystal-host,#head #supportBtn,#head #backBtn{width:44px!important;height:44px!important;flex:0 0 44px!important}
@media(max-width:390px){#head #themeBtn.crystal-host,#head #profBtn.crystal-host,#head #supportBtn,#head #backBtn{width:42px!important;height:42px!important;flex:0 0 42px!important}}
.slotrows .row.crystal-chat-row>.ava>.img{width:40px!important;height:40px!important}

/* ── без входных анимаций: экран появляется сразу, ничего не проявляется и не подпрыгивает ── */
.view.in,.view.in.back,.view.in>*,.head h1.swap,.sheet.on .sheet-body>*,
.tabbar button[aria-current="true"] svg,.flow .pair i,.stepper .val.bump{animation:none!important}

/* ── одна гарнитура для всего, включая поля и кнопки (у них свой системный шрифт по умолчанию) ── */
body,button,input,textarea,select{font-family:var(--sans)!important}
.ownercard.v7 .nm,.head h1,.q{font-family:var(--sans)!important}

/* ── контакты значками в строке списка ── */
:root .mc-actions.mc-compact{display:flex!important;flex-direction:row!important;gap:6px;margin:0!important;padding:0!important;flex:0 0 auto;width:auto!important;align-self:center}
:root .mc-iconbtn{width:36px;height:36px;flex:0 0 36px;padding:0;display:grid;place-items:center}
:root .mc-iconbtn.is-loading{opacity:.5;pointer-events:none}
:root .mc-iconbtn.mc-remove{margin-left:2px}

/* ── карточка платного пользователя (55-paid-bans.js, .pf2) ── */
.pf2{display:flex;flex-direction:column;gap:12px}
.pf2 .head{display:flex!important;align-items:center;gap:12px;margin:0!important}
.pf2-name{min-width:0;flex:1}
.pf2-name .nm{font-size:18px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.pf2-name .sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.pf2-acts{display:flex;gap:8px}
.pf2-acts .btn{flex:1 1 0;min-width:0;padding:0 6px!important;font-size:13px;gap:6px;white-space:nowrap}
.pf2-note{margin:0;padding:9px 12px;border-radius:12px;background:var(--card-2);font-size:13px;line-height:1.35;color:var(--list-muted,var(--muted));white-space:pre-wrap}
.pf2 .wallet.pf2-stats{margin:0!important}
.pf2 .wallet.pf2-stats .w{padding:10px 6px!important;min-height:0!important}
.pf2 .wallet.pf2-stats .n{font-size:20px!important;font-weight:700}
.group>.seg{margin-top:10px}
.pf2 .head>.ava{margin:0!important;width:56px!important;height:56px!important;flex:0 0 56px}
.pf2 .head>.ava>.img{width:56px!important;height:56px!important;font-size:22px}

/* Кристальный значок в кнопке — 22px вместо 14–15: мелким он превращается в цветную точку.
   Штриховые значки (обновить, стрелки) — 20px. */
:root .btn>svg.crystal-icon{width:22px!important;height:22px!important;flex:0 0 22px}
:root .btn>svg:not(.crystal-icon){width:20px!important;height:20px!important;flex:0 0 20px}
/* действия в карточке платного: значок сверху, подпись под ним */
.pf2-acts .btn{flex-direction:column!important;height:auto!important;min-height:0!important;padding:10px 4px 9px!important;gap:6px!important;font-size:12.5px!important;line-height:1.1}
.pf2-acts .btn>svg.crystal-icon{width:32px!important;height:32px!important;flex:0 0 32px}
.pf2-acts .btn>svg:not(.crystal-icon){width:28px!important;height:28px!important;flex:0 0 28px}
/* действия в карточке платного — без рамки и подложки: значок сам объёмный, вторая «кнопка» вокруг него лишняя */
:root:root:root .pf2-acts .btn.btn{background:none!important;border:0!important;border-image:none!important;box-shadow:none!important;border-radius:12px!important}
:root:root:root .pf2-acts .btn.btn:active{background:var(--card-2)!important;transform:none}
.pf2-acts .btn>svg.crystal-icon{width:44px!important;height:44px!important;flex:0 0 44px}
.pf2-acts .btn>svg:not(.crystal-icon){width:38px!important;height:38px!important;flex:0 0 38px}
.pf2-acts .btn{font-size:13px!important;gap:7px!important}
.pf2 .head .mc-iconbtn{width:44px!important;height:44px!important;flex:0 0 44px!important}

/* ── нижняя панель крупнее: значки 44px, подписи 13.5px, высота 90px.
   Пять вкладок на ширине 351px — по 68px на вкладку, самая длинная подпись («Главная») входит. ── */
:root:root .tabbar,:root:root .tabbar.liquid-on,:root:root .tabbar.liquid-on.scrolling{height:90px!important;padding:6px!important;border-radius:30px!important}
:root:root .tabbar::after{border-radius:26px!important}
:root:root .tabbar .thumb{border-radius:25px!important}
:root:root .tabbar button{font-size:13.5px!important;font-weight:600!important;gap:4px!important;letter-spacing:-.01em;min-width:0;padding:0 2px!important}
:root:root .tabbar button svg.crystal-icon{width:44px!important;height:44px!important}
@media(max-width:390px){:root:root .tabbar button svg.crystal-icon{width:42px!important;height:42px!important}:root:root .tabbar button{font-size:13px!important}}
@media(max-width:350px){:root:root .tabbar button svg.crystal-icon{width:38px!important;height:38px!important}:root:root .tabbar button{font-size:12px!important}}
/* панель стала выше на 17px — плюс и запас прокрутки поднимаем на столько же */
:root #fab{bottom:calc(129px + env(safe-area-inset-bottom,0px))!important}
#scroll{padding-bottom:258px!important}
:root:root .tabbar button>span:not(.badge){font-size:13.5px!important;font-weight:600!important;line-height:1.15!important;white-space:nowrap}
@media(max-width:390px){:root:root .tabbar button>span:not(.badge){font-size:13px!important}}
@media(max-width:350px){:root:root .tabbar button>span:not(.badge){font-size:12px!important}}
/* подсветка активной вкладки: с запасом от краёв панели и без внешней тени — тень выходила за
   стеклянную рамку, и подсветка выглядела вылезшей из панели; переезд без анимации (см. slideThumb) */
:root:root .tabbar .thumb,:root:root .tabbar.liquid-on .thumb{top:10px!important;bottom:10px!important;border-radius:22px!important;box-shadow:inset 0 1px 2px #ffffffb0!important;transition:none!important;margin:0 3px;width:calc((100% - 12px - 8px) / 5 - 6px)!important}

/* Строка выбора чата с переключателем: последняя колонка размечена под галочку (28 px),
   переключатель 52 px в неё не влезал и обрезался справа — во всех списках выбора чатов. */
:root :is(.row.chat-choice,.v2-chat-select .row):has(>.switch){grid-template-columns:46px minmax(0,1fr) auto!important}
:root :is(.row.chat-choice,.v2-chat-select .row)>.switch{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important}
.pick-all-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 8px}
.pick-all-cnt{min-width:0;font-size:13px;font-weight:500;color:var(--muted)}
.pick-all-btn{flex:none}
