:root{font-size:16px}
small,.small{font-size:13px}
button,input,select,textarea{font-family:inherit}
input[type=search],input[type=email],input[type=text],select,textarea{font-size:16px}
[hidden]{display:none!important}
.home-actions{grid-template-columns:1fr}
.home-actions b{font-size:15px}.home-actions small{font-size:13px}
.area-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.area-options label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;min-height:52px;font-size:15px;cursor:pointer}
.area-options label:has(:checked){border-color:#387b59;background:#e9f5eb;font-weight:700}
.area-options input{flex-shrink:0;width:20px;height:20px}
.area-fieldset legend{font-size:18px}.area-fieldset legend small{display:inline-block;margin-left:10px;background:#e7f2e8;padding:3px 8px;border-radius:8px}
#areas-clear{min-height:44px;margin-top:8px;font-size:14px;text-decoration:underline}
.age-options label,.checks label{font-size:15px;min-height:52px}
.filter-dialog-actions{position:sticky;bottom:-22px;padding:12px 0;background:#fff;z-index:2}
.card-title h3{font-size:17px}.spot-card .card-title{padding-right:0}
.card-body .tagline,.area-label{font-size:14px}.category-label,.chip{font-size:12px}
.detail-button,.visited-button{font-size:14px;min-height:44px}
.filter-main b{font-size:16px}
.filter-main small,.quick-filters button,.filter-reset-row span,.filter-reset-row button{font-size:13px}
.quick-filters button{min-height:44px}
.context-bar{font-size:13px}.context-bar button{font-size:13px;min-height:44px}
#context-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.preview-notice{padding:14px;background:#fff4dc;border-radius:12px;color:#714d16}
#contribution-form textarea{width:100%;display:block;margin-top:8px;padding:12px;border:1px solid #bdcdbf;border-radius:12px;resize:vertical;line-height:1.7}
#contribution-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]){width:100%;min-height:48px;padding:10px;box-sizing:border-box}
#contribution-form .contribution-checks{grid-template-columns:1fr}
#contribution-form label{line-height:1.6}
#contribution-status[data-tone=error]{color:#a22b23}
#contribution-status[data-tone=ok]{color:#206444}
.panel-footer{font-size:13px}
.onboarding-steps li,.onboarding-steps b{font-size:15px}
.onboarding-copy .eyebrow{font-size:10px}
#visited-check-dialog .visited-save-bar{bottom:-22px}
.visited-list-item b{font-size:15px}.visited-list-item small{font-size:13px}
.map-side #locate::after{content:"近く";font-size:12px}
.map-side #locate{height:60px;flex-direction:column;gap:0}
@media(max-width:760px){
 .categories{gap:5px;padding:0 12px 8px}
 .categories button{font-size:13px;min-height:46px;padding:6px}
 .categories .category-clay-icon{width:25px;height:25px}
 .search-row{margin:8px 12px;gap:7px}.search input{font-size:16px;min-height:46px}
 .filter-button{font-size:14px;min-width:94px}
 .bottom-nav button{font-size:13px}
 .home-actions b{font-size:15px}.home-actions small{font-size:13px}
 body[data-view=map] .filter-hub,body[data-view=map] .home-actions{display:none}
 body[data-view=map] .adventure-hub{grid-template-columns:1fr 1fr 1fr;margin:0 12px 8px;gap:5px}
 body[data-view=map] .adventure-hub .visited-check-open{grid-column:auto;display:flex}
 body[data-view=map] .adventure-hub button{min-height:62px;padding:7px;gap:5px}
 body[data-view=map] .adventure-hub b{font-size:13px;line-height:1.4}
 body[data-view=map] .adventure-hub small,body[data-view=map] .adventure-mark,body[data-view=map] .visited-check-open>svg{display:none}
 body[data-view=map] .companion-dot{display:none}
 body[data-view=map] .context-bar{padding:0 12px}
 .map-top{top:12px;left:12px;right:12px;gap:6px}
 .map-area-picker .map-label>span{font-size:13px}
 .map-area-picker .map-label{min-height:44px;padding:7px 9px;gap:5px}
 .map-area-picker .map-label>small{display:none}
 .map-control{font-size:13px}
 .map-hint{font-size:12px;max-width:calc(100% - 24px);white-space:normal;text-align:center;bottom:94px}
 .area-options{gap:7px}.area-options label{font-size:14px;padding:10px 8px}
 .filter-dialog-actions{grid-template-columns:1fr 1.25fr}
 .card-title h3{font-size:17px}.route-links{grid-template-columns:1fr}
 dialog p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
