@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap");

:root {
  --blue: #1e73be;
  --green: #309b55;
  --yellow: #efbc21;
  --orange: #ff6f3a;
  --red: #dd3333;
  --teal: #008080;
  --olive: #808000;
  --pink: #e84dd8;
  --cyan: #22b7de;
  --ink: #202124;
  --muted: #868686;
  --page: 1280px;
  --header-height: 212.40625px;
  --header-top: 0px;
  --header-edge: 212.40625px;
  --content-edge-gap: 20px;
  --page-top-clearance: var(--content-edge-gap);
  --content-top: 12px;
  --content-inline: 24px;
  --content-bottom: 80px;
  --module-gap: 28px;
  --module-section-gap: 34px;
  --module-radius: 24px;
  --module-padding: 18px;
  --record-shell: 868px;
  --record-shell-inline: 14px;
  --footer-height: 54px;
  --mobile-nav-height: 48px;
  --mobile-credit-height: 16px;
  --mobile-dock-height: 64px;
  --footer-rendered-height: 54px;
  --mobile-dock-rendered-height: 0px;
  --page-footer-height: 0px;
  --viewport-bottom-chrome: 54px;
  --viewport-content-top: var(--header-edge);
  --viewport-content-bottom: calc(100dvh - var(--viewport-bottom-chrome));
  --viewport-content-height: calc(var(--viewport-content-bottom) - var(--viewport-content-top));
  --view-fade-duration: .86s;
  --skull-parade-max-width: calc(var(--record-shell) - (var(--record-shell-inline) * 2) - (var(--module-padding) * 2));
  --surface: #edf3f8;
  --surface-soft: #f5f8fb;
  --neu-dark: rgba(143, 158, 184, .4);
  --neu-light: rgba(255, 255, 255, .96);
  --neu-border: rgba(139, 153, 175, .34);
  --neu-raised: 8px 9px 20px rgba(143, 158, 184, .36), -7px -7px 17px var(--neu-light);
  --neu-small: 4px 5px 10px var(--neu-dark), -4px -4px 10px var(--neu-light);
  --neu-inset: inset 3px 3px 7px rgba(143, 158, 184, .4), inset -3px -3px 7px rgba(255, 255, 255, .92);
  --shadow: var(--neu-small);
}

