/* Station 33a24ab palette and control sizes; retain the existing OKIMAP identity. */
:root{--navy-950:#1c2431;--navy-800:#0068d9;--navy-700:#0068d9;--blue-500:#0068d9;--blue-100:#edf5ff;--aqua-50:#f5f6f8;--ink:#1c2431;--muted:#626d7e;--line:#e1e5eb;--radius-sm:7px;--radius-md:9px;--radius-lg:10px;--shadow:0 4px 18px #19284412;--panel-width:370px;--header-height:64px}
.app-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);padding:10px 20px;gap:12px}
.brand-mark{color:var(--blue-500);border-color:var(--blue-500);box-shadow:none}
.brand-block .eyebrow{color:#8a94a3}h1 span{color:var(--muted)}
.header-meta a{color:var(--blue-500);border:0;min-height:44px;display:flex;align-items:center}
.count-chip{background:#f5f6f8;color:var(--muted);border-color:var(--line);border-radius:7px}
.search-deck{grid-template-columns:minmax(200px,620px) auto;gap:12px;padding:10px 20px;box-shadow:none;align-items:end}
.search-field{border-color:var(--line);border-radius:7px}.search-field input,.search-field button{min-height:44px}
.search-field button{font-weight:600}.search-field button:hover{background:#0057b8}
.location-disclosure{position:relative;justify-self:end}.location-disclosure summary{list-style:none;cursor:pointer;min-height:44px;padding:11px 14px;color:var(--blue-500);background:#edf5ff;border:1px solid #d7e3f2;border-radius:7px;font-size:13px}
.location-disclosure summary::after{content:' ＋'}.location-disclosure[open] summary::after{content:' −'}
.location-search{position:absolute;right:0;top:calc(100% + 8px);width:340px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);z-index:1600}
.mode-bar{padding:4px 20px;gap:8px;box-shadow:none;min-height:52px}.mode-label{display:none}
.tabs{display:flex;gap:4px;min-width:0;overflow-x:auto}.tabs button{min-height:44px;padding:8px 16px;flex:none;border-radius:7px;font-weight:600}.tabs button::after{display:none}.tabs button.is-active{color:#0068d9;background:#edf5ff}.tabs button:hover{background:#f2f4f7}
.panel-open,.panel-heading button{min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#0068d9;padding:8px 12px;font-size:13px;white-space:nowrap;cursor:pointer}
.panel-open{margin-left:auto}.panel-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--line);font-size:14px;flex:none}
.detail-panel[hidden]{display:none!important}.detail-panel{box-shadow:none}.tab-panel{padding:18px 16px 22px}.panel-intro h2,.welcome-card h2,.mansion-card>h2{font-size:22px;letter-spacing:-.025em}
.welcome-card,.market-card,.appraisal-card{background:#fff;border-color:var(--line);box-shadow:none}.welcome-card{padding:16px}.line-button{border-radius:7px;box-shadow:none}.appraisal-card{padding:14px}.map-back{display:none}
.filter-disclosure{margin:12px 0}.filter-disclosure summary{cursor:pointer;min-height:44px;padding:11px 0;font-size:13px;color:#0068d9}.filter-disclosure summary span{font-size:11px;color:var(--muted)}
.filter-box{border-radius:7px;background:#f5f6f8;padding:10px;grid-template-columns:1fr}.filter-box select,select{min-height:44px;border-radius:7px;font-size:14px}.select-grid{grid-template-columns:1fr 1fr}
.map-tools button,.map-tools a{min-height:44px;border-radius:7px;box-shadow:0 2px 8px #1928440a;font-size:12px}.map-toggle{border-radius:7px;box-shadow:0 2px 8px #1928440a}.map-toggle button{border-radius:0}
.map-hint{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:650;max-width:calc(100vw - 32px);margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:var(--shadow);color:var(--muted);font-size:12px;text-align:center;pointer-events:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #0068d9;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}.loading-state{border-left:3px solid #0068d9}.error-state{border:1px solid #ebd7bc}
.pill-group label:focus-within{outline:2px solid #0068d9;outline-offset:2px}.panel-footer{background:#f5f6f8}.suggestions{border-radius:9px;box-shadow:var(--shadow)}.suggestion-item{min-height:44px}
@media(max-width:800px){
 html,body{height:100%;height:100dvh}body{overflow:hidden;min-height:0}.app-header{min-height:58px;padding:8px 12px;justify-content:space-between}.brand-block{width:auto}.header-meta{display:none}
 .search-deck{position:relative;top:auto;grid-template-columns:minmax(0,1fr) auto;padding:8px 12px;gap:8px}.search-deck label{display:block;font-size:10px}.search-field input{font-size:16px;padding:8px 10px}.search-field button{padding:0 12px}.location-disclosure summary{padding:11px 10px;font-size:12px}.location-search{display:block;width:min(340px,calc(100vw - 24px));max-width:calc(100vw - 24px)}
 .suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;width:auto;max-height:40dvh}
 .workspace{display:flex;flex:1;min-height:0}.mode-bar{position:relative;top:auto;display:flex;padding:4px 8px;min-height:52px;gap:4px}.tabs{flex:1;display:flex;width:auto}.tabs button{font-size:12px;padding:8px 12px}.panel-open{font-size:12px;padding:8px}
 .app-shell{display:flex;flex:1;min-height:0;flex-direction:column}.map-stage{flex:1;height:auto;min-height:120px}.detail-panel{width:100%;min-height:0;max-height:52%;flex:0 1 52%;overflow:auto;border-top:1px solid var(--line);box-shadow:none}.panel-heading{padding:6px 12px}.tab-panel{padding:14px 16px 22px}.select-grid{grid-template-columns:1fr 1fr}.map-tools button{min-height:44px;padding:8px 10px}.map-legend{bottom:20px;left:8px}.map-hint{bottom:50px;width:max-content;max-width:calc(100vw - 24px);font-size:11px;padding:8px 12px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body.embed .map-hint{display:none}
@media(max-width:800px){.tabs button{font-size:11px;padding:8px 10px}}
#mansion-retry{min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#0068d9;padding:8px 12px;cursor:pointer;font-size:12px}
@media(max-width:800px){.header-meta:has(#mansion-retry:not([hidden])){display:flex}.header-meta:has(#mansion-retry:not([hidden])) .count-chip,.header-meta:has(#mansion-retry:not([hidden])) a{display:none}}
.map-popup button,.map-popup-stack .stack-list button{min-height:44px;font-size:13px;border-radius:7px}
.leaflet-popup-content-wrapper{border-radius:9px;box-shadow:0 4px 18px #19284418}
.leaflet-container a.leaflet-popup-close-button{width:44px;height:44px;line-height:44px;color:#626d7e}
