.language-picker{display:inline-flex!important;flex-direction:row;align-items:center;gap:6px;margin:0!important;white-space:nowrap;font:14px/1.5 Arial,sans-serif;letter-spacing:normal;text-transform:none}.language-picker select{font:inherit!important;width:auto!important;min-width:100px;min-height:40px!important;padding:6px 26px 6px 10px!important;border:1px solid #8ca493;border-radius:10px;color:#174d39;background:#fffdf5;cursor:pointer}.language-picker select:focus-visible{outline:3px solid #174d39;outline-offset:3px}html:lang(th),html:lang(km),html:lang(ja){font-family:Arial,'Noto Sans Thai','Noto Sans Khmer','Noto Sans JP',sans-serif}html:not(:lang(en)) h1,html:not(:lang(en)) h2,html:not(:lang(en)) h3,html:not(:lang(en)) .hero-title-line{font-family:Arial,'Noto Sans Thai','Noto Sans Khmer','Noto Sans JP',sans-serif;line-height:1.5;letter-spacing:normal}html:not(:lang(en)) button,html:not(:lang(en)) .primary,html:not(:lang(en)) .secondary{white-space:normal;height:auto;line-height:1.6}html:not(:lang(en)) .hero-title-line{white-space:normal}html:lang(km) p,html:lang(th) p{line-height:1.9}.top-actions,.live-top nav{flex-wrap:wrap}.live-top{gap:14px}.live-top nav{display:flex;align-items:center;gap:16px}@media(max-width:650px){.topbar,.live-top{flex-wrap:wrap;height:auto;gap:12px}.top-actions{justify-content:flex-end;gap:10px}.language-picker select{max-width:130px}.live-top nav{flex-wrap:wrap;gap:10px}html:not(:lang(en)) .steps button{font-size:13px;padding-left:5px;padding-right:5px}html:not(:lang(en)) .step-footer{flex-wrap:wrap;gap:8px}html:not(:lang(en)) .hero h1{font-size:clamp(32px,9vw,64px)}}@media print{.language-picker{display:none!important}html:not(:lang(en)) .sheet{height:auto;min-height:0}html:not(:lang(en)) body{line-height:1.5}}
.focus-toolbar{flex-wrap:wrap;gap:8px}.focus-toolbar .language-picker span{font-size:14px;letter-spacing:normal}

/* Self-hosted Khmer text faces: no visitor request to a font CDN. */
@font-face{font-family:'CarbonIdea Khmer';src:url('./fonts/NotoSansKhmer-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'CarbonIdea Khmer';src:url('./fonts/NotoSansKhmer-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
html:lang(km){--khmer-font:'CarbonIdea Khmer','Noto Sans Khmer','Khmer OS',sans-serif}
html:lang(km) body,html:lang(km) h1,html:lang(km) h2,html:lang(km) h3,html:lang(km) h4,html:lang(km) .hero-title-line,html:lang(km) button,html:lang(km) input,html:lang(km) select,html:lang(km) textarea,html:lang(km) .primary,html:lang(km) .secondary{font-family:var(--khmer-font)}
html:lang(km) body{line-height:1.85}
html:lang(km) h1,html:lang(km) h2,html:lang(km) h3,html:lang(km) h4,html:lang(km) .hero-title-line{line-height:1.7}
html:lang(km) button,html:lang(km) input,html:lang(km) select,html:lang(km) textarea,html:lang(km) summary{line-height:1.85}
html:lang(km) .eyebrow,html:lang(km) .event-tag,html:lang(km) .brand,html:lang(km) .brand small,html:lang(km) .focus-toolbar,html:lang(km) .bottom-note,html:lang(km) .hero-meta{letter-spacing:normal;text-transform:none}
html:lang(km) .language-picker,html:lang(km) .language-picker select{font-family:var(--khmer-font)!important;line-height:1.85!important}
/* Never break Khmer clusters into arbitrary letters to force a narrow fit. */
html:lang(km) p,html:lang(km) label,html:lang(km) button,html:lang(km) h1,html:lang(km) h2,html:lang(km) h3,html:lang(km) li{word-break:normal;overflow-wrap:normal}
@media print{html:lang(km) body{line-height:1.85}}
@media(max-width:650px){html:lang(km) .story-mode .focus-toolbar{height:auto;min-height:52px;position:relative;padding-top:8px;padding-bottom:8px}html:lang(km) .story-mode .steps{position:static}html:lang(km) .pal-scene{max-width:100%}html:lang(km) .token-food{right:8px}}
@media(max-width:400px){html:lang(km) .steps{grid-template-columns:repeat(2,minmax(0,1fr))}html:lang(km) .steps button{min-width:0;padding:8px 4px}}
