/* Scoped to station selection; earthquake and GPS layouts are unchanged. */
.seismo-layout { display:grid;grid-template-columns:240px minmax(0,1fr);width:100%;height:100%;min-height:0; }
.seismo-layout.has-selection { grid-template-columns:240px minmax(0,1fr) 380px; }
.seismo-sidebar { min-height:0;display:flex;flex-direction:column;background:var(--bg-raised);border-right:1px solid var(--line); }
.seismo-sidebar h2 { font-size:15px;margin:20px 16px 4px; }
.seismo-sidebar > p { font-size:11px;color:var(--ink-faint);margin:0 16px 15px; }
.seismo-search { display:grid;gap:7px;font-size:11px;margin:0 12px 12px;color:var(--ink-soft); }
.seismo-search input { min-width:0;width:100%;box-sizing:border-box;background:var(--bg);color:var(--ink);border:1px solid var(--line-strong);border-radius:6px;padding:10px;font-size:12px; }
#seismoStationList { overflow-y:auto;min-height:0;flex:1; }
#seismoStationList .station-btn { width:100%;text-align:left;border-radius:0;padding:11px 14px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;border:0;border-bottom:1px solid var(--line); }
#seismoStationList .station-code { color:var(--ink);font-size:12px; }
#seismoStationList .station-name { font-size:12px;overflow-wrap:anywhere; }
#seismoStationList .station-btn.active { background:color-mix(in srgb,#ee8ab4 18%,var(--bg-raised));box-shadow:inset 3px 0 #ee8ab4; }
.seismo-map-area { position:relative;min-width:0;min-height:0; }
#seismoStationMap { width:100%;height:100%;min-height:300px;background:#235360; }
#seismoFitMap { position:absolute;z-index:500;left:54px;top:12px;padding:9px 12px;background:var(--bg-raised);color:var(--ink);border:1px solid var(--line-strong);border-radius:6px;cursor:pointer;font-size:11px; }
.seismo-map-hint { position:absolute;right:12px;top:12px;z-index:450;max-width:245px;padding:14px 16px;border-radius:7px;border:1px solid var(--line);background:var(--bg-raised);box-shadow:var(--shadow);pointer-events:none; }
.seismo-map-hint h2 { margin:0 0 6px;font-size:14px; }
.seismo-map-hint p { margin:0;color:var(--ink-soft);font-size:11px;line-height:1.5; }
.seismo-map-key { position:absolute;bottom:25px;left:12px;z-index:450;background:var(--bg-raised);color:var(--ink-soft);font-size:10px;padding:8px 10px;border-radius:5px;pointer-events:none; }
.seismo-map-key span { display:inline-block;width:8px;height:8px;border:1px solid white;border-radius:50%;background:#ee8ab4;margin-right:5px; }
.seismo-map-marker { display:grid!important;place-items:center; }
.seismo-map-marker span { width:9px;height:9px;border:1.5px solid #fff;border-radius:50%;background:#ee8ab4;box-shadow:0 1px 4px #0007; }
.seismo-map-marker.is-selected span { background:#ffdd80;width:13px;height:13px;box-shadow:0 0 0 5px #ee8ab477,0 1px 5px #0009; }
.seismo-map-marker:focus-visible { outline:2px solid white;outline-offset:4px;border-radius:50%; }
.seismo-detail { overflow-y:auto;min-height:0;min-width:0;padding:18px;background:var(--bg);border-left:1px solid var(--line); }
.seismo-detail-header { display:flex;align-items:flex-start;gap:12px;justify-content:space-between; }
.seismo-detail-header span { color:#d37ea2;font:9px var(--font-mono);letter-spacing:.08em; }
.seismo-detail-header h2 { font-size:18px;margin:6px 0;overflow-wrap:anywhere; }
.seismo-detail-header button { cursor:pointer;background:var(--bg-raised);border:1px solid var(--line);color:var(--ink);font-size:22px;border-radius:5px;padding:0 8px; }
.seismo-detail-source { color:var(--ink-faint);font-size:11px;line-height:1.7; }
#seismoRefreshPlots { width:100%;padding:9px;border:1px solid var(--line-strong);border-radius:5px;background:var(--bg-raised);color:var(--ink);cursor:pointer;font-size:12px;margin:4px 0 18px; }
.seismo-detail .plot-card { padding:10px; }
.seismo-detail .plot-loading::after { content:'Loading station plot…';display:block;padding:30px 8px;color:var(--ink-faint);font-size:12px;text-align:center; }
.seismo-plot-link { display:block;margin-top:9px;color:var(--magma);font-size:11px; }
.plot-loading .seismo-plot-link,.plot-unavailable .seismo-plot-link { display:none; }
@media(max-width:1100px) and (min-width:761px) {
 .seismo-layout { grid-template-columns:210px minmax(0,1fr); }
 .seismo-layout.has-selection { grid-template-columns:210px minmax(0,1fr);grid-template-rows:minmax(300px,1fr) 42%; }
 .seismo-sidebar { grid-row:1 / -1; }
 .seismo-detail { grid-column:2;border-top:1px solid var(--line); }
 .seismo-detail .seismo-plots { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
 #panel-seismo { overflow-y:auto; }
 .seismo-layout,.seismo-layout.has-selection { display:flex;flex-direction:column;height:auto;min-height:100%; }
 .seismo-sidebar { flex:none;height:235px;border-right:0; }
 .seismo-sidebar h2 { margin-top:12px; }
 .seismo-sidebar > p { margin-bottom:7px; }
 .seismo-search { margin-bottom:7px; }
 .seismo-search input { padding:7px 10px; }
 #seismoStationList .station-btn { padding:8px 14px; }
 .seismo-map-area { flex:none;height:420px; }
 .seismo-map-hint { max-width:175px;top:56px;padding:10px; }
 .seismo-detail { flex:none;overflow:visible;border-left:0;border-top:1px solid var(--line); }
}
