:root {
  --blue: #1e73be;
  --green: #309b55;
  --yellow: #efbc21;
  --orange: #ff6f3a;
  --red: #dd3333;
  --teal: #008080;
  --olive: #808000;
  --pink: #e84dd8;
  --ink: #202124;
  --page: 1280px;
  --brand-height: 120px;
  --context-height: 52px;
  --content-top: 12px;
  --content-inline: 24px;
  --bottom-ui-space: 0px;
  --content-end-gap: 26px;
  --content-bottom: calc(var(--bottom-ui-space) + var(--content-end-gap));
  --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;
  --visible-top: 0px;
  --visible-bottom: 100dvh;
  --visible-height: 100dvh;
  --skull-parade-max-width: calc(var(--record-shell) - (var(--record-shell-inline) * 2) - (var(--module-padding) * 2));
  --surface: #edf3f8;
  --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);
}

* { box-sizing: border-box; }
html { -webkit-tap-highlight-color:transparent; }
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:0;
}
a { color: inherit; }
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) { outline:none; }
a:focus-visible,
button:focus-visible {
  outline:2px solid currentColor;
  outline-offset:3px;
}
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-top-stack {
  background:var(--surface);
  box-shadow:0 7px 18px rgba(163,177,198,.34);
  position:sticky;
  top:0;
  z-index:9990;
}
.admin-bar .site-top-stack { top:32px; }
.site-header { background:var(--surface); }
.site-main { min-height:1px; }
.context-slot { height:var(--context-height); overflow:visible; }
.context-slot-host { display:none; }
.context-slot:empty { height:0; }
html[data-has-context="false"] { --context-height:0px; }
.brand { background:var(--surface); height:var(--brand-height); 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:50px; line-height:50px; 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); } }


.context-slot .context-nav { height:var(--context-height); padding-block:6px; }

.context-nav { --context-accent:var(--green); --context-control-height:28px; --context-control-min-width:72px; 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:visible; 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__section-link,.context-nav__years :is(a,button) { min-height:var(--context-control-height); }
.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-x:auto; overflow-y:visible; padding:6px 8px; scrollbar-width:none; }
.context-nav__years.is-overflowing { justify-content:flex-start; }
.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)} }

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-context-slot] > * { opacity:0; }
.content-shell { margin:0 auto; max-width:var(--page); padding:var(--content-top) var(--content-inline) var(--content-bottom); }
.viewport-page {
  box-sizing:border-box;
  height:var(--visible-height);
  min-height:0;
}
.tetris-page {
  margin:0;
  overflow:hidden;
  padding:0;
  touch-action:none;
  width:100%;
}

.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 .focus-stage .event-card.is-picked .event-artists__list { display:none; }
.focus-page.is-focus .focus-stage .event-card.is-picked .event-artists__detail { display:block; }
.focus-page.is-focus .focus-stage .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__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__notes { grid-column:1 / -1; }
.works-label-short { display:none; }

