/* Layout: звичний новинний сайт — шапка, вибір дня, список подій, головне тижня, словник.
   Мова компонентів — ElevenLabs: сфери, пілюлі, заокруглені картки, сегментний перемикач. */
:root{
  --page:#f1f1f0; --shell:#fbfbfa; --card:#ffffff; --tint:#f3f3f2; --fg:#0a0a0a; --muted:#6b6b6b; --line:#e7e7e5;
  --ink:#0a0a0a; --ink-fg:#ffffff; --shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06);
  --good:#2f7a52; --warn:#a8641a; --bad:#bf3a2b;
  --good-soft:#e7f3ec; --warn-soft:#f8eedf; --bad-soft:#f9e7e4;
  --tone-neg:#b5381a; --tone-neu:#e3e3e0; --tone-pos:#3d6aa8;
  --lv0:#e3e3e0; --lv1:#f2b48f; --lv2:#e2743f; --lv3:#b5381a;
  --f:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --page:#08080a; --shell:#111113; --card:#18181b; --tint:#1f1f22; --fg:#f4f4f2; --muted:#9a9a9e; --line:#2a2a2e;
  --ink:#f4f4f2; --ink-fg:#0a0a0a; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px rgba(0,0,0,.4);
  --good:#62c28d; --warn:#e2a75a; --bad:#f08273;
  --good-soft:#132a1e; --warn-soft:#2b2214; --bad-soft:#2e1714; --tone-neg:#c4532b; --tone-neu:#2c2c30; --tone-pos:#4a75b3; --lv0:#2c2c30; --lv1:#7d4329; --lv2:#c9612f; --lv3:#ff8a5c; color-scheme:dark}}
:root[data-theme="dark"]{
  --page:#08080a; --shell:#111113; --card:#18181b; --tint:#1f1f22; --fg:#f4f4f2; --muted:#9a9a9e; --line:#2a2a2e;
  --ink:#f4f4f2; --ink-fg:#0a0a0a; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px rgba(0,0,0,.4);
  --good:#62c28d; --warn:#e2a75a; --bad:#f08273;
  --good-soft:#132a1e; --warn-soft:#2b2214; --bad-soft:#2e1714; --tone-neg:#c4532b; --tone-neu:#2c2c30; --tone-pos:#4a75b3; --lv0:#2c2c30; --lv1:#7d4329; --lv2:#c9612f; --lv3:#ff8a5c; color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--page);color:var(--fg);font-family:var(--f);font-size:17px;line-height:1.6;letter-spacing:-.006em}
img{max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;letter-spacing:inherit}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:10px}
h1,h2,h3{text-wrap:balance}

/* анонс */
.announce{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 16px;font-size:14.5px;flex-wrap:wrap;text-align:center}
.announce b{font-weight:500}
.announce span{color:var(--muted)}
.announce canvas{width:24px;height:24px;border-radius:50%}

/* контейнер сторінки */
.shell{background:var(--shell);border-radius:28px 28px 0 0;border:1px solid var(--line);border-bottom:0;min-height:100vh;padding-inline:clamp(16px,5vw,64px);padding-block:0 64px}
.wrap{max-width:1100px;margin:0 auto}

/* шапка */
/* шапка: липка, з розмиттям; меню — сегменти, як на телефоні вкладки */
.top{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-block:14px}
.shell{overflow-x:clip}
.top::before{content:"";position:absolute;z-index:-1;inset:0 -50vw;background:color-mix(in srgb,var(--shell) 92%,transparent);
  backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.stuck::before{border-bottom-color:var(--line)}
/* логотип kupol.live: купол з прапором на головній, купол у кольорі події на її сторінці */
.logo{display:flex;align-items:flex-end;gap:9px;text-decoration:none;white-space:nowrap;min-width:0}
/* «Купол із місць»: seats in three arcs + base bar, drawn by events/brand.py */
.logo .mark{display:block;width:38px;height:auto;flex:none;margin-bottom:2px;color:var(--fg)}
.logo .word{font-size:24px;line-height:1;font-weight:600;letter-spacing:-.05em}
.logo .word span{font-weight:400;color:var(--muted)}
.logo .sec{font-size:14px;color:var(--muted);letter-spacing:-.005em;align-self:center;padding-left:10px;margin-left:2px;border-left:1px solid var(--line);overflow:hidden;text-overflow:ellipsis}
.logo .sec:empty{display:none}
.logo[data-mode="event"] .word span{display:none}
.topnav{display:flex;gap:2px;background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:4px}
.topnav a{display:flex;align-items:center;gap:4px;padding:7px 16px;border-radius:999px;border:1px solid transparent;font-size:15px;line-height:1.3;
  color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .15s,background .15s}
.topnav > a:hover,.topnav-dd > a:hover{color:var(--fg)}
.topnav svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:-4px;transition:transform .2s}
body[data-tab="today"] .topnav a[data-tab="today"],body[data-tab="week"] .topnav a[data-tab="week"],
body[data-tab="events"] .topnav a[data-tab="events"],body[data-tab="rada"] .topnav a[data-tab="rada"],
body[data-tab="podcast"] .topnav a[data-tab="podcast"]{background:var(--card);border-color:var(--line);color:var(--fg);box-shadow:var(--shadow)}
.topnav-dd{position:relative}
.topnav-menu{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;min-width:270px;display:grid;gap:2px;padding:6px;
  background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.12);
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}
.topnav-menu::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.topnav-dd:hover .topnav-menu,.topnav-dd:focus-within .topnav-menu{opacity:1;visibility:visible;transform:none}
.topnav-dd:hover > a svg,.topnav-dd:focus-within > a svg{transform:rotate(180deg)}
.topnav-menu a{display:block;padding:10px 14px;border-radius:12px;color:var(--fg);white-space:normal}
.topnav-menu a:hover{background:var(--tint)}
.topnav-menu b{display:block;font-weight:500;font-size:15px}
.topnav-menu span{display:block;font-size:13px;color:var(--muted);margin-top:1px}
.top-push{justify-self:end;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);border-radius:999px;
  padding:8px 14px;font-size:14.5px;color:var(--fg);cursor:pointer;white-space:nowrap}
