:root{color-scheme:light;--theme-color-0:#080808;--theme-color-1:#fff;--theme-color-2:#666;--theme-color-3:#888;--theme-color-4:#111;--theme-color-5:#000;--theme-color-6:#757575}
:root{
  color-scheme:light;
  --ink:var(--theme-color-0);
  --paper:var(--theme-color-1);
  --muted:var(--theme-color-2);
  --display:"Arial Black","Helvetica Neue",Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --gutter:22px;
  --menu-size:22px;
  --title-line:26px;
  --platform-size:17px;
  --platform-line:22px;
  --menu-tracking:-.04em;
  --closed-gap:22px;
  --open-gap:24px;
  --platform-step:44px;
  --after-gap:28px;
  --stage-target:100vw;
  --wordmark-top:22px;
  --header-safe-top:env(safe-area-inset-top,0px);
  --theme-size:13px;
  --theme-line:18px;
  --theme-bottom:24px;
  --content-left:max(var(--gutter),env(safe-area-inset-left,0px));
  --content-right:max(var(--gutter),env(safe-area-inset-right,0px));
  --stage-width:min(var(--stage-target),calc(100vw - var(--content-left) - var(--content-right)));
  --social-height:var(--platform-line);
  --music-height:calc(var(--platform-line) + 2 * var(--platform-step));
  font-family:Arial,"Helvetica Neue",sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{position:relative;margin:0;min-width:0;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;line-height:1.5;background:var(--paper);color:var(--ink)}
::selection{color:var(--paper);background:var(--ink)}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:1px solid var(--theme-color-3);outline-offset:5px}
a:focus:not(:focus-visible){outline:none}
[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:var(--content-left);z-index:10;transform:translateY(-180%);background:var(--ink);color:var(--paper);padding:10px 14px;font-size:14px}
.skip-link:focus{transform:none}
.boot{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;min-height:100dvh;height:auto;gap:0;margin:0;background:var(--theme-color-1);color:var(--theme-color-4);font-family:Arial,"Helvetica Neue",sans-serif;font-size:18px;font-weight:400;font-variant-numeric:lining-nums tabular-nums;line-height:1;letter-spacing:0;opacity:1;transition:opacity 160ms ease}
.boot.is-complete{opacity:0;pointer-events:none}

/* The original outlined wordmark keeps its 24:1 proportions and 3% side margins. */
.site-header{position:relative;height:max(52px,calc(var(--wordmark-top) + var(--header-safe-top) + 94vw / 24));padding:0;flex:none}
.masthead{height:100%;font-family:var(--display);font-weight:700;line-height:1}
.masthead-link{display:block;height:100%;text-decoration:none}
.identity-strip{position:absolute;top:calc(var(--wordmark-top) + var(--header-safe-top));left:max(3%,env(safe-area-inset-left,0px));right:max(3%,env(safe-area-inset-right,0px));display:flex;align-items:flex-start;justify-content:center;background:none;border:0;z-index:1;color:var(--theme-color-5);pointer-events:none;user-select:none}
.identity-strip>.brand-wordmark{display:block;width:100%;height:auto;aspect-ratio:24 / 1;flex-shrink:0;shape-rendering:geometricPrecision}

.site-main{display:flex;flex-direction:column;flex:1;min-width:0}
.home-page .site-header{position:absolute;top:0;left:0;width:100%}
.home-page .site-main{min-height:100svh;min-height:100dvh}
/* Equal vertical insets retain the viewport center, while short pages can grow. */
.home-screen{
  display:grid;
  place-items:center;
  flex:1;
  padding-inline:var(--content-left) var(--content-right);
  padding-block:max(calc(var(--wordmark-top) + var(--header-safe-top) + 94vw / 24 + 32px),calc(var(--theme-bottom) + env(safe-area-inset-bottom,0px) + 68px));
}
/* Ordinary Android browser content already starts below its native top bar.
   Keep real hardware insets for installed and fullscreen layouts. */
@media(display-mode:browser) and (orientation:portrait){:root[data-android-browser]:not(:fullscreen){--header-safe-top:0px}}
.home-menu{position:relative;width:max-content;max-width:100%;font-size:var(--menu-size);outline:none}
.menu-list{display:flex;flex-direction:column;gap:var(--closed-gap);width:100%;min-width:0}
.menu-item{position:relative;min-width:0}
.menu-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;height:var(--title-line);min-height:0;margin-inline:auto;padding:0;font-family:var(--display);font-size:var(--menu-size);font-weight:700;letter-spacing:var(--menu-tracking);line-height:var(--title-line);text-align:center;text-decoration:none;white-space:nowrap;transition:color 120ms ease}
/* The 44px targets extend beyond line boxes without changing the specified gaps. */
.menu-trigger::before{content:"";position:absolute;inset:calc((var(--title-line) - 44px) / 2) 0}
.menu-trigger[aria-expanded="true"]{color:var(--theme-color-6);opacity:1}
.menu-panel{min-width:0;padding:var(--open-gap) 0 var(--after-gap)}
.destination-list{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--platform-step) - var(--platform-line))}
.destination-list li{display:flex;align-items:flex-start;min-width:0}
.destination-list a{position:relative;display:inline-grid;align-items:center;flex:none;width:max-content;max-width:none;height:var(--platform-line);min-height:0;padding:0;font-family:Arial,"Helvetica Neue",sans-serif;font-size:var(--platform-size);font-weight:400;letter-spacing:0;line-height:var(--platform-line);text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:color 120ms ease}
.destination-list a::before{content:"";position:absolute;inset:calc((var(--platform-line) - 44px) / 2) 0}
.destination-list a>span{grid-area:1 / 1;min-width:0}
/* Reserve the bold label's width so hover never moves the surrounding links. */
.destination-list .destination-width{font-weight:700;visibility:hidden;pointer-events:none}
.destination-list a:focus-visible,.destination-list a:active{font-weight:700}
@media(hover:hover){.menu-trigger:hover,.text-action:hover{color:var(--theme-color-6);opacity:1}.destination-list a:hover{font-weight:700;color:var(--ink)}}
@media(hover:none) and (pointer:coarse){.menu-trigger[aria-controls]{transition:none}}
/* Theme colours change in one paint; ordinary hover transitions stay available. */
:root[data-theme-changing] .menu-trigger,:root[data-theme-changing] .destination-list a,:root[data-theme-changing] .text-action{transition:none!important}

