:root{color-scheme:dark;--bg:#151815;--panel:#1d221e;--text:#f0f1e8;--muted:#aab3a9;--line:#394238;--accent:#dafa75}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 -apple-system,BlinkMacSystemFont,'Noto Sans JP',sans-serif}a{color:inherit;text-underline-offset:5px}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{padding:25px 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;font-weight:650;letter-spacing:-1px;text-decoration:none}.brand span{font-size:14px;letter-spacing:1px;font-weight:400;color:var(--muted)}.edition,.eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted)}main{max-width:1320px;margin:auto;padding:0 5%}.intro{padding:48px 0 32px;position:relative}.intro h1{font-family:serif;font-size:clamp(28px,3.5vw,46px);font-weight:400;line-height:1.5;margin:12px 0}.intro h1 br{display:none}.intro>p:last-child{color:var(--muted);margin:12px 0 0}.layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);gap:52px;align-items:start}.listening{position:sticky;top:18px;background:var(--panel);border:1px solid var(--line);padding:22px}.player-top{display:flex;justify-content:space-between;font:12px/1.5 monospace;letter-spacing:2px;color:var(--accent);margin-bottom:18px}.screen{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;background:#090c09}.screen iframe,#player{width:100%;height:100%;position:absolute;inset:0;border:0}.start{position:absolute;inset:0;width:100%;padding:0;border:0;background:#0b100b;color:white;overflow:hidden}.start img{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}.start-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;font-size:16px}.play-circle{width:54px;height:54px;border-radius:50%;background:var(--accent);color:var(--bg);display:grid;place-items:center}.track-info{padding:18px 0 10px}.track-info h2{font-family:serif;font-size:30px;font-weight:400;line-height:1.35;margin:8px 0}.track-info p:last-child{font-size:14px;color:var(--muted);margin:8px 0}.controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:10px}button{border:1px solid var(--line);color:var(--text);background:transparent;padding:10px 14px;border-radius:3px;font-size:14px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#1a2015;border-color:var(--accent);font-weight:650}.continuous{margin-top:24px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}.continuous span{color:var(--muted);font-size:12px}input{accent-color:var(--accent);width:17px;height:17px;vertical-align:middle}.status{font-size:12px;color:var(--muted);min-height:20px}.small-link{font-size:12px;color:var(--muted)}.collection-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}.collection-head h2{font-size:21px;font-weight:500;margin:0}.collection-head>span{font:12px monospace;color:var(--muted)}.sorting{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0;font-size:14px}.sorting label{color:var(--muted)}select{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:8px;max-width:75%;font-size:14px}.song{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px}.song img{width:90px;height:75px;object-fit:cover;background:var(--panel)}.song h3{font-size:18px;font-weight:500;margin:0 0 1px}.song p{font-size:13px;color:var(--muted);margin:0}.song button{margin-top:12px;padding:5px 14px}.song.active h3{color:var(--accent)}.metrics{display:flex;gap:16px;margin-top:8px;font-size:12px;color:var(--muted)}.next-up{border-top:1px solid var(--accent);padding:22px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 15px}.next-up .eyebrow{grid-column:1/-1;color:var(--accent)}.next-up p{font-family:serif;font-size:22px;margin:2px 0}.data-note{border-top:1px solid var(--line);padding-top:24px;color:var(--muted)}.data-note h3{font-size:14px;color:var(--text);font-weight:500}.data-note p,.data-note summary{font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:28px 0;margin-top:64px}footer a{font-size:14px;color:var(--muted)}@media(max-width:760px){header{padding:18px 5%}.edition{display:none}.intro{padding:30px 0 24px}.intro h1 br{display:block}.intro h1{font-size:30px}.layout{grid-template-columns:minmax(0,1fr);gap:30px}.listening{position:relative;top:auto;padding:15px}.screen{min-height:200px}.track-info h2{font-size:26px}.collection{padding-bottom:10px}footer{align-items:flex-start;gap:22px;flex-direction:column;margin-top:30px}.continuous{flex-wrap:wrap}.brand{font-size:23px}}@media(prefers-reduced-motion:no-preference){button{transition:border-color .15s}}
.formats{display:flex;gap:8px;margin-bottom:10px}.formats button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}#songs{max-height:650px;overflow:auto;scrollbar-color:#657151 transparent;padding-right:8px}.metrics{flex-wrap:wrap;gap:6px}.start[hidden]{display:none}@media(max-width:760px){#songs{max-height:450px}.listening{position:sticky;top:0;z-index:5}.track-info{padding:8px 0}.track-info .eyebrow{margin:3px 0;font-size:12px}.track-info h2{font-size:21px;margin:4px 0}.track-info p:last-child{display:none}.continuous{margin-top:10px}.status{margin:5px 0}.player-top{margin-bottom:8px}.listening .small-link{font-size:12px}.screen{aspect-ratio:16/9;min-height:200px}.collection .status{margin:10px 0}}@media(max-height:650px){.listening{position:relative;top:auto}}

