:root{--paper:var(--tc-paper);--surface:var(--tc-surface);--soft:var(--tc-tint);--ink:var(--tc-ink);--muted:var(--tc-muted);--line:var(--tc-rule);--accent:var(--tc-accent);--action:var(--tc-focus);--warning:var(--tc-error);--warning-bg:var(--tc-error-surface);font-family:var(--tc-font);font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}main{max-width:820px;margin:auto;padding:32px}.mast{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px}.brand{color:var(--accent);font-weight:650;font-size:16px;line-height:1.1;letter-spacing:.025em;text-decoration:none}.brand span{display:block;font-weight:400}.eyebrow{font-size:11px;letter-spacing:.11em;line-height:1.7;text-align:right;color:var(--muted);margin:0}.title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-weight:350;font-size:clamp(27px,6vw,43px);line-height:1.14;letter-spacing:-.035em;margin:0 0 20px}h2{font-weight:500;font-size:18px;margin:0 0 5px}p{margin:0 0 16px}.public-badge{font-size:11px;letter-spacing:.04em;padding:5px 8px;background:var(--soft);color:var(--accent);white-space:nowrap;margin-bottom:16px}#feed-status{color:var(--muted);font-size:14px}.temperature{font-size:clamp(48px,12vw,72px);letter-spacing:-.05em;font-weight:300;line-height:1.1;margin:18px 0}.temperature span{font-size:22px;color:var(--muted);letter-spacing:-.02em;margin-left:14px}.metrics{display:flex;flex-wrap:wrap;gap:12px 28px;border-block:1px solid var(--line);padding:18px 0;margin:24px 0}.metric{font-size:14px}.metric strong{display:block;font-size:20px;font-weight:450;color:var(--accent)}.subtle{font-size:12px;color:var(--muted)}.notice{background:var(--warning-bg);border-left:3px solid var(--warning);color:var(--warning);padding:12px;font-size:13px;margin:12px 0}.forecast{padding:0;list-style:none;margin:20px 0 26px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.forecast li{padding:12px;border-top:1px solid var(--line);border-right:1px solid var(--line);font-size:13px}.forecast li:first-child{padding-left:0}.forecast li:last-child{border-right:0}.forecast strong{display:block;font-size:12px;font-weight:600;min-height:36px}.forecast .value{display:block;font-size:25px;font-weight:350;color:var(--accent);margin:6px 0}details{font-size:12px;margin:20px 0}summary{cursor:pointer;color:var(--accent)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);padding:12px;font-size:11px}button{font-family:inherit;font-size:13px;font-weight:500;background:var(--accent);border:1px solid var(--accent);border-radius:4px;color:var(--tc-on-accent);padding:12px 16px;min-height:44px;cursor:pointer}button span{margin-left:16px}button:disabled{opacity:.6;cursor:wait}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}#refresh-note{font-size:11px;color:var(--muted)}a{color:var(--accent);text-underline-offset:4px}.sources{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font-size:12px}footer{font-size:11px;color:var(--muted);margin-top:24px}footer p{margin-bottom:10px}.version{white-space:nowrap}*:focus-visible{outline:3px solid var(--action);outline-offset:3px}@media(max-width:480px){main{padding:20px}.mast{margin-bottom:24px}.forecast{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast li:nth-child(2){border-right:0}.forecast li:nth-child(3){padding-left:0}.forecast strong{min-height:20px}.title-row{align-items:start}.metrics{gap:18px 30px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Shared Technical Clarity interaction tokens; semantic warning colors remain distinct. */
a,button{touch-action:manipulation}button:hover:not(:disabled){background:var(--tc-accent-hover)}*:focus-visible{outline:3px solid var(--tc-focus);outline-offset:3px}

.mast{gap:20px;flex-wrap:wrap}.mast>.eyebrow{margin-left:auto}.mast>.aero-shell-controls{margin-left:auto}h1 .aero-icon{width:28px;height:28px;margin-right:5px}button{transition:background-color 140ms ease,border-color 140ms ease}@media(max-width:480px){.mast>.eyebrow{display:none}.aero-identity{max-width:calc(100% - 112px)}}@media(prefers-reduced-motion:reduce){button{transition:none!important}}
