.sky-map-block {--sky-line: var(--line); --sky-muted: var(--muted); margin-top: 56px; scroll-margin-top: -96px;}

.sky-map-block .sky-map-heading { display:block; margin-bottom:12px; }
.sky-heading-copy h3 { font-size:clamp(25px,2.8vw,42px); line-height:1.15; letter-spacing:-.025em; }
.sky-map-block .sky-heading-copy p { margin-top:10px; font-size:16px; color:var(--sky-muted); }
.sky-map-block svg { flex-shrink:0; width:22px; height:22px; }
.sky-map-block .check-label {color: #e8edf7; font-size: var(--type-caption); min-height: 44px; display: flex; align-items: center; gap: 9px; margin: 0; white-space: nowrap;}
.sky-map-block input[type=checkbox] { accent-color:#d3ff5b; width:18px; height:18px; }
.sky-observer-tools { display:flex; align-items:center; flex-wrap:wrap; gap:0 16px; }
.sky-observer-tools button {border: 0; background: none; min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 0; font-size: var(--type-caption); color: #e5eaf5;}
.sky-observer-tools button+button { border-left:1px solid var(--sky-line); padding-left:16px; }
.sky-observer-tools button span { overflow-wrap:anywhere; }
.sky-observer-tools button[aria-expanded=true] { color:var(--accent); }
.sky-observer-tools .sky-tonight { color:var(--sky-muted); font-size:12px; }
.sky-observer-dock { grid-column:1/-1; min-width:0; margin-bottom:26px; }
.sky-settings-panel { position:relative; padding:40px 0 20px; border-bottom:1px solid var(--sky-line); margin-top:10px; }
.sky-settings-panel form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.sky-settings-panel label {width: 100%; min-width: 0; color: var(--sky-muted); font-size: var(--type-label);}
.sky-settings-panel input,.sky-settings-panel select {box-sizing: border-box; width: 100%; min-width: 0; color-scheme: dark;}
.sky-settings-panel .experience-status {font-size: var(--type-caption); overflow-wrap: anywhere; margin: 14px 0 0;}
.sky-settings-panel .experience-status:empty { display:none; }
.sky-settings-close { position:absolute; top:0; right:0; display:grid; place-items:center; padding:0; width:44px; height:44px; border:0; background:none; color:var(--sky-muted); }
.sky-settings-panel .sky-manual { margin-top:12px; }
.sky-settings-panel .manual-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding:12px 0 0; }
.sky-settings-panel .manual-fields label { min-width:0; }
.sky-settings-panel .manual-fields label:nth-child(n+3),.sky-settings-panel .manual-fields button { grid-column:1/-1; }
.sky-time-shortcuts { display:flex; flex-wrap:wrap; gap:8px 20px; width:100%; }
.sky-time-shortcuts button { font-size:var(--type-control); }
.sky-time-shortcuts #sky-tonight { color:var(--sky-muted); }

.sky-observer-caption { color:var(--sky-muted); font-size:12px; margin:0 0 14px; }
.sky-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.32fr); gap:36px; }
.sky-workspace { row-gap:0; }
.sky-workspace>.sky-observer-dock { grid-column:2; grid-row:1; padding-left:30px; border-left:1px solid var(--sky-line); margin-bottom:0; padding-top:20px; }
.sky-workspace>.sky-chart-area { grid-column:1; grid-row:1 / span 2; }
.sky-workspace>.sky-inspector { grid-column:2; grid-row:2; }
.sky-selection-summary,.sky-picker-label { display:none; }
.sky-chart-area { min-width:0; }
.sky-map-block .sky-stage { height:min(800px,calc(100svh - 280px)); min-height:360px; aspect-ratio:auto; border:0; background:none; overflow:hidden; }

.sky-map-block .sky-object {position: static; max-width: none; padding: 0; margin: 12px 0 22px; border: 0; background: none; color: var(--sky-muted); font-size: var(--type-caption); line-height: 1.75;}
.sky-chart-footer { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:12px; }
.sky-chart-footer p {font-size: var(--type-caption); line-height: 1.8; color: var(--sky-muted);}
.sky-chart-footer p span { color:var(--sky-muted); }
.sky-zoom-controls { display:flex; gap:12px; align-items:center; flex-shrink:0; }
.sky-zoom-controls>div {display: flex; border: 1px solid var(--sky-line); border-radius: var(--ui-radius); overflow: hidden;}
.sky-zoom-controls button,.sky-zoom-controls output {min-height: 44px; min-width: 44px; display: grid; place-items: center; font-size: var(--type-control); background: transparent; border: 0; padding: 0;}
.sky-zoom-controls output { border-inline:1px solid var(--sky-line); width:48px; }
.sky-zoom-controls>button {border: 1px solid var(--sky-line); padding: 0 18px; border-radius: var(--ui-radius);}
.sky-inspector { border-left:1px solid var(--sky-line); padding:20px 0 0 30px; min-width:0; align-self:start; }
.sky-inspector-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.sky-inspector-title { position:relative; z-index:2; }
.sky-inspector-title h4 { margin:0; font-size:clamp(26px,2.8vw,38px); line-height:1.2; font-weight:500; letter-spacing:-.025em; }
.sky-inspector-title h4 { min-width:0; overflow-wrap:anywhere; }
.sky-portrait-stage { position:relative; width:100%; aspect-ratio:1; margin:20px 0 12px; }
.sky-portrait-stage canvas,.sky-portrait-stage>svg { width:100%; height:100%; object-fit:contain; }
.sky-map-block #sky-constellation-portrait { display:block; width:100%; height:100%; overflow:visible; }
.sky-portrait-note {position: absolute; left: 0; right: 0; bottom: 0; margin: 0; color: var(--sky-muted); font-size: var(--type-caption); line-height: 1.5; text-align: center;}
.sky-object-picker { position:relative; flex-shrink:0; }
.sky-object-picker>summary { list-style:none; display:grid; place-items:center; width:44px; height:44px; cursor:pointer; }
.sky-object-picker>summary::-webkit-details-marker { display:none; }
.sky-object-picker>summary svg {fill: none; stroke: currentColor; stroke-width: var(--icon-stroke);}
.sky-object-picker[open]>summary { color:var(--accent); }
.sky-object-menu { position:absolute; top:calc(100% + 8px); right:0; z-index:12; width:min(320px,calc(100vw - 48px)); max-height:calc(100svh - 140px); overflow-y:auto; padding:14px; border:1px solid var(--sky-line); border-radius:6px; background:var(--ink); }
.sky-object-menu input,.sky-object-menu select {width: 100%; margin-bottom: 10px;}
#sky-object-results { max-height:min(340px,45svh); overflow-y:auto; overscroll-behavior:contain; }
#sky-object-results button { width:100%; min-height:52px; padding:8px; text-align:left; display:grid; gap:2px; border-bottom:1px solid var(--sky-line); }
#sky-object-results button strong {font-size: var(--type-control); font-weight: 400;}
#sky-object-results button small {font-size: var(--type-control); color: var(--sky-muted);}
#sky-object-results button[aria-pressed=true] strong { color:var(--accent); }
.sky-object-pages { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; font-size:12px; }
.sky-object-pages button {width: 44px; min-height: 44px; border: 1px solid var(--sky-line); border-radius: var(--ui-radius);}

