/* Flores365 Signal Desk v1: local CSS, no trackers or external fonts */
.page{min-height:100svh}
main{margin:0 auto;padding:clamp(65px,10vh,125px) 0 clamp(28px,4vh,52px)}
.manifesto{margin-top:25px}
.signal-desk{width:min(1240px,100%);margin:0 auto;position:relative}
.desk-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 16px}
.desk-kicker{font:600 10px var(--mono);letter-spacing:.19em;color:var(--green);margin:0 0 10px}
.desk-beacon{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 15px rgba(124,255,107,.4);vertical-align:1px;margin-right:8px}
.desk-heading h2{font-size:clamp(18px,2.1vw,27px);font-weight:670;letter-spacing:-.04em;margin:0}
.desk-heading h2 span{font-weight:400;color:#8392a6}
.desk-update{font:10px var(--mono);letter-spacing:.05em;color:#8696a9;text-align:right;line-height:1.6}
.desk-grid{display:grid;grid-template-columns:minmax(0,.82fr) repeat(2,minmax(0,1.25fr));gap:12px}
.desk-card{min-width:0;display:flex;flex-direction:column;padding:21px 21px 17px;border:1px solid rgba(133,161,194,.13);border-radius:16px;background:linear-gradient(155deg,rgba(16,23,32,.90),rgba(8,12,18,.89));box-shadow:0 14px 40px rgba(0,0,0,.14);position:relative}
.desk-card:before{content:"";position:absolute;top:0;left:23px;right:23px;height:1px;background:linear-gradient(90deg,transparent,rgba(86,197,255,.16),transparent)}
.desk-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#a3b6c9;font:600 10px var(--mono);letter-spacing:.14em;white-space:nowrap}
.desk-card-mark{color:#6b8f7e;font-size:9px;letter-spacing:.08em}
.weather-temperature{display:flex;align-items:start;gap:6px;margin-top:18px;font-size:clamp(48px,5vw,68px);font-weight:730;letter-spacing:-.07em;line-height:1}
.weather-degree{font:500 16px var(--mono);color:#8cafaf;margin-top:10px;letter-spacing:0}
.weather-condition{min-height:23px;color:#d9e8f3;font-size:13px;line-height:1.55;margin:11px 0 4px}
.weather-details{font:10px var(--mono);color:#8897aa;min-height:23px;line-height:1.6}
.desk-button{width:100%;margin-top:auto;background:rgba(124,255,107,.07);border:1px solid rgba(124,255,107,.2);color:#dfffdc;border-radius:10px;padding:12px 12px;font:600 10px var(--mono);letter-spacing:.075em;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px}
.desk-button:hover,.desk-button:focus-visible{background:rgba(124,255,107,.13);outline:2px solid rgba(124,255,107,.12)}
.desk-button:disabled{opacity:.6;cursor:wait}
.weather-privacy{font:9px/1.55 var(--mono);color:#68798a;margin:9px 0 0}
.weather-privacy a{color:#98b5b9;text-underline-offset:2px}
.desk-headlines{list-style:none;display:flex;flex-direction:column;margin:14px 0 8px;padding:0;gap:0;flex:1}
.desk-headlines li{margin:0;border-bottom:1px solid rgba(255,255,255,.055)}
.desk-headlines li:last-child{border-bottom:none}
.desk-headlines li a{display:flex;align-items:start;gap:12px;padding:11px 0;color:#d8e1ec;text-decoration:none;line-height:1.4;font-size:12px;letter-spacing:-.01em}
.desk-headlines li a:hover,.desk-headlines li a:focus-visible{color:var(--green);outline:none}
.desk-headlines .item-no{font:10px var(--mono);color:#548399;padding-top:2px;flex:none}
.desk-headlines .item-title{flex:1;min-width:0}
.desk-headlines .item-arrow{color:#6d7d8f;font-size:12px;flex:none}
.desk-placeholder{padding:30px 0;color:#7e8fa3;font-size:12px}
.desk-source{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,255,255,.05);font:9px var(--mono);letter-spacing:.08em;color:#62768c}
.desk-source a{color:#98adba;text-decoration:none}
.desk-source a:hover{color:var(--green)}
.desk-ticker{min-height:42px;display:flex;align-items:center;gap:17px;padding:0 17px;margin-top:10px;border:1px solid rgba(86,197,255,.10);border-radius:12px;background:rgba(8,13,19,.55);font:11px var(--mono)}
.ticker-prefix{white-space:nowrap;color:var(--green);font-size:9px;font-weight:700;letter-spacing:.1em}
.ticker-prefix span{margin-right:5px;font-size:8px}
.ticker-headline{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#afbfd0;text-decoration:none}
.ticker-headline:hover{color:#e7fbea}
.ticker-counter{white-space:nowrap;font-size:9px;color:#708093}
footer{margin-top:31px}
@media(max-width:1000px){.desk-grid{grid-template-columns:1fr 1fr}.desk-weather{grid-column:1/-1}.desk-card{padding:19px}.weather-temperature{font-size:52px}.desk-weather .desk-button{margin-top:14px}}
@media(max-width:650px){main{padding:clamp(50px,8vh,85px) 0 40px}.desk-grid{grid-template-columns:1fr}.desk-weather{grid-column:auto}.desk-heading{align-items:start;flex-direction:column}.desk-update{text-align:left}.desk-heading h2 span{display:block;margin-top:4px;font-size:14px;letter-spacing:-.02em}.desk-card{border-radius:14px}.desk-headlines li a{font-size:13px}.desk-ticker{gap:10px;padding:0 11px}.ticker-prefix{font-size:8px}}
@media(prefers-reduced-motion:reduce){.desk-beacon{box-shadow:none}}

/* Auto-local Signal Desk enhancements */
.weather-region{margin:0 0 12px;color:#7d9cae;font:10px/1.5 var(--mono);letter-spacing:.035em;min-height:15px}
.desk-weather .desk-button{margin-top:auto}
.desk-manual-toggle{font:10px var(--mono);color:#91b0c2;padding:12px 1px 9px;border:0;background:transparent;cursor:pointer;text-align:left}
.desk-manual-toggle:hover,.desk-manual-toggle:focus-visible{color:var(--green);text-decoration:underline;outline:none}
.location-form[hidden]{display:none!important}
.location-form{display:grid;grid-template-columns:1fr;gap:8px;border:1px solid rgba(86,197,255,.17);padding:12px;border-radius:10px;margin:3px 0 10px;background:rgba(86,197,255,.025)}
.location-form label{font:9px var(--mono);letter-spacing:.1em;color:#90a7b9}
.location-form input{min-width:0;width:100%;padding:10px;border-radius:7px;border:1px solid rgba(146,166,184,.28);background:#0a121b;color:#f3f8fc;font:12px var(--sans)}
.location-form button{padding:9px 10px;background:rgba(86,197,255,.1);border:1px solid rgba(86,197,255,.19);color:#ccf3ff;border-radius:8px;cursor:pointer;font:10px var(--mono)}
.location-form button:disabled{opacity:.65;cursor:wait}
.location-form p{margin:0;color:#aabccb;font:10px/1.5 var(--mono)}
.news-publisher{display:block;margin-top:5px;color:#72899e;font:9px var(--mono);letter-spacing:.01em}
.desk-card-mark{overflow:hidden;text-overflow:ellipsis}
@media(max-width:430px){.desk-card-top{flex-wrap:wrap;white-space:normal}.desk-card-mark{font-size:9px;max-width:100%;text-align:right}}

/* Local-news action is visible even if automatic location permission is denied. */
.desk-local-change{margin:6px 0 10px;border:1px solid rgba(86,197,255,.18);background:rgba(86,197,255,.055);border-radius:8px;padding:10px 11px;color:#cbe9f5;font:600 10px var(--mono);letter-spacing:.03em;cursor:pointer;text-align:left}
.desk-local-change:hover,.desk-local-change:focus-visible{color:var(--green);background:rgba(124,255,107,.075);outline:2px solid rgba(124,255,107,.14)}
