/* Цвета по умолчанию (браузер). Внутри Telegram их заменяют цвета темы пользователя — см. applyTheme в app.js */
:root{
  --bg:#f7f8f6; --fg:#1c2220; --muted:#6b7570; --card:#eceeea; --acc:#002506; --acc-fg:#ffffff; --link:#002506;
  --line:rgba(120,130,125,.28); --hl:rgba(47,125,98,.14);
  --f-ui:"Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-sans:-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --f-serif:"PT Serif", Georgia, "Times New Roman", serif;
  --rs:17px; --player-h:0px;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#141917; --fg:#e7ebe8; --muted:#94a19a; --card:#1e2522; --acc:#6bc278; --acc-fg:#002506; --link:#7fcf8b;
  --line:rgba(160,175,168,.2); --hl:rgba(92,195,155,.16); color-scheme:dark }}
@supports (color: color-mix(in srgb, red, blue)){:root{
  --line:color-mix(in srgb, var(--fg) 14%, transparent);
  --hl:color-mix(in srgb, var(--acc) 17%, transparent);
  --qbg:color-mix(in srgb, var(--acc) 9%, var(--card));
}}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--fg);font:15px/1.45 var(--f-ui);
  padding-bottom:calc(var(--player-h) + env(safe-area-inset-bottom,0px))}
