/* php.oct.2026.newsroom.sgit.ai: the lens. Generated by admin/build/design.py; the settings are put on <html> by
   lens-boot.js before the first paint: data-t (1, 5, 15, all), data-group, data-who, data-aim, data-seen. */
@view-transition{navigation:auto}
.lz-flow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:clamp(.9rem,1.4vw,1.4rem);align-items:start}
.lz-flow>*{grid-column:span 12;min-width:0}
.lz-flow>.w8{grid-column:span 8}.lz-flow>.w7{grid-column:span 7}.lz-flow>.w6{grid-column:span 6}.lz-flow>.w5{grid-column:span 5}.lz-flow>.w4{grid-column:span 4}
@media (max-width:980px){.lz-flow>.w8,.lz-flow>.w7,.lz-flow>.w6,.lz-flow>.w5,.lz-flow>.w4{grid-column:span 12}}
.lb{order:var(--o-u,50)}
html[data-aim=act] .lb{order:var(--o-a,50)}
html[data-aim=verify] .lb{order:var(--o-v,50)}
.lz-ask{order:-1}.lz-more{order:999}
/* time: a block shows from its own tier up */
html[data-t="1"] .lb:not([data-t="1"]){display:none}
html[data-t="5"] .lb[data-t="15"],html[data-t="5"] .lb[data-t=all]{display:none}
html[data-t="15"] .lb[data-t=all]{display:none}
html[data-t=all] .lz-more{display:none}
/* aim: in 1 and 5 minutes, only the blocks for the reader's aim */
html[data-aim=understand]:is([data-t="1"],[data-t="5"]) .lb[data-aim]:not([data-aim~=understand]):not([data-aim~="*"]){display:none}
html[data-aim=act]:is([data-t="1"],[data-t="5"]) .lb[data-aim]:not([data-aim~=act]):not([data-aim~="*"]){display:none}
html[data-aim=verify]:is([data-t="1"],[data-t="5"]) .lb[data-aim]:not([data-aim~=verify]):not([data-aim~="*"]){display:none}
/* who: a block for some readers only; a variant of a block for one reader or one group. A reader who has not
   said is read as someone who wants to understand it. */
