:root{--blue:#006fc1;--deep:#094c94;--yellow:#ffed24;--pink:#d52c63;--green:#3c8429;--ink:#16334c;--line:#dceaf3;--sky:#edf8ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.8;background:white}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e72c70;outline-offset:6px}.site-header{min-height:70px;padding:14px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:900;color:var(--deep)}.brand span{color:var(--pink)}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:.9rem;font-weight:700}.nav-cta{background:var(--blue);color:white;border-radius:30px;padding:8px 20px}.hero{padding:38px max(24px,calc((100vw - 1200px)/2)) 28px;background:linear-gradient(180deg,#f4fbff 0%,#e9f6ff 78%,white 78%)}.hero-top{display:grid;grid-template-columns:1.55fr 1fr;gap:55px;align-items:center}.hero-series{color:var(--deep);font-size:.9rem;font-weight:800;margin:0 0 8px;letter-spacing:.1em}.hand{font-family:'Yomogi',sans-serif;font-size:clamp(1.1rem,2vw,1.7rem);font-weight:900;margin:0}.hero h1{margin:6px 0 0}.hero h1 img{width:100%;height:auto}.eyebrow{display:inline-block;padding:3px 12px;background:var(--yellow);font-weight:800;font-size:.9rem;margin:0}.lead{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:900;line-height:1.5;letter-spacing:-.035em;margin:14px 0 10px;color:var(--deep)}.hero-message>p:last-child{margin:0;font-size:1rem}.hero-portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 0}.portrait{margin:0;min-width:0}.portrait-photo{height:280px;overflow:hidden;background:#d8edfa;border-radius:120px 120px 0 0}.portrait:nth-child(2) .portrait-photo{background:#e8f2d9}.portrait:nth-child(3) .portrait-photo{background:#fbe6ea}.portrait:nth-child(4) .portrait-photo{background:#dfedf9}.portrait-photo img{width:100%;max-width:none;height:auto}.portrait.tsuiki .portrait-photo img{width:128%;margin-left:-14%}.portrait.yamamoto .portrait-photo img{width:96%;margin-left:2%}.portrait figcaption{padding:10px 15px;background:white;border-bottom:3px solid var(--blue)}.portrait figcaption small{display:block;color:var(--deep);font-size:.875rem;font-weight:700}.portrait figcaption strong{display:block;font-size:1.4rem;line-height:1.5}.portrait figcaption strong span{font-size:.875rem;margin-left:8px;font-weight:500}.hero-bottom{display:grid;grid-template-columns:auto auto 1fr auto;gap:26px;align-items:center;margin-top:24px;padding:24px 0;border-top:2px solid var(--deep);border-bottom:2px solid var(--deep)}.date{display:flex;align-items:center;gap:8px}.date small{font-size:.875rem;font-weight:700;writing-mode:vertical-rl}.date strong{font-size:3.5rem;line-height:1;font-weight:900;letter-spacing:-.06em}.date>span{display:grid;place-items:center;background:var(--pink);color:white;border-radius:50%;width:32px;height:32px;font-weight:800}.when strong,.when span,.where strong,.where span{display:block}.when strong{font-size:1.25rem}.when span,.where span{font-size:.875rem}.where strong{font-size:1.05rem;line-height:1.5}.where span{color:var(--pink);font-weight:800;margin-top:6px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 23px;border:2px solid transparent;border-radius:10px;font-weight:800;line-height:1.6;text-align:center;transition:transform .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--pink);color:white}.secondary{background:#fff;border-color:var(--deep);color:var(--deep)}.hero-note{font-size:.875rem;text-align:center;margin:16px 0}.explore{display:block;text-align:center;font-size:.9rem;font-weight:700;text-underline-offset:6px}.intro{max-width:1150px;margin:auto;padding:82px 24px;text-align:center}.kicker{font-size:.875rem;font-weight:800;letter-spacing:.1em;color:var(--blue);margin:0 0 14px}h2{font-size:clamp(1.7rem,3.5vw,2.8rem);line-height:1.45;letter-spacing:-.03em;margin:0 0 22px}.intro>p:not(.kicker){line-height:2.1}.five-ways{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:38px}.five-ways>div{border-top:4px solid var(--blue);padding-top:14px}.five-ways>div:nth-child(2){border-color:var(--green)}.five-ways>div:nth-child(3){border-color:#e37920}.five-ways>div:nth-child(4){border-color:var(--pink)}.five-ways>div:nth-child(5){border-color:#8054aa}.five-ways strong{font-family:'Yomogi',sans-serif;font-size:1.7rem;color:var(--deep)}.five-ways p{font-size:.875rem;margin:8px 0}.athletes{padding:70px max(24px,calc((100vw - 1200px)/2));background:var(--deep);color:#fff}.section-heading{text-align:center;margin-bottom:35px}.athletes .kicker{color:var(--yellow)}.athlete-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.athlete-grid article{border-top:1px solid #81a9d1;padding-top:20px}.sport{font-size:.875rem;color:var(--yellow);font-weight:700}.athlete-grid h3{font-size:1.5rem;margin:8px 0}.athlete-grid h3 small{font-size:.875rem;margin-left:8px}.athlete-grid p{font-size:.875rem;line-height:1.9}.program{padding:85px max(24px,calc((100vw - 1200px)/2));background:#f4f9fc}.section-heading.left{text-align:left}.program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.card{min-width:0;border-top:4px solid var(--green);padding:0 0 22px;background:white;overflow:hidden;border-radius:5px 5px 16px 16px;display:flex;flex-direction:column}.card>span,.card>h3,.card>p,.card>a{margin-left:20px;margin-right:20px}.card>span{align-self:flex-start;margin-top:16px;background:#ecf5e8;padding:3px 8px;border-radius:5px;font-size:.875rem;font-weight:700;color:var(--green)}.card h3{font-size:1.18rem;line-height:1.6;margin-top:12px;margin-bottom:0}.card p{font-size:1rem;line-height:1.9;margin-top:12px;margin-bottom:0}.program-photo{width:100%;height:175px;object-fit:cover}.program-photo.food{object-position:center 23%}.card.blue{border-color:var(--blue)}.card.blue>span{background:var(--yellow);color:var(--deep)}.card.pink{border-color:var(--pink)}.card.pink>span{background:#fcebf1;color:#b22151}.card.feature{grid-column:span 2}.feature h3{font-size:1.4rem}.feature .program-photo{height:250px}.card .participation-note,.guide .participation-note{font-size:.875rem;color:#506575}.mini-team{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;height:250px;background:#e7f4ff;padding:0 8px;overflow:hidden}.mini-team>div{height:100%;overflow:hidden;position:relative}.mini-team img{width:100%;margin-top:12px}.mini-team .tsuiki img{width:140%;max-width:none;margin-left:-20%;margin-top:25px}.mini-team .yamamoto img{width:100%;margin-top:10px}.text-link{color:var(--deep);font-weight:700;font-size:.9rem;margin-top:15px;text-underline-offset:4px}.more-programs{background:#e4f0f8;padding:22px;border-radius:12px;margin-top:28px}.more-programs summary{font-weight:800;cursor:pointer}.more-programs p{font-size:1rem;line-height:2}.note{font-size:.875rem;color:#536979;margin-top:24px}.guide{padding:85px max(24px,calc((100vw - 1200px)/2))}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-grid article{padding:24px;background:var(--sky);border-radius:12px}.number{color:var(--blue);font-size:1rem;font-weight:900}.guide-grid h3{font-size:1.25rem;line-height:1.6;margin:12px 0}.pill{display:inline-block;background:var(--yellow);padding:3px 8px;font-size:.875rem;font-weight:700}.entry-action{text-align:center;margin-top:30px}.entry-action button:disabled{background:#dae3ea;color:#465c6c;cursor:not-allowed;transform:none}.entry-action p{font-size:.875rem}.schedule{text-align:center;background:var(--sky);padding:50px 24px;margin-bottom:70px}.schedule h2{font-size:1.8rem}.access{margin:0 max(24px,calc((100vw - 1200px)/2));background:var(--yellow);padding:38px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:14px}.access h2{font-size:1.6rem;margin:0}.access p{margin:6px 0}.access .button{flex-shrink:0}.weather-note{max-width:1150px;margin:22px auto 70px;padding:0 24px;font-size:.875rem}footer{background:#103c67;padding:40px 24px 70px;color:white;text-align:center;font-size:.875rem}.copyright{opacity:.75}.sticky-entry{display:none}
@media(min-width:1000px){.card.feature:first-child{grid-column:span 2}.card.feature.pink{grid-column:span 2}}
@media(max-width:1000px){.hero-top{gap:25px}.hero-bottom{gap:15px;grid-template-columns:auto auto 1fr}.hero-bottom .button{grid-column:1/-1}.portrait-photo{height:230px}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-grid{grid-template-columns:1fr}.mini-team{height:260px}.hero-bottom .button br{display:none}.five-ways{gap:10px}.five-ways p{font-size:.875rem}}
@media(max-width:600px){html{scroll-padding-top:90px}.site-header{padding:12px 16px;gap:10px}.brand{font-size:.8rem}.brand span{display:block;font-size:.75rem}nav{gap:0}nav>a:not(.nav-cta){display:none}.nav-cta{padding:7px 13px;font-size:.875rem}.hero{padding:28px 18px 25px}.hero-top{grid-template-columns:1fr;gap:12px}.hero-series{font-size:.8rem}.hand{font-size:1.05rem}.hero h1{margin-top:8px}.hero-message{display:grid;grid-template-columns:1fr;gap:6px}.hero-message .eyebrow{justify-self:start;margin:0}.lead{font-size:1.6rem;margin:5px 0}.lead br{display:none}.hero-message>p:last-child{font-size:.875rem}.hero-message>p:last-child br{display:none}.hero-portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;margin-top:24px}.portrait-photo{height:190px;border-radius:90px 90px 0 0}.portrait figcaption{padding:8px 10px}.portrait figcaption strong{font-size:1.2rem}.portrait figcaption small{font-size:.875rem}.hero-bottom{grid-template-columns:1fr 1fr;gap:18px;padding:20px 0}.date strong{font-size:2.7rem}.date{gap:5px}.date>span{height:28px;width:28px}.when strong{font-size:1.05rem}.where{grid-column:1/-1}.where strong br{display:none}.where strong{font-size:1.1rem}.hero-bottom .button{width:100%}.hero-note{text-align:left}.intro{padding:60px 22px}.intro>p br{display:none}.five-ways{grid-template-columns:repeat(2,minmax(0,1fr));text-align:left;gap:18px}.five-ways>div:last-child{grid-column:1/-1}.five-ways>div:last-child p br{display:none}.five-ways strong{font-size:1.5rem}.athletes,.program,.guide{padding:55px 18px}.athlete-grid{gap:18px}.athlete-grid h3{font-size:1.2rem}.athlete-grid p{font-size:.875rem;overflow-wrap:anywhere}.program-grid{gap:20px;grid-template-columns:1fr}.card.feature{grid-column:auto}.card.feature .program-photo{height:240px}.program-photo{height:220px}.mini-team{height:170px}.card h3{font-size:1.3rem}.card h3 br{display:none}.access{margin:0 18px;padding:25px;flex-direction:column;align-items:flex-start}.schedule{padding:40px 20px;margin-bottom:50px}.schedule h2{font-size:1.5rem}.sticky-entry{display:block;position:fixed;bottom:14px;right:14px;background:var(--pink);color:white;border:2px solid white;border-radius:30px;padding:10px 20px;text-decoration:none;font-weight:800;z-index:40;box-shadow:0 4px 20px #17334d33}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Event production credit */
.producer{display:flex;align-items:center;gap:20px;max-width:520px;margin:24px 0 0 auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 24px 0 0;overflow:hidden}.producer-photo{flex:0 0 150px;position:relative;align-self:stretch;min-height:150px;background:#e5f1fa;overflow:hidden}.producer-photo img{position:absolute;width:195px;max-width:none;height:auto;left:0;top:-25px}.producer-copy{padding:16px 0}.producer-label{display:inline-block;background:var(--deep);color:#fff;font-size:.875rem;font-weight:700;padding:1px 12px;border-radius:20px;margin:0 0 5px}.producer-name{font-size:1.6rem;font-weight:800;margin:0;line-height:1.6}.producer-name span{font-size:.875rem;font-weight:400;margin-left:10px}.producer-title{font-size:.875rem;margin:4px 0 0;line-height:1.65}@media(max-width:600px){.producer{margin-top:20px;max-width:none;gap:14px;padding-right:14px}.producer-photo{flex-basis:105px;min-height:148px}.producer-photo img{width:153px;left:-5px;top:-9px}.producer-name{font-size:1.3rem}.producer-title{font-size:.875rem}.producer-copy{min-width:0}}

/* Brand and event identity */
.brand-image{display:block;width:190px;height:76px;overflow:hidden;position:relative}.brand-image img{position:absolute;width:210px;max-width:none;height:auto;left:-10px;top:-23px}.entry-qr{margin:22px auto 0;width:200px}.entry-qr img{width:170px;height:170px;margin:auto;background:#fff}.entry-qr figcaption{font-size:.875rem;margin-top:8px;line-height:1.7}@media(max-width:600px){.brand-image{width:150px;height:60px}.brand-image img{width:166px;left:-8px;top:-19px}}

/* Supplied lettering, preserving original image pixels */
.artwork{display:block;position:relative;overflow:hidden;width:100%;line-height:0}.artwork img{display:block;position:absolute;max-width:none;height:auto}.copy-a{max-width:900px;margin:28px auto 12px}.copy-b{max-width:205px;margin:12px 0 15px}.hero-message>p:last-child{margin-top:10px}.copy-c{max-width:220px;margin:0 auto 25px;background:var(--deep);border:14px solid var(--deep);border-radius:12px}.copy-d{max-width:230px;margin:14px 0 0}.entrance-art{max-width:150px;margin:0 auto}.five-ways>div{border-top:0;padding-top:0}.five-ways strong{display:flex;align-items:center;justify-content:center;min-height:115px}.producer-photo{min-height:200px}.producer-photo img{top:0}.producer{max-width:570px}@media(max-width:600px){.hero-message{grid-template-columns:150px 1fr;align-items:center;gap:12px}.hero-message .eyebrow{grid-column:1/-1}.copy-b{max-width:150px;margin:0}.hero-message>p:last-child{margin:0}.copy-a{margin:22px auto 14px}.copy-c{max-width:190px}.entrance-art{max-width:120px}.five-ways strong{min-height:95px}.five-ways>div:last-child{grid-column:auto}.copy-d{max-width:210px}.producer-photo{min-height:215px}.producer-photo img{top:28px}}

/* Official event guide */
:root{--ink:#203d51;--deep:#134e83}body{font-weight:400;letter-spacing:.025em}h2,h3{font-weight:800}p{overflow-wrap:anywhere}.section-pad{padding:80px max(24px,calc((100vw - 1200px)/2))}.kicker{font-size:.8rem;letter-spacing:.18em}.site-header{gap:20px}.site-header nav{gap:20px}.site-header nav a{font-size:.75rem}.hero{background:linear-gradient(180deg,#f2faff,#eaf6fa 80%,#fff 80%)}.hero-top{grid-template-columns:1.4fr 1fr}.hero-message{justify-self:center}.copy-a{max-width:430px;margin:15px auto 0}.hero-portraits{margin-top:-12px;position:relative}.intro-text{max-width:770px;margin:0 auto;text-align:left}.intro>.copy-c{max-width:155px}.athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.athlete-grid article{border:0;padding:0}.athlete-photo{height:310px;background:#e7f1f6;border-radius:90px 90px 12px 12px;overflow:hidden;margin-bottom:22px}.athlete-photo img{height:auto;width:290px;margin:0 auto}.athlete-photo.tsuiki img{width:370px}.athlete-grid h3{font-size:1.8rem}.athlete-grid p{font-size:1rem}.athlete-grid .medals{min-height:58px;font-size:.875rem;color:#ffed9a}.at-festa{padding:18px 20px;background:#ffffff12;border-radius:10px}.at-festa strong{font-size:.75rem;letter-spacing:.15em;color:#ffed24}.at-festa p{margin:6px 0}.at-festa a{font-size:.8rem;text-underline-offset:4px}.produce{background:#fffdf4}.produce-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.produce-portrait>img{height:320px;width:100%;object-fit:contain;object-position:top;border-radius:16px;background:#eff3f3}.produce-portrait .copy-d{max-width:230px;margin:22px auto 0}.produce-grid h3{font-size:2rem;margin:0}.produce-grid h3 small{font-size:1rem}.message-soon{padding:24px;border-left:3px solid #dcc439;background:#f7f2db;margin-top:28px}.message-soon h4{font-size:1.1rem;margin:0}.message-soon p:last-child{font-size:.875rem}.source-link{font-size:.75rem}.mission{background:#f0f7ee}.mission-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mission-steps li{padding:25px 20px;background:#fff;border-radius:12px;border-top:4px solid #67a04e}.mission-steps span{font-size:.8rem;letter-spacing:.12em;font-weight:800;color:#4e792c}.mission-steps h3{font-size:1.05rem}.mission-steps p{font-size:.875rem}.mission-note{font-size:.9rem;max-width:850px;margin-top:26px}.mission-note strong{display:inline-block;background:#dcebce;padding:3px 14px;margin-bottom:8px}.guide-grid .join-1{background:#eef5e9;border-top:4px solid #5b833b}.guide-grid .join-2{background:#fff0f4;border-top:4px solid var(--pink)}.guide-grid .join-3{background:#fff9d8;border-top:4px solid #b69500}.join-1 .number{color:#446c27}.join-2 .number{color:#b22151}.join-3 .number{color:#806900}.entry-section{display:grid;grid-template-columns:1fr 230px;gap:50px;align-items:center;background:#fceef2}.entry-section .entry-qr{width:220px;margin:0;background:white;padding:18px;border-radius:12px;text-align:center}.entry-qr img{width:184px;height:auto}.entry-section .button{min-height:58px;margin-top:12px}.theme-song{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;background:#193e60;color:white;align-items:center}.theme-song .kicker{color:#f3de70}.song-art{aspect-ratio:1;background:linear-gradient(140deg,#4486a0,#193e60);padding:34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border-radius:4px}.song-art:after{content:'';position:absolute;width:140%;height:3px;background:#f5e8a2;transform:rotate(-30deg);left:-10%;top:65%}.song-art span{font-size:.7rem;letter-spacing:.18em}.song-art strong{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.5;z-index:1}.song-status{margin-top:24px;border-top:1px solid #ffffff44;padding-top:22px}.song-status strong{letter-spacing:.16em;font-size:.9rem}.song-status p{font-size:.875rem}.schedule{margin:0;background:repeating-linear-gradient(0deg,#eff7fa,#eff7fa 59px,#dceaf0 60px);text-align:center}.schedule h2,.area-map h2{font-size:2rem}.coming-soon{display:block;font-size:clamp(1.4rem,3vw,2.5rem);letter-spacing:.18em;color:#587786;margin:30px 0 20px}.area-map{text-align:center;background:#f8faf6;margin-bottom:70px}.information details{border-bottom:1px solid var(--line);padding:20px 0}.information summary{font-weight:700;cursor:pointer}.information details p{max-width:850px;font-size:.95rem}footer .kicker{color:#e7dc87}footer>p{margin:20px 0}footer a{text-underline-offset:5px}.access .note{max-width:650px}
@media(max-width:1000px){.site-header nav{gap:10px}.mission-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.produce-grid,.theme-song{gap:30px}.entry-section{gap:25px;grid-template-columns:1fr 220px}.athlete-photo{height:260px}.athlete-photo img{width:250px}.athlete-photo.tsuiki img{width:320px}}
@media(max-width:760px){.site-header{flex-wrap:wrap;padding:8px 18px;gap:4px}.site-header nav{width:100%;overflow-x:auto;padding:5px 0;justify-content:space-between;gap:15px}.site-header nav>a:not(.nav-cta){display:block}.site-header nav a{white-space:nowrap;font-size:.65rem}.site-header .brand-image{height:49px;width:140px}.site-header .brand-image img{width:154px;top:-18px;left:-7px}.nav-cta{padding:6px 10px}html{scroll-padding-top:115px}.section-pad{padding:55px 20px}.hero-top{grid-template-columns:1fr}.hero-message{justify-self:stretch}.hero-portraits{margin-top:8px}.copy-a{max-width:300px}.athlete-grid{grid-template-columns:1fr;gap:40px}.athlete-photo{height:285px}.athlete-photo img{width:265px}.athlete-photo.tsuiki img{width:340px}.athlete-grid .medals{min-height:0}.produce-grid,.theme-song,.entry-section{grid-template-columns:1fr;gap:30px}.produce-portrait{max-width:340px;margin:auto;width:100%}.produce-portrait .copy-d{max-width:190px}.produce-grid h3{font-size:1.7rem}.mission-steps{grid-template-columns:1fr;gap:12px}.mission-steps li{padding:18px 20px}.mission-steps h3{margin:6px 0}.mission-steps p{margin:0}.entry-section .entry-qr{margin:auto}.entry-section .button{width:100%}.theme-song .song-art{width:100%;max-width:360px;margin:auto}.song-art strong{font-size:3rem}.area-map{margin-bottom:40px}.schedule h2,.area-map h2{font-size:1.6rem}.five-ways{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Updated supplied portraits and song artwork */
.hero-portraits .portrait-photo{background:#fff}.hero-portraits .portrait-photo img,.hero-portraits .portrait.tsuiki .portrait-photo img,.hero-portraits .portrait.yamamoto .portrait-photo img{height:100%;width:100%;max-width:100%;object-fit:contain;object-position:center bottom;margin:0}.athlete-photo{background:#fff;height:260px;border-radius:14px}.athlete-photo img,.athlete-photo.tsuiki img{width:100%;height:100%;object-fit:contain;object-position:center bottom;margin:0}.produce-portrait>img{height:auto;width:100%;object-fit:contain;background:#fff}.card.feature .program-photo.movement-play{height:auto;aspect-ratio:808/568;object-fit:contain;background:#fff}.album-art{margin:0;align-self:start}.album-art img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:6px}.song-lyrics{grid-column:1/-1;border-top:1px solid #ffffff55;border-bottom:1px solid #ffffff55}.song-lyrics summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-weight:700}.song-lyrics summary span{font-size:.75rem;letter-spacing:.16em;color:#f3de70}.song-lyrics[open] summary span{font-size:0}.song-lyrics[open] summary span:after{content:'LYRICS −';font-size:.75rem}.lyrics-body{max-width:650px;margin:0 auto;padding:0 0 30px}.lyrics-body p{line-height:2.2;margin:0 0 30px;font-size:1rem}.song-lyrics summary:focus-visible{outline:3px solid #f3de70;outline-offset:3px}@media(max-width:760px){.athlete-photo{height:220px}.album-art{max-width:420px;margin:auto}.lyrics-body p{font-size:.9rem}.song-lyrics summary{padding:18px 0}}

/* Five entrances, individual portraits, and listening */
.entrances-heading{margin-top:55px}.entrances-heading h3{font-size:clamp(1.4rem,2.5vw,2rem);margin:8px 0 15px}.entrances-heading p{margin:8px 0}.five-ways p{max-width:190px;margin:12px auto}.hero-portraits .portrait-photo{border-radius:18px 18px 0 0;background:#edf2f3}.hero-portraits .portrait-photo img{object-fit:cover;object-position:50% 25%}.hero-portraits .portrait.tsuiki .portrait-photo img{object-fit:cover;object-position:center top}.hero-portraits .portrait.yamamoto .portrait-photo img{object-fit:contain;object-position:center;background:#edf2f3}.athlete-photo{height:360px;background:#edf2f3;border-radius:12px}.athlete-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}.athlete-photo.tsuiki img{object-fit:cover;object-position:50% 25%}.athlete-photo.yamamoto img{object-fit:contain;object-position:center}.program-coming{height:175px;display:grid;place-items:center;background:#e9f0f0;color:#52716e;letter-spacing:.12em;font-size:.9rem;font-weight:700}.card.upcoming{border-color:#718d83}.card.pr-booths{border-color:#55728f}.pr-booths .program-coming{background:#e8eff6;color:#3f5c79}.more-programs h3{margin:0;font-size:1.1rem}.song-status audio{display:block;width:100%;margin:15px 0;min-height:54px}.mv-soon{color:#e1d399;letter-spacing:.12em;font-size:.75rem!important}.organizer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:1000px;margin:35px auto;text-align:left}.organizer-grid>div{border-top:1px solid #ffffff44;padding:18px 0}.organizer-grid h3,.contact-block h3{font-size:.9rem;color:#eee193;margin:0 0 12px}.organizer-grid p{margin:0;line-height:2}.contact-block{border-top:1px solid #ffffff44;padding-top:30px;max-width:1000px;margin:0 auto}@media(max-width:760px){.athlete-photo{height:320px}.hero-portraits .portrait-photo{height:210px}.program-coming{height:180px}.organizer-grid{grid-template-columns:1fr;gap:15px}.five-ways p{text-align:left}.entrances-heading{margin-top:40px}}

/* Festival accents and unified portrait framing */
.hero{position:relative;background:radial-gradient(circle at 93% 10%,#ffdf7955 0 85px,transparent 86px),radial-gradient(circle at 2% 65%,#e5558030 0 95px,transparent 96px),linear-gradient(120deg,#e9f8ff,#fff9e8)}.hero-heading{transform:rotate(-2deg)}.hero-portraits{gap:22px}.hero-portraits figure:nth-child(even){transform:translateY(10px)}.hero-portraits figure{background:#fff;box-shadow:5px 6px 0 #9dccdc44;border-radius:15px 15px 0 0}.hero-bottom{margin-top:35px}.section-heading h2,.entrances-heading h3{ text-decoration:underline;text-decoration-color:#f1d94688;text-decoration-thickness:9px;text-underline-offset:0;text-decoration-skip-ink:none}.intro{max-width:none;background:#fffdf1;padding-left:max(24px,calc((100vw - 1150px)/2));padding-right:max(24px,calc((100vw - 1150px)/2))}.five-ways>div{background:#fff;border-radius:20px;padding:14px 10px;border-bottom:4px solid #278dcc}.five-ways>div:nth-child(2){border-color:#78a843}.five-ways>div:nth-child(3){border-color:#e59337}.five-ways>div:nth-child(4){border-color:#d95581}.five-ways>div:nth-child(5){border-color:#8a64ae}.athlete-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.athlete-grid h3{font-size:1.35rem}.athlete-grid p{font-size:.9rem}.athlete-photo,.hero-portraits .portrait-photo{height:auto;aspect-ratio:4/5;position:relative;overflow:hidden;background:#eef3f5;border-radius:15px}.athlete-photo img,.hero-portraits .portrait-photo img{position:absolute;max-width:none;object-fit:fill!important;height:auto!important;margin:0!important}.athlete-photo.doshou img,.hero-portraits .doshou .portrait-photo img{width:108%!important;left:-4%;top:-4%}.athlete-photo.okiguchi img,.hero-portraits .okiguchi .portrait-photo img{width:150%!important;left:-25%;top:-9%}.athlete-photo.tsuiki img,.hero-portraits .tsuiki .portrait-photo img{width:161%!important;left:-31%;top:-5%}.athlete-photo.yamamoto img,.hero-portraits .yamamoto .portrait-photo img{width:114%!important;left:-7%;top:4%;background:transparent!important}.mission{background:radial-gradient(#89b35830 1.4px,transparent 1.4px) 0 0/18px 18px,#f0f8e7}.mission-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:45px;align-items:center}.mission-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-steps li{box-shadow:4px 4px 0 #cbdcba}.mission-steps li:nth-child(2){border-color:#e9973a}.mission-steps li:nth-child(3){border-color:#d45582}.mission-steps li:nth-child(4){border-color:#8063ad}.passport-preview{margin:0;transform:rotate(3deg);text-align:center}.passport-preview img{width:100%;height:auto;box-shadow:10px 14px 0 #2459901c;border:7px solid white}.passport-preview figcaption{font-size:.8rem;margin-top:20px}.program{background:linear-gradient(150deg,#fff2ef,#edf7fc)}.card{border-radius:15px;box-shadow:4px 5px 0 #254f7110;transition:transform .18s}.card:hover{transform:translateY(-4px)}.program-coming{background:repeating-linear-gradient(-35deg,#eaf3ee,#eaf3ee 14px,#f6faf6 14px,#f6faf6 28px)}.guide{background:#fffef6}.entry-section{border-top:3px dashed #e69cae;border-bottom:3px dashed #e69cae}.theme-song{background:radial-gradient(circle at 95% 8%,#ffdc7733 0 110px,transparent 111px),linear-gradient(140deg,#154f7c,#1a314c);grid-template-columns:.85fr 1.15fr}.album-art{transform:rotate(-3deg);border:7px solid #fff7df;box-shadow:10px 10px 0 #ffffff12}.song-credit{font-size:.875rem;line-height:1.9}.song-story{grid-column:1/-1;max-width:850px;border-top:2px dashed #ffe17966;margin:12px auto 0;padding:35px 0 0}.song-story h3{font-size:1.6rem}.song-story p{line-height:2}.day-timeline{list-style:none;padding:0;text-align:left;max-width:950px;margin:35px auto}.day-timeline li{display:grid;grid-template-columns:175px 1fr;gap:25px;padding:24px;border-left:3px solid #82afc5;border-bottom:1px dashed #b7ced9;background:#ffffffc9}.day-timeline time{font-weight:800;color:#175b8b}.day-timeline h3{font-size:1.05rem;margin:0}.day-timeline p{font-size:.875rem;margin:6px 0 0}.day-timeline .main-program{background:#fff1b1;border-left:7px solid #e1557d}.day-timeline .main-program h3{font-size:1.3rem}.schedule-label{display:inline-block;background:#fff;padding:5px 15px;border-radius:30px;font-size:.875rem}.booth-times{text-align:left;background:#fff;padding:25px;border-radius:18px}.booth-times summary{font-weight:800;cursor:pointer}.time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}.time-grid>div{border-top:3px solid #8caf77;padding:16px;background:#f5f9f0}.time-grid h4{margin:0;font-size:1rem}.time-grid p{margin:8px 0 0;font-size:.875rem}.time-grid .slot-time{font-weight:800;color:#175b8b}.schedule-warning{font-size:.875rem;text-align:left;margin-top:28px}.organizer-grid{grid-template-columns:1fr}.organizer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:15px 30px}.organizer-grid a{text-decoration:none}.organizer-grid a:hover{text-decoration:underline;text-underline-offset:5px}.organizer-grid a span{display:inline-block;transition:transform .15s}.organizer-grid a:hover span{transform:translate(2px,-2px)}.org-main{font-size:1.08rem;font-weight:700}.org-support{font-size:.9rem;font-weight:400}.organizer-grid li{max-width:100%}
@media(max-width:1000px){.athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-layout{grid-template-columns:1.2fr .8fr;gap:25px}.mission-steps{grid-template-columns:1fr}}
@media(max-width:760px){.hero-portraits{gap:16px}.hero-portraits .portrait-photo,.athlete-photo{height:auto;aspect-ratio:4/5}.athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.athlete-grid h3{font-size:1.05rem}.athlete-grid h3 small{font-size:.7rem;margin-left:4px}.athlete-grid p{font-size:.82rem}.at-festa{padding:12px}.at-festa a{font-size:.75rem}.mission-layout,.theme-song{grid-template-columns:1fr}.mission-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-steps li{padding:15px}.passport-preview{max-width:330px;margin:25px auto}.album-art{max-width:330px}.day-timeline li{grid-template-columns:1fr;gap:10px;padding:20px}.time-grid{grid-template-columns:1fr}.booth-times{padding:20px}.organizer-grid ul{display:block}.organizer-grid li+li{margin-top:15px}.song-story h3{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){.card,.organizer-grid a span{transition:none}}

/* Compact, accessible program disclosures and brighter festival accents */
.hero{background:radial-gradient(circle at 94% 12%,#ffdb54 0 70px,transparent 71px),radial-gradient(circle at 4% 55%,#f99ebb 0 65px,transparent 66px),repeating-linear-gradient(-40deg,transparent,transparent 24px,#ffffff55 24px,#ffffff55 27px),#ddf3ff}.hero .eyebrow{border-radius:30px;transform:rotate(-3deg);padding:7px 18px;box-shadow:4px 4px 0 #13588b}.hero-bottom{background:#ffffffdc;padding:24px 18px;border-radius:18px;border:2px solid #145482;box-shadow:6px 6px 0 #ffe14b}.intro{background:#fff7cc}.kicker{font-weight:900}.section-heading>.kicker{display:inline-block;background:#ffdf55;color:#173e66;padding:5px 15px;transform:rotate(-2deg);border-radius:5px}.athletes{background:linear-gradient(125deg,#086daf,#22508c)}.produce{background:#fff0df}.mission{background:radial-gradient(#71a24745 1.6px,transparent 1.6px) 0 0/17px 17px,#e9f7d7}.mission-steps li{border:2px solid #99b580;border-top:5px solid #6e9f43;border-radius:18px}.mission-steps li span{display:inline-block;background:#e6f3cf;padding:3px 10px;border-radius:20px}.program{background:radial-gradient(circle at 100% 0,#faccca 0 160px,transparent 161px),linear-gradient(135deg,#fff0e9,#f1ebff 55%,#e6f6ff)}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.program-grid>.program-disclosure{display:block;grid-column:auto;padding:0;border:2px solid #c6dfbf;border-top:6px solid #66a248;border-radius:18px;box-shadow:5px 6px 0 #294d6e20;min-width:0;overflow:hidden}.program-grid>.program-disclosure.blue{border-color:#419bd7}.program-grid>.program-disclosure.pink{border-color:#df6690}.program-summary{display:block;cursor:pointer;list-style:none;position:relative;padding:0 0 16px}.program-summary::-webkit-details-marker{display:none}.program-summary::marker{content:''}.program-summary .program-photo,.program-summary .program-coming,.program-summary .program-photo.movement-play{width:100%;height:180px;aspect-ratio:auto;object-fit:cover}.program-summary .program-photo.movement-play{object-fit:contain;background:#eaf6ff}.program-summary .program-category{display:inline-block;margin:14px 18px 0;padding:2px 12px;background:#e8f5da;border-radius:30px;color:#406927;font-size:.8rem;font-weight:800}.pink .program-summary .program-category{background:#ffe4ec;color:#ab315b}.blue .program-summary .program-category{background:#ddf2ff;color:#155680}.program-summary h3{font-size:1.1rem;line-height:1.55;margin:10px 18px;min-height:3.1em}.program-summary h3 br{display:none}.disclosure-hint{display:flex;align-items:center;justify-content:space-between;margin:14px 18px 0;font-size:.78rem;font-weight:700;color:#325c77}.disclosure-hint b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#ffdf55;color:#173e66;font-size:1.05rem}.when-open{display:none}.program-disclosure[open] .when-open{display:inline}.program-disclosure[open] .when-closed{display:none}.program-disclosure[open] .disclosure-hint b{font-size:0}.program-disclosure[open] .disclosure-hint b:after{content:'−';font-size:1.1rem}.program-detail{border-top:2px dashed #d6e3e9;padding:18px;background:#fffef8}.program-detail>span{display:inline-block;background:#fff0b8;padding:3px 8px;font-size:.8rem;font-weight:700}.program-detail p{font-size:.92rem;line-height:1.85;margin:0 0 14px}.program-detail>span+p{margin-top:12px}.program-detail p:last-child{margin-bottom:0}.program-detail .participation-note{font-size:.8rem}.program-detail a{display:inline-block;font-size:.85rem;margin-top:8px}.program-summary:hover .disclosure-hint{text-decoration:underline;text-underline-offset:4px}.program-summary:focus-visible{outline:3px solid #174b79;outline-offset:-5px}.program-disclosure[open]{box-shadow:6px 8px 0 #294d6e25}.entry-section{background:#ffe5ef}.theme-song{background:radial-gradient(circle at 94% 10%,#ffcf5766 0 90px,transparent 91px),radial-gradient(circle at 3% 90%,#cf5d8155 0 130px,transparent 131px),linear-gradient(135deg,#155d90,#252f57)}.album-art{box-shadow:10px 10px 0 #f4ca57}.song-story{background:#ffffff0c;border-radius:18px;padding:30px}.org-pending{font-size:.9rem;color:#e1e9f0}.org-pending p{font-size:.85rem}
@media(max-width:1000px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.program-summary .program-photo,.program-summary .program-coming,.program-summary .program-photo.movement-play{height:125px}.program-summary .program-category{margin:10px 10px 0;font-size:.7rem;padding:2px 8px}.program-summary h3{font-size:.9rem;margin:10px;min-height:4.65em}.disclosure-hint{margin:10px;font-size:.7rem}.disclosure-hint b{width:26px;height:26px}.program-detail{padding:12px}.program-detail p{font-size:.82rem}.program-detail>span{font-size:.72rem}.program-coming{font-size:.65rem}.hero-bottom{padding:20px 12px}.song-story{padding:22px}.program-grid>.program-disclosure{border-radius:14px}}
/* Visitor orientation and source-faithful sunny-weather venue guide */
.hero-heading{transform:none}.hero-heading h1{transform:rotate(-2deg)}.hero-quick-info{margin:20px 0 0;background:#fff;border:2px solid #2372a9;border-radius:15px;padding:16px 20px;box-shadow:5px 5px 0 #ffdf55;text-align:left}.hero-quick-info p{margin:0 0 8px}.hero-quick-info strong{font-size:clamp(1.2rem,2.4vw,1.8rem)}.hero-quick-info p>span{font-size:.85rem;margin-left:14px}.quick-place{font-weight:800;font-size:1rem}.hero-quick-info>div{display:flex;gap:20px;align-items:center;font-size:.8rem}.hero-quick-info>div>span{background:#ffe467;border-radius:20px;padding:2px 12px;font-weight:800}.hero-quick-info a{text-underline-offset:4px}.name-reading,.portrait figcaption strong .name-reading{display:block;font-weight:400;font-size:.65rem;letter-spacing:.04em;line-height:1.8;margin:0 0 3px}.produce-grid h3 .name-reading{font-size:.85rem}.program-summary .program-photo,.program-summary .program-coming,.program-summary .program-photo.movement-play{height:auto;aspect-ratio:16/9;object-fit:cover}.program-summary .program-photo.movement-play{object-fit:contain}.venue-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:30px;align-items:start;text-align:left}.venue-layout figure{margin:0;background:#fff;padding:15px;border-radius:15px}.venue-layout h3{font-size:1rem;margin:0 0 15px}.venue-layout img{width:100%;height:auto}.venue-layout a:focus-visible{outline:3px solid #d52c63}.venue-outdoor figcaption{font-size:.8rem;margin-top:12px}.venue-legend{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0}.venue-legend li{display:flex;gap:10px;background:white;border-radius:8px;padding:12px}.venue-legend li>b{flex:0 0 26px;height:26px;background:#007dba;color:#fff;border-radius:4px;text-align:center;font-size:.85rem}.venue-legend li:first-child>b{background:#ee762e}.venue-legend li:nth-child(7)>b,.venue-legend li:nth-child(8)>b{background:#c59100}.venue-legend li:nth-child(n+9):nth-child(-n+11)>b{background:#54852c}.venue-legend li:nth-child(n+12)>b{background:#6a6f74}.venue-legend strong{font-size:.82rem;line-height:1.5;display:block}.venue-legend p{font-size:.75rem;line-height:1.6;margin:5px 0 0}.area-map .note{text-align:left}
@media(max-width:760px){.venue-layout{grid-template-columns:1fr}.venue-outdoor{width:100%;max-width:480px;justify-self:center}.venue-legend{grid-template-columns:1fr}.hero-quick-info{padding:13px 15px}.hero-quick-info strong{font-size:1.15rem}.quick-place{font-size:.85rem}.hero-quick-info>div{gap:12px}.program-summary .program-photo,.program-summary .program-coming,.program-summary .program-photo.movement-play{height:auto;aspect-ratio:16/9}}
/* Bright festival identity and readable venue panels */
.hero{background:radial-gradient(circle at 93% 14%,#ffd632 0 85px,transparent 86px),radial-gradient(circle at 3% 64%,#f684af 0 70px,transparent 71px),radial-gradient(#168aca30 2px,transparent 2px) 0 0/22px 22px,#d8f3ff;border-bottom:10px solid #ffd842}.hero-portraits figure{box-shadow:6px 7px 0 #238ec3;border:2px solid #2475a5}.hero-portraits figure:nth-child(2){box-shadow:6px 7px 0 #92bf44}.hero-portraits figure:nth-child(3){box-shadow:6px 7px 0 #e46693}.hero-portraits figure:nth-child(4){box-shadow:6px 7px 0 #9873c0}.hero-bottom{border-radius:26px}.intro{background:#fff3b4}.five-ways>div{border:2px solid #2b8dca;border-bottom-width:7px;box-shadow:3px 4px 0 #2b8dca20}.five-ways>div:nth-child(2n){transform:rotate(2deg)}.five-ways>div:nth-child(2n+1){transform:rotate(-2deg)}.section-heading>.kicker{box-shadow:4px 4px 0 #163f67;border:1px solid #163f67;font-size:.85rem;padding:7px 16px}.mission{border-top:9px solid #89b850;border-bottom:9px solid #89b850;background:radial-gradient(#86b14750 2px,transparent 2px) 0 0/20px 20px,#edf8d4}.mission-steps li{border-radius:24px 24px 24px 5px}.program{background:radial-gradient(circle at 100% 0,#ffa8bc 0 150px,transparent 151px),radial-gradient(#b69bde35 2px,transparent 2px) 0 0/24px 24px,#f2eaff}.program-grid>.program-disclosure{box-shadow:5px 6px 0 #8265ac40;border-width:2px;border-top-width:7px}.program-summary .program-category{transform:rotate(-2deg)}.program-summary .disclosure-hint b{box-shadow:2px 2px 0 #d49f18}.theme-song{border-top:9px solid #f7cc47;border-bottom:9px solid #ef85a8}.area-map{background:#e0f4f2}.venue-layout.venue-redesign{display:block}.map-switch{display:flex;gap:12px;margin:0 0 25px}.map-switch button{border:2px solid #155983;border-radius:30px;background:white;color:#155983;padding:12px 24px;cursor:pointer;font-weight:800}.map-switch button[aria-pressed=true]{background:#155983;color:white;box-shadow:4px 4px 0 #f4cf43}.map-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:30px;align-items:start}.map-panel[hidden]{display:none}.venue-redesign .venue-outdoor{max-width:none;width:100%}.venue-redesign figure{padding:20px;border:2px solid #c0d9dc;box-shadow:6px 6px 0 #b8d7d933}.venue-redesign figure h3{font-size:1.2rem}.map-panel-guide>h3{font-size:1.15rem;margin:0 0 15px}.venue-redesign .venue-legend{grid-template-columns:1fr;margin:0;gap:9px}.venue-redesign .venue-legend li{padding:12px 15px;border:1px solid #c6dedd}.venue-redesign .venue-legend strong{font-size:.95rem}.venue-redesign .venue-legend p{font-size:.85rem}.venue-redesign .venue-legend li>b{width:32px;height:32px;flex-basis:32px;line-height:32px;font-size:1rem;background:#166e9f}.map-enlarge{display:inline-flex;margin-top:15px;padding:8px 15px;background:#ffdf57;border-radius:20px;text-decoration:none;font-size:.875rem;font-weight:800}#map-indoor{grid-template-columns:1fr}#map-indoor .venue-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.map-panel figure>a:first-of-type{display:block}.venue-layout img{border-radius:8px}
@media(max-width:760px){.map-panel{grid-template-columns:1fr;gap:24px}.map-switch{gap:10px}.map-switch button{flex:1;padding:10px 12px;font-size:.8rem}.venue-redesign figure{padding:12px}.venue-redesign .venue-legend strong{font-size:.9rem}#map-indoor .venue-legend{grid-template-columns:1fr}.hero-portraits figure{box-shadow:4px 5px 0 #238ec3}.five-ways>div{transform:none!important}.section-heading>.kicker{font-size:.75rem}.venue-redesign .venue-indoor{overflow-x:auto}.venue-indoor>a:first-of-type{min-width:600px}.venue-indoor:after{content:'← 左右にスクロールして確認できます →';display:block;font-size:.7rem;margin-top:8px;color:#456475}}

/* Sky festival: scoped refresh, preserving guide content */
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#69c8f1,#e9f9ff);border-bottom:8px solid #ffe348;padding-top:48px}.sky-drift{position:absolute;inset:-3%;z-index:-1;pointer-events:none;background:url('assets/festival-sky.webp') center center/cover no-repeat;animation:sky-float 16s ease-in-out infinite alternate}.hero-top{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px;max-width:1150px;margin:auto}.hero-heading{min-width:0}.hero h1{animation:title-arrive 1s cubic-bezier(.2,.7,.25,1) both;transform-origin:center}.hero-series{color:#114874}.hero-message{padding:20px 24px;background:#ffffffda;border:2px solid white;border-radius:28px;box-shadow:5px 6px 0 #247ebf22}.hero-message .copy-b{max-width:185px;margin:8px auto}.hero>.copy-a{max-width:360px;margin:8px auto 0}.hero-bottom{position:relative;background:#ffffffed;border:2px solid #2377ad;box-shadow:6px 6px 0 #ffd943;padding:22px;gap:20px;margin-top:18px}.hero-note,.hero .explore{color:#153c59}.hero .primary{box-shadow:3px 4px 0 #93224f}.hero-note{background:#ffffffbc;border-radius:12px;padding:8px}.hero .explore{width:fit-content;margin:14px auto 4px;background:#fff;padding:5px 15px;border-radius:30px}
@keyframes title-arrive{0%{opacity:0;transform:translateY(30px) scale(.94)}75%{opacity:1;transform:translateY(-2px) scale(1.025)}100%{opacity:1;transform:none}}
@keyframes sky-float{from{transform:translateX(-.6%) translateY(0)}to{transform:translateX(.6%) translateY(1%)}}
.athletes{background:linear-gradient(180deg,#fff 0%,#e7f7ff 100%);color:#163b57;border-top:0;overflow:hidden}.athletes .section-heading{max-width:950px;margin:0 auto 46px}.athletes .kicker{color:#174f79;background:#ffe746}.athlete-intro{font-size:1rem;line-height:1.9}.athlete-join{color:#145882;font-size:.9rem;text-underline-offset:5px}.athlete-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.athlete-grid article{--person:#238dc5;background:white;border:2px solid var(--person);border-radius:90px 90px 18px 18px;padding:0 0 22px;box-shadow:5px 6px 0 var(--person);min-width:0}.athlete-grid article:nth-child(2){--person:#78a93f}.athlete-grid article:nth-child(3){--person:#d65b84}.athlete-grid article:nth-child(4){--person:#8b68b0}.athlete-grid .athlete-photo{border-radius:86px 86px 0 0;border-bottom:6px solid var(--person);margin-bottom:18px;aspect-ratio:4/5;background:linear-gradient(135deg,#e7f8ff,#fff)}.athlete-grid article>h3,.athlete-grid article>p,.athlete-grid article>.sport{margin-left:18px;margin-right:18px}.athlete-grid .sport{display:inline-block;background:#fff3b2;color:#144f76;border-radius:20px;padding:2px 12px}.athlete-grid h3{font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.5}.athlete-grid p{font-size:1rem;line-height:1.85}.athlete-grid .medals{font-size:.875rem;color:#174f76;font-weight:700;min-height:0;border-bottom:1px dashed #9fbfcf;padding-bottom:15px}.athlete-grid .name-reading{font-size:.875rem}.theme-song{position:relative;background:linear-gradient(160deg,#c2eeff 0%,#eefaff 50%,#fff 100%);color:#163c57;border-top:8px solid #ffe24a;border-bottom:0;gap:42px 65px}.theme-song .kicker{color:#165681}.theme-song .album-art{border:8px solid white;box-shadow:8px 9px 0 #66b1d73d;transform:rotate(-2deg)}.theme-song h2{color:#124f80}.song-status{border-top:2px solid #aed7e9}.song-story{max-width:900px;width:100%;background:white;border:1px solid #bddce9;border-top:6px solid #f3cf42;box-shadow:7px 8px 0 #76b9d321;border-radius:24px;padding:32px 38px;color:#203d51}.song-story .kicker{color:#176486}.song-lyrics{border-color:#92c7dd;background:#ffffffb8;padding:0 22px;border-radius:15px;color:#163c57}.song-lyrics summary span{color:#176084}.song-lyrics summary:focus-visible{outline-color:#d52c63}
.category-pair{display:flex;gap:7px;margin:14px 18px 0}.program-summary .category-pair .program-category{margin:0;transform:none;font-size:.875rem}.program-summary .category-watch{background:#ddf2ff;color:#145c8a}.program-summary .category-play{background:#e8f5da;color:#406927}.program-summary .category-pr{background:#e5e1f7;color:#594185}.pr-booths{border-color:#7966a0!important}.program-summary .program-category{font-size:.875rem}
.area-map{background:linear-gradient(180deg,#e6f8ff,#f0f9e4);border-top:8px solid #70b8d6}.area-map .section-heading .kicker{background:#ffe747}.map-panel{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}.map-instruction{grid-column:1/-1;margin:0;background:#fff;padding:14px 20px;border-radius:16px;border-left:5px solid #f4cf43;text-align:left}.map-instruction span{display:block;font-size:.875rem;color:#496b80}.venue-redesign figure{min-width:0;border:2px solid #5f9cbc;box-shadow:6px 6px 0 #badbab}.map-viewport{overflow:auto;max-width:100%;border-radius:10px;overscroll-behavior-x:contain}.map-canvas{position:relative}.map-canvas.outdoor{min-width:700px}.map-canvas.indoor{min-width:1000px}.map-canvas>img{display:block;width:100%;height:auto}.map-pin{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;padding:0;border-radius:50%;background:#0075ab;border:2px solid white;color:#fff;font-weight:800;font-size:1rem;line-height:1;box-shadow:0 2px 0 2px #164f7060;cursor:pointer}.map-pin.orange{background:#cc5317}.map-pin.gold{background:#886100}.map-pin.green{background:#37751e}.map-pin.slate{background:#555f78}.map-pin:hover,.map-pin:focus-visible{z-index:3;outline:3px solid #ffe534;outline-offset:3px;box-shadow:0 0 0 7px #163f67}.venue-redesign .venue-legend li{display:block;padding:0;border:0;background:transparent}.legend-action{display:flex;align-items:center;gap:12px;width:100%;text-align:left;color:#1b425d;background:white;border:1px solid #a7cddd;border-left:5px solid #4299c5;border-radius:4px 18px 18px 4px;padding:12px;cursor:pointer}.legend-action:hover{background:#fff9d8}.legend-action>b{flex:0 0 34px;width:34px;height:34px;line-height:34px;text-align:center;border-radius:50%;background:#126b97;color:white}.legend-action>div{flex:1;min-width:0}.legend-plus{color:#14608a;font-size:1.3rem}.venue-redesign .venue-indoor{overflow:visible}.venue-indoor:after{display:none!important}.map-panel figure>a:first-of-type{display:inline-flex;min-width:0}.map-panel-guide{min-width:0}.booth-dialog{max-width:600px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;border:3px solid #247da9;border-radius:24px;padding:28px;color:#163c57;background:#fff;box-shadow:9px 10px 0 #f4d34d}.booth-dialog::backdrop{background:#073754a8}.booth-dialog h2{font-size:1.55rem;margin-top:14px}.dialog-close{display:block;margin:0 0 18px auto;min-height:44px;padding:7px 15px;border:1px solid #aac7d6;border-radius:24px;background:#f0f9ff;color:#16496a;cursor:pointer}.booth-dialog dt{font-size:.875rem;font-weight:700;color:#206385;margin-top:18px}.booth-dialog dd{margin:5px 0 0;font-weight:700}.booth-dialog .button{margin-top:18px}
@media(min-width:1100px){.athlete-grid article:nth-child(even){transform:translateY(14px)}}
@media(max-width:1050px){.athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.hero-bottom{grid-template-columns:auto auto 1fr}.hero-bottom .button{grid-column:1/-1}.hero-top{gap:20px}.map-panel{grid-template-columns:1fr}.map-canvas.outdoor{min-width:700px;max-width:850px;margin:auto}}
@media(max-width:760px){.hero{padding:28px 18px}.hero-top{grid-template-columns:1fr}.hero-message{display:grid;grid-template-columns:120px 1fr;padding:14px 16px;gap:12px}.hero-message .copy-b{max-width:120px;margin:0}.hero-message .eyebrow{grid-column:1/-1}.hero-message>p:last-child{font-size:1rem}.hero>.copy-a{max-width:260px;margin:10px auto}.hero-bottom{padding:18px;grid-template-columns:1fr 1fr;gap:15px}.hero-bottom .where{grid-column:1/-1}.hero-bottom .date strong{font-size:2.6rem}.hero-bottom .when strong{font-size:1rem}.athlete-grid{gap:24px}.athlete-grid h3{font-size:1.45rem}.theme-song{grid-template-columns:1fr;gap:28px}.theme-song .album-art{max-width:340px;width:90%;margin:auto}.song-story{padding:24px}.map-switch button{font-size:.875rem}.venue-redesign .venue-legend strong{font-size:1rem}.map-enlarge{min-height:44px;align-items:center}.category-pair{margin:10px 10px 0}.program-summary .program-category{font-size:.875rem}#map-indoor .venue-legend{grid-template-columns:1fr}.map-panel figure>a:first-of-type{min-width:0}}
@media(max-width:520px){.athlete-grid{grid-template-columns:1fr;max-width:370px;margin:auto}.athlete-grid .athlete-photo{aspect-ratio:4/5}.athlete-grid article>h3,.athlete-grid article>p,.athlete-grid article>.sport{margin-left:22px;margin-right:22px}.athlete-grid h3{font-size:1.8rem}.hero-bottom .when strong{font-size:.95rem}.hero-bottom .date strong{font-size:2.4rem}.hero-bottom{gap:12px}.song-lyrics{padding:0 15px}}
@media(prefers-reduced-motion:reduce){.hero h1,.sky-drift{animation:none!important;transform:none!important}html{scroll-behavior:auto}}
.map-canvas.outdoor{min-width:900px}.theme-song{background:linear-gradient(180deg,#ccefffeb 0%,#ffffffed 65%,#fffffff7 100%),url('assets/festival-sky.webp') center bottom/cover no-repeat}

/* White-cloud logo backing, Japanese navigation, two-column mobile athletes */
.hero-heading h1{position:relative;isolation:isolate;background:url('assets/logo-cloud.webp') center center/cover no-repeat;border-radius:45%;padding:12px 8px}.hero-heading h1 img{position:relative;filter:drop-shadow(0 2px 2px #ffffffb3)}
.site-header nav a{font-size:.875rem}.site-header nav{gap:16px}
@media(max-width:1000px){.site-header{flex-wrap:wrap}.site-header nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 10px;overflow:visible}.site-header nav>a,.site-header nav>a:not(.nav-cta){display:flex;align-items:center;justify-content:center;text-align:center;min-height:40px;font-size:.875rem;white-space:normal;padding:5px 3px}.site-header .nav-cta{padding:5px 8px}html{scroll-padding-top:170px}}
@media(max-width:760px){.athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:24px 14px;margin:0}.athlete-grid article{border-radius:48px 48px 14px 14px;padding-bottom:15px;box-shadow:3px 4px 0 var(--person)}.athlete-grid .athlete-photo{border-radius:44px 44px 0 0;margin-bottom:12px}.athlete-grid article>h3,.athlete-grid article>p,.athlete-grid article>.sport{margin-left:10px;margin-right:10px}.athlete-grid h3{font-size:1.2rem;line-height:1.6;letter-spacing:0}.athlete-grid h3 small{font-size:.875rem;display:inline-block;margin-left:3px}.athlete-grid .name-reading{font-size:.875rem;letter-spacing:0}.athlete-grid p{font-size:1rem;line-height:1.85}.athlete-grid .medals{font-size:.875rem}.athlete-grid .sport{font-size:.875rem;padding:2px 8px}.hero-heading h1{padding:10px 4px}.site-header{padding:8px 14px}.athletes{padding-left:14px;padding-right:14px}}

/* Unified sky background and clearly tappable navigation */
.hero-heading h1{background:none;border-radius:0;padding:0;isolation:auto}.hero-heading h1 img{filter:none}.sky-drift{background-image:url('assets/logo-cloud.webp');background-position:center 42%;background-size:cover}.hero{background:linear-gradient(180deg,#74c6f2,#edf9ff)}
.site-header nav{gap:10px}.site-header nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1.5px solid #8dc7e5;border-bottom-width:3px;border-radius:14px;background:#eff9ff;color:#164e74;text-decoration:none;font-weight:800;line-height:1.5;transition:background-color .15s,border-color .15s,transform .15s}.site-header nav>a:hover{background:#fff3af;border-color:#d3ae36;transform:translateY(-1px)}.site-header nav>a:active{transform:translateY(1px)}.site-header nav>.nav-cta{background:#d52c63;color:#fff;border-color:#ab1f4d}.site-header nav>.nav-cta:hover{background:#b62252;border-color:#8c193f}.site-header nav>a:focus-visible{outline:3px solid #164e74;outline-offset:3px}
@media(max-width:1100px){.site-header{flex-wrap:wrap}.site-header nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 9px;overflow:visible}.site-header nav>a,.site-header nav>a:not(.nav-cta){display:flex;min-height:44px;padding:7px 5px;font-size:.875rem;white-space:normal}.site-header .nav-cta{padding:7px 5px}html{scroll-padding-top:185px}}
@media(max-width:760px){.sky-drift{background-position:center top}.hero-heading h1{padding:0}.site-header nav>a{border-radius:11px}.site-header{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.site-header nav>a{transition:none}.site-header nav>a:hover,.site-header nav>a:active{transform:none}}

/* Scoped additions: prizes, consistent image frames and approved song story */
.special-prizes{margin:28px 0;padding:25px 20px;border:2px dashed #78a552;border-radius:22px;background:#ffffffc9}.special-prizes>.kicker{color:#246a86;font-size:.875rem;margin-bottom:10px}.special-prizes>h3{font-size:1.2rem;line-height:1.7;margin:0 0 8px}.special-prizes>p{font-size:1rem}.prize-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.prize-card{--prize-accent:#ddaa17;--prize-bg:#fff5bc;text-align:center;background:var(--prize-bg);border:2px solid var(--prize-accent);border-radius:20px;box-shadow:3px 4px 0 #17446613;padding:18px 10px;min-width:0}.prize-card.prize-2{--prize-accent:#3399c7;--prize-bg:#e3f5ff}.prize-card.prize-3{--prize-accent:#d46c91;--prize-bg:#ffedf4}.prize-card h4{font-size:.875rem;letter-spacing:.08em;margin:0}.prize-visual{display:grid;place-items:center;width:76px;height:76px;margin:18px auto 12px;border-radius:50%;background:#fff;border:2px dashed var(--prize-accent);color:#174e70;font-size:2.8rem;font-weight:800;line-height:1}.prize-name{font-size:1rem;font-weight:800;margin:8px 0}.prize-status{display:inline-block;font-size:.875rem;line-height:1.6;background:white;padding:4px 8px;border-radius:20px;font-weight:700}.special-prizes>.prize-note{font-size:.875rem;line-height:1.8;margin-bottom:0;color:#446174}
.athlete-grid .athlete-photo{aspect-ratio:4/5;height:auto;background:#eef3f5;position:relative;overflow:hidden}.athlete-grid .athlete-photo img{position:absolute;width:var(--portrait-width)!important;height:auto!important;max-width:none;left:var(--portrait-left)!important;top:var(--portrait-top)!important;margin:0!important;object-fit:contain!important;transform:none}.athlete-photo.doshou{--portrait-width:100%;--portrait-left:0%;--portrait-top:-4%}.athlete-photo.okiguchi{--portrait-width:125%;--portrait-left:-20%;--portrait-top:-6%}.athlete-photo.tsuiki{--portrait-width:170%;--portrait-left:-40%;--portrait-top:-9%}.athlete-photo.yamamoto{--portrait-width:104%;--portrait-left:-4%;--portrait-top:4%}
.program-summary .program-photo,.program-summary .program-photo.movement-play,.program-summary .program-coming{width:100%;height:auto!important;aspect-ratio:3/2;display:block}.program-summary .program-photo{object-fit:contain!important;object-position:var(--photo-position,50% 50%);background:#eef6f9}.program-summary .program-photo.food{object-fit:cover!important;--photo-position:50% 30%}.program-summary .program-photo.rally{--photo-position:50% 50%}.program-summary .program-photo.volley{--photo-position:50% 50%}.program-summary .program-photo.soccer{--photo-position:50% 50%}.program-summary .program-photo.rugby{--photo-position:50% 50%}.program-summary .program-photo.newsports{--photo-position:50% 50%}.program-summary .program-photo.motion{--photo-position:50% 50%}.program-summary .program-coming{display:flex;align-items:center;justify-content:center}.song-story{max-width:850px;padding:32px 36px;background:#fff;border:1px solid #bddce9;border-top:5px solid #f1d354;border-radius:22px}.song-story>p:not(.kicker){font-size:1rem;line-height:2.05;margin:0 0 1.4em}.song-story>p:last-child{margin-bottom:0}.song-story h3{font-size:1.5rem;line-height:1.6;margin:10px 0 24px}
@media(max-width:760px){.special-prizes{padding:22px 16px}.prize-grid{gap:12px}.song-story{padding:24px 20px}.song-story h3{font-size:1.3rem}.song-story>p:not(.kicker){font-size:1rem;line-height:2}.program-summary .program-photo,.program-summary .program-photo.movement-play,.program-summary .program-coming{height:auto!important;aspect-ratio:3/2}}
@media(max-width:520px){.prize-grid{grid-template-columns:1fr}.prize-card{display:grid;grid-template-columns:86px 1fr;gap:7px 14px;align-items:center;text-align:left;padding:18px}.prize-card h4{grid-column:2;grid-row:1}.prize-visual{grid-column:1;grid-row:1/4;margin:0}.prize-name{grid-column:2;grid-row:2;margin:0}.prize-status{grid-column:2;grid-row:3;justify-self:start}.special-prizes>h3{font-size:1.1rem}}

/* Theme-song player: one audio source, quiet playback-linked motion */
.song-sleeve{position:relative;min-width:0;width:100%;max-width:480px;padding:24px 20% 24px 0;margin:auto;isolation:isolate}.theme-song .song-sleeve .album-art{position:relative;z-index:2;width:100%;max-width:none;margin:0;transform:rotate(-2deg);border:6px solid white;box-shadow:4px 6px 15px #194c7126}.song-sleeve .album-art img{width:100%;height:auto}.song-vinyl{position:absolute;width:77%;height:auto;aspect-ratio:1;right:0;top:50%;margin-top:-38.5%;z-index:1;animation:vinyl-turn 36s linear infinite;animation-play-state:paused;pointer-events:none}.music-is-playing .song-vinyl{animation-play-state:running}.music-controls[hidden]{display:none}.music-controls{margin-top:18px;background:#e0f1fa;border:1px solid #bad9e8;border-radius:20px;padding:20px;color:#194e70}.music-control-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.music-play,.music-mute{min-height:48px;border-radius:30px;cursor:pointer;font:inherit;font-size:.9rem;font-weight:700}.music-play{display:inline-flex;align-items:center;gap:10px;background:#176b99;color:white;border:2px solid #176b99;padding:10px 19px;min-width:120px;justify-content:center}.music-play:hover{background:#12597f}.music-mute{margin-left:auto;background:#fff;border:1px solid #80b4ce;color:#194e70;padding:8px 14px}.music-play:focus-visible,.music-mute:focus-visible,.music-seek:focus-visible{outline:3px solid #bd2860;outline-offset:4px}.music-play-icon{font-size:1rem}.music-state{font-size:.875rem;flex:1;min-width:64px}.music-wave{display:flex;align-items:center;gap:3px;height:30px;width:39px;flex-shrink:0}.music-wave i{display:block;width:3px;height:24px;border-radius:4px;background:#1685bc;transform:scaleY(.22);animation:song-wave 1.1s ease-in-out infinite alternate;animation-play-state:paused}.music-wave i:nth-child(even){background:#d6ac12;height:18px}.music-wave i:nth-child(2){animation-delay:-.7s}.music-wave i:nth-child(3){animation-delay:-.3s}.music-wave i:nth-child(4){animation-delay:-.9s}.music-wave i:nth-child(5){animation-delay:-.4s}.music-wave i:nth-child(6){animation-delay:-.8s}.music-wave i:nth-child(7){animation-delay:-.2s}.music-is-playing .music-wave i{animation-play-state:running}.music-seek-wrap{margin-top:20px}.music-seek-wrap label{font-size:.875rem;font-weight:700}.music-seek{display:block;appearance:none;-webkit-appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer;--played:0%}.music-seek::-webkit-slider-runnable-track{height:6px;border-radius:10px;background:linear-gradient(to right,#fff 0 var(--played),#8eb5cd var(--played) 100%);box-shadow:0 0 0 1px #699dbd}.music-seek::-moz-range-track{height:6px;border-radius:10px;background:#8eb5cd;box-shadow:0 0 0 1px #699dbd}.music-seek::-moz-range-progress{height:6px;border-radius:10px;background:white}.music-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid #176b99;margin-top:-9px;box-shadow:0 2px 5px #19516d33}.music-seek::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #176b99;box-shadow:0 2px 5px #19516d33}.music-seek:disabled{opacity:.5;cursor:default}.music-times{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;font-size:.875rem;margin-top:-4px}.song-status audio[hidden]{display:none}
@keyframes vinyl-turn{to{transform:rotate(360deg)}}@keyframes song-wave{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
@media(max-width:760px){.song-sleeve{max-width:390px;padding-top:18px;padding-bottom:18px}.music-controls{padding:16px}.music-control-row{gap:10px}.music-play{min-width:110px;padding:9px 14px}.music-state{order:4;flex-basis:100%}.music-seek-wrap{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.song-vinyl,.music-wave i{animation:none!important}.music-wave i{transform:scaleY(.45)}}
.song-sleeve{padding-right:34%}.song-vinyl{width:64%;margin-top:-32%}
/* Immersive lyrics view: one shared audio source. */
.lyrics-entry{grid-column:1/-1;text-align:center;padding:4px 0 12px}.lyrics-open{background:#fff!important;color:#135882!important;border:2px solid #79bdda!important;box-shadow:4px 4px 0 #f6d94b;min-height:52px;padding:12px 32px!important}.lyrics-open[hidden]{display:none}
.lyrics-dialog{padding:0;border:1px solid #a4daef;border-radius:28px;width:min(900px,calc(100vw - 48px));max-width:none;height:min(850px,90dvh);max-height:90dvh;overflow:hidden;color:white;background:linear-gradient(145deg,#167caa,#18678f 65%,#195777);box-shadow:0 24px 90px #12384d55}.lyrics-dialog::backdrop{background:#153850aa;backdrop-filter:blur(6px)}
.lyrics-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(ellipse at 95% 10%,#ffffff16,transparent 42%),radial-gradient(ellipse at 0 70%,#ffffff12,transparent 45%)}
.lyrics-header{display:flex;align-items:center;gap:16px;padding:22px 28px;border-bottom:1px solid #ffffff30}.lyrics-header img{width:64px;height:64px;border-radius:8px;flex-shrink:0}.lyrics-header>div{min-width:0;flex:1}.lyrics-header p{font-size:.75rem;letter-spacing:.08em;color:#ffe97e;margin:0 0 4px}.lyrics-header h2{font-size:1.6rem;line-height:1.35;margin:0;color:#fff}.lyrics-close{min-height:48px;padding:10px 14px;border:1px solid #ffffff70;border-radius:24px;background:#ffffff12;color:white;font:inherit;cursor:pointer;flex-shrink:0}
.lyrics-scroll{overflow-y:auto;overscroll-behavior:contain;padding:32px clamp(22px,6vw,70px);scrollbar-color:#d2e9f5 transparent}.lyrics-dialog .lyrics-body{padding:0;columns:auto;max-width:100%;color:#fff;font-size:clamp(1.15rem,2.5vw,1.75rem);font-weight:700;line-height:1.95;overflow-wrap:anywhere}.lyrics-dialog .lyrics-body p{margin:0 0 1.8em;break-inside:avoid;color:#fff}.lyrics-dialog .lyrics-body p:last-child{color:#ffe97e;margin-bottom:12px}
.lyrics-player{display:flex;gap:24px;align-items:center;padding:14px 28px 20px;background:#125275;border-top:1px solid #ffffff30}.lyrics-player .music-play{background:#ffe475;color:#154361;min-width:110px;min-height:48px}.lyrics-position{flex:1;min-width:0}.lyrics-position label{font-size:.85rem;color:white}.lyrics-player .music-times{color:white}.lyrics-player .music-seek{width:100%;margin:0}.lyrics-close:focus-visible,.lyrics-open:focus-visible,.lyrics-scroll:focus-visible{outline:3px solid #ffe475;outline-offset:-4px}
@media(max-width:600px){.lyrics-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0}.lyrics-header{padding:calc(14px + env(safe-area-inset-top)) 16px 14px;gap:10px}.lyrics-header img{width:44px;height:44px}.lyrics-header h2{font-size:1.2rem}.lyrics-header p{font-size:.65rem;letter-spacing:0}.lyrics-close{padding:8px 12px;font-size:.85rem}.lyrics-scroll{padding:28px 20px}.lyrics-dialog .lyrics-body{font-size:1.15rem;line-height:2}.lyrics-player{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:14px}.lyrics-player .music-play{min-width:88px;padding:10px}.lyrics-position label{font-size:.8rem}}

.song-vinyl{clip-path:circle(46.6% at 50% 50%);filter:drop-shadow(0 2px 3px #194e7040)}
/* Subtle event motion and a translucent lyrics card. */
.sky-drift{animation:none}
.sky-drift::before,.sky-drift::after{content:"";position:absolute;pointer-events:none;width:24%;height:32%;background:inherit;background-size:cover;opacity:.22;mask-image:radial-gradient(ellipse,#000,transparent 70%);animation:cloud-breathe 32s ease-in-out infinite alternate}
.sky-drift::before{left:0;top:0}.sky-drift::after{right:0;top:4%;animation-duration:41s;animation-delay:-15s}
@keyframes cloud-breathe{from{transform:translateX(-5px)}to{transform:translateX(7px)}}
@keyframes gentle-arrival{from{opacity:.15;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.motion-entered{animation:gentle-arrival .55s ease-out var(--arrival-delay,0ms) backwards}
.athlete-photo img,.program-photo{transition:transform .3s ease}.prize-card,.program-disclosure{transition:transform .22s ease,box-shadow .22s ease}.program-disclosure:hover{transform:none}
@media(hover:hover) and (pointer:fine){.athlete-photo:hover img{transform:scale(1.025);transform-origin:50% 20%}.prize-card:hover,.program-disclosure:hover{transform:translateY(-3px);box-shadow:5px 9px 18px #1b58751c}.program-disclosure:hover .program-photo{transform:scale(1.02)}}
.button:active,.lyrics-close:active{transform:translateY(1px)}.map-pin{transition:scale .18s ease,box-shadow .18s ease}.map-pin:active{scale:1.06}.map-pin.pin-selected{outline:3px solid #f9ce30;outline-offset:3px;box-shadow:0 0 0 6px #fff;scale:1.05}
.lyrics-dialog{background:linear-gradient(145deg,rgba(53,154,197,.84),rgba(29,100,142,.87));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #e5f7ffb3}
.lyrics-dialog::backdrop{background:rgba(25,65,92,.24);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.lyrics-dialog .lyrics-body p{font-size:inherit;line-height:inherit;color:#fff;text-shadow:0 1px 3px #163d5c55}.lyrics-dialog .lyrics-body{background:rgba(13,72,110,.32);border-radius:18px;padding:22px}.lyrics-player{background:rgba(14,72,107,.78)}
.lyrics-dialog[open]{animation:lyrics-arrive .28s ease-out both}.lyrics-dialog[open]::backdrop{animation:backdrop-arrive .28s ease-out both}.lyrics-dialog.is-closing{animation:lyrics-leave .24s ease-in both}.lyrics-dialog.is-closing::backdrop{animation:backdrop-leave .24s ease-in both}
.booth-dialog[open]{animation:lyrics-arrive .22s ease-out both}
@keyframes lyrics-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes lyrics-leave{to{opacity:0;transform:translateY(8px)}}
@keyframes backdrop-arrive{from{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(5px)}}
@keyframes backdrop-leave{to{opacity:0;backdrop-filter:blur(0)}}
@media(max-width:600px){.lyrics-dialog{width:calc(100% - 24px);height:88dvh;max-height:88dvh;margin:auto;border:1px solid #e5f7ffb3;border-radius:22px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lyrics-header{padding:14px 12px;gap:8px}.lyrics-header p{display:none}.lyrics-header img{width:36px;height:36px}.lyrics-header h2{font-size:1.05rem}.lyrics-scroll{padding:14px 10px}.lyrics-dialog .lyrics-body{padding:16px 12px;font-size:1.05rem}.lyrics-player{padding:12px 12px max(12px,env(safe-area-inset-bottom));gap:10px}.lyrics-close{padding:8px;font-size:.8rem}.lyrics-player .music-play{min-width:80px;gap:5px}}
@media(prefers-reduced-motion:reduce){.motion-entered,.sky-drift::before,.sky-drift::after,.lyrics-dialog[open],.lyrics-dialog[open]::backdrop,.booth-dialog[open]{animation:none!important}.athlete-photo img,.program-photo,.prize-card,.program-disclosure,.map-pin,.button,.lyrics-close{transition:none!important}.athlete-photo:hover img,.program-disclosure:hover .program-photo,.prize-card:hover,.program-disclosure:hover{transform:none!important}}

.participation-prize{margin-top:24px;padding:18px 20px;border-left:4px solid #68aabf;background:#ffffffb3;border-radius:0 12px 12px 0;font-size:.95rem}.participation-prize p{margin:6px 0 0}.prize-card .prize-status{margin-top:12px}
/* Category colors sampled from the five existing entrance title images. */
:root{--entrance-watch:#006ad9;--entrance-play:#83b804;--entrance-eat:#fd6100;--entrance-learn:#fc378b;--entrance-start:#832dae;--entrance-pr:#d9dde1}
.program-category.category-watch{background:var(--entrance-watch)!important;color:#fff!important}.program-category.category-play{background:var(--entrance-play)!important;color:#142600!important}.program-category.category-eat{background:var(--entrance-eat)!important;color:#211400!important}.program-category.category-learn{background:var(--entrance-learn)!important;color:#260a18!important}.program-category.category-start{background:var(--entrance-start)!important;color:#fff!important}.program-category.category-pr{background:var(--entrance-pr)!important;color:#303942!important}
.program-category{white-space:nowrap;display:inline-flex;align-items:center;flex-shrink:0}
.news-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:30px max(24px,calc((100vw - 1200px)/2));background:#f0f9ff;border-bottom:1px solid #d5eaf5}.news-heading{padding-top:14px}.news-heading .kicker{margin:0 0 4px}.news-heading h2{font-size:1.4rem;margin:0}.news-list{list-style:none;margin:0;padding:0;min-width:0}.news-list li+li{border-top:1px dashed #bad4e5}.news-list a,.news-item{display:grid;grid-template-columns:110px minmax(0,1fr) 18px;gap:16px;align-items:center;padding:14px 4px;min-height:52px;text-decoration:none;border-radius:8px}.news-list time{font-size:.875rem;color:#486679;font-variant-numeric:tabular-nums}.news-title{font-size:.95rem;line-height:1.7;overflow-wrap:anywhere}.news-arrow{color:#196ba0;transition:transform .18s}.news-list a:hover{background:#fff}.news-list a:hover .news-title{text-decoration:underline;text-underline-offset:4px}.news-list a:hover .news-arrow{transform:translate(2px,-2px)}.news-important{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:4px;background:#ffe575;color:#443700;font-size:.8rem;font-weight:700}
@media(max-width:600px){.news-section{grid-template-columns:1fr;gap:8px;padding:24px}.news-heading{display:flex;gap:12px;align-items:baseline;padding:0}.news-heading h2{font-size:1.15rem}.news-list a,.news-item{grid-template-columns:minmax(0,1fr) 18px;gap:4px 12px;padding:13px 2px}.news-list time{grid-column:1}.news-title{grid-column:1;grid-row:2}.news-arrow{grid-column:2;grid-row:1/3}}
@media(prefers-reduced-motion:reduce){.news-arrow{transition:none}}

/* Completed supplied images: keep original pixels and full composition. */
.program-detail .program-catchcopy{font-size:1.05rem;line-height:1.75;margin-bottom:.7em}
.program-summary .program-photo.completed-image{aspect-ratio:3/2;object-fit:contain!important;object-position:center;--photo-position:50% 50%}
.athlete-grid .athlete-photo.completed-portrait img{width:100%!important;height:100%!important;left:0!important;top:0!important;object-fit:contain!important;object-position:center}
.produce-portrait.completed-portrait>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center}
/* Supplied venue art with independently editable labels. */
.venue-refresh{background:#f0f9ff;border:1px solid #c5e3f0;border-radius:24px;padding:20px;min-width:0}.venue-tabs{display:flex;gap:12px;flex-wrap:wrap}.venue-tabs button{border:2px solid var(--deep);border-radius:30px;padding:12px 24px;background:white;color:var(--deep);font-weight:800;min-height:48px;cursor:pointer}.venue-tabs button[aria-selected=true]{background:var(--deep);color:white}.venue-color-key{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.venue-color-key .program-category{margin:0}.venue-tab-panel[hidden]{display:none!important}.venue-actions{display:flex;justify-content:flex-end;margin:12px 0}.venue-scroll{overflow:auto;border-radius:16px;max-width:100%;background:white;border:1px solid #cee3ec;overscroll-behavior-x:contain}.venue-label-canvas{width:100%;min-width:1150px;position:relative;container-type:inline-size;isolation:isolate}.venue-label-canvas.indoor{min-width:1250px}.venue-label-canvas>img{width:100%;height:auto;display:block}.venue-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:#224963}.venue-leaders line{stroke:#224963;stroke-width:.17;vector-effect:non-scaling-stroke;stroke-width:2}.venue-leaders circle{stroke:white;stroke-width:.13}.venue-booth-label,.venue-facility-label{position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #16334c26;line-height:1.35;text-align:center;color:#16334c;background:#fffffff5;z-index:2}.venue-booth-label{display:flex;align-items:center;gap:5px;width:13%;min-height:44px;padding:9px 7px;border:1px solid #d2e2e9;border-radius:10px;font-size:clamp(11px,1cqw,16px);font-weight:700;cursor:pointer}.venue-booth-label>b{font-size:1.1em;flex-shrink:0}.venue-booth-label>span:not(.label-colors){flex:1}.label-colors{position:absolute;left:0;right:0;top:0;height:4px;display:flex;border-radius:10px 10px 0 0;overflow:hidden}.label-colors i{flex:1}.venue-facility-label{font-size:clamp(14px,1.35cqw,21px);font-weight:900;border:2px solid #325b73;border-radius:30px;padding:6px 12px;white-space:nowrap;z-index:3}.venue-booth-label:hover,.venue-booth-label:focus-visible{z-index:5;outline:3px solid var(--marker);outline-offset:2px}.venue-text-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.venue-text-index button{display:flex;gap:9px;align-items:center;text-align:left;background:white;color:var(--ink);padding:12px;border:1px solid #dae7ee;border-left:5px solid var(--marker);border-radius:10px;cursor:pointer;min-height:48px;font-size:.9rem}.venue-text-index button>span{margin-left:auto}.venue-zoom-dialog{width:96vw;max-width:1800px;height:90dvh;max-height:94dvh;padding:20px;border:1px solid #a5cfdf;border-radius:20px;background:#f2faff;color:var(--ink);overflow:hidden}.venue-zoom-dialog[open]{display:flex;flex-direction:column}.venue-zoom-dialog::backdrop{background:#173c5a88;backdrop-filter:blur(4px)}.venue-zoom-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px}.venue-zoom-dialog h2{font-size:1.25rem;margin:0}.venue-zoom-dialog p{margin:8px 0;font-size:.875rem}.venue-zoom-scroll{overflow:auto;min-height:0;flex:1;background:white;overscroll-behavior:contain}.venue-zoom-scroll .venue-label-canvas{min-width:1650px}.venue-zoom-scroll .venue-label-canvas.indoor{min-width:1800px}body:has(.venue-zoom-dialog[open]){overflow:hidden}@media(max-width:760px){.venue-refresh{padding:12px}.venue-tabs{gap:8px}.venue-tabs button{flex:1;padding:11px 12px}.venue-text-index{grid-template-columns:1fr}.venue-zoom-dialog{padding:12px}.venue-zoom-dialog header .button{padding:10px;min-height:44px}.venue-color-key{gap:6px}.venue-color-key .program-category{font-size:.8rem}}
/* Number-only map and playful, concise booth previews. */
.venue-label-canvas.outdoor{min-width:1600px}.venue-number-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;background:var(--pin-fill,var(--marker));color:#16334c;border:3px solid white;border-radius:50% 50% 50% 12%;font-size:20px;font-weight:900;line-height:1;box-shadow:0 3px 9px #16334c55;cursor:pointer;z-index:4;transition:transform .18s ease,box-shadow .18s ease}.venue-number-pin[data-booth="1"],.venue-number-pin[data-booth="11"],.venue-number-pin[data-booth="12"],.venue-number-pin[data-booth="13"]{color:white;text-shadow:0 1px 2px #16334c}.venue-number-pin:hover,.venue-number-pin.pin-selected{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 3px #fff,0 4px 12px #16334c66;z-index:5}.venue-number-pin:focus-visible{outline:3px solid var(--deep);outline-offset:4px}.booth-dialog.booth-pop{width:min(540px,calc(100vw - 28px));max-height:88dvh;padding:30px;border:3px solid white;border-top:8px solid var(--booth-color,var(--blue));border-radius:30px;background:radial-gradient(ellipse at 0% 12%,#fff 0 12%,transparent 12.5%),radial-gradient(ellipse at 100% 5%,#fff 0 16%,transparent 16.5%),linear-gradient(155deg,#d9f3ff,#f5fcff 65%,#fff9d6);box-shadow:0 16px 60px #16446544;color:var(--ink);overflow:auto}.booth-pop::backdrop{background:#18557966;backdrop-filter:blur(4px)}.booth-pop .dialog-close{display:block;margin:0 0 12px auto;position:relative;top:auto;right:auto;min-height:44px;background:white;border:1px solid #b7d5e4;border-radius:24px;padding:8px 16px;color:var(--deep);cursor:pointer}.booth-number{display:grid;place-items:center;width:60px;height:60px;background:var(--yellow);border:3px solid white;border-radius:20px;box-shadow:3px 4px 0 #76b6d433;font-size:2rem;font-weight:900;margin:0 0 15px}.booth-tags{display:flex;gap:8px;flex-wrap:wrap}.booth-tags .program-category{margin:0}.booth-pop #booth-title{font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.5;margin:16px 0;border-bottom:3px solid var(--booth-color);padding-bottom:12px}.booth-pop #booth-catchcopy{font-size:1.1rem;line-height:1.9;font-weight:700;margin:18px 0 26px}.booth-pop #booth-link{display:flex;background:var(--yellow);color:var(--deep);border:2px solid var(--deep);border-radius:28px;box-shadow:0 4px 0 var(--deep);min-height:52px}.booth-pop[open]{animation:booth-pop-in .24s ease both}.booth-pop[open].is-closing{animation:booth-pop-out .2s ease both}.venue-tab-panel:not([hidden]){animation:venue-tab-in .2s ease both}body:has(.booth-pop[open]){overflow:hidden}@keyframes booth-pop-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes booth-pop-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(7px)}}@keyframes venue-tab-in{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.venue-number-pin{transition:none}.venue-number-pin:hover,.venue-number-pin.pin-selected{transform:translate(-50%,-50%)}.booth-pop[open],.booth-pop[open].is-closing,.venue-tab-panel:not([hidden]){animation:none!important}}@media(max-width:600px){.booth-dialog.booth-pop{padding:20px;border-radius:24px}.booth-pop #booth-catchcopy{font-size:1rem}}

/* Category borders share the existing entrance palette. */
.program-disclosure[data-primary-category="watch"]{border-color:var(--entrance-watch)}
.program-disclosure[data-primary-category="play"]{border-color:var(--entrance-play)}
.program-disclosure[data-primary-category="eat"]{border-color:var(--entrance-eat)}
.program-disclosure[data-primary-category="learn"]{border-color:var(--entrance-learn)}
.program-disclosure[data-primary-category="start"]{border-color:var(--entrance-start)}
.program-disclosure[data-primary-category="pr"]{border-color:var(--entrance-pr)}
.venue-number-pin[data-booth="11"]{color:#260a18;text-shadow:none}
.section-program-logo{display:block;max-width:100%;height:auto;object-fit:contain;border:0;box-shadow:none;background:none}
.athlete-program-logo{width:320px;margin:16px auto 20px}
.mission-program-logo{width:400px;margin:16px 0 20px}
@media(max-width:600px){.athlete-program-logo{width:260px}.mission-program-logo{width:320px}}
