@font-face{
  font-family:"Phenomena"; font-style:normal; font-weight:700;
  src:url("fonts/Phenomena-Bold.woff2") format("woff2"); font-display:swap;
}
@font-face{
  font-family:"Phenomena"; font-style:normal; font-weight:900;
  src:url("fonts/Phenomena-Black.woff2") format("woff2"); font-display:swap;
}

:root{
  --canvas:#FDFDFD; --ink:#1A1A1A;
  --p900:#4E3C84; --p500:#654EA3; --p300:#7B66B8; --p200:#9C8BCC; --p100:#EEEAF7; --p50:#F6F4FB;
  --sec500:#FFEC08;
  --n100:#EFEFF1; --n200:#E2E2E6; --n300:#CACAD1; --n400:#9FA0A9; --n500:#6A6C77; --n700:#3F4049;
  --pause:#B23A48;
  --display:"Phenomena", "Inter Tight", system-ui, sans-serif;
  --body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{ box-sizing:border-box; }
html, body{ margin:0; padding:0; background:var(--canvas); color:var(--ink);
  font-family:var(--body); font-size:16px; line-height:1.5; }
.sr-only{ position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

.widget{ max-width:760px; margin:0 auto; padding:20px; }
.hero{ background:linear-gradient(180deg,#faf9fd,#f0edf7);
  border:1px solid var(--n100); border-radius:16px; padding:18px 20px 16px; }
.hero-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }

.yr{ display:inline-block; font-family:var(--display); font-weight:900;
  font-size:clamp(34px,9vw,44px); line-height:1.05; letter-spacing:-1px;
  color:var(--ink); background:var(--sec500);
  border:1.5px solid var(--ink); border-radius:11px; padding:1px 14px 3px;
  font-variant-numeric:tabular-nums; }

.sub{ font-size:13px; color:var(--n500); margin-top:6px; }

#metrics{ margin-top:12px; }
.metric{ display:flex; align-items:baseline; gap:8px; margin-top:4px; }
.metric .big{ font-family:var(--display); font-weight:900; color:var(--p500);
  font-size:clamp(26px,7vw,32px); line-height:1.15; font-variant-numeric:tabular-nums; }
.num{ color:var(--p500); font-weight:700; white-space:nowrap; }
.mlbl{ font-size:13px; color:var(--n500); }

.pausebox{ margin-top:14px; font-size:16px; color:var(--pause); font-weight:700; }
.lanes{ display:flex; flex-wrap:wrap; align-content:flex-start; gap:3px;
  margin-top:13px; min-height:29px; }
.lane{ height:13px; width:20px; border-radius:3px; opacity:0;
  transform:translateY(4px); transition:opacity .3s ease-out, transform .3s ease-out; }
.lane.show{ opacity:1; transform:translateY(0); }
.lane-note{ font-size:11px; color:var(--n500); margin-top:5px; }
.fs-btn{ display:inline-flex; align-items:center; gap:7px; flex:0 0 auto;
  border:1.5px solid var(--p500); background:transparent; color:var(--p500);
  border-radius:8px; font-family:var(--body); font-size:14px; font-weight:600;
  padding:8px 14px; min-height:44px; cursor:pointer;
  transition:background-color 150ms ease-out; }
.fs-btn:hover{ background:var(--p100); }
.fs-btn:focus-visible{ outline:2px solid var(--p500); outline-offset:2px; }
.teaser-hint{ font-size:14px; color:var(--n700); margin:14px 2px 0; max-width:60ch; }
.widget.is-fs{ max-width:920px; margin:0 auto; height:100%; padding:0;
  display:flex; flex-direction:column; align-items:center; background:var(--canvas); }
.widget:fullscreen{ background:var(--canvas); }
.widget::backdrop{ background:var(--canvas); }
.widget.is-fs .hero,
.widget.is-fs .stage{ width:100%; max-width:920px; }
.widget.is-fs .hero{ position:sticky; top:0; z-index:5; border-radius:0;
  border-left:0; border-right:0; border-top:0; padding:14px 18px;
  min-height:260px; }
.widget.is-fs .teaser-hint{ display:none; }
.widget.is-fs .fs-txt::after{ content:""; }
.widget.is-fs .stage{ display:flex; flex:1; min-height:0; }

.stage{ position:relative; }
.scroller{ flex:1; overflow-y:auto; scroll-snap-type:y mandatory;
  scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; }
.scroller::-webkit-scrollbar{ width:0; height:0; }
.scroller:focus-visible{ outline:2px solid var(--p500); outline-offset:-2px; }
.year-sec{ min-height:100%; scroll-snap-align:start; scroll-snap-stop:always;
  padding:26px 20px;
  display:flex; flex-direction:column; justify-content:center;
  border-bottom:1px dashed var(--n100); }
.year-sec .tag{ font-size:11px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--p500); }
.year-sec.pause .tag{ color:var(--pause); }
.year-sec h3{ font-family:var(--display); font-weight:900;
  font-size:clamp(22px,6vw,26px); line-height:1.2; margin:8px 0 14px; }
.ptxt{ margin:0 0 11px; font-size:15px; color:var(--n700); line-height:1.55; }
.ptxt:last-child{ margin-bottom:0; }
.rail{ flex:0 0 auto; display:flex; flex-direction:column; gap:2px;
  padding:14px 8px; overflow-y:auto; scrollbar-width:none; }
.rail::-webkit-scrollbar{ width:0; height:0; }
.rail .r{ display:flex; align-items:center; gap:7px; min-height:30px;
  padding:0 4px; border:0; background:transparent; cursor:pointer;
  font-family:var(--body); font-size:12px; font-variant-numeric:tabular-nums;
  color:var(--n400); border-radius:6px; }
.rail .r:hover{ background:var(--n100); }
.rail .r:focus-visible{ outline:2px solid var(--p500); outline-offset:2px; }
.rail .r .pip{ width:9px; height:9px; border-radius:50%;
  background:var(--n300); transition:transform .2s, background-color .2s; flex:0 0 auto; }
.rail .r.on{ color:var(--p500); font-weight:700; }
.rail .r.on .pip{ background:var(--p500); transform:scale(1.35); }
@media (pointer:coarse){ .rail .r{ min-height:44px; } }
.hint{ position:absolute; bottom:10px; left:0; right:34px; text-align:center;
  font-size:11px; color:var(--n400); pointer-events:none;
  animation:bob 1.6s infinite; transition:opacity .3s; }
@keyframes bob{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(3px);} }
@media (max-width:599px){
  .widget{ padding:16px; }
  .year-sec{ padding:22px 16px; }
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .scroller{ scroll-behavior:auto; }
  .hint{ display:none; }
}

@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-tight-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-tight-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-tight-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-tight-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:900;font-display:swap;src:url("fonts/inter-tight-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:900;font-display:swap;src:url("fonts/inter-tight-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:900;font-display:swap;src:url("fonts/inter-tight-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:900;font-display:swap;src:url("fonts/inter-tight-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}