/* Shared listening surface. Keep this sheet after legacy page styles. */
:root{--listening-indigo:#26346d;--listening-border:#e3e8ed;--persistent-player-height:132px;color-scheme:only light}
body{padding-bottom:calc(var(--persistent-player-height) + env(safe-area-inset-bottom,0px) + 24px);word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
/* 全ページ共通（build が全ページの最後に読み込む）：各ページの CSS が要素に word-break を指定しても文節の途中で折り返さない */
:is(p,h1,h2,h3,h4,h5,h6,li,dt,dd,th,td,caption,figcaption,blockquote,label,summary,legend){word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
h1,h2,h3,h4{text-wrap:balance}button,input,select,summary{font:inherit}button,a,summary,input{touch-action:manipulation}
header nav{flex-wrap:nowrap}header nav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.home-transport{align-items:center;gap:24px}.home-skip{display:grid;place-items:center;min-width:44px;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:#f5f5fa;color:var(--listening-indigo);cursor:pointer}.home-skip svg{width:22px;height:22px}.home-skip:hover{background:#e9e6f7}#home-play{background:var(--listening-indigo)}
.listening-settings{width:100%;border-top:1px solid var(--listening-border)}.listening-settings-open{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px 2px;border:0;background:transparent;cursor:pointer;font-size:14px;color:#233349;text-align:left}.listening-settings-open svg{width:22px;height:22px;flex:none;color:#26346d}.listening-settings-open:hover{color:#26346d}.listening-settings-open:hover svg{color:#8f80c6}.listening-settings #home-binaural{margin:0 0 12px}
.immersive-home .purpose-playlists{max-width:1120px;padding:38px 28px 10px;margin:auto}.playlist-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.playlist-heading h2{font:500 25px/1.5 var(--serif);margin:0}.playlist-heading p{font-size:14px;color:#596477;margin:0}.purpose-playlist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.purpose-playlist-card:first-child{grid-column:span 2;aspect-ratio:auto}.purpose-playlist-card{position:relative;display:block;overflow:hidden;padding:0;border:0;border-radius:16px;aspect-ratio:1.5;text-align:left;cursor:pointer;background:#26346d;color:#fff;isolation:isolate}.purpose-playlist-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.purpose-playlist-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101c40dd,transparent 100%);z-index:-1}.purpose-playlist-copy{position:absolute;left:20px;right:55px;bottom:20px;display:flex;flex-direction:column;gap:6px}.purpose-playlist-copy strong{font:500 28px/1.3 var(--serif)}.purpose-playlist-copy>span{font-size:13px;color:#fff}.playlist-play{position:absolute;right:15px;bottom:21px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#26346d;font-size:14px}.purpose-playlist-card[aria-pressed=true]{outline:3px solid #8f80c6;outline-offset:4px}
.immersive-home .listening-modes{margin-top:40px;margin-bottom:48px}.immersive-home .lab-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:48px;padding-bottom:48px}.lab-story>img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:16px}.lab-story h2{font-size:30px;line-height:1.6;margin:12px 0 18px}.lab-story p:not(.eyebrow){font-size:16px;line-height:1.9;color:#596477}.lab-story .text-link,.personal-teaser .text-link,.zone-member-teaser .text-link{min-height:44px;color:#26346d}.zone-member-teaser{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:32px!important;padding-bottom:40px!important}.zone-member-teaser h2{font-size:25px;margin:8px 0 14px}.zone-member-teaser p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:46em;color:#596477}.zone-member-teaser>a{flex-shrink:0;font-size:14px}
#persistent-player{position:fixed;left:0;right:0;bottom:0;z-index:100;background:rgba(255,255,255,.98);border-top:1px solid #dce0e9;box-shadow:0 -6px 30px #26346d0c;padding:12px max(24px,calc((100vw - 1120px)/2)) calc(12px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:48px minmax(100px,1fr) auto minmax(150px,300px) auto;align-items:center;gap:12px 20px;color:#233349;box-sizing:border-box}
#persistent-player[hidden]{display:none!important}#persistent-player img,.persistent-art{width:48px;height:48px;object-fit:cover;border-radius:8px}.persistent-track{min-width:0}.persistent-track a,#persistent-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#233349;font-size:14px;line-height:1.6}.persistent-track small{font-size:12px;color:#596477}.persistent-transport{display:flex;align-items:center;gap:8px}#persistent-player button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:0;border-radius:50%;background:transparent;color:#26346d;cursor:pointer}#persistent-player button svg{width:22px;height:22px}#persistent-player #persistent-toggle{background:#26346d;color:#fff}#persistent-player button:disabled{opacity:.4;cursor:default}.persistent-progress{min-width:0}.persistent-progress input,#persistent-seek{width:100%;height:28px;accent-color:#26346d;min-width:0}.persistent-times{display:flex;justify-content:space-between;font-size:11px;font-variant-numeric:tabular-nums;color:#596477}.persistent-settings{position:relative}.persistent-settings>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;white-space:nowrap}.persistent-settings-body{position:absolute;right:0;bottom:calc(100% + 22px);width:min(360px,calc(100vw - 32px));max-height:65vh;overflow:auto;padding:20px;background:#fff;border:1px solid #e3e8ed;border-radius:16px;box-shadow:0 6px 32px #26346d20}.persistent-settings-body label{display:block;font-size:14px;line-height:1.8}.persistent-settings-body select{background:#fff;color:#233349;border:1px solid #cbd1dd;border-radius:8px;min-height:44px;padding:8px;max-width:100%}.persistent-settings-body input[type=range]{width:100%;min-height:32px}.persistent-settings-body p{font-size:13px;line-height:1.8;color:#596477}#status{bottom:calc(var(--persistent-player-height) + env(safe-area-inset-bottom,0px) + 16px)}
.listening-settings-open:focus-visible,.purpose-playlist-card:focus-visible,#persistent-player :is(button,a,input,summary,select):focus-visible{outline:3px solid #8f80c6;outline-offset:3px}
@media(max-width:760px){header,.immersive-home>header{gap:12px;padding-top:16px;padding-bottom:8px}header nav,.immersive-home>header nav{display:flex;flex-wrap:nowrap;justify-content:flex-start;max-width:100%;overflow-x:auto;gap:20px;padding:0 0 4px;white-space:nowrap;font-size:12px;scrollbar-width:thin}header nav a,.immersive-home>header nav a{flex:none;min-height:44px}.immersive-home .home-listen{padding:22px 24px 0}.listen-intro{margin-bottom:18px}.home-player{gap:18px}.home-art{aspect-ratio:5/4}.home-art #cover{aspect-ratio:auto}.home-caption{margin-bottom:4px}.home-caption #track-title{font-size:27px;margin-top:6px}.home-progress input{height:32px}.home-transport{padding:12px 0 4px}.home-volume{margin-bottom:8px}.immersive-home .purpose-playlists{padding:30px 24px 10px}.playlist-heading{display:block;margin-bottom:16px}.playlist-heading h2{font-size:23px}.playlist-heading p{font-size:13px;margin-top:8px}.purpose-playlist-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-playlist-card{aspect-ratio:1.25;min-height:118px}.purpose-playlist-card:first-child{aspect-ratio:2.7}.purpose-playlist-copy{left:14px;right:40px;bottom:14px;gap:4px}.purpose-playlist-copy strong{font-size:20px}.purpose-playlist-card:first-child .purpose-playlist-copy strong{font-size:26px}.purpose-playlist-copy>span{font-size:12px;line-height:1.5}.purpose-playlist-card:not(:first-child) .playlist-play{right:10px;bottom:12px;width:30px;height:30px;font-size:12px}.playlist-play{right:20px}.immersive-home .lab-story{grid-template-columns:1fr;gap:26px;padding-top:34px;padding-bottom:34px}.lab-story h2{font-size:26px}.lab-story>img{aspect-ratio:1.5}.zone-member-teaser{display:block}.zone-member-teaser h2{font-size:24px}.zone-member-teaser>a{margin-top:8px}#persistent-player{padding:10px 16px calc(8px + env(safe-area-inset-bottom,0px));grid-template-columns:40px minmax(0,1fr) auto;gap:5px 10px}#persistent-player img,.persistent-art{width:40px;height:40px}.persistent-transport{gap:0}.persistent-track a,#persistent-title{font-size:13px}.persistent-progress{grid-column:1/3;grid-row:2}.persistent-settings{grid-column:3;grid-row:2;justify-self:end}.persistent-settings>summary{min-height:32px;font-size:12px}.persistent-progress input,#persistent-seek{height:22px;margin:0}.persistent-times{font-size:10px}.persistent-settings-body{bottom:calc(100% + 16px)}.persistent-track small{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
[hidden]{display:none!important}.bsl-page-frame{width:100%;border:0;display:block;min-height:400px;background:white}.bsl-embedded body{padding-bottom:24px!important}.bsl-embedded body>header,.bsl-embedded .skip{display:none!important}.bsl-embedded #status{bottom:20px!important}.bsl-embedded main{padding-top:24px}.nature-choices{display:flex;gap:8px;flex-wrap:wrap}.nature-choices button[aria-pressed=true]{background:#26346d;color:white}.persistent-settings-body label{display:grid;gap:8px}.persistent-settings-body fieldset{border:0;padding:0}.persistent-settings-body select{font:inherit;min-height:44px}.persistent-progress{align-items:center;gap:8px}.persistent-progress span{font-size:11px;font-variant-numeric:tabular-nums}.persistent-progress input{min-width:0;flex:1}.track-item.is-playing{background:#f0f1fa;border-radius:12px}.track-item.is-playing .track-buttons button:first-child::before{content:'Ⅱ ';}.track-item.is-playing .track-buttons button:first-child{background:#26346d;color:white}#persistent-title{display:block;color:inherit;text-decoration:none}#persistent-state{font-size:11px;color:#656779}#persistent-player fieldset button{min-height:44px}.sleep-open{background:transparent;border:0;color:#26346d;min-height:44px;cursor:pointer}
/* Keep the transport visible before secondary feedback controls. */
.home-controls>.home-caption{order:0}.home-controls>.home-transport{order:1}.home-controls>.home-progress{order:2}.home-controls>.home-volume{order:3}.home-controls>#home-feedback{order:4;width:100%}.home-controls>.listening-settings{order:5}
.persistent-progress{display:flex;line-height:1.3}.persistent-progress span{flex:none;white-space:nowrap}.persistent-progress input{width:0;margin:0}.persistent-settings>summary{line-height:1.4;padding:0}.persistent-track{line-height:1.5}.persistent-track small{display:block;margin-top:3px}
@media(max-width:760px){
 #persistent-player{grid-template-rows:44px 32px;row-gap:5px;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
 .persistent-progress{gap:7px;height:32px}.persistent-progress span{font-size:10px}.persistent-progress input,#persistent-seek{height:24px;padding:0}
 .persistent-settings>summary{font-size:11px;min-height:32px;padding:0 2px}
 .home-transport{padding:8px 0 6px}.home-caption{margin-bottom:0}.home-volume{margin-top:0;margin-bottom:6px}
 #home-feedback .track-feedback{margin-bottom:4px}
}
/* 再生バーの評価。曲名の横に「良い／合わない」。目的別再生中は「集中に 合う／合わない」。 */
#persistent-player{grid-template-columns:48px minmax(100px,1fr) auto auto minmax(150px,300px) auto}
.persistent-rating{display:flex;align-items:center;gap:6px;min-width:0}
.persistent-rating-prefix{flex:none;font-size:12px;color:#596477;white-space:nowrap}.persistent-rating-prefix:empty{display:none}
#persistent-player .persistent-rate{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px 0 11px;border:1px solid #dce0e9;border-radius:999px;background:#fff;color:#26346d;font-size:12px;line-height:1;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
#persistent-player .persistent-rate svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#persistent-player .persistent-rate:hover:not(:disabled){border-color:#9aa3c4}
#persistent-player .persistent-rate[data-rating=like][aria-pressed=true]{background:#26346d;border-color:#26346d;color:#fff}
#persistent-player .persistent-rate[data-rating=like][aria-pressed=true] svg{fill:currentColor}
#persistent-player .persistent-rate[data-rating=dislike][aria-pressed=true]{background:#eceef4;border-color:#596477;color:#233349}
#persistent-player .persistent-rate[data-rating=dislike][aria-pressed=true] svg{fill:#23334933}
@media(min-width:761px) and (max-width:1040px){.persistent-rating-prefix{display:none}#persistent-player .persistent-rate{padding:0 11px}#persistent-player .persistent-rate span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media(max-width:760px){
 #persistent-player{grid-template-columns:40px minmax(0,1fr) auto;grid-template-rows:44px 28px 44px;row-gap:4px}
 .persistent-progress{grid-column:1/-1;grid-row:2;height:28px}
 .persistent-rating{grid-column:1/3;grid-row:3}
 .persistent-settings{grid-column:3;grid-row:3;align-self:center}
 #persistent-player .persistent-rate{padding:0 12px 0 10px}
}
@media(prefers-reduced-motion:reduce){#persistent-player .persistent-rate{transition:none}}
/* 自然音と再生の設定。PCは再生バーの上の小さなパネル。スマホは画面下から出るシート。 */
#persistent-player .persistent-settings{display:inline-flex;gap:6px;min-height:44px;padding:0 12px;border:1px solid #dce0e9;border-radius:999px;background:#fff;font-size:13px;white-space:nowrap}
#persistent-player .persistent-settings svg{width:18px;height:18px;flex:none}
#persistent-player .persistent-settings[aria-expanded=true]{background:#f1eeff;border-color:#baa9ff}
.settings-backdrop{position:fixed;inset:0;z-index:1;background:transparent}
#persistent-player .persistent-settings-body{position:fixed;z-index:2;right:max(24px,calc((100vw - 1120px)/2));bottom:calc(var(--persistent-player-height) + 12px);width:min(380px,calc(100vw - 32px));max-height:calc(100vh - var(--persistent-player-height) - 40px);max-height:calc(100dvh - var(--persistent-player-height) - 40px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:8px 20px 20px;background:#fff;border:1px solid #e3e8ed;border-top:3px solid #baa9ff;border-radius:16px;box-shadow:0 10px 40px #26346d24;display:grid;gap:16px;color:#233349}
#persistent-player .persistent-settings-body[hidden]{display:none!important}
.settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-right:-8px}
.settings-head h2{margin:0;font-size:16px;font-weight:600;line-height:1.5;color:#26346d}
#persistent-player .settings-close{width:44px;height:44px;flex:none;color:#26346d}
#persistent-player .settings-close:hover{background:#f1eeff}
.persistent-settings-body fieldset{margin:0;display:grid;gap:12px}
.persistent-settings-body legend{font-size:14px;line-height:1.8;margin-bottom:8px}
#persistent-player .nature-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#persistent-player .nature-choices button{border-radius:12px;border:1px solid #dce0e9;background:#fff;font-size:14px;min-height:48px}
#persistent-player .nature-choices button[aria-pressed=true]{background:#26346d;border-color:#26346d;color:#fff}
.persistent-settings-body input[type=range]{accent-color:#26346d}
.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.settings-row select{width:100%}
#persistent-sleep-status:empty{display:none}#persistent-sleep-status{margin:-8px 0 0}
@media(max-width:760px){
 .settings-backdrop{background:#26346d52}
 #persistent-player .persistent-settings{padding:0 10px;font-size:12px}
 #persistent-player .persistent-settings-body{left:0;right:0;bottom:0;width:auto;max-height:85vh;max-height:85dvh;padding:6px 16px calc(20px + env(safe-area-inset-bottom,0px));border:0;border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #26346d2e}
 #persistent-player .persistent-settings-body:before{content:'';justify-self:center;width:40px;height:4px;border-radius:2px;background:#baa9ff;margin-top:4px}
}
@media(prefers-reduced-motion:no-preference){@keyframes settings-rise{from{transform:translateY(12px);opacity:0}}#persistent-player .persistent-settings-body:not([hidden]){animation:settings-rise .18s ease-out}}

/* よく押される見出しはリンクにする（z-1847） */
#track-title a,.lab-story h2 a,.personal-teaser h2 a,.zone-member-teaser h2 a{color:inherit;text-decoration:none}#track-title a:hover,.lab-story h2 a:hover,.personal-teaser h2 a:hover,.zone-member-teaser h2 a:hover{text-decoration:underline;text-underline-offset:.2em}#track-title a:focus-visible,.lab-story h2 a:focus-visible,.personal-teaser h2 a:focus-visible,.zone-member-teaser h2 a:focus-visible{outline:3px solid #819bb7;outline-offset:4px;border-radius:4px}