/* Wide panels share the compact heading block's center, not its left edge. */
.is-enhanced .menu-panel{position:absolute;top:calc(var(--title-line) + var(--open-gap));left:50%;width:var(--stage-width);max-width:none;padding:0;transform:translateX(-50%)}
@supports(width:1cqw){
  .home-screen{container-type:inline-size}
  .is-enhanced .menu-panel{width:min(var(--stage-target),100cqw)}
}
.is-enhanced .panel--socials .destination-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.is-enhanced .panel--socials .destination-list li:last-child{justify-self:end}
.is-enhanced [data-menu-item="social"].is-open{padding-bottom:calc(var(--open-gap) + var(--social-height) + var(--after-gap) - var(--closed-gap))}
.is-enhanced .panel--music .destination-list{display:grid;grid-template-columns:20% 22% 18% 40%;row-gap:calc(var(--platform-step) - var(--platform-line));column-gap:0}
.is-enhanced .panel--music li:nth-child(1){grid-area:1 / 1 / 2 / 2}
.is-enhanced .panel--music li:nth-child(2){grid-area:1 / 4 / 2 / 5}
.is-enhanced .panel--music li:nth-child(3){grid-area:2 / 2 / 3 / 3}
.is-enhanced .panel--music li:nth-child(4){grid-area:2 / 3 / 3 / 5;justify-self:end}
.is-enhanced .panel--music li:nth-child(5){grid-area:3 / 3 / 4 / 5}
.is-enhanced [data-menu-item="my-music"].is-open{padding-bottom:calc(var(--open-gap) + var(--music-height) + var(--after-gap) - var(--closed-gap))}
.is-enhanced .is-open .destination-list li{animation:menu-reveal 240ms ease both}
.is-enhanced .is-open .destination-list li:nth-child(2){animation-delay:30ms}
.is-enhanced .is-open .destination-list li:nth-child(3){animation-delay:60ms}
.is-enhanced .is-open .destination-list li:nth-child(4){animation-delay:90ms}
.is-enhanced .is-open .destination-list li:nth-child(5){animation-delay:120ms}
@keyframes menu-reveal{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}

