.village-links{display:flex;justify-content:center;gap:8px;padding:6px 10px;background:#fff7e0;flex:0 0 auto;z-index:19}
.village-links a,.village-links button,.guide-grid a,.guide-grid button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #dbc27c;border-radius:16px;background:#fffbed;color:#4a3b10;text-decoration:none;font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;text-align:center}
.village-links a:first-child{background:#f8d66e}
.village-links :focus-visible,#village-guide :focus-visible{outline:3px solid #755611;outline-offset:3px}
#village-guide{position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #dbc27c;border-radius:24px;padding:26px;background:#fffbed;color:#4a3b10;font:16px/1.8 'Zen Maru Gothic',sans-serif;user-select:text}
#village-guide::backdrop{background:#27213999}
#village-guide h2{font-size:22px;padding-right:35px}
#village-guide h3{font-size:17px;margin-top:20px}
#village-guide p{margin:12px 0}
#village-guide ol{padding-left:24px}
#village-guide .guide-note{font-size:13px;background:#f6edce;padding:12px;border-radius:12px}
.guide-close{position:absolute;right:12px;top:12px;width:44px;height:44px;font-size:26px}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
@media(max-width:480px){.village-links{gap:5px}.village-links a,.village-links button{padding:8px;font-size:13px;flex:1}#village-guide{padding:22px 16px}.guide-grid{gap:8px}}
@media(max-width:350px){.logo .en{display:none}.guide-grid{grid-template-columns:1fr}}

@media(max-width:480px){.logo .en{display:none}.logo .jp{font-size:19px;white-space:nowrap;letter-spacing:1px}}

#cardOverlay{overflow-y:auto;justify-content:safe center;padding:20px 12px}
#cardOverlay .card-actions{flex-wrap:wrap;justify-content:center;flex-shrink:0}
#cardOverlay .card-img{max-height:52dvh;object-fit:contain;width:auto;max-width:86vw;flex-shrink:0}
.card-goods-link{display:block;max-width:360px;margin:14px auto 0;padding:10px 16px;color:#6b5426;background:#fff7e0;border:1px solid #e7ce8d;border-radius:14px;font-size:13px;line-height:1.6;text-align:center;flex-shrink:0}
.card-goods-link:focus-visible{outline:3px solid #755611;outline-offset:3px}

#stroll-return{min-height:44px;border:1px solid #dbc27c;border-radius:12px;padding:8px 14px;font:inherit;font-size:14px;background:#f5edcf}#stroll-return:disabled{opacity:.5;cursor:default}
@media(max-width:480px){.village-links a,.village-links button{font-size:12px;padding:6px;min-width:0}}

#village-postcard{position:fixed;inset:0;margin:auto;width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:2px solid #dbc27c;border-radius:24px;padding:24px;background:#fffbed;color:#4a3b10;font:15px/1.7 'Zen Maru Gothic',sans-serif}
#village-postcard::backdrop{background:#27213999}
#village-postcard h2{font-size:22px;padding-right:36px}#village-postcard p{margin:10px 0}
#postcard-image{display:block;max-width:100%;max-height:49dvh;width:auto;height:auto;margin:14px auto;border:1px solid #dbc27c}
#postcard-image[hidden]{display:none}#postcard-status{font-size:12px;min-height:1.7em}
.postcard-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.postcard-actions button{min-height:44px;padding:8px 12px;border:1px solid #dbc27c;border-radius:14px;background:#fff7e0;font:inherit;font-weight:700}.postcard-actions button:first-child{background:#f8d66e}
.postcard-actions button:disabled{opacity:.5;cursor:default}#village-postcard :focus-visible{outline:3px solid #755611;outline-offset:3px}

#analytics-choice{position:fixed;right:12px;bottom:76px;z-index:25;width:min(400px,calc(100% - 24px));max-height:55dvh;overflow:auto;border:1px solid #dbc27c;border-radius:18px;padding:16px;background:#fffbed;color:#4a3b10;box-shadow:0 4px 20px #4a3b1022;font:13px/1.7 sans-serif;user-select:text}
#analytics-choice[hidden]{display:none}#analytics-choice a{color:#6b5426}#analytics-choice div{display:flex;gap:10px;margin-top:10px}#analytics-choice button,#analytics-settings{min-height:44px;border:1px solid #b19755;border-radius:12px;background:#fff7e0;color:#4a3b10;padding:8px 12px;font:inherit}#analytics-choice button{flex:1}#analytics-choice :focus-visible,#analytics-settings:focus-visible{outline:3px solid #755611;outline-offset:2px}.analytics-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