a{color:var(--link)}
button{font:inherit;color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.loading,.err{padding:48px 20px;text-align:center;color:var(--muted)}
.err b{display:block;color:var(--fg);font-size:17px;margin-bottom:6px}
.err .btn{margin-top:16px}
.btn{display:inline-block;border:0;border-radius:10px;background:var(--acc);color:var(--acc-fg);padding:10px 18px;font-weight:600;text-decoration:none;cursor:pointer}

/* библиотека */
.lib-head{padding:22px 18px 8px;display:grid;gap:4px}
.lib-head h1{margin:0;font-size:24px;line-height:1.2;text-wrap:balance}
.lib-head p{margin:0;color:var(--muted)}
.lib{display:grid;gap:2px;padding:8px 10px 24px}
.card{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding:8px;border-radius:12px;text-decoration:none;color:inherit}
.card:active,.card:hover{background:var(--card)}
.card .th{width:76px;height:76px;border-radius:10px;object-fit:cover;background:var(--card);display:block}
.card .ci{min-width:0;display:grid;gap:2px}
.card b{font-size:15.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cm{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.prog{font-size:12px;font-weight:600;color:var(--acc)}
.empty{padding:40px 20px;color:var(--muted);text-align:center}

/* выпуск */
.cover{display:block;width:100%;max-height:62vh;object-fit:cover;background:var(--card)}
.ep{padding:18px 20px 32px;display:grid;gap:14px;max-width:720px;margin:0 auto}
.all{font-size:13.5px;font-weight:600;text-decoration:none;justify-self:start}
.ep h1{margin:0;font-size:25px;line-height:1.2;text-wrap:balance}
.by{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.tools{display:flex;flex-wrap:wrap;gap:6px 14px}
.tools .grp,.view .grp{display:flex;gap:4px;flex-wrap:wrap}
.ep-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.vmenu{position:relative}
.vbtn{font-size:13.5px;padding:4px 12px}
.vbtn .car{font-size:10px;margin-left:2px;display:inline-block;transition:transform .2s}
.vbtn[aria-expanded="true"] .car{transform:rotate(180deg)}
.view{position:absolute;right:0;top:calc(100% + 6px);z-index:8;width:min(340px,calc(100vw - 40px));display:grid;gap:10px;
  background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 16px 36px -12px rgba(0,0,0,.4)}
.vrow{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:center}
.vl{font-size:12.5px;color:var(--muted)}
.chip.th{display:inline-flex;align-items:center;gap:6px}
.sw{width:14px;height:14px;border-radius:50%;border:1px solid rgba(128,128,128,.45);display:inline-block;flex:none}
.sw-tg{background:conic-gradient(#2aabee 0 50%,#ffffff 50% 100%)}
.sw-light{background:#ffffff}
.sw-sepia{background:#f3e6cc}
.sw-night{background:#0e0e10}
body{transition:background-color .25s,color .25s}
.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:600;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:var(--acc-fg)}
.resume{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border-radius:12px;padding:10px 12px;font-size:14px}
.resume .btn{padding:6px 12px;font-size:13.5px}
.toc{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:5px;font-size:14px}
.toc .lb{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.toc button{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:12px}
.toc button span{color:var(--muted);font-variant-numeric:tabular-nums}
.toc button:focus-visible{outline:2px solid var(--acc)}
.txt{font-family:var(--f-sans);font-weight:400;font-size:var(--rs);line-height:1.6;display:grid;gap:12px;overflow-wrap:break-word}
.txt.f-serif{font-family:var(--f-serif)}
.txt.f-modern{font-family:var(--f-ui)}
.txt u{text-underline-offset:2px}
.txt code,.txt pre{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.88em;background:var(--card);border-radius:5px}
.txt code{padding:1px 5px}
.txt pre{margin:0 -8px;padding:10px 12px;white-space:pre-wrap;overflow-x:auto;line-height:1.5}
.txt .spoiler{background:var(--muted);color:transparent;border-radius:4px;cursor:pointer;transition:color .2s,background-color .2s;-webkit-user-select:none;user-select:none}
.txt .spoiler *{color:transparent}
.txt .spoiler.open{background:var(--hl);color:inherit;cursor:auto;-webkit-user-select:text;user-select:text}
.txt .spoiler.open *{color:inherit}
.txt blockquote.exp{position:relative;max-height:4.9em;overflow:hidden;padding-right:34px}
.txt blockquote.exp.open{max-height:none}
.txt .qx{position:absolute;right:6px;bottom:4px;width:24px;height:24px;border:0;border-radius:50%;background:var(--card);color:var(--acc);cursor:pointer;padding:0;font-size:14px;line-height:24px}
.txt .qx::before{content:"⌄"}
.txt blockquote.exp.open .qx::before{content:"⌃"}
.txt b{font-weight:600}
.txt h2{font-family:var(--f-ui);font-size:calc(var(--rs) + 1px);font-weight:700;margin:10px 0 0;line-height:1.3;scroll-margin-top:16px}
.txt p,.txt blockquote{margin:0 -8px;padding:4px 8px;border-radius:8px;transition:background-color .3s}
.txt blockquote{font-style:italic;border-left:3px solid var(--acc);border-radius:0 10px 10px 0;margin-left:0;padding:10px 14px;background:var(--qbg,var(--card))}
.txt blockquote.now{background:var(--hl)}
.txt.tap p,.txt.tap blockquote{cursor:pointer}
.txt .now{background:var(--hl)}
.end{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px;font-size:14px}
.end .row{display:flex;flex-wrap:wrap;gap:8px}
.end .nav{display:grid;gap:6px}
.end .nav a{text-decoration:none;font-weight:600}

/* плеер */
.player{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--bg);border-top:1px solid var(--line);
  padding:8px 16px calc(10px + env(safe-area-inset-bottom,0px));display:grid;gap:6px;box-shadow:0 -10px 24px -18px rgba(0,0,0,.45)}
.p-top{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.p-top b{color:var(--fg);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.seek{-webkit-appearance:none;appearance:none;width:100%;height:22px;margin:0;background:transparent;cursor:pointer}
.seek::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:linear-gradient(var(--acc),var(--acc)) 0/var(--p,0%) 100% no-repeat,var(--line)}
.seek::-moz-range-track{height:5px;border-radius:5px;background:var(--line)}
.seek::-moz-range-progress{height:5px;border-radius:5px;background:var(--acc)}
.seek::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--acc);margin-top:-5px;border:0}
.seek::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--acc);border:0}
.p-ctl{display:grid;grid-template-columns:1fr auto auto auto 1fr;align-items:center;gap:18px}
.p-ctl button{border:0;background:transparent;cursor:pointer;font-weight:600;font-size:14px;padding:6px;font-variant-numeric:tabular-nums}
.p-ctl .big{width:50px;height:50px;border-radius:50%;background:var(--acc);color:var(--acc-fg);font-size:18px;padding:0}
.p-ctl .p-r{justify-self:end;display:flex;align-items:center;gap:6px}
.p-ctl .spd{border:1px solid var(--acc);color:var(--acc);border-radius:8px;padding:3px 8px;font-size:12.5px}
.volw{position:relative;display:inline-flex}
.p-ctl .vol{padding:2px 4px;line-height:0;color:var(--acc)}
.p-ctl .vol.muted{color:var(--muted)}
.volpop{position:absolute;bottom:calc(100% + 10px);right:-40px;display:grid;gap:8px;padding:12px 14px;width:200px;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px -12px rgba(0,0,0,.45);z-index:9}
.volpop input{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer}
.volpop input::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:linear-gradient(var(--acc),var(--acc)) 0/var(--p,100%) 100% no-repeat,var(--line)}
.volpop input::-moz-range-track{height:5px;border-radius:5px;background:var(--line)}
.volpop input::-moz-range-progress{height:5px;border-radius:5px;background:var(--acc)}
.volpop input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--acc);margin-top:-5.5px;border:0}
.volpop input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--acc);border:0}
.p-ctl .mute{font-size:12.5px;color:var(--acc);padding:2px 0;justify-self:start}
.p-ctl .fol{justify-self:start;font-size:12.5px;color:var(--muted);padding:3px 0}
.p-ctl .fol[aria-pressed="true"]{color:var(--acc)}
/* кнопка «Наверх» */
.to-top{position:fixed;right:16px;bottom:calc(var(--player-h) + 16px + env(safe-area-inset-bottom,0px));z-index:6;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--line);background:var(--bg);color:var(--acc);font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.4)}
body.cm-open{overflow:hidden}
body.cm-open .to-top{display:none}
/* комментарии */
.cnt{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:var(--acc);color:var(--acc-fg);font-size:11px;line-height:18px;text-align:center}
.cm-ov{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center}
.cm-box{background:var(--bg);color:var(--fg);width:100%;max-width:720px;height:88vh;border-radius:18px 18px 0 0;display:flex;flex-direction:column;
  padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -10px 30px -10px rgba(0,0,0,.4)}
