/* Cardedeu pilot. All rules remain within the replaced extended module. */
#ext-current.ed{--ed-soft:color-mix(in srgb,var(--brand) 7%,var(--card));margin:0 0 28px;color:var(--fg);font-variant-numeric:tabular-nums}
.ed *{min-width:0}.ed [hidden]{display:none!important}.ed h2,.ed h3,.ed h4,.ed p{margin:0}.ed h2{font-size:clamp(1.6rem,3.5vw,2.35rem);line-height:1.18;letter-spacing:-.045em;font-weight:700}.ed h3{font-size:1.12rem;letter-spacing:-.02em}.ed h4{font-size:1rem}.ed p{line-height:1.55}.ed .ed-muted,.ed small{color:var(--muted)}
.ed-hero{padding:26px 26px 20px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(120deg,var(--ed-soft),var(--card) 75%)}
.ed-eyebrow{font-size:.68rem;font-weight:750;letter-spacing:.14em;color:var(--brand-strong);margin-bottom:10px!important}.ed-intro{max-width:760px;margin-top:10px!important;font-size:.92rem;color:var(--muted)}
.ed-toolbar,.ed-meta,.ed-jumps,.ed-head,.ed-pager,.ed-pills,.ed-family,.ed-switches{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ed-toolbar{justify-content:space-between;margin:22px 0 14px}.ed-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ed-control-label{font-size:.8rem;font-weight:600}.ed-pills{gap:3px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg)}
.ed button,.ed select{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:8px 14px;cursor:pointer;line-height:1.25}.ed button:hover{background:var(--ed-soft)}.ed button:disabled{opacity:.45;cursor:default}.ed button:focus-visible,.ed a:focus-visible,.ed summary:focus-visible,.ed input:focus-visible,.ed-table-wrap:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.ed-pills button{border:0;background:transparent;font-size:.86rem;min-width:55px}.ed-pills button[aria-pressed=true],.ed-family button[aria-pressed=true]{background:var(--brand);color:#052d2a;font-weight:700}.ed-refresh{font-size:.83rem!important}.ed-meta{font-size:.76rem;color:var(--muted);gap:8px 18px}.ed-status{display:inline-flex;align-items:center;gap:7px}.ed-status::before{content:'';width:7px;height:7px;background:#22c55e;border-radius:50%}.ed-status[data-status=stale]::before{background:#eab308}.ed-status[data-status=offline]::before{background:#ef4444}.ed-jumps{border-top:1px solid var(--border);padding-top:14px;margin-top:16px;gap:8px 18px;font-size:.8rem}.ed-jumps a{color:var(--fg)}
.ed-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.ed-kpi{border:1px solid var(--border);border-radius:17px;background:var(--card);padding:18px 20px;position:relative;overflow:hidden}.ed-kpi::before{content:'';height:3px;background:var(--metric);position:absolute;left:20px;right:20px;top:0;border-radius:4px}.ed-kpi-label{font-size:.82rem;color:var(--muted)}.ed-kpi-value{font-size:clamp(1.5rem,3vw,2.15rem);font-weight:650;letter-spacing:-.045em;line-height:1.2;margin:10px 0 8px}.ed-unit{font-size:.85rem;font-weight:500;letter-spacing:0;color:var(--muted);margin-left:3px}.ed-kpi-note{font-size:.76rem;color:var(--muted)}
.ed-panel{border:1px solid var(--border);border-radius:20px;background:var(--card);padding:22px;margin-top:16px;box-shadow:var(--shadow-1)}.ed-head{justify-content:space-between;align-items:flex-start;margin-bottom:14px}.ed-head p{font-size:.83rem;color:var(--muted);margin-top:5px}.ed-badge{font-size:.73rem;white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:5px 10px;color:var(--muted)}.ed-family{gap:6px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:18px}.ed-family button{font-size:.83rem;padding:9px 15px}.ed-switches{gap:10px 18px;margin:15px 0 6px}.ed-switches label{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;cursor:pointer}.ed-switches input{accent-color:var(--metric);width:15px;height:15px;margin:0}.ed-dot{display:inline-block;width:9px;height:9px;flex:none;border-radius:50%;background:var(--metric);margin-right:6px}.ed-chart-box{position:relative;height:330px;width:100%;margin-top:8px}.ed-chart-box canvas{display:block;width:100%!important;height:100%!important}.ed-chart-note{font-size:.77rem;color:var(--muted);margin-top:12px!important}.ed-chart-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 0}.ed-chart-stat{padding:11px 12px;background:var(--ed-soft);border-radius:11px}.ed-chart-stat span{display:block;font-size:.72rem;color:var(--muted)}.ed-chart-stat strong{display:block;margin:5px 0;font-size:1.15rem;font-weight:650}.ed-chart-stat small{font-size:.7rem;display:block}.ed-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ed-two>.ed-panel{min-width:0}.ed-key-list{display:grid;gap:0;margin:0}.ed-key-list>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid var(--border)}.ed-key-list>div:last-child{border:0;padding-bottom:0}.ed-key-list dt{font-size:.83rem;color:var(--muted)}.ed-key-list dd{margin:0;text-align:right;font-weight:650;white-space:nowrap}.ed-key-list small{display:block;font-weight:400;font-size:.72rem;margin-top:3px}.ed-small{font-size:.77rem;color:var(--muted);margin-top:12px!important}.ed-extra{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:14px;margin-top:14px;border-top:1px solid var(--border);font-size:.8rem}.ed-extra strong{display:block;font-size:.95rem;margin-top:4px}
.ed-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:12px;margin-top:16px}.ed table{width:100%;border-collapse:collapse;font-size:.82rem;text-align:right;white-space:nowrap}.ed caption{caption-side:bottom;text-align:left;white-space:normal;font-size:.76rem;padding:12px;color:var(--muted)}.ed th,.ed td{padding:11px 13px;border-bottom:1px solid var(--border)}.ed thead th{font-weight:600;font-size:.75rem;color:var(--muted);background:var(--ed-soft);text-align:right}.ed tbody th{font-weight:550;text-align:left;display:table-cell}.ed th:first-child,.ed td:first-child{text-align:left}.ed tbody tr:last-child td,.ed tbody tr:last-child th{border-bottom:0}.ed tbody tr:hover{background:var(--ed-soft)}.ed td small{display:block;font-size:.69rem;margin-top:3px}.ed td.ed-latest{font-weight:650}.ed details>summary{cursor:pointer;font-size:.92rem;font-weight:600}.ed details[open]>summary{margin-bottom:14px}.ed-pager{justify-content:space-between;margin-top:14px;font-size:.78rem}.ed-pager button{font-size:.78rem}.ed-methods p{font-size:.84rem;color:var(--muted);margin-top:10px}.ed-notice{padding:16px;border-radius:12px;background:var(--ed-soft);font-size:.9rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ed-loading{opacity:.65}.ed-raw{margin-top:18px}.ed table .ed-direction{font-weight:500}.ed-error{border-left:3px solid #f59e0b}.ed-panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
@media(max-width:760px){.ed-hero{padding:20px}.ed-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ed-kpi{padding:16px}.ed-kpi::before{left:16px;right:16px}.ed-panel{padding:17px}.ed-two{grid-template-columns:1fr;gap:0}.ed-chart-box{height:285px}.ed-family{gap:5px}.ed-family button{padding:8px 12px;font-size:.78rem}.ed-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ed-toolbar{align-items:flex-start}.ed-kpi-value{font-size:1.7rem}.ed-meta{line-height:1.6}.ed-pager{gap:8px}.ed-pager button{padding:8px 10px}}
@media(max-width:390px){.ed-hero,.ed-panel{padding:15px}.ed h2{font-size:1.6rem}.ed-kpi{padding:14px 12px}.ed-kpi-value{font-size:1.5rem}.ed-kpi-note{font-size:.7rem}.ed-key-list dt{font-size:.78rem}.ed-key-list dd{font-size:.9rem}.ed-jumps{gap:10px 14px}.ed-chart-box{height:260px}}
/* Refinement: compact lookbacks and the retained station modules share the same cards. */
.ed-readings{margin:24px 0 18px}.ed-readings .ed-head{align-items:center;margin-bottom:0}.ed-readings-nav{border:0;padding:0;margin:0}.ed-readings .ed-kpis{margin-bottom:0}.ed-history-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:18px 0}.ed-history-controls label{display:flex;flex-direction:column;gap:7px;font-size:.77rem;color:var(--muted)}.ed-history-controls select,.ed-history-controls input{box-sizing:border-box;width:100%;max-width:100%;min-height:42px;border-radius:10px;font:inherit;font-size:.86rem;color:var(--fg);background:var(--bg);border:1px solid var(--border);padding:10px}.ed-history-controls select{padding-right:28px}.ed-history-controls button{border-radius:10px;min-height:42px;font-size:.84rem}.ed-history-custom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;grid-column:1 / 3;grid-row:2}.ed-history-custom:not([hidden])+button{grid-column:3;grid-row:2}.ed-history-message{padding:16px;background:var(--ed-soft);border-radius:12px;font-size:.83rem;color:var(--muted)}.ed-history-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ed-history-values>div{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--ed-soft)}.ed-history-values>div:first-child{border-top:3px solid var(--metric)}.ed-history-values span,.ed-history-values small{display:block;font-size:.73rem;color:var(--muted)}.ed-history-values strong{display:block;font-size:clamp(1rem,2vw,1.45rem);font-weight:650;letter-spacing:-.025em;margin:8px 0;overflow-wrap:anywhere}
.extended-detail-page #ed-summaries [hidden],.extended-detail-page #ed-summaries[hidden]{display:none!important}
.extended-detail-page :is(#station-health,#astro,#comfort){padding:22px;border:1px solid var(--border);border-radius:20px;background:var(--card);margin:20px 0;box-shadow:var(--shadow-1)}
.extended-detail-page :is(#station-health,#astro,#comfort) :is(.live-title,h3){font-size:1.12rem;font-weight:650;letter-spacing:-.02em;margin:0 0 14px}
.extended-detail-page :is(#station-health,#astro,#comfort) :is(.live-grid,.cf-grid){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.extended-detail-page :is(#station-health,#astro,#comfort) .live-card{min-width:0;min-height:100px;border:1px solid var(--border);border-radius:13px;padding:16px;background:color-mix(in srgb,var(--brand) 5%,var(--card));box-shadow:none;gap:8px}
.extended-detail-page :is(#station-health,#astro,#comfort) .metric-label{font-size:.79rem;color:var(--muted)}
.extended-detail-page :is(#station-health,#astro,#comfort) .metric-main{font-size:1.65rem;line-height:1.2;letter-spacing:-.035em;font-weight:650;overflow-wrap:anywhere}
.extended-detail-page :is(#station-health,#astro,#comfort) .metric-sub{font-size:.75rem;color:var(--muted);line-height:1.4}
.extended-detail-page .ed-summary-shell{padding:22px;border:1px solid var(--border);border-radius:20px;background:var(--card);margin:24px 0;box-shadow:var(--shadow-1);font-variant-numeric:tabular-nums}
.ed-summary-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:18px}.ed-summary-header h2{font-size:1.2rem;letter-spacing:-.025em;margin:0 0 6px}.ed-summary-header p{font-size:.83rem;color:var(--muted);margin:0;line-height:1.5}.ed-summary-nav{display:flex;gap:5px;flex-wrap:wrap}.ed-summary-nav button{font:inherit;font-size:.83rem;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:999px;padding:10px 14px;cursor:pointer}.ed-summary-nav button[aria-pressed=true]{background:var(--brand);color:#052d2a;font-weight:650}.ed-summary-nav button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.extended-detail-page .ed-summary-shell :is(#month-summary,#year-summary,#climate-overview){margin:0}
.extended-detail-page .ed-summary-shell :is(.ms-title,.ys-title,.co-title){font-size:.92rem;font-weight:600;color:var(--fg)}
.extended-detail-page .ed-summary-shell :is(.ms-grid,.ys-grid,.co-grid){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.extended-detail-page .ed-summary-shell :is(.ms-card,.ys-card,.co-card){--summary-accent:var(--brand);min-width:0;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--brand) 3%,var(--card));padding:16px;gap:8px;box-shadow:none;position:relative;overflow:hidden;align-content:start}
.extended-detail-page .ed-summary-shell :is(.ms-card,.ys-card,.co-card)::before{content:'';height:3px;position:absolute;top:0;left:16px;right:16px;background:var(--summary-accent);border-radius:5px}
.extended-detail-page .ed-summary-shell :is(.ms-label,.ys-label,.co-label){font-family:inherit;font-size:.78rem;line-height:1.35;color:var(--muted)}
.extended-detail-page .ed-summary-shell :is(.ms-main,.ys-main,.co-main){font-family:inherit;font-size:1.8rem;font-weight:650;letter-spacing:-.035em;line-height:1.2;color:var(--fg);overflow-wrap:anywhere}
.extended-detail-page .ed-summary-shell :is(.ms-unit,.ys-unit,.co-unit){font-family:inherit;font-size:.78rem;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:2px}
.extended-detail-page .ed-summary-shell :is(.ms-sub,.ys-sub,.co-sub,.ms-updated,.ys-updated,.co-subtitle){font-family:inherit;font-size:.73rem;line-height:1.4;color:var(--muted)}
.extended-detail-page :is(.ms-card,.ys-card):nth-child(-n+2){--summary-accent:#ef4444}.extended-detail-page :is(.ms-card,.ys-card):nth-child(n+3):nth-child(-n+4){--summary-accent:#0ea5e9}.extended-detail-page :is(.ms-card,.ys-card):nth-child(n+5):nth-child(-n+6){--summary-accent:#22c55e}.extended-detail-page :is(.ms-card,.ys-card):nth-child(n+7):nth-child(-n+8){--summary-accent:#94a3b8}.extended-detail-page :is(.ms-card,.ys-card):nth-child(9){--summary-accent:#eab308}.extended-detail-page :is(.ms-card,.ys-card):nth-child(10){--summary-accent:#a855f7}.extended-detail-page :is(.ms-card,.ys-card):nth-child(11){--summary-accent:#2563eb}.extended-detail-page :is(.ms-card,.ys-card):nth-child(12){--summary-accent:#ec4899}
@media(max-width:760px){.ed-history-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.ed-history-controls>button{grid-column:1 / -1}.ed-history-custom:not([hidden])+button{grid-column:1 / -1;grid-row:3}.ed-history-values{grid-template-columns:repeat(2,minmax(0,1fr))}.ed-history-values>div:last-child{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.ed-history-values>div:last-child strong{grid-column:2;grid-row:1 / 3;margin:0}.ed-history-values>div:last-child small{grid-column:1}.extended-detail-page :is(#station-health,#astro,#comfort),.extended-detail-page .ed-summary-shell{padding:17px}.extended-detail-page :is(#station-health,#astro,#comfort) :is(.live-grid,.cf-grid),.extended-detail-page .ed-summary-shell :is(.ms-grid,.ys-grid,.co-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.extended-detail-page :is(#station-health,#astro,#comfort) .live-card{padding:12px}.extended-detail-page :is(#station-health,#astro,#comfort) .metric-main{font-size:1.35rem}.extended-detail-page .ed-summary-shell :is(.ms-card,.ys-card,.co-card){padding:13px}.extended-detail-page .ed-summary-shell :is(.ms-main,.ys-main,.co-main){font-size:1.4rem}.ed-summary-nav{gap:4px}.ed-summary-nav button{font-size:.77rem;padding:9px 11px}}
@media(max-width:390px){.ed-history-controls{grid-template-columns:minmax(0,1fr)}.ed-history-custom{grid-column:1;grid-row:auto}.ed-history-custom:not([hidden])+button{grid-column:1;grid-row:auto}.ed-history-values>div{padding:11px}.ed-history-values strong{font-size:1.1rem}.extended-detail-page :is(#station-health,#astro,#comfort),.extended-detail-page .ed-summary-shell{padding:14px}.extended-detail-page .ed-summary-shell :is(.ms-main,.ys-main,.co-main){font-size:1.3rem}}

@media(max-width:760px){.extended-detail-page :is(#astro,#comfort) .live-card:last-child:nth-child(odd){grid-column:1 / -1}}

/* Wind direction accompanies speed with secondary emphasis. */
.ed-wind-reading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.ed-wind-reading>span{white-space:nowrap}.ed-wind-direction{font-size:.95rem;font-weight:600;letter-spacing:.015em;color:var(--fg)}

/* Period and display resolution stay together above the chart. */
.ed-controls{max-width:100%}.ed-pills{border-radius:16px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));max-width:100%}.ed-pills button{min-width:0;white-space:nowrap;padding:9px 12px;border-radius:12px}.ed-pills button small{display:block;font-size:.65rem;margin-top:4px;opacity:.8;color:inherit;font-weight:400}
@media(max-width:600px){#ed-analysis .ed-controls{width:100%;display:block}.ed-control-label{display:block;margin-bottom:8px}.ed-pills{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;box-sizing:border-box}.ed-pills button{min-height:48px}}
