.sni-dialog{box-sizing:border-box;width:min(820px,calc(100% - 24px));height:min(1000px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--sky-border,#444);border-radius:16px;background:var(--sky-panel,#000);color:var(--sky-text,#eee);font:12px/1.5 var(--sky-ui-font,system-ui,sans-serif);overflow:hidden;box-shadow:0 24px 100px #0009}.sni-dialog[open]{display:flex;flex-direction:column}.sni-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.sni-dialog [hidden]{display:none!important}.sni-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--sky-border,#444);flex:none}.sni-header>div{min-width:0}.sni-header small{font-size:9px;letter-spacing:.12em;color:var(--sky-muted,#999)}.sni-header h2{font:700 30px/1.1 var(--sky-ui-font,system-ui,sans-serif);margin:4px 0}.sni-header p{font-size:10px;margin:5px 0 0;overflow-wrap:anywhere;color:var(--sky-muted,#999)}.sni-dialog button,.sni-dialog input{font:inherit;color:inherit}.sni-dialog button,.sni-entry-button{border:1px solid var(--sky-border,#555);border-radius:7px;background:var(--sky-surface,#101010);color:var(--sky-text,#eee);padding:8px 12px;min-height:44px;cursor:pointer}.sni-dialog button:focus-visible,.sni-dialog input:focus-visible,.sni-section summary:focus-visible,.sni-entry-button:focus-visible{outline:2px solid var(--sky-accent,#2fd37a);outline-offset:2px}#sni-close{font-size:23px;min-width:44px;flex:none}.sni-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:0 18px 14px;scrollbar-gutter:stable}.sni-status{font-size:10px;min-height:25px;margin:8px 0;color:var(--sky-muted,#aaa)}.sni-photo{margin:0 0 14px;border-radius:9px;overflow:hidden;background:var(--sky-surface,#101010);border:1px solid var(--sky-border,#333)}.sni-photo>a{display:flex;align-items:center;justify-content:center}.sni-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:240px;object-fit:contain}.sni-photo figcaption,.sni-photo>p{font-size:9px;padding:8px 10px;margin:0;color:var(--sky-muted,#aaa)}.sni-journey{border:1px solid var(--sky-border,#444);border-radius:10px;padding:14px;margin-bottom:14px}.sni-airports{display:flex;justify-content:space-between;gap:18px}.sni-airports>div{min-width:0;max-width:48%;display:flex;flex-direction:column}.sni-airports>div:last-child{text-align:right}.sni-airports small{font-size:9px;color:var(--sky-muted,#aaa);letter-spacing:.1em}.sni-airports strong{font:700 40px/1.1 var(--sky-ui-font,system-ui,sans-serif);margin:4px 0}.sni-airports span{font-size:11px;color:var(--sky-muted,#aaa);overflow-wrap:anywhere}#sni-progress{height:5px;margin:14px 0 9px;border-radius:9px;background:var(--sky-border,#444);overflow:hidden}#sni-progress>span{display:block;height:100%;background:var(--sky-accent,#2fd37a)}#sni-progress[data-available=false]{opacity:.4}.sni-flight-times{display:flex;justify-content:space-between;gap:12px;font-size:11px}.sni-flight-times>span:last-child{text-align:right}.sni-journey>p{font-size:9px;color:var(--sky-muted,#aaa);margin:8px 0}.sni-sections{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.sni-section{border:1px solid var(--sky-border,#444);border-radius:9px;overflow:hidden;min-width:0}.sni-section>summary{cursor:pointer;padding:11px 12px;font-size:11px;font-weight:600;background:var(--sky-surface,#101010)}.sni-section-body{padding:10px 12px}.sni-section-body p{font-size:10px;color:var(--sky-muted,#aaa);margin:4px 0 10px}.sni-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px;margin:0}.sni-grid>div{min-width:0}.sni-grid dt{font-size:9px;text-transform:uppercase;letter-spacing:.02em;color:var(--sky-muted,#aaa)}.sni-grid dd{font:500 13px/1.45 var(--sky-ui-font,system-ui,sans-serif);margin:4px 0 0;overflow-wrap:anywhere}.sni-journey .sni-grid{margin-top:14px;border-top:1px solid var(--sky-border,#444);padding-top:10px}.sni-journey .sni-grid dd{font-size:11px}#sni-graph,#sni-recent{grid-column:1/-1}.sni-chart{margin:10px 0 16px}.sni-chart figcaption{font-size:11px;font-weight:600}.sni-chart svg{display:block;width:100%;height:auto;max-height:200px;margin-top:8px}.sni-chart-readout{font-variant-numeric:tabular-nums}.sni-section input[type=range]{width:100%;height:40px;accent-color:var(--sky-accent,#2fd37a)}.sni-recent-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.sni-recent-list li{padding:9px;border:1px solid var(--sky-border,#444);border-radius:6px}.sni-recent-list span{display:block;font-size:9px;margin-top:4px;color:var(--sky-muted,#aaa)}.sni-footnote{font-size:9px;color:var(--sky-muted,#999);margin:14px 0 0}.sni-actions{display:flex;gap:8px;padding:10px 18px;border-top:1px solid var(--sky-border,#444);flex:none}.sni-actions button{flex:1;font-size:11px}.sni-actions button:disabled{opacity:.5;cursor:wait}.sni-entry-button{font:500 11px/1.3 var(--sky-ui-font,system-ui,sans-serif);display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,transform .15s}.sni-entry-button:active{transform:scale(.97)}.sni-entry-button:hover{border-color:var(--sky-accent,#aaa)}.sni-list-info{display:flex;justify-content:flex-end;padding:0 12px 10px}.world-flight-actions>.sni-entry-button{flex:1;min-width:80px}.world-flight-actions{flex-wrap:wrap}.sky-flight-card-header .sni-entry-button{margin-left:auto;flex:none;font-size:10px;padding:6px 9px}@media(max-width:700px){.sni-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:11px}.sni-header{padding:10px 12px}.sni-header h2{font-size:27px}.sni-scroll{padding:0 10px 12px}.sni-photo img{max-height:190px}.sni-sections{grid-template-columns:1fr}.sni-grid dd{font-size:14px}.sni-airports strong{font-size:37px}.sni-actions{padding:8px 10px}.sni-recent-list{grid-template-columns:1fr}.sni-journey{padding:11px}.sni-header small{font-size:8px}.sni-header p{font-size:9px}}@media(prefers-reduced-motion:reduce){.sni-entry-button{transition:none}}
.sni-header h2{overflow-wrap:anywhere}.sky-flight-card-header .sky-flight-card-identity{min-width:0}.sky-flight-card-header .sky-flight-card-identity h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sni-photo figcaption a{color:inherit;text-underline-offset:2px}

/* Received aircraft communications */
#sni-acars{margin:0 0 18px;border:1px solid var(--sky-border,#333);border-radius:18px;background:var(--sky-surface,#141414);overflow:hidden;font-family:var(--sky-ui-font,system-ui,sans-serif)}
#sni-acars>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:16px;background:transparent;min-height:44px;font-size:14px}
#sni-acars>summary::-webkit-details-marker{display:none}
.sni-acars-heading-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--sky-border,#333);border-radius:12px;background:var(--sky-panel,#080808);color:var(--sky-text,#eee)}
.sni-acars-heading-icon svg{width:22px;height:22px}.sni-acars-heading-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.sni-acars-heading-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;letter-spacing:-.2px}
#sni-acars-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:7px;background:var(--sky-panel,#080808);border:1px solid var(--sky-border,#333);color:var(--sky-muted,#aaa);font-size:10px;font-weight:600;font-variant-numeric:tabular-nums}
#sni-acars-preview{color:var(--sky-muted,#aaa);font-size:10px;font-weight:450;letter-spacing:.01em}.sni-acars-chevron{display:grid;place-items:center;color:var(--sky-muted,#aaa)}.sni-acars-chevron svg{width:21px;height:21px;transition:transform .22s ease}#sni-acars[open] .sni-acars-chevron svg{transform:rotate(180deg)}
#sni-acars>.sni-section-body{padding:0 14px 14px}.sni-acars-status-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}
.sni-acars-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:650;color:var(--sky-muted,#aaa)}.sni-acars-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}#sni-acars[data-state=ready] .sni-acars-badge::before{background:var(--sky-accent,var(--sky-text,#eee))}.sni-acars-window{font-size:9px;letter-spacing:.02em;color:var(--sky-muted,#aaa)}
.sni-acars-state{padding:10px 2px 12px}.sni-acars-state-icon{display:none}#sni-acars-status{margin:0;font-size:10px;line-height:1.65;color:var(--sky-muted,#aaa)}
#sni-acars:is([data-state=empty],[data-state=unavailable],[data-state=unsupported]) .sni-acars-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px 20px;text-align:center}
#sni-acars:is([data-state=empty],[data-state=unavailable],[data-state=unsupported]) .sni-acars-state-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--sky-border,#333);border-radius:16px;color:var(--sky-muted,#aaa);background:var(--sky-panel,#080808)}.sni-acars-state-icon svg{width:25px;height:25px}
.sni-acars-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;margin-bottom:12px}.sni-acars-filters{display:flex;min-width:0;padding:3px;border-radius:12px;background:var(--sky-panel,#080808);border:1px solid var(--sky-border,#333)}
#sni-acars .sni-acars-filters button{flex:1;min-width:0;min-height:38px;border:0;border-radius:9px;padding:6px;font:550 10px/1.3 var(--sky-ui-font,system-ui,sans-serif);white-space:nowrap;background:transparent;color:var(--sky-muted,#aaa);transition:background .18s,color .18s,box-shadow .18s}
#sni-acars .sni-acars-filters button[aria-pressed=true]{background:var(--sky-surface,#1c1c1c);color:var(--sky-text,#eee);box-shadow:0 1px 4px #0002}#sni-acars .sni-acars-filters button:disabled{opacity:.5;cursor:default}
#sni-acars-refresh{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--sky-border,#333);border-radius:12px;background:var(--sky-panel,#080808);color:var(--sky-text,#eee)}#sni-acars-refresh svg{width:19px;height:19px}#sni-acars-refresh:disabled{cursor:default;opacity:.45}
#sni-acars-filter-empty{padding:25px 15px;text-align:center;font-size:11px!important;line-height:1.7;color:var(--sky-muted,#aaa)}
.sni-acars-list{list-style:none;display:grid;gap:10px;padding:0;margin:0;min-width:0}.sni-acars-message{min-width:0;border:1px solid var(--sky-border,#333);border-radius:14px;padding:14px;background:var(--sky-panel,#080808);animation:sky-acars-in .22s ease both}
.sni-acars-message-header{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:13px}.sni-acars-direction{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--sky-surface,#161616);color:var(--sky-text,#eee)}.sni-acars-direction svg{width:17px;height:17px}
.sni-acars-message-identity{display:flex;flex-direction:column;gap:3px;min-width:0}.sni-acars-message-identity strong{font-size:12px;font-weight:700;letter-spacing:.02em;overflow-wrap:anywhere}.sni-acars-message-identity>span{font-size:9px;color:var(--sky-muted,#aaa)}
.sni-acars-message-clock{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap;font-variant-numeric:tabular-nums}.sni-acars-age{font-size:10px;font-weight:550;color:var(--sky-text,#eee)}.sni-acars-message-clock time{font-size:9px;color:var(--sky-muted,#aaa)}
.sni-acars-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:11px/1.75 'IBM Plex Mono',ui-monospace,monospace;margin:0;color:var(--sky-text,#eee)}.sni-acars-message[data-expanded=false] .sni-acars-text{max-height:10.5em;overflow:hidden;mask-image:linear-gradient(#000 65%,transparent)}
#sni-acars .sni-acars-expand{display:block;min-height:38px;padding:7px 0 1px;border:0;border-radius:4px;background:transparent;color:var(--sky-text,#eee);font:600 10px/1.5 var(--sky-ui-font,system-ui,sans-serif)}
.sni-acars-message-footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:12px;margin-top:12px;border-top:1px solid var(--sky-border,#333)}.sni-acars-chip{font-size:8px;font-weight:600;letter-spacing:.025em;color:var(--sky-muted,#aaa);background:var(--sky-surface,#141414);border-radius:5px;padding:4px 6px}.sni-acars-frequency{margin-left:auto;font-size:8px;color:var(--sky-muted,#aaa);font-variant-numeric:tabular-nums}
#sni-acars .sni-acars-credit{font-size:9px;line-height:1.7;margin:14px 2px 0;color:var(--sky-muted,#aaa)}.sni-acars-credit a{color:var(--sky-text,#eee);text-decoration:none;border-bottom:1px solid var(--sky-border,#333)}.sni-acars-credit span{display:block;font-size:8px;margin-top:2px}
#sni-acars[data-state=loading] #sni-acars-refresh svg{animation:sky-acars-refresh 1s linear infinite}#sni-acars[data-state=loading] #sni-acars-refresh{opacity:.8}
@keyframes sky-acars-in{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes sky-acars-refresh{to{transform:rotate(360deg)}}
@media(max-width:700px){#sni-acars>summary{padding:14px 12px;gap:10px}#sni-acars>.sni-section-body{padding:0 10px 12px}.sni-acars-message{padding:12px}.sni-acars-heading-title{font-size:13px}#sni-acars .sni-acars-filters button{min-height:44px}#sni-acars .sni-acars-expand{min-height:44px}.sni-acars-toolbar{grid-template-columns:minmax(0,1fr) 44px;gap:6px}.sni-acars-heading-icon{width:36px;height:36px;border-radius:11px}}
html[data-reduce-motion=true] #sni-acars *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html:not([data-reduce-motion=false]) #sni-acars *{animation:none!important;transition:none!important}}

.sni-acars-translation{margin-top:14px;border:1px solid var(--sky-border,#333);border-radius:12px;background:var(--sky-surface,#141414);overflow:hidden}
.sni-acars-translation>summary{padding:12px 14px;min-height:44px;box-sizing:border-box;cursor:pointer;color:var(--sky-text,#eee);font:600 13px/1.5 var(--sky-ui-font,system-ui,sans-serif)}
.sni-acars-translation-body{padding:0 14px 14px;font:400 13px/1.6 var(--sky-ui-font,system-ui,sans-serif);overflow-wrap:anywhere;animation:sky-acars-in .22s ease both}
.sni-acars-translation-body h5{font-size:15px;line-height:1.4;margin:8px 0;color:var(--sky-text,#eee)}
.sni-acars-translation-body p{margin:8px 0;color:var(--sky-text,#eee)}
.sni-acars-translation-status{font-size:11px;color:var(--sky-muted,#aaa)}
.sni-acars-decoded-fields,.sni-acars-terms dl{display:grid;gap:10px;padding:0;margin:14px 0}
.sni-acars-decoded-fields>div{border-top:1px solid var(--sky-border,#333);padding-top:9px}
.sni-acars-translation-body dt{font-size:11px;color:var(--sky-muted,#aaa);font-weight:500}
.sni-acars-translation-body dd{margin:2px 0 0;color:var(--sky-text,#eee);font-size:13px}
.sni-acars-terms>summary{min-height:44px;box-sizing:border-box;padding:10px 0;cursor:pointer;font-weight:600}
.sni-acars-terms dl>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px}
.sni-acars-terms dt{font-weight:700;color:var(--sky-text,#eee)}
.sni-acars-translation-body .sni-acars-translation-note,.sni-acars-translation-body .sni-acars-translation-direction{font-size:12px;color:var(--sky-muted,#aaa)}
.sni-acars-translation-sources{display:flex;gap:14px;flex-wrap:wrap;font-size:11px}
.sni-acars-translation-sources a{color:var(--sky-text,#eee);text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.sni-acars-translation-body{animation:none}}
html[data-reduce-motion=true] .sni-acars-translation-body{animation:none}

.sni-airports>.ap-flight-airport{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;max-width:48%;text-align:left;padding:5px;margin:-6px;background:transparent;border:1px solid transparent;cursor:pointer}.sni-airports>.ap-flight-airport:last-child{align-items:flex-end;text-align:right}.sni-airports>.ap-flight-airport:not(:disabled):hover{background:var(--sky-surface,#202020);border-color:var(--sky-border,#555)}.sni-airports>.ap-flight-airport:disabled{opacity:1;cursor:default}
