@font-face{font-family:Inter;src:url('assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{margin:0}
button,a,[role=button]{touch-action:manipulation}
button,[role=button]{user-select:none;-webkit-user-select:none}
button:focus-visible,a:focus-visible{outline:3px solid #b16d61;outline-offset:4px}
button:active{filter:brightness(.96)}
.site-footer{min-height:5svh;display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:0 12px max(8px,env(safe-area-inset-bottom));font:10.4px/1.4 Inter,Arial,sans-serif;color:#000;text-align:center}
.site-footer button{cursor:pointer}
.site-footer a:hover,.site-footer button:hover{text-decoration:underline}
.main-content [data-option][aria-pressed=true]{border-color:var(--theme-accent-color)!important;box-shadow:0 0 0 1px var(--theme-accent-color)}
.main-content .local-next:disabled{opacity:1;cursor:default}
.main-content .local-disabled{opacity:.7}
.main-content button,.main-content a{overflow-wrap:anywhere}
.local-carousel{position:relative;overflow:hidden;width:100%}
.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;padding:0 6%;overscroll-behavior-x:contain}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-slide{flex:0 0 94%;scroll-snap-align:center;min-width:0;margin:0;overflow:hidden;border:1px solid var(--theme-border-color-xs);border-radius:16px;background:var(--theme-background-color)}
.carousel-slide img{display:block;width:100%;object-fit:cover;aspect-ratio:var(--carousel-aspect,1)}
.carousel-slide figcaption{padding:12px;font-size:16px}
.carousel-dots{display:flex;justify-content:center;gap:8px;padding:12px 0 4px}
.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#c6b2ae;cursor:pointer}
.carousel-dots button[aria-current=true]{background:var(--theme-accent-color)}
.carousel-arrow{position:absolute;top:45%;z-index:2;width:28px;height:28px;border-radius:50%;background:#fff3f1eb;color:#713d35;border:1px solid #b68c84;cursor:pointer;font-size:20px;line-height:1}
.carousel-prev{left:4px}.carousel-next{right:4px}
.notification{position:fixed;left:16px;bottom:20px;z-index:100;max-width:min(360px,calc(100vw - 32px));padding:16px 36px 16px 16px;background:#fff;border:1px solid #eadbd6;border-radius:12px;box-shadow:0 8px 28px #713d3526;font-size:13px}
.notification button{position:absolute;right:12px;top:8px;font-size:20px;cursor:pointer}
dialog{margin:auto;width:min(430px,calc(100% - 32px));padding:24px;border:1px solid #d8b8b0;border-radius:16px;background:#fff3f1;color:#3d2823}
dialog::backdrop{background:#29100c66}
dialog h2{font-weight:700;font-size:22px;margin-bottom:12px}
dialog p{line-height:1.5}
.dialog-close{display:block;width:100%;margin-top:20px;padding:12px;background:#713d35;border-radius:10px;color:#fff;cursor:pointer}
.noscript{padding:24px;text-align:center}
@media(hover:hover) and (pointer:fine){.carousel-arrow:hover{background:#fff}.dialog-close:hover{background:#7f5049}}
@media(max-width:767px){.site-footer{font-size:10.4px}.main-content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
