
:root{
  --paper:#ece4d2; --paper2:#e4d9c1; --ink:#1d1b18; --ink2:#3b3731; --muted:#6d655a;
  --red:#b0141c; --blue:#1d3f8a; --green:#1f6b3a; --manila:#d6be8c;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --type:"Special Elite","Courier Prime",Courier,monospace;
  --cour:"Courier Prime",Courier,monospace;
  --head:"Oswald","Arial Narrow",Impact,sans-serif;
  --serif:"Libre Baskerville",Georgia,serif;
  --hand:"Caveat","Permanent Marker",cursive;
  --bar:34px;
}
*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--bar) + 54px)}
body{margin:0;background:#0d0d0c url(assets/desk.jpg) repeat;color:var(--ink);font-family:var(--cour);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 30%,rgba(255,236,200,.07),transparent 60%),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.65));}
body.booting{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px dashed var(--red);outline-offset:3px}
.red{color:var(--red)!important}
.grain{position:fixed;top:-50%;left:-50%;width:200%;height:200%;z-index:90;pointer-events:none;background:url(assets/grain.png);opacity:.08;animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){.grain{animation:none}*{scroll-behavior:auto!important}}

/* ===== BOOT ===== */
#boot{position:fixed;inset:0;z-index:100;overflow:hidden;background:#050605;color:#c9f1d1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;font-family:var(--mono);transition:opacity .6s ease, visibility .6s}
#boot::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
#boot::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(60,255,120,.06),transparent 65%),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.8))}
#boot.done{opacity:0;visibility:hidden}
.crt{position:relative;width:100%;max-width:760px;min-width:0;text-shadow:0 0 6px rgba(120,255,160,.45)}
.boot-head{display:flex;gap:14px;align-items:center;border-bottom:1px solid rgba(160,255,190,.25);padding-bottom:12px;margin-bottom:14px}
.boot-head>div{min-width:0}
.boot-head b{display:block;letter-spacing:.18em;font-size:15px}
.boot-head span{font-size:11px;letter-spacing:.12em;opacity:.7}
.emblem{color:currentColor;display:block}
.emblem.small{width:48px;height:48px;flex:none;color:#9fe8b4}
#bootlog{margin:0;min-height:230px;white-space:pre-wrap;overflow-wrap:anywhere;font:13.5px/1.65 var(--mono);color:#b9f0c6}
#bootlog .ok{color:#6dff9a}#bootlog .warn{color:#ffb347}#bootlog .bad{color:#ff5a5a}
#bootlog .cur{display:inline-block;width:8px;height:15px;background:#b9f0c6;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.scanner{text-align:center;margin-top:8px}
.scan-title{letter-spacing:.2em;font-size:12px;color:#ffb347;margin:0 0 14px}
.fp-btn{margin:0 auto;outline:none;-webkit-tap-highlight-color:transparent;position:relative;width:132px;height:132px;border-radius:50%;border:0;background:radial-gradient(circle,#0f1a12,#050605);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:grid;place-items:center;overflow:hidden}
.fp-btn img{width:74px;height:auto;filter:invert(1) sepia(1) hue-rotate(70deg) saturate(3) brightness(.9);opacity:.85;pointer-events:none}
.fp-btn .ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fp-btn .ring circle{fill:none;stroke:rgba(140,255,170,.18);stroke-width:3}
.fp-btn .ring #ringProg{stroke:#6dff9a;stroke-dasharray:352;stroke-dashoffset:352;stroke-linecap:round;filter:drop-shadow(0 0 4px #6dff9a)}
.fp-btn .scanbar{position:absolute;left:18%;right:18%;height:2px;top:20%;background:#6dff9a;box-shadow:0 0 12px #6dff9a;opacity:0}
.fp-btn.hold .scanbar{opacity:1;animation:scanv 0.7s ease-in-out infinite alternate}
@keyframes scanv{to{top:80%}}
.scan-hint{font-size:12px;letter-spacing:.2em;margin-top:12px;opacity:.85;animation:blink 1.6s steps(1) infinite}
.granted{text-align:center;margin-top:10px}
.granted p{margin:0;font:700 clamp(30px,6vw,54px)/1 var(--head);letter-spacing:.12em;color:#6dff9a;text-shadow:0 0 18px rgba(109,255,154,.7);animation:flick .5s steps(2) 3}
.granted small{display:block;margin-top:10px;letter-spacing:.14em;font-size:11px;opacity:.8}
@keyframes flick{50%{opacity:.2}}
.skip{position:absolute;right:18px;bottom:max(18px,env(safe-area-inset-bottom));background:none;border:1px solid rgba(185,240,198,.35);color:#b9f0c6;font:12px var(--mono);letter-spacing:.15em;padding:8px 12px;cursor:pointer}
.boot-foot{position:absolute;left:18px;bottom:max(22px,env(safe-area-inset-bottom));margin:0;font-size:10.5px;opacity:.45;letter-spacing:.06em}

/* ===== TOP BAR + TABS ===== */
.classbar{position:fixed;top:0;left:0;right:0;height:var(--bar);z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 16px;
  background:#7d0d12;color:#fff2e6;font:600 12px/1 var(--mono);letter-spacing:.16em;box-shadow:0 2px 0 #4a060a, 0 6px 22px rgba(0,0,0,.5)}
.classbar .cb-c{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3b3b;margin-right:6px;box-shadow:0 0 8px #ff3b3b;animation:blink 1.1s steps(1) infinite;vertical-align:0}
.tabs{position:fixed;top:var(--bar);left:0;right:0;z-index:55;display:flex;justify-content:center;gap:4px;padding:10px 12px 0;
  background:linear-gradient(#0d0d0c 60%,rgba(13,13,12,0));overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;text-decoration:none;font:600 11.5px/1 var(--mono);letter-spacing:.12em;color:#3a2e19;background:#cfb57f url(assets/manila.jpg);padding:9px 12px 8px;border-radius:7px 7px 0 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.25);transform:translateY(4px);transition:transform .2s, background-color .2s}
.tabs a i{font-style:normal;color:var(--red);margin-right:6px}
.tabs a:hover,.tabs a.on{transform:translateY(0);filter:brightness(1.08)}
.tabs a.on{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 0 0 1px rgba(176,20,28,.35)}

main{position:relative;z-index:1;overflow-x:hidden;overflow-x:clip;padding:calc(var(--bar) + 76px) 18px 40px;display:flex;flex-direction:column;align-items:center;gap:56px}

/* ===== STAMPS ===== */
.stamp-slot{position:absolute;z-index:6;pointer-events:none}
.stamp{display:block;overflow:visible;opacity:0;transform:scale(1) rotate(var(--r,0deg));transform-origin:center;will-change:transform,opacity}
.stamp.in{animation:slam .42s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes slam{0%{opacity:0;transform:scale(2.4) rotate(var(--r))}55%{opacity:.95;transform:scale(.94) rotate(var(--r))}75%{transform:scale(1.03) rotate(var(--r))}100%{opacity:.93;transform:scale(1) rotate(var(--r))}}
.shake{animation:shake .32s linear}
@keyframes shake{25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}}

/* ===== COVER (manila folder) ===== */
.cover{width:min(1060px,100%)}
.folder{position:relative;background:#d3b980 url(assets/manila.jpg);border-radius:4px 14px 6px 6px;padding:64px 56px 48px;min-height:640px;
  box-shadow:0 30px 60px rgba(0,0,0,.55),0 2px 0 rgba(255,255,255,.25) inset,0 -3px 0 rgba(0,0,0,.18) inset;overflow:hidden;color:#33260f}
.folder::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 40%,rgba(0,0,0,.08) 80%),radial-gradient(ellipse at 80% 90%,rgba(90,60,20,.25),transparent 45%)}
.folder-tab{position:absolute;top:0;left:56px;background:#c9ad72 url(assets/manila.jpg);padding:8px 22px;border-radius:0 0 8px 8px;font:700 13px var(--mono);letter-spacing:.2em;box-shadow:0 3px 6px rgba(0,0,0,.2)}
.coffee{position:absolute;width:300px;height:300px;right:-60px;top:-40px;opacity:.55;transform:rotate(30deg);pointer-events:none}
.cover-seal{width:120px;margin:0 auto 14px;color:#5a3b10;opacity:.85}
.agency{text-align:center;margin:0;font:700 clamp(20px,3.2vw,30px)/1.15 var(--head);letter-spacing:.24em}
.division{text-align:center;margin:6px 0 34px;font:14px var(--type);letter-spacing:.08em}
.label{position:relative;margin:0 auto;width:min(560px,100%);background:#f4efe2 url(assets/paper.jpg);padding:22px 26px;box-shadow:0 4px 12px rgba(0,0,0,.18);transform:rotate(-.6deg);color:var(--ink)}
.label dl{margin:0}
.label dl div{display:flex;gap:12px;border-bottom:1px dashed rgba(0,0,0,.25);padding:7px 0}
.label dt{width:150px;flex:none;font:600 11.5px/1.9 var(--mono);letter-spacing:.14em;color:var(--muted)}
.label dd{margin:0;font:19px var(--type);letter-spacing:.04em}
.tape{position:absolute;width:110px;height:30px;background:rgba(240,232,200,.6);box-shadow:0 1px 2px rgba(0,0,0,.12);backdrop-filter:blur(1px)}
.tape.t1{left:-30px;top:-10px;transform:rotate(-28deg)}.tape.t2{right:-28px;bottom:-8px;transform:rotate(-24deg)}
.warning{max-width:640px;margin:34px auto 0;text-align:center;font:12.5px/1.6 var(--mono);letter-spacing:.04em;color:#4b3a1c}
.open-file{display:block;width:max-content;margin:26px auto 0;text-decoration:none;font:700 15px var(--mono);letter-spacing:.3em;color:#f4efe2;background:#1d1b18;padding:14px 26px;border-radius:2px;box-shadow:0 6px 0 #000, 0 10px 24px rgba(0,0,0,.35);transition:transform .15s,box-shadow .15s}
.open-file:hover{transform:translateY(2px);box-shadow:0 4px 0 #000,0 8px 18px rgba(0,0,0,.35)}
.open-file span{display:inline-block;animation:bob 1.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(3px)}}
.s-cover1{left:2%;top:300px}.s-cover2{right:3%;top:96px}.s-cover3{right:5%;bottom:120px}

/* ===== SHEETS ===== */
.sheet{position:relative;width:min(1000px,100%);background:var(--paper) url(assets/paper.jpg);padding:64px 72px 70px 92px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 24px 50px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4)}
.sheet.wide{width:min(1180px,100%)}
.sheet:nth-of-type(odd){transform:rotate(.25deg)}.sheet:nth-of-type(even){transform:rotate(-.3deg)}
.sheet::before{content:"";position:absolute;left:30px;top:0;bottom:0;width:22px;background:
  radial-gradient(circle at 11px 18%,#141312 0 9px,transparent 10px),radial-gradient(circle at 11px 50%,#141312 0 9px,transparent 10px),radial-gradient(circle at 11px 82%,#141312 0 9px,transparent 10px);opacity:.92}
.sheet::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent 6%,transparent 94%,rgba(0,0,0,.05)),radial-gradient(ellipse at 70% 0%,rgba(255,255,255,.18),transparent 50%)}
.sheet-head{display:flex;justify-content:space-between;gap:12px;font:600 11px/1.3 var(--mono);letter-spacing:.14em;color:var(--muted);border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:30px}
.sheet-foot{margin-top:46px;text-align:center;font:700 12px var(--mono);letter-spacing:.3em;color:var(--red);border-top:1px solid rgba(0,0,0,.25);padding-top:10px}
.sec-title{font:700 clamp(34px,5vw,56px)/1 var(--head);letter-spacing:.04em;margin:0 0 26px;text-transform:uppercase}
.sec-title i{font-style:normal;font-size:.42em;vertical-align:.95em;color:var(--red);font-family:var(--mono);letter-spacing:.1em;margin-right:6px}
.mini{font:700 12px var(--mono);letter-spacing:.2em;margin:0 0 10px;color:var(--ink2)}
.lede{font:16px/1.6 var(--type);max-width:62ch;margin:-8px 0 26px;color:var(--ink2)}
.hand{font-family:var(--hand);font-weight:600;color:#1b3c86;font-size:1.25em;letter-spacing:.01em}
.note{font-size:26px;margin:24px 0 0;transform:rotate(-1.2deg)}

/* ===== WANTED POSTER ===== */
.poster{position:relative;text-align:center}
.poster-top{margin:0;font:700 15px var(--mono);letter-spacing:.32em}
.mw{margin:6px 0 2px;font:700 clamp(64px,12vw,138px)/.92 var(--head);letter-spacing:.02em;color:var(--red);text-shadow:0 0 1px rgba(176,20,28,.5)}
.charges{margin:10px auto 20px;max-width:760px;font:600 13px/1.6 var(--mono);letter-spacing:.14em;border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:9px 0}
.name{margin:0 0 22px;font:700 clamp(36px,6vw,62px)/1 var(--serif);letter-spacing:.06em}
.poster-photos{display:flex;justify-content:center;gap:22px;margin-bottom:26px;flex-wrap:wrap}
.poster-photos figure{margin:0;width:min(270px,31%);background:#fff;padding:9px 9px 6px;box-shadow:0 6px 16px rgba(0,0,0,.25);border:1px solid rgba(0,0,0,.12)}
.poster-photos figure:nth-child(1){transform:rotate(-1.4deg)}.poster-photos figure:nth-child(2){transform:rotate(1.2deg)}.poster-photos figure:nth-child(3){transform:rotate(-.6deg)}
.poster-photos img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.poster-photos.two figure{width:min(330px,45%)}
.poster-photos figcaption{font:600 10.5px var(--mono);letter-spacing:.18em;padding-top:6px;color:var(--ink2)}
.desc{width:100%;border-collapse:collapse;text-align:left;margin:0 0 22px;font-size:15.5px}
.desc caption{font:700 14px var(--mono);letter-spacing:.3em;padding:8px 0;background:var(--ink);color:var(--paper)}
.desc th{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);width:15%;padding:9px 10px;border:1px solid rgba(0,0,0,.28);vertical-align:top}
.desc td{padding:9px 10px;border:1px solid rgba(0,0,0,.28);font-family:var(--type);width:35%}
.remarks{text-align:left;border-left:4px solid var(--ink);padding:2px 0 2px 18px;margin-bottom:22px}
.remarks h3,.caution h3{margin:0 0 6px;font:700 14px var(--mono);letter-spacing:.3em}
.remarks p{margin:0;font:17px/1.65 var(--cour)}
.caution{border:3px solid var(--red);padding:14px 18px;margin-bottom:18px;color:var(--red);text-align:left}
.caution p{margin:0;font:700 15px/1.55 var(--mono);letter-spacing:.04em}
.reward{display:flex;gap:16px;align-items:baseline;justify-content:center;flex-wrap:wrap;font-family:var(--type);font-size:17px}
.reward b{font:700 15px var(--mono);letter-spacing:.3em;background:var(--ink);color:var(--paper);padding:4px 10px}
.s-w1{right:-22px;top:auto;bottom:470px}.s-w2{left:-30px;top:auto;bottom:120px}

/* ===== REDACTION ===== */
.rd{position:relative;cursor:pointer;background:#111;color:transparent;border-radius:1px;padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-color .35s,color .35s;
  box-shadow:0 0 0 1px #111;user-select:none}
.rd:hover,.rd.open{background:rgba(255,230,90,.55);color:var(--ink);box-shadow:none}
.rd.lock:hover,.rd.lock.open{background:#111;color:transparent}
.rd.lock.denied::after{content:"ACCESS DENIED · LEVEL 6";position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;background:var(--red);color:#fff;font:700 10px var(--mono);letter-spacing:.14em;padding:5px 8px;z-index:9}

/* ===== BOOKING ===== */
.booking{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:start}
.mug{margin:0;position:relative}
.clip{position:absolute;z-index:3;top:-18px;left:38px;width:26px;height:70px;border:3px solid #8b8f94;border-radius:13px;border-bottom-color:transparent;box-shadow:1px 1px 2px rgba(0,0,0,.3)}
.mug-frame{position:relative;background:#111;padding:10px;box-shadow:0 10px 26px rgba(0,0,0,.35);transform:rotate(-1deg);overflow:hidden}
.mug-frame img{width:100%;height:auto;aspect-ratio:1040/1300}
.placard{position:absolute;left:50%;bottom:3%;transform:translateX(-50%) perspective(400px) rotateX(4deg);width:58%;background:#121212;border:3px solid #2a2a2a;outline:1px solid #000;
  color:#f3f3f0;text-align:center;padding:10px 8px 8px;font-family:var(--head);letter-spacing:.08em;box-shadow:0 8px 16px rgba(0,0,0,.5);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 2px,transparent 2px 9px)}
.placard span{display:block;font-size:clamp(9px,1.2vw,13px);font-weight:500;opacity:.92}
.placard b{display:block;font-size:clamp(15px,2.3vw,25px);font-weight:700;line-height:1.15;margin:3px 0}
.placard .pl-date{margin-top:2px;font-family:var(--mono);font-size:clamp(9px,1.1vw,12px)}
.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.flash.go{animation:flash .9s ease-out}
@keyframes flash{0%{opacity:.7}100%{opacity:0}}
.mug figcaption,.cctv figcaption{font:12px/1.5 var(--mono);margin-top:12px;color:var(--ink2)}
.booking-data{position:relative}
.form{margin:0 0 22px}
.form div{display:grid;grid-template-columns:150px 1fr;gap:10px;border-bottom:1px solid rgba(0,0,0,.25);padding:8px 0}
.form dt{font:600 11px/1.9 var(--mono);letter-spacing:.12em;color:var(--muted)}
.form dd{margin:0;font:17px var(--type)}
.charges-list{margin:0;padding:0;list-style:none;counter-reset:c}
.charges-list li{padding:8px 0;border-bottom:1px dotted rgba(0,0,0,.35);font-size:16px}
.charges-list code{font:700 12px var(--mono);background:var(--ink);color:var(--paper);padding:2px 6px;margin-right:8px;letter-spacing:.06em}
.charges-list em{color:var(--muted);font-size:.9em}
.s-b1{right:-20px;bottom:-30px}
.evidence-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;margin-top:46px;align-items:start}
.printcard{position:relative;background:#f7f3ea;border:1px solid rgba(0,0,0,.35);padding:14px;box-shadow:0 6px 14px rgba(0,0,0,.18);transform:rotate(.8deg)}
.pc-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:10px;font:600 11px var(--mono);letter-spacing:.12em}
.prints{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(0,0,0,.4)}
.prints div{border-right:1px solid rgba(0,0,0,.4);padding:6px 4px 2px;text-align:center}
.prints div:last-child{border-right:0}
.prints img{width:100%;height:auto;aspect-ratio:360/440;opacity:.92}
.prints small{display:block;font:600 9px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:clip;letter-spacing:.06em;color:var(--muted);margin-top:2px}
.pc-scan{position:absolute;left:14px;right:14px;top:44px;height:calc(100% - 110px);pointer-events:none;overflow:hidden}
.pc-scan span{position:absolute;left:0;right:0;height:3px;background:rgba(31,140,70,.85);box-shadow:0 0 14px 3px rgba(40,200,100,.45);top:-6px;opacity:0}
.printcard.scan .pc-scan span{animation:pcs 1.6s ease-in-out 2;opacity:1}
@keyframes pcs{0%{top:0}50%{top:100%}100%{top:0}}
.pc-result{margin:10px 0 0;font:700 12px var(--mono);letter-spacing:.14em;color:var(--muted)}
.pc-result.ok{color:var(--green)}
.s-fp{right:-18px;top:-34px}
.cctv{margin:0}
.cctv-frame{position:relative;background:#000;padding:6px;box-shadow:0 8px 20px rgba(0,0,0,.35);overflow:hidden}
.cctv-frame img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.cctv-frame .scan{position:absolute;inset:6px;background:repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 1px,transparent 1px 3px);pointer-events:none}
.cctv-frame .scan::after{content:"";position:absolute;left:0;right:0;height:30%;background:linear-gradient(transparent,rgba(180,255,200,.07),transparent);animation:roll 4s linear infinite}
@keyframes roll{from{top:-30%}to{top:100%}}
.osd{position:absolute;font:600 clamp(9px,1.2vw,12px)/1 var(--mono);color:#e9ffe9;letter-spacing:.1em;text-shadow:0 0 3px #000,0 0 6px rgba(0,0,0,.8)}
.osd.tl{top:16px;left:16px}.osd.tr{top:16px;right:16px}.osd.bl{bottom:16px;left:16px}.osd.br{bottom:16px;right:16px;color:#ffd84a}
.rec{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff2b2b;margin-right:6px;animation:blink 1s steps(1) infinite}
.target{position:absolute;left:32%;top:17%;width:44%;height:74%;border:2px solid rgba(255,216,74,.9)}
.target::before,.target::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:1px solid rgba(255,216,74,.7);border-radius:50%}
.target::after{width:2px;height:2px;margin:-1px 0 0 -1px;background:#ffd84a}
.target span{position:absolute;left:-2px;top:-20px;background:rgba(255,216,74,.92);color:#000;font:700 10px var(--mono);letter-spacing:.1em;padding:3px 6px}

/* ===== PROFILE ===== */
.threat{border:2px solid var(--ink);padding:16px 18px 14px;margin-bottom:26px;background:rgba(255,255,255,.25)}
.meter{position:relative;display:grid;grid-template-columns:repeat(5,1fr);height:44px;border:1px solid var(--ink)}
.meter span{display:grid;place-items:center;font:700 clamp(8.5px,1.2vw,11.5px) var(--mono);letter-spacing:.1em;color:#fff;border-right:1px solid rgba(0,0,0,.4)}
.meter span:nth-child(1){background:#3f7a45}.meter span:nth-child(2){background:#2e5a96}.meter span:nth-child(3){background:#c9a227;color:#1d1b18}.meter span:nth-child(4){background:#d4661c}.meter span:nth-child(5){background:var(--red)}
.threat.on .meter span:nth-child(5){animation:sev 1s steps(1) infinite}
@keyframes sev{50%{background:#5a070b}}
.needle{position:absolute;bottom:-14px;left:2%;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:14px solid var(--ink);transition:left 1.8s cubic-bezier(.3,1.3,.5,1)}
.threat.on .needle{left:calc(90% - 10px)}
.threat-class{margin:22px 0 0;font:600 13px var(--mono);letter-spacing:.12em}
.memo{position:relative;font-size:17px}
.memo p{margin:0 0 16px;max-width:70ch}
.memo-meta{font:13px/1.7 var(--mono);border-bottom:1px solid rgba(0,0,0,.3);padding-bottom:12px}
.checks{list-style:none;padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 18px;font:14px var(--mono)}
.checks li{display:flex;gap:8px;align-items:center}
.checks li::before{content:"";flex:none;width:16px;height:16px;border:1.5px solid var(--ink);background:transparent}
.checks li.x::before{content:"✕";display:grid;place-items:center;font:700 14px/1 var(--mono);color:var(--red)}
.signature{display:flex;align-items:center;gap:14px;margin-top:10px}
.signature svg{width:180px;height:50px}
.signature path{fill:none;stroke:#1b3c86;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2.2s ease}
.signature.on path{stroke-dashoffset:0}
.signature span{font:12px var(--mono);color:var(--muted)}
.s-p1{right:-10px;top:-40px}

/* ===== M.O. ===== */
.mo{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:2px solid var(--ink)}
.mo li{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.3)}
.mo b{font:700 22px var(--head);letter-spacing:.08em}
.mo p{margin:0;font-size:17px}
.s-mo{right:20px;bottom:130px}

/* ===== OPERATIONS ===== */
.sub{font:700 16px var(--mono);letter-spacing:.2em;margin:34px 0 16px;border-bottom:2px solid var(--ink);padding-bottom:6px}
.sub small{font-size:11px;color:var(--muted);letter-spacing:.14em}
.grid{display:grid;gap:22px}
.grid.apps{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.webs{grid-template-columns:repeat(3,minmax(0,1fr))}
.exhibit{position:relative;background:#f6f1e4;border:1px solid rgba(0,0,0,.22);box-shadow:0 4px 10px rgba(0,0,0,.14);transition:transform .25s, box-shadow .25s}
.exhibit:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 14px 26px rgba(0,0,0,.22)}
.exhibit.app{padding:16px 16px 54px}
.exhibit .tag{position:absolute;top:12px;right:-6px;background:#fff8d4;border:1px solid rgba(0,0,0,.3);padding:4px 10px 4px 16px;font:10px var(--mono);letter-spacing:.12em;transform:rotate(4deg);box-shadow:0 2px 4px rgba(0,0,0,.15)}
.exhibit .tag::before{content:"";position:absolute;left:5px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;border:1px solid rgba(0,0,0,.4)}
.exhibit .tag b{display:block;font:700 15px var(--mono);color:var(--red)}
.ex-photo{width:84px;height:84px;border-radius:20px;overflow:hidden;margin-bottom:12px;box-shadow:0 3px 8px rgba(0,0,0,.25);filter:grayscale(1) contrast(1.1);transition:filter .3s}
.exhibit:hover .ex-photo,.exhibit:focus-within .ex-photo{filter:none}
.ex-photo img{width:100%;height:100%}
.ex-body h4{margin:0;font:700 22px/1.1 var(--head);letter-spacing:.06em}
.ex-cat,.ex-no{margin:4px 0 8px;font:600 10.5px var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.ex-body p{margin:0 0 12px;font-size:15px;line-height:1.5}
.ev-link{display:inline-block;font:700 11.5px var(--mono);letter-spacing:.08em;color:var(--red);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;word-break:break-all}
.ev-link:hover{color:var(--ink)}
.mini-stamp{position:absolute;right:12px;bottom:10px}
.exhibit.web{padding:12px 12px 16px}
.photo-pin{position:relative;background:#fff;padding:6px;box-shadow:0 2px 6px rgba(0,0,0,.2);margin-bottom:12px;transform:rotate(-.8deg)}
.exhibit.web:nth-child(even) .photo-pin{transform:rotate(.9deg)}
.photo-pin img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;filter:grayscale(1) sepia(.25) contrast(1.05);transition:filter .35s}
.exhibit.web:hover .photo-pin img,.exhibit.web:focus-within .photo-pin img{filter:none}
.staple{position:absolute;top:-4px;left:50%;width:34px;height:7px;margin-left:-17px;border:2px solid #8a8d91;border-bottom:0;border-radius:2px 2px 0 0}
.network{position:relative;display:flex;align-items:center;gap:26px;margin-top:34px;padding:22px 26px;border:3px double var(--ink);text-decoration:none;background:rgba(255,255,255,.3);transition:background-color .2s}
.network:hover{background:rgba(255,255,255,.55)}
.network .big{font:700 clamp(64px,9vw,110px)/.9 var(--head);color:var(--red)}
.network .nt{display:flex;flex-direction:column;gap:4px;font-size:16px}
.network .nt b{font:700 15px var(--mono);letter-spacing:.2em}
.network em{font:700 13px var(--mono);font-style:normal;color:var(--red)}
.s-net{right:40px;top:50%;margin-top:-40px}

/* ===== ASSOCIATES (corkboard) ===== */
.cork{position:relative;background:#a77a4c url(assets/cork.jpg);border:14px solid #5b3b20;border-image:linear-gradient(#6b4527,#4a2f18) 1;box-shadow:inset 0 0 30px rgba(0,0,0,.45),0 8px 18px rgba(0,0,0,.35);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto;gap:30px 26px;padding:34px 28px}
.strings{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.strings path{fill:none;stroke:#b3141b;stroke-width:2;filter:drop-shadow(1px 2px 1px rgba(0,0,0,.35));stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.4s ease}
.cork.on .strings path{stroke-dashoffset:0}
.pin{position:absolute;z-index:4;top:-7px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff6a6a,#b3141b 55%,#5a070b);box-shadow:1px 3px 3px rgba(0,0,0,.45)}
.boss{position:relative;z-index:3;grid-column:2;grid-row:1 / span 2;align-self:center;background:#fff;padding:10px 10px 12px;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.45);transform:rotate(-1.5deg)}
.boss img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.boss b{display:block;font:700 20px var(--head);letter-spacing:.1em;margin-top:8px}
.boss small{font:10.5px var(--mono);letter-spacing:.1em;color:var(--muted)}
.assoc{position:relative;z-index:3;align-self:start;display:flex;gap:12px;align-items:flex-start;background:#f7f2e3 url(assets/paper.jpg);padding:14px 12px 12px;box-shadow:0 6px 12px rgba(0,0,0,.35)}
.assoc:nth-of-type(odd){transform:rotate(1.2deg)}.assoc:nth-of-type(even){transform:rotate(-1.4deg)}
.assoc img{width:54px;height:54px;border-radius:14px;flex:none;filter:grayscale(1)}
.assoc b{display:block;font:700 14.5px var(--mono);word-break:break-all}
.assoc small{display:block;font:600 10px var(--mono);letter-spacing:.12em;color:var(--red);margin:2px 0 4px}
.assoc p{margin:0;font-size:13.5px;line-height:1.4}
.assoc em{display:block;margin-top:6px;font:600 10px var(--mono);font-style:normal;letter-spacing:.12em;color:var(--green)}
.a1{grid-column:1;grid-row:1}.a2{grid-column:3;grid-row:1}.a3{grid-column:1;grid-row:2}.a4{grid-column:3;grid-row:2}.a5{grid-column:1;grid-row:3}.a6{grid-column:3;grid-row:3}
.s-as{right:8px;bottom:60px}

/* ===== TIMELINE ===== */
.timeline{list-style:none;margin:0;padding:0 0 0 26px;position:relative}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:repeating-linear-gradient(var(--ink) 0 6px,transparent 6px 10px)}
.timeline li{position:relative;padding:0 0 22px 14px}
.timeline li::before{content:"";position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--red)}
.timeline time{display:block;font:600 12px var(--mono);letter-spacing:.12em;color:var(--muted)}
.timeline time b{color:var(--red)}
.timeline p{margin:3px 0 0;font-size:16.5px;max-width:66ch}
.s-lg{right:10px;top:150px}

/* ===== INTERCEPTS ===== */
.teletype{background:#1a1916;color:#e8e2d0;padding:22px 24px;font-family:var(--mono);box-shadow:inset 0 0 40px rgba(0,0,0,.6),0 8px 18px rgba(0,0,0,.3);border-radius:3px}
.tt-head{margin:0 0 14px;font-size:11.5px;letter-spacing:.16em;color:#ffb347}
.wave{display:flex;align-items:center;gap:3px;height:38px;margin-bottom:16px}
.wave i{flex:1;max-width:8px;background:#6dff9a;opacity:.75;height:20%;border-radius:1px;animation:wv 1.1s ease-in-out infinite alternate}
.wave i:nth-child(3n){animation-delay:-.3s}.wave i:nth-child(4n){animation-delay:-.6s}.wave i:nth-child(5n+1){animation-delay:-.85s}
@keyframes wv{to{height:95%}}
.tt{list-style:none;margin:0;padding:0}
.tt li{padding:9px 0;border-top:1px dashed rgba(232,226,208,.18);font-size:14.5px;line-height:1.55}
.tt time{color:#6dff9a;margin-right:10px}
.tt b{color:#ffb347;margin-right:6px}
.tt em{display:block;color:#a8a294;font-style:normal;font-size:12.5px;margin-top:2px}
.tt .rd{background:#e8e2d0;box-shadow:0 0 0 1px #e8e2d0}
.tt .rd:hover,.tt .rd.open{background:rgba(255,230,90,.25);color:#fff}
.tt li{opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.teletype.on .tt li{opacity:1;transform:none}
.teletype.on .tt li:nth-child(2){transition-delay:.5s}.teletype.on .tt li:nth-child(3){transition-delay:1s}.teletype.on .tt li:nth-child(4){transition-delay:1.6s}
.s-in{right:-10px;top:110px}

/* ===== CONTACT ===== */
.report{max-width:640px}
.big-warn{font:700 clamp(24px,3.6vw,34px)/1.15 var(--head);letter-spacing:.06em;color:var(--red);margin:0 0 14px}
.report p{font-size:17px}
.transmit{display:flex;flex-direction:column;gap:6px;width:max-content;max-width:100%;margin:24px 0;text-decoration:none;background:var(--ink);color:var(--paper);padding:18px 26px;box-shadow:0 6px 0 #000,0 12px 24px rgba(0,0,0,.3);transition:transform .15s, box-shadow .15s}
.transmit:hover{transform:translateY(2px);box-shadow:0 4px 0 #000,0 8px 16px rgba(0,0,0,.3)}
.transmit span{font:700 12px var(--mono);letter-spacing:.3em;color:#ffb347}
.transmit b{font:400 clamp(20px,3.4vw,30px) var(--type);letter-spacing:.02em;word-break:break-all}
.small{font-size:13.5px!important;color:var(--muted)}
.s-c1{right:30px;bottom:120px}

/* ===== FOOTER ===== */
.site-foot{position:relative;z-index:1;text-align:center;color:#a49c8b;padding:20px 20px calc(40px + env(safe-area-inset-bottom));font-family:var(--mono)}
.emblem.tiny{width:54px;height:54px;margin:0 auto 10px;color:#7b725f}
.made{margin:0;font:600 14px var(--mono);letter-spacing:.14em;color:#e2d9c4}
.fic{margin:8px auto 0;max-width:640px;font-size:11.5px;line-height:1.6;color:#7f786b}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1;transform:none}
.exhibit.reveal.in:hover{transform:translateY(-4px) rotate(-.4deg)}
.assoc.reveal.in.a1,.assoc.reveal.in.a3,.assoc.reveal.in.a5{transform:rotate(1.2deg)}
.assoc.reveal.in.a2,.assoc.reveal.in.a4,.assoc.reveal.in.a6{transform:rotate(-1.4deg)}
.printcard.reveal.in{transform:rotate(.8deg)}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .grid.apps,.grid.webs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking{grid-template-columns:1fr}
  .mug{max-width:520px;margin:0 auto;width:100%}
  .evidence-row{grid-template-columns:1fr}
  .checks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  :root{--bar:30px}
  body{font-size:16px}
  #bootlog{font-size:11.5px;min-height:200px}
  .boot-head span{font-size:9.5px}
  .classbar{font-size:10px;letter-spacing:.1em;padding:0 10px}
  .classbar .cb-c{display:none}
  .hide-s{display:none}
  .tabs{justify-content:flex-start;padding:8px 8px 0}
  .tabs a{font-size:10.5px;padding:8px 10px 7px}
  main{padding:calc(var(--bar) + 62px) 10px 30px;gap:34px}
  .folder{padding:56px 20px 34px;min-height:0}
  .folder-tab{left:20px;font-size:11px}
  .cover-seal{width:92px}
  .agency{letter-spacing:.14em}
  .label{padding:14px 14px}
  .label dl div{flex-direction:column;gap:0}
  .label dt{width:auto;font-size:10px;line-height:1.4}
  .label dd{font-size:17px}
  .coffee{width:200px;height:200px;right:-70px;top:-30px}
  .s-cover1{left:-4px;top:auto;bottom:150px}.s-cover2{right:-6px;top:150px}.s-cover3{right:4px;bottom:20px}
  .sheet{padding:40px 16px 40px 40px}
  .sheet:nth-of-type(odd),.sheet:nth-of-type(even){transform:none}
  .sheet::before{left:10px;width:18px;background:radial-gradient(circle at 9px 15%,#141312 0 7px,transparent 8px),radial-gradient(circle at 9px 50%,#141312 0 7px,transparent 8px),radial-gradient(circle at 9px 85%,#141312 0 7px,transparent 8px)}
  .sheet-head{font-size:9px;letter-spacing:.08em;flex-wrap:wrap;margin-bottom:22px}
  .sheet-head span:nth-child(2){display:none}
  .poster-photos{gap:12px}
  .poster-photos figure{width:calc(50% - 6px);padding:5px 5px 4px}
  .poster-photos figure:nth-child(1){width:100%;max-width:340px}
  .poster-photos.two figure,.poster-photos.two figure:nth-child(1){width:calc(50% - 6px);max-width:none}
  .poster-photos figcaption{font-size:8.5px;letter-spacing:.1em}
  .charges{font-size:11px;letter-spacing:.08em}
  .desc,.desc tbody,.desc tr{display:block;width:100%}
  .desc caption{display:block}
  .desc tr{display:grid;grid-template-columns:38% 62%}
  .desc th,.desc td{width:auto;font-size:14px;padding:7px 8px}
  .desc th{font-size:9.5px}
  .s-w1{right:-8px;top:250px}.s-w2{left:-14px;top:auto;bottom:220px}
  .form div{grid-template-columns:118px 1fr}
  .form dt{font-size:9.5px}
  .form dd{font-size:15px}
  .charges-list li{font-size:14.5px}
  .s-b1{right:0;bottom:-40px}
  .prints small{font-size:7px}
  .grid.apps{grid-template-columns:1fr}
  .mo li{grid-template-columns:1fr;gap:4px}
  .checks{grid-template-columns:1fr 1fr;font-size:12.5px}
  .cork{grid-template-columns:1fr;gap:20px;padding:22px 14px;border-width:10px}
  .boss{grid-column:1;grid-row:auto;width:70%;justify-self:center}
  .a1,.a2,.a3,.a4,.a5,.a6{grid-column:1;grid-row:auto}
  .network{flex-direction:column;align-items:flex-start;gap:8px;padding:18px}
  .s-net{right:6px;top:18px;margin:0}
  .note{font-size:22px}
  .tt li{font-size:13.5px}
  .teletype{padding:16px 14px}
  .s-in{right:2px;top:auto;bottom:104px}
  .s-c1{right:2px;bottom:104px}
  .s-lg{right:2px;top:auto;bottom:100px}
  .s-mo{right:2px;bottom:104px}
  .s-p1{right:-6px;top:-34px}
  .s-as{right:2px;bottom:96px}
  .sheet-foot{letter-spacing:.14em;font-size:11px}
  .s-w1{right:-6px;top:auto;bottom:560px}
  .s-w2{left:auto;right:0;top:auto;bottom:40px}
  .s-cover2{right:-6px;top:70px}
  .boot-foot{max-width:calc(100% - 130px)}
  .exhibit.app{display:grid;grid-template-columns:64px 1fr;gap:0 14px;padding:14px 14px 44px}
  .exhibit.app .ex-photo{width:64px;height:64px;border-radius:15px;margin:0}
  .exhibit.app .ex-body h4{font-size:19px;padding-right:62px}
  .exhibit .tag{top:10px;right:-4px;padding:3px 8px 3px 14px}
  .grid.webs{grid-template-columns:1fr 1fr;gap:14px}
  .exhibit.web{padding:8px 8px 12px}
  .exhibit.web .ex-body p:not(.ex-no){display:none}
  .exhibit.web .ex-body h4{font-size:18px;margin-bottom:4px}
  .exhibit.web .ex-no{font-size:8.5px;letter-spacing:.06em;margin:2px 0 4px}
  .exhibit.web .ev-link{font-size:9.5px;letter-spacing:0}
  .photo-pin{padding:4px;margin-bottom:8px}
}
