@font-face{font-family:Plex;src:url('assets/fonts/plex-mono-regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Russo;src:url('assets/fonts/russo-one.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--line:#343434;--muted:#777;--white:#eee}*{box-sizing:border-box}html{background:#000}body{margin:0;min-height:100dvh;background:#000;color:var(--white);font-family:Plex,'Courier New',monospace}body::after{position:fixed;inset:0;z-index:3;pointer-events:none;content:"";background:repeating-linear-gradient(transparent 0 3px,#fff02 3px 4px)}.hud-background{position:fixed;inset:0;width:100%;height:100%;color:#ededed;opacity:.34;pointer-events:none}.trace{transform-box:fill-box;transform-origin:center;animation:trace 13s ease-in-out infinite}.t2{animation-delay:-4s;animation-duration:17s}.t3{animation-delay:-8s;animation-duration:19s}.t4{animation-delay:-2s;animation-duration:11s}main{position:relative;z-index:1;max-width:1600px;min-height:100dvh;margin:auto;padding:clamp(45px,7vh,75px) clamp(24px,7vw,110px) 70px}.site-header{display:flex;align-items:center;gap:28px;margin-bottom:clamp(44px,7vh,78px)}h1{margin:0;font:clamp(30px,3.5vw,48px)/1 Russo,'Arial Black',sans-serif;letter-spacing:-1px;transform:skewX(-8deg)}.archive-title{position:relative;isolation:isolate;display:inline-block}.archive-title::before,.archive-title::after{position:absolute;inset:0;content:attr(data-text);opacity:0;pointer-events:none}.archive-title::before{color:#eee;animation:glitch-a 5.2s steps(1,end) infinite}.archive-title::after{color:#aaa;animation:glitch-b 6.4s steps(1,end) infinite}.header-line{width:64px;height:7px;border-bottom:1px solid #666;background:repeating-linear-gradient(to right,#777 0 1px,transparent 1px 8px)}.node-status{margin-left:auto;color:#858585;font-size:9px;letter-spacing:.14em}.node-status i{display:inline-block;width:7px;height:7px;margin-right:9px;border:1px solid #aaa;transform:rotate(45deg)}.archive-heading{margin:0 0 44px}.eyebrow{margin:0;color:#aaa;font-size:10px;letter-spacing:.18em}.eyebrow span{padding:0 8px;color:#555}.subline{margin:12px 0 0;color:#656565;font-size:9px;letter-spacing:.14em}.index-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px;padding:0 1px;color:#9a9a9a;font-size:9px;letter-spacing:.14em}.index-meta b{color:#ddd;font-weight:400}.record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,290px));gap:28px;align-content:start}.record-tile{position:relative;display:flex;aspect-ratio:1/1;flex-direction:column;padding:16px;border:1px solid #3c3c3c;background:#000;color:inherit;text-align:left;cursor:pointer;transition:border-color .18s,transform .18s}.record-tile::before,.record-tile::after{position:absolute;width:12px;height:12px;content:"";border-color:#a0a0a0;border-style:solid;pointer-events:none}.record-tile::before{top:-1px;left:-1px;border-width:1px 0 0 1px}.record-tile::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}.record-tile:hover,.record-tile:focus-visible{border-color:#ddd;outline:none;transform:translateY(-2px)}.tile-meta,.tile-foot{display:flex;justify-content:space-between;gap:8px;color:#777;font-size:8px;letter-spacing:.12em}.tile-meta span:last-child{color:#aaa}.feed-preview{position:relative;display:flex;flex:1;flex-direction:column;justify-content:center;width:76%;margin:12px auto;padding-left:20px;border-left:1px solid #3d3d3d}.feed-preview::before{position:absolute;top:50%;bottom:50%;left:-1px;width:1px;content:"";background:#eee;box-shadow:0 0 8px #fff8;animation:signal 4.8s ease-in-out infinite alternate}.feed-row{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:43px;border-bottom:1px solid #242424;color:#686868;font-size:8px;letter-spacing:.13em}.feed-row:first-child{border-top:1px solid #242424}.feed-row::before{position:absolute;left:-25px;width:7px;height:7px;content:"";border:1px solid #505050;background:#000;transform:rotate(45deg)}.feed-row b{font-size:10px;font-weight:400}.feed-row.active{color:#ddd;text-shadow:0 0 8px #fff3}.feed-row.active::before{border-color:#ddd;box-shadow:0 0 8px #fff7}.feed-row.active b{color:#fff;font-size:13px}.tile-foot{margin-top:auto;color:#666}.tile-foot span:last-child{color:#aaa}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:clamp(45px,9vh,100px);padding-top:16px;border-top:1px solid var(--line);color:#666;font-size:8px;letter-spacing:.12em}.footer-signal{display:flex;align-items:center;gap:3px;margin-left:auto}.footer-signal i{width:1px;background:#bbb;animation:bars 1.1s ease-in-out infinite alternate}.footer-signal i:nth-child(1){height:8px}.footer-signal i:nth-child(2){height:14px;animation-delay:.25s}.footer-signal i:nth-child(3){height:10px;animation-delay:.5s}.footer-signal b{width:8px;height:8px;margin-left:7px;border:1px solid #aaa}.modal{position:fixed;inset:0;z-index:10;display:none;place-items:center;padding:20px;background:#000d;backdrop-filter:blur(4px)}.modal.is-open{display:grid;animation:fade .18s ease-out}.dialog{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto;border:1px solid #555;background:radial-gradient(ellipse at 50% 0%,#151515,#050505 65%);box-shadow:0 20px 100px #000c}.dialog::before,.dialog::after{position:absolute;width:15px;height:15px;content:"";pointer-events:none;z-index:2}.dialog::before{top:-1px;left:-1px;border-top:1px solid #eee;border-left:1px solid #eee}.dialog::after{right:-1px;bottom:-1px;border-right:1px solid #eee;border-bottom:1px solid #eee}.dialog-head{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 17px;border-bottom:1px solid #303030;color:#858585;font-size:8px;letter-spacing:.13em}.dialog-head strong{color:#ccc;font-weight:400}.close-button{width:30px;height:30px;border:0;background:none;color:#888;font:20px/1 Plex;cursor:pointer}.close-button:hover{color:#fff}.dialog-body{padding:clamp(26px,5vw,48px) clamp(18px,6vw,60px) 38px;text-align:center}.dialog-kicker{margin:0 0 12px;color:#737373;font-size:8px;letter-spacing:.18em}.dialog-title{margin:0;color:#e3e3e3;font:400 clamp(17px,3vw,23px)/1.3 Russo,sans-serif;letter-spacing:.025em}.dialog-copy{margin:9px 0 0;color:#777;font-size:9px;letter-spacing:.05em}.cipher-wrap{margin-top:23px;padding:13px 15px;border:1px solid #2b2b2b;background:#070707;text-align:left}.cipher-label{display:flex;justify-content:space-between;color:#676767;font-size:8px;letter-spacing:.11em}.ciphertext{margin-top:11px;overflow-wrap:anywhere;color:#d0d0d0;font-size:clamp(12px,2vw,16px);letter-spacing:.15em}.key-stage{margin-top:24px}.key-input{width:min(340px,100%);height:52px;padding:0 14px;border:1px solid #555;border-radius:0;outline:none;background:#080808;color:#eee;text-align:center;font:14px Plex;letter-spacing:.24em;text-transform:uppercase}.key-input::placeholder{color:#666;font-size:10px;letter-spacing:.15em}.key-input:focus{border-color:#bbb;box-shadow:0 0 15px #fff1}.action-button{min-height:36px;margin-top:12px;padding:0 16px;border:1px solid #555;border-radius:0;background:#101010;color:#bbb;font:8px Plex;letter-spacing:.14em;cursor:pointer;transition:border-color .2s,color .2s}.action-button:hover{border-color:#aaa;color:#fff}.key-error,.puzzle-error{min-height:17px;margin:8px 0 0;color:#777;font-size:8px;letter-spacing:.07em}.puzzle-stage{margin-top:25px;animation:arrive .35s ease-out}.key-readout{display:flex;justify-content:center;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid #303030;color:#888;font-size:8px;letter-spacing:.15em}.key-readout b{color:#eee;font-size:14px;font-weight:400;letter-spacing:.25em}.puzzle-copy{margin:14px 0 0;color:#777;font-size:8px;letter-spacing:.13em}.fragments{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px}.fragment{position:relative;display:grid;min-width:0;min-height:66px;place-items:center;border:1px solid #444;background:#090909;color:#ddd;font:clamp(11px,2vw,16px) Plex;letter-spacing:.04em;cursor:grab;user-select:none;touch-action:none;transition:border-color .18s,background .18s,transform .18s,opacity .18s}.fragment::before{position:absolute;top:5px;left:5px;content:attr(data-mark);color:#5f5f5f;font:6px Plex}.fragment:hover,.fragment:focus-visible{border-color:#999;background:#121212;outline:none}.fragment.is-selected{border-color:#bbb;box-shadow:inset 0 -2px #ddd}.fragment.is-dragging{opacity:.35;transform:scale(.96)}.fragment.is-over{border-color:#bbb;background:#171717}.puzzle-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.puzzle-status{margin:0;color:#707070;font-size:7px;letter-spacing:.11em}.puzzle-actions .action-button{margin:0}.puzzle-error{text-align:right}.success{padding:32px 8px 8px;animation:arrive .4s ease-out}.success p{margin:0;color:#eee;font:clamp(18px,4vw,29px) Russo,sans-serif;letter-spacing:.02em;text-shadow:0 0 16px #fff3}@keyframes trace{0%,100%{opacity:.35;transform:translateX(0)}40%{opacity:.75;transform:translateX(8px)}70%{opacity:.45;transform:translateX(-6px)}}@keyframes glitch-a{0%,8%,12%,47%,53%,100%{opacity:0;clip-path:inset(0 0 100% 0)}9%{opacity:.85;transform:translateX(3px);clip-path:inset(28% 0 54% 0)}11%{opacity:.6;transform:translateX(-2px);clip-path:inset(45% 0 42% 0)}49%{opacity:.9;transform:translateX(-3px);clip-path:inset(17% 0 66% 0)}51%{opacity:.7;transform:translateX(2px);clip-path:inset(57% 0 25% 0)}}@keyframes glitch-b{0%,21%,27%,72%,79%,100%{opacity:0;clip-path:inset(100% 0 0 0)}22%{opacity:.8;transform:translateX(-3px);clip-path:inset(66% 0 19% 0)}25%{opacity:.6;transform:translateX(2px);clip-path:inset(48% 0 37% 0)}74%{opacity:.8;transform:translateX(3px);clip-path:inset(62% 0 22% 0)}}@keyframes signal{from{top:55%;bottom:45%;opacity:.35}to{top:25%;bottom:25%;opacity:.8}}@keyframes bars{to{transform:scaleY(.45);opacity:.5}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){main{padding:42px 24px 55px}.site-header{gap:15px;margin-bottom:48px}h1{font-size:32px}.node-status{font-size:7px}.archive-heading{margin-bottom:35px}.eyebrow{font-size:8px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record-tile{padding:11px}.tile-meta,.tile-foot{font-size:6px}.feed-preview{width:78%;padding-left:16px}.feed-row{min-height:35px;font-size:6px}.feed-row::before{left:-21px;width:6px;height:6px}.feed-row b{font-size:8px}.feed-row.active b{font-size:11px}.index-meta{font-size:7px}footer{font-size:7px;flex-wrap:wrap;gap:9px}footer>span:nth-child(2){display:none}.dialog-body{padding:27px 16px 25px}.cipher-wrap{margin-top:19px;padding:11px}.key-stage{margin-top:19px}.key-input{height:48px}.fragments{gap:4px}.fragment{min-height:57px;font-size:10px;letter-spacing:0}.fragment::before{top:4px;left:4px;font-size:5px}.action-button{min-height:32px;padding:0 11px;font-size:7px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Keep the record dialog fixed; if a short viewport needs room, the overlay itself scrolls. */
.modal{overflow:auto}
.dialog{max-height:none;overflow:visible;min-width:0;max-width:100%}
.dialog-body,.cipher-wrap,.ciphertext{min-width:0}
.ciphertext{overflow-wrap:anywhere}

