/* PosterChan releases -- the client's cyberpunk theme (static/css/client.css tokens), no script. */
@font-face{font-family:'Orbitron';font-style:normal;font-weight:400 900;font-display:swap;src:url('fonts/orbitron.woff2') format('woff2')}
:root{--bg:#0a0a0f;--bg2:#12121a;--panel:rgba(18,18,28,.78);--neon:#3ce8ff;--neon2:#ff5cf0;--green:#00ff88;
--text:#edeefa;--muted:#a7a9cc;--line:rgba(125,210,255,.22);--glow:0 0 18px -2px rgba(60,232,255,.55);
--glow2:0 0 22px -4px rgba(255,92,240,.55)}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--text);font:16px/1.55 'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
background:
 radial-gradient(ellipse 900px 600px at 50% -8%,rgba(60,232,255,.16) 0%,transparent 55%),
 radial-gradient(ellipse 800px 600px at 100% 100%,rgba(255,92,240,.12) 0%,transparent 55%),
 linear-gradient(rgba(60,232,255,.05) 1px,transparent 1px) 0 0/44px 44px,
 linear-gradient(90deg,rgba(60,232,255,.05) 1px,transparent 1px) 0 0/44px 44px,
 var(--bg)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;
 background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
main{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:28px 16px 64px}
a{color:var(--neon)}
header.top{display:flex;align-items:center;gap:16px;margin:4px 0 6px}
header.top img{width:64px;height:64px;border-radius:16px;box-shadow:var(--glow)}
h1,h2,.ver{font-family:'Orbitron','Inter',system-ui,sans-serif;letter-spacing:.04em}
h1{font-size:clamp(22px,5vw,34px);margin:0;line-height:1.15;color:#fff;text-shadow:0 0 12px rgba(60,232,255,.6),0 0 30px rgba(255,92,240,.35)}
h2{font-size:18px;margin:0}
p.lead{color:var(--muted);margin:6px 0 22px;font-size:15px}
nav.crumb{margin:0 0 14px;font-size:14px}
nav.crumb a{text-decoration:none}
.card{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:16px 18px;margin:18px 0;
 box-shadow:inset 0 0 0 1px rgba(60,232,255,.06),0 10px 30px -18px rgba(0,0,0,.9);backdrop-filter:blur(4px)}
.card::before{content:"";position:absolute;inset:-1px;border-radius:16px;padding:1px;pointer-events:none;
 background:linear-gradient(120deg,rgba(60,232,255,.75),rgba(255,92,240,.6) 45%,transparent 70%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.card-hd{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.card-hd img{width:40px;height:40px;border-radius:10px}
.card-hd h2 a{color:#fff;text-decoration:none}
.ver{color:var(--neon);font-size:15px;padding:2px 10px;border:1px solid rgba(60,232,255,.45);border-radius:999px;
 box-shadow:var(--glow)}
.meta{color:var(--muted);font-size:13.5px;margin-top:4px}
.meta code{color:var(--muted)}
pre.notes{white-space:pre-wrap;word-break:break-word;font:14px/1.55 'Inter',system-ui,sans-serif;color:#d9daf0;
 margin:12px 0 0;padding:10px 12px;border-left:2px solid var(--neon2);background:rgba(255,92,240,.05);border-radius:0 10px 10px 0}
ul.files{list-style:none;margin:14px 0 0;padding:0}
ul.files li{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
ul.files li:first-child{border-top:0}
.fname{font-weight:700;word-break:break-all}
.fmeta{color:var(--muted);font-size:13px}
.sha{grid-column:1;display:block;font:12px/1.4 ui-monospace,'DejaVu Sans Mono',monospace;color:#c9cbe6;word-break:break-all;
 background:rgba(10,10,15,.7);border:1px dashed var(--line);border-radius:8px;padding:6px 8px;user-select:all;-webkit-user-select:all;cursor:copy}
.sha b{color:var(--green);font-weight:600;margin-right:6px;user-select:none;-webkit-user-select:none}
a.dl{grid-column:2;grid-row:1/span 3;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:12px;
 font:700 14px/1 'Orbitron','Inter',sans-serif;letter-spacing:.06em;text-decoration:none;color:#05060b;
 background:linear-gradient(135deg,#3ce8ff,#8af3ff);box-shadow:0 0 0 1px rgba(60,232,255,.7),0 0 22px -2px rgba(60,232,255,.75);
 transition:transform .15s,box-shadow .15s}
a.dl:hover,a.dl:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 1px #fff,0 0 30px 0 rgba(60,232,255,.95),var(--glow2);outline:none}
a.dl::before{content:"";width:12px;height:12px;background:currentColor;
 clip-path:polygon(40% 0,60% 0,60% 55%,80% 55%,50% 90%,20% 55%,40% 55%)}
.more{display:inline-block;margin-top:12px;font-size:14px}
footer{color:var(--muted);font-size:13px;margin-top:36px;text-align:center}
@keyframes pulse{0%,100%{box-shadow:0 0 0 1px rgba(60,232,255,.7),0 0 18px -2px rgba(60,232,255,.6)}
 50%{box-shadow:0 0 0 1px rgba(60,232,255,.9),0 0 28px 0 rgba(60,232,255,.9)}}
.card:first-of-type a.dl{animation:pulse 3.2s ease-in-out infinite}
@media (max-width:600px){ul.files li{grid-template-columns:1fr}a.dl{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px}
 header.top img{width:48px;height:48px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Tabs, no script: the panel the address names (#posterfox) shows, else the first one. */
nav.tabs{display:flex;gap:8px;margin:0 0 6px;border-bottom:1px solid var(--line)}
nav.tabs a{font-family:'Orbitron','Inter',system-ui,sans-serif;letter-spacing:.04em;font-size:15px;text-decoration:none;
 color:var(--muted);padding:10px 16px;border:1px solid transparent;border-bottom:0;border-radius:12px 12px 0 0;margin-bottom:-1px}
nav.tabs a:hover{color:#fff}
.tabpanel{display:none}
.tabpanel:target,.tabpanels:not(:has(.tabpanel:target)) .tabpanel:first-child{display:block}
.tabpanel{scroll-margin-top:200px}
main:not(:has(.tabpanel:target)) nav.tabs a:first-child,
main:has(#posterchan:target) nav.tabs a[href="#posterchan"],main:has(#posterfox:target) nav.tabs a[href="#posterfox"]{
 color:var(--neon);border-color:var(--line);background:var(--panel);box-shadow:inset 0 2px 0 var(--neon)}
