/* kit.py 사이트에서 style.css 에 더하는 스타일 */
.liveval{font-size:2rem;font-weight:800;line-height:1.2}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:.5rem 0 1rem}
.calendar b,.calendar span{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:3.2rem;padding:.35rem .15rem;border-radius:8px;font-size:.9rem;font-weight:500;text-align:center}
.calendar b{min-height:auto;font-weight:700;color:#6b7280}
.calendar span.off{background:#fff0f0;color:#c92a2a;font-weight:700}
.calendar span.sun{color:#c92a2a}
.calendar span.sat{color:#1c7ed6}
.calendar small{font-size:.68rem;line-height:1.2;margin-top:.15rem;word-break:keep-all}
.notice{background:#fff9db;border:1px solid #ffe066;border-radius:10px;padding:.75rem 1rem;margin:1rem 0;font-size:.92rem}
.danger{background:#fff0f0;border-color:#ffa8a8}
.freshness{font-size:.85rem;color:#6b7280}
/* parking */
.pk-note{background:#f8f9fa;border-radius:10px;padding:.75rem 1rem;line-height:1.6}
.pk-links{margin:1.25rem 0;font-size:.95rem}

/* weather, mulddae: 등급 표시와 한 계열 차트 */
.wx-g{display:inline-block;padding:.05rem .5rem;border-radius:999px;font-size:.82rem;font-weight:700;background:#f1f3f5;color:#495057;white-space:nowrap}
.wx-g1{background:#e7f5ff;color:#1864ab}.wx-g2{background:#ebfbee;color:#2b8a3e}.wx-g3{background:#fff4e6;color:#c2410c}.wx-g4{background:#fff0f0;color:#c92a2a}
.wx-chart{display:block;width:100%;height:auto;margin:.5rem 0}
.wx-axis{stroke:var(--line,#e5e7eb);stroke-width:1}
.wx-line{fill:none;stroke:var(--accent,#1971c2);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.wx-dot{fill:var(--accent,#1971c2);stroke:#fff;stroke-width:2}
.wx-tick{font-size:12px;fill:#6b7280}.wx-lab{font-size:13px;font-weight:700;fill:#1f2937}
.wx-hit{fill:transparent}.wx-hit:hover{fill:rgba(0,0,0,.05)}
.md-today td{background:var(--accent-soft,#e3f6f9);font-weight:600}
.md-t{white-space:nowrap;display:block}
.md-t small{color:#6b7280;margin-left:.25rem}
/* 여행모아(trip) */
.trip-card{flex-direction:row;gap:14px;align-items:flex-start}
.trip-cbody{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.trip-thumb{width:96px;height:72px;flex:none;object-fit:contain;background:var(--sunken);border-radius:10px}
.trip-nolink:hover{transform:none;box-shadow:var(--shadow);border-color:var(--line)}
.trip-tagline{font-size:12.5px;font-weight:600;color:var(--accent-ink);margin-top:2px}
.trip-st{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}
.trip-on{background:var(--accent);color:#fff}
.trip-soon{background:var(--accent-soft);color:var(--accent-ink)}
.trip-end{background:var(--sunken);color:var(--muted)}
.trip-fig{margin:20px 0 0}
.trip-fig img{display:block;width:100%;max-height:440px;object-fit:contain;background:var(--sunken);border-radius:var(--radius)}
.trip-fig figcaption{font-size:12.5px;color:var(--muted);margin-top:6px}
.trip-ctx{margin-top:20px}
.trip-cal span.off{background:var(--accent-soft);color:var(--accent-ink)}
@media (max-width:480px){.trip-thumb{width:76px;height:58px}}
/* emr: 응급모아 */
.emr-alert{font-size:1rem;line-height:1.6}
.emr-alert b{color:#c92a2a}
.emr-alert a,.emr-note a{font-weight:800;color:inherit;text-decoration:underline}
.emr-sub{display:block;font-size:.78rem;color:#6b7280;font-weight:400}
.emr-low{color:#c92a2a;font-weight:700}
.emr-none{color:#6b7280;font-size:.85rem}
.emr-h3{margin:1.25rem 0 .5rem;font-size:1rem}
.emr-text{line-height:1.7;margin:.25rem 0}
.emr-btn{font:inherit;font-weight:700;padding:.6rem 1.1rem;border:0;border-radius:10px;background:#e03131;color:#fff;cursor:pointer}
.emr-near .freshness{margin:.5rem 0 0}
.emr-nearlist{padding-left:1.25rem;margin:.75rem 0;line-height:1.7}
.emr-msgs{padding-left:1.1rem;margin:.25rem 0;font-size:.9rem;line-height:1.6}
/* bus: 버스모아 */
.bus-box{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:.85rem 1rem;margin:.75rem 0;background:var(--surface,#fff)}
.bus-head{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center}
.bus-head b{font-size:1rem}
.bus-list{list-style:none;margin:.6rem 0 0;padding:0}
.bus-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-top:1px solid var(--line,#eef0f2)}
.bus-route{font-weight:700}
.bus-type{font-size:.78rem;color:#6b7280;margin-left:.35rem;font-weight:400}
.bus-eta{white-space:nowrap;font-variant-numeric:tabular-nums}
.bus-btn{font:inherit;font-size:.85rem;padding:.3rem .7rem;border:1px solid var(--line,#d1d5db);border-radius:8px;background:#fff;cursor:pointer}
.bus-search{width:100%;max-width:420px;font:inherit;padding:.6rem .8rem;border:1px solid var(--line,#d1d5db);border-radius:10px}
.bus-results{list-style:none;padding:0;margin:.5rem 0}
.bus-results li{padding:.35rem 0}
/* price */
.pr-chart{position:relative;margin:.5rem 0 1rem}
.pr-chart figcaption{font-size:.9rem;font-weight:600;margin-bottom:.35rem}
.pr-chart svg{width:100%;height:auto;display:block;touch-action:pan-y}
.pr-grid{stroke:#e9ecef;stroke-width:1}
.pr-ax{font-size:12px;fill:#6b7280}
.pr-cross{stroke:#adb5bd;stroke-width:1}
.pr-tip{position:absolute;top:1.6rem;background:#212529;color:#fff;font-size:.8rem;padding:.2rem .5rem;border-radius:6px;white-space:nowrap;pointer-events:none}
/* 약모아 */
.pill-tx{white-space:pre-line;line-height:1.8;font-size:16px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.pill-wide .dt{white-space:normal}
.pill-wide .dt td{vertical-align:top;min-width:5.5em}
.pill-wide small,.pill-results small{display:block;color:var(--muted);font-size:12.5px}
.pill-safe{margin:16px 0}
.pill-img{display:block;max-width:320px;width:100%;height:auto;border-radius:10px;border:1px solid var(--line);margin:12px 0}
.pill-list{columns:2;column-gap:24px;padding-left:18px;margin:0}
.pill-list li{margin-bottom:6px;break-inside:avoid}
.pill-tabs{display:flex;gap:8px;margin:14px 0 4px}
.pill-tabs button{font:inherit;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.pill-tabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.pill-results{list-style:none;padding:0;margin:10px 0}
.pill-results li{padding:10px 2px;border-bottom:1px solid var(--line)}
.pill-results a{font-weight:650}
.pill-kind{margin-left:8px;font-size:12px;color:var(--muted)}
@media (max-width:640px){.pill-list{columns:1}}
/* foodinfo */
.fi-search{margin:1rem 0}
.fi-search label{display:block;font-weight:600;margin-bottom:.4rem}
.fi-search input{width:100%;max-width:560px;font:inherit;padding:.7rem .9rem;border:1px solid #ced4da;border-radius:10px;box-sizing:border-box}
.fi-hits{list-style:none;padding:0;margin:.5rem 0 1.5rem;max-width:560px}
.fi-hits a{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .25rem;border-bottom:1px solid #e9ecef;text-decoration:none}
.fi-hits span{color:#6b7280;font-size:.88rem;white-space:nowrap}
.fi-list{padding-left:1.2rem;line-height:1.7}
.pill-wide .dt:has(th:nth-child(4)){min-width:720px}
/* 건강모아(health) */
.hw-search{margin:16px 0 8px}
.hw-search label{display:block;font-weight:650;margin-bottom:6px}
.hw-search input{width:100%;max-width:560px;box-sizing:border-box;font:inherit;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.hw-search ul{list-style:none;padding:0;margin:8px 0 0;max-width:720px}
.hw-search li{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--line)}
.hw-search li a{font-weight:650;min-width:0;overflow-wrap:anywhere}
.hw-search li span{color:var(--muted);font-size:13px;flex:none;max-width:40%;text-align:right}
.hw-search p{color:var(--muted);font-size:14px;margin:6px 0 0}
.hw-wrap .dt{white-space:normal}
.hw-wrap .dt td:first-child{min-width:11em}
.hw-wrap .dt .num,.hw-nw{white-space:nowrap}
.hw-wrap .dt td{word-break:keep-all;overflow-wrap:break-word}
.hw-wrap .dt td:not(:first-child){white-space:nowrap}
.hw-info .dt{white-space:normal}
.hw-info .dt td{word-break:keep-all;overflow-wrap:anywhere}
.hw-info .dt td:first-child{white-space:nowrap}
.hw-tx{white-space:pre-line;line-height:1.75;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:0}
.hw-cta{display:inline-block;margin:14px 0 4px;padding:11px 18px;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;text-decoration:none}
.hw-cta:hover{color:#fff;opacity:.92}
.hw-det{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:8px 0;overflow:hidden}
.hw-det summary{cursor:pointer;padding:11px 14px;font-weight:650}
.hw-det summary b{color:var(--muted);font-weight:600;font-size:13px;margin-left:6px}
.hw-det .tablewrap{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.hw-plain{padding-left:18px;line-height:1.75;margin:0}
.hw-plain a{overflow-wrap:anywhere}
.hw-off{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--sunken);color:var(--muted);font-size:12.5px;font-weight:700}
/* env: 수돗물모아 */
.wt-over{color:#c92a2a;font-weight:700}
.wt-wide .dt{white-space:normal}
.wt-wide .dt td:first-child{min-width:9em}
.hw-sm .stat b{font-size:1.05rem;word-break:keep-all}

/* 돌봄모아 */
.cr-g{display:inline-block;min-width:1.5em;text-align:center;padding:.05rem .4rem;border-radius:6px;font-size:.82rem;font-weight:800;background:#f1f3f5;color:#495057}
.cr-gA{background:#d3f9d8;color:#2b8a3e}.cr-gB{background:#e7f5ff;color:#1864ab}.cr-gC{background:#f1f3f5;color:#495057}.cr-gD{background:#fff4e6;color:#c2410c}.cr-gE{background:#fff0f0;color:#c92a2a}
.cr-none{color:#868e96;font-size:.82rem}
.cr-new{display:inline-block;margin-left:.3rem;padding:0 .35rem;border-radius:6px;background:#e3fafc;color:#095c6b;font-size:.72rem;font-weight:700}
/* 펫모아 */
.pt-list{margin:.5rem 0 0;padding-left:1.2rem;line-height:1.8}
.hw-bars .barrow{grid-template-columns:minmax(0,10.5em) 1fr 72px}
.hw-bars .barrow span{overflow-wrap:anywhere;font-size:13.5px}
@media (max-width:640px){.hw-bars .barrow{grid-template-columns:minmax(0,7.5em) 1fr 58px}}
/* 교통모아 */
.tr-links{margin:18px 0;line-height:1.9}
.tr-links a{font-weight:650}
/* safe: 안전모아 */
.sf-wide .dt{white-space:normal}
.sf-wide .dt td{vertical-align:top}
.sf-wide small{display:block;color:var(--muted);font-size:12.5px;font-weight:400;margin-top:2px}
.sf-near{margin:14px 0}
.sf-near-link{margin:14px 0}
.sf-nearlist{padding-left:22px;margin:12px 0}
.sf-nearlist li{padding:10px 0;border-bottom:1px solid var(--line)}
.sf-nearlist small{display:block;color:var(--muted);font-size:13px}
.sf-nearlist span{font-size:13.5px}
.sf-links{font-size:13.5px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}
/* 사업모아 */
.bz-form{margin:18px 0}
.bz-form label{display:block;font-weight:650;margin-bottom:6px}
.bz-row{display:flex;gap:8px;max-width:440px}
.bz-row input{flex:1;min-width:0;font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.bz-row button{font:inherit;font-weight:650;padding:11px 18px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}
.bz-row button:disabled{opacity:.6}
.bz-msg{min-height:1.4em;color:var(--muted);font-size:14px;margin:8px 0}
.bz-box{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface);max-width:440px;margin-bottom:18px}
.bz-state{display:block;font-size:18px}
.bz-ok{color:#2b8a3e}
.bz-no{color:#c92a2a}
.bz-table{margin-top:8px;font-size:14px;border-collapse:collapse;width:100%}
.bz-table th{font-weight:600;color:var(--muted);text-align:left;padding:4px 12px 4px 0;white-space:nowrap}
.bz-table td{padding:4px 0}
.sf-head,.wt-head{display:block}
.sf-head .lead,.wt-head .lead{margin-top:8px}
.sf-wide .dt th,.sf-wide .dt td.num,.wt-wide .dt th,.wt-wide .dt td.num{white-space:nowrap}
.sf-wide .dt td:not(.num){min-width:7em}
.sf-wide .dt td:first-child{width:62%}
@media (max-width:640px){.sf-wide .dt th,.sf-wide .dt td{padding:10px 8px}}
.cr-phead{display:block}
.cr-phead .lead{margin-top:8px}

/* 모바일에서 .phead 안 제목이 세로로 눌리는 문제 */
@media (max-width: 640px) { .phead { flex-direction: column; gap: 6px; } }