.works-air-label { display:grid; height:1em; line-height:1; overflow:hidden; place-items:center; position:relative; width:100%; }
.works-air-label > span { animation:works-air-cycle 3.72s linear infinite; grid-area:1 / 1; opacity:0; }
.works-air-label > span:first-child { animation-delay:0s; }
.works-air-label > span:last-child { animation-delay:-1.86s; }
@keyframes works-air-cycle {
  0%,26.8817% { opacity:1; }
  50%,76.8817% { opacity:0; }
  100% { opacity:1; }
}
@media (prefers-reduced-motion: reduce) {
  .works-air-label > span { animation:none; }
  .works-air-label > span:first-child { opacity:1; }
  .works-air-label > span:last-child { 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 { padding-bottom:var(--content-top); }
  .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; }
}
.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(--visible-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; 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(--visible-top); 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-return-reserve { height:0; pointer-events:none; width:100%; }
.focus-page.is-focus [data-focus-list] { display:none; }
[data-focus-list] { opacity:1; transition:opacity .86s ease; }
[data-focus-list].is-dissolve-entering { opacity:0; }
.focus-dissolve-layer { box-sizing:border-box; opacity:1; overflow:hidden; pointer-events:none; position:fixed; transition:opacity .86s ease; z-index:9987; }
.focus-dissolve-layer.is-dissolving-out { opacity:0; }
.focus-parade-layer { transition:opacity .86s ease; }
.focus-parade-layer.is-dissolving-out { opacity:0; }
.focus-stage > [data-focus-item] { margin:0; }
.focus-stage .is-picked.has-focus-details { overflow:visible; position:relative; z-index:20; }
.focus-stage .is-picked.has-focus-details .focus-item__extras-inner { overflow:visible; }
.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 { max-width:1300px; }

.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-footer-stack,.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; }
: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:calc(100dvh - var(--visible-bottom));
  left:0;
  overflow:hidden;
  position:fixed;
  right:0;
  top:var(--visible-top);
}
.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:calc(100dvh - var(--visible-bottom)); 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:calc(100dvh - var(--visible-bottom)); 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((var(--visible-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 { --content-top:4px; --content-inline:14px; --content-end-gap:6px; --module-gap:22px; --module-section-gap:28px; --module-padding:14px; --module-radius:20px; --record-shell-inline:14px; }
  .admin-bar .site-top-stack { 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; }

  .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; }
  .focus-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-footer-stack { bottom:0; display:flex; flex-direction:column; left:0; position:fixed; right:0; z-index:9999; }
  .context-slot-host--mobile { display:block; flex:0 0 auto; }
  .context-slot-host--mobile .context-slot { height:auto; position:static; }
  .context-slot-host--mobile .context-slot:empty { display:none; }
  .mobile-dock { display:block; flex:0 0 auto; position:static; }
  :root.is-web-app .mobile-footer-stack { background:rgba(119,128,143,.94); padding-bottom:env(safe-area-inset-bottom, 0px); }
  .context-nav {
    --context-control-height:34px;
    --context-control-min-width:72px;
    background:rgba(237,241,247,.97);
    box-shadow:0 -5px 14px rgba(163,177,198,.5);
    display:grid;
    gap:8px;
    grid-template-columns:auto minmax(0,1fr) auto;
    height:auto;
    min-height:46px;
    overflow:visible;
    padding:6px 8px;
    position:relative;
  }
  .context-nav__section-link,
  .context-nav__years :is(a,button) {
    align-items:center;
    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);
    display:flex;
    height:var(--context-control-height);
    justify-content:center;
    min-height:var(--context-control-height);
    min-width:var(--context-control-min-width);
    padding:0 12px;
  }
  .context-nav__section-link { align-self:center; position:relative; z-index:2; }
  .context-nav__years {
    gap:8px;
    height:calc(var(--context-control-height) + 12px);
    justify-content:flex-start;
    mask-image:linear-gradient(90deg,transparent 0,#000 15px,#000 calc(100% - 15px),transparent 100%);
    min-width:0;
    padding:6px 4px;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15px,#000 calc(100% - 15px),transparent 100%);
  }
  .context-nav__years :is(a,button)[aria-current="page"] { background:var(--context-accent); color:#fff; }
  .context-nav--profile { display:block; min-height:46px; padding:6px 8px; }
  .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:0; -webkit-mask-image:none; }
  .context-nav--profile .context-nav__years button { font-size:clamp(10px,3.3vw,13px); min-width:0; padding:0 3px; width:100%; }
  .context-nav--link { align-items:center; display:flex; justify-content:center; min-height:46px; padding:6px 8px; }
  .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:calc(100dvh - var(--visible-bottom)); }
  :root.is-web-app[data-current-view="home"] .home-dog { display:block !important; opacity:1; visibility:visible; }
  .admin-bar .home-stage { top:var(--visible-top); }
  .focus-parade-layer {
    bottom:calc(100dvh - var(--visible-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(--visible-top);
  }
}

@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%; }
  .focus-page .work-row__name { width:max-content; }
  .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; }
}

@media (max-width: 767px) {
  .site-top-stack { top:0; }
  .admin-bar .site-top-stack { top:46px; }
}


