.bite-forecast{min-width:0;max-width:100%}
.bite-forecast [hidden]{display:none!important}
.bite-forecast p{line-height:1.6}
.bite-note,.bite-meta{color:var(--muted);font-size:13px}
.bite-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,100px),1fr));gap:8px;max-width:100%;padding:4px 2px;margin:20px 0}
.bite-day{min-width:0;display:grid;align-content:start;gap:5px;padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;font:inherit}
.bite-day b{font-size:14px}.bite-day span{font-size:12px;overflow-wrap:anywhere}
.bite-day[aria-selected="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.bite-day:focus-visible,.bite-hours:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.bite-day-title{text-transform:capitalize}
.bite-weather{font-size:14px}
.bite-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.bite-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:20px;min-width:0;overflow-wrap:anywhere}
.bite-card h3{margin:0 0 12px;font-size:18px}
.bite-card h4{margin:16px 0 6px;font-size:13px}
.bite-score{display:inline-block;font-size:32px;line-height:1.3;letter-spacing:-.04em;border-radius:10px;padding:4px 10px}
.bite-category{font-weight:600;margin:8px 0}.bite-period{font-size:13px}
.bite-reasons{padding-left:18px;font-size:13px;margin:0;color:var(--ink)}
.bite-reasons li{margin:5px 0}
.bite-forecast .is-high{color:#166534;background:#dcfce7}
.bite-forecast .is-good{color:#175b45;background:#e6f3eb}
.bite-forecast .is-medium{color:#795400;background:#fff5cf}
.bite-forecast .is-low{color:#85432d;background:#fae8df}
.bite-forecast .is-unavailable{color:var(--muted);background:var(--soft)}
.bite-warning{border-left:3px solid #c48624;background:#fff7e8;color:#684912;padding:12px 16px;border-radius:8px;font-size:13px;margin:16px 0}
.bite-warning p{margin:5px 0}
.bite-hours{max-width:100%;overflow-x:auto;margin:24px 0 16px;border:1px solid var(--line);border-radius:12px}
.bite-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
.bite-table caption{text-align:left;padding:12px;color:var(--muted)}
.bite-table td,.bite-table th{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
.bite-table thead th{background:var(--soft);white-space:nowrap}
.bite-table tbody th{background:var(--surface);white-space:nowrap}
.bite-table tbody td:nth-child(2),.bite-table tbody td:nth-child(3){font-weight:700;white-space:nowrap}
@media(max-width:620px){.bite-cards{grid-template-columns:1fr}.bite-card{padding:18px}.bite-score{font-size:30px}}

.bite-forecast .place-weather-panel{margin:12px 0 24px}
.bite-forecast .place-weather-chart{height:320px;min-height:260px}
.bite-explanation-toggle{font:inherit;cursor:pointer;color:var(--teal);background:none;border:1px solid var(--line);border-radius:7px;padding:7px 10px;white-space:nowrap}
.bite-explanation-toggle[aria-expanded="true"]{background:var(--soft)}
.bite-explanation-toggle:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.bite-explanation-row>td{background:var(--soft);padding:18px}
.bite-hour-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(640px,calc(100vw - 100px));max-width:100%;white-space:normal}
.bite-hour-reasons h3{font-size:14px;margin:0 0 12px}
.bite-hour-reasons h4{font-size:13px;margin:14px 0 6px}
.bite-hour-reasons .bite-reasons{font-size:14px;line-height:1.6}
@media(max-width:620px){.bite-hour-reasons{grid-template-columns:1fr;gap:18px}.bite-forecast .place-weather-chart{height:280px}}

.bite-column-label,.bite-column-unit{display:block}
.bite-column-unit{margin-top:3px;font-size:11px;font-weight:400;white-space:nowrap}
.place-bite-date{display:block;margin-top:5px;font-size:12px;color:rgba(255,255,255,.8)}
.place-bite-live [data-bite-live-summary]{white-space:pre-line;line-height:1.7}

.bite-hour-regime{margin:0 0 16px;font-size:14px}

.bite-guide{margin:16px 0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:14px}
.bite-guide p{margin:0}.bite-guide p+p{margin-top:10px}.bite-guide strong{color:var(--ink)}
