.language-picker{position:relative;width:44px;height:44px;flex:0 0 44px;z-index:5}
#language-toggle{border-radius:50%}
#language-toggle[aria-expanded=true]{border-color:var(--seoul-blue);background:var(--seoul-blue-soft);color:var(--seoul-blue)}
#language-options{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,44px);gap:8px;width:max-content;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
#language-options[hidden]{display:none}
#language-options button{display:grid;place-items:center;width:44px;height:44px;min-width:0;margin:0;padding:0;border:1px solid var(--control-border);border-radius:50%;background:#fff;color:var(--ink);font-size:12px;line-height:1;font-weight:500;white-space:nowrap;animation:language-circle-in 180ms cubic-bezier(.16,1,.3,1) both}
#language-options button:nth-child(2){animation-delay:60ms}
#language-options button:nth-child(3){animation-delay:120ms}
#language-options button:hover{background:var(--paper);border-color:var(--muted)}
#language-options [aria-selected=true]{background:var(--seoul-blue);border-color:var(--seoul-blue);color:#fff}
#language-options [aria-selected=true]:hover{background:var(--seoul-blue-dark);color:#fff}
.language-picker button:focus-visible{outline:2px solid var(--seoul-blue);outline-offset:3px}
@keyframes language-circle-in{from{opacity:0;transform:translateY(-6px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){#language-options button{animation:none}}
.mobile-language{padding:22px 0;border-top:1px solid #d9ddd2;display:grid;gap:12px}
.mobile-language>span{font-size:11px;color:#6a7366}
.mobile-language>div{display:flex;gap:8px}
.mobile-language button{min-height:44px;flex:1;border:1px solid #d9ddd2;border-radius:24px;font-size:12px}
.mobile-language button[aria-pressed=true]{background:#d5ed51;border-color:#b6cc47;font-weight:700}
html:not([lang=en]) body{font-family:'DM Sans','Noto Sans JP','Noto Sans KR','Yu Gothic','Malgun Gothic',system-ui,sans-serif}
html:not([lang=en]) .intro h1{font-size:48px;letter-spacing:-2px;line-height:1.26;word-break:keep-all}
html[lang=ja] .intro h1{font-size:34px;letter-spacing:-1.8px}
html:not([lang=en]) .intro .eyebrow{letter-spacing:1px}
html:not([lang=en]) .intro p{line-height:1.9;word-break:keep-all}
html:not([lang=en]) .intro-bottom{font-size:10px}
html:not([lang=en]) .intro-bottom span:last-child{line-height:1.7}
html:not([lang=en]) .section-heading h2{letter-spacing:-.6px}
html:not([lang=en]) .trip-header h2,html:not([lang=en]) .info-dialog h2{letter-spacing:-1px;line-height:1.35;word-break:keep-all}
html:not([lang=en]) .trip-header>div{min-width:0}
html:not([lang=en]) .primary-button,html:not([lang=en]) .secondary-button{line-height:1.5}
html:not([lang=en]) .trip-summary{letter-spacing:0}
@media(max-width:1100px){html[lang=ko] .intro h1{font-size:44px}html[lang=ja] .intro h1{font-size:30px}.header-actions{gap:8px}.main-nav{gap:16px}}
@media(max-width:850px){.language-picker{display:none}html[lang=ko] .intro h1{font-size:40px}html[lang=ja] .intro h1{font-size:28px}}
@media(max-width:640px){html:not([lang=en]) .intro h1{font-size:38px;line-height:1.3;letter-spacing:-1.8px}html[lang=ja] .intro h1{font-size:28px;letter-spacing:-1.3px}html:not([lang=en]) .intro p{font-size:12px;line-height:1.8}html:not([lang=en]) .trip-header h2{font-size:28px}.mobile-menu-dialog{max-height:calc(100dvh - 24px);overflow:auto}}
@media(max-width:370px){html[lang=ja] .intro h1{font-size:25px}html:not([lang=en]) .trip-header h2{font-size:25px}.mobile-language button{font-size:11px}}
