*{box-sizing:border-box}html{--bg:#101111;--card:#181a19;--fg:#f1f2e9;--sub:#afb4ac;--line:#373b37;--accent:#d3fc23;color-scheme:dark;font:16px/1.55 Arial,sans-serif;scroll-padding-top:18px}html[data-theme=light]{--bg:#fafbf7;--card:#fff;--fg:#141613;--sub:#50564d;--line:#c6cbc1;--accent:#3d5110;color-scheme:light}
@media(prefers-color-scheme:light){html:not([data-theme=dark]){--bg:#fafbf7;--card:#fff;--fg:#141613;--sub:#50564d;--line:#c6cbc1;--accent:#3d5110;color-scheme:light}}
body{margin:0;background:var(--bg);color:var(--fg)}.wrap{width:min(1240px,90%);margin:auto}header,.hero{background:#101210;color:#f4f6ec}header{border-bottom:1px solid #383d34}.nav,nav,.head,.filters,figcaption,footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px}.nav{min-height:66px}.brand,small,figcaption,output,select,.code,footer{font-family:ui-monospace,monospace}.brand{font-weight:bold;font-size:17px}.brand span,em{color:#d3fc23}nav a,.brand{text-decoration:none}a{color:inherit}button,input,select{font:inherit}button,summary,select{cursor:pointer}nav button,dialog form button{border:1px solid #666;color:inherit;background:transparent;font-size:22px;min-width:44px;height:44px}.hero{border-bottom:4px solid #d3fc23}.heroGrid{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:5%;padding:40px 0 36px}small,figcaption,.code,output{font-size:12px;letter-spacing:.065em}.hero small{color:#c4c8b8}i{display:inline-block;background:#d3fc23;width:8px;height:8px;margin-right:5px}h1{font:900 clamp(54px,6.3vw,98px)/.95 ui-monospace,monospace;letter-spacing:-.07em;margin:20px 0}em{font-style:normal}.hero p{max-width:500px;color:#c4c8bd;margin:0;font-size:18px}figure{margin:0}figure img{display:block;width:100%}figcaption{border-top:1px solid #444a3c;padding:9px 0;color:#b2b6a8}section[id]{padding-top:38px}h2{font:700 clamp(24px,3vw,36px)/1.2 ui-monospace,monospace;letter-spacing:-.055em;margin:0}.head{margin-bottom:18px}.head small,output,.code{color:var(--sub)}#cases,#grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.case{background:var(--card);color:var(--fg);border:1px solid var(--line);padding:18px 20px;text-align:left;position:relative;min-height:118px}.case:first-child{background:#d3fc23;color:#111}.case small{display:block;font-size:11px;margin-bottom:14px}.case b{font-size:21px;letter-spacing:-.04em;display:block;max-width:90%}.arrow{position:absolute;top:14px;right:16px;font-size:19px}.filters{justify-content:flex-start;border-block:1px solid var(--line);padding:12px 0;margin-bottom:16px}.filters input,.filters select{background:var(--card);color:var(--fg);border:1px solid var(--line);padding:10px 13px;min-height:44px}.filters input{width:min(440px,50%)}output{margin-left:auto}.group{border:1px solid var(--line);background:var(--card);align-self:start}.group h3{font:700 19px ui-monospace,monospace;margin:0;padding:16px;border-bottom:1px solid var(--line)}.group h3 span{color:var(--accent);font-size:14px;margin-right:9px}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;width:100%;padding:11px 15px;min-height:46px;background:transparent;border:0;color:inherit}.row+.row{border-top:1px solid var(--line)}.row b{font-weight:400}.row:hover,.row:focus-visible{color:var(--accent);text-decoration:underline}.case:hover{text-decoration:underline}.method{margin:30px 0;border-top:1px solid var(--line);padding-top:18px}.method p,dialog p{max-width:70ch}footer{padding:20px 0;border-top:1px solid var(--line);font-size:13px}dialog{width:min(590px,94vw);background:var(--card);color:var(--fg);border:1px solid var(--line);border-top:5px solid #d3fc23;padding:28px;max-height:86dvh}dialog::backdrop{background:#000b}dialog form{float:right;margin-left:8px}dialog h2{margin-top:14px}dialog h3{margin:22px 0 5px}dialog p{margin:7px 0 14px}dialog li{margin:8px 0}.action{border-left:3px solid var(--accent);padding-left:14px}.source{display:inline-block;margin:14px 0}.tag{border:1px solid var(--line);background:transparent;color:var(--fg);padding:8px;margin:3px;font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8b68dc;outline-offset:2px}
@media(max-width:800px){#grid{grid-template-columns:1fr 1fr}.heroGrid{gap:0}.case{padding:15px}.case b{font-size:18px}}
@media(max-width:620px){.wrap{width:91%}.nav{gap:6px}.brand{font-size:14px}nav{gap:8px}nav a{font-size:12px}nav a:first-child{display:none}.heroGrid{grid-template-columns:1fr;padding:26px 0 18px}.hero p{font-size:16px}figure{max-width:320px;width:82%;margin:10px auto 0}figcaption{font-size:10px}#cases,#grid{grid-template-columns:1fr}.case{min-height:80px}.case small{margin-bottom:5px}.filters{flex-wrap:wrap;gap:8px}.filters input{width:100%}.filters select{max-width:68%}dialog{padding:20px}.head small{font-size:10px}}
.wrap{width:min(96%,1620px)}.nav{min-height:54px}.hero{border-bottom:1px solid #535a45}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}.intro h1{font-size:clamp(38px,4.1vw,68px);margin:12px 0;letter-spacing:-.065em}.intro p{max-width:unset;font-size:16px}.intro img{width:clamp(160px,22vw,320px);height:128px;object-fit:contain}.meta,.filters label,.layerAction,#layerNote{font:13px/1.45 ui-monospace,monospace}.meta{color:var(--sub)}#matice{padding-top:26px}.filters{justify-content:flex-start;gap:10px;margin-bottom:14px}.filters input{width:clamp(230px,27vw,420px)}.filters label{margin-left:auto}.filters select{font-size:15px}.matrixScroll{overflow:auto;scrollbar-color:var(--sub) var(--card)}#grid{grid-template-columns:repeat(7,minmax(142px,1fr));gap:5px;align-items:stretch}#grid.single{grid-template-columns:minmax(220px,340px)}.group{border:0;background:transparent}.group h3{font:700 16px/1.18 ui-monospace,monospace;overflow-wrap:anywhere;letter-spacing:-.045em;background:#d3fc23;color:#101310;border:0;min-height:86px;padding:11px 12px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}.group h3 small{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:400;letter-spacing:.06em;margin-bottom:9px}.group h3 span{font:inherit;color:inherit;margin:0;border-left:1px solid #6d8016;padding-left:7px}.row,.row+.row{display:grid;justify-content:stretch;align-content:start;gap:5px;min-height:77px;margin-top:4px;padding:10px 11px;border:1px solid var(--line);background:var(--card)}.row b{font:500 14px/1.35 Arial,sans-serif}.row small{font-size:10px;color:var(--sub)}.row:hover,.row:focus-visible{border-color:var(--accent)}.row.marked{background:#d3fc23;color:#111;border-color:#738922}.marked small{color:#2a3511}.scrollhint{display:none;font-size:13px}.filters select,.filters input{border-radius:0}#layerNote{margin:10px 0 14px}#layerNote button{margin-left:8px;background:none;color:inherit;border:0;text-decoration:underline;padding:8px}.layerAction{background:#d3fc23;color:#111;border:0;padding:12px;margin-top:12px}#count{display:block;padding:10px 0}.case{border-top:3px solid var(--accent)}#pripady{border-top:1px solid var(--line);margin-top:16px}.matrixScroll:focus-visible{outline:2px solid #9371dc}
@media(max-width:1080px){.scrollhint{display:block}.filters{flex-wrap:wrap}.filters input{flex:1 1 230px}.wrap{width:94%}}
@media(max-width:620px){.intro{padding:19px 0}.intro img{display:none}.intro h1{font-size:42px}.intro p{font-size:15px}.head{gap:8px}.meta{font-size:11px}.filters input{flex-basis:100%}.filters label{width:100%;margin:0}.filters select{max-width:100%;width:100%}.filters{gap:6px}.matrixScroll{scroll-snap-type:x proximity}.group{scroll-snap-align:start}#grid{grid-template-columns:repeat(7,minmax(155px,1fr))}#grid.single{grid-template-columns:1fr}.nav nav a:first-child{display:block}.nav .brand{font-size:12px}.nav nav{gap:6px}}
/* BOIT palette: lime anchors the atlas; tactic accents follow the matrix. */
html{--bg:#090611;--card:#171321;--fg:#f3f3f6;--sub:#c0bacb;--line:#35303f;--tech-bg:#201329;--tech-edge:#c38cff;--tech-ink:#f4eaff}
html[data-theme=light]{--bg:#faf9fc;--card:#fff;--fg:#12151b;--sub:#555062;--line:#d8d4df;--tech-bg:#f3edfb;--tech-edge:#5e1db2;--tech-ink:#27133d}
@media(prefers-color-scheme:light){html:not([data-theme=dark]){--bg:#faf9fc;--card:#fff;--fg:#12151b;--sub:#555062;--line:#d8d4df;--tech-bg:#f3edfb;--tech-edge:#5e1db2;--tech-ink:#27133d}}
header,.hero{background:#100c19}.group{--phase:#d3fc23}:is(.group,.drawer)[data-tactic="0"],:is(.group,.drawer)[data-tactic="3"]{--phase:#5bfbf8}:is(.group,.drawer)[data-tactic="1"]{--phase:#c898ff}:is(.group,.drawer)[data-tactic="4"]{--phase:#ff79d6}:is(.group,.drawer)[data-tactic="5"]{--phase:#fe70c9}:is(.group,.drawer)[data-tactic="6"]{--phase:#c0a5ed}.group h3{background:var(--phase)}.group h3 span{border-color:#30243d}.row{border-left:3px solid color-mix(in srgb,var(--phase) 55%,var(--line));min-height:103px}.row .term{font:11px/1.35 ui-monospace,monospace;color:var(--sub);letter-spacing:0;overflow-wrap:anywhere}.row.marked .term{color:#374114}.row:focus-visible{outline-offset:-3px}.techInfo{margin-top:24px;padding:18px 20px;background:var(--tech-bg);color:var(--tech-ink);border-left:4px solid var(--tech-edge)}.techInfo>small,.techInfo a{color:var(--tech-edge)}.techInfo h3{font:700 21px/1.25 ui-monospace,monospace;letter-spacing:-.03em;margin:9px 0}.techInfo p{margin-bottom:6px}.techInfo a{display:inline-block;margin-top:9px;font-size:14px}.case:nth-child(2){border-top-color:#fe00ae}.case:nth-child(3){border-top-color:#5bfbf8}
header{background:#171024;border-top:3px solid #b693ff}.hero{background:linear-gradient(115deg,#221339 0%,#271a42 50%,#112c36 100%);border-bottom:2px solid #a88bda}.hero small{color:#a5f8f2}.intro em{color:#d3fc23}.intro{padding-block:22px}.signal{width:clamp(200px,32vw,450px);flex-shrink:0;background-image:radial-gradient(#ffffff29 1px,transparent 1px);background-size:14px 14px}.signal svg{display:block;width:100%;max-height:146px;stroke-width:1.6}.signal polyline{transform-origin:center;animation:trace 4.8s ease-in-out both}.signal polyline:nth-child(3n){animation-duration:4.3s}@keyframes trace{0%{transform:scaleY(.65) translateY(9px);stroke-dasharray:500;stroke-dashoffset:500}50%{transform:scaleY(1.12);stroke-dasharray:500;stroke-dashoffset:0}100%{transform:none}}
#ai{border:1px solid var(--tech-edge);color:var(--tech-edge);background:var(--tech-bg);padding:9px 13px;min-height:44px;font-weight:bold}#ai[aria-pressed=true]{background:#5e1db2;color:white}#ai[aria-pressed=true]::before{content:'✓ '}
@media(max-width:620px){.intro{display:block;position:relative}.signal{width:100%;margin-top:12px;height:46px;overflow:hidden}.signal svg{height:72px;width:100%;transform:translateY(-13px)}}
@media(prefers-reduced-motion:reduce){.signal polyline{animation:none}}
.intro{position:relative}.signal polyline{animation:signal-flow 6s ease-in-out infinite alternate}.signal polyline:nth-child(3n){animation-duration:7.5s}@keyframes signal-flow{from{transform:scaleY(.78) translateY(4px)}to{transform:scaleY(1.08) translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.signal polyline{animation:none}}
.mast{background:#d3fc23;color:#10120b;border:0;border-bottom:6px solid #141219}.mastbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #667816;min-height:54px}.mastbrand{display:flex;align-items:center;gap:12px;text-decoration:none;font:900 23px/1 ui-monospace,monospace;letter-spacing:-.08em}.mastbrand span{border-left:1px solid #667816;padding-left:12px;letter-spacing:0;font:600 13px ui-monospace,monospace}.mast nav a{display:inline-block;font:600 14px ui-monospace,monospace}.mast nav button{border-color:#576814}.cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,32%);gap:20px;align-items:center;padding:22px 0}.cover h1{font:900 clamp(44px,4.4vw,72px)/.91 ui-monospace,monospace;letter-spacing:-.07em;margin:12px 0 14px}.cover h1 span{display:inline-block;text-shadow:2px 2px #c985ec}.coverlink{display:inline-block;background:#141219;color:white;text-decoration:none;font:600 13px ui-monospace,monospace;padding:12px 17px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.coverlink:hover,.coverlink:focus-visible{text-decoration:underline}.printPanel{position:relative;background-color:#181123;background-image:radial-gradient(#625570 1px,transparent 1px);background-size:12px 12px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}.printPanel svg{display:block;width:100%;height:clamp(142px,13vw,190px)}.contours{fill:none;stroke:#c399fc;stroke-width:1.4;transform-origin:50% 50%;animation:whorl 14s ease-in-out infinite alternate}.brackets{stroke:#5bfbf8;stroke-width:2;fill:none}.scan{stroke:#d3fc23;fill:#d3fc23;animation:reading 5s ease-in-out infinite alternate}.mast a:focus-visible,.mast button:focus-visible{outline:3px solid #5e1db2;outline-offset:2px}@keyframes whorl{to{transform:rotate(16deg) scale(.94)}}@keyframes reading{from{transform:translateY(-50px)}to{transform:translateY(50px)}}
@media(max-width:620px){.mastbrand span{font-size:10px;padding-left:5px}.mastbrand{font-size:19px;gap:5px}.mast nav a{font-size:11px}.cover{grid-template-columns:1fr minmax(92px,32%);gap:8px}.cover h1{font-size:clamp(35px,9vw,52px)}.printPanel svg{height:115px}.coverlink{font-size:11px}}
@media(prefers-reduced-motion:reduce){.scan,.contours{animation:none}}
.mast{position:relative;isolation:isolate;overflow:hidden}.mast>.printPanel{position:absolute;inset:0;z-index:-1;pointer-events:none;clip-path:none;background:transparent;opacity:.22}.mast>.printPanel svg{width:100%;height:100%;display:block}.mast .contours{stroke:#342243;stroke-width:.7}.mast .brackets{display:none}.mast .scan{stroke:#455500;fill:#455500;stroke-width:.5}.mast>.cover{display:block}.mastbar,.mast .cover{position:relative}.toolsBand{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 30px}.toolsBand>div{background:#181222;color:#faf6ff;border-top:4px solid #5bfbf8;padding:22px}.toolsBand>div+div{border-color:#d3fc23}.toolsBand h2{font-size:24px}.toolsBand p{margin:8px 0 14px}.toolsBand a{display:inline-flex;align-items:center;min-height:46px;background:#5bfbf8;color:#101015;font:700 14px ui-monospace,monospace;text-decoration:none;padding:10px 15px;margin:2px}.toolsBand>div+div a{background:#d3fc23}.toolsBand .info{background:transparent;color:#fff;text-decoration:underline}.toolsBand a:hover{text-decoration:underline}.endlinks{flex-wrap:wrap;align-items:flex-start}footer .endlinks p{display:flex;flex-wrap:wrap;gap:8px 18px;margin:8px 0}footer .endlinks a{padding-block:6px}@media(max-width:650px){.toolsBand{grid-template-columns:1fr}.mast>.printPanel svg{height:100%}}
.group>.row{border-inline-start:3px solid var(--phase)}.mastbrand .boitLogo{display:block;width:86px;height:40px;object-fit:contain}@media(max-width:620px){.mastbrand .boitLogo{width:58px;height:30px}}
/* Decorative traces span the mast; illustrated evidence stays clear of navigation. */
.mast>.printPanel{opacity:1;background-image:linear-gradient(90deg,transparent 15%,#7a8e2320 100%),radial-gradient(#24320e30 .8px,transparent 1px);background-size:100% 100%,15px 15px}
.mast>.printPanel .detectionArt{position:absolute;inset:21% 5% auto auto;width:min(57%,690px);height:75%;opacity:.9}
.photoSweep{animation:scan-photo 6s ease-in-out infinite}.textAlert,.fakeStamp{animation:inspect-text 6s ease-in-out infinite}.faceLock{animation:lock-photo 6s ease-in-out infinite}
@keyframes scan-photo{0%,8%{transform:translateY(0);opacity:0}16%{opacity:1}48%{transform:translateY(88px);opacity:1}55%,100%{transform:translateY(88px);opacity:0}}
@keyframes inspect-text{0%,42%{opacity:.15}57%,90%{opacity:1}100%{opacity:.15}}
@keyframes lock-photo{0%,50%{opacity:1}65%,90%{opacity:.4}}
@media(max-width:620px){.mast>.printPanel .detectionArt{width:56%;right:-1%;top:31%;height:56%}}
@media(prefers-reduced-motion:reduce){.photoSweep,.textAlert,.fakeStamp,.faceLock{animation:none}.photoSweep{opacity:.35}}
dialog.drawer{--phase:#d3fc23;position:fixed;inset:0 0 0 auto;margin:0;width:min(510px,88vw);max-width:none;height:100dvh;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:32px;border:0;border-inline-start:5px solid var(--phase);box-shadow:-12px 0 40px #0003}
dialog.drawer[open]{animation:drawer-in .23s ease-out}
dialog.drawer::backdrop{background:#12101859}
dialog.drawer form{position:sticky;top:0;z-index:1}
dialog.drawer form button{background:var(--card);color:var(--fg);border-color:var(--phase)}
dialog.drawer h2{clear:both;margin-top:18px}
dialog.drawer .action,dialog.drawer .techInfo{border-color:var(--phase)}
dialog.drawer .techInfo{background:color-mix(in srgb,var(--phase) 12%,var(--card));color:var(--fg)}
dialog.drawer .techInfo small,dialog.drawer .techInfo a{color:var(--fg)}
@keyframes drawer-in{from{transform:translateX(65px);opacity:.3}to{transform:none;opacity:1}}
@media(max-width:620px){dialog.drawer{inset:auto 0 0;width:100%;height:auto;max-height:88dvh;padding:20px 20px max(22px,env(safe-area-inset-bottom));border-inline-start:0;border-top:5px solid var(--phase)}dialog.drawer[open]{animation-name:sheet-in}}
@keyframes sheet-in{from{transform:translateY(55px);opacity:.4}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){dialog.drawer[open]{animation:none}}
.mast{background:#11091e;color:#fff;border-bottom:3px solid #d3fc23}.mast>.photoScene{background:#11091e url(atlas-cover.webp) center 44% / cover no-repeat;opacity:1}
.mastbar{background:#110b19;border-color:#393040;box-shadow:0 0 0 100vmax #110b19;clip-path:inset(0 -100vmax);min-height:54px}
.mastbrand .boitLogo{filter:invert(1)}.mastbrand span{border-color:#786f81}.mast nav button{color:#fff;border-color:#77707f}.mast .cover{min-height:clamp(240px,21vw,340px);display:flex;align-items:center}.mast .cover h1{font-size:clamp(48px,5.4vw,86px);margin:14px 0 22px}.mast .cover h1 span{color:#d3fc23;text-shadow:none}.mast .coverlink{background:#d3fc23;color:#120c1d}.scanLens{position:absolute;left:39%;width:24%;height:1px;top:26%;background:linear-gradient(90deg,transparent,#5bfbf8aa,transparent);animation:portrait-scan 7s ease-in-out infinite}@keyframes portrait-scan{0%,100%{top:28%;opacity:0}18%{opacity:.8}74%{top:85%;opacity:.65}83%{opacity:0}}
@media(max-width:700px){.mast>.photoScene{inset:54px 0 auto;height:clamp(160px,47vw,235px);background-size:auto 100%;background-position:right center}.mast .cover{display:block;min-height:0;padding-top:calc(clamp(160px,47vw,235px) + 15px);padding-bottom:17px}.mast .cover h1{font-size:clamp(29px,7vw,45px);margin:6px 0 12px}.mast .cover h1 br{display:none}.mast .cover h1 span::before{content:' '}.mast .scanLens{left:16%;width:34%}}
@media(prefers-reduced-motion:reduce){.scanLens{animation:none;opacity:0}}

/* Linkable matrix cards and standalone reading pages. */
a.row,a.case{display:grid;text-decoration:none}a.case{display:block}a.case:hover,a.case:focus-visible{text-decoration:underline}
a.tag,a.layerAction{display:inline-block}.topicLinks{margin:-4px 0 16px;color:var(--sub)}.topicLinks a,.reader a{text-underline-offset:.16em}
.reader{width:min(94%,760px);margin:0 auto;padding:26px 0 50px;overflow-wrap:break-word}
.reader .crumb{font:14px/1.5 ui-monospace,monospace;color:var(--sub);margin-bottom:26px}
.reader article>small,.readingList small{color:var(--sub)}
.reader h1{font-size:clamp(31px,5vw,58px);line-height:1.06;letter-spacing:-.05em;margin:12px 0 24px}
.reader h2{font-size:clamp(20px,3vw,27px);margin:26px 0 8px}
.reader p,.reader li{line-height:1.65}.reader p{margin:8px 0 16px}.reader .lead{font-size:1.15rem}.reader .techInfo h2{margin:8px 0}
.readingList{padding:0;list-style:none}.readingList li{border-top:1px solid var(--line);padding:12px 0 5px}.readingList a{font-size:1.13rem;font-weight:bold}.readingList small{display:block;margin-bottom:5px}
@media(max-width:620px){.reader{width:90%}.reader .tag{max-width:100%}}
