.sky-panel { padding:20px; container-type:inline-size; margin-bottom:36px; }
.sky-panel .panel-head { gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.sky-panel .eyebrow { font-size:.75rem; }
.sky-panel .panel-head h2 { font-size:1.65rem; line-height:1.4; }
.sky-button { background:#243b50; color:#bdeaff; border:0; border-radius:8px; padding:10px 14px; min-height:44px; font:inherit; font-size:.875rem; cursor:pointer; }
.sky-button:hover { background:#304f67; }
.sky-button:disabled { opacity:.55; cursor:wait; }
.sky-panel button:focus-visible,.sky-dialog button:focus-visible,.sky-dialog input:focus-visible,.sky-sources summary:focus-visible { outline:2px solid #7bd9f3; outline-offset:3px; }
.sky-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#b3c4d5; font-size:.875rem; margin-bottom:16px; flex-wrap:wrap; }
.sky-text-button { background:none; border:0; color:#8edaf2; padding:8px; font-size:.875rem; cursor:pointer; }
.sky-panel .live-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.sky-tile { background:#202f43; border-radius:10px; padding:14px; min-width:0; border:0; font:inherit; text-align:left; cursor:pointer; color:inherit; }
.sky-tile:hover { background:#29415a; }
.sky-tile i { float:right; font-style:normal; color:#7bd9f3; }
.sky-tile>span { display:block; color:#abc1d3; font-size:.875rem; }
.sky-tile>strong { display:block; color:#b5edff; font-size:1.05rem; font-weight:400; margin:10px 0 7px; line-height:1.4; overflow-wrap:anywhere; }
.sky-tile>small { display:block; font-size:.75rem; line-height:1.5; color:#b1c4d4; }
.sky-window-tile { grid-column:1 / -1; }
.sky-window-tile>strong { font-size:1.15rem; margin:8px 0; }
.sky-status { font-size:.75rem; line-height:1.8; color:#aac0d3; margin:16px 0 8px; }
.sky-sources { font-size:.75rem; line-height:1.8; color:#aac0d3; }
.sky-sources summary { cursor:pointer; }
.sky-sources a { color:#8cdef7; text-decoration:underline; }
.sky-dialog { color:#edf5fc; background:#182638; border:1px solid #385169; border-radius:16px; padding:24px; width:min(520px,calc(100% - 32px)); max-height:85dvh; overflow:auto; }
.sky-dialog::backdrop { background:#050b14b8; }
.sky-dialog-head { display:flex; gap:16px; align-items:center; justify-content:space-between; }
.sky-dialog h2 { margin:0; font-size:1.4rem; }
.sky-dialog-head button { border:0; background:none; color:#bdeaff; font-size:1.8rem; width:44px; height:44px; cursor:pointer; }
.sky-dialog p { font-size:.875rem; color:#b1c4d4; line-height:1.7; }
.sky-dialog label { display:block; margin-bottom:8px; font-size:.875rem; }
.sky-search-row { display:flex; gap:8px; }
.sky-search-row input { min-width:0; flex:1; font:inherit; font-size:1rem; color:#eff8ff; background:#101d2b; border:1px solid #496078; border-radius:8px; padding:10px 12px; }
.sky-location-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.sky-results { display:grid; gap:8px; }
.sky-results button { text-align:left; white-space:normal; line-height:1.7; }
.sky-results small { display:block; color:#b1c4d4; font-size:.75rem; }
.sky-planets { margin-top:24px; }
.sky-planets h3 { font-size:1rem; font-weight:400; color:#e2edf4; margin:0 0 8px; }
.sky-planets>p { color:#aac0d3; font-size:.75rem; line-height:1.8; margin:0 0 14px; }
.sky-planet-row { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:8px 16px; margin:10px 0; padding:14px 16px; background:#202f43; border-radius:8px; }
.sky-planet-row h4 { margin:0; font-size:1rem; font-weight:400; color:#b5edff; }
.sky-planet-row strong { font-size:.875rem; font-weight:400; color:#e2edf4; line-height:1.7; white-space:pre-line; }
.sky-planet-row p { margin:5px 0 0; font-size:.75rem; color:#b1c4d4; line-height:1.8; white-space:pre-line; }
.sky-detail-dialog { width:min(780px,calc(100% - 24px)); max-height:88dvh; }
.sky-detail-dialog .sky-dialog-head { position:sticky; top:-24px; padding:12px 0; z-index:1; background:#182638; }
.sky-detail-dialog a { color:#8edaf2; text-decoration:underline; }
.sky-detail-copy { white-space:pre-line; font-size:1rem!important; line-height:1.9!important; }
.sky-detail-dialog .sky-sources { margin-top:24px; }
.sky-table-scroll { overflow-x:auto; }
.sky-table { width:100%; border-collapse:collapse; font-size:.875rem; line-height:1.7; }
.sky-table caption { text-align:left; margin-bottom:12px; font-size:1.1rem; }
.sky-table th,.sky-table td { text-align:left; padding:10px 8px; vertical-align:top; border-bottom:1px solid #31485e; }
.sky-table th { color:#bdeaff; font-weight:400; }
.sky-table .sky-upcoming { background:#233e51; }
.sky-table .sky-past { color:#91a6b9; }
.sky-table td small { display:block; font-size:.75rem; }
.sky-star-table { min-width:600px; }
.sky-star-table td:nth-child(1) { min-width:125px; }
.sky-star-table td:nth-child(3) { min-width:100px; }
.sky-star-table td:nth-child(4) { min-width:150px; }
.sky-calendar-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 10px; }
.sky-calendar-nav h3 { font-size:1.1rem; margin:0; }
.sky-weekdays,.sky-moon-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.sky-weekdays { text-align:center; color:#b1c4d4; font-size:.875rem; margin:10px 0; }
.sky-moon-calendar button { min-width:0; min-height:78px; border:1px solid transparent; border-radius:7px; background:#20344b; color:#edf5fc; padding:8px 2px; font:inherit; cursor:pointer; }
.sky-moon-calendar button[aria-pressed=true] { border-color:#8edaf2; background:#29455d; }
.sky-moon-calendar button[aria-current=date] { box-shadow:inset 0 -3px #8edaf2; }
.sky-moon-calendar span,.sky-moon-calendar small { display:block; font-size:.75rem; }
.sky-moon-calendar .sky-phase-icon { font-size:1.2rem; margin:3px 0; }
.sky-detail-dialog details.sky-day { background:#20344b; border-radius:8px; padding:12px; margin:10px 0; }
.sky-day summary { cursor:pointer; color:#d6edfc; font-size:.875rem; line-height:1.8; }
@container (max-width:520px) { .sky-panel .live-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:801px) and (max-width:1100px) {
  .app-shell { grid-template-columns:190px minmax(0,1fr) 230px; }
  .content { padding-left:22px; padding-right:22px; }
  .sky-panel { padding:18px; }
}
@media (max-width:520px) {
  .sky-panel { padding:18px; }
  .sky-tile { padding:12px; }
  .sky-panel .panel-head { align-items:flex-start; }
  .sky-detail-dialog { padding:16px; }
  .sky-detail-dialog .sky-dialog-head { top:-16px; }
  .sky-table th,.sky-table td { padding:8px 5px; font-size:.75rem; }
  .sky-moon-calendar { gap:3px; }
}