* { box-sizing: border-box; }
html { -webkit-tap-highlight-color:transparent; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-edge) + var(--page-top-clearance)); }
body {
  background: var(--surface);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  margin: 0;
  overflow-x: clip;
  padding-bottom: var(--footer-height);
}
html[data-current-view="tetris"],
html[data-current-view="tetris"] body {
  height:100%;
  overflow:hidden;
  overscroll-behavior:none;
}
html[data-current-view="tetris"] .tetris-page {
  bottom:var(--footer-height);
  left:0;
  overflow:hidden;
  position:fixed;
  right:0;
  top:calc(var(--header-edge) + var(--page-top-clearance));
  touch-action:none;
}
a { color: inherit; }
img { height: auto; max-width: 100%; }
button, input, textarea { font: inherit; }
.skip-link { background:#fff; left:8px; padding:8px 12px; position:fixed; top:-80px; z-index:100000; }
.skip-link:focus { top:8px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute!important; white-space:nowrap; width:1px; }

.site-header {
  background: var(--surface);
  box-shadow:0 7px 18px rgba(163,177,198,.34);
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9990;
}
.admin-bar .site-header { top: 32px; }
.brand { background:var(--surface); height:119.40625px; position:relative; }
.brand::after { background:rgba(117,128,146,.48); content:""; height:1px; left:10px; position:absolute; right:10px; top:79px; }
.brand__name, .brand__role {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  display:inline-flex;
  font-weight:700;
  letter-spacing:0;
  padding:0 2px;
  position: absolute;
  right: 10px;
  text-decoration: none;
  white-space: nowrap;
}
.brand__name { font-size:60px; height:60px; line-height:60px; top:19px; }
.brand__role { color:#000; font-size:36px; height:50.40625px; line-height:50.4px; top:65px; }
.brand__name-text,.brand__role-text { display:inline-flex; width:max-content; }
.brand__name-character { display:inline-block; margin-right:-3px; }
.brand__role-character { display:inline-block; margin-right:-2px; }
.brand__subtitle { color: rgba(0,0,0,.5); font-family:"Archivo Black","Arial Black",sans-serif; font-size:16px; left:10px; line-height:16px; padding:0 2px; position:absolute; text-decoration:none; top:81px; }
.brand__subtitle:hover { color: var(--red); }

.news-ticker { align-items:center; background:var(--surface); border:2px solid var(--red); border-radius:7px; box-shadow:var(--neu-inset); display:flex; height:35px; margin:0 10px; overflow:hidden; white-space:nowrap; }
.news-ticker__label { background:var(--red); color:#fff; flex:0 0 auto; font-size:16px; font-weight:400; height:28px; line-height:26px; padding:0 8px; }
.news-ticker__viewport { overflow:hidden; width:100%; }
.news-ticker__track { animation: ticker 55s linear infinite; display:flex; gap:42px; width:max-content; }
.news-ticker__track:hover { animation-play-state:paused; }
.news-ticker__track a { color:#666; text-decoration:none; }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.site-nav { display:grid; gap:clamp(12px,2vw,24px); grid-template-columns:repeat(4,minmax(0,1fr)); margin:auto; max-width:var(--page); padding:7px clamp(16px,2vw,28px); }
.site-nav__link, .mobile-nav__link {
  align-items:center;
  background-image:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,0) 44%,rgba(0,0,0,.13));
  color:#fff;
  display:flex;
  font-weight:900;
  justify-content:center;
  text-decoration:none;
  text-shadow:0 1px 2px rgba(0,0,0,.24);
}
.site-nav__link { border:1px solid rgba(255,255,255,.5); border-radius:24px; box-shadow:var(--neu-small),inset 0 1px 2px rgba(255,255,255,.42); font-size:18px; height:44px; }
.site-nav__link:active,.mobile-nav__link:active { box-shadow:inset 4px 4px 8px rgba(0,0,0,.18),inset -3px -3px 7px rgba(255,255,255,.2); transform:translateY(1px); }
.site-nav__link--profile,.mobile-nav__link--profile { background-color:var(--blue); --glow:rgba(0,212,255,.98); }
.site-nav__link--opus,.mobile-nav__link--opus { background-color:var(--green); --glow:rgba(166,255,0,.98); }
.site-nav__link--schedule,.mobile-nav__link--schedule { background-color:var(--yellow); --glow:rgba(255,255,0,1); }
.site-nav__link--link,.mobile-nav__link--link { background-color:var(--orange); --glow:rgba(255,72,0,1); }
.site-nav__link[aria-current="page"] { animation:nav-glow 2s ease-in-out infinite; filter:saturate(1.12); }
@keyframes nav-glow { 0%,100% { box-shadow:var(--neu-small),inset 0 1px 2px rgba(255,255,255,.42),0 0 0 0 var(--glow); } 50% { box-shadow:var(--neu-small),inset 0 1px 2px rgba(255,255,255,.42),0 0 16px 5px var(--glow); } }


.page-footer { bottom:var(--footer-height); height:40px; left:0; position:fixed; right:0; z-index:9992; }
.page-footer:empty { display:none; }
.page-footer .context-nav { height:100%; }

.context-nav { --context-accent:var(--green); align-items:center; background:linear-gradient(var(--surface),rgba(237,241,247,.82)); display:grid; gap:10px; grid-template-columns:100px minmax(0,1fr) 100px; height:40px; overflow:hidden; padding:0 12px; white-space:nowrap; }
.context-nav--schedule { --context-accent:var(--yellow); }
.context-nav--works { --context-accent:var(--blue); }
.context-nav.context-nav--profile { --context-accent:var(--blue); grid-template-columns:minmax(0,1fr); }
.context-nav.context-nav--link { --context-accent:var(--orange); grid-template-columns:minmax(0,1fr); }
.context-nav--profile .context-nav__years { display:grid; grid-template-columns:repeat(4,minmax(88px,120px)); justify-content:center; overflow:visible; }
.context-nav--profile .context-nav__years button { width:100%; }
.context-nav a,.context-nav button { border:0; border-radius:500px; color:#747c89; cursor:pointer; font-size:13px; font-weight:800; min-width:30px; padding:4px 10px; text-align:center; text-decoration:none; }
.context-nav button { font-family:inherit; }
.context-nav__years { align-items:center; display:flex; gap:9px; height:100%; justify-content:center; min-width:0; overflow:auto; padding:6px 8px; scrollbar-width:none; }
.context-nav__years::-webkit-scrollbar { display:none; }
.context-nav__section-link { color:#747c89; }
.context-nav__section-link.is-current { color:var(--context-accent); }
.context-nav__years :is(a,button) { background:var(--surface); border:1px solid rgba(255,255,255,.64); box-shadow:2px 3px 6px rgba(143,158,184,.34),-2px -2px 6px rgba(255,255,255,.92); flex:0 0 auto; }
.context-nav__years :is(a,button)[aria-current="page"] { background:var(--context-accent); border-color:rgba(255,255,255,.3); box-shadow:inset 3px 3px 7px rgba(0,0,0,.19),inset -3px -3px 7px rgba(255,255,255,.28); color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.3); }
.context-nav__years :is(a,button):active { box-shadow:var(--neu-inset); transform:translateY(1px); }
.link-thanks { align-items:center; color:var(--orange); display:flex; font-size:14px; font-weight:900; height:100%; justify-content:center; letter-spacing:.025em; min-width:0; overflow:hidden; text-decoration:none; text-shadow:0 1px 0 rgba(255,255,255,.96); }
.link-thanks__text { display:inline-flex; transform-origin:50% 70%; }
.link-thanks__character { display:inline-block; transform-origin:50% 75%; }
.link-thanks--pop .link-thanks__character { animation:link-thanks-pop 3.1s cubic-bezier(.34,1.56,.64,1) infinite; animation-delay:calc(var(--char-index) * -.065s); }
.link-thanks--shoulder-sway .link-thanks__text { animation:link-thanks-shoulder-sway 4.2s cubic-bezier(.45,0,.55,1) infinite; }
.link-thanks--shoulder-sway .link-thanks__character { animation:link-thanks-shoulder-lean 4.2s cubic-bezier(.45,0,.55,1) infinite; animation-delay:calc(var(--char-index) * -.018s); }
.link-thanks--wave .link-thanks__character { animation:link-thanks-wave 3.4s cubic-bezier(.37,0,.63,1) infinite; animation-delay:calc(var(--char-index) * -.09s); }
.link-thanks--breathe .link-thanks__character { animation:link-thanks-breathe 4.6s ease-in-out infinite; animation-delay:calc(var(--char-index) * -.04s); }
.link-thanks--ripple .link-thanks__character { animation:link-thanks-ripple 3.8s cubic-bezier(.37,0,.63,1) infinite; animation-delay:calc(var(--char-index) * -.075s); }
.link-thanks--bounce .link-thanks__character { animation:link-thanks-bounce 3.6s cubic-bezier(.34,1.2,.64,1) infinite; animation-delay:calc(var(--char-index) * -.08s); }
.link-thanks--twist .link-thanks__character { animation:link-thanks-twist 4.4s ease-in-out infinite; animation-delay:calc(var(--char-index) * -.06s); }
.link-thanks--float .link-thanks__text { animation:link-thanks-float 4.8s cubic-bezier(.45,0,.55,1) infinite; }
.link-thanks--float .link-thanks__character { animation:link-thanks-float-character 4.8s ease-in-out infinite; animation-delay:calc(var(--char-index) * -.07s); }
.link-thanks--cascade .link-thanks__character { animation:link-thanks-cascade 4s cubic-bezier(.22,1,.36,1) infinite; animation-delay:calc(var(--char-index) * -.085s); }
.link-thanks--heartbeat .link-thanks__text { animation:link-thanks-heartbeat 4.4s cubic-bezier(.34,1.56,.64,1) infinite; }
@keyframes link-thanks-pop { 0%,64%,100%{transform:translateY(0) scale(1)} 72%{transform:translateY(-4px) scale(1.13,.92)} 80%{transform:translateY(1px) scale(.97,1.04)} 88%{transform:translateY(-1px) scale(1.02)} }
@keyframes link-thanks-shoulder-sway { 0%,100%{transform:translateX(-6px) rotate(-1deg)} 50%{transform:translateX(6px) rotate(1deg)} }
@keyframes link-thanks-shoulder-lean { 0%,100%{transform:rotate(-1.3deg)} 50%{transform:rotate(1.3deg)} }
@keyframes link-thanks-wave { 0%,58%,100%{transform:translateY(0)} 70%{transform:translateY(-4px)} 82%{transform:translateY(1px)} 90%{transform:translateY(-1px)} }
@keyframes link-thanks-breathe { 0%,100%{transform:scale(1)} 50%{transform:scale(1.055);color:#f35f2b} }
@keyframes link-thanks-ripple { 0%,100%{transform:translateY(1px) skewX(-1deg)} 50%{transform:translateY(-2px) skewX(1deg)} }
@keyframes link-thanks-bounce { 0%,66%,100%{transform:translateY(0) rotate(0)} 76%{transform:translateY(-5px) rotate(-2deg)} 86%{transform:translateY(1px) rotate(1deg)} }
@keyframes link-thanks-twist { 0%,60%,100%{transform:perspective(80px) rotateY(0)} 76%{transform:perspective(80px) rotateY(22deg)} 88%{transform:perspective(80px) rotateY(-8deg)} }
@keyframes link-thanks-float { 0%,100%{transform:translateY(1px) rotate(-.35deg)} 50%{transform:translateY(-2px) rotate(.35deg)} }
@keyframes link-thanks-float-character { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-1.5px)} }
@keyframes link-thanks-cascade { 0%,62%,100%{opacity:1;transform:translateY(0)} 72%{opacity:.72;transform:translateY(3px)} 84%{opacity:1;transform:translateY(-3px)} 92%{transform:translateY(0)} }
@keyframes link-thanks-heartbeat { 0%,64%,100%{transform:scale(1)} 70%{transform:scale(1.035)} 76%{transform:scale(.995)} 82%{transform:scale(1.055)} 90%{transform:scale(1)} }

.site-main { min-height:calc(100vh - var(--footer-height)); padding-top:calc(var(--header-height) + var(--page-top-clearance)); }
html[data-view-transitioning="true"] .site-main,html[data-view-transitioning="true"] .context-nav { will-change:opacity; }
.ho-js[data-current-view="home"]:not(.is-view-ready) .site-main,
.ho-js[data-current-view="home"]:not(.is-view-ready) [data-page-footer] > * { opacity:0; }
.content-shell { margin:0 auto; max-width:var(--page); padding:var(--content-top) var(--content-inline) var(--content-bottom); }
.page-title { font-size:32px; margin:0 0 22px; }
.page-title--profile { color:var(--blue); }
.page-title--opus { color:var(--green); }
.page-title--schedule { color:var(--yellow); }
.page-title--link { color:var(--orange); }
.page-heading-row { align-items:center; display:flex; justify-content:space-between; }
.calendar-link { color:#777; font-size:32px; font-weight:800; text-decoration:none; }

.module {
  background:var(--surface);
  border:1px solid var(--neu-border);
  border-radius:var(--module-radius);
  box-shadow:var(--neu-raised);
  overflow:hidden;
  position:relative;
}
.module::before {
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.96),transparent);
  content:"";
  height:1px;
  left:var(--module-padding);
  pointer-events:none;
  position:absolute;
  right:var(--module-padding);
  top:1px;
}
.module--record { padding:var(--module-padding); }
.module--prose { padding:clamp(18px,3vw,34px); }
.module--link { padding:var(--module-padding); }
.module-list,.module-layout { display:grid; gap:var(--module-gap); }
.module-grid { display:grid; gap:var(--module-gap); }
.record-shell,.module-archive,.focus-stage { margin-inline:auto; max-width:var(--record-shell); padding-inline:var(--record-shell-inline); width:100%; }
.module-archive,.focus-stage { padding-bottom:28px; padding-top:10px; }
.module-section { display:grid; gap:var(--module-gap); }
.module-section + .module-section { margin-top:var(--module-section-gap); }

.capsule { background-image:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,0) 44%,rgba(0,0,0,.14)); border:1px solid rgba(255,255,255,.52); border-radius:500px; box-shadow:var(--neu-small),inset 0 1px 2px rgba(255,255,255,.4); color:#fff; display:inline-flex; font-weight:800; justify-content:center; padding:9px 18px; text-decoration:none; text-shadow:0 1px 2px rgba(0,0,0,.24); }
.capsule:active { box-shadow:inset 4px 4px 8px rgba(0,0,0,.17),inset -3px -3px 7px rgba(255,255,255,.2); transform:translateY(1px); }
.event-card { display:grid; column-gap:28px; grid-template-columns:170px minmax(0,1fr); margin:0; row-gap:0; }
.event-card__date { align-self:start; background-color:#564219; font-size:16px; margin-top:2px; }
.event-card--saturday .event-card__date { background-color:var(--blue); }
.event-card--sunday .event-card__date { background-color:var(--red); }
.event-card--holiday .event-card__date { background-color:var(--orange); }
.event-card--multiple .event-card__date { background-color:#8252a8; }
.event-card__title { font-size:24px; line-height:1.15; margin:0; text-wrap:balance; }
.event-card__title a { text-decoration:none; }
.event-card__title-line { display:block; }
.detail-list dd,.work-row__details dd,.prose { text-wrap:pretty; }
.keep-phrase { white-space:nowrap; }
.event-card__subtitle { font-weight:700; margin:0 0 2px; text-wrap:balance; white-space:pre-line; }
.event-artists__detail { display:none; }
.event-artists__item { display:block; min-width:0; white-space:nowrap; }
.event-artists__detail--many { gap:3px 16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.event-artists__detail--many .event-artists__item--wide { grid-column:1 / -1; }
.focus-page.is-focus .event-card.is-picked .event-artists__list { display:none; }
.focus-page.is-focus .event-card.is-picked .event-artists__detail { display:block; }
.focus-page.is-focus .event-card.is-picked .event-artists__detail--many { display:grid; }
.detail-list,.work-row__details { display:grid; gap:3px 20px; grid-template-columns:172px minmax(0,1fr); margin:0; }
.detail-list dt,.detail-list dd,.work-row__details dt,.work-row__details dd { margin:0; }
.detail-list dd,.work-row__details dd { background:rgba(245,248,251,.48); border:1px solid rgba(255,255,255,.58); border-radius:11px; box-shadow:inset 1px 1px 3px rgba(143,158,184,.2),inset -1px -1px 3px rgba(255,255,255,.72); font-weight:700; line-height:1.45; padding:3px 9px; }
.detail-pill { align-items:center; background:var(--surface); border:2px double currentColor; border-radius:15px; box-shadow:var(--neu-inset); display:flex; font-size:16px; font-weight:800; height:29px; justify-content:center; line-height:1; white-space:nowrap; }
.detail-pill--venue,.detail-pill--composed,.detail-pill--musicians { color:#f06036; }
.detail-pill--time { color:var(--olive); }
.detail-pill--artists,.detail-pill--instruments { color:var(--teal); }
.detail-pill--charge,.detail-pill--style { color:#e8bc18; }
.detail-pill--subtitle { color:var(--pink); }
.detail-pill--title { color:var(--pink); }
.detail-pill--lyric { color:var(--blue); }
.detail-pill--dedication { color:#9abb34; }
.detail-pill--released { color:#555d68; }
.detail-pill--default { color:var(--blue); }

.year-section__title { align-items:center; color:#9299a5; display:flex; font-size:18px; gap:12px; margin:0; text-align:left; }
.year-section__title::after { background:linear-gradient(90deg,rgba(143,158,184,.58),rgba(255,255,255,.86)); box-shadow:0 1px 0 rgba(255,255,255,.75); content:""; flex:1 1 auto; height:1px; min-width:24px; }
.work-row { display:grid; gap:28px; grid-template-columns:170px minmax(0,1fr); margin:0; }
.work-row__name { align-self:start; background-color:var(--work-accent,#dd9933); text-align:center; }
.works-row__name { background-color:var(--blue); border:0; margin:0; }
.works-row__details .detail-pill { font-size:13px; overflow-wrap:anywhere; padding-left:6px; padding-right:6px; }
.works-row__details .detail-pill--arrange { font-size:11.5px; }
.works-row__details .detail-pill--title { color:#cc99ff; }
.works-row__details .detail-pill--music { color:#3366ff; }
.works-row__details .detail-pill--arrange { color:#00ccff; }
.works-row__details .detail-pill--instruments { color:#008080; }
.works-row__details .detail-pill--musicians { color:#99ccff; }
.works-row__details .detail-pill--air { color:#33cccc; }
.works-row__details .detail-pill--style { color:#339966; }
.works-row__details .detail-pill--recording { color:#333399; }
.works-row__details .detail-pill--dedication { color:#008000; }
.works-row__details .detail-pill--arranger { color:#800080; }
.works-row__details .detail-pill--lyric { color:#000080; }
.works-row__details dd { background:rgba(239,246,251,.58); }
.works-row__notes { grid-column:2; }
.works-label-short { display:none; }
.work-row__details dd { min-height:29px; }
.work-row__details small { display:block; font-size:10px; text-transform:uppercase; }

.single-detail { display:grid; gap:var(--module-gap); }
.single-detail__content { margin:0; }
.action-button { background-color:#20242c; white-space:nowrap; }

.language-tabs__buttons { display:flex; gap:12px; margin:-5px -10px 12px; overflow:auto; padding:10px 10px 16px; }
.language-tabs__buttons button { background:var(--surface); border:1px solid var(--neu-border); border-radius:500px; box-shadow:var(--neu-small); color:var(--blue); cursor:pointer; flex:0 0 auto; font-weight:800; padding:9px 20px; }
.language-tabs__buttons button[aria-selected="true"] { background:var(--blue); box-shadow:inset 3px 3px 7px rgba(0,0,0,.2),inset -3px -3px 7px rgba(255,255,255,.25); color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.25); }
.language-tabs__buttons button:active { box-shadow:var(--neu-inset); }
.language-tabs__panel { animation:panel-in .18s ease-out; }
@keyframes panel-in { from { opacity:0; transform:translateY(4px); } }
.profile-page__image { height:clamp(300px,42vh,620px); margin:0; }
.profile-page__image img { display:block; height:100%; object-fit:cover; object-position:center 36%; width:100%; }
.profile-page__image figcaption { background:rgba(35,40,49,.58); border-radius:500px; bottom:10px; color:#fff; font-size:10px; padding:3px 9px; position:absolute; right:12px; }

@media (min-width:768px) and (min-height:650px) {
  .profile-page { box-sizing:border-box; height:var(--viewport-content-height); min-height:0; padding-bottom:0; }
  .profile-page__layout { grid-template-rows:repeat(2,minmax(0,1fr)); height:100%; }
  .profile-page__image { height:auto; min-height:0; }
  .profile-page .language-tabs { min-height:0; }
  .profile-page .language-tabs__panel { height:100%; overflow:auto; overscroll-behavior:contain; }
}
.focus-page.is-focus .event-card.is-picked.has-focus-details { overflow:visible; z-index:20; }
.focus-page.is-focus .event-card.is-picked.has-focus-details .focus-item__extras-inner { overflow:visible; }
.event-skull-parade { align-items:end; display:grid; gap:clamp(4px,1.5vw,18px); grid-template-columns:repeat(var(--skull-count),minmax(0,1fr)); isolation:isolate; margin:0 auto; max-width:var(--skull-parade-max-width); min-height:clamp(92px,14vw,170px); overflow:visible; padding:12px clamp(6px,2vw,20px) 6px; position:relative; width:100%; }
.focus-parade-layer { bottom:calc(100dvh - var(--viewport-content-bottom) + 8px); left:50%; max-width:calc(100vw - 28px); pointer-events:none; position:fixed; transform:translateX(-50%); width:min(calc(100vw - 28px),var(--skull-parade-max-width)); z-index:9988; }
.focus-parade-layer:empty { display:none; }
.event-skull-parade__slot { align-self:end; display:block; justify-self:center; max-height:150px; max-width:150px; opacity:0; transform-origin:50% 100%; width:100%; }
.event-skull-parade__slot img { --skull-visual-scale:1; display:block; transform:scale(var(--skull-visual-scale)); transform-origin:50% 100%; width:100%; }
.event-skull-parade.is-rolling .event-skull-parade__slot { animation-duration:var(--skull-duration); animation-fill-mode:both; animation-timing-function:cubic-bezier(.18,.82,.24,1); animation-delay:var(--skull-delay); }
.event-skull-motion--0 { animation-name:skull-roll-in; }
.event-skull-motion--1 { animation-name:skull-drop-in; }
.event-skull-motion--2 { animation-name:skull-superball; }
.event-skull-motion--3 { animation-name:skull-hop-in; }
.event-skull-motion--4 { animation-name:skull-zigzag-in; }
.event-skull-motion--5 { animation-name:skull-spiral-in; }
.event-skull-motion--6 { animation-name:skull-pop-in; }
.event-skull-motion--7 { animation-name:skull-ricochet-in; }
.event-skull-motion--8 { animation-name:skull-pendulum-in; }
.event-skull-motion--9 { animation-name:skull-skip-in; }
@keyframes skull-roll-in { 0%{opacity:0;transform:translateX(var(--skull-from-x)) rotate(var(--skull-spin)) scale(1.2)} 12%{opacity:1} 76%{transform:translateX(0) rotate(-18deg)} 90%{transform:translateY(-10px) rotate(7deg)} 100%{opacity:1;transform:none} }
@keyframes skull-drop-in { 0%{opacity:0;transform:translateY(-55vh) rotate(calc(var(--skull-spin) * .45))} 20%{opacity:1} 62%{transform:translateY(0) rotate(16deg) scale(1.08,.92)} 76%{transform:translateY(-34px) rotate(-9deg)} 100%{opacity:1;transform:none} }
@keyframes skull-superball { 0%{opacity:0;transform:translateX(var(--skull-from-x)) translateY(-18vh) scale(.72)} 16%{opacity:1} 42%{transform:translateX(calc(var(--skull-from-x) * .55)) translateY(0) scale(1.12,.88)} 62%{transform:translateX(calc(var(--skull-from-x) * .28)) translateY(-72px)} 81%{transform:translateX(0) translateY(0) scale(1.08,.92)} 92%{transform:translateY(-18px)} 100%{opacity:1;transform:none} }
@keyframes skull-hop-in { 0%{opacity:0;transform:translateX(var(--skull-from-x)) translateY(0) rotate(var(--skull-spin))} 10%{opacity:1} 30%{transform:translateX(calc(var(--skull-from-x) * .7)) translateY(-54px)} 50%{transform:translateX(calc(var(--skull-from-x) * .45)) translateY(0)} 70%{transform:translateX(calc(var(--skull-from-x) * .2)) translateY(-34px)} 100%{opacity:1;transform:none} }
@keyframes skull-zigzag-in { 0%{opacity:0;transform:translateX(var(--skull-from-x)) translateY(-85px) rotate(30deg)} 12%{opacity:1} 35%{transform:translateX(calc(var(--skull-from-x) * .65)) translateY(28px) rotate(-22deg)} 58%{transform:translateX(calc(var(--skull-from-x) * .35)) translateY(-48px) rotate(17deg)} 80%{transform:translateX(calc(var(--skull-from-x) * .12)) translateY(14px) rotate(-8deg)} 100%{opacity:1;transform:none} }
@keyframes skull-spiral-in { 0%{opacity:0;transform:translateX(calc(var(--skull-from-x) * .6)) translateY(-48vh) rotate(var(--skull-spin)) scale(.55)} 18%{opacity:1} 58%{transform:translateX(calc(var(--skull-from-x) * .18)) translateY(-55px) rotate(220deg) scale(1.14)} 82%{transform:translateY(12px) rotate(-18deg)} 100%{opacity:1;transform:none} }
@keyframes skull-pop-in { 0%{opacity:0;transform:translateY(28px) scale(.05) rotate(-25deg)} 28%{opacity:1;transform:translateY(-38px) scale(1.34) rotate(12deg)} 56%{transform:translateY(0) scale(.84)} 78%{transform:translateY(-14px) scale(1.08)} 100%{opacity:1;transform:none} }
@keyframes skull-ricochet-in { 0%{opacity:0;transform:translateX(var(--skull-from-x)) translateY(-32vh) rotate(var(--skull-spin))} 14%{opacity:1} 38%{transform:translateX(calc(var(--skull-from-x) * .48)) translateY(10px) rotate(120deg) scale(1.12,.88)} 58%{transform:translateX(calc(var(--skull-from-x) * .22)) translateY(-96px) rotate(-55deg)} 80%{transform:translateX(0) translateY(0) rotate(18deg)} 92%{transform:translateY(-16px) rotate(-7deg)} 100%{opacity:1;transform:none} }
@keyframes skull-pendulum-in { 0%{opacity:0;transform:translateX(var(--skull-from-x)) translateY(-18px) rotate(65deg)} 15%{opacity:1} 44%{transform:translateX(calc(var(--skull-from-x) * .5)) translateY(-74px) rotate(-42deg)} 68%{transform:translateX(calc(var(--skull-from-x) * .18)) translateY(-20px) rotate(28deg)} 86%{transform:translateY(-9px) rotate(-12deg)} 100%{opacity:1;transform:none} }
@keyframes skull-skip-in { 0%{opacity:0;transform:translateX(var(--skull-from-x)) translateY(0) rotate(18deg)} 10%{opacity:1} 25%{transform:translateX(calc(var(--skull-from-x) * .72)) translateY(-26px) rotate(-12deg)} 43%{transform:translateX(calc(var(--skull-from-x) * .52)) translateY(0) scale(1.1,.9)} 60%{transform:translateX(calc(var(--skull-from-x) * .32)) translateY(-52px) rotate(16deg)} 78%{transform:translateX(calc(var(--skull-from-x) * .12)) translateY(0) scale(1.08,.92)} 90%{transform:translateY(-17px)} 100%{opacity:1;transform:none} }
.focus-item__extras { grid-column:1 / -1; margin:0; }
.focus-item__extras { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .84s cubic-bezier(.18,.82,.24,1),opacity .44s ease; visibility:hidden; }
.focus-item__extras-inner { display:grid; gap:var(--module-gap); min-height:0; overflow:hidden; }
.event-focus { --event-focus-gap:var(--module-gap); display:grid; gap:var(--event-focus-gap); }
.event-focus__media { margin:0; }
.event-focus__media img { border-radius:calc(var(--module-radius) - 6px); display:block; height:auto; width:100%; }
.event-focus__media--landscape img { max-height:min(68vh,720px); object-fit:contain; }
.event-focus__split { align-items:start; column-gap:var(--event-focus-gap); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:var(--event-focus-gap); }
.event-focus__media--portrait img { max-height:min(76vh,900px); object-fit:contain; }
.event-focus__media--portrait-only { margin-inline:auto; max-width:50%; }
.event-focus__media--portrait-only img { max-height:min(76vh,900px); object-fit:contain; }
.event-focus__information { align-content:start; display:grid; gap:14px; min-width:0; }
.event-focus__actions { display:flex; flex-wrap:wrap; gap:10px; }
.event-focus__note { background:rgba(245,248,251,.48); border:1px solid rgba(255,255,255,.58); border-radius:11px; box-shadow:inset 1px 1px 3px rgba(143,158,184,.2),inset -1px -1px 3px rgba(255,255,255,.72); font-size:16px; font-weight:700; line-height:1.45; padding:12px 14px; }
.event-focus__note p { margin:0 0 1em; }
.event-focus__note p:last-child { margin-bottom:0; }
.focus-return-control { align-items:flex-end; background:var(--red); border:1px solid rgba(255,255,255,.5); border-radius:0 0 500px 500px; box-shadow:var(--neu-small),inset 0 1px 2px rgba(255,255,255,.42); color:#fff; cursor:pointer; display:flex; height:92px; justify-content:center; opacity:0; padding:0 0 18px; pointer-events:none; position:fixed; right:max(18px,calc((100vw - var(--record-shell)) / 2 + var(--record-shell-inline))); top:var(--header-edge); transform:translateY(-58px); transition:opacity .24s ease,transform .48s cubic-bezier(.16,1,.3,1); width:48px; z-index:9989; }
.focus-return-control svg { fill:none; height:28px; overflow:visible; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:3.4; width:28px; }
.focus-page.is-focus .focus-return-control { opacity:1; pointer-events:auto; transform:translateY(0); }
.focus-return-control:active { box-shadow:var(--neu-inset); transform:translateY(1px); }
.focus-return-control:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.focus-item__note { border-top:1px solid var(--neu-border); padding:var(--module-padding) 0 0; }
.focus-item__action { margin:0; text-align:center; }
.focus-page.is-focus [data-focus-item].is-picked.has-focus-details > .focus-item__extras { grid-template-rows:1fr; opacity:1; visibility:visible; }
.focus-page.is-focus .event-card.is-picked.has-focus-details > .focus-item__extras { margin-top:var(--module-gap); }
.focus-stage[hidden] { display:none; }
.focus-page.is-focus [data-focus-list] { display:none; }
.focus-stage > [data-focus-item] { margin:0; }
.focus-page [data-focus-item].is-focus-moving { pointer-events:none; will-change:transform; z-index:30; }
.focus-page.is-focus-closing [data-focus-item].is-picked { pointer-events:none; }
.focus-page .module-section,.focus-page .year-section__title,.focus-page [data-focus-item] { transition:opacity var(--view-fade-duration) ease-in-out; }
.focus-page:is(.is-focus-leaving,.is-focus-returning) .module-section:not(.is-picked-section),
.focus-page:is(.is-focus-leaving,.is-focus-returning) .is-picked-section > .year-section__title,
.focus-page:is(.is-focus-leaving,.is-focus-returning) .is-picked-section > [data-focus-item]:not(.is-picked) { opacity:0; pointer-events:none; }
.focus-panel__back { margin:0; }
.prose { font-size:17px; }
.prose p { margin:0 0 1.2em; }
.prose hr { border:0; border-top:1px solid #999; margin:28px 0; }

.link-list { margin:auto; max-width:888px; padding:10px 14px 28px; }
.link-row { align-items:start; display:grid; gap:24px; grid-template-columns:minmax(250px,270px) minmax(0,1fr); }
.link-row__button { background-color:#20242c; min-width:0; padding-left:14px; padding-right:14px; }
.link-row__button span { flex:0 0 auto; margin-right:6px; }
.link-row h2 { font-size:19px; margin:0; }
.link-row p { margin:3px 0 0; }

.release-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin:auto; max-width:900px; }
.release-card { color:var(--ink); font-size:18px; padding:var(--module-padding); text-align:center; text-decoration:none; }
.release-card img { aspect-ratio:1; border-radius:18px; box-shadow:var(--neu-inset); display:block; object-fit:cover; width:100%; }
.release-card strong { display:block; padding:9px; }

.calendar-page { box-sizing:border-box; height:var(--viewport-content-height); max-width:1300px; min-height:0; }

.site-footer { align-items:center; background:rgba(119,128,143,.86); border-top:1px solid rgba(255,255,255,.55); box-shadow:0 -6px 15px rgba(163,177,198,.38); bottom:0; color:#fff; display:flex; font-size:14px; font-weight:600; height:var(--footer-height); justify-content:center; left:0; position:fixed; right:0; z-index:9991; }
.mobile-dock { display:none; }
.mobile-dock__credit { align-items:center; background:rgba(119,128,143,.94); color:#fff; display:flex; font-size:9px; font-weight:600; height:var(--mobile-credit-height); justify-content:center; line-height:1; }
:root.is-web-app { --mobile-nav-height:58px; --mobile-credit-height:18px; --mobile-dock-height:calc(76px + env(safe-area-inset-bottom, 0px)); }
:root.is-web-app .mobile-dock__credit { display:flex; }

@media (min-width: 768px) and (max-width: 1100px) {
  .site-nav { gap:14px; padding-left:20px; padding-right:20px; }
  .content-shell { padding-left:20px; padding-right:20px; }
  .context-nav { grid-template-columns:84px minmax(0,1fr) 84px; }
  .event-card,.work-row { gap:22px; grid-template-columns:150px minmax(0,1fr); }
  .detail-list,.work-row__details { column-gap:14px; grid-template-columns:150px minmax(0,1fr); }
}

.home-stage {
  background-image:url("../img/8686_wallpaper.webp");
  background-position:50% 50%;
  background-repeat:no-repeat;
  background-size:cover;
  bottom:var(--footer-height);
  left:0;
  overflow:hidden;
  position:fixed;
  right:0;
  top:calc(var(--header-edge) + var(--page-top-clearance));
}
.home-stage__album-link { align-items:center; color:var(--red); display:flex; flex-direction:column; font-weight:900; left:20%; position:absolute; text-decoration:none; top:20px; width:154px; z-index:2; }
.home-stage__album-link img { animation:home-skull 2.4s ease-in-out infinite; width:148px; }
.home-stage__tap { animation:home-tap 1.7s ease-in-out infinite; font-size:18px; line-height:1; margin-bottom:3px; text-shadow:0 1px 0 #fff; white-space:nowrap; }
@keyframes home-skull { 50% { transform:rotate(-4deg) scale(1.04); } }
@keyframes home-tap { 50% { transform:scale(1.08); } }
.home-dog { bottom:var(--footer-height); height:20dvh; max-width:none; pointer-events:none; position:fixed; right:0; transition:height .72s cubic-bezier(.18,.82,.24,1); user-select:none; width:auto; z-index:9990; }
html[data-current-view="home"] .home-dog { height:50vh; }
.home-runner-track { --home-runner-size:64px; bottom:var(--footer-height); height:125px; left:66.667vw; pointer-events:none; position:fixed; transition:left .72s cubic-bezier(.18,.82,.24,1); width:33.333vw; z-index:9992; }
html[data-current-view="home"] .home-runner-track { left:33.333vw; }
.home-runner-track a { animation:home-run 14s linear infinite; bottom:0; display:block; pointer-events:auto; position:absolute; transform-origin:center; width:var(--home-runner-size); }
.home-runner-track img { animation:home-skip 1.05s cubic-bezier(.37,0,.63,1) infinite; display:block; transform-origin:50% 100%; width:var(--home-runner-size); }
@keyframes home-run {
  0% { left:0; transform:scaleX(-1); }
  49.9% { left:calc(100% - var(--home-runner-size)); transform:scaleX(-1); }
  50% { left:calc(100% - var(--home-runner-size)); transform:scaleX(1); }
  99.9% { left:0; transform:scaleX(1); }
  100% { left:0; transform:scaleX(-1); }
}
@keyframes home-skip {
  0%,100% { transform:translateY(0) rotate(0deg) scale(1); }
  9% { transform:translateY(1px) rotate(-1deg) scale(1.08,.92); }
  22% { transform:translateY(-24%) rotate(-5deg) scale(.98,1.02); }
  48% { transform:translateY(-38%) rotate(3deg) scale(.97,1.03); }
  72% { transform:translateY(-12%) rotate(5deg) scale(1.01,.99); }
  80% { transform:translateY(0) rotate(0deg) scale(1.1,.9); }
  89% { transform:translateY(-6%) rotate(-2deg) scale(.99,1.01); }
}

@media (min-width: 768px) {
  .link-row__button { font-size:clamp(14px,1.25vw,16px); white-space:nowrap; }
  .home-stage {
    --home-head-position-unit:min(7.708333vw,calc((100dvh - var(--header-edge) - var(--footer-height) - 64px) / 5));
    --home-head-size:clamp(224px,15.416667vw,296px);
    background-position:center center;
    background-size:cover;
  }
  .home-stage::before {
    content:none;
  }
  .home-stage__album-link {
    left:calc(20% + var(--home-head-position-unit));
    top:calc(20px + (var(--home-head-position-unit) * 2.5));
    width:var(--home-head-size);
  }
  .home-stage__album-link img {
    height:auto;
    width:100%;
  }
  .home-stage__tap {
    font-size:clamp(14px,.9375vw,18px);
  }
  .home-runner-track {
    --home-runner-size:clamp(128px,11vw,176px);
    height:calc(var(--home-runner-size) + 32px);
  }
}

@media (max-width: 767px) {
  :root { --header-height:149px; --header-edge:149px; --page-top-clearance:8px; --content-top:4px; --content-inline:14px; --content-bottom:calc(var(--mobile-dock-height) + 62px); --module-gap:22px; --module-section-gap:28px; --module-padding:14px; --module-radius:20px; --record-shell-inline:14px; }
  body { padding-bottom:var(--mobile-dock-height); }
  html[data-current-view="tetris"] .tetris-page { bottom:var(--mobile-dock-height); }
  .admin-bar .site-header { top:46px; }
  .brand { height:79px; }
  .brand::after { top:52px; }
  .brand__name { font-size:32px; height:32px; line-height:32px; top:19px; }
  .brand__role { font-size:20px; height:28px; line-height:28px; top:47px; }
  .brand__subtitle { font-size:12px; line-height:12px; top:57px; }
  .news-ticker { height:32px; }
  .site-nav { gap:20px; height:38px; padding:5px 15px; }
  .site-nav__link { border-radius:500px; font-family:"Archivo Black",sans-serif; font-size:14px; height:28px; padding:0 3px; }
  .context-nav { display:none; }
  .content-shell { padding:var(--content-top) var(--content-inline) var(--content-bottom); }
  .page-title,.calendar-link { font-size:28px; }
  .event-card { display:block; }
  .event-focus__split { grid-template-columns:1fr; }
  .event-focus__media--portrait img,.event-focus__media--portrait-only img { margin-inline:auto; max-height:none; width:auto; }
  .event-focus__media--portrait-only { max-width:100%; }
  .event-artists__detail--many { grid-template-columns:1fr; }
  .year-section__title { text-align:left; }
  .work-row { gap:10px; grid-template-columns:112px minmax(0,1fr); }
  .event-card__date { font-size:12px; margin:0 0 8px; padding:8px 12px; }
  .work-row__name { font-size:12px; padding:8px 5px; }
  .opus-page .work-row__name { justify-self:start; max-width:100%; padding-left:16px; padding-right:16px; width:max-content; }
  .event-card__title { font-size:20px; }
  .detail-list { gap:3px 12px; grid-template-columns:58px minmax(0,1fr); }
  .work-row__details { gap:3px 7px; grid-template-columns:100px minmax(0,1fr); }
  .detail-pill { font-size:12px; height:24px; }
  .detail-list dd,.work-row__details dd { font-size:13px; }
  .works-label-full { display:none; }
  .works-label-short { display:inline; }
  .link-row { gap:14px; grid-template-columns:150px minmax(0,1fr); }
  .link-row__button { font-size:13px; min-width:0; padding:8px; }
  .link-row h2 { font-size:16px; }
  .release-card { font-size:14px; }
  .calendar-page { min-width:0; overflow-x:visible; padding-left:5px; padding-right:5px; width:100%; }
  .site-footer { display:none; }
  .mobile-dock { bottom:0; display:block; left:0; position:fixed; right:0; z-index:9999; }
  :root.is-web-app .mobile-dock { background:rgba(119,128,143,.94); padding-bottom:env(safe-area-inset-bottom, 0px); }
  .page-footer { bottom:var(--mobile-dock-height); height:56px; }
  .context-nav { background:rgba(237,241,247,.97); bottom:auto; box-shadow:0 -5px 14px rgba(163,177,198,.5); display:grid; gap:0; grid-template-columns:20% minmax(0,60%) 20%; height:56px; left:auto; overflow:hidden; padding:0; position:relative; right:auto; z-index:auto; }
  .context-nav__section-link { align-items:center; align-self:stretch; background:linear-gradient(90deg,#fff,var(--surface)); border-radius:16px; display:flex; justify-content:center; padding:0 5px; position:relative; z-index:2; }
  .context-nav__section-link:last-child { background:linear-gradient(90deg,var(--surface),#fff); }
  .context-nav__years { height:56px; justify-content:flex-start; mask-image:linear-gradient(90deg,transparent 0,#000 15px,#000 calc(100% - 15px),transparent 100%); min-width:0; padding:10px 12px; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15px,#000 calc(100% - 15px),transparent 100%); }
  .context-nav__years :is(a,button) { min-width:72px; padding:5px 12px; }
  .context-nav__years :is(a,button)[aria-current="page"] { background:var(--context-accent); color:#fff; }
  .context-nav--profile { display:block; padding:0; }
  .context-nav--profile .context-nav__years { display:grid; gap:clamp(4px,1.5vw,9px); grid-template-columns:repeat(4,minmax(0,1fr)); mask-image:none; overflow:visible; padding:10px 8px; -webkit-mask-image:none; }
  .context-nav--profile .context-nav__years button { font-size:clamp(10px,3.3vw,13px); min-width:0; padding:5px 3px; width:100%; }
  .context-nav--link { align-items:center; display:flex; justify-content:center; padding:0; }
  .context-nav--link .link-thanks { font-size:clamp(11px,3.2vw,14px); padding:0 12px; width:100%; }
  .mobile-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .mobile-nav { border-top:1px solid rgba(255,255,255,.72); box-shadow:inset 0 4px 9px rgba(255,255,255,.18),0 -5px 16px rgba(143,158,184,.34); }
  .mobile-nav__link { border-right:1px solid rgba(255,255,255,.3); font-size:15px; height:var(--mobile-nav-height); }
  .mobile-nav__link[aria-current="page"] { animation:mobile-glow 2s ease-in-out infinite; }
  @keyframes mobile-glow { 50% { text-shadow:0 1px 2px rgba(0,0,0,.24),0 0 5px var(--glow),0 0 12px var(--glow); } }
  .home-stage__album-link { left:calc(12% + 62px); top:92px; width:132px; }
  .home-stage__album-link img { width:124px; }
  .home-stage__tap { font-size:15px; }
  html[data-current-view="home"] .home-dog { height:auto; width:min(90vw,800px); }
  html[data-current-view="home"] .home-runner-track { left:0; width:100vw; }
  html:not([data-current-view="home"]) .home-dog,html:not([data-current-view="home"]) .home-runner-track { display:none; }
  .home-dog,.home-runner-track { bottom:var(--mobile-dock-height); }
  :root.is-web-app[data-current-view="home"] .home-dog { display:block !important; opacity:1; visibility:visible; }
  .admin-bar .home-stage { top:calc(var(--header-edge) + var(--page-top-clearance)); }
  .focus-parade-layer {
    bottom:calc(100dvh - var(--viewport-content-bottom) + 8px);
    max-width:calc(100vw - 16px);
  }
  .event-skull-parade {
    gap:0;
    height:116px;
    min-height:0;
    padding:0 6px;
  }
  .event-skull-parade__slot { max-height:86px; max-width:86px; }
  .event-skull-parade__slot img { --skull-visual-scale:1.34; }
  .focus-return-control {
    right:12px;
    top:var(--header-edge);
  }
}

@media (max-width: 480px) {
  :root { --content-inline:8px; --module-gap:18px; --module-section-gap:24px; --module-padding:12px; --record-shell-inline:8px; }
  .site-nav { gap:7px; padding-left:8px; padding-right:8px; }
  .site-nav__link { font-size:12px; }
  .content-shell { padding-left:var(--content-inline); padding-right:var(--content-inline); }
  .link-list { padding-left:8px; padding-right:8px; }
  .work-row { display:block; }
  .work-row__name { margin-bottom:12px; width:100%; }
  .opus-page .work-row__name { width:max-content; }
  .works-row__notes { grid-column:auto; }
  .detail-list,.work-row__details { gap:4px 7px; grid-template-columns:88px minmax(0,1fr); }
  .detail-pill { font-size:11px; }
  .detail-list dd,.work-row__details dd { font-size:12px; overflow-wrap:anywhere; }
  .link-row { display:block; }
  .link-row__button { margin-bottom:12px; width:100%; }
  .context-nav__years :is(a,button) { min-width:64px; }
  .language-tabs__buttons button { padding-left:14px; padding-right:14px; }
  .home-stage__album-link { left:calc(8% + 62px); }
}

@media (prefers-reduced-motion: reduce) {
  .link-thanks__text,.link-thanks__character { animation:none!important; }
}

@media (max-width: 340px) {
  .keep-phrase { white-space:normal; }
}

.calendar-page--jaikki { padding-top:32px; }
.calendar-page--jaikki .jaikki-calendar-root { margin:0 auto; max-width:1180px; }
.calendar-page--jaikki .jaikki-calendar {
  background:var(--surface);
  border:1px solid var(--neu-border);
  box-shadow:var(--neu-raised);
}
.calendar-page--jaikki .jaikki-calendar__header,
.calendar-page--jaikki .jaikki-calendar__weekdays,
.calendar-page--jaikki .jaikki-calendar__cell { background:var(--surface); }
.calendar-page--jaikki .jaikki-calendar__nav {
  background:var(--surface);
  box-shadow:var(--neu-small);
}
.calendar-page--jaikki .jaikki-calendar__nav:active { box-shadow:var(--neu-inset); }

@media (max-width: 767px) {
  .calendar-page--jaikki {
    box-sizing:border-box;
    height:var(--viewport-content-height);
    min-height:0;
    overflow:auto;
    padding:4px 8px;
  }
  .calendar-page--jaikki .jaikki-calendar-root { min-height:100%; width:100%; }
  .profile-page { height:var(--viewport-content-height); min-height:0; padding-bottom:0; }
  .profile-page__layout { gap:8px; grid-template-rows:minmax(0,1fr) minmax(0,1fr); height:100%; }
  .profile-page__image { border-radius:20px; height:auto; min-height:0; }
  .profile-page__image img { object-position:center 32%; }
  .profile-page .language-tabs { min-height:0; }
  .profile-page .language-tabs__panel { box-sizing:border-box; font-size:13px; height:100%; line-height:1.55; overflow:auto; overscroll-behavior:contain; padding:14px; }
  .profile-page .language-tabs__panel p { margin-bottom:.75em; }
  .link-page .link-list { padding:0 0 28px; }
  .link-page .link-row { padding:18px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}

