:root{--frag-line:rgba(255,255,255,.11);--frag-muted:#9c9284;--frag-violet:#9d68ff}
body{background:#050405;overflow-x:hidden}.fragments-hero{min-height:74vh;display:grid;place-items:end start;padding:150px 6vw 72px;position:relative;isolation:isolate;background:radial-gradient(circle at 72% 26%,rgba(113,57,185,.2),transparent 28%),linear-gradient(180deg,rgba(5,4,5,.18),#050405 92%),url('../img/fragments/fragment-003.webp') center 38%/cover no-repeat}.fragments-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,4,5,.95) 0%,rgba(5,4,5,.55) 45%,rgba(5,4,5,.28) 100%),linear-gradient(0deg,#050405 0%,transparent 45%)}.fragments-hero-inner{max-width:760px}.fragments-hero h1{font-family:Fraunces,serif;font-size:clamp(4rem,9vw,8.5rem);line-height:.82;letter-spacing:-.065em;margin:20px 0 28px;font-weight:500}.fragments-hero h1 em{font-weight:300;color:#c9a6ff}.fragments-hero p{max-width:650px;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.75;color:#b9b0a5}.archive-readout{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.archive-readout span{border:1px solid var(--frag-line);background:rgba(6,5,7,.62);backdrop-filter:blur(12px);padding:10px 14px;font:500 11px/1 JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--frag-muted)}.archive-readout b{color:#fff}.archive-shell{padding:36px 4vw 100px;max-width:1680px;margin:auto}.archive-toolbar{position:sticky;top:74px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0 18px;background:linear-gradient(#050405 72%,transparent)}.fragment-filters{display:flex;gap:8px;flex-wrap:wrap}.fragment-filters button,.recover-btn{appearance:none;border:1px solid var(--frag-line);background:rgba(255,255,255,.025);color:#8f867b;padding:11px 15px;font:500 10px/1 JetBrains Mono,monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.25s}.fragment-filters button:hover,.fragment-filters button.active{color:#fff;border-color:rgba(184,137,255,.48);background:rgba(157,104,255,.1)}.recover-btn{color:#eee;border-color:rgba(157,104,255,.35);display:flex;align-items:center;gap:10px}.recover-btn:hover{background:rgba(157,104,255,.12);border-color:rgba(157,104,255,.7)}.recover-btn:disabled{opacity:.35;cursor:not-allowed}.recover-dot{width:7px;height:7px;border-radius:50%;background:#a971ff;box-shadow:0 0 14px #a971ff;animation:pulseFrag 1.7s infinite}.recovery-console{margin:16px 0 26px;border-top:1px solid var(--frag-line);border-bottom:1px solid var(--frag-line);padding:15px 2px;display:flex;align-items:center;gap:20px;color:#6f675f}.recovery-console span{font:500 10px JetBrains Mono,monospace;color:#ab7dff;letter-spacing:.12em}.recovery-console p{margin:0;font:400 11px JetBrains Mono,monospace}.recovery-console.scanning span{animation:blinkFrag .18s infinite}.fragment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:12px}.fragment-card{position:relative;min-width:0;border:1px solid var(--frag-line);background:#080708;cursor:pointer;overflow:hidden;transition:transform .35s,border-color .35s,opacity .3s}.fragment-card.wide{grid-column:span 2}.fragment-card:hover{transform:translateY(-3px);border-color:rgba(180,137,255,.45)}.fragment-media{position:relative;aspect-ratio:1.18/1;overflow:hidden;background:#0b090d}.fragment-card.wide .fragment-media{aspect-ratio:2.05/1}.fragment-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}.fragment-card:hover img{transform:scale(1.035)}.fragment-noise{pointer-events:none;position:absolute;inset:0;opacity:.17;mix-blend-mode:screen;background-image:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.05) 3px 4px)}.fragment-meta{display:flex;justify-content:space-between;align-items:end;padding:15px 16px 17px}.fragment-meta small{display:block;font:500 9px JetBrains Mono,monospace;letter-spacing:.11em;color:#756d64;margin-bottom:7px}.fragment-meta h3{font:500 clamp(1rem,1.2vw,1.2rem) Fraunces,serif;margin:0}.fragment-open{color:#8f63d9}.fragment-lock{display:none;position:absolute;inset:0;place-items:center;text-align:center;background:radial-gradient(circle at 50% 40%,rgba(72,35,107,.22),rgba(4,4,5,.82));font-family:JetBrains Mono,monospace}.fragment-lock span{display:block;font-size:11px;letter-spacing:.18em;color:#d5c0f5}.fragment-lock small{display:block;margin-top:8px;color:#6d6470;font-size:9px;letter-spacing:.1em}.fragment-card.is-locked .fragment-lock{display:grid}.fragment-card.is-locked img{filter:grayscale(1) brightness(.2) blur(5px);transform:scale(1.06)}.fragment-card.is-locked .fragment-open{opacity:.2}.fragment-card.is-hidden{display:none}.fragment-card.just-recovered{animation:recoverFlash 1.2s ease}.fragment-modal{position:fixed;inset:0;z-index:1000;background:rgba(2,2,3,.94);backdrop-filter:blur(18px);display:grid;place-items:center;padding:28px;opacity:0;pointer-events:none;transition:opacity .25s}.fragment-modal.open{opacity:1;pointer-events:auto}.modal-stage{width:min(1220px,94vw);max-height:92vh;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid rgba(255,255,255,.12);background:#080708;overflow:hidden}.modal-stage img{width:100%;height:78vh;max-height:820px;object-fit:contain;background:#030303}.modal-copy{padding:34px;display:flex;flex-direction:column;justify-content:end;border-left:1px solid var(--frag-line)}.modal-copy small{font:500 10px JetBrains Mono,monospace;letter-spacing:.13em;color:#9a70e1}.modal-copy h2{font:500 2.2rem Fraunces,serif;margin:12px 0 18px}.modal-copy p{color:#9d9489;line-height:1.65}.modal-close{position:fixed;z-index:3;right:28px;top:20px;border:0;background:none;color:#fff;font-size:38px;cursor:pointer}.modal-glitch{position:absolute;inset:0;z-index:2;display:none;place-items:center;background:#070509;color:#c8a8ff;font:500 13px JetBrains Mono,monospace;letter-spacing:.2em}.modal-glitch.show{display:grid;animation:corrupt .55s steps(2,end)}body.modal-open{overflow:hidden}@keyframes pulseFrag{50%{opacity:.35;transform:scale(.7)}}@keyframes blinkFrag{50%{opacity:.2}}@keyframes recoverFlash{0%{box-shadow:0 0 0 rgba(166,105,255,0)}35%{box-shadow:0 0 65px rgba(166,105,255,.6)}100%{box-shadow:0 0 0 rgba(166,105,255,0)}}@keyframes corrupt{0%,100%{transform:none;filter:none}20%{transform:translateX(10px);filter:hue-rotate(80deg)}45%{transform:translateX(-8px)}70%{transform:skewX(4deg)}}
@media(max-width:1050px){.fragment-grid{grid-template-columns:repeat(3,1fr)}.modal-stage{grid-template-columns:1fr}.modal-copy{border-left:0;border-top:1px solid var(--frag-line)}.modal-stage img{height:58vh}.archive-toolbar{top:66px}}@media(max-width:760px){.fragments-hero{min-height:68vh;padding:120px 22px 52px;background-position:62% center}.fragments-hero:after{background:linear-gradient(0deg,#050405 0%,rgba(5,4,5,.62) 60%,rgba(5,4,5,.28))}.fragments-hero h1{font-size:clamp(3.6rem,18vw,6rem)}.archive-shell{padding:20px 12px 70px}.archive-toolbar{position:relative;top:0;align-items:stretch;flex-direction:column}.fragment-filters{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.fragment-filters button{white-space:nowrap}.recover-btn{justify-content:center}.fragment-grid{grid-template-columns:repeat(2,1fr);gap:8px}.fragment-card.wide{grid-column:span 2}.fragment-meta{padding:12px}.fragment-meta h3{font-size:.96rem}.recovery-console{align-items:flex-start;flex-direction:column;gap:7px}.modal-stage{width:100%;max-height:88vh;overflow:auto}.modal-stage img{height:auto;max-height:58vh}.modal-copy{padding:22px}.fragment-modal{padding:12px}.modal-close{right:14px;top:8px}}
.fragment-search{display:flex;align-items:center;gap:10px;border:1px solid var(--frag-line);background:rgba(255,255,255,.025);padding:0 13px;min-width:250px}.fragment-search span{font:500 9px JetBrains Mono,monospace;letter-spacing:.12em;color:#705f84}.fragment-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding:11px 0;font:500 10px JetBrains Mono,monospace}.fragment-search input::placeholder{color:#655f68}.latest-badge{position:absolute;z-index:3;top:10px;right:10px;padding:7px 9px;border:1px solid rgba(185,139,255,.45);background:rgba(9,6,12,.78);backdrop-filter:blur(10px);font:600 8px JetBrains Mono,monospace;letter-spacing:.12em;color:#d8c2ff}.fragment-lock{display:none!important}.fragment-card.is-locked img{filter:none;transform:none}.fragment-card.is-locked .fragment-open{opacity:1}@media(max-width:760px){.fragment-search{min-width:0;width:100%}}
