/* Private Dossier Token Structure Lens. Kept separate from protected site styles. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.lens-body { margin: 0; min-width: 0; background: #030b19; color: var(--fed-text); font: 400 16px/1.6 var(--font-fed-body); }
button, input { font: inherit; }
a { color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.lens-container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.lens-skip { position: absolute; left: 16px; top: -100px; z-index: 50; padding: 12px 16px; background: var(--fed-command); color: #03101d; }
.lens-skip:focus { top: 16px; }
:focus-visible { outline: 2px solid var(--fed-command); outline-offset: 3px; }

.lens-topbar { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px clamp(24px, 5vw, 70px); border-bottom: 1px solid var(--fed-border-soft); background: #061021; }
.lens-brand { display: inline-flex; align-items: center; gap: 13px; color: var(--fed-text-display); text-decoration: none; font: 700 19px/1 var(--font-fed-display); letter-spacing: .12em; }
.lens-brand img { width: 42px; height: 42px; }
.lens-brand small { display: block; margin-top: 6px; font: 600 11px/1.2 var(--font-fed-interface); letter-spacing: .16em; color: var(--fed-authority); }
.lens-topbar-right { display: flex; align-items: center; gap: 22px; font: 600 12px var(--font-fed-interface); letter-spacing: .1em; text-transform: uppercase; }
.lens-topbar-right a { color: var(--fed-muted); text-decoration: none; }
.lens-topbar-right a:hover { color: var(--fed-command); }
.lens-private { border: 1px solid rgba(232,184,92,.55); color: var(--fed-warning); padding: 7px 10px; border-radius: 3px; }

.lens-hero { padding-top: clamp(42px, 5vw, 68px); padding-bottom: 40px; }
.lens-eyebrow, .lens-index, .lens-overline, .lens-chain, .lens-stamp { font: 400 12px/1.3 var(--font-fed-system); letter-spacing: .13em; text-transform: uppercase; }
.lens-eyebrow { display: flex; align-items: center; gap: 12px; color: var(--fed-command); }
.lens-diamond { width: 8px; height: 8px; transform: rotate(45deg); background: var(--fed-command); box-shadow: 0 0 16px var(--fed-command-glow); }
.lens-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr); align-items: center; gap: 30px; }
.lens-hero h1 { margin: 25px 0 22px; color: #f5f8ff; font: 700 clamp(42px, 5vw, 66px)/1.12 var(--font-fed-display); letter-spacing: -.035em; text-transform: uppercase; }
.lens-hero h1 em { color: var(--fed-command); font-style: normal; }
.lens-lede { max-width: 680px; margin: 0; color: #cbd9ec; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.65; }
.lens-lede strong { color: #eff5ff; }
.lens-quiet { max-width: 650px; margin: 20px 0 0; padding-left: 16px; border-left: 2px solid var(--fed-warning); color: #aab9cc; font-size: 14px; }
.lens-hero-mark { width: min(100%, 440px); aspect-ratio: 1; margin-inline: auto; position: relative; border-radius: 50%; background: radial-gradient(circle, rgba(64,192,255,.13) 0 8%, transparent 50%), radial-gradient(circle, rgba(64,192,255,.07), transparent 70%); }
.lens-ring { position: absolute; inset: 10%; border: 1px solid rgba(64,192,255,.17); border-radius: 50%; }
.lens-ring-two { inset: 24%; border-color: rgba(64,192,255,.3); }
.lens-ring-three { inset: 38%; border-color: rgba(64,192,255,.43); }
.lens-mark-core { position: absolute; inset: 41%; display: grid; place-items: center; border: 1px solid var(--fed-command); border-radius: 50%; background: #081b2a; box-shadow: 0 0 28px rgba(64,192,255,.14); color: var(--fed-command); font: 700 clamp(28px, 4vw, 50px) var(--font-fed-display); }
.lens-mark-ping { width: 12px; height: 12px; position: absolute; border-radius: 50%; background: var(--fed-command); box-shadow: 0 0 20px var(--fed-command); }
.ping-one { left: 14%; top: 31%; }.ping-two { right: 19%; top: 11%; background: var(--fed-warning); box-shadow: 0 0 20px var(--fed-warning); }.ping-three { right: 11%; bottom: 20%; background: var(--fed-neutral); box-shadow: none; }

.lens-lookup { padding: 32px 36px 24px; border: 1px solid rgba(64,192,255,.24); background: linear-gradient(130deg, #0a1c30, #081321 75%); box-shadow: 0 20px 70px rgba(0,0,0,.18); }
.lens-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 28px; }
.lens-index { color: var(--fed-command); }
.lens-section-heading h2 { color: var(--fed-text-display); font: 700 clamp(25px, 3vw, 38px)/1.2 var(--font-fed-interface); margin: 9px 0 0; }
.lens-chain, .lens-stamp { padding: 8px 11px; border: 1px solid var(--fed-border-strong); color: var(--fed-muted); white-space: nowrap; }
.lens-lookup label { display: block; margin-bottom: 9px; color: #dceafa; font: 700 16px var(--font-fed-interface); }
.lens-input-row { display: flex; gap: 10px; }
.lens-input-row input { min-width: 0; flex: 1; height: 56px; border: 1px solid rgba(200,216,240,.28); border-radius: 3px; padding: 0 18px; background: #04101e; color: var(--fed-text-display); font: 16px var(--font-fed-system); }
.lens-input-row input::placeholder { color: #8195ab; }
.lens-input-row button { min-width: 190px; border: 1px solid var(--fed-command); border-radius: 3px; background: var(--fed-command); color: #03111d; padding: 0 18px; font: 700 17px var(--font-fed-interface); }
.lens-input-row button:hover { background: #91dfff; }
.lens-input-row button span { margin-left: 8px; }
.lens-help, .lens-error { margin: 10px 0 0; font-size: 13px; }
.lens-help { color: #a7b9ca; }.lens-error { color: #ff9c9c; }
.lens-lookup-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-top: 22px; font: 13px var(--font-fed-body); color: var(--fed-muted); }
.lens-text-button { padding: 0; border: 0; background: transparent; color: var(--fed-command); text-decoration: underline; text-underline-offset: 4px; font-weight: 600; }
.lens-text-button:hover { color: #b4eaff; }

.lens-requested { margin-top: 36px; padding: 36px; border: 1px solid rgba(232,184,92,.4); border-left: 3px solid var(--fed-warning); background: #111b27; }
.lens-requested h2 { color: var(--fed-text-display); font: 700 32px var(--font-fed-interface); margin: 10px 0 20px; }
.lens-address-label { margin: 0; color: var(--fed-muted); font: 12px var(--font-fed-system); text-transform: uppercase; }
.lens-address { margin: 7px 0 24px; color: #fff; font: 14px/1.6 var(--font-fed-system); overflow-wrap: anywhere; }
.lens-requested-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.lens-requested-grid div { border: 1px solid var(--fed-border-default); padding: 14px; background: #091522; }
.lens-requested-grid span, .lens-requested-grid strong { display: block; }
.lens-requested-grid span { color: var(--fed-muted); font-size: 12px; }
.lens-requested-grid strong { margin-top: 5px; color: var(--fed-warning); font: 700 17px var(--font-fed-interface); }
.lens-requested p:last-of-type { max-width: 730px; margin: 22px 0 12px; color: #b6c7d8; font-size: 14px; }
.lens-requested a { color: var(--fed-command); font-size: 14px; }

.lens-report { padding-top: 58px; padding-bottom: 78px; }
.lens-observed-banner { margin-bottom: 30px; padding: 10px 14px; border: 1px solid rgba(92,217,175,.42); background: rgba(92,217,175,.08); color: #a5efd2; font: 12px/1.5 var(--font-fed-system); letter-spacing: .055em; }
.lens-demo-banner { display: flex; gap: 10px; align-items: center; margin-bottom: 30px; padding: 10px 14px; border: 1px solid rgba(232,184,92,.4); background: rgba(232,184,92,.08); color: #f1c975; font: 12px/1.4 var(--font-fed-system); letter-spacing: .06em; }
.lens-demo-dot { width: 7px; height: 7px; flex: none; background: var(--fed-warning); }
.lens-report-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 18px; padding: 23px 26px; border: 1px solid var(--fed-border-default); background: #0a1627; }
.lens-overline { color: var(--fed-muted); margin: 0 0 6px; }.lens-report-head h3 { margin: 0; color: white; font: 700 35px/1.1 var(--font-fed-display); }.lens-report-head p:not(.lens-overline) { max-width: 520px; margin: 9px 0 0; color: var(--fed-muted); font-size: 14px; }
.lens-report-head-meta { display: flex; flex-direction: column; gap: 7px; min-width: 190px; font: 12px var(--font-fed-system); }.lens-report-head-meta span { display: flex; justify-content: space-between; gap: 12px; color: var(--fed-muted); }.lens-report-head-meta b { color: var(--fed-text); font-weight: 400; }
.lens-two-column { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 18px; }
.lens-stack { display: grid; gap: 18px; }
.lens-panel { min-width: 0; padding: 26px; border: 1px solid var(--fed-border-default); background: #0a1627; }
.lens-panel-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lens-evidence-tag, .lens-unknown-tag { padding: 5px 8px; border: 1px solid var(--fed-border-default); color: var(--fed-muted); font: 11px var(--font-fed-system); white-space: nowrap; }
.lens-unknown-tag { color: var(--fed-warning); border-color: rgba(232,184,92,.35); }
.lens-panel h3 { margin: 10px 0 22px; color: var(--fed-text-display); font: 700 26px/1.2 var(--font-fed-interface); }
.lens-distribution-layout { display: flex; align-items: center; gap: 26px; }
.lens-donut { width: 198px; height: 198px; flex: none; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--fed-command) 0 47%, #34475d 47% 100%); }
.lens-observed-donut { background: conic-gradient(#50d4c4 0 50.1359%, #54a3e9 50.1359% 86.3283%, #34475d 86.3283% 100%); }
.lens-donut > div { width: 150px; height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: #0a1627; text-align: center; }
.lens-donut span { color: #f1f8ff; font: 700 43px var(--font-fed-interface); line-height: 1; }.lens-donut small { margin-top: 8px; color: var(--fed-muted); font: 11px var(--font-fed-system); letter-spacing: .08em; }
.lens-bars { flex: 1; }.lens-bar-label { display: flex; justify-content: space-between; gap: 12px; color: #d3e1ee; font-size: 13px; }.lens-bar-label b { color: var(--fed-command); }.lens-bar-secondary { margin-top: 16px; }.lens-bar-secondary b { color: #a9b6c5; }.lens-bar-track { height: 8px; margin-top: 7px; background: #13273b; }.lens-bar-track span { display: block; height: 100%; background: var(--fed-command); }.lens-bar-other span { background: #627186; }.lens-bars p { color: var(--fed-muted); font-size: 13px; line-height: 1.55; }
.lens-account-details { margin-top: 26px; border-top: 1px solid var(--fed-border-soft); }.lens-account-details summary { padding: 15px 0; color: var(--fed-command); cursor: pointer; font-weight: 600; }.lens-account-details > p { margin: 0 0 12px; color: var(--fed-muted); font-size: 12px; line-height: 1.6; }.lens-account-list div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--fed-border-soft); color: var(--fed-muted); font-size: 13px; }.lens-account-list b { flex: none; color: #d8e8f5; font-weight: 600; }
.lens-account-list a, .lens-bars a, .lens-proof-steps a { color: var(--fed-command); text-underline-offset: 3px; }.lens-account-list a { overflow-wrap: anywhere; }
.lens-top-accounts { margin-top: 18px; }.lens-top-accounts h3 { margin-bottom: 8px; }
.lens-control { padding: 11px 0; border-top: 1px solid var(--fed-border-soft); }.lens-control > div { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }.lens-control strong { color: #d7e9f5; font-weight: 600; }.lens-control p { margin: 5px 0 0; color: var(--fed-muted); font-size: 12px; line-height: 1.5; }.lens-panel-note { margin: 16px 0 0; color: #9aaec3; font-size: 12px; line-height: 1.6; }
.lens-bundle { border-color: rgba(232,184,92,.28); }.lens-bundle h3 { margin-bottom: 10px; }.lens-bundle > p:not(.lens-panel-note) { margin: 0; color: #b5c7d9; font-size: 13px; }.lens-bundle-answer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; padding: 11px 13px; border: 1px solid rgba(232,184,92,.34); background: rgba(232,184,92,.06); font-size: 13px; }.lens-bundle-answer strong { color: var(--fed-warning); }
.lens-proof { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 24px; margin-top: 18px; padding: 29px; border: 1px solid rgba(64,192,255,.24); background: linear-gradient(120deg, #0a1b2c, #071220); }.lens-proof h3 { margin: 8px 0; color: var(--fed-text-display); font: 700 26px var(--font-fed-interface); }.lens-proof p { max-width: 690px; margin: 0; color: #b4c7d8; font-size: 14px; }.lens-proof-steps { align-self: center; display: grid; gap: 9px; font-size: 13px; }.lens-proof-steps div { padding-bottom: 8px; border-bottom: 1px solid var(--fed-border-default); }.lens-proof-steps span { margin-right: 13px; color: var(--fed-command); font-family: var(--font-fed-system); }
.lens-proof-steps b { color: var(--fed-text-display); font-weight: 600; }.lens-proof-steps a { font-size: 13px; }
.lens-flow-map { margin: 0 0 18px; padding: clamp(20px, 3vw, 34px); border: 1px solid rgba(64,192,255,.28); background: radial-gradient(circle at 14% 20%, rgba(232,184,92,.15) 0 1px, transparent 2px), radial-gradient(circle at 73% 11%, rgba(116,217,255,.32) 0 1px, transparent 2px), radial-gradient(circle at 85% 75%, rgba(116,217,255,.24) 0 1px, transparent 2px), radial-gradient(ellipse at 53% 16%, rgba(41,109,154,.18), transparent 65%), #071525; }
.lens-flow-map-top { display: flex; justify-content: space-between; gap: 12px; color: #8da9bd; font: 11px var(--font-fed-system); letter-spacing: .1em; }
.lens-flow-map h3 { margin: 7px 0 25px; color: var(--fed-text-display); font: 700 clamp(22px, 2.7vw, 30px) var(--font-fed-interface); }
.lens-flow-route { display: grid; grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr) 26px minmax(0, 1fr) 26px minmax(0, 1fr); align-items: stretch; gap: 5px; }
.lens-route-node { min-width: 0; min-height: 214px; padding: 20px; border: 1px solid rgba(98,155,190,.35); background: linear-gradient(140deg, rgba(18,45,69,.94), rgba(7,25,42,.94)); box-shadow: inset 0 1px rgba(202,236,255,.07), 0 14px 30px rgba(0,0,0,.12); }
.lens-route-sources { border-color: rgba(232,184,92,.45); }.lens-route-output { border-color: rgba(92,217,175,.58); background: linear-gradient(140deg, rgba(17,64,66,.85), rgba(7,29,40,.94)); }
.lens-route-kicker { display: block; margin-bottom: 15px; color: #9bb3c7; font: 11px/1.5 var(--font-fed-system); letter-spacing: .1em; }
.lens-route-source { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; padding: 7px 0; border-bottom: 1px solid rgba(157,189,211,.2); }
.lens-route-source span, .lens-route-address { color: #c4d7e6; font: 12px var(--font-fed-system); }
.lens-route-source strong { color: #f2ce81; font: 700 22px var(--font-fed-interface); white-space: nowrap; }.lens-route-source small { font: 11px var(--font-fed-system); }
.lens-route-hero { display: block; color: #eef8ff; font: 700 clamp(21px, 2.3vw, 31px)/1.2 var(--font-fed-interface); overflow-wrap: anywhere; }.lens-route-hero small { display: block; margin-top: 3px; color: var(--fed-command); font: 12px var(--font-fed-system); letter-spacing: .09em; }.lens-route-output .lens-route-hero { color: #acf3d7; }.lens-route-output .lens-route-hero small { color: #8deac5; }
.lens-route-address { display: block; margin-top: 15px; }
.lens-route-node p { margin: 12px 0 0; color: #aebfd0; font-size: 12px; line-height: 1.55; }
.lens-route-arrow { position: relative; align-self: center; height: 1px; background: linear-gradient(90deg, #5886a4, #83dffb); }.lens-route-arrow::after { content: ""; position: absolute; right: 0; top: -4px; width: 8px; height: 8px; border-top: 1px solid #83dffb; border-right: 1px solid #83dffb; transform: rotate(45deg); }
.lens-flow-map figcaption { margin-top: 22px; padding-top: 15px; border-top: 1px solid rgba(128,171,199,.24); color: #a6bfd2; font-size: 12px; line-height: 1.55; }
.lens-flow-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lens-flow-step { display: flex; flex-direction: column; border-top: 3px solid var(--fed-command); }
.lens-flow-sale { border-top-color: #5cd9af; }
.lens-flow-step h3 { margin-bottom: 12px; }
.lens-flow-step p, .lens-flow-conclusion p { margin: 0; color: #b8cadd; font-size: 14px; line-height: 1.65; }
.lens-flow-step a, .lens-flow-conclusion a { color: var(--fed-command); overflow-wrap: anywhere; text-underline-offset: 3px; }
.lens-flow-step strong, .lens-flow-conclusion strong { color: #f1f6ff; }
.lens-flow-source { display: inline-block; margin-top: auto; padding-top: 20px; font: 600 13px var(--font-fed-interface); }
.lens-flow-conclusion { margin-top: 18px; }
.lens-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 26px; padding-bottom: 34px; border-top: 1px solid var(--fed-border-soft); color: var(--fed-muted); font-size: 12px; }.lens-footer > span { color: var(--fed-command); font-family: var(--font-fed-system); letter-spacing: .08em; }.lens-footer p { max-width: 480px; margin: 0; }.lens-footer a { white-space: nowrap; color: var(--fed-muted); }

@media (max-width: 1100px) { .lens-flow-route { grid-template-columns: 1fr; gap: 0; }.lens-route-node { min-height: 0; }.lens-route-arrow { width: 1px; height: 25px; justify-self: center; background: linear-gradient(#5886a4, #83dffb); }.lens-route-arrow::after { right: -4px; top: auto; bottom: 0; transform: rotate(135deg); } }
@media (max-width: 920px) { .lens-hero-grid { grid-template-columns: minmax(0,1fr) 270px; }.lens-two-column { grid-template-columns: 1fr; }.lens-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }.lens-distribution-layout { justify-content: center; }.lens-flow-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .lens-container { width: min(100% - 32px, 600px); }.lens-topbar { min-height: 72px; padding-inline: 16px; }.lens-topbar-right a { display: none; }.lens-private { font-size: 10px; }.lens-hero { padding-top: 48px; padding-bottom: 36px; }.lens-hero-grid { display: block; }.lens-hero h1 { font-size: clamp(37px, 9vw, 54px); }.lens-hero-mark { width: min(78vw, 270px); margin-top: 18px; }.lens-lookup { padding: 24px 18px; }.lens-input-row { flex-direction: column; }.lens-input-row button { min-height: 50px; }.lens-lookup-actions { align-items: start; flex-direction: column; }.lens-section-heading { align-items: start; flex-direction: column; }.lens-report { padding-top: 38px; }.lens-report-head { align-items: start; flex-direction: column; }.lens-stack { grid-template-columns: 1fr; }.lens-distribution-layout { align-items: start; flex-direction: column; }.lens-donut { align-self: center; }.lens-bars { width: 100%; }.lens-proof { grid-template-columns: 1fr; }.lens-requested-grid { grid-template-columns: 1fr; }.lens-footer { align-items: start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
