/* Ivory LL / Ivory Mono LL © 2023 Lineto GmbH. */
@font-face{font-family:Ivory;src:url('/fonts/IvoryLLWeb-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:IvoryMono;src:url('/fonts/IvoryMonoLLWeb-Regular.woff2') format('woff2');font-display:swap}
:root{--paper:#fff;--ink:#000;--muted:#6d6d6d;--line:#aaa;color-scheme:light;font:10px/1.25 IvoryMono,ui-monospace,monospace}
:root[data-theme=dark]{--paper:#000;--ink:#fff;--muted:#999;--line:#555;color-scheme:dark}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--paper);color:var(--ink)}
button{appearance:none;border:0;border-radius:0;padding:0;background:transparent;color:inherit;font:inherit;text-transform:uppercase;cursor:pointer}
button:hover,.selected{color:var(--muted)}button:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
/* Final prototype header: ruled columns, large brand, dot-selected controls. */
.instrument{--control-height:26px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;flex-wrap:nowrap;align-items:stretch;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--ink);font:15px/1.25 IvoryMono,ui-monospace,monospace}
.instrument h1{display:flex;align-items:center;flex:0 0 auto;margin:0 auto 0 0;padding:8px 14px;font:38px/1 IvoryMono,monospace;letter-spacing:-.01em;white-space:nowrap}
#brand-menu{text-transform:none}#brand-menu:hover{color:var(--muted)}
.instrument-group,.instrument-page{display:flex;flex:0 1 auto;min-width:0;flex-direction:column;align-items:flex-start;gap:7px;padding:8px 14px 9px;border-left:1px solid var(--ink)}
.instrument-label{align-self:stretch;padding-bottom:4px;border-bottom:1px solid var(--ink);font:inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.instrument-options,.instrument nav,.page-navigation{display:flex;flex-wrap:wrap;align-items:center;min-height:var(--control-height);gap:3px 12px}
.instrument-options{flex-wrap:nowrap;align-items:flex-start;max-width:100%}
.instrument-options nav{min-width:0}
.instrument button{padding:0;margin:0;border:0;background:none;color:var(--muted);font:inherit;line-height:inherit;text-transform:none;white-space:nowrap}
.instrument nav button,.instrument-options>button{display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);flex-shrink:0}
.instrument button:hover{color:var(--ink)}
.instrument h1 button{color:var(--ink)}
.instrument nav button[aria-pressed=true]{color:var(--ink);font-weight:600}
.instrument nav button[aria-pressed]::before{content:'\25CF\00a0';font-size:.7em;opacity:0}
.instrument nav button[aria-pressed=true]::before{opacity:1}
.instrument [hidden]{display:none!important}
.instrument.is-collapsed .page-navigation{display:none}
@media(min-width:1100px){.instrument .g-view{min-width:260px;flex-shrink:1}.instrument-group,.instrument-page{flex-shrink:0}.g-text nav{flex-wrap:nowrap}}
@media(max-width:900px){.instrument{flex-wrap:wrap}.instrument h1{width:100%;border-bottom:1px solid var(--ink)}.instrument-group{flex:1 1 auto}.instrument-group:first-of-type{border-left:0}.instrument-page{flex:1 1 auto}}
.instrument.is-collapsed{flex-wrap:nowrap}.instrument.is-collapsed h1{width:auto;border-bottom:0}.instrument.is-collapsed .instrument-page{flex:0 0 auto}
.instrument-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.instrument-status.is-error{position:fixed;top:var(--menu-height,88px);left:0;width:100%;height:auto;overflow:visible;clip-path:none;white-space:normal;padding:12px;background:var(--paper);color:var(--ink)}
.muted{color:var(--muted)}
#field{position:fixed;inset:var(--menu-height,88px) 0 0;overflow:scroll;scrollbar-width:none;overscroll-behavior:none;cursor:grab}#field::-webkit-scrollbar{display:none}#field.is-dragging{cursor:grabbing;user-select:none}
#surface{position:relative;contain:strict}.track-unit{position:absolute;width:1200px;overflow:hidden;transform-origin:top left;contain:layout paint style}
.flow-row{background:var(--paper)}.flow-item{position:absolute;top:0;overflow:hidden}.flow-item-content{background:var(--paper)}
.date-heading{padding:0 7px;background:var(--paper)}.date-heading h2{position:absolute;left:6px;bottom:.08em;margin:0;font:var(--date-size)/1 Ivory,Arial,sans-serif;letter-spacing:.02em;font-weight:400;white-space:nowrap}.date-yield{position:absolute;right:7px;top:4px;color:var(--muted)}
.pass-label{display:flex;flex-direction:column;padding:5px 6px;border-right:1px solid var(--paper);text-transform:uppercase;font-size:var(--label-size,9px);line-height:1.25}.pass-label>span{white-space:nowrap}.pass-number{font:var(--number-size,40px)/.95 IvoryMono,ui-monospace,monospace;letter-spacing:-.04em;margin-bottom:2px}
.image-record{display:grid;grid-template-rows:var(--stamp-height,19px) minmax(0,1fr);min-width:0;margin:0;border-right:1px solid var(--paper);background:var(--paper)}
.stamp{display:block;padding:1px 3px 2px;overflow:hidden;white-space:nowrap;font-size:var(--stamp-size,9px);line-height:1.05}.stamp b,.stamp-detail{display:block;font-weight:400}.stamp-product{color:var(--ink)}
.image-frame{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;background:var(--paper)}.image-frame img{display:block;width:100%;height:100%;object-fit:cover;background:color-mix(in srgb,var(--placeholder,transparent) 42%,var(--paper))}
.full-disk .image-frame img{width:auto;height:100%;max-width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover}.mesoscale .image-frame img{width:auto;height:100%;max-width:100%;aspect-ratio:1;object-fit:cover}.nws .image-frame img{object-fit:contain}.polar .image-frame img{object-position:center}
.flow-placeholder .image-frame{background:color-mix(in srgb,var(--line) 15%,var(--paper))}.image-unavailable,.row-error{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--muted)}
.feature-row{margin-top:0}.feature-row .image-record{border-top:1px solid var(--paper)}
.picture .stamp,.lod-small .stamp,.no-stamp .stamp{display:none}.picture .image-record,.lod-small .image-record,.image-record.no-stamp{grid-template-rows:minmax(0,1fr)}
#field{touch-action:none}
.picture .image-record,.picture .feature-row .image-record{border:0}

.g-filter nav button{text-transform:uppercase}
.empty-state{position:fixed;inset:var(--menu-height,62px) 0 0;margin:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--muted)}.empty-state[hidden]{display:none}

@media(min-width:1100px){.instrument .g-filter{flex-shrink:1}}

/* Menu actions keep full contrast in either theme and a stable footprint. */
.instrument .icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--control-height);width:var(--control-height);height:var(--control-height);color:var(--ink);vertical-align:middle}
.instrument .icon-button::before{display:none!important}
.instrument .icon-button:hover{color:var(--ink)}
.instrument .icon-button:active{transform:translateY(1px)}
.icon-button svg{display:block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#menu-toggle[aria-expanded=true] .icon-menu-collapsed,#menu-toggle[aria-expanded=false] .icon-menu-expanded{display:none}
:root[data-theme=dark] .icon-theme-dark,:root[data-theme=light] .icon-theme-light{display:none}
