/* The existing holiday island palette and fonts frame the approved party artwork. */
.roadmap-page{padding-top:120px}.roadmap-page>.wrap{max-width:1180px}.roadmap-intro{max-width:860px;margin:12px auto 30px;text-align:center;background:var(--cream);border:4px solid var(--ink);border-radius:28px;padding:28px 28px 22px;box-shadow:var(--hs)}
.roadmap-kicker{font:600 1rem "Mitr",sans-serif;margin:0 0 12px;color:#843110}.roadmap-intro h1{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.3}.roadmap-subtitle{font:500 clamp(1.1rem,2.5vw,1.4rem) "Mitr",sans-serif;margin:10px 0}.roadmap-notice{margin:14px 0 0;font-size:.98rem;line-height:1.8}
.roadmap-figure{margin:0 0 42px;border:4px solid var(--ink);background:var(--cream);border-radius:24px;overflow:hidden;box-shadow:var(--hs)}.roadmap-art-link{display:block;cursor:zoom-in}.roadmap-art-link img{display:block;width:100%;height:auto;object-fit:contain}.roadmap-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;font-size:.95rem;line-height:1.7}.roadmap-zoom{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:2px solid var(--ink);border-radius:16px;font:500 .95rem "Mitr",sans-serif;white-space:nowrap;background:var(--sun)}
.roadmap-details{padding:28px clamp(18px,4vw,40px);border:4px solid var(--ink);border-radius:28px;background:var(--cream);box-shadow:var(--hs)}.roadmap-details>h2{font-size:1.7rem;line-height:1.4;margin-bottom:20px}.roadmap-weeks{list-style:none;padding:0;margin:0}.roadmap-weeks>li{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:24px 0;border-top:2px solid #bfa679;scroll-margin-top:120px}.roadmap-date{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.roadmap-week{font-size:.9rem}.roadmap-date time{font:600 1.25rem "Mitr",sans-serif;color:#692b13;background:#ffdd75;padding:8px 12px;border-radius:14px}.roadmap-name{font:600 1rem "Mitr",sans-serif;color:#843110;margin:0 0 6px}.roadmap-step h2{font-size:1.65rem;line-height:1.4;margin:0 0 10px}.roadmap-status{font-size:.9rem;color:#174b43;margin:0 0 8px}.roadmap-step>p:last-child{margin:0;line-height:1.85}.roadmap-surprise{margin-top:20px;padding:24px;border-radius:20px;background:#dcf3ed;border:2px dashed #326156;text-align:center}.roadmap-surprise h3{font-size:1.4rem;line-height:1.4}.roadmap-mystery{font:600 2rem "Mitr",sans-serif;margin:6px 0}.roadmap-surprise>p:last-child{margin-bottom:0}.roadmap-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 10px}.roadmap-footer{position:relative;z-index:2;padding:0 24px 36px}.roadmap-page a:focus-visible{outline:4px solid #692b13;outline-offset:4px}
@media(max-width:600px){.roadmap-page{padding-top:104px}.roadmap-page>.wrap{padding:0 16px}.roadmap-intro{padding:20px 18px;margin-top:4px;border-radius:22px}.roadmap-figure{border-radius:18px;margin-bottom:28px}.roadmap-figure figcaption{align-items:flex-start;flex-direction:column;padding:12px 14px}.roadmap-zoom{white-space:normal}.roadmap-details{border-radius:22px}.roadmap-weeks>li{grid-template-columns:1fr;gap:14px;padding:22px 0}.roadmap-date{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}.roadmap-date time{font-size:1.1rem}.roadmap-actions{gap:10px}.roadmap-actions .btn{font-size:.95rem;padding:10px 14px}}

.studio-roadmap .toast:empty{display:none}
@media(max-width:520px){.studio-roadmap .nav .wrap{border-radius:24px;gap:4px;padding:6px 8px}.studio-roadmap .nav .brand{min-width:42px;width:42px;flex-shrink:0}.studio-roadmap .nav .brand img{width:40px}.studio-roadmap .nav nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1;min-width:0;gap:3px;margin-left:0}.studio-roadmap .nav nav a{display:flex;justify-content:center;align-items:center;min-height:32px;padding:4px 1px;font-size:.73rem;border-width:2px}.studio-roadmap .nav #musicBtn{grid-column:3;grid-row:2}.studio-roadmap .nav #langBtn{grid-column:4;grid-row:2}.studio-roadmap .nav #musicBtn,.studio-roadmap .nav #langBtn{min-height:44px;min-width:44px;padding:4px 6px}.studio-roadmap .roadmap-page{padding-top:140px}}