.top-push:hover{border-color:color-mix(in srgb,var(--fg) 30%,var(--line))}
.top-push svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.top-push[data-on="1"]{background:var(--tint);color:var(--muted)}
.top-push[data-blocked="1"]{display:none}
.top-push:disabled{opacity:.6;cursor:progress}
.logo .sec{display:none}

/* кнопки і мітки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 20px;font-size:15.5px;text-decoration:none;cursor:pointer;white-space:nowrap;border:1px solid var(--line);background:var(--card);line-height:1.2}
.btn:hover{border-color:color-mix(in srgb,var(--fg) 30%,var(--line))}
.btn.dark{background:var(--ink);color:var(--ink-fg);border-color:var(--ink)}
.btn.dark:hover{opacity:.88}
.btn.sm{padding:8px 15px;font-size:14px}
/* мітка рівня «наростання»: підпис капітелями над трьома точками; кожна наступна точка темніша */
.lvl{--f1:var(--lv1);--f2:var(--lv2);--f3:var(--lv3);display:inline-flex;flex-direction:column;gap:6px;line-height:1;vertical-align:middle;white-space:nowrap}
.lvl small{font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.lvl .dots{display:inline-flex;align-items:center;gap:3px}
.lvl .dots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--lv0)}
.lvl.low .dots i:nth-child(1),.lvl.mid .dots i:nth-child(1),.lvl.high .dots i:nth-child(1){background:var(--f1)}
.lvl.mid .dots i:nth-child(2),.lvl.high .dots i:nth-child(2){background:var(--f2)}
.lvl.high .dots i:nth-child(3){background:var(--f3)}
.lvl.word{flex-direction:row;align-items:center;gap:10px}
.lvl.word b{font-weight:500;font-size:inherit;letter-spacing:-.01em}
.tile .lvl .dots{gap:4px}.tile .lvl .dots i{width:9px;height:9px}
.row > .lvl + .lvl{margin-left:16px}
.pend{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);line-height:1}
.pend::before{content:"";width:6px;height:6px;border-radius:50%;border:1.5px dashed var(--muted);opacity:.6}
/* позначка демо-даних: штрихований квадратик, як «чернетка» */
.demo{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;line-height:1;color:var(--muted);padding:5px 10px 5px 8px;border-radius:999px;background:var(--tint);white-space:nowrap}
.demo::before{content:"";width:10px;height:10px;border-radius:3px;background:repeating-linear-gradient(135deg,var(--muted) 0 1.5px,transparent 1.5px 4px);opacity:.7}
.muted{color:var(--muted)}
.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* вступ */
.intro{padding-block:48px 28px}
.intro .date{font-size:15px;color:var(--muted);margin:0 0 10px}
.intro h1{font-weight:400;font-size:clamp(34px,4.6vw,56px);line-height:1.06;letter-spacing:-.045em;margin:0 0 14px}
.intro p{font-size:clamp(17px,1.5vw,19px);color:var(--muted);margin:0;max-width:36em}

