.archive-section{max-width:1466px;margin:48px auto;padding:0 4.2%;scroll-margin-top:30px}
.archive-topline{display:flex;justify-content:space-between;gap:15px;padding:13px 0;font:9px/1.6 var(--mono);letter-spacing:1px;color:#9baa86}
.archive-folder{position:relative;border:1px solid #718451;background:#1d2a18;box-shadow:inset 0 0 0 5px #15200f}
.archive-folder:before{content:'';display:block;position:absolute;top:-8px;left:24px;width:120px;height:7px;border:1px solid #718451;border-bottom:0;background:#1d2a18}
.archive-toggle{display:flex;align-items:center;gap:24px;width:100%;padding:28px;text-align:left;color:#c8d9a8}
.archive-icon{width:62px;height:55px;flex-shrink:0;color:#a4bd78}
.archive-toggle>span:nth-child(2){flex:1;min-width:0}
.archive-label{display:block;font:9px/1.7 var(--mono);letter-spacing:1.1px;color:#9fb883}
.archive-toggle strong{display:block;margin:9px 0;font:28px/1.2 Arial,sans-serif;letter-spacing:-.5px;font-weight:400;color:#dce8c8}
.archive-hint{display:block;font:13px/1.6 Arial,sans-serif;color:#adbba0}
.archive-toggle-symbol{font:25px var(--mono);color:#c9dc8f}
.archive-toggle[aria-expanded=true] .archive-toggle-symbol{transform:rotate(45deg)}
.archive-toggle:hover{background:#c9dc8f0b}
.archive-toggle:focus-visible{outline-offset:-5px}
.archive-contents{padding:0 28px 23px}
.archive-contents[hidden]{display:none}
.encrypted-archive .archive-topline{color:#cb8e84}
.encrypted-shell{position:relative;border:1px solid #8d4944;border-top:3px solid #b96056;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#0002 4px),linear-gradient(120deg,#261918,#171010);box-shadow:inset 0 0 0 5px #120d0d}
.encrypted-shell:before{content:'';position:absolute;top:-10px;left:24px;width:120px;height:7px;background:#6b3833;border:1px solid #8d4944;border-bottom:0}
.encrypted-shell .archive-toggle{color:#dfb0a7}
.encrypted-shell .archive-toggle strong{color:#f0c1b5}
.encrypted-shell .archive-icon,.encrypted-shell .archive-label,.encrypted-shell .archive-toggle-symbol{color:#d18173}
.encrypted-shell .archive-hint{color:#bf9b93}
.encrypted-shell .archive-toggle:hover{background:#d181730a}
.decrypt-form{padding:0 28px}
.decrypt-form label{display:block;margin:0 0 10px;font:12px/1.6 var(--mono);letter-spacing:1px;color:#dc9d8e}
.decrypt-controls{display:flex;gap:10px;max-width:660px}
.decrypt-controls input{flex:1;min-width:0;width:100%;height:49px;border:1px solid #88554d;background:#100c0b;color:#f0c1b5;font:17px var(--mono);padding:12px 14px;letter-spacing:3px;border-radius:0}
.decrypt-controls input::placeholder{color:#95695f;letter-spacing:0}
.decrypt-controls button{padding:13px 18px;border:1px solid #b47667;background:#67382e;color:#f8d7ca;font:12px/1.6 var(--mono);letter-spacing:.6px;white-space:nowrap}
.decrypt-controls button:hover{background:#814839}
.decrypt-controls button span{margin-left:12px}
.encrypted-shell :focus-visible{outline-color:#efa38e}
.decrypt-message{margin:18px 28px 25px;color:#b98b80;font:12px/1.7 var(--mono);overflow-wrap:anywhere}
.decrypt-message.is-error{color:#ffb19e}
.decrypt-controls input[aria-invalid=true]{border-color:#f1a38c}
.encrypted-contents{margin:0 28px 26px;padding:30px 22px;border:1px dashed #835047;background:#130e0d;text-align:center;color:#ddac9e}
.encrypted-contents>span{font:12px/1.7 var(--mono);letter-spacing:1px}
.encrypted-contents p{font:16px/1.6 Arial,sans-serif;color:#bc978d;margin:10px 0 0}
.encrypted-contents[hidden],.decrypt-form[hidden]{display:none}
.is-decrypted .decrypt-message{color:#e5b4a0}
.encrypted-contents .archive-slots{margin-top:20px;background:#140e0d;border-color:#71493f}
.encrypted-contents .archive-slot{color:#d7ae9e}
.encrypted-contents .archive-slot:hover{border-color:#b88675;background:#bc806a0b}
.encrypted-shell.is-drop-target{outline:2px solid #ecaa91;outline-offset:4px}
.program-launch .program-glyph{display:block;width:100px;height:130px;margin:0 auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 6px #c8443433)}
.program-launch .program-filename{font:14px/1.6 var(--mono);letter-spacing:0;text-transform:none;color:#f1c9b7}
.program-launch small{display:block;font:10px/1.8 var(--mono);color:#bd9284;margin-top:8px}
.program-launch.is-selected{border:1px dashed #d19a85;background:#42271d80}
body #mariposa-launch{cursor:url('assets/tactical-cursor.svg') 15 15,pointer!important;touch-action:manipulation}
.program-window{width:min(600px,calc(100vw - 28px));max-width:600px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #829763;background:#11180f;box-shadow:0 18px 90px #000b;overflow:auto}
.program-window::backdrop{background:#060b06b0;backdrop-filter:blur(3px)}
.program-titlebar{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#31422a;border-bottom:1px solid #829763;color:#d1e7ab}
.program-titlebar>span{font:15px var(--mono)}
.program-titlebar h2{flex:1;margin:0;font:14px/1.5 var(--mono);letter-spacing:.5px}
.program-titlebar button{width:38px;height:34px;border:1px solid #8d9f72;background:#182211;color:#d6e6bd;font:24px/1 Arial,sans-serif}
.program-titlebar button:hover{background:#5a3830;color:#ffccb6}
.program-body{padding:20px}
.program-terminal-heading,.program-statusbar{display:flex;align-items:center;justify-content:space-between;gap:10px;font:11px/1.6 var(--mono);letter-spacing:.6px;color:#9fbe84}
.program-terminal-heading{border-bottom:1px solid #3c5031;padding-bottom:12px}
#mariposa-output{margin:16px 0;padding:12px;height:290px;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;background:#090e08;border:1px solid #293b23;color:#b5e391;font:13px/1.7 var(--mono);text-shadow:0 0 6px #7ed45522;text-align:left}
.program-message{margin:16px 0;padding:20px 10px;min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#090e08;border:1px solid #779b51;text-align:center;color:#d0ffa4}
.program-message-label{font:10px/1.5 var(--mono);letter-spacing:2px;color:#90b96e}
.program-message p{margin:0;font:bold clamp(25px,5.5vw,38px)/1.16 var(--mono);letter-spacing:1px;color:inherit;text-shadow:0 0 13px #95e66555}
.program-message p span{font-size:.68em;letter-spacing:2px;color:#add683}
.program-destruction{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 15px;border:1px solid #9d6150;background:#291811;color:#efb39a;font:12px/1.6 var(--mono)}
.program-destruction strong{font:bold 32px/1 var(--mono);color:#ffd4b9;min-width:24px;text-align:center}
.digital-fragments{position:fixed;inset:0;width:100vw;height:100dvh;z-index:2147483647;pointer-events:none}
.terminal-cursor{animation:terminal-blink 1.4s steps(2,end) infinite}
@keyframes terminal-blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.terminal-cursor{animation:none}}
@media(max-width:650px){.program-body{padding:13px}.program-terminal-heading,.program-statusbar{font-size:9px;letter-spacing:0}#mariposa-output{font-size:11px;height:275px;padding:10px}.program-launch .program-glyph{width:80px;height:125px}.program-launch .program-filename{font-size:12px}.program-launch small{font-size:9px}}
#clue-dialog{max-width:660px;width:92vw}
#clue-dialog>img{display:block;max-width:100%;max-height:68vh;width:auto;margin:0 auto;object-fit:contain}
/* Clip only the exterior canvas; retain the supplied photograph unchanged. */
.archive-slot img[src$="polaroid-clave.png"]{width:auto;max-width:100%;margin-inline:auto;aspect-ratio:1229/1536}
img[src$="polaroid-clave.png"]{clip-path:polygon(82.181% 2.409%,82.425% 2.409%,83.157% 2.669%,83.645% 2.995%,83.971% 3.320%,84.215% 3.971%,84.540% 5.208%,84.784% 6.510%,85.354% 9.115%,86.737% 15.625%,88.853% 26.042%,91.538% 39.063%,93.897% 52.083%,96.420% 65.104%,98.535% 78.125%,99.349% 83.333%,99.512% 84.635%,99.675% 85.938%,99.593% 87.240%,99.105% 87.891%,98.129% 88.542%,77.380% 91.146%,46.461% 94.401%,28.072% 96.354%,22.132% 97.005%,17.982% 97.396%,17.087% 97.266%,16.599% 97.005%,15.867% 96.354%,15.216% 94.401%,14.646% 91.146%,14.239% 88.542%,13.995% 87.240%,13.751% 85.938%,13.426% 83.333%,12.449% 78.125%,10.334% 65.104%,8.137% 52.083%,5.940% 39.063%,3.743% 26.042%,2.034% 15.625%,1.709% 13.672%,1.790% 13.021%,2.278% 12.370%,3.906% 11.719%,6.672% 11.393%,25.631% 9.115%,47.030% 6.510%,57.933% 5.208%,68.918% 3.906%,74.532% 3.255%,77.380% 2.930%,80.065% 2.604%)}
#clue-dialog>p{font:13px/1.6 var(--mono);color:#b3bf9c;margin:16px 0 0}
@media(max-width:650px){.decrypt-form{padding:0 16px}.decrypt-controls{flex-direction:column}.decrypt-controls button{min-height:46px}.decrypt-message{margin:16px;font-size:11px}.encrypted-contents{margin:0 16px 20px;padding:24px 12px}.encrypted-archive .archive-topline{flex-direction:column;gap:3px}}
.archive-contents>p{margin:18px 0 0;font:12px/1.7 Arial,sans-serif;color:#a4b58e}
.archive-slots{display:flex;gap:22px;min-height:235px;padding:20px;border:1px dashed #5a7243;background:#121c0f;align-items:center;justify-content:center;flex-wrap:wrap}
.archive-slot{width:180px;min-height:210px;padding:9px;background:none;border:1px solid transparent;color:#b8cba1;touch-action:none;user-select:none;-webkit-user-select:none}
.archive-slot img{display:block;width:100%;height:180px;object-fit:contain;filter:drop-shadow(3px 8px 5px #0008);pointer-events:none}
.archive-slot>span{display:block;font:9px/1.5 var(--mono);letter-spacing:.5px;padding-top:10px}
.archive-slot:hover{border-color:#91ac66;background:#a5c47b0a}
.archive-slot.is-out img{opacity:.18;filter:grayscale(1)}
.archive-slot.is-out>span{color:#9aaf80}
.vault-shell{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;padding:10px 28px 26px 0;background:linear-gradient(125deg,#1c241b,#10180f);border:1px solid #607151;box-shadow:inset 0 0 0 5px #0a1009}
.vault-toggle{padding-bottom:15px}
.vault-toggle .lock-icon{height:55px;width:62px;color:#bfad70}
.vault-toggle .archive-label{color:#c0b077}
.vault-main{min-width:0}
.vault-message{margin:0 28px 20px;padding:11px 12px;border-left:2px solid #807449;background:#25271a;color:#bbae76;font:10px/1.6 var(--mono);letter-spacing:.6px}
.vault-message.is-error{color:#ef9c87;border-color:#d98169;background:#371e18}
.vault-shell.is-unlocked .vault-message{color:#c4e19b;border-color:#9cbe70;background:#24341c}
.vault-shell.is-unlocked .lock-icon,.vault-shell.is-unlocked .archive-label{color:#b9d18f}
.credential-reader{height:255px;align-self:start;position:relative;margin-top:20px;padding:16px;border:1px solid #748362;background:repeating-linear-gradient(0deg,#080f0800,#080f0800 3px,#080f0860 4px),#111b0e;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center}
.reader-code{font:8px/1.6 var(--mono);color:#9bab83;letter-spacing:1px}
.reader-outline{width:86px;height:111px;border:1px dashed #566e40;position:absolute;top:55px;left:calc(50% - 43px)}
.reader-instruction,.reader-result{font:10px/1.7 var(--mono);letter-spacing:.7px;color:#c2d5a7}
.reader-result[hidden],.reader-instruction[hidden]{display:none}
.credential-reader.is-authorized{border-color:#badc83;background-color:#22351a}
.archive-folder.is-drop-target,.vault-shell.is-drop-target{outline:2px solid #c9ec8f;outline-offset:4px}
.credential-reader.is-drop-target{outline:2px solid #d4f79c;outline-offset:5px;box-shadow:0 0 20px #9bbd6740}
#prop-layer{position:absolute;left:0;top:0;width:100%;height:0;z-index:40;pointer-events:none}
.loose-prop{position:absolute;left:0;top:0;pointer-events:auto;user-select:none;-webkit-user-select:none;filter:drop-shadow(6px 11px 6px #0008);will-change:transform}
.prop-grip{padding:0;display:block;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;background:transparent;border:0;line-height:0}
.prop-grip img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}
.prop-grip:focus-visible{outline:1px dashed #d7edaa;outline-offset:5px}
.prop-actions{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:3px;margin-top:6px}
.prop-actions button{padding:8px 7px;background:#15220feb;border:1px solid #728c53;color:#d1e4b1;font:8px/1.4 var(--mono);letter-spacing:.2px;min-height:28px;touch-action:manipulation}
.prop-actions button:hover{background:#385229}
.loose-prop.is-docked #bring-credential{display:none}
.prop-actions .prop-case-hint{width:100%;text-align:center;color:#d0dda8;background:#17200fdc;padding:5px 3px;font:8px/1.5 var(--mono)}
.loose-prop.is-dragging{filter:drop-shadow(10px 17px 9px #0009)}
body .prop-grip,body .archive-slot{cursor:grab!important}
body .is-dragging .prop-grip,body.prop-dragging *{cursor:grabbing!important}
@media(min-width:1600px){.archive-section{padding-left:0;padding-right:0}}
@media(max-width:800px){.archive-toggle{gap:16px;padding:23px}.archive-toggle strong{font-size:24px}.vault-shell{grid-template-columns:minmax(0,1fr) 170px;gap:0;padding-right:18px}.archive-icon,.vault-toggle .lock-icon{width:45px}.credential-reader{height:240px}.archive-slot{width:150px}.archive-slot img{height:160px}.archive-slots{gap:14px;padding:12px}}
@media(max-width:650px){.archive-section{padding:0 5%;margin:35px auto}.archive-topline{font-size:8px;letter-spacing:.5px}.archive-toggle{padding:20px 16px;gap:13px}.archive-icon{width:36px;height:44px}.archive-toggle strong{font-size:21px}.archive-label{font-size:8px}.archive-hint{font-size:12px}.archive-toggle-symbol{font-size:20px}.archive-contents{padding:0 12px 18px}.archive-slots{gap:8px;min-height:210px}.archive-slot{width:calc(50% - 5px);min-height:180px;padding:4px}.archive-slot img{height:148px}.archive-slot>span{font-size:8px}.vault-shell{display:block;padding:0 0 20px}.vault-message{margin:0 16px 16px;font-size:9px}.credential-reader{height:240px;width:180px;margin:16px auto 0}.vault-toggle .lock-icon{width:36px}.archive-contents>p{font-size:12px}.prop-actions button{font-size:8px;padding:7px 5px}}
.dossier .dossier-heading{align-items:center;justify-content:flex-start;gap:30px;min-height:142px;padding-bottom:8px}
.dossier-heading-copy{min-width:0}
.dossier-heading .dossier-top-actions{margin-left:auto;flex-shrink:0}
.ofc-safe{position:relative;flex:0 0 134px;width:134px;height:116px;margin:0 8px 12px 0;border:3px solid #414a43;border-radius:3px;background:#080e0b;box-shadow:inset 0 0 0 4px #141e17,3px 4px 0 #080d09,0 7px 16px #0005;scroll-margin-top:35px;perspective:650px}
.safe-door{position:absolute;inset:3px;z-index:2;display:flex;align-items:flex-start;flex-direction:column;padding:11px 13px;color:#9ea99b;background:linear-gradient(130deg,#333d35,#202a24 65%,#2d372f);border:1px solid #697363;box-shadow:inset 0 0 0 3px #1c251e,2px 2px 4px #0009;transform-origin:0 50%;transition:transform .55s ease,filter .2s}
.safe-door:before,.safe-door:after{content:'';position:absolute;width:6px;height:18px;left:-6px;background:#535e50;border:1px solid #131d15;box-shadow:inset 1px 0 #74816c}
.safe-door:before{top:10px}.safe-door:after{bottom:10px}
.safe-door:hover{filter:brightness(1.18)}
.safe-brand{font:bold 19px/1 var(--mono);letter-spacing:1px;display:flex;justify-content:space-between;width:100%;color:#b2bca9}
.safe-brand>span{font-size:8px;color:#7193a0;letter-spacing:0;align-self:center}
.safe-serial{font:5px/1.8 var(--mono);letter-spacing:1px;margin-top:4px}
.safe-keyplate{position:absolute;right:15px;bottom:18px;width:26px;height:26px;border:2px solid #87917b;border-radius:50%;background:linear-gradient(120deg,#6d7965,#333f34);box-shadow:0 2px 4px #0008;display:grid;place-items:center}
.safe-keyhole{width:4px;height:13px;background:#050907;box-shadow:1px 0 #a2ac91;transform:rotate(7deg)}
.safe-door-label{position:absolute;left:12px;bottom:15px;font:5px var(--mono);letter-spacing:.6px;color:#88947d}
.safe-message{position:absolute;left:-18px;right:-18px;top:100%;margin:9px 0 0;text-align:center;font:6px/1.5 var(--mono);letter-spacing:.4px;color:#a0b58a;pointer-events:none}
.ofc-safe.is-denied .safe-message{color:#d1a581}
.ofc-safe.is-drop-target{border-color:#b7d193;box-shadow:0 0 0 3px #b7d19330,0 0 20px #b7d19322}
.ofc-safe.is-drop-target .safe-keyplate{border-color:#daf4a8;background:#708453}
.ofc-safe.is-unlocked .safe-door{transform:rotateY(-85deg);opacity:1;pointer-events:none;filter:brightness(.75)}
.safe-interior{position:absolute;inset:6px;background:linear-gradient(90deg,#0c120d,#202d1d);box-shadow:inset 0 3px 13px #000}
.safe-interior[hidden]{display:none}
:is(#safe-slots,#butterfly-slots){height:100%;display:grid;place-items:center}
:is(#safe-slots,#butterfly-slots) .archive-slot{width:100%;height:100%;min-height:0;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:none}
:is(#safe-slots,#butterfly-slots) .archive-slot img{width:64px;height:68px;object-fit:contain;margin:0;filter:drop-shadow(0 2px 3px #000)}
:is(#safe-slots,#butterfly-slots) .archive-slot span{font:5px/1.5 var(--mono);letter-spacing:.3px;margin-top:4px}
:is(#safe-slots,#butterfly-slots) .archive-slot:hover{background:#91aa6720}
[data-stored-prop="key"] img,[data-stored-prop="mariposaKey"] img{object-fit:contain;padding:5px}
@media(max-width:1050px){.dossier .dossier-heading{flex-wrap:wrap;gap:22px}.dossier-heading .dossier-top-actions{margin-left:0;width:100%;margin-top:0}.dossier-heading-copy{flex:1}}
@media(max-width:650px){.dossier .dossier-heading{display:flex;gap:18px 16px;padding-bottom:0}.dossier-heading-copy{flex-basis:100%}.dossier .dossier-heading h2{font-size:23px;line-height:1.15}.dossier-heading-copy .eyebrow{font-size:8px}.ofc-safe{flex-basis:118px;width:118px;height:108px;margin-right:8px}.safe-brand{font-size:17px}.safe-serial{font-size:4px}.safe-door-label{font-size:4px;left:9px}.safe-keyplate{right:11px}.safe-door{padding:10px}.safe-message{font-size:5px}.dossier-heading .dossier-top-actions{margin-top:2px}}
@media(prefers-reduced-motion:reduce){.safe-door{transition:none}}

.dossier-safes{display:flex;align-items:center;gap:22px;flex-shrink:0}
.dossier-safes .ofc-safe{margin-right:0}
.mariposa-safe{border-color:#62423d;box-shadow:inset 0 0 0 4px #261915,3px 4px 0 #0d0807,0 7px 16px #0005}
.mariposa-safe .safe-door{background:linear-gradient(130deg,#48302b,#2b1f1d 65%,#3c2924);border-color:#8d5c4f;box-shadow:inset 0 0 0 3px #291b17,2px 2px 4px #0009}
.mariposa-safe .safe-brand{font-size:12px;letter-spacing:.3px;color:#dc9b85}
.mariposa-safe .safe-serial,.mariposa-safe .safe-door-label{color:#b18270}
.mariposa-safe .safe-door:before,.mariposa-safe .safe-door:after{background:#745144;border-color:#2d1e19;box-shadow:inset 1px 0 #9a7868}
.mariposa-safe .safe-keyplate{border-color:#a97564;background:linear-gradient(120deg,#927061,#53392f)}
.mariposa-safe .safe-interior{background:linear-gradient(90deg,#170c0b,#33211b)}
.mariposa-safe .safe-message{color:#d6a18c}
.mariposa-safe.is-drop-target{border-color:#edaa90;box-shadow:0 0 0 3px #edaa9030,0 0 20px #edaa9022}
.mariposa-safe.is-drop-target .safe-keyplate{border-color:#ffd0b6;background:#a9654c}
.mariposa-safe :focus-visible{outline-color:#e9a58a}
@media(max-width:650px){.mariposa-safe .safe-brand{font-size:11px}.dossier-safes{gap:22px}.safe-message{left:-8px;right:-8px}}
.radar-unit{width:116px;flex:0 0 116px;align-self:center;display:flex;align-items:center;flex-direction:column;gap:10px;margin-bottom:0}
.retro-radar{position:relative;display:block;width:108px;height:108px;padding:0;overflow:hidden;border-radius:50%;border:5px solid #414b3d;background:radial-gradient(circle at center,#213b20,#0b190e 72%);box-shadow:inset 0 0 0 1px #8ba775,inset 0 0 18px #000c,0 0 0 1px #141c11,2px 4px 5px #0009;isolation:isolate}
.radar-grid,.radar-sweep,#radar-contacts{position:absolute;inset:0;pointer-events:none;border-radius:50%}
.radar-grid{z-index:1;background:linear-gradient(90deg,transparent calc(50% - .5px),#96cb6b40 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#96cb6b40 50%,transparent calc(50% + .5px)),repeating-radial-gradient(circle at center,transparent 0 15%,#96cb6b40 15.5% 16.5%,transparent 17% 32%)}
.radar-sweep{background:conic-gradient(from 0deg,transparent 0deg 265deg,#a0ef6800 265deg,#a0ef6830 325deg,#bbff858c 357deg,#d4ffb8d9 359deg,transparent 360deg);animation:radar-sweep 4s linear infinite;z-index:2}
#radar-contacts{z-index:3;opacity:1;transition:none}
#radar-contacts.is-fading{opacity:0;transition:opacity .8s linear}
#radar-contacts.is-fading .radar-contact{animation:none;opacity:1}
.radar-contact{position:absolute;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%);animation:radar-contact 4s ease-in-out infinite;box-shadow:0 0 6px currentColor}
.radar-contact.is-red{color:#ff6963;background:#ff6963}.radar-contact.is-blue{color:#75bdff;background:#75bdff}
.radar-origin{position:absolute;left:50%;top:50%;width:3px;height:3px;background:#d6ffa4;border-radius:50%;transform:translate(-50%,-50%);z-index:4}
.radar-status{font:7px/1.4 var(--mono);letter-spacing:.6px;color:#afc894;white-space:nowrap}
.retro-radar:hover{border-color:#687d56}.retro-radar:focus-visible{outline-offset:5px}
@keyframes radar-sweep{to{transform:rotate(360deg)}}
@keyframes radar-contact{0%,100%{opacity:.45}45%,60%{opacity:1}}
@media(max-width:650px){.dossier-safes{width:100%;gap:clamp(8px,2vw,14px)}.dossier-safes .ofc-safe{flex:1 1 0;width:auto;min-width:0;max-width:118px}.radar-unit{width:clamp(80px,23vw,90px);flex:0 0 clamp(80px,23vw,90px);gap:9px}.retro-radar{width:100%;height:auto;aspect-ratio:1;border-width:4px}.radar-status{font-size:6px;letter-spacing:.2px}}
/* Preserve the non-spatial fade when the site's global reduced-motion rule disables transitions. */
@media(prefers-reduced-motion:reduce){.radar-sweep{animation-duration:12s}.radar-contact{animation:none;opacity:1}#radar-contacts.is-fading{transition:opacity .8s linear!important}}

body #interrogation-launch{cursor:pointer!important;touch-action:manipulation}
#butterfly-slots #interrogation-launch img{width:48px;height:48px;padding:0;image-rendering:pixelated;filter:drop-shadow(0 0 5px #d78c7640)}
#butterfly-slots #interrogation-launch span{font:8px/1.4 var(--mono);letter-spacing:0;text-transform:none;padding-top:3px;overflow-wrap:anywhere}
#interrogation-erased{text-align:center;color:#ad8175;font:8px/1.8 var(--mono);letter-spacing:1px}
.interrogation-window{width:min(760px,calc(100vw - 24px));max-width:760px;border-color:#966959;background:#14100e}
.interrogation-window .program-titlebar{background:#432b25;border-color:#966959;color:#e5b5a4}
.interrogation-window .program-titlebar img{margin:0;image-rendering:pixelated;flex-shrink:0}
.interrogation-window .program-titlebar h2{font-size:13px;overflow-wrap:anywhere}
.interrogation-stage{position:relative;background:#000;line-height:0}
#interrogation-video{display:block;width:100%;max-height:65dvh;aspect-ratio:16/9;object-fit:contain;background:#000}
.interrogation-countdown{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;background:#210d08ed;border-top:1px solid #bb765b;color:#ffd4b9;font:12px/1.5 var(--mono);text-align:center}
.interrogation-countdown strong{font-size:28px;min-width:20px}
.interrogation-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;color:#bd9482;font:9px/1.5 var(--mono)}
.interrogation-toolbar label{display:flex;align-items:center;gap:9px;color:#e2baa6}
.interrogation-toolbar input{width:110px;accent-color:#dda68f;min-height:28px}
.interrogation-toolbar output{min-width:30px}
.interrogation-error{padding:0 16px 16px}
.interrogation-error button{padding:12px;margin-right:10px;border:1px solid #966959;font:11px var(--mono);color:#e5b5a4}
.interrogation-window :focus-visible{outline-color:#e5b5a4}
@media(max-width:650px){.interrogation-toolbar{padding:12px}.interrogation-countdown{font-size:9px;padding:8px;gap:8px}.interrogation-window .program-titlebar h2{font-size:11px}#butterfly-slots #interrogation-launch span{font-size:7px}}

.loose-prop[data-prop="pistol"] .pistol-visual{position:relative;display:block;width:100%;aspect-ratio:4/3;transform-origin:83% 80%;pointer-events:none}
.loose-prop[data-prop="pistol"] .pistol-rest{position:absolute;left:23%;top:13%;width:77%;height:auto;opacity:1}
.loose-prop[data-prop="pistol"] .pistol-fire{position:absolute;left:0;top:0;width:100%;height:auto;opacity:0}
.loose-prop[data-prop="pistol"].is-firing .pistol-rest{opacity:0}
.loose-prop[data-prop="pistol"].is-firing .pistol-fire{opacity:1}
.loose-prop[data-prop="pistol"].is-firing .pistol-visual{animation:pistol-recoil .12s ease-out}
.loose-prop[data-prop="pistol"] .prop-case-hint{font-size:7px}
@keyframes pistol-recoil{0%{transform:none}12%{transform:translateX(5px) rotate(1.5deg)}55%,100%{transform:none}}
@media(prefers-reduced-motion:reduce){.loose-prop[data-prop="pistol"].is-firing .pistol-visual{animation:none}}
