@import url('/locale-fonts.css');
.locale-picker{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;white-space:nowrap}.locale-picker select{font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:6px;padding:.35rem;max-width:6.5rem}.locale-picker select:focus-visible{outline:2px solid #426547;outline-offset:3px}.locale-legal-notice{margin:1.5rem auto;padding:1rem;max-width:75ch;border:1px solid #a78539;background:#fff8da;color:#423915}.locale-legal-notice a{text-decoration:underline}html[lang=ja] body{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,'Lucy Noto CJKJP','Pretendard',system-ui,sans-serif}html[lang=en] .maru-hero-caption{font-size:clamp(1.15rem,2vw,1.8rem)}@media(max-width:640px){.locale-picker{font-size:.68rem}.locale-picker select{max-width:5rem;padding:.25rem}.header-actions{gap:.35rem!important}}
.locale-wordmark{font-family:Georgia,serif;font-size:1.45rem!important;letter-spacing:.06em;width:auto!important;height:auto!important;font-weight:800}.locale-hero-wordmark{display:block;font-family:Georgia,serif;font-size:clamp(4.5rem,12vw,9rem);line-height:1.15;letter-spacing:.04em;color:#fff7de;text-shadow:0 3px 0 #4d5f3e}.welcome-wordmark:not(:has(img)){font:bold clamp(3rem,10vw,6rem)/1.2 Georgia,serif;color:#3e6044}
.locale-picker{position:relative}.locale-picker-status:not(:empty){position:absolute;top:calc(100% + .5rem);right:0;z-index:20;width:max-content;max-width:min(20rem,80vw);white-space:normal;background:#fffdf6;color:#344c32;border:1px solid #b9c4ad;border-radius:8px;padding:.65rem .8rem;font-size:.8rem;line-height:1.5;box-shadow:0 4px 14px #34452b18}

/* Japanese phrases may wrap between characters in the existing payment layouts. */
html[lang=ja] :is(.charge-page,.policy-page,.order-card) :is(h1,h2,h3,p,li,label,legend,a){word-break:normal;overflow-wrap:anywhere}
html[lang=ja] :is(.charge-card,.charge-notice,.policy-card,.policy-contents,.policy-contents nav a,.catalog-heading>div,.charge-page fieldset){min-width:0}

/* Japanese has native character wrapping; Korean keep-all makes translated phrases overflow. */
html[lang=ja] :is(h1,h2,h3,p){word-break:normal;overflow-wrap:anywhere}
html[lang=ja] :is(.board-intro,.news-grid,.news-card,.guide-steps li>div){min-width:0}

/* Extended presentation only: authored scenes and painted wordmarks stay in their original orientation. */
html:not([lang=ko]) :is(h1,h2,h3,p,li,label,legend,a,button){word-break:normal;overflow-wrap:anywhere}
html:not([lang=ko]) :is(.hero-copy,.board-intro,.news-card,.guide-steps li>div,.charge-card,.charge-notice,.policy-card,.catalog-heading>div){min-width:0}
html:not([lang=ko]):not([lang=ja]):not([lang=en]) :is(h1,h2,h3,.eyebrow,.hero-status,.farm-loop strong){letter-spacing:normal}
html[dir=rtl] :is(.site-header nav,.nav-login,.header-actions){margin-left:0;margin-inline-start:auto}
html[dir=rtl] .site-header nav{margin-inline-start:22px}
html[dir=rtl] :is(.server-copy,.connection-bar button,.news-card,.guide-steps,.policy-contents,.policy-card,.account-card,.order-card){text-align:start}
html[dir=rtl] :is(.guide-steps,.policy-card ol,.policy-card ul){padding-left:0;padding-inline-start:1.5rem}
html[dir=rtl] :is(.locale-picker-status:not(:empty)){right:auto;inset-inline-end:0}
html[dir=rtl] :is(.hero-picture,.world-showcase>img,.community-picture,.brand img,.welcome-wordmark img){direction:ltr;transform:none}
html[dir=rtl] .world-showcase-copy{margin-inline-start:auto}
html[dir=rtl] .world-showcase:after{background:linear-gradient(270deg,rgba(28,54,42,.74) 0%,rgba(28,54,42,.48) 35%,rgba(28,54,42,.04) 65%)}
bdi,[dir=auto]{unicode-bidi:isolate}
:is(code,kbd,.server-address,[data-ltr],input[type=email],input[type=url],input[autocomplete=one-time-code]){direction:ltr;unicode-bidi:isolate}
/* Clickable native names: one calm, keyboard-accessible panel, without flags or forced search. */
.locale-picker-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;max-width:12rem;padding:.5rem .7rem;border:1px solid #b5c6b3;border-radius:9px;background:#fffcf3;color:#344b3a;font:inherit;white-space:normal;text-align:start}
.locale-picker-button:hover{background:#eef5e9;border-color:#526f59}
.locale-dialog{position:fixed;max-width:min(640px,calc(100vw - 24px));width:640px;max-height:min(760px,calc(100dvh - 32px));padding:26px;border:1px solid #b5c6b3;border-radius:20px;background:#fffcf3;color:#344b3a;box-shadow:0 18px 80px #233b3a40;overflow:auto;overscroll-behavior:contain;text-align:start}
.locale-dialog::backdrop{background:#233b3a80;backdrop-filter:blur(3px)}
.locale-dialog h2{margin:0 44px 20px 0;margin-inline-end:44px;font-size:1.45rem;line-height:1.4;letter-spacing:normal}
.locale-dialog-close{position:absolute;inset-block-start:16px;inset-inline-end:16px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #b5c6b3;border-radius:50%;background:#fff;color:#344b3a;font-size:1.2rem}
.locale-search-label{display:grid;gap:8px;margin-block-end:18px;font-size:.85rem;font-weight:650}
.locale-search-label input{min-height:44px;width:100%;padding:10px 12px;border:1px solid #b5c6b3;border-radius:10px;background:#fff;color:#344b3a}
.locale-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.locale-option{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:50px;padding:10px 12px;border:1px solid #d5dfce;border-radius:10px;background:#fff;color:#344b3a;text-align:start;white-space:normal;line-height:1.5}
.locale-option:hover{background:#eef5e9;border-color:#789775}
.locale-option[aria-pressed=true],.locale-option[aria-current=true]{border-color:#426547;background:#eaf3e2;box-shadow:inset 0 0 0 1px #426547}
.locale-option-note{flex-shrink:0;color:#526f59;font-size:.72rem;max-width:45%;overflow-wrap:anywhere}
:is(.locale-picker-button,.locale-dialog-close,.locale-option,.locale-search-label input):focus-visible{outline:3px solid #426547;outline-offset:3px}
.locale-dialog .locale-picker-status:not(:empty){position:static;margin:12px 0;width:auto;max-width:none;box-shadow:none}
.locale-dialog [hidden]{display:none!important}
@media(max-width:640px){.locale-dialog{padding:20px 16px;border-radius:16px}.locale-options{grid-template-columns:1fr}.locale-picker-button{max-width:8rem;font-size:.74rem}.locale-option{min-height:48px}html[dir=rtl] .world-showcase:after{background:linear-gradient(180deg,rgba(28,54,42,.70),rgba(28,54,42,.25) 75%,rgba(28,54,42,.08))}}
@media(prefers-reduced-motion:reduce){.locale-dialog,.locale-option,.locale-picker-button{scroll-behavior:auto;transition:none}}
/* News retains authored originals; translation provenance is secondary, readable text. */
.news-card>p{font-size:13px;color:var(--muted,#526458);line-height:1.65;margin:0 0 14px;overflow-wrap:anywhere;unicode-bidi:plaintext}
.news-card h3{unicode-bidi:plaintext}
.news-card .news-card-bottom{display:inline-block;margin-block:8px 12px;color:#426547;font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.news-card .news-translation-notice{display:block;margin-block:8px 0;padding:8px 10px;border-inline-start:3px solid #b5c6b3;background:#f4f7ef;color:#526458;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:normal;overflow-wrap:anywhere}
.news-card .news-original-toggle{display:block;min-height:40px;margin-block-start:12px;padding:8px 12px;border:1px solid #b5c6b3;border-radius:8px;background:#fffcf3;color:#344b3a;font-size:12px;line-height:1.5;text-align:start}
.news-card .news-original-toggle:hover{background:#eef5e9;border-color:#526f59}
.news-card :is(.news-card-bottom,.news-original-toggle):focus-visible{outline:3px solid #426547;outline-offset:3px}
.news-card .news-original{margin-block-start:12px;padding:12px;border:1px solid #d5dfce;border-radius:8px;background:#f8faf5;color:#344b3a;font-size:13px;line-height:1.75;overflow-wrap:anywhere;text-align:start}
.news-card .news-original :is(strong,p){display:block;white-space:pre-wrap;unicode-bidi:plaintext;letter-spacing:normal}
.news-card .news-original p{margin:8px 0 0}
.news-card .news-original[hidden]{display:none!important}
/* Navigation labels stay whole; long additional-language menus use the existing compact menu. */
html:not([lang=ko]) .site-header :is(nav a,button,.nav-shop,.nav-play){word-break:normal;overflow-wrap:normal}
html:not([lang=ko]) .site-header .desktop-nav a{white-space:nowrap;flex-shrink:0}
html:not([lang=ko]) .site-header :is(.brand,.header-actions){flex-shrink:0}
@media(min-width:981px){
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .site-header{gap:18px}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .site-header .desktop-nav{font-size:13px;gap:16px}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .site-header .header-actions{gap:16px}
}
@media(max-width:1480px){html:not([lang=ko]):not([lang=ja]):not([lang=en]) .header-actions .nav-play{display:none}}
@media(min-width:981px) and (max-width:1360px){
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .site-header .desktop-nav{display:none}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .site-header .mobile-menu{display:block}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .mobile-menu summary{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:42px;height:42px;cursor:pointer}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .mobile-menu[open] nav{display:grid}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .mobile-menu nav{position:absolute;top:calc(100% + 9px);left:0;right:0;padding:21px;grid-template-columns:1fr 1fr;gap:8px;border:1px solid #cabb98;border-radius:15px;background:var(--cream) url('/assets/lucyvalley/20261012-lettering-final/paper-grain.svg');box-shadow:0 5px 0 #cdbd9b,0 15px 25px #57472a14;color:var(--ink)}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .mobile-menu nav a{padding:10px 13px;min-height:44px;font-size:14px;border-radius:8px}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .mobile-menu nav a:hover{background:#efe8d5}
 html:not([lang=ko]):not([lang=ja]):not([lang=en]) .mobile-menu nav [data-discord]{grid-column:1/-1;border-top:1px solid var(--line);margin-top:6px;padding-top:15px;color:var(--forest)}
}