.calendar-dissolve-overlay {
  overflow:hidden;
  pointer-events:none;
  position:fixed;
  z-index:9987;
}
.calendar-dissolve-overlay .calendar-page {
  height:100%;
  margin:0;
  padding:0;
  width:100%;
}
.calendar-page--jaikki { padding:var(--content-top) var(--content-inline) 12px; }
.calendar-page--jaikki .jaikki-calendar-root { height:100%; margin:0 auto; max-width:1180px; min-height:0; }
.calendar-page--jaikki .jaikki-calendar {
  background:var(--surface);
  height:100%;
  min-height:0;
  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 {
    background:var(--surface);
    overflow:hidden;
    padding:10px 14px;
    width:100%;
  }
  .calendar-page--jaikki .jaikki-calendar-root { min-height:100%; width:100%; }
  .profile-page { padding-bottom:10px; padding-top:10px; }
  .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; }
}



/* Renovation history view — 0.16.2. */
html,
body,
.site-header,
.site-top-stack,
.site-footer,
.site-main,
.context-slot,
.brand,
.news-ticker,
.news-ticker__label,
.news-ticker__track a,
.context-nav,
.site-nav__link,
.mobile-nav__link,
.brand__name,
.brand__role,
.brand__subtitle {
  transition: background-color var(--view-fade-duration) ease-in-out, color var(--view-fade-duration) ease-in-out, border-color var(--view-fade-duration) ease-in-out, box-shadow var(--view-fade-duration) ease-in-out;
}
html[data-current-view="history"],
html[data-current-view="history"] body,
html[data-current-view="history"] .site-main { background-color:#090909; color:#f4f1ea; }
html[data-current-view="history"] body { background-image:radial-gradient(circle at 85% 0,rgba(255,122,24,.12) 0,transparent 30rem); }
html[data-current-view="history"] .site-header,
html[data-current-view="history"] .site-top-stack,
html[data-current-view="history"] .brand,
html[data-current-view="history"] .context-slot,
html[data-current-view="history"] .context-nav,
html[data-current-view="history"] .site-footer { background-color:#090909; color:#f4f1ea; border-color:#3a3732; }
html[data-current-view="history"] .brand::after { background-color:#4a4640; }
html[data-current-view="history"] .brand__name,
html[data-current-view="history"] .brand__role,
html[data-current-view="history"] .brand__subtitle,
html[data-current-view="history"] .site-nav__link,
html[data-current-view="history"] .mobile-nav__link,
html[data-current-view="history"] .site-footer a { color:#f4f1ea; }
html[data-current-view="history"] .site-nav__link::after,
html[data-current-view="history"] .mobile-nav__link::after { background:#f4f1ea; }
html[data-current-view="history"] .news-ticker { background:#090909; border-color:#f4f1ea; box-shadow:inset 3px 3px 7px rgba(255,255,255,.035),inset -3px -3px 7px rgba(0,0,0,.72); }
html[data-current-view="history"] .news-ticker__label { background:#f4f1ea; color:#090909; }
html[data-current-view="history"] .news-ticker__track a { color:#f4f1ea; }

.context-nav--link { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:14px; }
.context-nav--link::before { content:""; width:44px; height:44px; }
.context-nav--link .link-thanks { grid-column:2; justify-self:stretch; text-align:center; }
.context-nav--link .link-history-button { grid-column:3; }
.link-history-button { flex:0 0 auto; display:grid; place-items:center; width:44px; height:44px; padding:7px; border:1px solid #111; border-radius:50%; background:#ff7a18; box-shadow:5px 5px 12px rgba(130,75,31,.24),-4px -4px 10px rgba(255,255,255,.8); }
.link-history-button img { width:100%; height:100%; object-fit:contain; filter:invert(1); }
.link-history-button:hover,.link-history-button:focus-visible { transform:translateY(-1px); box-shadow:7px 7px 16px rgba(130,75,31,.3),-5px -5px 12px rgba(255,255,255,.9); }

.context-nav--history { display:flex; align-items:center; gap:12px; width:100%; }
.history-context-button,
.context-nav--history .history-context-versions a { flex:0 0 auto; min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:5px 12px; border:0; border-radius:999px; background:#ff7a18; color:#fff; font-weight:700; line-height:1; text-decoration:none; cursor:pointer; box-shadow:4px 4px 9px rgba(0,0,0,.48),-2px -2px 6px rgba(255,153,77,.13),inset 1px 1px 0 rgba(255,255,255,.23); }
.context-nav--history .history-context-versions { display:flex; align-items:center; gap:8px; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; padding:5px 4px 7px; }
.context-nav--history .history-context-versions a[aria-current="page"] { box-shadow:inset 3px 3px 7px rgba(94,38,0,.62),inset -1px -1px 3px rgba(255,190,135,.28); transform:translateY(1px); }

.history-page { --history-bg:#090909; --history-panel:#111; --history-text:#f4f1ea; --history-muted:#aaa49b; --history-line:#4a4640; --history-accent:#ff7a18; width:min(var(--record-shell),calc(100% - 32px)); margin:24px auto 80px; color:var(--history-text); }
.history-page .intro { margin:0 0 28px; padding:18px 20px; border:1px solid #3d3933; border-radius:18px; background:rgba(17,17,17,.78); box-shadow:10px 10px 28px rgba(0,0,0,.42),-5px -5px 18px rgba(255,255,255,.025),inset 1px 1px 0 rgba(255,255,255,.04); }
.history-page .intro strong,.history-page h3 { color:var(--history-accent); }
.history-page .version-list { display:grid; gap:var(--module-gap); }
.history-page .version-card { position:relative; overflow:hidden; border:1px solid #3b3833; border-radius:var(--module-radius); background:linear-gradient(145deg,#171717,#0c0c0c); box-shadow:14px 14px 34px rgba(0,0,0,.52),-6px -6px 18px rgba(255,255,255,.025),inset 1px 1px 0 rgba(255,255,255,.04); }
.history-page .module-open { position:absolute; inset:0; z-index:2; border:0; background:transparent; cursor:pointer; }
.history-page .version-head { display:flex; align-items:center; justify-content:center; padding:var(--module-padding) var(--module-padding) 10px; }
.history-page .version-head h2 { margin:0; color:var(--history-text); font-family:"Archivo Black",Arial,sans-serif; font-size:clamp(20px,2.3vw,34px); white-space:nowrap; }
.history-page .rule,.history-page .double-rule { display:none!important; }
.history-page .top-grid,.history-page .detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.history-page .top-grid section,.history-page .detail-grid section { min-width:0; padding:var(--module-padding); }
.history-page .top-grid section:nth-child(odd),.history-page .detail-grid section:first-child { border-right:1px solid var(--history-line); }
.history-page .top-grid section:nth-child(n+3) { display:none; }
.history-page.is-single .top-grid section:nth-child(n+3) { display:block; }
.history-page.is-single .top-grid section:nth-child(-n+2) { border-bottom:1px solid var(--history-line); }
.history-page h3 { margin:0 0 10px; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.history-page p { margin:.35em 0; }
.history-page a { color:#ff9b52; }
.history-page code { color:#ffc79e; }
.history-page .scroll-box { height:7.2em; overflow:auto; padding-right:8px; scrollbar-width:thin; }
.history-page .detail-grid { display:none; }
.history-page .detail-scroll { max-height:62vh; overflow:auto; padding-right:10px; scrollbar-width:thin; }
.history-page .file-diff { position:relative; z-index:4; border-top:1px solid #38342f; }
.history-page .file-diff summary { cursor:pointer; padding:9px 4px; overflow-wrap:anywhere; }
.history-page .file-diff pre { white-space:pre-wrap; word-break:break-word; background:#070707; border:1px solid #302d29; border-radius:12px; padding:12px; color:#f4f1ea; font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; max-height:55vh; overflow:auto; }
.history-page .kind { display:inline-block; min-width:70px; margin-right:8px; color:#bbb; font-size:11px; text-transform:uppercase; }
.history-page .kind.added { color:#8de18d; }.history-page .kind.removed { color:#ff8c8c; }.history-page .kind.changed { color:#ffb36b; }
.history-page.is-single .version-card { display:none; }
.history-page.is-single .version-card.active { display:block; min-height:calc(var(--viewport-content-height) - 30px); }
.history-page.is-single .version-card.active .module-open { display:none; }
.history-page.is-single .version-card.active .detail-grid { display:grid; border-top:1px solid var(--history-line); }
.history-page.is-single .version-card.active .scroll-box { height:8.5em; }
.history-page.is-single .intro { display:none; }
.history-about { position:relative; min-height:min(58vh,620px); padding:clamp(28px,6vw,72px); border:1px solid #3b3833; border-radius:28px; background:linear-gradient(145deg,#171717,#0b0b0b); box-shadow:14px 14px 34px rgba(0,0,0,.52),-6px -6px 18px rgba(255,255,255,.025),inset 1px 1px 0 rgba(255,255,255,.04); font-size:clamp(16px,1.65vw,24px); }
.history-about h1 { margin:0 0 1em; font-family:"Archivo Black",Arial,sans-serif; color:#ff7a18; }
.history-page.is-about .history-list-view { display:none; }
.history-skull-gather { position:fixed; z-index:37; left:50%; bottom:var(--viewport-bottom-chrome); width:min(86vw,760px); height:180px; transform:translateX(-50%); pointer-events:none; }
.history-skull-gather img { position:absolute; left:var(--skull-left); bottom:var(--skull-bottom); width:clamp(44px,7vw,86px); height:auto; opacity:0; filter:none; transform:translate(var(--from-x),var(--from-y)) rotate(var(--from-r)) scale(.56); transition:transform .86s cubic-bezier(.22,.8,.2,1),opacity .32s ease; transition-delay:var(--skull-delay); transform-origin:50% 80%; }
.history-page.is-about .history-skull-gather img { opacity:1; transform:translate(0,0) rotate(var(--to-r)) scale(1); animation:history-skull-bob var(--skull-wiggle-duration) ease-in-out calc(var(--skull-delay) + .86s) infinite alternate; }
.history-page.is-about .history-skull-gather img[data-motion="hop"] { animation-name:history-skull-hop; }
.history-page.is-about .history-skull-gather img[data-motion="dance"] { animation-name:history-skull-dance; }
.history-page.is-about .history-skull-gather img[data-motion="peek"] { animation-name:history-skull-peek; }
@keyframes history-skull-bob { from{margin-bottom:0;rotate:-3deg} to{margin-bottom:9px;rotate:4deg} }
@keyframes history-skull-hop { 0%,100%{margin-bottom:0;scale:1 1} 55%{margin-bottom:16px;scale:.94 1.06} }
@keyframes history-skull-dance { 0%{margin-left:-7px;rotate:-8deg} 50%{margin-left:7px;rotate:8deg} 100%{margin-left:-4px;rotate:-4deg} }
@keyframes history-skull-peek { 0%,100%{scale:.88;rotate:-6deg} 50%{scale:1.08;rotate:6deg} }

@media (max-width:767px) {
  .context-nav--history { gap:8px; }
  .history-context-button,.context-nav--history .history-context-versions a { min-height:32px; padding:5px 10px; font-size:12px; }
  .history-page { width:calc(100% - 18px); margin-top:14px; }
  .history-page .top-grid,.history-page .detail-grid { grid-template-columns:1fr; }
  .history-page .top-grid section:nth-child(odd),.history-page .detail-grid section:first-child { border-right:0; }
  .history-page .top-grid section { border-bottom:1px solid var(--history-line); }
  .history-page .scroll-box { height:auto; max-height:8em; }
  .history-page .detail-grid section:first-child { border-bottom:1px solid var(--history-line); }
  .history-skull-gather { height:130px; }
}
@media (prefers-reduced-motion:reduce) {
  html,body,.site-header,.site-top-stack,.site-footer,.site-main,.context-slot,.brand,.news-ticker,.news-ticker__label,.news-ticker__track a,.context-nav { transition:none!important; }
  .history-skull-gather img { transition:none!important; animation:none!important; }
}


/* Renovation history refinement — 0.16.4. */
.context-nav--link {
  position:relative;
  display:block;
}
.context-nav--link::before { display:none; }
.context-nav--link .link-thanks {
  position:absolute;
  left:50%;
  top:50%;
  width:max-content;
  max-width:calc(100% - 112px);
  transform:translate(-50%,-50%);
  text-align:center;
}
.context-nav--link .link-history-button {
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
}
.context-nav--link .link-history-button:hover,
.context-nav--link .link-history-button:focus-visible { transform:translateY(calc(-50% - 1px)); }

html[data-current-view="history"] .context-slot,
html[data-current-view="history"] .context-nav,
html[data-current-view="history"] .context-nav--history {
  background:#090909;
  background-image:none;
  box-shadow:none;
}
.context-nav--history {
  --context-accent:#ff7a18;
  display:grid;
  grid-template-columns:100px minmax(0,1fr) 100px;
  gap:10px;
  width:100%;
  height:40px;
  padding:0 12px;
}
.context-nav--history::after { content:""; display:block; width:100px; }
.context-nav--history .history-context-button { grid-column:1; }
.context-nav--history .history-context-versions {
  grid-column:2;
  width:100%;
  height:100%;
  justify-content:flex-start;
  overflow-x:auto;
  overflow-y:visible;
  padding:6px 8px;
  scrollbar-width:none;
}
.context-nav--history .history-context-versions::-webkit-scrollbar { display:none; }
.history-context-button,
.context-nav--history .history-context-versions a {
  min-height:28px;
  padding:4px 10px;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration:.86s;
  animation-timing-function:ease-in-out;
}
::view-transition-old(root) { animation-name:ho-history-dissolve-out; }
::view-transition-new(root) { animation-name:ho-history-dissolve-in; }
@keyframes ho-history-dissolve-out { from{opacity:1} to{opacity:0} }
@keyframes ho-history-dissolve-in { from{opacity:0} to{opacity:1} }

@media (max-width:767px) {
  .context-nav--link { min-height:46px; padding:6px 8px; }
  .context-nav--link .link-thanks {
    max-width:calc(100% - 104px);
    padding:0;
  }
  .context-nav--link .link-history-button { right:8px; }
  .context-nav--history {
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px;
    height:auto;
    min-height:46px;
    padding:6px 8px;
  }
  .context-nav--history::after { width:30px; }
  .context-nav--history .history-context-versions {
    height:46px;
    padding:6px 4px;
    mask-image:linear-gradient(90deg,transparent 0,#000 15px,#000 calc(100% - 15px),transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15px,#000 calc(100% - 15px),transparent 100%);
  }
  .history-context-button,
  .context-nav--history .history-context-versions a {
    min-height:34px;
    height:34px;
  }
}

/* Renovation history refinement — 0.16.5. */
.context-nav--history {
  grid-template-columns:100px minmax(0,1fr) 44px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
.context-nav--history::after { display:none; }
.history-context-skull {
  grid-column:3;
  align-self:center;
  justify-self:end;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:5px;
  border:1px solid #ff7a18;
  border-radius:50%;
  background:#ff7a18;
  box-shadow:4px 4px 9px rgba(0,0,0,.48),-2px -2px 6px rgba(255,153,77,.13),inset 1px 1px 0 rgba(255,255,255,.23);
  cursor:pointer;
}
.history-context-skull img { width:100%; height:100%; object-fit:contain; filter:none; }
.history-context-skull:hover,
.history-context-skull:focus-visible { transform:translateY(-1px); }
.history-page,
.history-page button,
.history-page input,
.history-page textarea,
.history-page select {
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
.history-page .version-head h2,
.history-about h1 { font-family:inherit; }
html[data-current-view="history"] .mobile-footer-stack,
html[data-current-view="history"] .mobile-dock,
html[data-current-view="history"] .mobile-dock__credit,
html[data-current-view="history"] .context-slot-host--mobile {
  background:#090909;
  color:#f4f1ea;
  border-color:#3a3732;
}
html[data-current-view="history"] .mobile-nav { background:#090909; }
html[data-current-view="history"] .mobile-dock__credit { color:#f4f1ea; }

@media (max-width:767px) {
  .context-nav--history { grid-template-columns:auto minmax(0,1fr) 36px; }
  .history-context-skull { width:34px; height:34px; padding:5px; }
  .history-page { font-size:12px; line-height:1.5; }
  .history-page .intro { padding:13px 14px; margin-bottom:16px; }
  .history-page .version-head { padding:14px 14px 7px; }
  .history-page .version-head h2 { font-size:18px; }
  .history-page .top-grid section,
  .history-page .detail-grid section { padding:13px 14px; }
  .history-page h3 { margin-bottom:6px; font-size:11px; letter-spacing:.07em; }
  .history-page p { margin:.18em 0; }
  .history-page p:empty,
  .history-page .scroll-box:empty,
  .history-page .detail-scroll:empty,
  .history-page section.is-empty-section { display:none!important; }
  .history-page .scroll-box,
  .history-page.is-single .scroll-box { max-height:none; height:auto; padding-right:0; }
  .history-page .detail-scroll { max-height:none; padding-right:0; }
  .history-page .file-diff pre { font-size:10px; line-height:1.45; padding:9px; }
}

/* Renovation history mobile refinement — 0.16.6. */
.context-nav--history .history-context-versions::before,
.context-nav--history .history-context-versions::after {
  content:"";
  flex:0 0 calc(50% - 34px);
}

@media (max-width:767px) {
  html[data-current-view="history"],
  html[data-current-view="history"] body,
  html[data-current-view="history"] .site-main,
  html[data-current-view="history"] .mobile-footer-stack,
  html[data-current-view="history"] .mobile-dock,
  html[data-current-view="history"] .mobile-dock__credit,
  html[data-current-view="history"] .context-slot-host--mobile {
    background:#090909!important;
    background-color:#090909!important;
  }
  html[data-current-view="history"] .mobile-footer-stack {
    box-shadow:0 100vh 0 100vh #090909;
  }
  .history-page .intro { display:none!important; }
  .history-page.is-single .version-card.active {
    min-height:0!important;
    height:auto!important;
  }
  .history-page.is-single .version-card.active .top-grid,
  .history-page.is-single .version-card.active .detail-grid {
    grid-auto-rows:max-content;
    align-content:start;
  }
  .history-page.is-single .version-card.active section,
  .history-page.is-single .version-card.active .scroll-box,
  .history-page.is-single .version-card.active .detail-scroll {
    min-height:0!important;
    height:auto!important;
  }
  .history-page.is-single .version-card.active .scroll-box,
  .history-page.is-single .version-card.active .detail-scroll {
    max-height:none!important;
    overflow:visible!important;
  }
  .history-page.is-single .version-card.active section {
    padding-top:11px;
    padding-bottom:11px;
  }
  .history-skull-gather {
    display:block!important;
    z-index:10005;
    bottom:calc(var(--bottom-ui-space) + 8px);
    width:94vw;
    height:116px;
  }
  .history-page.is-about .history-skull-gather img {
    opacity:1!important;
    visibility:visible!important;
  }
}

@media (max-width:767px) and (prefers-reduced-motion:reduce) {
  .history-page.is-about .history-skull-gather img {
    opacity:1!important;
    transform:translate(0,0) rotate(var(--to-r)) scale(1)!important;
  }
}


/* History / Link skull button parity — 0.16.7. */
.history-context-skull {
  width:44px;
  height:44px;
  padding:7px;
}
.context-nav--history { grid-template-columns:100px minmax(0,1fr) 44px; }
@media (max-width:767px) {
  .history-context-skull { width:44px; height:44px; padding:7px; }
  .context-nav--history { grid-template-columns:auto minmax(0,1fr) 44px; }
}


/* Context navigation dimensional normalization — 0.16.9.
 * Link and History now share one physical bar height and one control size. */
.context-nav--link,
.context-nav--history {
  height:var(--context-height);
  min-height:var(--context-height);
  padding:4px 12px;
}
.context-nav--link .link-history-button,
.context-nav--history .history-context-skull {
  width:44px;
  height:44px;
  flex:0 0 44px;
}
.context-nav--history .history-context-button,
.context-nav--history .history-context-versions a {
  height:34px;
  min-height:34px;
}
.context-nav--history .history-context-versions {
  height:44px;
  padding:5px 8px;
  align-self:center;
}
@media (max-width:767px) {
  .context-nav--link,
  .context-nav--history {
    height:var(--context-height);
    min-height:var(--context-height);
    padding:4px 8px;
  }
  .context-nav--history .history-context-versions {
    height:44px;
    padding:5px 4px;
  }
}
