/* 충전소 페이지 — DESIGN.md (AppTheme.dart) 토큰 기준 */
:root{--primary:#2563EB;--primary-strong:#1D4ED8;--primary-light:#EFF6FF;
--ok:#22C55E;--busy:#F59E0B;--bg:#F5F5F5;--card:#FFF;--surface:#FAFAFA;
--border:#E0E0E0;--tx:#1A1A1A;--tx2:#616161;--tx3:#9E9E9E;--grid:rgba(0,0,0,.055)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
--primary:#60A5FA;--primary-strong:#93C5FD;--primary-light:#17233B;
--ok:#4ADE80;--busy:#FBBF24;--bg:#101215;--card:#191C21;--surface:#15181C;
--border:#2B3038;--tx:#ECEFF3;--tx2:#A2AAB6;--tx3:#6E7784;--grid:rgba(255,255,255,.07)}}
:root[data-theme=dark]{--primary:#60A5FA;--primary-strong:#93C5FD;--primary-light:#17233B;
--ok:#4ADE80;--busy:#FBBF24;--bg:#101215;--card:#191C21;--surface:#15181C;
--border:#2B3038;--tx:#ECEFF3;--tx2:#A2AAB6;--tx3:#6E7784;--grid:rgba(255,255,255,.07)}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font-size:15px;line-height:1.6;
font-family:"Wanted Sans",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Noto Sans KR",sans-serif;
font-feature-settings:'tnum';-webkit-text-size-adjust:100%}
.wrap{max-width:760px;margin:0 auto;padding:20px 16px 56px}
/* 브랜드 마크 — 랜딩(globals.css .brand) 이식 */
.brand{display:inline-flex;align-items:center;gap:11px;font-size:19px;
font-weight:800;letter-spacing:-.05em;color:var(--tx);text-decoration:none;margin-bottom:16px}
.brand img{border-radius:11px;box-shadow:0 6px 20px rgba(4,28,90,.24)}
.bc{font-size:12px;color:var(--tx3);margin-bottom:14px}
.bc a{color:var(--tx2);text-decoration:none}
.bc a:hover{text-decoration:underline}
h1{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;text-wrap:balance}
.addr{font-size:14px;color:var(--tx2);margin:0 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.chip{font-size:12px;font-weight:700;padding:5px 10px;border-radius:7px;
background:var(--primary-light);color:var(--primary-strong);border:1px solid transparent}
.chip.plain{background:var(--surface);color:var(--tx2);border-color:var(--border)}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:10px}
h2{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--tx2);margin:0 0 12px;text-transform:uppercase}
.lead{font-size:15px;font-weight:700;margin:0 0 4px}
.sub{font-size:13px;color:var(--tx2);margin:0}
.chart{display:flex;align-items:flex-end;gap:2px;height:140px;margin:10px 0 0}
.col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.bar{width:100%;border-radius:3px 3px 0 0;min-height:2px;background:var(--ok)}
.bar.mid{background:var(--busy)}
.bar.none{background:var(--grid)}
.hr{font-size:9px;color:var(--tx3);text-align:center;height:12px;visibility:hidden}
.hr.show{visibility:visible}
.legend{display:flex;gap:14px;margin-top:12px;font-size:12px;color:var(--tx2)}
.dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:1px}
.peak{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.peak>div{flex:1}
.peak .k{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--tx3)}
.peak .v{font-size:17px;font-weight:800;margin-top:2px}
.peak .n{font-size:12px;color:var(--tx2)}
.v.good{color:var(--ok)}
.v.warn{color:var(--busy)}
.finder{display:flex;gap:8px;align-items:center;margin:0 0 12px}
.finder input{flex:1;min-width:0;font:inherit;font-size:14px;padding:10px 12px;
border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--tx)}
.finder input:focus{outline:2px solid var(--primary);outline-offset:-1px;background:var(--card)}
.finder input::placeholder{color:var(--tx3)}
.finder .cnt{font-size:12px;color:var(--tx3);white-space:nowrap}
tr[hidden]{display:none}
.nohit{font-size:13px;color:var(--tx2);padding:14px 4px;display:none}
.nohit.on{display:block}
table{width:100%;border-collapse:collapse;font-size:14px}
td{padding:9px 4px;text-align:left;border-bottom:1px solid var(--border)}
tr:last-child td{border-bottom:none}
td.num{text-align:right;font-weight:700}
.km{color:var(--tx2);font-weight:500;font-size:13px}
.cta{background:var(--card);border:1px solid var(--border);border-radius:12px;
padding:24px 18px;margin-top:18px;text-align:center}
.cta p{margin:0 0 16px;font-size:14.5px;line-height:1.6;color:var(--tx2)}
.cta p strong{font-weight:800;color:var(--tx)}
/* 스토어 버튼 — 랜딩(globals.css) 정의와 동일 */
.store-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.store-button{min-height:58px;padding:9px 19px;border:1px solid rgba(255,255,255,.16);
border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:11px;
background:#0d1a33;color:#fff;text-decoration:none;
box-shadow:0 12px 26px rgba(6,18,43,.18);
transition:transform 140ms ease,box-shadow 140ms ease,background 140ms ease}
.store-button:hover{transform:translateY(-2px);background:#172846;box-shadow:0 16px 32px rgba(6,18,43,.24)}
.store-button:active{transform:scale(.98)}
.store-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.store-button__mark{width:25px;text-align:center;font-size:25px;line-height:1}
.store-button small,.store-button strong{display:block}
.store-button small{margin-bottom:2px;color:#bfc8d9;font-size:10px;font-weight:600;line-height:1}
.store-button strong{font-size:15px;letter-spacing:-.02em;line-height:1.05;color:#fff}
@media (prefers-reduced-motion:reduce){.store-button{transition:none}
.store-button:hover,.store-button:active{transform:none}}
.note{font-size:12px;color:var(--tx3);margin-top:20px;line-height:1.6;padding-top:14px;border-top:1px solid var(--border)}
@media (max-width:520px){.peak{flex-direction:column;gap:12px}}