/* сегментний перемикач */
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;background:var(--tint);border:1px solid var(--line);border-radius:20px;padding:5px}
.seg button{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 10px;border-radius:15px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:16px;color:var(--muted);min-width:0}
.seg button small{font-size:13px;color:var(--muted)}
.seg button canvas{width:14px;height:14px;border-radius:50%;flex:none}
.seg button .short{display:none}
.seg button[aria-selected="true"]{background:var(--card);border-color:var(--line);color:var(--fg);box-shadow:var(--shadow)}
.seg.compact{display:inline-grid;border-radius:999px}
.seg.compact button{border-radius:999px;padding:9px 20px;font-size:15px}

/* список подій дня */
.events{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.event{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px 22px;text-decoration:none;transition:box-shadow .2s}
.event:hover{box-shadow:var(--shadow)}
.event canvas{width:64px;height:64px;border-radius:50%}
.event .t{font-size:14px;color:var(--muted);margin:0 0 2px;font-variant-numeric:tabular-nums}
.event h2,.event h3{margin:0 0 4px;font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.3}
.event p{margin:0 0 10px;color:var(--muted);font-size:15.5px;line-height:1.5}
.event .go{font-size:15px;white-space:nowrap}

/* секції */
.sect{padding-block:72px 0}
.sect > h2{font-weight:400;font-size:clamp(28px,3.2vw,40px);letter-spacing:-.04em;line-height:1.1;margin:0 0 24px}
.sect > h2 span{color:var(--muted)}

/* головне тижня */
.top-stories{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.story{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;text-decoration:none;min-width:0;transition:box-shadow .2s}
.story:hover{box-shadow:var(--shadow)}
.story .pic{background:var(--tint);display:grid;place-items:center;aspect-ratio:16/9;max-width:100%}
.story .pic canvas{width:42%;aspect-ratio:1;border-radius:50%}
.story .txt{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.story .c{font-size:13.5px;color:var(--muted)}
.story h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.3}
.story.big h3{font-size:clamp(22px,2.4vw,28px);font-weight:400;letter-spacing:-.03em}
.story p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.5}
.story .row{margin-top:auto;padding-top:8px}
.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.stack .story .pic{aspect-ratio:auto;padding:22px 0}
.stack .story .pic canvas{width:88px}

/* словник */
.gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.term{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px 20px}
.term b{display:block;font-weight:500;font-size:16.5px;margin-bottom:4px}
.term span{color:var(--muted);font-size:15px;line-height:1.5}

/* стаття */
.article{max-width:760px;margin:0 auto;padding-block:32px}
.article .back{margin-bottom:28px}
.article .meta{font-size:14.5px;color:var(--muted);margin:0 0 12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.article .meta canvas{width:28px;height:28px;border-radius:50%}
.article h1{font-weight:400;font-size:clamp(32px,4.4vw,52px);line-height:1.08;letter-spacing:-.04em;margin:0 0 18px}
.article .lede{font-size:clamp(18px,1.6vw,20px);line-height:1.6;margin:0 0 24px}
.article h2{font-size:clamp(24px,2.4vw,30px);font-weight:400;letter-spacing:-.035em;margin:56px 0 16px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 0}
.tile{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px 20px;min-width:0}
.tile .k{font-size:13.5px;color:var(--muted);margin:0 0 8px}
.tile .v{font-size:21px;letter-spacing:-.025em;line-height:1.2;margin:0}
.tile .s{font-size:13.5px;color:var(--muted);margin:6px 0 0;line-height:1.45}
.box{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 24px}
.short{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.short li{padding-left:22px;position:relative}
.short li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--fg)}
.foryou-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:56px 0 16px}
.foryou-head h2{margin:0}
.points{display:flex;flex-direction:column;gap:10px}
.point{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px 20px}
.point .row{margin-bottom:8px}
.point h4{margin:0 0 4px;font-size:17px;font-weight:500;letter-spacing:-.015em}
.point p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
/* тон Telegram «лінія більшості»: одна смуга з частками і позначка «половина постів» */
.mverdict{margin:18px 0 0;font-size:15px;font-weight:500;letter-spacing:-.01em}
.mbar{position:relative;padding-top:26px;margin:6px 0 10px}
.mbar .track{display:flex;height:34px;border-radius:10px;overflow:hidden;gap:2px}
.mbar .track i{display:flex;align-items:center;padding:0 12px;font-size:14px;font-weight:500;font-style:normal;font-variant-numeric:tabular-nums;min-width:0;white-space:nowrap;overflow:hidden}
.mbar .track i.tiny{padding:0;font-size:0}
.mbar .neg{background:var(--tone-neg);color:#ffffff}
.mbar .neu{background:var(--tone-neu);color:var(--fg);justify-content:flex-end}
.mbar .pos{background:var(--tone-pos);color:#ffffff}
.mbar .half{position:absolute;left:50%;top:0;bottom:-8px;border-left:2px dashed var(--fg)}
.mbar .half span{position:absolute;top:0;left:8px;font-size:12px;font-weight:500;white-space:nowrap}
.mlegend{display:flex;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.mlegend span{white-space:nowrap}
.mtotal{font-size:13.5px;color:var(--muted);margin:10px 0 0}
.themes{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0}
.theme{font-size:14px;background:var(--tint);padding:5px 12px;border-radius:999px}
.posts{margin-top:18px;border-top:1px solid var(--line)}
.post{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding-block:12px;border-bottom:1px solid var(--line);font-size:15.5px}
.post time{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.post .ch{color:var(--muted);font-size:13px;display:block}
details.more{background:var(--card);border:1px solid var(--line);border-radius:22px;margin-top:56px}
details.more summary{cursor:pointer;list-style:none;padding:20px 24px;font-size:17px;font-weight:500;display:flex;justify-content:space-between;gap:12px}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:"+";font-weight:400;font-size:22px;line-height:1;color:var(--muted)}
details.more[open] summary::after{content:"–"}
details.more .in{padding:0 24px 22px}
.item{padding-block:14px;border-top:1px solid var(--line)}
.item .sec{font-size:13px;color:var(--muted)}
.item p{margin:4px 0 10px;font-size:15.5px}
.chip{display:inline-block;font-size:13.5px;border:1px solid var(--line);background:var(--shell);border-radius:999px;padding:5px 12px;font-variant-numeric:tabular-nums;margin:0 4px 6px 0}
.chip small{color:var(--muted)}
.note{border:1px dashed var(--line);border-radius:18px;padding:16px 18px;font-size:14px;color:var(--muted);margin-top:40px}
.others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.other{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;text-decoration:none;font-size:15px;line-height:1.35;min-width:0}
.other:hover{box-shadow:var(--shadow)}
.other canvas{width:32px;height:32px;border-radius:50%;flex:none}
.other small{display:block;color:var(--muted);font-size:12.5px;margin-bottom:2px}
.empty{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px}
.empty p{margin:0 0 8px}

footer{margin-top:80px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:900px){
  .top{grid-template-columns:auto 1fr auto;gap:16px}
  .topnav{justify-self:center}
  .topnav a{padding:7px 12px;font-size:14.5px}
  .top-push span{display:none}
  .top-push{padding:8px 10px}
  .top-stories{grid-template-columns:1fr}
  .others{grid-template-columns:1fr}
}
@media (max-width:640px){
  .mlegend{font-size:12px}
  .mbar .track i{padding:0 9px;font-size:13px}
  .logo .sec{display:none}
  body{font-size:16px}
  .shell{border-radius:20px 20px 0 0}
  .seg{padding:4px;border-radius:18px;gap:3px}
  .seg button{flex-direction:column;gap:3px;padding:9px 4px;border-radius:14px;font-size:14.5px;line-height:1.15}
  .seg button canvas,.seg button .full{display:none}
  .seg button .short{display:block}
  .seg button small.short{font-size:12px}
  .seg.compact button{flex-direction:row;padding:9px 14px}
  .announce{gap:8px 10px;font-size:13.5px;padding:10px 16px}
  .announce > span{display:none}
  .announce canvas{width:20px;height:20px}
  .event{align-items:start}
  .event{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:16px}
  .event canvas{width:44px;height:44px}
  .event .go{display:none}
  .tiles,.gloss{grid-template-columns:1fr}
}

/* ── Тиждень за 60 секунд: композиція сфер тем тижня + текст, як «story.big» ── */
.digest{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.dpic{position:relative;background:var(--tint);min-height:340px}
.dorbs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(86%,380px);aspect-ratio:1}
.dorbs canvas{position:absolute;aspect-ratio:1;border-radius:50%}
.dorbs .o1{width:64%;left:4%;top:20%}
.dorbs .o2{width:32%;right:2%;top:4%}
.dorbs .o3{width:23%;right:6%;bottom:8%}
.dorbs .o4{width:14%;left:2%;top:6%}
.dperiod{position:absolute;left:18px;bottom:18px;font-size:13px;line-height:1;padding:7px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-variant-numeric:tabular-nums}
.dtxt{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;min-width:0}
.dmeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13.5px;color:var(--muted);margin:0 0 14px}
.dtxt h3{font-weight:400;font-size:clamp(24px,2.6vw,32px);line-height:1.12;letter-spacing:-.035em;margin:0 0 16px}
.dtxt > p:not(.dmeta){font-size:16.5px;line-height:1.65;margin:0 0 12px;color:color-mix(in srgb,var(--fg) 82%,var(--muted))}
.dtopics{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px}
.dtopics .theme{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 6px}
.dtopics canvas{width:16px;height:16px;border-radius:50%}
@media (max-width:900px){
  .digest{grid-template-columns:1fr}
  .dpic{min-height:0;aspect-ratio:16/7}
  .dorbs{width:auto;height:92%}
  }
@media (max-width:640px){
  .dpic{aspect-ratio:16/9}
  .dperiod{left:12px;bottom:12px}
}

/* ── Усі засідання (/events/) ──────────────────────────────── */
.ev-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px}
.ev-stats div{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px 20px}
.ev-stats b{display:block;font-weight:400;font-size:clamp(26px,2.8vw,34px);letter-spacing:-.04em;line-height:1.1;font-variant-numeric:tabular-nums}
.ev-stats span{font-size:14px;color:var(--muted)}
.ev-group{padding-top:48px}
.ev-group-h{font-weight:400;font-size:clamp(28px,3.2vw,40px);letter-spacing:-.04em;line-height:1.1;margin:0}
.ev-day{padding-top:32px}
.ev-date{display:flex;align-items:center;gap:14px;margin:0;font-weight:400}
.ev-date time{display:flex;align-items:center;gap:12px}
.ev-date b{font-weight:400;font-size:44px;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;min-width:1.2em}
.ev-date span{display:flex;flex-direction:column;font-size:17px;line-height:1.25;letter-spacing:-.015em}
.ev-date small{font-size:14px;color:var(--muted)}
.ev-date em{font-style:normal;font-size:13px;line-height:1;padding:6px 11px;border-radius:999px;background:var(--tint);border:1px solid var(--line)}
.ev-day.today .ev-date em{background:var(--ink);color:var(--ink-fg);border-color:var(--ink)}
.ev-group[data-group="past"] .event canvas{filter:saturate(.55)}
@media (max-width:640px){
  .ev-stats div{padding:14px 16px}
  .ev-date b{font-size:36px}
  .ev-group{padding-top:36px}
  .ev-day{padding-top:24px}
}
.dtxt .dlisten{margin:8px 0 0}
.dtxt .dlisten .btn{font-size:15px;padding:10px 18px}