.sky-map-block [hidden] { display:none!important; }
.sky-selected-kind {color: var(--sky-muted); font-size: var(--type-body); text-transform: none;}
.sky-details {display: inline-flex; gap: 24px; align-items: center; padding: 12px 20px; text-decoration: none;}
.sky-inspector-layers { border-top:1px solid var(--sky-line); margin-top:28px; padding-top:24px; }
.sky-inspector-layers h5 { color:var(--sky-muted); font-size:12px; font-weight:400; margin:0 0 12px; }
.sky-inspector-layers .check-label { margin:0; min-height:44px; }
.sky-inspector #sky-card-save {width: 100%; margin-top: 26px; justify-content: center; gap: 14px;}
.sky-inspector #sky-card-status {color: var(--sky-muted); font-size: var(--type-caption); line-height: 1.5; margin-top: 12px;}
.sky-photo-credit {display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin: 22px 0 8px; color: var(--sky-muted); font-size: var(--type-caption); line-height: 1.6;}
.sky-photo-credit a { color:var(--sky-muted); text-underline-offset:3px; }
.sky-map-block .experience-note { color:var(--sky-muted); }
@media(hover:hover) and (pointer:fine) { .sky-map-block button:not(.ui-button):not(:disabled):not([aria-disabled="true"]):hover {color: #d3ff5b; background: #d3ff5b08;} }
@media(max-width:1150px) { .sky-observer-tools { gap:12px; flex-wrap:wrap; } .sky-observer-tools button+button { padding-left:12px; } .sky-workspace { grid-template-columns:minmax(0,1fr) 225px; gap:20px; } .sky-inspector { padding-left:20px; } .sky-chart-footer { align-items:start; flex-direction:column-reverse; } }
@media(max-width:1150px) { .sky-workspace>.sky-observer-dock { padding-left:20px; } }
@media(max-width:760px) {
  .sky-observer-tools { width:100%; justify-content:flex-start; gap:12px; }
  .sky-workspace { display:block; }
  .sky-workspace>.sky-observer-dock { border:0; padding:0; margin-bottom:18px; }
  .sky-selection-summary:not([hidden]) { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:64px; padding:12px 0; text-align:left; border-bottom:1px solid var(--sky-line); }
  .sky-selection-summary>span { min-width:0; }
  .sky-selection-summary strong { display:block; color:var(--paper); font-size:var(--type-body); font-weight:500; overflow-wrap:anywhere; }
  .sky-selection-summary span span { display:block; margin-top:4px; color:var(--sky-muted); font-size:var(--type-caption); line-height:1.6; overflow-wrap:anywhere; }
  .sky-object-picker>summary { display:flex; gap:8px; width:auto; min-height:44px; padding-inline:8px; font-size:var(--type-control); }
  .sky-picker-label { display:inline; }
  .sky-map-block .sky-stage { min-height:0; width:100%; height:auto; aspect-ratio:1; }
  .sky-chart-footer { flex-direction:column-reverse; gap:14px; }
  .sky-zoom-controls { width:100%; justify-content:space-between; }
  .sky-inspector { border-left:0; border-top:1px solid var(--sky-line); margin-top:26px; padding:26px 0 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:22px; }
  .sky-observer-dock { margin-bottom:22px; }
  .sky-inspector-title { grid-column:1/-1; }
  .sky-inspector .sky-portrait-stage { grid-column:1; grid-row:2/5; align-self:center; }
  .sky-selected-kind,.sky-object,.sky-details { grid-column:2; align-self:start; }
  .sky-inspector-layers { grid-column:1; margin-top:22px; }
  .sky-inspector #sky-card-save { grid-column:2; align-self:center; margin:22px 0 0; }
  #sky-card-status { grid-column:1/-1; }
  .sky-details {justify-content: center; gap: 12px; padding: 12px;}
}
@media(prefers-reduced-motion:reduce) { .sky-map-block * { scroll-behavior:auto; } }