.text-action{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;max-width:100%;padding:8px 0;border:0;border-radius:0;background:none;font-size:14px;font-weight:400;line-height:1.5;text-align:left;text-decoration:none;box-shadow:none;transition:color 120ms ease}
.index-label{font-family:var(--mono);font-size:12px;font-weight:400;line-height:1.5}
.error-content{flex:1;display:grid;place-items:center;padding:64px var(--content-left) 96px var(--content-right)}
.error-copy{width:min(100%,800px)}
.error-copy h2{font-family:var(--display);font-size:clamp(40px,7vw,100px);font-weight:900;letter-spacing:-.065em;line-height:1.1;margin:16px 0 20px}
.site-footer{padding:28px var(--content-left) 96px var(--content-right);text-align:right;font-family:var(--mono);font-size:12px;color:var(--muted)}

[data-theme-toggle]{visibility:hidden}
[data-theme] [data-theme-toggle]{visibility:visible}
.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;width:max-content;min-width:44px;height:var(--theme-line);min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-family:Arial,"Helvetica Neue",sans-serif;font-size:var(--theme-size);font-weight:400;line-height:var(--theme-line);letter-spacing:normal;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity 120ms ease}
.theme-toggle::before{content:"";position:absolute;inset:calc((var(--theme-line) - 44px) / 2) 0}
.theme-toggle:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.site-theme-toggle{position:absolute;right:var(--content-right);bottom:calc(var(--theme-bottom) + env(safe-area-inset-bottom,0px));z-index:40}
@media(max-width:767px){.site-theme-toggle{bottom:calc(48px + env(safe-area-inset-bottom,0px))}}
@media(hover:hover){.theme-toggle:hover{opacity:.55;text-decoration:none}}

@media(max-width:359px){:root{--gutter:18px}}
@media(min-width:768px){
  :root{--gutter:32px;--menu-size:26px;--title-line:32px;--platform-size:19px;--platform-line:25px;--open-gap:28px;--platform-step:52px;--after-gap:36px;--stage-target:640px;--wordmark-top:32px;--theme-size:14px;--theme-line:19px;--theme-bottom:32px}
}
@media(min-width:1200px){
  :root{--gutter:40px;--platform-size:20px;--platform-line:26px;--open-gap:32px;--platform-step:60px;--after-gap:44px;--stage-target:760px;--wordmark-top:40px;--theme-size:15px;--theme-line:20px;--theme-bottom:40px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

:root[data-theme="dark"]{color-scheme:dark;--theme-color-0:rgb(255 255 255);--theme-color-1:rgb(0 0 0);--theme-color-2:rgb(153 153 153);--theme-color-3:rgb(119 119 119);--theme-color-4:rgb(255 255 255);--theme-color-5:rgb(255 255 255);--theme-color-6:rgb(138 138 138)}

/* Footer notice links reserve touch space without moving the centered menu. */
.privacy-link{position:relative;display:inline-flex;align-items:center;width:max-content;max-width:100%;height:var(--theme-line);color:var(--muted);font-family:Arial,"Helvetica Neue",sans-serif;font-size:11px;line-height:var(--theme-line);text-decoration:none}
.privacy-link::before{content:"";position:absolute;inset:calc((var(--theme-line) - 44px) / 2) 0}
.privacy-link:focus-visible{text-decoration:underline;outline:1px solid currentColor;outline-offset:4px}
.home-privacy{position:absolute;left:var(--content-left);bottom:calc(var(--theme-bottom) + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;height:var(--theme-line)}
@media(max-width:767px){.home-privacy{bottom:calc(48px + env(safe-area-inset-bottom,0px))}}
@media(hover:hover){.privacy-link:hover{color:var(--ink);text-decoration:underline}}
