/* Bright RPG palette, with clear reading surfaces. */
:root{--paper:#fffdf2;--ink:#253052;--muted:#53627b;--deep-green:#175bc2;--green:#16a26c;--yellow:#ffd337;--sky:#75d8ed;--white:#fffef9;--line:#98b5d4;--shadow:6px 6px 0 #bdd5ef}
body{color:var(--ink);background:var(--paper)}.site-header,.site-header.scrolled{background:#fffdf5fa;border-bottom-color:#1964ce}.brand-logo{filter:none}.global-nav a:hover{color:#dc304f}.global-nav .nav-cta,.pixel-button.primary,.button,.contact-phone{background:#1964ce;border-color:#174da0;color:#fff;box-shadow:4px 4px 0 #f9cd36}.pixel-button{border-color:#1964ce;background:#fffdf2;box-shadow:4px 4px 0 #ffce36}.pixel-button:hover{background:#ffdc55;color:#253052}.section-kicker,.eyebrow{color:#175bc2}.hero-copy{background:#fffef0eb;border:3px solid #1964ce;box-shadow:8px 8px 0 #ffce36}.hero-copy h1,.map-intro h1{color:#175bc2}.hero-copy::before{color:#e03b52}.hero-copy::after{background:#f14358;box-shadow:0 0 0 4px #ffd337}.storybook-map{background:#bfeee1}.map-board-title h2{color:#175bc2}.pixel-notice{background:#ed4058;border:3px solid #a72642;color:#fff;box-shadow:7px 7px 0 #ffc834}.pixel-notice small{color:#fff6c4}.pixel-notice b{background:#fff3b0;border-color:#fff;color:#ba2b47}.pixel-notice.new-place{background:#ffda3c;border-color:#d59810;color:#253052;box-shadow:7px 7px 0 #4daedb}.pixel-notice.new-place small{color:#175bc2}.pixel-notice::before{background:#65d2e6;border-color:#229cbe}.map-spot,.otayori-spot{border-color:#1964ce;box-shadow:4px 4px 0 #72cddd;background:#fffdf4}.map-spot:nth-child(3n+2){border-color:#e33f58;box-shadow:4px 4px 0 #f6afbd}.map-spot:nth-child(3n){border-color:#e5a609;box-shadow:4px 4px 0 #f4d976}.map-spot:hover{background:#ffea83}.spot-label small,.map-spot::before{color:#175bc2}.spot-label b{color:#253052}.journey-dock{border-color:#1964ce;background:#fffdf2;box-shadow:5px 5px 0 #ffd337}.journey-dock a{background:#ffda3c;color:#253052}.journey-dock a:last-child{background:#e93752;color:#fff}.town-cat,.town-cat-note{border-color:#1964ce;background:#fffce8;box-shadow:5px 5px 0 #ffc931}.town-tools button{color:#175bc2;border-color:#175bc2}.chapter-tab{background:#ffdc55;border-color:#ed4058;color:#253052}.journey-passport{color:#175bc2}
.news-section{background:#fff2b8}.news-card{border-color:#1964ce;box-shadow:6px 6px 0 #62cbd9}.news-card:nth-child(2){border-color:#ed4058;box-shadow:6px 6px 0 #f6adbc}.news-card .news-art{background:#d1f2f3}.news-card small{background:#ffdc55;color:#253052}.news-date,.news-card .news-date{color:#48607e}.news-card .news-arrow{color:#175bc2}.news-lead{color:#253052}.section h2{color:#175bc2}.section h3{color:#253052}.reason-card{border-color:#1964ce;box-shadow:5px 5px 0 #81d7e1;background:#fffef5}.reason-card:nth-child(2n){background:#ffefb0;border-color:#e2a10a;box-shadow:5px 5px 0 #edbb31}.reason-card>span{background:#ed4058;color:#fff;border:0}.about,.daily,.guide{background:#d9f3f6}.recruit-teaser{background:#ffe1e6}.new-place-section{background:#fff0a3}.opening-badge{background:#ed4058;border-color:#bc2844;color:#fff}.job-tags span{border-color:#1964ce;background:#fffdf2;color:#175bc2}.concept-card,.career-card,.name-part{border-color:#1964ce;box-shadow:5px 5px 0 #ffd337}.name-part>b{color:#e63852}.name-part:nth-child(2)>b{color:#1964ce}.name-part:nth-child(3)>b{color:#169c69}.name-part:nth-child(4)>b{color:#d79805}.page-intro,.staff-hero,.kato-hero,.sasaki-hero,.network-hero{background:#d9f3f6!important;color:#253052!important}.page-intro h1,.staff-hero h1,.kato-hero h1,.sasaki-hero h1,.network-hero h1{color:#175bc2}.recruit-intro{background:#ffe1e6!important}.pixel-illustration{border-color:#1964ce;box-shadow:7px 7px 0 #ffd337}.pixel-illustration figcaption{background:#fffef4;color:#53627b}.info-note{background:#fff0b3;border-color:#ed4058;color:#253052}.job-facts{border-color:#1964ce}.job-facts dt{background:#d9f3f6}.staff-closing,.message-next,.shared-philosophy,.new-page-footer,.footer{background:#175bc2;color:#fff}.contact{background-color:#ffdd55;color:#253052}.text-link{border-color:#ed4058;color:#175bc2}.photo-journey figure,.profile-card,.listener-card{border-color:#1964ce;box-shadow:5px 5px 0 #ffcf36}.opening-town-skip{border-color:#1964ce;background:#ffda3c;color:#253052;box-shadow:4px 4px 0 #ed4058}.town-opening{background:#fffdf2}.opening-town-video{object-fit:cover}.opening-mosaic{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;image-rendering:pixelated;opacity:0}.opening-town-skip{z-index:6}.opening-town-title{border-color:#1964ce;box-shadow:8px 8px 0 #ffd337}
.movie-version-links{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.portrait-preview{display:block;width:min(360px,100%);aspect-ratio:9/16;border:3px solid #1964ce;box-shadow:7px 7px 0 #ffd337;margin:24px auto;background:#fffdf2}.movie-preview{border-color:#1964ce;box-shadow:7px 7px 0 #ffd337}.movie-storyboard figure{border-color:#1964ce}.motion-paused .opening-mosaic{display:none}
.town-opening.is-transitioning .opening-town-video,.town-opening.is-transitioning .opening-town-scene,.town-opening.is-transitioning .opening-town-title,.town-opening.is-transitioning .opening-bird{visibility:hidden}.town-opening.is-transitioning{background:transparent}.movie-preview:fullscreen,.portrait-preview:fullscreen{width:100vw;height:100vh;max-width:none;object-fit:contain;background:#253052;border:0;box-shadow:none}
.opening-town-skip{top:max(20px,env(safe-area-inset-top));bottom:auto;right:max(20px,env(safe-area-inset-right))}
.group-preview{background:#1964ce;color:#fff}.group-preview h2{color:#fff}.group-preview .section-kicker{color:#ffdf55}.group-preview-grid>*{min-width:0}.group-preview-copy{max-width:100%;overflow-wrap:anywhere}@media(max-width:700px){.group-preview-grid{grid-template-columns:minmax(0,1fr)}}
.opening-town-video{object-fit:contain;background:#fff1be}.town-opening{background:#fff1be}.opening-town-skip{font-size:12px;max-width:calc(100% - 40px)}
.map-intro h1 span{white-space:normal}.hero-copy{max-width:100%;min-width:0}.hero-copy h1{overflow-wrap:anywhere}.page-intro h1,.staff-hero h1,.kato-hero h1,.sasaki-hero h1,.network-hero h1{overflow-wrap:anywhere}
.journey-dock{max-width:calc(100% - 24px)}.journey-dock a{min-width:0;white-space:normal}@media(max-width:700px){.journey-dock{right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:5px}.journey-dock a{font-size:10px;padding:8px}.map-intro{padding-bottom:100px}.movie-version-links>*{max-width:100%}}
.line-illustration img,.line-illustration-sprout img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;margin:0}.line-illustration{padding:12px 0;overflow:visible}.pixel-illustration img{max-width:100%;height:auto;object-fit:contain}
body:has(.journey-dock){padding-bottom:84px}
.container>*{min-width:0}.sasaki-final{grid-template-columns:minmax(0,1fr)}.sasaki-final-inner{min-width:0;max-width:calc(100% - 40px)}
@media(max-width:700px){.about-grid,.guide-grid{grid-template-columns:minmax(0,1fr)}.facts div{grid-template-columns:70px minmax(0,1fr);gap:10px;padding:12px 8px}.facts dd{overflow-wrap:anywhere}.contact-button{min-width:0;width:100%;padding:16px 10px;flex-wrap:wrap;white-space:normal}.contact-button b{font-size:clamp(22px,7vw,30px)}.guide-copy a{max-width:100%;white-space:normal;overflow-wrap:anywhere}}

/* Town guide and illustrated notice cards */
.town-cat{display:flex;align-items:center;gap:10px;padding:10px 16px;animation:none}
.town-cat-sprite{display:block;width:48px;height:48px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.pixel-notices{margin:48px auto 40px;padding:0 24px;gap:28px}
.pixel-notice{display:grid;grid-template-columns:112px minmax(0,1fr) 38px;align-items:center;gap:22px;padding:30px 26px;min-height:220px}
.pixel-notice::before{display:none}
.notice-art{display:block;width:112px;height:112px;object-fit:contain;image-rendering:pixelated}
.notice-copy{min-width:0}
.pixel-notice strong{font-size:clamp(20px,1.7vw,26px);line-height:1.5}
.pixel-notice p{margin:12px 0 0}
@media(max-width:1050px){.pixel-notices{grid-template-columns:1fr 1fr}.pixel-notice{grid-template-columns:80px minmax(0,1fr);gap:14px;padding:24px}.notice-art{width:80px;height:80px}.pixel-notice>b{grid-column:2;justify-self:end}}
@media(max-width:700px){.pixel-notices{grid-template-columns:minmax(0,1fr);margin:32px 20px 36px;padding:0;gap:26px}.pixel-notice{grid-template-columns:72px minmax(0,1fr);padding:22px 18px;min-height:180px}.notice-art{width:72px;height:88px}.pixel-notice strong{font-size:20px}.town-cat{gap:7px;padding:8px 12px}.town-cat-sprite{width:40px;height:40px}}

@font-face{font-family:PeacePixel;src:url('fonts/DotGothic16-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
.opening-town-title p,.opening-town-title b,.opening-town-skip{font-family:PeacePixel,monospace!important;font-weight:400;letter-spacing:.03em}
.opening-town-skip{background:#192838;color:#fff3d1;border:3px solid #fff3d1;box-shadow:0 0 0 3px #192838;font-size:16px;top:24px;bottom:auto}
.opening-town-title{background:#192838;color:#fff3d1;border:3px solid #fff3d1;box-shadow:0 0 0 3px #192838}
