.wx-strip{display:flex;align-items:center;gap:14px;width:100%;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;border-radius:0;padding:9px 20px;cursor:pointer;font-weight:700;font-size:14px;white-space:nowrap;text-align:left}
.wx-strip small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.wx-strip b{font:700 18px/1 "Fraunces",serif}
.wx-strip .wx-sep{width:1px;height:26px;background:var(--line)}
.wx-strip .wx-strip-go{margin-left:auto;color:var(--muted);font-size:20px;line-height:1}
@media(max-width:480px){.wx-strip{padding:8px 16px;gap:12px}}
.quick-card.weather{background:#cfe2ec}
.wx-hero{background:var(--sea);color:#fff;border-radius:26px;padding:24px;margin-bottom:14px}
.wx-hero .wx-now{display:flex;align-items:flex-end;gap:14px}
.wx-hero .wx-temp{font:700 54px/1 "Fraunces",serif}
.wx-hero .wx-cond{font-size:16px;opacity:.92;padding-bottom:6px}
.wx-hero .wx-sub{margin-top:10px;opacity:.8;font-size:13px}
.wx-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.wx-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}
.wx-grid span{font-size:12px;letter-spacing:.06em;color:var(--muted);font-weight:700;text-transform:uppercase}
.wx-grid strong{display:block;font:700 26px/1.1 "Fraunces",serif;margin-top:8px}
.wx-grid small{display:block;color:var(--muted);margin-top:4px}
.wx-note{color:var(--muted);font-size:13px;margin:0 2px 6px}
.tide-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:12px}
.tide-next{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--sky);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.tide-next strong{font:700 24px/1 "Fraunces",serif;display:block}
.tide-next small{display:block;color:var(--muted);margin-top:5px}
.tide-days{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:14px}
.tide-days button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:9px 13px;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;text-align:center;line-height:1.25}
.tide-days button b{display:block;font-size:15px}
.tide-days button.active{background:var(--sea);color:#fff;border-color:var(--sea)}
.tide-curve{width:100%;height:110px;display:block;margin-bottom:6px}
.tide-list{display:grid;gap:2px}
.tide-list div{display:flex;align-items:center;gap:12px;padding:13px 4px;border-top:1px solid var(--line)}
.tide-list div:first-child{border-top:0}
.tide-list .tide-kind{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;background:#dceaf1;color:#235e78}
.tide-list .tide-kind.low{background:#e9e6dc;color:#7a6a44}
.tide-list time{font:700 20px/1 "Fraunces",serif;min-width:66px}
.tide-list .tide-label{color:var(--muted);font-size:14px}
.tide-list .tide-h{margin-left:auto;font-weight:700}
.tide-list div.is-next{background:#f3f7f4;border-radius:12px}
.wx-error{background:#fbe2dd;color:#8d3722;border-radius:14px;padding:12px 14px;font-size:14px;margin-bottom:12px}
