
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;800&family=Public+Sans:wght@300;400;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

.lx {
  --eu:#003399; --eu-d:#00256B; --euy:#FFCC00; --euy-d:#8A6D00;
  --ink:#0C1A33; --ink70:#4A566E; --ink45:#7C879B;
  --ground:#FFFFFF; --panel:#F3F5F9; --rule:#D5DAE3;
  --grey:#E4E8EE; --grey-d:#C6CDD8; --grey-t:#98A2B3;
  --teal:#0E7C86; --red:#8A2A2A; --gate:#5B4A8A;
  background:var(--ground); color:var(--ink);
  font-family:'Public Sans',system-ui,sans-serif; font-size:15px; line-height:1.5;
  padding:0 20px 44px; min-height:100%;
}
.lx * { box-sizing:border-box; }
.lx button { font:inherit; cursor:pointer; background:none; border:none; color:inherit; }
.lx button:focus-visible { outline:2px solid var(--eu); outline-offset:2px; }

.lx-disclaimer { background:var(--panel); border-left:4px solid var(--euy); font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink70); padding:8px 12px; margin:0 -20px 22px; }
.lx-disclaimer strong { color:var(--ink); }

.lx-head { margin-bottom:22px; }
.lx-mark { font-family:'Archivo',sans-serif; font-weight:800; letter-spacing:-0.035em; font-size:clamp(32px,6vw,50px); line-height:1; display:flex; align-items:baseline; flex-wrap:wrap; }
.lx-lex { color:var(--eu); } .lx-flx { color:var(--ink); }
.lx-tool { font-weight:500; font-size:0.38em; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink45); margin-left:12px; }
.lx-yellowrule { height:5px; background:var(--euy); width:118px; margin:8px 0 12px; }
.lx-tagline { font-size:16px; font-weight:300; color:var(--ink70); max-width:64ch; margin:0 0 10px; }
.lx-meta { font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink45); display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.lx-dot { width:3px; height:3px; background:var(--ink45); border-radius:50%; }
.lx-warn { color:var(--euy-d); }

.lx-eyebrow { font-family:'Archivo',sans-serif; font-size:10px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink45); display:block; margin-bottom:8px; }

