.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.ambient-radio{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:.65rem;padding-block:.7rem;padding-bottom:calc(.7rem + env(safe-area-inset-bottom));padding-inline:max(.75rem,calc((100vw - var(--max-w)) / 2));border-top:1px solid rgba(248,212,168,.24);background:linear-gradient(105deg,#1f1718d1,#0e0d14bd);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:0 -12px 38px #00000061;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em}.ambient-radio button,.ambient-radio a{color:var(--c-ink-muted);font:inherit}.ambient-radio button{border:0;padding:0;background:transparent;cursor:pointer}.ambient-radio button:hover,.ambient-radio button:focus-visible,.ambient-radio a:hover,.ambient-radio a:focus-visible{color:var(--c-accent-warm)}.ambient-radio button:disabled{cursor:default}.ambient-radio__toggle{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ambient-radio__source,.ambient-radio__next{flex:none}@media(min-width:100rem){.ambient-radio{left:auto;right:1.5rem;bottom:1.5rem;width:min(280px,calc((100vw - var(--max-w)) / 2 - 1.5rem));padding:.6rem;border:1px solid rgba(248,212,168,.24);border-radius:14px;box-shadow:0 14px 42px #0006,inset 0 1px #ffffff0b}}.listening-dock{position:fixed;left:0;right:0;bottom:0;z-index:60;pointer-events:none}.listening-panel{position:relative;overflow:hidden;border-top:1px solid rgba(248,212,168,.24);background:linear-gradient(105deg,#1f1718d1,#0e0d14bd);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:0 -12px 38px #00000061;color:var(--c-ink);font-family:var(--font-mono);padding-bottom:env(safe-area-inset-bottom);pointer-events:auto}.listening-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(248,212,168,.05),transparent 65%);transform:translate(-100%);animation:listeningGlint 8s ease-in-out infinite;pointer-events:none}.listening-lead{display:flex;align-items:center;max-width:var(--max-w);margin-inline:auto;padding-inline:.75rem}.listening-banner{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;flex:1;min-width:0;gap:.7rem;padding:.55rem 0;color:inherit;text-decoration:none}.listening-banner__art{width:52px;height:52px;border:1px solid rgba(248,212,168,.16);border-radius:6px;object-fit:cover;box-shadow:0 6px 16px #00000057}.listening-past__art{width:28px;height:28px;border:1px solid rgba(248,212,168,.12);border-radius:4px;object-fit:cover}.listening-art--fallback{display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,rgba(240,189,142,.38),transparent 34%),linear-gradient(145deg,#2a1d24,#0a0c1c);color:var(--c-accent-cream);font-size:1.2rem}.listening-past__art.listening-art--fallback{font-size:.7rem}.listening-banner__copy{display:flex;min-width:0;flex-direction:column;gap:.14rem}.listening-banner__status{display:flex;align-items:center;gap:.4rem;color:var(--c-accent-warm);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase}.listening-banner__title,.listening-banner__artist,.listening-past__title,.listening-past__meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listening-banner__title{color:var(--c-ink);font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.01em}.listening-banner__artist{color:var(--c-ink-muted);font-size:.66rem;letter-spacing:.04em}.listening-banner__invite{color:var(--c-ink-faint);font-size:.82rem;letter-spacing:.08em}.listening-banner:hover .listening-banner__invite,.listening-banner:focus-visible .listening-banner__invite{color:var(--c-accent-cream)}.listening-eq{display:inline-flex;align-items:flex-end;gap:2px;height:9px}.listening-eq span{width:2px;height:3px;border-radius:1px;background:#34c759;box-shadow:0 0 6px #34c759b3;animation:listeningEq 1.05s ease-in-out infinite}.listening-eq span:nth-child(2){animation-delay:.18s}.listening-eq span:nth-child(3){animation-delay:.36s}.listening-banner__dot{width:5px;height:5px;border-radius:50%;background:var(--c-ink-faint)}.listening-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-left:.15rem;border:0;background:transparent;cursor:pointer}.listening-toggle__chevron{width:8px;height:8px;border-right:1.5px solid var(--c-ink-muted);border-bottom:1.5px solid var(--c-ink-muted);transform:translateY(2px) rotate(225deg);transition:transform var(--dur-fast) var(--ease-soft)}.listening-toggle:hover .listening-toggle__chevron,.listening-toggle:focus-visible .listening-toggle__chevron{border-color:var(--c-accent-cream)}.listening-dock--expanded .listening-toggle__chevron{transform:translateY(-2px) rotate(45deg)}.listening-history{display:none;max-width:var(--max-w);margin:0 auto;padding:.15rem .75rem .5rem;border-top:1px dashed rgba(248,212,168,.14);list-style:none}.listening-dock--expanded .listening-history{display:block}.listening-past{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:.6rem;padding:.42rem 0;text-decoration:none}.listening-past__copy{display:flex;min-width:0;flex-direction:column;gap:.1rem}.listening-past__title{color:var(--c-ink-muted);font-family:var(--font-sans);font-size:.78rem}.listening-past__meta{color:var(--c-ink-faint);font-size:.6rem;letter-spacing:.04em}.listening-past:hover .listening-past__title,.listening-past:focus-visible .listening-past__title{color:var(--c-ink)}@media(min-width:100rem){.listening-dock{left:auto;right:1.5rem;bottom:1.5rem;width:min(280px,calc((100vw - var(--max-w)) / 2 - 1.5rem))}.listening-panel{border:1px solid rgba(248,212,168,.24);border-radius:14px;box-shadow:0 14px 42px #0006,inset 0 1px #ffffff0b,0 0 30px #d08a5a17;transition:border-color var(--dur-fast) var(--ease-soft)}.listening-panel:hover{border-color:#f0bd8e75}.listening-lead,.listening-history{padding-inline:.6rem}.listening-banner{grid-template-columns:44px minmax(0,1fr) auto}.listening-banner__art{width:44px;height:44px}.listening-banner__title{font-size:.82rem}.listening-history{display:block}.listening-toggle{display:none}}@keyframes listeningEq{0%,to{height:3px;opacity:.55}50%{height:9px;opacity:1}}@keyframes listeningGlint{0%,72%,to{transform:translate(-100%)}84%{transform:translate(100%)}}.motion-still .listening-panel:after,.motion-still .listening-eq span{animation:none!important}@media(prefers-reduced-motion:reduce){.listening-panel:after,.listening-eq span{animation:none}.listening-eq span{height:6px}}:root{--c-bg-deepest: #08070a;--c-bg-sky-top: #0a0c1c;--c-bg-sky-mid: #1a1525;--c-bg-sky-horizon: #2a1d24;--c-bg-ground: #100c0a;--c-bg-ground-deep: #08070a;--c-line: rgba(208, 138, 90, .15);--c-line-strong: rgba(208, 138, 90, .3);--c-ink: rgba(245, 238, 222, .95);--c-ink-muted: rgba(255, 255, 255, .55);--c-ink-faint: rgba(255, 255, 255, .35);--c-accent: #d08a5a;--c-accent-warm: #f0bd8e;--c-accent-cream: #f8d4a8;--c-accent-deep: #8a4b2a;--c-moon-light: #fffaf0;--c-moon-mid: #f0e2c8;--c-moon-shadow: #8a7964;--c-night-haze: rgba(110, 140, 180, .18);--c-dusk-haze: rgba(140, 85, 55, .35);--c-dawn-sky-top: #fbf2e4;--c-dawn-sky-mid: #f4d9c0;--c-dawn-sky-bottom: #c97a45;--c-dawn-ink: #3a1e0c;--c-dawn-ink-muted: rgba(80, 40, 20, .6);--c-dawn-sun-core: #fff9e8;--c-dawn-sun-mid: #fde4a8;--c-dawn-sun-edge: #f5b860;--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", "Liberation Mono", Menlo, monospace;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Inter", sans-serif;--fs-hud: 9px;--fs-tiny: 11px;--fs-meta: 13px;--fs-body: 15px;--fs-h3: 18px;--fs-h2: clamp(1.4rem, 3vw, 2rem);--fs-h1: clamp(2rem, 5vw, 3.5rem);--ease-soft: cubic-bezier(.25, .46, .45, .94);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .2s;--dur-med: .4s;--dur-slow: .8s;--dur-yearning: 1.2s;--max-w: 70rem;--measure: 44rem;--pad-side: clamp(1rem, 3vw, 2rem)}*{box-sizing:border-box}html{background:var(--c-bg-deepest);color:var(--c-ink);font-family:var(--font-mono);font-size:16px;line-height:1.6;color-scheme:dark;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;background:var(--c-bg-deepest)}a{color:var(--c-accent-warm);text-decoration-color:color-mix(in srgb,var(--c-accent) 42%,transparent);text-underline-offset:.18em;transition:color var(--dur-fast) var(--ease-soft)}a:hover,a:focus-visible{color:var(--c-accent-cream);text-decoration-color:currentColor}a:focus-visible{outline:2px solid var(--c-accent-warm);outline-offset:2px;border-radius:2px}main,.site-header,.site-footer{width:min(100% - var(--pad-side) * 2,var(--max-w));margin-inline:auto}.site-footer{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding-block:2.5rem 7rem;color:var(--c-ink-faint);font-size:var(--fs-tiny);text-align:center}.site-footer p{margin:0;font-style:italic}.site-footer__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem .9rem;font-style:normal;letter-spacing:.06em}.site-footer__links>span{color:var(--c-ink-faint)}.site-footer__links a{color:var(--c-ink-muted);text-decoration:none}.site-footer__links a:hover,.site-footer__links a:focus-visible{color:var(--c-accent-cream)}.skip-link{position:absolute;top:-100px;left:1rem;z-index:100;background:var(--c-accent);color:var(--c-bg-deepest);padding:8px 14px;border-radius:4px;font-family:var(--font-mono);font-size:var(--fs-tiny);text-decoration:none}.skip-link:focus{top:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){:root{--c-accent: CanvasText;--c-ink: CanvasText;--c-bg-deepest: Canvas}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
