/* Уведомления: отключить на срок (assets/js/chat/mute-durations.336268a.js).
   Цвета — только опоры из :root, иконки — свои SVG. Строки списков не
   выделяются текстом: долгое нажатие не должно открывать системное меню. */

#hallsList .hall,#v-dm .dmitem[data-dm-channel]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}

/* Кнопка «Отключить все уведомления» в шапке списка чертогов. Держится
   поверх шапки, а не в потоке: пока модуль ждёт ответа базы, высота шапки
   и строки под ней не меняются. */
#v-halls .vhead{position:relative}
.hl-mute-all{position:absolute;top:50%;inset-inline-end:0;transform:translateY(-50%);display:inline-flex;align-items:center;gap:7px;max-width:58%;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--glass);color:var(--ink-dim);font:600 12.5px/1 var(--ui);cursor:pointer;-webkit-tap-highlight-color:transparent}
.hl-mute-all[hidden]{display:none}
.hl-mute-all svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hl-mute-all span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hl-mute-all.on{color:var(--gold-text);border-color:rgba(var(--gold-rgb),.45);background:rgba(var(--gold-rgb),.1)}
.hl-mute-all:active{transform:translateY(-50%) scale(.96)}
.hl-mute-all:hover{border-color:rgba(var(--gold-rgb),.45)}
.hl-mute-all:focus-visible,.hl-mute-opt:focus-visible,.hl-mute-close:focus-visible{outline:2px solid var(--gold-text);outline-offset:2px}

/* Метка на строке чертога и лички: колокольчик с остатком срока. */
.hl-mute-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--glass);color:var(--ink-faint);font:600 11px/1 var(--ui);white-space:nowrap;font-variant-numeric:tabular-nums}
.hl-mute-chip svg{width:13px;height:13px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hl-mute-chip b{font-weight:600}
#hallsList .hall .hl-mute-chip{margin-inline-start:2px}

/* Лист выбора срока. Выше панели чата (z-index 9000), ниже ничего. */
#hlMuteSheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9100;display:none;align-items:flex-end;justify-content:center;background:rgba(var(--bg0-rgb),.68);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
#hlMuteSheet.on{display:flex}
.hl-mute-card{width:min(100%,520px);max-height:min(86vh,720px);max-height:min(86dvh,720px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;background:linear-gradient(180deg,var(--plum),var(--bg0));border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom,0px));color:var(--ink);box-shadow:0 -20px 60px rgba(var(--bg0-rgb),.45)}
.hl-mute-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.hl-mute-ttl{flex:1;min-width:0}
.hl-mute-ttl h2{margin:0;font-family:var(--dispcyr,var(--ui));font-size:22px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.hl-mute-sub{margin-top:3px;font-size:12px;color:var(--ink-faint)}
.hl-mute-close{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--glass);color:var(--ink);cursor:pointer}
.hl-mute-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.hl-mute-status{display:flex;align-items:center;min-height:36px;padding:8px 12px;border-radius:12px;background:var(--glass);border:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--ink-dim)}
.hl-mute-status.muted{color:var(--gold-text);border-color:rgba(var(--gold-rgb),.4);background:rgba(var(--gold-rgb),.08)}
.hl-mute-note{margin-top:8px;padding:8px 12px;border-radius:12px;font-size:12.5px;line-height:1.35;color:var(--gold-text);border:1px dashed rgba(var(--gold-rgb),.4)}
.hl-mute-note[hidden]{display:none}
.hl-mute-opts{display:grid;gap:8px;margin-top:12px}
.hl-mute-opt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 14px;border:1px solid var(--line);border-radius:14px;background:var(--glass);color:var(--ink);font:600 16px/1.2 var(--ui);text-align:start;cursor:pointer}
.hl-mute-opt:active{background:var(--glass2)}
.hl-mute-opt:disabled{opacity:.55;cursor:default}
.hl-mute-opt.primary{border-color:rgba(var(--gold-rgb),.55);background:rgba(var(--gold-rgb),.12);color:var(--gold-text)}
.hl-mute-ic{display:grid;place-items:center;width:26px;height:26px}
.hl-mute-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hl-mute-t{min-width:0;overflow-wrap:anywhere}
.hl-mute-h{font-size:12.5px;font-weight:600;color:var(--ink-faint);white-space:nowrap;font-variant-numeric:tabular-nums}
.hl-mute-rule{margin:14px 2px 0;font-size:12px;line-height:1.45;color:var(--ink-faint)}
@media (min-width:700px){#hlMuteSheet{align-items:center;padding:24px}.hl-mute-card{border-bottom:1px solid var(--line);border-radius:24px;padding-bottom:20px}}
@media (prefers-reduced-motion:no-preference){#hlMuteSheet.on .hl-mute-card{animation:hl-mute-show .18s ease-out}@keyframes hl-mute-show{from{opacity:.55}to{opacity:1}}}

/* Выключатель «Звук» в панели чата, когда он открывает этот лист. */
#hlci .mute .ic svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