.lv{display:none}
html:not([data-group]) .lv[data-only~="_"]{display:revert}
html:not([data-group]) .lb[data-for]:not([data-for~=understand]):not([data-for~="*"]){display:none}
html[data-group=understand] .lb[data-for]:not([data-for~=understand]):not([data-for~="*"]){display:none}
html[data-group=understand] .lv[data-only~=understand]{display:revert}
html[data-group=decide] .lb[data-for]:not([data-for~=decide]):not([data-for~="*"]){display:none}
html[data-group=decide] .lv[data-only~=decide]{display:revert}
html[data-group=communicate] .lb[data-for]:not([data-for~=communicate]):not([data-for~="*"]){display:none}
html[data-group=communicate] .lv[data-only~=communicate]{display:revert}
html[data-group=act] .lb[data-for]:not([data-for~=act]):not([data-for~="*"]){display:none}
html[data-group=act] .lv[data-only~=act]{display:revert}
html[data-group=study] .lb[data-for]:not([data-for~=study]):not([data-for~="*"]){display:none}
html[data-group=study] .lv[data-only~=study]{display:revert}
html[data-group=team] .lb[data-for]:not([data-for~=team]):not([data-for~="*"]){display:none}
html[data-group=team] .lv[data-only~=team]{display:revert}
html[data-who=everyone] .lv[data-only~=everyone]{display:revert}
html[data-who=site-owner] .lv[data-only~=site-owner]{display:revert}
html[data-who=board] .lv[data-only~=board]{display:revert}
html[data-who=pm] .lv[data-only~=pm]{display:revert}
html[data-who=cfo] .lv[data-only~=cfo]{display:revert}
html[data-who=dpo] .lv[data-only~=dpo]{display:revert}
html[data-who=ciso] .lv[data-only~=ciso]{display:revert}
html[data-who=cto] .lv[data-only~=cto]{display:revert}
html[data-who=journalist] .lv[data-only~=journalist]{display:revert}
html[data-who=comms] .lv[data-only~=comms]{display:revert}
html[data-who=security] .lv[data-only~=security]{display:revert}
html[data-who=appsec] .lv[data-only~=appsec]{display:revert}
html[data-who=engineer] .lv[data-only~=engineer]{display:revert}
html[data-who=developer] .lv[data-only~=developer]{display:revert}
html[data-who=researcher] .lv[data-only~=researcher]{display:revert}
html[data-who=analyst] .lv[data-only~=analyst]{display:revert}
html[data-who] .has-g>.lv:not(.g){display:none}
/* a page that serves only some readers */
html[data-lz-for]:not([data-lz-ok]) .lz-gate{display:block}
.lz-gate{display:none}
/* seen: the boot script writes one rule per block the reader marked */
html[data-seen=fade] .lb.is-seen{opacity:.42}
html[data-seen=fade] .lb.is-seen:hover{opacity:1}
/* first visit: the three questions, until the reader answers or skips */
html[data-lz-set] .lz-ask{display:none}
.lz-ask .q{display:none}.lz-ask[data-step="1"] .q1,.lz-ask[data-step="2"] .q2,.lz-ask[data-step="3"] .q3{display:block}
/* the control */
.lz-top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.lz-top .shell{display:flex;align-items:center;gap:1rem;min-height:58px}
.lz-logo{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.lz-logo b{background:var(--alert);color:#fff;border-radius:6px;padding:.1rem .4rem;margin-right:.4rem;font-family:var(--sans);font-size:.78rem;vertical-align:2px}
.lz-tabs{display:flex;gap:.2rem;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.lz-tabs a{padding:.4rem .7rem;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:.9rem;white-space:nowrap}
.lz-tabs a[aria-current]{background:var(--surface-2);color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px var(--line)}
.lz-chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:999px;padding:.35rem .5rem .35rem .8rem;font:inherit;font-size:.86rem;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow)}
.lz-chip b{font-weight:700}.lz-chip .sep{color:var(--muted)}
.lz-chip .av{width:24px;height:24px;font-size:.72rem}
.lz-chip.pulse{animation:lzp 1.2s ease 2}
@keyframes lzp{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--brand) 30%,transparent)}}
.lz-panel{position:fixed;right:var(--gut);top:var(--lz-top,64px);width:min(440px,calc(100vw - 2*var(--gut)));background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 50px rgba(15,27,45,.22);padding:1rem 1.1rem;z-index:40}
.lz-panel[hidden]{display:none}
.lz-row{margin:0 0 .9rem}.lz-row:last-of-type{margin-bottom:.4rem}
.lz-row>b{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.lz-seg{display:flex;flex-wrap:wrap;gap:.3rem}
.lz-seg button{font:inherit;font-size:.86rem;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);border-radius:9px;padding:.35rem .6rem;cursor:pointer;text-align:left;line-height:1.2}
.lz-seg button small{display:block;color:var(--muted);font-size:.72rem}
.lz-seg button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.lz-seg button[aria-pressed=true] small{color:color-mix(in srgb,var(--surface) 75%,transparent)}
.lz-row.off{opacity:.45}.lz-row.off button{cursor:not-allowed}
.lz-row .why{font-size:.78rem;color:var(--muted);margin:.3rem 0 0}
.lz-panel select{font:inherit;font-size:.86rem;margin-top:.4rem;width:100%;padding:.35rem;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}
.lz-status{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:center;font-size:.86rem;color:var(--ink-2);margin:.2rem 0 1.2rem}
.lz-status .meter{flex:0 0 120px;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.lz-status .meter i{display:block;height:100%;background:var(--brand);width:var(--p,50%);transition:width .35s}
.lz-status button{font:inherit;border:0;background:none;color:var(--brand);text-decoration:underline;cursor:pointer;padding:0}
.lz-ask{border:2px solid var(--brand);background:var(--brand-soft)}
.lz-ask h2{margin:.1rem 0 .7rem}
.lz-ask .lz-seg button{font-size:1rem;padding:.55rem .9rem;background:var(--surface)}
.lz-ask .lz-seg button[aria-pressed=true]{background:var(--ink);color:var(--surface)}
.lz-ask .skip{font:inherit;font-size:.82rem;border:0;background:none;color:var(--muted);text-decoration:underline;cursor:pointer;margin-top:.8rem;padding:0}
.lz-ask .dots{display:flex;gap:.3rem;margin-bottom:.6rem}.lz-ask .dots i{width:22px;height:5px;border-radius:9px;background:var(--line-2)}
.lz-ask[data-step="1"] .dots i:nth-child(-n+1),.lz-ask[data-step="2"] .dots i:nth-child(-n+2),.lz-ask[data-step="3"] .dots i:nth-child(-n+3){background:var(--brand)}
.lb{position:relative}
.lb .lz-got{position:absolute;top:.7rem;right:.7rem;font:inherit;font-size:.72rem;border:1px solid var(--line-2);background:var(--surface);color:var(--muted);border-radius:999px;padding:.1rem .5rem;cursor:pointer;opacity:0;transition:opacity .2s}
.lb:hover .lz-got,.lb .lz-got:focus,.lb.is-seen .lz-got{opacity:1}
.lb.is-seen .lz-got{color:var(--good);border-color:var(--good)}
.band .lz-got{background:transparent;color:var(--band-muted)}
.lz-tag{display:inline-flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.5rem}
.lz-tag span{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);border-radius:6px;padding:.05rem .4rem}
html:not([data-lz-tags]) .lz-tag{display:none}
.lz-more{text-align:center;padding:1.6rem 1rem}
.lz-more button{font:inherit;border:0;border-radius:999px;background:var(--brand);color:var(--brand-ink);padding:.6rem 1.2rem;font-weight:700;cursor:pointer}
.lz-gate{position:sticky;top:64px;z-index:20;border:2px solid var(--warn);background:var(--warn-soft);margin-bottom:1rem}
.lz-gate button,.lz-gate a{font:inherit;margin:.3rem .4rem 0 0}
.lzh{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:2rem;align-items:start;padding:clamp(1rem,2vw,1.8rem)}
.band.lb{border-radius:var(--r);overflow:hidden}
.lz-flow>.plain{background:none;border:0;box-shadow:none;padding:0}
@media (max-width:980px){.lzh{grid-template-columns:minmax(0,1fr)}}
.lz-flash{animation:lzf 1.4s ease}
@keyframes lzf{0%{box-shadow:0 0 0 3px var(--brand)}100%{box-shadow:var(--shadow)}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.lz-flash,.lz-chip.pulse{animation:none}}
@media (max-width:700px){.lz-top .shell{gap:.5rem}.lz-tabs{display:none}.lz-chip .lbl{display:none}
  .lz-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;border-radius:16px 16px 0 0;max-height:80vh;overflow:auto}}
