
@font-face{font-family:"Pirata One";src:url(/fonts/pirata-one.woff2) format("woff2");font-display:swap}
@font-face{font-family:"VT323";src:url(/fonts/vt323.woff2) format("woff2");font-display:swap}
:root{--bg:#0b0f0b;--panel:#151b13;--panel2:#1c2418;--line:rgba(230,214,170,.14);--bone:#ecdcb0;--bone2:#c9b98c;--muted:#9c977c;
--blood:#b8322a;--blood2:#e2553f;--slime:#a8e23a;--amber:#f5a524;--moss:#56662a;--pixel:"VT323",ui-monospace,monospace;--gothic:"Pirata One",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--bone);font:17px/1.6 system-ui,"Segoe UI",sans-serif;min-height:100vh;
background:radial-gradient(900px 600px at 85% -5%,rgba(245,165,36,.13),transparent 60%),radial-gradient(800px 700px at 0% 40%,rgba(168,226,58,.07),transparent 60%),radial-gradient(1000px 800px at 100% 100%,rgba(184,50,42,.10),transparent 60%),var(--bg)}
a{color:var(--amber)}a:hover{color:var(--slime)}
:focus-visible{outline:3px solid var(--slime);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.pill{display:inline-flex;align-items:center;gap:10px;font:22px/1 var(--pixel);letter-spacing:.12em;color:var(--slime);border:1px solid rgba(168,226,58,.35);background:rgba(168,226,58,.06);padding:7px 14px 6px;border-radius:999px}
.pill i{width:9px;height:9px;border-radius:50%;background:var(--slime);box-shadow:0 0 10px var(--slime);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
.hero{text-align:center;padding:28px 0 10px;position:relative}
.hero .logo{display:block;width:min(1100px,100%);height:auto;margin:0 auto -14px;
-webkit-mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 84%,transparent),linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;
mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 84%,transparent),linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
.hero h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tagline{font-size:clamp(18px,2.4vw,22px);color:var(--bone2);max-width:680px;margin:0 auto 22px}
.tagline b{color:var(--bone)}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 17px/1 system-ui,sans-serif;text-decoration:none;padding:15px 24px;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-blood{position:relative;color:#fff3e6;background:linear-gradient(180deg,var(--blood2),var(--blood));border-color:#7d1d17;box-shadow:0 6px 0 #5a130f,0 10px 30px rgba(184,50,42,.35)}
.btn-blood:hover{color:#fff;box-shadow:0 8px 0 #5a130f,0 14px 36px rgba(226,85,63,.45)}
.btn-blood:active{transform:translateY(3px);box-shadow:0 3px 0 #5a130f}
.btn-ghost{color:var(--bone);border-color:var(--line);background:rgba(236,220,176,.04)}
.btn-ghost:hover{color:var(--bone);border-color:var(--bone2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:44px auto 0;max-width:860px}
.stats div{background:rgba(21,27,19,.85);padding:16px 10px;text-align:center}
.stats b{display:block;font:42px/1 var(--pixel);color:var(--amber);text-shadow:0 0 18px rgba(245,165,36,.35)}
.stats span{font-size:14px;color:var(--muted)}
section{padding:80px 0 0}
.eyebrow{font:22px/1 var(--pixel);letter-spacing:.14em;color:var(--slime);margin:0 0 8px}
h2{font:400 clamp(36px,5vw,52px)/1.05 var(--gothic);color:var(--bone);margin:0 0 14px;text-shadow:0 3px 0 #000}
h3{font:400 26px/1.15 var(--gothic);color:var(--bone);margin:12px 0 6px}
.lead{color:var(--bone2);max-width:640px;margin:0 0 30px}
.altar{position:relative;border-radius:20px;padding:2px;background:linear-gradient(135deg,rgba(245,165,36,.6),rgba(168,226,58,.25) 40%,rgba(184,50,42,.55));box-shadow:0 30px 80px rgba(0,0,0,.6)}
.altar-in{border-radius:18px;background:radial-gradient(600px 300px at 50% 0%,rgba(245,165,36,.10),transparent 70%),linear-gradient(180deg,#1a2116,#11160f);padding:clamp(24px,5vw,48px);display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.altar h2{font-size:clamp(34px,4.4vw,46px)}
.keyform{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.keyform label{font:20px/1 var(--pixel);letter-spacing:.1em;color:var(--muted)}
.keyform input{width:100%;font:clamp(26px,4vw,34px)/1 var(--pixel);letter-spacing:.16em;text-transform:uppercase;text-align:center;color:var(--amber);background:#080b07;border:2px solid #2c3626;border-radius:12px;padding:16px 12px 13px;box-shadow:inset 0 4px 18px rgba(0,0,0,.7);transition:border-color .15s,box-shadow .15s}
.keyform input::placeholder{color:#3e4836}
.keyform input:focus{outline:none;border-color:var(--amber);box-shadow:inset 0 4px 18px rgba(0,0,0,.7),0 0 0 4px rgba(245,165,36,.15)}
.keyform .btn{font-size:19px;padding:18px}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
#msg{min-height:1.6em;font-size:16px}
#msg.err{color:#ff8a75}#msg.ok{color:var(--slime)}
.hint{font-size:14px;color:var(--muted);margin:0}
.release{border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.25);padding:20px}
.release dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.release dt{font:20px/1.3 var(--pixel);color:var(--muted);letter-spacing:.06em}
.release dd{margin:0;color:var(--bone)}
.sha{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.sha code{flex:1;font:15px/1.35 ui-monospace,Consolas,monospace;color:var(--bone2);word-break:break-all}
.sha button{flex:none;font:18px/1 var(--pixel);letter-spacing:.06em;color:var(--slime);background:transparent;border:1px solid rgba(168,226,58,.4);border-radius:8px;padding:6px 10px;cursor:pointer}
.sha button:hover{background:rgba(168,226,58,.1)}
.egg{display:block;margin:0 auto 14px;width:90px;height:auto}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-4px);border-color:rgba(245,165,36,.35)}
.card p{margin:0;color:var(--bone2);font-size:16px}
.ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(245,165,36,.1);border:1px solid rgba(245,165,36,.25)}
.ico svg{width:26px;height:26px}
.card.green .ico{background:rgba(168,226,58,.08);border-color:rgba(168,226,58,.25)}
.card.red .ico{background:rgba(184,50,42,.12);border-color:rgba(226,85,63,.3)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.steps li{counter-increment:s;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;position:relative}
.steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font:30px/1 var(--pixel);color:#0b0f0b;background:var(--amber);box-shadow:0 0 0 5px rgba(245,165,36,.15)}
.steps p{margin:0;color:var(--bone2);font-size:16px}
.steps code,.warn code,.release dd{overflow-wrap:anywhere}
.steps code,.warn code{font:inherit;font-family:ui-monospace,Consolas,monospace;font-size:.92em;color:var(--amber)}
.warn{display:grid;grid-template-columns:auto 1fr;gap:26px;border:1px solid rgba(226,85,63,.35);background:linear-gradient(180deg,rgba(184,50,42,.10),rgba(184,50,42,.03));border-radius:18px;padding:clamp(22px,4vw,36px)}
.warn h2{font-size:clamp(30px,4vw,40px)}
.warn ul{margin:0;padding-left:1.2em;color:var(--bone2)}
.warn li{margin:.45em 0}
.warn li::marker{color:var(--blood2)}
.skull{width:64px;height:64px}
footer{margin-top:90px;border-top:1px solid var(--line);padding:30px 0 44px;color:var(--muted);font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--bone2);text-decoration:none;margin-left:18px}footer a:first-child{margin-left:0}
footer a:hover{color:var(--amber)}
.page{max-width:760px;margin:60px auto;text-align:center}
.page h1{font:400 72px/1 var(--gothic);margin:0 0 10px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.filters button{font:20px/1 var(--pixel);letter-spacing:.06em;color:var(--bone2);background:rgba(236,220,176,.04);border:1px solid var(--line);border-radius:999px;padding:8px 16px 7px;cursor:pointer;transition:all .15s}
.filters button:hover{color:var(--bone);border-color:var(--bone2)}
.filters button[aria-pressed=true]{color:#0b0f0b;background:var(--amber);border-color:var(--amber)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;grid-auto-flow:dense}
.shot{position:relative;margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9;cursor:zoom-in;transition:transform .2s,border-color .2s,box-shadow .2s}
.shot:hover{transform:translateY(-3px);border-color:rgba(245,165,36,.45);box-shadow:0 14px 34px rgba(0,0,0,.55)}
.shot.big{grid-column:span 2;grid-row:span 2}
.shot.wide{grid-column:span 2}
.shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.shot:hover img{transform:scale(1.04)}
.shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 10px;background:linear-gradient(transparent,rgba(5,7,5,.92));font:400 21px/1.1 var(--gothic);color:var(--bone)}
.shot.big figcaption{font-size:30px;padding:50px 20px 16px}
.shot figcaption span{display:block;font:14px/1.4 system-ui,sans-serif;color:var(--bone2);margin-top:4px;max-height:0;overflow:hidden;transition:max-height .25s}
.shot:hover figcaption span,.shot.big figcaption span{max-height:4em}
.shot button{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;cursor:zoom-in}
.shot[hidden]{display:none}
.note{font-size:14px;color:var(--muted);margin:14px 0 0}
dialog.lb{padding:0;border:0;background:transparent;max-width:min(1400px,96vw);width:96vw;color:var(--bone)}
dialog.lb::backdrop{background:rgba(3,5,3,.92);backdrop-filter:blur(4px)}
.lb-img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:#000}
.lb-bar{display:flex;align-items:center;gap:14px;margin-top:12px}
.lb-text{flex:1}
.lb-text b{display:block;font:400 28px/1.1 var(--gothic)}
.lb-text span{color:var(--bone2);font-size:15px}
.lb-count{font:20px/1 var(--pixel);color:var(--muted)}
.lb button{font:24px/1 var(--pixel);color:var(--bone);background:rgba(236,220,176,.06);border:1px solid var(--line);border-radius:10px;width:46px;height:46px;cursor:pointer}
.lb button:hover{border-color:var(--amber);color:var(--amber)}
@media (max-width:900px){.gallery{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.shot.big{grid-column:span 2;grid-row:span 1}.shot figcaption{font-size:17px;padding:20px 10px 8px}.shot.big figcaption{font-size:22px;padding:24px 12px 10px}.shot figcaption span{display:none}.lb-text b{font-size:22px}}
@media (max-width:900px){.altar-in{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.wrap{padding:0 16px}.hero .logo{width:calc(100% + 32px);max-width:none;margin:0 -16px -10px}.pill{font-size:18px;letter-spacing:.08em}.btn{padding:14px 18px}.stats b{font-size:34px}.grid,.steps{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.warn{grid-template-columns:1fr}.skull{width:48px;height:48px}section{padding-top:60px}footer a{margin:0 14px 0 0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
