/* Terminal interface theme. Image pixels and geometry stay untouched. */
@font-face{font-family:"Departure Mono";src:url("/assets/fonts/DepartureMono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
 --bg:#08090a;--surface:#101113;--line:#383a3c;--ink:#eeeae3;--muted:#969899;
 --red:#fa503c;--mono:"Departure Mono","SFMono-Regular",Consolas,monospace;
 --display:"Departure Mono","Arial Narrow",Arial,sans-serif;
}
body{background-color:var(--bg);background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,#ffffff02 3px,#ffffff02 4px);font-size:14px}
button,.button,select{font-family:var(--mono)}
button,.button{border-color:#6c4843;letter-spacing:.1em;transition:background-color .12s,color .12s,border-color .12s}
button:hover,.button:hover{background:var(--red);border-color:var(--red);color:var(--bg)}
:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
::selection{background:var(--red);color:var(--bg)}
h2{font-family:var(--display);font-weight:600;font-size:34px;letter-spacing:.045em;line-height:1.1;text-transform:uppercase;color:var(--ink)}
.pass-title h2{font-size:32px}
.archive-heading{margin-bottom:24px}
.filter select{background:#0b0c0d;border-color:#55585b;font-size:12px;letter-spacing:.03em;padding-top:8px;padding-bottom:8px}
.filter select:hover{border-color:var(--red)}
.filter select:focus,.filter select:focus-visible{outline:none;box-shadow:none;border-color:var(--red)}
.filter .images-filter{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.images-filter input{border-color:#8a8c8d}
.images-filter input:checked{background:var(--red);border-color:var(--red)}

/* Inventory-like image records: hard frames, sparse type and corner indicators. */
.card{background:#0b0c0e;border-color:#444648;position:relative;transition:border-color .12s}
.card:hover,.card:focus-within{border-color:var(--red)}
.card-image{border-bottom-color:#444648;background:#050607}
.card-image::after{content:"";position:absolute;inset:7px;pointer-events:none;opacity:0;background:linear-gradient(var(--red),var(--red)) left top/14px 2px no-repeat,linear-gradient(var(--red),var(--red)) left top/2px 14px no-repeat,linear-gradient(var(--red),var(--red)) right bottom/14px 2px no-repeat,linear-gradient(var(--red),var(--red)) right bottom/2px 14px no-repeat}
.card:hover .card-image::after,.card:focus-within .card-image::after{opacity:1}
.card-body{padding:16px;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#ffffff02 3px,#ffffff02 4px)}
.card-body h3{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:.04em;line-height:1.2}
.card-body .date{font-size:12px;letter-spacing:.02em}
.card-elevation,.card-window{font-size:12px}
.card-window{color:#b0b0ad}
.card:hover .card-body h3{color:var(--red)}
.no-image{background:repeating-linear-gradient(0deg,#0b0c0e,#0b0c0e 3px,#151617 3px,#151617 4px)}
.signal-pattern{color:#9a827c;border-color:#5b3a35}
.signal-pattern>span:first-child,.signal-pattern>span:last-child{color:var(--red)}

/* Timeline geometry, gesture handling and elevation semantics are unchanged. */
.timeline-dates{font-family:var(--display);font-size:19px;letter-spacing:.055em;font-weight:600;color:var(--ink)}
.forecast-axis{stroke:#55585a}
.forecast-tick{fill:#aaadaa}
.forecast-pass rect{fill:#0c0e10;stroke:#5d6062}
.forecast-name{font-size:12px;font-weight:600;letter-spacing:0;fill:#f5f3ef}
.forecast-window{font-size:11px;fill:#c6c8c8}
.forecast-elevation{font-size:11px;font-weight:600}
.forecast-stem{stroke-opacity:.6}
.timeline-viewport:not(.suppress-chip-hover) .forecast-pass:hover rect,.forecast-pass:focus-visible rect{fill:#1c1615;stroke:currentColor}
.forecast-pass.is-current rect{fill:#211816;stroke:currentColor;stroke-width:1.5;filter:drop-shadow(0 0 3px currentColor)}
.timeline-now line{stroke-width:1.5}
.timeline-now text{font-weight:400;letter-spacing:.08em;stroke:var(--bg);stroke-width:3px}
.timeline-reset{font-size:10px;padding:2px 7px;line-height:1.5;border-color:var(--red);color:var(--red);background:#170d0b;box-shadow:0 0 7px #fa503c33,inset 0 0 4px #fa503c12}
.timeline-reset:hover{background:var(--red);color:var(--bg);box-shadow:0 0 10px #fa503c55}
nav .admin-icon{color:#85888a}
nav .admin-icon:hover,nav .admin-icon.authenticated{color:var(--red);background:transparent;filter:drop-shadow(0 0 3px #fa503c55)}

/* Matched legends on both sidebars; selected channels read as menu selections. */
.image-group legend,.pass-details small{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.12em;line-height:1.2;color:#969899;margin-bottom:10px}
.image-option{font-size:14px;color:#c0c0bc;gap:9px;padding:0 7px;border-left:2px solid transparent;margin-left:-9px;transition:background-color .12s,color .12s}
.image-option:hover{background:#211714;color:var(--ink)}
.image-option:has(input:checked){background:#38201c;border-left-color:var(--red);color:#fff;font-weight:600}
.image-option input{border-color:#858687;background:transparent}
.image-option input:checked{border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 2px #38201c}
.filled-toggle{border-color:var(--line)}
.filled-toggle>span{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.12em;color:#969899}
.filled-toggle input{border-color:#686b6d;background:#111315}
.filled-toggle input:before{background:#85888a}
.filled-toggle input:checked{border-color:var(--red);background:#2a100b;box-shadow:0 0 6px #fa503c25}
.filled-toggle input:checked:before{background:var(--red)}
.pass-details strong{font-size:14px;color:#fff;letter-spacing:.02em}
.pass-status{text-transform:uppercase}
.pass-heading .back-to-archive{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}

.empty{background:repeating-linear-gradient(0deg,#0b0d0f,#0b0d0f 3px,#101214 3px,#101214 4px);border-color:#414548}
.empty h2{font-family:var(--display);font-size:28px;letter-spacing:.1em;color:#b8b9b5}
.reticle{color:var(--red)}
details{background:#0d0f11;border-color:#414548}
summary{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.12em;color:#b4b6b5;padding:12px 16px}
summary:hover{color:var(--red);background:#171211}
details[open]>summary{color:var(--ink);background:#191d20}
.timeline summary{font-size:12px}
.attempt-summary{border-color:var(--line)}
pre{background:#080a0b;color:#bdc0bc}
.other-images figcaption{color:var(--muted);border-color:var(--line)}

@media(max-width:700px){
 .section-heading h2,.pass-title h2{font-size:27px;letter-spacing:.035em}
 .pass-heading .back-to-archive{font-size:21px}
 .image-group legend,.pass-details small,.filled-toggle>span{font-size:12px;letter-spacing:.055em;line-height:1.5}
 .image-option{font-size:11px;gap:5px;padding:0 3px;margin-left:-5px}
 .pass-details strong{font-size:12px}
 .image-option input{flex-basis:10px}
 .filter .images-filter{font-size:11px}
 .timeline-dates{font-size:18px}
}
@media(max-width:380px){.card-body h3{font-size:19px}.card-body .date,.card-window{font-size:11px}.filter select{max-width:180px}}

/* Departure Mono is drawn on an 11px grid. Avoid fractional sizing/tracking
   and synthetic bold, which soften its pixel shapes. */
body{font-size:11px;font-synthesis:none}
.section-heading h2,.pass-title h2,.empty h2{font-size:22px;font-weight:400;letter-spacing:0;line-height:1.5}
.card-body h3{font-size:22px;font-weight:400;letter-spacing:0;line-height:1}
.card-body .date,.card-elevation,.card-window,.filter select,.filter .images-filter,
.image-option,.pass-details strong,.image-group legend,.pass-details small,
.filled-toggle>span,.timeline-reset,.timeline-dates,.forecast-name,.forecast-window,
.forecast-elevation,.forecast-tick,.timeline-now text,summary{font-size:11px;font-weight:400;letter-spacing:0}
.image-option:has(input:checked){font-weight:400}
.timeline-dates{line-height:2;color:var(--ink)}
.pass-heading .back-to-archive{font-size:22px;font-weight:400;letter-spacing:0}
.image-group legend,.pass-details small,.filled-toggle>span{line-height:1.5}
@media(max-width:700px){.pass-heading .back-to-archive{font-size:11px;padding:8px 0}.card-body h3{font-size:22px}}
@media(max-width:380px){.card-body h3{font-size:11px}}
.image-viewer figure{border:1px solid var(--red)}
.attempt-summary{border:0;margin:0 16px;padding:18px 0}
.attempt-summary+.attempt-summary{border-top:1px solid var(--line)}
.title-visibility .timeline-reset{border-color:var(--line);color:var(--muted);background:transparent;box-shadow:none}
.title-visibility .timeline-reset:hover{border-color:var(--red);background:var(--red);color:var(--bg);box-shadow:none}
@media(max-width:700px){.image-option{padding-left:7px;margin-left:-9px}}

.account-bar{min-height:30px;margin-left:auto;justify-content:flex-end;align-items:center}
.timeline-toolbar{padding-top:0;align-items:center}
.brand-row{--header-scale:clamp(.3,calc((100vw - 100px) / 600px),1);display:flex;align-items:center;justify-content:space-between;gap:min(16px,2vw);padding-top:18px}
.brand-logo{display:block;flex:0 0 calc(217.375px * var(--header-scale));width:calc(217.375px * var(--header-scale));min-width:0;height:auto;aspect-ratio:217.375/42}
.brand-row .account-bar{flex:0 0 auto}
.account-bar .admin-icon{height:30px;padding:0 0 0 12px;align-items:center}
.account-bar .admin-icon svg{display:block}
.live-forecast{padding-top:18px}

.pass-details .exact-window{flex-direction:column;align-items:flex-start;justify-content:center;line-height:18px}.exact-window span{white-space:nowrap}


.brand-logo>svg{display:block;width:100%;height:auto}

@font-face{font-family:"Header DIN";src:url("/assets/fonts/DINCondensed-Bold-Caps.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
.site-selector{display:flex;align-items:center;gap:4px;border:0;margin-right:auto}
.site-selector>a{display:flex;align-items:center;justify-content:center;margin:0;padding:0 calc(12px * var(--header-scale));font-family:"Header DIN","DIN Condensed","Arial Narrow",sans-serif;font-size:calc(50px * var(--header-scale));font-weight:700;line-height:1;letter-spacing:.04em;color:var(--muted);border:1px solid transparent}
.site-selector>a:not([aria-current]):hover{color:var(--ink);border-color:var(--red)}
.site-selector>a[aria-current]{background:var(--red);color:var(--bg);border-color:var(--red)}
.site-selector>a[aria-current]:after{display:none}

.site-selector>a[aria-current]{background:#af1717;border-color:#af1717;color:#000}
.site-selector>a{transition:background-color .15s,border-color .15s,box-shadow .15s}
.site-selector>a[aria-current]:hover{background:#cd241f;border-color:#cd241f;color:#000;box-shadow:0 0 10px #af171744}
.site-selector>a[aria-current]{order:-1}

.fonts-loading .shell{visibility:hidden}



.satellite-dropdown{position:relative;display:grid;grid-template-columns:minmax(max-content,1fr);min-width:0}
.satellite-trigger{grid-area:1/1;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;background:#0b0c0d;border:1px solid #55585b;color:var(--ink);font-size:11px;letter-spacing:0;text-align:left}
.satellite-trigger svg{color:var(--muted);flex-shrink:0;transition:color .12s}
.satellite-trigger:hover,.satellite-trigger[aria-expanded="true"]{background:#0b0c0d;color:var(--ink);border-color:var(--red)}
.satellite-trigger:hover svg,.satellite-trigger[aria-expanded="true"] svg{color:var(--red)}
.satellite-trigger:focus-visible{outline:1px solid var(--red);outline-offset:2px}
.satellite-options{position:absolute;top:calc(100% + 4px);right:0;width:100%;z-index:10;padding:4px;background:#0b0c0d;border:1px solid var(--red);box-shadow:0 8px 20px #0008}
.satellite-options[hidden]{display:none}
.satellite-sizer{grid-area:1/1;display:grid;visibility:hidden;pointer-events:none;padding:8px 28px 8px 10px;border:1px solid transparent;font-size:11px}
.satellite-sizer span{grid-area:1/1;white-space:nowrap}
.satellite-options button{display:block;width:100%;border:0;padding:9px 10px;text-align:left;white-space:nowrap;font-size:11px;letter-spacing:0;color:var(--ink)}
.satellite-options button[aria-selected="true"]{color:var(--red);background:#af17171c}
.satellite-options button:hover,.satellite-options button:focus{background:#38201c;color:#fff;outline:none}
@media(max-width:650px){.satellite-dropdown{flex:1;min-width:0}}