.lx-controls { display:grid; grid-template-columns:1.15fr 1fr; gap:24px; }
@media (max-width:860px){ .lx-controls{ grid-template-columns:1fr; } }
.lx-services { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
@media (max-width:520px){ .lx-services{ grid-template-columns:1fr; } }
.lx-svc { text-align:left; padding:9px 11px; border:1px solid var(--rule); background:var(--panel); transition:.16s; }
.lx-svc:hover { border-color:var(--eu); }
.lx-svc.on { background:var(--eu); border-color:var(--eu); }
.lx-svc.on .lx-svc-name { color:#fff; }
.lx-svc.on .lx-svc-sub { color:#9DB4E0; }
.lx-svc-name { display:block; font-family:'Archivo',sans-serif; font-weight:600; font-size:12.5px; line-height:1.25; }
.lx-svc-sub { display:block; font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--ink45); margin-top:3px; }

.lx-scenario { display:flex; flex-direction:column; gap:14px; }
.lx-chips { display:flex; flex-wrap:wrap; gap:6px; }
.lx-chip { font-family:'Archivo',sans-serif; font-weight:600; font-size:12px; padding:6px 12px; border:1px solid var(--rule); border-radius:999px; background:var(--panel); color:var(--ink45); transition:.16s; }
.lx-chip.on { background:var(--eu); color:#fff; border-color:var(--eu); }
.lx-mini { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink45); margin:6px 0 0; }
.lx-note { font-size:14px; color:var(--ink70); margin:16px 0 0; max-width:68ch; }
.lx-note strong { color:var(--eu); }

.lx-strip { border-top:2px solid var(--eu); padding-top:14px; margin-top:22px; }
.lx-strip-head { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.lx-h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:15px; letter-spacing:0.02em; text-transform:uppercase; margin:0; }
.lx-headctl { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.lx-seg { display:flex; border:1px solid var(--rule); }
.lx-seg button { font-family:'Archivo',sans-serif; font-weight:600; font-size:11px; padding:6px 10px; color:var(--ink45); }
.lx-seg button.on { background:var(--ink); color:#fff; }
.lx-tabs-inline { display:flex; border:1px solid var(--rule); }
.lx-tab { font-family:'Archivo',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; padding:6px 11px; color:var(--ink45); }
.lx-tab.on { background:var(--eu); color:#fff; }

.lx-canvas { position:relative; transition:height .45s cubic-bezier(.3,.8,.3,1); }
.lx-band { position:absolute; left:0; right:0; display:flex; align-items:baseline; gap:9px; height:34px; flex-wrap:nowrap; overflow:hidden; }
.lx-band-tick { width:20px; height:4px; flex:none; align-self:center; }
.lx-band-title { font-family:'Archivo',sans-serif; font-weight:600; font-size:11.5px; white-space:nowrap; }
.lx-band-why { font-size:11.5px; color:var(--ink70); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lx-band-stat { font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--ink45); margin-left:auto; white-space:nowrap; }

.lx-band-tick.as-is { background:var(--eu); }
.lx-band-tick.adapt { background:var(--euy); }
.lx-band-tick.dated { background:var(--teal); }
.lx-band-tick.inoperative { background:repeating-linear-gradient(45deg,var(--euy),var(--euy) 3px,var(--ink) 3px,var(--ink) 5px); }
.lx-band-tick.contested { background:var(--red); }
.lx-band-tick.barred { background:var(--grey-d); }
.lx-band-tick.capability { background:var(--gate); }
.lx-band-tick.unverified { background:transparent; border:1.5px dashed var(--grey-t); }

.lx-cell { position:absolute; border:2px solid; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:4px 5px; transition:left .5s cubic-bezier(.3,.8,.3,1), top .5s cubic-bezier(.3,.8,.3,1); }
@media (prefers-reduced-motion:reduce){ .lx-cell,.lx-canvas{ transition:none; } }
.lx-cell:hover { z-index:2; }
.lx-cell.sel { box-shadow:0 0 0 2px var(--ink); }
.lx-cell .lx-iso { font-family:'Archivo',sans-serif; font-weight:800; font-size:16px; line-height:1; }
.lx-cell .lx-hh { font-family:'IBM Plex Mono',monospace; font-size:9px; }
.lx-cell.as-is { background:var(--eu); border-color:var(--eu-d); } .lx-cell.as-is .lx-iso,.lx-cell.as-is .lx-hh{color:#fff;}
.lx-cell.adapt { background:var(--euy); border-color:#CBA400; } .lx-cell.adapt .lx-iso{color:var(--ink);} .lx-cell.adapt .lx-hh{color:#7A6300;}
.lx-cell.dated { background:var(--teal); border-color:#0A5A62; } .lx-cell.dated .lx-iso,.lx-cell.dated .lx-hh{color:#fff;}
.lx-cell.inoperative { background:repeating-linear-gradient(45deg,#F4E9B8,#F4E9B8 4px,#E8E2CC 4px,#E8E2CC 8px); border-color:#CBA400; } .lx-cell.inoperative .lx-iso{color:var(--ink);} .lx-cell.inoperative .lx-hh{color:#7A6300;}
.lx-cell.contested { background:#F2E2E2; border-color:var(--red); } .lx-cell.contested .lx-iso,.lx-cell.contested .lx-hh{color:var(--red);}
.lx-cell.barred { background:var(--grey); border-color:var(--grey-d); } .lx-cell.barred .lx-iso,.lx-cell.barred .lx-hh{color:var(--grey-t);}
.lx-cell.capability { background:#EDE9F5; border-color:var(--gate); } .lx-cell.capability .lx-iso,.lx-cell.capability .lx-hh{color:var(--gate);}
.lx-cell.unverified { background:transparent; border-style:dashed; border-color:var(--grey-t); } .lx-cell.unverified .lx-iso,.lx-cell.unverified .lx-hh{color:var(--grey-t);}

.lx-cap { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink45); margin:10px 0 0; }
.lx-legend { display:flex; flex-wrap:wrap; gap:12px; padding-top:12px; margin-top:14px; border-top:1px solid var(--rule); }
.lx-key { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink45); display:flex; align-items:center; gap:5px; }
.lx-key::before { content:''; width:9px; height:9px; }
.lx-key.k-asis::before { background:var(--eu); }
.lx-key.k-adapt::before { background:var(--euy); }
.lx-key.k-dated::before { background:var(--teal); }
.lx-key.k-inop::before { background:repeating-linear-gradient(45deg,var(--euy),var(--euy) 2px,var(--ink) 2px,var(--ink) 4px); }
.lx-key.k-cont::before { background:var(--red); }
.lx-key.k-barred::before { background:var(--grey-d); }
.lx-key.k-capa::before { background:var(--gate); }
.lx-key.k-unv::before { background:transparent; border:1.5px dashed var(--grey-t); }

.lx-clist { display:flex; flex-direction:column; }
.lx-crow { display:grid; grid-template-columns:1fr auto; gap:6px 18px; padding:15px 0 15px 13px; border-top:1px solid var(--rule); border-left:4px solid var(--rule); }
.lx-crow:first-child { border-top:none; }
.lx-crow.as-is { border-left-color:var(--eu); }
.lx-crow.adapt { border-left-color:var(--euy); }
.lx-crow.dated { border-left-color:var(--teal); }
.lx-crow.inoperative { border-left-color:#CBA400; }
.lx-crow.contested { border-left-color:var(--red); }
.lx-crow.barred { border-left-color:var(--grey-d); }
.lx-crow.capability { border-left-color:var(--gate); }
.lx-crow.unverified { border-left-style:dashed; border-left-color:var(--grey-t); }
.lx-crow-t { font-family:'Archivo',sans-serif; font-weight:600; font-size:14px; margin:0 0 3px; }
.lx-crow-why { font-size:13px; color:var(--ink70); margin:0 0 4px; max-width:60ch; }
.lx-crow-m { font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink45); margin:0; }
.lx-crow-r { text-align:right; display:flex; flex-direction:column; gap:2px; }
.lx-big { font-family:'Archivo',sans-serif; font-weight:800; font-size:22px; line-height:1; color:var(--eu); }
.lx-big2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:15px; line-height:1; color:var(--ink70); margin-top:6px; }
.lx-big-l { font-family:'IBM Plex Mono',monospace; font-size:9px; color:var(--ink45); text-transform:uppercase; letter-spacing:.1em; }
.lx-crow-ev { grid-column:1/-1; }
.lx-link { font-family:'Archivo',sans-serif; font-weight:600; font-size:12px; color:var(--eu); text-decoration:underline; text-underline-offset:2px; margin-right:10px; }
.lx-cite { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink45); }

.lx-picker { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:16px; }
.lx-pick { font-family:'Archivo',sans-serif; font-weight:600; font-size:11px; padding:4px 7px; border:1px solid var(--rule); color:var(--ink45); }
.lx-pick.on { background:var(--eu); color:#fff; border-color:var(--eu); }
.lx-tablewrap { overflow-x:auto; }
.lx-table { width:100%; border-collapse:collapse; }
.lx-table th { font-family:'Archivo',sans-serif; font-weight:800; font-size:14px; text-align:center; padding:6px 8px; border-bottom:2px solid var(--eu); }
.lx-table th.lx-th-p { text-align:left; width:40%; }
.lx-table td { padding:8px; border-bottom:1px solid var(--rule); text-align:center; vertical-align:top; }
.lx-td-p { text-align:left !important; }
.lx-td-label { display:block; font-size:14px; line-height:1.3; }
.lx-table tr.immaterial { opacity:.38; }
.lx-table tr.material.differs { background:#E7EDF8; }
.lx-val { font-family:'IBM Plex Mono',monospace; font-size:11px; border:1.5px solid var(--ink45); padding:1px 6px; display:inline-block; white-space:nowrap; }
.lx-val.unv { border-style:dashed; color:var(--grey-t); border-color:var(--grey-t); }
.lx-outrow td { border-bottom:none; padding-top:14px; }
.lx-out { font-family:'Archivo',sans-serif; font-weight:600; font-size:11px; padding:3px 8px; display:inline-block; color:#fff; }
.lx-out.as-is { background:var(--eu); } .lx-out.adapt { background:var(--euy); color:var(--ink); }
.lx-out.dated { background:var(--teal); } .lx-out.inoperative { background:#CBA400; color:var(--ink); }
.lx-out.contested { background:var(--red); } .lx-out.barred { background:var(--grey-d); color:#4B5563; }
.lx-out.capability { background:var(--gate); } .lx-out.unverified { background:#fff; color:var(--grey-t); border:1.5px dashed var(--grey-t); }

.lx-country { padding-top:4px; }
.lx-c-head { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.lx-c-iso { font-family:'Archivo',sans-serif; font-weight:800; font-size:40px; letter-spacing:-0.05em; line-height:1; color:var(--eu); }
.lx-c-name { font-family:'Archivo',sans-serif; font-weight:600; font-size:17px; margin:0; }
.lx-c-hh { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink45); margin:2px 0 0; }
.lx-verdict { border-left:4px solid var(--rule); padding:11px 0 11px 13px; margin-bottom:20px; background:var(--panel); }
.lx-verdict.as-is { border-left-color:var(--eu); } .lx-verdict.adapt { border-left-color:var(--euy); }
.lx-verdict.dated { border-left-color:var(--teal); } .lx-verdict.inoperative { border-left-color:#CBA400; }
.lx-verdict.contested { border-left-color:var(--red); } .lx-verdict.barred { border-left-color:var(--grey-d); }
.lx-verdict.capability { border-left-color:var(--gate); }
.lx-verdict.unverified { border-left-style:dashed; border-left-color:var(--grey-t); }
.lx-v-h { font-family:'Archivo',sans-serif; font-weight:800; font-size:16px; margin:0 0 4px; }
.lx-v-b { margin:0 0 4px; font-size:14.5px; color:var(--ink70); max-width:64ch; }
.lx-plist { list-style:none; margin:0; padding:0; }
.lx-plist li { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; padding:8px 0; border-bottom:1px solid var(--rule); }
.lx-plist li.open { opacity:.72; }
.lx-p-label { font-size:14.5px; flex:1 1 230px; }

.lx-cat { list-style:none; margin:0; padding:0; }
.lx-cat li { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; padding:8px 0 8px 12px; border-bottom:1px solid var(--rule); border-left:4px solid var(--rule); }
.lx-cat li.done { border-left-color:var(--eu); }
.lx-cat li.part { border-left-color:var(--euy); }
.lx-cat li.open { border-left-color:var(--grey-d); }
.lx-cat-f { font-family:'IBM Plex Mono',monospace; font-size:11.5px; flex:1 1 220px; }
.lx-cat-c { font-family:'Archivo',sans-serif; font-weight:600; font-size:12px; }

.lx-foot { margin-top:28px; padding-top:14px; border-top:1px solid var(--rule); }
.lx-foot p { font-size:14px; color:var(--ink70); max-width:76ch; margin:0 0 6px; }
.lx-prov { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink45) !important; }


/* App shell extras */
html, body { margin: 0; padding: 0; background: #fff; }
.lx-ledger { display: flex; flex-wrap: wrap; gap: 28px; margin: 8px 0 16px; }
.lx-ledger > div { display: flex; flex-direction: column; gap: 2px; }
.lx-decay { border-left: 3px solid var(--euy); padding-left: 10px; }
.lx a.lx-link { color: var(--eu); }
.lx-logo-img { height: 36px; width: auto; display: inline-block; vertical-align: middle; margin-right: 2px; }
.lx-mark-fallback { display: inline; }
.lx-mark { align-items: center; }
