:root{--reading-width:36rem;--paper:#f3f1eb;--surface:#faf8f3;--surface-strong:#eeebe5;--ink:#292826;--muted:#67635f;--line:rgba(41,40,38,.16);--teal:#8e4335;--amber:#8e4335;--clay:#8e4335;--sage:#9d9187;--band:#eae6df;--sea:#e7e8e5;--land:#f5f2ec;--coast:#c4b9ae;--route:#8e4335;--covered:#996d60;--sparse:#8c746c;--no-data:#e0dbd2;--pin-edge:#faf8f3;--map-text:#292826;--admin-fill:#eae5df;--admin-line:#a59486;--admin-minor:#c5bab0;--map-name:#62534a;--map-halo:#f5f2ec;}
:root[data-theme=dark]{--paper:#201e1c;--surface:#2a2724;--surface-strong:#36312d;--ink:#eeeae4;--muted:#c1b8ae;--line:rgba(232,221,209,.19);--teal:#dca297;--amber:#dca297;--clay:#dca297;--band:#292521;--sea:#1d2325;--land:#35312e;--coast:#74665b;--route:#dca297;--covered:#ae8174;--sparse:#baa298;--no-data:#46403b;--pin-edge:#201e1c;--map-text:#eeeae4;--admin-fill:#37312c;--admin-line:#a99585;--admin-minor:#6b5c50;--map-name:#e3d7ce;--map-halo:#302a26;}
.shared-panorama{background-color:#302a28;background-image:linear-gradient(180deg,rgba(14,16,20,0),rgba(14,16,20,.32)),url('assets/profile-panorama-mobile-material-v3-20261014.png');background-position:center;background-size:cover;background-repeat:no-repeat;}
.panorama-research{background-image:linear-gradient(90deg,rgba(14,16,20,.40),rgba(14,16,20,.08));}
.panorama-photography{background-image:linear-gradient(90deg,rgba(14,16,20,.08),rgba(14,16,20,.42));}
[data-theme=dark] .panorama-research::after,[data-theme=dark] .panorama-photography::after{background:rgba(0,0,0,.16);}
.shared-header,.hero__content,.interests-content{color:#f4f5f5;}
.hero__content .eyebrow,.interests-content .eyebrow{color:#d8dce0;}
.hero__headline,.hero__summary,.interests-description{color:rgba(244,245,245,.88);}
.hero .button-link,.interests-content .button-link{color:#f4f5f5;border-color:rgba(244,245,245,.35);background:rgba(244,245,245,.06);}
.language-switch{background:rgba(240,242,244,.08);}
.theme-toggle{background:rgba(22,25,29,.68);color:#f4f5f5;border-color:rgba(244,245,245,.4);}
.theme-toggle:hover{background:rgba(55,61,69,.9);}
.page-arrow:focus-visible{outline-color:#f4f5f5;}

/* Titles use the selected serif subset, then the full CJK body font for new text. */
:root{--font-sans:'Lab Sans Latin','Lab Latin Fallback Sans','Lab Sans SC','Lab CJK Fallback SC',system-ui,sans-serif;--font-serif:'Lab Serif Latin','Lab Latin Fallback Serif','Lab Title SC','Lab Sans SC','Lab CJK Fallback SC',serif;font-family:var(--font-sans);font-synthesis:none;}
:root:lang(ja){--font-sans:'Lab Sans Latin','Lab Latin Fallback Sans','Lab Sans JP','Lab Sans SC','Lab CJK Fallback JP',system-ui,sans-serif;--font-serif:'Lab Serif Latin','Lab Latin Fallback Serif','Lab Title JP','Lab Sans JP','Lab Sans SC','Lab CJK Fallback JP',serif;}
body{font-family:var(--font-sans);font-synthesis:none;}
h1,h2,h3,h4,.hero__headline,.travel-card>a{font-family:var(--font-serif);}
.hero__content h1,.interests-content h1{letter-spacing:-.025em;}
.shared-header,.signal,.item-card__meta,.travel-date,.gallery-credit,.gallery-controls,.gallery-original,.travel-pagination,.back-top,.page-arrow,.japan-counts,.japan-filters,button,input,select{font-family:var(--font-sans);}
:is(.hero__summary,.item-card p,.travel-summary,.travel-article>p,.travel-chapter p,.travel-days p){line-height:1.9;}
.item-card h3{font-weight:600;line-height:1.55;}

/* Hidden placeholders must not fetch a language before the profile locale is ready. */
html.locale-pending .page-viewport *{font-family:system-ui;}

@media(min-width:821px){.shared-panorama{background-image:linear-gradient(180deg,rgba(14,16,20,0),rgba(14,16,20,.32)),url("assets/profile-panorama-material-v3-20261014.png");}}

@media(max-width:820px){
.shared-panorama{--mobile-scene-dark:0;background-image:linear-gradient(rgba(0,0,0,var(--mobile-scene-dark)),rgba(0,0,0,var(--mobile-scene-dark))),linear-gradient(90deg,rgba(14,16,20,.58),rgba(14,16,20,.32) 50%,rgba(14,16,20,.45)),linear-gradient(180deg,rgba(14,16,20,0),rgba(14,16,20,.32)),url("assets/profile-panorama-mobile-material-v3-20261014.png");}
[data-theme=dark] .shared-panorama{--mobile-scene-dark:.16;}
.panorama-research,.panorama-photography{background-image:none;}
[data-theme=dark] .panorama-research::after,[data-theme=dark] .panorama-photography::after{display:none;}
}

/* Both mobile gesture hints override paragraph-specific typography equally. */
@media(max-width:820px){
.hero__content .swipe-hint,.interests-content .swipe-hint{display:flex;align-items:baseline;gap:.55em;margin:26px 0 0;padding:0;max-width:none;font:400 .75rem/1.5 var(--font-sans);letter-spacing:.02em;word-spacing:normal;color:rgba(244,245,245,.7);}
.swipe-hint--right{justify-content:flex-end;}
.swipe-hint--left{justify-content:flex-start;}
.swipe-hint__arrows{flex:none;font:inherit;letter-spacing:inherit;}
}

@media(max-width:820px){
.hero__content::after,.interests-content::after{content:"";display:block;height:calc(26px + 1.125rem);}
.hero__content .swipe-hint,.interests-content .swipe-hint{position:absolute;top:calc(var(--scene-height) - clamp(34px,6vw,72px));left:22px;right:22px;transform:translateY(-100%);margin:0;z-index:2;opacity:var(--hint-opacity,1);transition:none;}
.is-dragging .swipe-hint,.is-animating .swipe-hint{transition:none;}
}
@media(prefers-reduced-motion:reduce){.hero__content .swipe-hint,.interests-content .swipe-hint{transition:none;}}
