.feed-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.feed-heading h2 { margin:8px 0; }
.feed-card { position:relative; padding:16px 0; border-bottom:1px solid var(--sand); overflow-wrap:anywhere; }
.feed-card h3 { font-size:1.05rem; margin:10px 0 5px; }
.feed-card h3 a { color:var(--ink); display:inline-block; min-height:44px; padding:6px 0; }
.feed-chip { display:inline-flex; align-items:center; gap:4px; border-radius:99px; padding:4px 9px; margin:2px 4px 2px 0; background:var(--bg); color:var(--ink); font-size:.78rem; font-weight:650; }
.feed-official_source,.feed-admin { background:#e4f3f6; color:#07506c; }
.feed-unconfirmed { background:#fff3d6; color:#76500b; }
.feed-safety,.feed-urgent { background:#fae8e6; color:#8d302b; }
.feed-demo { border:1px dashed var(--fog); }
.feed-priority { border-left:4px solid var(--alert); padding-left:12px; }
.feed-past { background:#f0f2f3; color:#44525c; }
.feed-past .feed-chip { background:#e3e7e9; color:#44525c; }
.feed-past h3 a { color:#44525c; }
.feed-unread { display:inline-block; height:8px; width:8px; border-radius:50%; background:var(--teal); margin-left:8px; }
.feed-source,.feed-card time { color:var(--fog); font-size:.85rem; margin:4px 0; }
.feed-body { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.feed-tabs { display:flex; gap:6px; flex-wrap:wrap; margin:12px 0; }
.feed-tabs button { border-radius:99px; background:var(--paper); color:var(--teal); border:1px solid var(--teal); }
.feed-tabs button[aria-pressed=true] { background:var(--teal); color:white; }
.feed-see-all { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; }
.feed-publisher { max-width:520px; padding:16px; }
.feed-publisher label { display:block; margin:12px 0; font-weight:600; }
.feed-publisher input:not([type=checkbox]),.feed-publisher textarea,.feed-publisher select { display:block; width:100%; box-sizing:border-box; border:1px solid var(--fog); border-radius:14px; padding:12px; font:inherit; margin-top:6px; background:var(--paper); color:var(--ink); }
.feed-publisher input[type=checkbox] { width:22px; height:22px; vertical-align:middle; margin:11px 8px 11px 0; }
.feed-publisher button,.feed-tabs button,.feed-heading button,.feed-actions button,[data-feed-retry],[data-activities-retry],[data-ack] { min-height:44px; padding:10px 14px; cursor:pointer; }
.feed-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
.feed-publisher [hidden] { display:none; }
.feed-publisher :focus-visible,.feed-card a:focus-visible,.home-actions a:focus-visible,.feed-tabs button:focus-visible { outline:3px solid var(--ocean); outline-offset:3px; }
.event-info-panel { overflow-wrap:anywhere; }
.event-info-panel input { display:block; width:100%; min-height:44px; box-sizing:border-box; margin:8px 0 16px; padding:10px; border:1px solid var(--fog); border-radius:14px; font:inherit; }
.event-info-panel summary { min-height:44px; padding:12px 0; cursor:pointer; font-weight:600; }
.event-info-panel details { border-bottom:1px solid var(--sand); }
.event-info-table { overflow-x:auto; }
.event-info-table table { width:100%; border-collapse:collapse; font-size:.85rem; }
.event-info-table th,.event-info-table td { text-align:left; vertical-align:top; padding:10px 4px; border-bottom:1px solid var(--sand); }
.event-info-table caption { text-align:left; padding-bottom:12px; }
.event-info-footer { color:var(--fog); margin:20px 0; font-size:.9rem; }
.event-info-footer button,[data-info-retry],[data-plan-retry] { min-height:44px; padding:10px 14px; }
.event-info-panel :focus-visible,.event-info-footer button:focus-visible { outline:3px solid var(--ocean); outline-offset:3px; }

#home-news{padding:8px 12px;border-radius:16px;margin:12px 0}.feed-heading{gap:6px;flex-wrap:nowrap}.feed-heading h2{font-size:1rem;flex:1}.feed-heading .feed-see-all{font-size:.75rem;margin:0;text-decoration:none;white-space:nowrap}.feed-heading [data-feed-post]{padding:0;min-width:44px;background:transparent;color:var(--teal)}.home-news-row{border-bottom:1px solid #edf2f4}.home-news-row:last-child{border-bottom:0}.home-news-row>a{display:flex;align-items:center;gap:10px;min-height:58px;padding:6px 0;color:var(--ticker);text-decoration:none}.news-icon{display:grid;place-items:center;flex:none;width:32px;height:36px;background:#eff8f8;border-radius:9px;color:var(--teal)}.news-admin{color:#d33e61;background:#fff0f4}.news-official_source{color:#167bb4;background:#eaf5ff}.news-safety{color:#a74428;background:#fff0e5}.news-crew{color:#10816d;background:#e9f7ee}.news-unconfirmed{color:#795700;background:#fff6df}.news-copy{flex:1;min-width:0}.news-copy strong{display:block;font-size:.8rem;font-weight:800;line-height:1.35}.news-copy small{display:block;color:var(--fog);font-size:.68rem;margin-top:2px}.news-copy small .feed-chip{display:inline;background:transparent;color:inherit;padding:0;margin:0;font-size:inherit;font-weight:400}
.feed-tabs,.feed-card,.feed-chip{backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.feed-card{background:var(--glass);border:var(--glass-border);border-radius:16px;padding:16px}.feed-tabs{background:var(--glass);border-radius:24px;padding:4px}

/* Home occupies the space between the shell top bar and ticker over bg-home. */
main[data-view="home"]{position:fixed;top:var(--topbar-h,65px);left:0;right:0;bottom:0;height:calc(100dvh - var(--topbar-h,65px));min-height:0;box-sizing:border-box;padding:8px 12px calc(var(--ticker-h,40px) + var(--nav-h,64px) + env(safe-area-inset-bottom,0px));overflow:hidden}
main[data-view="home"]:has(.home-screen){padding-bottom:0}
.home-screen{display:flex;flex-direction:column;gap:8px;box-sizing:border-box;height:calc(100dvh - var(--topbar-h,65px) - var(--home-ticker-h,var(--ticker-h,40px)) - var(--nav-h,64px) - env(safe-area-inset-bottom,0px) - 8px);min-height:0;overflow:hidden;margin:0 auto;max-width:520px;width:100%;color:var(--ink)}
.home-top,.home-screen #home-news,.home-screen .home-actions>*{background:var(--glass);border:var(--glass-border);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border-radius:16px}
.home-greeting{flex:1;min-width:0}.home-greeting h1{font-size:19px;line-height:1.2;margin:0 0 6px;overflow-wrap:anywhere}.home-greeting p{font-size:12px;line-height:1.3;margin:0}
.home-top [data-countdown]{min-width:0;text-align:right;font-size:13px;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.home-days{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;white-space:nowrap}.home-days strong{font-size:46px;line-height:1}.home-days span{font-size:20px;font-weight:700}.home-days small{font-size:11px}.home-departing{font-size:13px;margin:4px 0 0}.home-clock{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15;color:var(--ink,#182733);text-align:right;margin:4px 0 0}.home-clock small{font-size:15px;color:inherit}
.home-screen #home-news{display:flex;flex-direction:column;flex:1 1 224px;min-height:132px;max-height:240px;overflow:hidden;margin:0;padding:0 10px}
.home-screen .feed-heading{flex:none;min-height:44px}.home-screen .feed-heading h2{font-size:15px;margin:0}.home-news-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.home-news-all{display:flex;align-items:center;min-height:44px;color:var(--teal);font-size:12px}.home-news-row{overflow-wrap:anywhere}
.home-screen .home-actions{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr 1fr;height:310px;min-height:170px;max-height:310px;gap:10px;margin:0}
.home-screen .home-actions>.ec-banner{height:auto;min-height:80px;max-height:150px;align-self:stretch;aspect-ratio:auto;box-sizing:border-box;border-radius:14px;padding:4px 10px;align-items:flex-start;background-size:cover;background-position:center right}
.home-screen .home-actions>.ec-banner span{font-size:17px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.home-screen .news-copy strong{font-size:14px}
.home-screen :focus-visible{outline:3px solid var(--ocean);outline-offset:-3px}

/* The weather and status rows belong to the glass hero, outside the news scroller. */
.home-top{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,1.25fr);align-items:center;box-sizing:border-box;padding:10px;gap:4px 8px;background:rgba(255,255,255,.30);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 6px 22px rgba(12,44,54,.12);color:var(--ink,#12343c);text-shadow:0 1px 1px rgba(255,255,255,.5)}
.home-pills,.home-local{grid-column:1/-1;min-width:0}
.home-pills{display:flex;flex-wrap:wrap;gap:3px;font-size:12px;line-height:1.2}
.home-pills:empty{display:none}.home-pills span{border-radius:9px;padding:2px 5px;background:var(--glass)}
.home-local{display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.6)}
.home-local button{color:inherit;background:transparent;border:0;text-shadow:inherit;min-height:44px;padding:3px 0;font-size:12px;line-height:1.25;text-align:left}
.home-local [data-local-now]{flex:1;width:100%;min-width:0}.home-local [data-use-location]{flex:0 0 87px;font-size:12px;margin-left:5px}.home-local [hidden]{display:none}
.home-aboard{font-size:11px;margin:2px 0 0}.home-top [data-level="soon"] .home-aboard{color:#794600}.home-top [data-level="urgent"] .home-aboard{color:#a01621;font-weight:700}
.home-news-list[data-pull]::before{content:attr(data-pull);display:block;text-align:center;padding:8px;font-size:12px;color:var(--ink)}
.home-news-list[aria-busy="true"]::after{content:'';display:block;width:16px;height:16px;border:2px solid #abc;border-top-color:var(--ink);border-radius:50%;animation:home-refresh 1s linear infinite;position:sticky;bottom:4px;margin:auto}
@keyframes home-refresh{to{transform:rotate(360deg)}}
@supports not ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))){.home-top{background:rgba(255,255,255,.90)}}
@media(prefers-reduced-motion:reduce){.home-news-list[aria-busy="true"]::after{animation:none}}

.home-checklist{flex:none;display:flex;align-items:center;min-height:44px;box-sizing:border-box;padding:6px 12px;font-size:13px;text-decoration:none}
.home-checklist[hidden]{display:none}
.home-onboard{display:block;min-height:44px;color:inherit;text-decoration:none}
/* Preserve the countdown hierarchy while fitting the short phone viewport. */
@media(max-width:380px){.home-top{grid-template-columns:minmax(0,1fr) minmax(170px,1.25fr)}.home-clock{font-size:26px}.home-days strong{font-size:40px}}
@media(max-height:700px){
  .home-screen{gap:4px}
  .home-top{padding:4px 5px;gap:2px 5px}
  .home-greeting h1{font-size:15px;margin-bottom:2px}
  .home-greeting p{display:none}
  .home-local button{min-height:32px;font-size:11px}
  .home-pills{font-size:11px;grid-column:1;grid-row:1;align-self:end}
  .home-greeting{grid-column:1;grid-row:1;align-self:start}
  .home-greeting:has(~ .home-pills:not(:empty)){padding-bottom:20px}
  .home-top [data-countdown]{grid-column:2;grid-row:1}
  .home-screen:has(.home-checklist:not([hidden])) .home-local{grid-column:1;grid-row:2}
  .home-screen:has(.home-checklist:not([hidden])) .home-top [data-countdown]{grid-row:1/3}
  .home-pills span{padding:1px 4px}
  .home-checklist{min-height:28px;padding:2px 8px}
}
/* Recover ten pixels on tall phones so capped news and tabs reach the ticker. */
@media(min-height:900px){.home-top{padding-top:5px;padding-bottom:5px}}

/* Frosted text surfaces; image tiles retain their own backgrounds. */
.home-checklist.ec-solid{background:var(--glass);color:var(--ink);border:var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}
