/* Hero repair: the inherited 42% section is not a containing block for a two-column title. */
@media(min-width:1024px){
 section[data-chapter=start]{width:100%;justify-content:flex-start;padding:clamp(110px,14svh,160px) 112px 0 64px}
 .plae-hero-content{width:100%;max-width:1120px;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);align-items:end}
 .intro-eyebrow{white-space:nowrap}
 .hero-title,html:lang(en) .hero-title{font-size:clamp(48px,5.8vw,92px);margin-top:24px}
 .hero-support{min-width:0;max-width:34ch}
 .intro-description{font-size:16px}
 [data-chapter=start] .music-object{height:46%;width:70vw;left:26%;bottom:0}
 [data-chapter=start] .music-hotspots{inset:50% 8% 56px 0}
 [data-chapter=start] .town-hint{bottom:8px}
}
@media(min-width:1024px) and (max-height:700px){
 section[data-chapter=start]{padding-top:94px}
 .hero-title,html:lang(en) .hero-title{font-size:clamp(44px,5vw,68px);margin-top:16px}
 .hero-support .intro-description{font-size:14px}
 [data-chapter=start] .music-object{height:38%}
 [data-chapter=start] .music-hotspots{inset:60% 8% 56px 0}
}
/* Static source captures retain the real product's materials. No recolor/invert filter. */
.music-object>img{filter:drop-shadow(0 16px 24px #20202018);border-radius:8px}.object-pulse{display:none}
[data-chapter=start] .music-object{transform:rotate(-5deg)}
.plae-film-layer .dummy-film{width:76%;height:55%;margin-left:16%;margin-top:8%;object-fit:contain;transform:none;animation:product-drift 20s ease-in-out infinite alternate;filter:drop-shadow(0 12px 22px #0002)}
@keyframes product-drift{to{transform:translateY(-8px)}}
.plae-film-layer .ambient{display:none}.activity-art{padding:12px}.activity-art img{object-fit:contain}.billing-art{padding:14px}.billing-art img{object-fit:contain}.guide-visual img{object-fit:contain;background:var(--plae-surface);padding:12px}
[data-plae=closing-art],html[data-theme=light] [data-plae=closing-art],html[data-theme=dark] [data-plae=closing-art]{background-image:url(product/desktop-dark-melody.webp)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat;filter:none}
html[data-theme=light] [data-plae=closing-art]{background-image:url(product/desktop-light-melody.webp)!important}
.signin-art>img{object-fit:contain;object-position:center;width:70%;margin-left:2%;filter:drop-shadow(0 20px 40px #0002)}.signin-art{background:var(--plae-workspace)}
.billing-scope-label{font-size:13px;text-align:right;color:var(--plae-ink);padding:16px 0}.billing-scope-label p{font-size:12px;color:var(--plae-muted);margin-top:4px}.billing-kicker{font-size:11px;color:var(--plae-muted);line-height:1.6}.billing-card-title{font-size:25px;font-weight:500;line-height:1.3;margin:14px 0 20px;letter-spacing:-.03em}.billing-features{list-style:none;margin:0 0 24px;border-top:1px solid var(--plae-line);padding-top:20px;display:flex;flex-direction:column;gap:12px;font-size:13px;line-height:1.6}.billing-features li::before{content:'—';margin-right:7px;color:var(--plae-link)}.billing-contact{font-size:12px;line-height:1.8;margin-top:12px;color:var(--plae-muted)}.billing-contact a,.business-footer a[href^=mailto]{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
footer.business-footer{display:grid;grid-template-columns:.9fr 1.5fr 1fr;gap:48px;align-items:start;padding-top:48px;padding-bottom:48px;font-size:13px;line-height:1.8;color:var(--plae-muted)}.business-brand p{margin-top:16px}.business-details h2{font-size:14px;color:var(--plae-ink);font-weight:600}.business-details p,.business-details address{margin-top:12px;font:inherit;font-style:normal}.business-navigation nav{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.business-navigation a,.business-navigation button{min-height:32px;color:var(--plae-ink);font-size:13px;}.business-navigation button{text-align:left}.footer-boundary{margin-top:20px;line-height:1.8}#plae-local-notice p{white-space:pre-line}
@media(max-width:1023px){footer.business-footer{grid-template-columns:1fr 1.5fr;gap:32px}.business-navigation{grid-column:1/-1}}
@media(max-width:639px){.plae-film-layer .dummy-film{width:90%;height:48%;margin-left:5%;margin-top:70px;object-fit:contain;mask-image:none}.music-object>img{border-radius:6px}.signin-art>img{width:100%;height:48%;margin:64px 0 0;object-fit:contain;object-position:50% 0}.billing-scope-label{text-align:left}.billing-card-title{font-size:27px}.billing-contact{font-size:12px}footer.business-footer{display:flex;flex-direction:column;gap:28px;padding-block:32px}.business-navigation{max-width:100%}.billing-art{height:192px}.guide-visual img{height:260px}}
@media(prefers-reduced-motion:reduce){.plae-film-layer .dummy-film{animation:none}}
.module-thumbnail{display:block;width:100%;height:104px;object-fit:contain;margin:12px 0;border-radius:4px}
footer.business-footer{max-width:1280px;margin-inline:auto;padding-inline:24px}
@media(max-width:639px){footer.business-footer{padding-inline:16px}.module-thumbnail{height:90px}}
@media(min-width:1024px){[data-chapter=start] .music-object{bottom:60px}}
/* Short desktop: a normal-flow row avoids five independently anchored labels colliding. */
@media(min-width:1024px) and (max-height:700px){[data-chapter=start] .music-hotspots{inset:auto 150px 48px 48px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}[data-chapter=start] .music-hotspots .signpost{position:static;transform:none!important;flex:none}}

/* Only the collapsed, unfocused rail: Next can make the button wider than its dot.
   Expanded/hover/focus-within keep the existing left-aligned dot + label rows. */
[data-plae="chapter-rail"]:not(.expanded):not(:hover):not(:focus-within) > ol > li > button {
  justify-content: center;
}
