/* ParksRadar — LIVE SHELL stylesheet (LIVE-SHELL-01, 2026-09-13).
 *
 * index.html is a thin shell: markup, stylesheet links and <script src> tags only. The profile /
 * app chrome lives in /assets/profile.css (the ONE copy every page shares); this file carries only
 * what the landing itself draws from JSON: the "Today across the parks" strip, the landing news
 * card, the community card, the social row and the news modal. No park data, no HTML, no logic. */

/* ── "Today across the parks" strip + grid (drawn by assets/app-shell.js from GET /homepage) ── */

  .hp-summary{background:#fffaf0;border:1px solid var(--line);border-radius:14px;padding:13px 17px;margin:4px auto 14px;max-width:1080px}
.hp-sum-h{font:800 10.5px system-ui,Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#b1442e;margin-bottom:5px}
.hp-sum-lead{font-size:14.5px;color:#402f1d}
.hp-sum-lead b{font-family:Georgia,serif;font-size:19px;color:#2f2113}
.hp-sum-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.hp-sum-b{font-size:12.5px;color:#5e4a30;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:7px;padding:3px 9px}
.hp-sum-b b{color:#3d2b1a;font-weight:800}
.hp-sum-note{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}
.hp-grid-wrap{max-width:1080px;margin:0 auto;padding:0 0 6px}
.hp-h2{font-family:Georgia,serif;font-size:21px;color:#2f2113;margin:0 0 3px}
.hp-sub{color:var(--muted);font-size:13px;margin:0 0 16px;line-height:1.5}
.hp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.hp-card{position:relative;display:flex;flex-direction:column;gap:2px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px 16px;text-decoration:none;color:inherit;transition:transform .08s,box-shadow .08s}
.hp-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(120,80,40,.12);border-color:var(--brown)}
.hp-card.is-closed{opacity:.62}
.hp-badge{align-self:flex-start;font-size:11px;font-weight:800;color:#fff;padding:3px 9px;border-radius:20px;margin-bottom:6px}
.hp-card.is-closed .hp-badge{color:#5e4d31}
.hp-name{font-size:15px;font-weight:700;color:#2f2113;line-height:1.25}
.hp-place{font-size:11.5px;color:var(--muted)}
.hp-today{font-size:12px;color:#5e4d31;margin-top:7px;font-weight:600}
@media(max-width:1040px){.hp-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.hp-grid{grid-template-columns:repeat(2,1fr)}}


/* ── Landing news card (GET /news) ── */
.lp-news{max-width:760px;margin:20px auto 0;padding:0 16px}
.lpn-card{background:#fffaf0;border:1.5px solid #e6d6ba;border-left:5px solid #b1442e;border-radius:14px;padding:16px 18px}
.lpn-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.lpn-title{font-family:Georgia,serif;font-weight:700;color:#573b2c;font-size:18px}
.lpn-all{font-size:13px;font-weight:700;color:#b1442e;background:none;border:none;cursor:pointer;font-family:inherit;padding:0}
.lpn-all:hover{text-decoration:underline}
.lpn-list{list-style:none;margin:0;padding:0}
.lpn-list li{padding:9px 0;border-top:1px solid #eadfc8}
.lpn-list li:first-child{border-top:none}
.lpn-list a{color:#3d2b1a;text-decoration:none;font-weight:600;font-size:14px;line-height:1.35}
.lpn-list a:hover{text-decoration:underline}
.lpn-meta{display:block;font-size:11px;color:#8a7456;margin-top:2px}
.lpn-src{color:#b1442e;font-weight:700;text-transform:uppercase;letter-spacing:.3px}


/* ── Community card ── */
.lp-community{max-width:760px;margin:20px auto 4px;padding:0 16px}
.comm-card{background:#fffaf0;border:1.5px solid #e6d6ba;border-left:5px solid #ff4500;border-radius:14px;padding:16px 18px}
.comm-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.comm-head .ricon{width:30px;height:30px;fill:#ff4500;flex:0 0 auto}
.comm-head>.comm-txt{flex:1 1 200px}
.comm-title{font-family:Georgia,serif;font-weight:700;color:#573b2c;font-size:18px}
.comm-sub{color:#8a7456;font-size:13.5px}
.comm-btn{background:#ff4500;color:#fff;text-decoration:none;font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:9px;white-space:nowrap}
.comm-btn:hover{filter:brightness(1.07)}
.comm-feed{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid #eadfc8}
.comm-feed li{margin:6px 0;font-size:13.5px;line-height:1.4}
.comm-feed a{color:#7a4e26;text-decoration:none}
.comm-feed a:hover{text-decoration:underline}


/* ── Social row ── */
.lp-social{text-align:center;margin:16px 0 6px}
.lp-social .lbl{display:block;color:#8a7456;font-weight:700;font-size:13px;letter-spacing:.3px;margin-bottom:9px}
.lp-social .soc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fbf6e9;border:1.5px solid #e6d6ba;margin:0 6px;transition:transform .15s,background .15s,border-color .15s}
.lp-social .soc svg{width:19px;height:19px;fill:#7a4e26;transition:fill .15s}
.lp-social .soc:hover{transform:translateY(-2px)}
.lp-social .soc:hover svg{fill:#fff}
.lp-social .soc-x:hover{background:#000;border-color:#000}
.lp-social .soc-rd:hover{background:#FF4500;border-color:#FF4500}
.lp-social .soc-pn:hover{background:#E60023;border-color:#E60023}
.lp-social .soc-fb:hover{background:#1877F2;border-color:#1877F2}
.lp-social .soc-ig:hover{background:#E4405F;border-color:#E4405F}
.lp-social .soc-yt:hover{background:#FF0000;border-color:#FF0000}


/* ── News modal ── */
.news-modal{position:fixed;inset:0;background:rgba(61,43,26,.45);display:none;align-items:flex-start;justify-content:center;z-index:4000;padding:38px 14px;overflow:auto}
.news-modal.show{display:flex}
.news-card{background:#f6eedd;border-radius:16px;max-width:940px;width:100%;padding:20px 22px 24px;box-shadow:0 20px 60px rgba(61,43,26,.35);position:relative}
.news-card .nm-x{position:absolute;top:11px;right:14px;background:none;border:none;font-size:25px;line-height:1;color:#8a7456;cursor:pointer}
.nm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:2px 28px 15px 0}
.nm-title{font-family:Georgia,serif;font-weight:700;color:#573b2c;font-size:22px;margin:0}
.nm-sub{color:#8a7456;font-size:13px;margin-top:2px}
.news-select{font:inherit;font-size:14px;padding:8px 12px;border:1.5px solid #e6d6ba;border-radius:10px;background:#fffaf0;color:#573b2c;font-weight:600;cursor:pointer}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:13px}
.news-tile{display:flex;flex-direction:column;background:#fffaf0;border:1px solid #e6d6ba;border-radius:13px;padding:13px 15px;transition:transform .12s,box-shadow .12s;text-decoration:none}
.news-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(87,59,44,.12)}
.news-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.news-src{font-size:11px;font-weight:700;color:#b1442e;text-transform:uppercase;letter-spacing:.4px}
.news-date{font-size:11px;color:#8a7456;white-space:nowrap}
.news-title{font-family:Georgia,serif;font-weight:700;color:#3d2b1a;font-size:15px;line-height:1.3;margin:0 0 6px}
.news-snip{font-size:12.5px;color:#6a5640;line-height:1.45;flex:1}
.news-read{margin-top:9px;font-size:12px;font-weight:700;color:#7a4e26}
.news-loading,.news-empty{color:#8a7456;padding:34px 4px;text-align:center}
.news-foot{margin-top:16px;font-size:11.5px;color:#8a7456;text-align:center}


/* ── Live shell: the landing ticker sits directly under the world map now that the old 25-park
   radar sketch is gone; the #app main column is empty chrome until a profile mounts in #pp-mount. ── */
.lp-map-wrap{padding:0}
#app main.main:empty{min-height:40vh}
/* Quiet-parks chips are anchors now (deep links to ?park=), not buttons — keep the chip look. */
a.quiet-chip{text-decoration:none}
a.quiet-chip:hover{text-decoration:none}