/* Allow grid and flex children to shrink independently of long track names. */
html,body{width:100%;margin:0}main{width:100%}.layout,.layout>*,.song>*,.next-up>*,.track-info,.controls>*{min-width:0}.screen,.screen iframe,#player{max-width:100%}.track-info h2,.track-info .eyebrow,.song h3,.song p,.metrics,.next-up p,.status{overflow-wrap:anywhere}.formats{flex-wrap:wrap}.sorting select{min-width:0}.collection-head{gap:12px}.collection-head>span{flex-shrink:0}.controls button{padding-inline:8px}.continuous>*{min-width:0}
/* A small window onto the actual APH park. */
.park-invitation{position:relative;isolation:isolate;display:block;margin-top:18px;min-width:0;min-height:142px;overflow:hidden;border:1px solid #706448;border-radius:4px;text-decoration:none;background:#121b22}.park-glimpse{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 46%;z-index:-2}.park-invitation::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,22,27,.97),rgba(13,22,27,.88) 35%,rgba(13,22,27,.12) 82%)}.park-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px 18px;min-width:0}.park-copy strong{font-family:serif;font-size:18px;font-weight:400;line-height:1.45;color:#fff5df}.park-copy>span:not(.park-action){font-size:12px;color:#e0d5bc}.park-action{display:inline-block;margin-top:3px;padding:4px 10px;border:1px solid #b29c68;border-radius:2px;color:#ffe4a2;background:rgba(13,22,27,.7);font-size:14px;line-height:1.5}.park-invitation:hover,.park-invitation:focus-visible{border-color:#ffe4a2}.park-invitation:hover .park-action,.park-invitation:focus-visible .park-action{background:#f2d392;color:#172022}.park-invitation:focus-visible{outline-offset:3px}
@media(max-width:760px){.park-invitation{margin-top:12px;min-height:128px}.park-copy{padding:12px 14px;gap:3px}.park-copy strong{font-size:16px}.park-action{font-size:14px}.next-up{column-gap:10px}.next-up button{padding-inline:10px;max-width:125px}.song{grid-template-columns:72px minmax(0,1fr);gap:12px}.song img{width:72px;height:65px}.listening{width:100%;max-width:100%}}
@media(max-width:360px){main{padding-inline:4%}.listening{padding:12px}.formats{gap:6px}.formats button{padding-inline:10px}.next-up{grid-template-columns:minmax(0,1fr)}.next-up .eyebrow{grid-column:auto}.next-up button{justify-self:start;max-width:none;margin-top:6px}}
@media(max-width:760px) and (max-height:800px){.listening{position:relative;top:auto}}
@media(prefers-reduced-motion:no-preference){.park-action{transition:background-color .18s,color .18s}.park-invitation{transition:border-color .18s}}