.cm-h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 4px}
.cm-h b{font-size:17px}
.cm-x{border:0;background:transparent;color:var(--muted);font-size:26px;line-height:1;cursor:pointer;padding:0 4px}
.cm-t{padding:0 18px 10px;color:var(--muted);font-size:13.5px;border-bottom:1px solid var(--line)}
.cm-list{flex:1;overflow:auto;padding:12px 18px;display:grid;gap:14px;align-content:start}
.cm{display:grid;gap:4px}
.cm-a{display:flex;align-items:center;gap:8px;font-size:13.5px}
.cm-av{width:28px;height:28px;border-radius:50%;background:var(--acc);color:var(--acc-fg);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.cm-d{color:var(--muted);font-size:12px}
.cm-own{margin-left:auto;display:flex;gap:10px}
.cm-del,.cm-ed,.cm-cancel{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}
.cm-edit{width:100%;resize:vertical;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:10px;padding:8px 10px;font:15px/1.4 var(--f-ui)}
.cm-edb{display:flex;gap:12px;align-items:center;margin-top:6px}
.cm-edb .btn{padding:6px 12px;font-size:13.5px}
/* крупные кнопки под статьёй */
.bigrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.bigbtn{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:12px 16px;border-radius:16px;
  font:600 16px var(--f-ui);letter-spacing:.01em;cursor:pointer;transition:transform .08s,box-shadow .15s,filter .15s;-webkit-tap-highlight-color:transparent}
.bigbtn svg{flex:none}
/* «Комментарии» — изумрудная, с бликом сверху и тенью снизу */
.bb-main{border:0;color:var(--acc-fg);
  background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 82%,#fff) 0%,var(--acc) 48%,color-mix(in srgb,var(--acc) 82%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.18),0 10px 22px -10px color-mix(in srgb,var(--acc) 80%,#000),0 2px 4px rgba(0,0,0,.12)}
/* «Поделиться» — светлая, выпуклая */
.bb-alt{color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 30%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 70%,#fff) 0%,var(--card) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 18px -10px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.08)}
.bigbtn:hover{filter:brightness(1.04)}
.bigbtn:active{transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}
.bb-main .cnt{background:rgba(255,255,255,.92);color:var(--acc);font-size:12.5px;font-weight:700;min-width:22px;line-height:22px;padding:0 6px;
  border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.cm-txt{padding-left:36px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.cm-empty,.cm-note{color:var(--muted);text-align:center;padding:24px 0;margin:0;font-size:14px}
.cm-note{padding:12px 18px 18px}
.cm-form{display:flex;gap:8px;padding:10px 14px 4px;border-top:1px solid var(--line);align-items:flex-end}
.cm-form textarea{flex:1;resize:none;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:12px;padding:9px 12px;font:15px/1.4 var(--f-ui);max-height:120px}
.cm-form .btn{padding:9px 14px}
.cm-form .btn:disabled{opacity:.6}
.cm-err{color:#c43d22;font-size:13px;padding:0 16px 8px;min-height:0}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== объём кнопок =====
   Тёмные темы и «Сепия»: объём в прежнем цвете (свет сверху, тень снизу).
   Светлые темы: «изумруд» — гладкий камень без граней: глубокий зелёный, блик, лёгкая прозрачность. */
.bb-main,.bb-alt,.p-ctl .big,.p-ctl .spd,.to-top{transition:transform .08s,box-shadow .15s,filter .15s}
.p-ctl .big{background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 80%,#fff) 0%,var(--acc) 50%,color-mix(in srgb,var(--acc) 78%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -3px 6px rgba(0,0,0,.2),0 8px 18px -8px color-mix(in srgb,var(--acc) 75%,#000);font-size:19px}
.p-ctl .spd{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 60%,#fff),var(--card));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 3px 8px -4px rgba(0,0,0,.35);border-radius:10px;padding:5px 10px;font-weight:700}
.to-top{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 60%,#fff),var(--card));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.08),0 10px 22px -10px rgba(0,0,0,.45)}
.p-ctl .big:active,.p-ctl .spd:active,.to-top:active{transform:translateY(1px) scale(.97)}

html[data-gem="1"] .bb-main,html[data-gem="1"] .bb-alt,html[data-gem="1"] .p-ctl .big,
html[data-gem="1"] .p-ctl .spd,html[data-gem="1"] .to-top{
  color:#fff;border:1px solid rgba(255,255,255,.28);text-shadow:0 1px 1px rgba(1,40,26,.45);
  background:
    radial-gradient(120% 85% at 30% 0%,rgba(255,255,255,.55) 0%,rgba(255,255,255,.12) 38%,rgba(255,255,255,0) 52%),
    radial-gradient(90% 70% at 60% 110%,rgba(110,255,190,.35) 0%,rgba(110,255,190,0) 60%),
    linear-gradient(165deg,rgba(46,204,143,.86) 0%,rgba(4,140,92,.88) 46%,rgba(2,82,56,.92) 100%);
  -webkit-backdrop-filter:blur(6px) saturate(1.4);backdrop-filter:blur(6px) saturate(1.4);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.75),inset 0 -8px 14px rgba(1,50,34,.45),inset 0 0 18px rgba(120,255,200,.18),
    0 12px 24px -10px rgba(2,90,60,.6),0 2px 5px rgba(2,90,60,.25)}
html[data-gem="1"] .bb-alt{                    /* «Поделиться» — тот же камень, светлее и прозрачнее */
  background:
    radial-gradient(120% 85% at 30% 0%,rgba(255,255,255,.65) 0%,rgba(255,255,255,.18) 40%,rgba(255,255,255,0) 55%),
    linear-gradient(165deg,rgba(110,224,170,.62) 0%,rgba(22,163,110,.62) 50%,rgba(4,110,74,.7) 100%)}
html[data-gem="1"] .to-top{color:#fff}
html[data-gem="1"] .p-ctl .spd{border-radius:10px}
html[data-gem="1"] .bb-main .cnt{background:rgba(255,255,255,.9);color:#03583b;text-shadow:none}
html[data-gem="1"] .bigbtn:hover,html[data-gem="1"] .p-ctl .big:hover{filter:brightness(1.06) saturate(1.05)}
/* «Комментарии» и «Поделиться» — без блика: только цвет камня, глубина и прозрачность */
html[data-gem="1"] .bb-main{
  background:
    radial-gradient(90% 70% at 60% 110%,rgba(110,255,190,.30) 0%,rgba(110,255,190,0) 60%),
    linear-gradient(165deg,rgba(46,204,143,.86) 0%,rgba(4,140,92,.88) 46%,rgba(2,82,56,.92) 100%);
  box-shadow:inset 0 -8px 14px rgba(1,50,34,.4),inset 0 0 18px rgba(120,255,200,.15),0 12px 24px -10px rgba(2,90,60,.6),0 2px 5px rgba(2,90,60,.25)}
html[data-gem="1"] .bb-alt{
  background:linear-gradient(165deg,rgba(110,224,170,.62) 0%,rgba(22,163,110,.62) 50%,rgba(4,110,74,.7) 100%);
  box-shadow:inset 0 -6px 12px rgba(1,50,34,.3),0 12px 24px -10px rgba(2,90,60,.5),0 2px 5px rgba(2,90,60,.2)}
/* «Комментарии» и «Поделиться»: ровный камень — никаких светлых пятен, свечения и белой окантовки */
html[data-gem="1"] .bb-main,html[data-gem="1"] .bb-alt{
  text-shadow:none;border:1px solid rgba(0,70,45,.22);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
html[data-gem="1"] .bb-main{
  background:linear-gradient(180deg,rgba(10,150,98,.9) 0%,rgba(4,112,74,.92) 100%);
  box-shadow:0 10px 22px -12px rgba(2,90,60,.55),0 2px 4px rgba(2,90,60,.18)}
html[data-gem="1"] .bb-alt{
  background:linear-gradient(180deg,rgba(26,160,108,.62) 0%,rgba(8,118,80,.66) 100%);
  box-shadow:0 10px 22px -12px rgba(2,90,60,.45),0 2px 4px rgba(2,90,60,.14)}
html[data-gem="1"] .bigbtn:hover{filter:none}
/* «Поделиться» в светлых темах — того же цвета, что и «Комментарии» */
html[data-gem="1"] .bb-alt{
  color:#fff;
  background:linear-gradient(180deg,rgba(10,150,98,.9) 0%,rgba(4,112,74,.92) 100%);
  box-shadow:0 10px 22px -12px rgba(2,90,60,.55),0 2px 4px rgba(2,90,60,.18)}

/* ===== линза под звучащим абзацем ===== */
.txt.has-lens{position:relative}
.txt.has-lens>*:not(.lens){position:relative;z-index:1}
.txt.has-lens .now{background:transparent!important}
.lens{position:absolute;left:-12px;right:-12px;top:0;height:0;z-index:0;pointer-events:none;border-radius:16px;opacity:0;
  transition:transform .55s cubic-bezier(.22,.9,.3,1),height .55s cubic-bezier(.22,.9,.3,1),opacity .3s;
  background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 20%,transparent) 0%,color-mix(in srgb,var(--acc) 30%,transparent) 100%);
  border:1px solid color-mix(in srgb,var(--acc) 35%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -8px 16px color-mix(in srgb,var(--acc) 18%,transparent),0 10px 24px -14px rgba(0,0,0,.55)}
.lens.on{opacity:1}
.lens.still{transition:none}
/* светлые темы: зелёное стекло */
html[data-gem="1"] .lens{
  background:
    radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 60%),
    linear-gradient(180deg,rgba(40,190,125,.16) 0%,rgba(10,140,90,.24) 100%);
  border:1px solid rgba(10,130,85,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -10px 18px rgba(8,120,78,.14),inset 0 0 0 1px rgba(255,255,255,.25),
    0 12px 26px -14px rgba(4,100,66,.45),0 2px 6px rgba(4,100,66,.10)}
@media (prefers-reduced-motion:reduce){.lens{transition:opacity .2s}}

/* ===== окно комментариев: постоянный благородный изумрудный фон с эффектом линзы по краям ===== */
.cm-ov{background:rgba(2,18,13,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.cm-ov .cm-box{position:relative;color:#f1ede3;color-scheme:dark;border-radius:24px 24px 0 0;overflow:hidden;
  background:radial-gradient(130% 70% at 50% 0%,#246650 0%,#144536 40%,#0b2d24 78%,#08231c 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 0 0 1px rgba(255,255,255,.06),inset 0 0 70px rgba(0,0,0,.45),0 -24px 50px -12px rgba(0,0,0,.6)}
.cm-ov .cm-box::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.08) 22%,rgba(255,255,255,0) 55%,rgba(255,255,255,.10));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.cm-ov .cm-box::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;
  background:radial-gradient(120% 90% at 50% 40%,rgba(0,0,0,0) 55%,rgba(0,0,0,.28) 100%)}
.cm-ov .cm-box>*{position:relative;z-index:1}
.cm-ov .cm-h{padding:16px 18px 6px;gap:8px}
.cm-ov .cm-h b{font-size:18px;letter-spacing:.01em;color:#fbf7ec}
.cm-n{font-size:12.5px;font-weight:700;color:#0b2d24;background:#d9b96f;border-radius:999px;padding:0 7px;line-height:20px;min-width:20px;text-align:center}
.cm-n:empty{display:none}
.cm-sp{flex:1}
.cm-ov .cm-x{color:rgba(241,237,227,.7)}
.cm-vw{position:relative}
.cm-vbtn{border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));color:#f1ede3;
  border-radius:999px;padding:4px 12px;font:600 13px var(--f-ui);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.cm-vpop{position:absolute;right:0;top:calc(100% + 6px);z-index:5;width:min(300px,80vw);display:grid;gap:10px;padding:12px;border-radius:14px;
  background:linear-gradient(180deg,#1d5845,#103a2e);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 16px 30px -10px rgba(0,0,0,.6)}
.cm-vr{display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:center;font-size:12.5px;color:rgba(241,237,227,.65)}
.cm-vr div{display:flex;flex-wrap:wrap;gap:4px}
.cm-vr button,.cm-as button{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#f1ede3;border-radius:999px;padding:3px 10px;
  font:600 12.5px var(--f-ui);cursor:pointer}
.cm-vr button[aria-pressed="true"],.cm-as button[aria-pressed="true"]{background:linear-gradient(180deg,#e2c582,#c9a457);color:#14261e;border-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 4px 10px -6px rgba(0,0,0,.6)}
.cm-ov .cm-t{color:rgba(241,237,227,.6);border-bottom:1px solid rgba(255,255,255,.08)}
.cm-ov .cm-list{gap:10px;padding:14px 14px}
.cm-ov .cm{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px -12px rgba(0,0,0,.6)}
.cm-ov .cm.is-ch{background:linear-gradient(180deg,rgba(217,185,111,.16),rgba(217,185,111,.05));border-color:rgba(217,185,111,.32)}
.cm-b{min-width:0;flex:1;display:grid;gap:4px}
.cm-ov .cm-a{gap:6px;flex-wrap:wrap}
.cm-ov .cm-a b{color:#fbf7ec;font-size:14px}
.cm-ov .cm-d{color:rgba(241,237,227,.5)}
.cm-badge{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#14261e;background:linear-gradient(180deg,#e2c582,#c9a457);
  border-radius:999px;padding:1px 7px}
.cm-badge.alt{background:rgba(255,255,255,.12);color:#e9d9ac}
.cm-ov .cm-av{position:relative;width:36px;height:36px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(160deg,#3fae84,#11603f);color:#fff;font:700 15px var(--f-ui);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px -4px rgba(0,0,0,.6)}
.cm-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cm-av.ch{box-shadow:0 0 0 2px #d9b96f,0 4px 12px -4px rgba(0,0,0,.7);background:linear-gradient(160deg,#2b7a5e,#0d4a33)}
.cm-ov .cm-txt{padding-left:0;font-size:var(--cs,16.5px);line-height:1.5;color:#f1ede3}
.cm-list.f-serif .cm-txt{font-family:var(--f-serif)}
.cm-list.f-modern .cm-txt{font-family:var(--f-ui)}
.cm-list.f-sans .cm-txt{font-family:var(--f-sans)}
.cm-ov .cm-own{margin:2px 0 0;display:flex;gap:14px}
.cm-ov .cm-ed,.cm-ov .cm-del,.cm-ov .cm-cancel{color:rgba(241,237,227,.55)}
.cm-ov .cm-empty,.cm-ov .cm-note{color:rgba(241,237,227,.6)}
.cm-ov .cm-form{display:grid;gap:8px;padding:10px 14px 8px;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18))}
.cm-as{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:rgba(241,237,227,.65)}
.cm-in{display:flex;gap:8px;align-items:flex-end}
.cm-ov .cm-form textarea,.cm-ov .cm-edit{flex:1;background:rgba(0,0,0,.24);color:#f6f2e8;border:1px solid rgba(255,255,255,.14);border-radius:16px;
  padding:10px 13px;font:15px/1.4 var(--f-ui);box-shadow:inset 0 2px 6px rgba(0,0,0,.35);resize:none}
.cm-ov .cm-form textarea:focus,.cm-ov .cm-edit:focus{outline:none;border-color:rgba(217,185,111,.6)}
.cm-ov .cm-form textarea::placeholder{color:rgba(241,237,227,.45)}
.cm-send{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;flex:none;display:grid;place-items:center;
  background:linear-gradient(165deg,rgba(46,204,143,.92),rgba(4,140,92,.92) 50%,rgba(2,82,56,.95));
  box-shadow:inset 0 1px 1px rgba(255,255,255,.6),inset 0 -6px 10px rgba(1,50,34,.45),0 10px 20px -10px rgba(0,0,0,.7)}
.cm-send:disabled{opacity:.6}
.cm-send:active{transform:translateY(1px) scale(.97)}
.cm-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:18px}
.cm-cnt{font-size:12px;color:rgba(241,237,227,.55);font-variant-numeric:tabular-nums;margin-left:auto}
.cm-cnt.warn{color:#f0a979}
.cm-ov .cm-err{color:#f0a979;font-size:12.5px;padding:0}
.cm-ov .cm-edb{display:flex;gap:12px;align-items:center;margin-top:6px}
.cm-ov .cm-save{border:0;border-radius:999px;padding:6px 14px;font:600 13px var(--f-ui);cursor:pointer;color:#14261e;background:linear-gradient(180deg,#e2c582,#c9a457)}
.cm-ov .cm-cancel{border:0;background:transparent;cursor:pointer;text-decoration:underline;font-size:12.5px}
.cm-ov .cm-h{z-index:4}

/* ===== нижняя панель: плеер + кнопки ===== */
.dock-act{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding-top:4px}
.dock-act .bigbtn{min-height:42px;padding:8px 12px;font-size:15px;border-radius:13px}
.player.noaudio{gap:0;padding-top:10px}
/* ===== ответы ===== */
.cm-th{display:grid;gap:6px}
.cm-kids{display:grid;gap:6px;margin-left:14px;padding-left:10px;border-left:2px solid rgba(217,185,111,.28)}
.cm-kids .cm{padding:8px 10px}
.cm-kids .cm-av{width:30px;height:30px;font-size:13px}
.cm-tg{justify-self:start;margin-left:48px;border:0;background:transparent;color:#d9b96f;font:600 13px var(--f-ui);cursor:pointer;padding:2px 0}
.cm-tg::before{content:"▸ ";display:inline-block;transition:transform .2s}
.cm-tg[aria-expanded="true"]::before{content:"▾ "}
.cm-rt{font-size:12px;color:#d9b96f}
.cm-ov .cm-re{border:0;background:transparent;color:#e9d9ac;font-size:12px;cursor:pointer;text-decoration:underline;padding:0}
.cm-ov .cm.del{background:transparent;border-style:dashed;box-shadow:none}
.cm-gone{font-style:italic;color:rgba(241,237,227,.45)!important;font-size:14px!important}
.cm-re-bar{display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(241,237,227,.7);background:rgba(217,185,111,.12);
  border:1px solid rgba(217,185,111,.3);border-radius:10px;padding:5px 8px 5px 10px}
.cm-re-bar b{color:#f3e2b2;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cm-re-x{margin-left:auto;border:0;background:transparent;color:rgba(241,237,227,.7);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
/* комментарии: выразителен сам текст, всё остальное — приглушённо */
.cm-ov .cm-txt{color:#fffdf8}
.cm-ov .cm-a b{color:rgba(241,237,227,.66);font-weight:600}
.cm-ov .cm-d{color:rgba(241,237,227,.38)}
.cm-ov .cm-re,.cm-ov .cm-ed,.cm-ov .cm-del{color:rgba(241,237,227,.4)}
.cm-badge{background:rgba(217,185,111,.22);color:rgba(240,226,184,.8)}
.cm-badge.alt{background:rgba(255,255,255,.07);color:rgba(233,217,172,.65)}
.cm-tg{color:rgba(217,185,111,.72)}
.cm-rt{color:rgba(217,185,111,.6)}
/* светлые темы: кнопки — приятный серый (сепия и тёмные темы не меняются) */
html[data-gem="1"] .bb-main,html[data-gem="1"] .bb-alt,html[data-gem="1"] .p-ctl .big,
html[data-gem="1"] .p-ctl .spd,html[data-gem="1"] .to-top{
  color:#fff;text-shadow:none;border:1px solid rgba(60,64,70,.18);
  background:linear-gradient(180deg,#9aa0a6 0%,#7d838a 100%);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px -10px rgba(40,44,50,.55),0 2px 4px rgba(40,44,50,.14)}
html[data-gem="1"] .bb-main .cnt{background:rgba(255,255,255,.92);color:#5f656c}
html[data-gem="1"] .bigbtn:hover,html[data-gem="1"] .p-ctl .big:hover{filter:brightness(1.04)}
/* светлые темы: кнопки — серое стекло: глянец сверху, полупрозрачные, фон за ними размыт */
html[data-gem="1"] .bb-main,html[data-gem="1"] .bb-alt,html[data-gem="1"] .p-ctl .big,
html[data-gem="1"] .p-ctl .spd,html[data-gem="1"] .to-top{
  color:#fff;text-shadow:0 1px 1px rgba(30,34,40,.35);border:1px solid rgba(255,255,255,.55);
  background:
    radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.62) 0%,rgba(255,255,255,.18) 45%,rgba(255,255,255,0) 62%),
    linear-gradient(180deg,rgba(150,156,163,.62) 0%,rgba(104,110,118,.70) 100%);
  -webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.75),inset 0 -6px 12px rgba(40,44,50,.18),0 0 0 1px rgba(60,64,70,.10),
    0 10px 22px -10px rgba(40,44,50,.5),0 2px 5px rgba(40,44,50,.12)}
html[data-gem="1"] .bb-main .cnt{background:rgba(255,255,255,.9);color:#5f656c;text-shadow:none}
/* светлые темы: линза — серое стекло */
html[data-gem="1"] .lens{
  background:
    radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.6) 0%,rgba(255,255,255,0) 60%),
    linear-gradient(180deg,rgba(128,134,141,.10) 0%,rgba(110,116,123,.18) 100%);
  border:1px solid rgba(90,96,104,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -10px 18px rgba(80,86,94,.10),inset 0 0 0 1px rgba(255,255,255,.3),
    0 12px 26px -14px rgba(40,44,50,.40),0 2px 6px rgba(40,44,50,.08)}
/* цитата отличается от линзы: светлые темы — цвет цитат Telegram, сепия — синие чернила */
html[data-qc] .txt blockquote{border-left-color:var(--q-c);background:color-mix(in srgb,var(--q-c) 10%,var(--bg))}
html[data-qc] .txt blockquote .qx{color:var(--q-c)}
/* во весь экран: отступы под часы и кнопки Telegram сверху и под «полоску» снизу (переменные ставит сам Telegram) */
body{padding-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px))}
.player{padding-bottom:calc(10px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)))}
.cm-ov{padding-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px))}
.cm-ov .cm-box{padding-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px))}
