
:root{
  --bg:#06060a;--ink:#f2f0ef;--grey:#a3a2a8;--grey-d:#6a6970;
  --line:rgba(255,255,255,.12);--red:#e10600;--red-b:#ff2b21;--red-d:#7a0a06;--glow:rgba(225,6,0,.5);
  --disp:'Anton',sans-serif;--head:'Oswald',sans-serif;--body:'Inter',system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:300;overflow:hidden;-webkit-font-smoothing:antialiased}
body.no3d{overflow:auto}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
em{font-style:normal;color:var(--red)}::selection{background:var(--red);color:#fff}
.tag{display:inline-block;font-family:var(--head);font-weight:500;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red)}
.tag--closed{color:#e0a23a;letter-spacing:.18em}

#scene{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;cursor:default}
body.locked #scene{cursor:none}
.grain{position:fixed;inset:-50%;z-index:5;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 6s steps(8) infinite}
@keyframes grain{0%{transform:translate(0,0)}50%{transform:translate(-4%,3%)}100%{transform:translate(3%,-3%)}}

.crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;pointer-events:none;opacity:0;transition:opacity .3s}
body.locked .crosshair{opacity:1}
.crosshair i{display:block;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.5),0 0 10px var(--glow)}
.crosshair::before,.crosshair::after{content:"";position:absolute;background:rgba(255,255,255,.5)}
.crosshair::before{top:50%;left:-12px;width:8px;height:1px;box-shadow:16px 0 rgba(255,255,255,.5)}
.crosshair::after{left:50%;top:-12px;height:8px;width:1px;box-shadow:0 16px rgba(255,255,255,.5)}

.hud{position:fixed;top:0;left:0;width:100%;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,3vw,2rem);transition:opacity .4s}
body.locked .hud{opacity:.25}
body.locked .hud:hover{opacity:1}
.hud__brand{display:flex;align-items:center;gap:.6rem;font-family:var(--disp);font-size:1.2rem;letter-spacing:.05em}
.hud__brand img{width:30px;filter:drop-shadow(0 0 10px var(--glow))}
.hud__right{display:flex;gap:.7rem}
.hud__btn{font-family:var(--head);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(8,8,10,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);padding:.55rem 1rem;cursor:pointer;transition:.3s}
.hud__btn:hover{border-color:var(--red);color:var(--red)}
.hud__btn--cta{background:var(--red);color:#fff;border-color:var(--red)}
.hud__btn--cta:hover{background:#fff;color:var(--red)}
.hud__btn.on{color:var(--red);border-color:var(--red)}

.eggwrap{position:relative}
.hud__eggs{display:flex;align-items:center;gap:.4rem}
.hud__eggs.full{color:var(--red);border-color:var(--red);box-shadow:0 0 14px rgba(225,6,0,.45)}
@keyframes eggpop{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}
.hud__eggs.pop{animation:eggpop .5s ease}
.eggpanel{position:absolute;top:calc(100% + .55rem);right:0;width:240px;background:rgba(8,8,10,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);padding:.85rem;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .28s,transform .28s;z-index:40}
.eggpanel.show{opacity:1;transform:translateY(0);pointer-events:auto}
.eggpanel__head{font-family:var(--head);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding-bottom:.55rem;margin-bottom:.55rem;border-bottom:1px solid var(--line)}
.eggpanel__head b{color:var(--red)}
.eggpanel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.eggpanel__list li{display:flex;align-items:center;gap:.5rem;font-family:var(--head);font-size:.78rem;letter-spacing:.02em;color:#6a6a70}
.eggpanel__list li.got{color:var(--ink)}
.eggpanel__list li .ic{width:1.1rem;text-align:center}
.eggpanel__list li.got .ic{filter:none}
.eggpanel__hint{margin-top:.7rem;font-size:.62rem;line-height:1.5;color:#5a5a60;letter-spacing:.02em}
@keyframes codeflash{0%{opacity:0}15%{opacity:.6}100%{opacity:0}}
body.codeflash::after{content:'';position:fixed;inset:0;z-index:200;pointer-events:none;background:radial-gradient(circle,transparent 32%,rgba(225,6,0,.72) 100%);animation:codeflash 1.4s ease}

.prompt{position:fixed;left:50%;bottom:14%;transform:translateX(-50%) translateY(10px);z-index:25;display:flex;align-items:center;gap:.6rem;background:rgba(8,8,10,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--red);padding:.6rem 1.1rem;font-family:var(--head);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.prompt.show{opacity:1;transform:translateX(-50%) translateY(0)}
.prompt b{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;background:var(--red);color:#fff;font-family:var(--disp);font-size:.9rem;border-radius:4px}
.compass{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);z-index:25;font-family:var(--head);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--grey);opacity:0;transition:opacity .4s}
body.locked .compass{opacity:1}
.compass span{color:var(--red)}

.enter,.pause{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;background:radial-gradient(circle at 50% 40%,rgba(20,6,8,.6),rgba(6,6,10,.92) 70%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}
.enter.show,.pause.show{opacity:1;pointer-events:auto}
.enter__box,.pause__box{max-width:640px}
.enter__logo{width:84px;margin:0 auto 1rem;filter:drop-shadow(0 0 24px var(--glow));animation:fl 5s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-8px)}}
.enter__kick{font-family:var(--head);letter-spacing:.6em;font-size:.8rem;color:var(--grey);text-indent:.6em}
.enter__title{font-family:var(--disp);text-transform:uppercase;font-size:clamp(3.4rem,12vw,7rem);line-height:.9;margin:.2rem 0 .6rem;background:linear-gradient(180deg,#fff 30%,var(--red) 120%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 70px rgba(225,6,0,.35)}
.enter__sub{color:var(--grey);font-size:1.05rem;line-height:1.7;margin-bottom:2rem}
.enter__go{font-family:var(--head);font-weight:600;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;padding:1.1rem 2.6rem;border:none;background:var(--red);color:#fff;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 0 40px rgba(225,6,0,.4);transition:transform .3s}
.enter__go:hover{transform:translateY(-3px)}
.enter__keys{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-top:2rem;font-family:var(--head);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-d)}
.enter__keys b{color:var(--ink);font-weight:500}
.enter__priv{margin-top:1.1rem;font-size:.64rem;letter-spacing:.04em;color:var(--grey-d);max-width:460px;margin-left:auto;margin-right:auto;line-height:1.5}
.enter__skip{display:block;margin:1.6rem auto 0;background:none;border:none;color:var(--grey-d);font-family:var(--head);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .3s}
.enter__skip:hover{color:var(--red)}
.pause__box h2{font-family:var(--disp);text-transform:uppercase;font-size:3rem;margin-bottom:1.4rem}

.loader{position:fixed;inset:0;z-index:120;background:#06060a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem}
.loader__logo{width:80px;filter:drop-shadow(0 0 24px var(--glow));animation:fl 1.5s ease-in-out infinite}
.loader__txt{font-family:var(--head);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--grey)}
.loader__bar{width:min(240px,55vw);height:2px;background:rgba(255,255,255,.12);overflow:hidden}
.loader__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red-d),var(--red));transition:width .3s}
.loader__pct{font-family:var(--head);font-size:.76rem;letter-spacing:.2em;color:var(--grey-d)}
.loader.done{opacity:0;transform:scale(1.05);transition:opacity .8s var(--ease),transform .8s var(--ease);pointer-events:none}

.modal{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:1.4rem;background:rgba(4,4,7,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .4s}
.modal.show{opacity:1;pointer-events:auto}
.modal__box{position:relative;width:min(640px,100%);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#101015,#0a0a0d);border:1px solid var(--line);border-top:2px solid var(--red);padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 40px 100px rgba(0,0,0,.6)}
.modal__x{position:absolute;top:1rem;right:1rem;width:38px;height:38px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink);font-size:1rem;cursor:pointer;transition:.3s}
.modal__x:hover{border-color:var(--red);color:var(--red)}
.modal__title{font-family:var(--disp);text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1;margin:.5rem 0 .8rem}
.modal__sub{color:var(--grey);margin-bottom:1.4rem;font-size:.96rem}

.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.45rem}.field--full{grid-column:1/-1}
.field label{font-family:var(--head);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);display:flex;justify-content:space-between}
.field label i{font-style:normal;color:var(--red);font-size:.6rem}
.field input,.field select,.field textarea{background:rgba(6,6,10,.8);border:1px solid var(--line);color:var(--ink);font-family:var(--body);font-size:.96rem;padding:.75rem .85rem;outline:none;transition:.3s;width:100%}
.field textarea{resize:vertical}
.field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='%23e10600'%3E%3Cpath d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.form__a{grid-column:1/-1;display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.3rem}
.form__s{grid-column:1/-1;font-family:var(--head);font-size:.78rem;color:#c9c9d0;min-height:1.2em}
.form__s.ok{color:#3ad36b}
.form__s.err{color:var(--red-b)}
.form__s a{color:inherit;text-decoration:underline}
.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

.dossier__box{max-width:680px;background:linear-gradient(180deg,#17140f,#0d0b09);border-top:2px solid #c9a14a}
.dossier__stamp{position:absolute;top:1.3rem;right:3.4rem;font-family:var(--disp);color:rgba(225,6,0,.55);border:3px solid rgba(225,6,0,.55);padding:.05rem .5rem;transform:rotate(-9deg);letter-spacing:.08em;font-size:1.05rem;pointer-events:none}
.dossier__body{color:#d9d3c5;font-size:1.02rem;line-height:1.75;min-height:8.5rem;white-space:pre-line;margin-top:.6rem}
.dossier__nav{display:flex;align-items:center;justify-content:center;gap:1.6rem;margin-top:1.5rem;font-family:var(--head)}
.dossier__nav button{background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink);width:44px;height:44px;cursor:pointer;font-size:1rem;transition:.25s}
.dossier__nav button:hover{border-color:var(--red);color:var(--red)}
.dossier__nav span{color:var(--grey);letter-spacing:.14em;font-size:.82rem}

.message{position:fixed;inset:0;z-index:170;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:13%;background:radial-gradient(circle,transparent 38%,rgba(0,0,0,.78));opacity:0;pointer-events:none;transition:opacity .5s}
.message.show{opacity:1;pointer-events:auto}
.message__line{max-width:780px;text-align:center;color:#f1ede3;font-family:var(--head);font-weight:500;font-size:clamp(1.2rem,2.6vw,1.7rem);letter-spacing:.02em;line-height:1.5;text-shadow:0 2px 14px #000;min-height:2.4em;padding:0 1.2rem}
.message__hint{margin-top:1.3rem;color:var(--red);font-family:var(--head);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase}

.press__paper{position:relative;background:#efe9d6;color:#1a1712;width:min(780px,100%);max-height:92vh;overflow:auto;padding:1.8rem 2rem;font-family:Georgia,'Times New Roman',serif;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.press__x{position:absolute;top:.8rem;right:.8rem;background:transparent;border:1px solid #1a1712;color:#1a1712;width:34px;height:34px;cursor:pointer;z-index:1}
.press__masthead{text-align:center;border-bottom:3px double #1a1712;padding-bottom:.5rem;margin-bottom:.9rem}
.press__title{font-weight:900;font-size:clamp(2rem,6vw,3.2rem);line-height:1;letter-spacing:.01em;margin:.1rem 0}
.press__meta{display:flex;justify-content:space-between;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}
.press__rule{text-align:center;border-top:1px solid #1a1712;border-bottom:1px solid #1a1712;padding:.18rem 0;margin-top:.4rem;font-size:.7rem;letter-spacing:.08em;font-style:italic}
.press__head{font-weight:900;font-size:clamp(1.5rem,4vw,2.3rem);text-align:center;line-height:1.05;margin:.5rem 0 .2rem}
.press__sub{text-align:center;font-style:italic;font-size:1rem;margin:.2rem 0}
.press__byline{text-align:center;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #1a1712;padding-bottom:.6rem;margin-bottom:.9rem;color:#4a4438}
.press__fig{margin:0 0 .8rem;break-inside:avoid}
.press__fig img{width:100%;display:block;border:1px solid #1a1712;filter:contrast(1.02)}
.press__fig figcaption{font-size:.66rem;font-style:italic;text-align:center;padding-top:.25rem;color:#4a4438;border-bottom:1px solid rgba(26,23,18,.3);padding-bottom:.5rem}
.press__fig--wide{margin-bottom:1rem}
.press__body{column-count:2;column-gap:1.5rem;font-size:.92rem;line-height:1.55;text-align:justify;hyphens:auto}
.press__body p{margin:0 0 .7rem}
.press__body p:first-of-type:first-letter{font-size:2.4em;font-weight:700;float:left;line-height:.8;padding:.05em .12em 0 0}
.press__sub2{break-before:column;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;border-top:2px solid #1a1712;border-bottom:1px solid #1a1712;padding:.25rem 0;margin:.2rem 0 .6rem}
.press__ad{break-inside:avoid;border:2px solid #1a1712;background:#e4dbc2;padding:.7rem;text-align:center;margin:.3rem 0 .8rem}
.press__ad-h{font-weight:900;font-size:1.3rem;letter-spacing:.06em;border-bottom:1px solid #1a1712;padding-bottom:.25rem;margin-bottom:.4rem}
.press__ad p{font-size:.82rem;margin:.2rem 0;text-align:center}
.press__ad-fine{font-size:.62rem!important;font-style:italic;color:#5a5345}
@media (max-width:560px){.press__body{column-count:1}}

.safe__box{max-width:360px;text-align:center}
.safe__display{font-family:ui-monospace,monospace;font-size:2.2rem;letter-spacing:.3em;color:#3ad36b;background:#06080a;border:1px solid var(--line);padding:.8rem;margin:1rem 0;min-height:1.4em}
.safe__pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.safe__pad button{font-family:var(--head);font-size:1.3rem;padding:1rem 0;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:.15s}
.safe__pad button:hover{border-color:var(--red);color:var(--red)}
.safe__pad button.ok{color:#3ad36b}.safe__pad button.clr{color:var(--red-b)}

@keyframes alarmflash{0%,100%{opacity:0}50%{opacity:.55}}
body.alarm::after{content:'';position:fixed;inset:0;z-index:200;pointer-events:none;background:radial-gradient(circle,transparent 28%,rgba(225,6,0,.85));animation:alarmflash .5s linear infinite}
@media (max-width:600px){.form{grid-template-columns:1fr}}
.btn{position:relative;display:inline-flex;align-items:center;font-family:var(--head);font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:.95rem 2rem;border:1px solid var(--red);overflow:hidden;background:none;cursor:pointer;color:var(--ink)}
.btn span{position:relative;z-index:2;transition:color .35s}
.btn::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .4s var(--ease)}
.btn:hover::before{transform:translateY(0)}
.btn--p{background:var(--red);color:#fff}.btn--p::before{background:#fff}.btn--p:hover span{color:var(--red)}
.btn--g:hover span{color:#fff}

.mcard{position:fixed;inset:0;z-index:155;display:flex;align-items:center;justify-content:center;padding:1.4rem;background:rgba(4,4,7,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .4s}
.mcard.show{opacity:1;pointer-events:auto}
.mcard__box{position:relative;display:grid;grid-template-columns:1fr 1.1fr;width:min(820px,100%);max-height:92vh;background:linear-gradient(180deg,#101015,#0a0a0d);border:1px solid var(--line);border-top:2px solid var(--red);box-shadow:0 40px 100px rgba(0,0,0,.6);overflow:hidden}
.mcard__img{background-size:cover;background-position:center top;min-height:340px}
.mcard__body{padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.5rem}
.mcard__mat{font-family:var(--head);font-size:.66rem;letter-spacing:.12em;color:var(--red)}
.mcard__name{font-family:var(--disp);text-transform:uppercase;font-size:clamp(2rem,5vw,3.4rem);line-height:.9;margin:.1rem 0 .3rem;text-shadow:0 0 24px var(--glow)}
.mcard__bio{color:var(--grey);font-size:.95rem;line-height:1.5;margin-bottom:.6rem}
.mcard__status{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;font-family:var(--head);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#3ad36b}
.mcard__status i{width:6px;height:6px;border-radius:50%;background:#3ad36b;box-shadow:0 0 8px #3ad36b}
@media (max-width:620px){.mcard__box{grid-template-columns:1fr}.mcard__img{min-height:200px}}

.stats{display:flex;flex-direction:column;gap:.55rem;margin-top:.3rem}
.bar{display:grid;grid-template-columns:6rem 1fr;align-items:center;gap:.6rem}
.bar span{font-family:var(--head);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.bar i{display:block;height:4px;background:rgba(255,255,255,.12);position:relative;overflow:hidden}
.bar i::after{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--red-d),var(--red));transition:width 1s var(--ease)}
.bar.fill i::after{width:var(--w)}

.enter__warn{margin-top:1.3rem;font-family:var(--head);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:#caa;max-width:42ch;margin-left:auto;margin-right:auto;line-height:1.5}
.enter__warn b{color:var(--red)}

.jumpscare{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:#000;pointer-events:none}
.jumpscare.show{display:flex;animation:jsflash .12s steps(2) infinite}
@keyframes jsflash{0%{background:#000}50%{background:#3a0000}100%{background:#000}}
.jumpscare__face{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:jsshake .06s infinite}
@keyframes jsshake{0%{transform:translate(-6px,4px) scale(1.0) rotate(-1deg)}25%{transform:translate(8px,-6px) scale(1.06) rotate(1deg)}50%{transform:translate(-5px,7px) scale(1.02) rotate(-2deg)}75%{transform:translate(7px,-4px) scale(1.08) rotate(2deg)}100%{transform:translate(-6px,4px) scale(1.0)}}

.toast{position:fixed;left:50%;bottom:18%;transform:translateX(-50%) translateY(12px);z-index:160;background:rgba(8,8,10,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--red);color:var(--ink);font-family:var(--head);font-size:.95rem;letter-spacing:.04em;padding:.9rem 1.4rem;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.scr2{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:#0a0000;pointer-events:none}
.scr2.show{display:flex;animation:scr2flash .1s steps(2) infinite}
@keyframes scr2flash{0%{background:#0a0000}50%{background:#420000}100%{background:#000}}
.scr2__f{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:scr2shake .05s infinite}
@keyframes scr2shake{0%{transform:translate(-10px,6px) scale(1.05) skewX(2deg)}25%{transform:translate(12px,-8px) scale(1.13) skewX(-3deg)}50%{transform:translate(-8px,10px) scale(1) skewX(2deg)}75%{transform:translate(10px,-6px) scale(1.16) skewX(-2deg)}100%{transform:translate(-10px,6px) scale(1.05)}}

.wasted{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,rgba(30,0,0,.45),rgba(0,0,0,.93))}
.wasted.show{display:flex;animation:wfade .25s ease}
@keyframes wfade{from{opacity:0}to{opacity:1}}
.wasted span{font-family:var(--disp),serif;font-size:clamp(3rem,15vw,12rem);letter-spacing:.06em;color:#a8221c;text-transform:uppercase;text-shadow:0 0 30px #000,0 6px 14px #000;filter:saturate(.8);animation:wpulse 2.8s ease}
@keyframes wpulse{0%{transform:scale(1.15);opacity:0}15%{transform:scale(1);opacity:1}100%{transform:scale(1.02);opacity:.95}}

.lock__box{width:min(520px,100%)}
.lock__pins{display:flex;gap:.5rem;margin:.2rem 0 1rem}
.lock__pins i{width:20px;height:20px;border:1px solid var(--line);background:rgba(255,255,255,.05);transition:.2s}
.lock__pins i.ok{background:#3ad36b;border-color:#3ad36b;box-shadow:0 0 10px rgba(58,211,107,.6)}
.lock__track{position:relative;height:38px;background:rgba(255,255,255,.05);border:1px solid var(--line);overflow:hidden;margin-bottom:1rem}
.lock__zone{position:absolute;top:0;height:100%;background:rgba(58,211,107,.3);border-left:2px solid #3ad36b;border-right:2px solid #3ad36b}
.lock__cursor{position:absolute;top:0;height:100%;width:4px;background:#fff;box-shadow:0 0 12px #fff;transform:translateX(-50%)}
.lock.hit .lock__track{animation:lockhit .2s}
@keyframes lockhit{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
.lock__status{min-height:1.2em}

.credits__links{display:flex;gap:.7rem;flex-wrap:wrap;margin:0 0 1.4rem}
.credits__links .btn{padding:.7rem 1.1rem;font-size:.72rem}

.touch{display:none}

.fallback{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:5rem 1.4rem}
.fb-hero{text-align:center;margin-bottom:4rem}
.fb-hero img{width:90px;margin:0 auto 1rem;filter:drop-shadow(0 0 20px var(--glow))}
.fb-hero h1{font-family:var(--disp);font-size:clamp(3rem,12vw,7rem);text-transform:uppercase;background:linear-gradient(180deg,#fff,var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.fb-hero p{color:var(--grey);font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;margin-top:.6rem}
.fb-block{max-width:720px;margin:0 auto 2.6rem;border-left:2px solid var(--red);padding-left:1.4rem}
.fb-block h2{font-family:var(--disp);text-transform:uppercase;font-size:clamp(1.6rem,4vw,2.6rem);margin-bottom:.6rem}
.fb-block p{color:var(--grey)}
.fb-crew{margin:3rem 0}
.fb-crew h2{font-family:var(--disp);text-transform:uppercase;font-size:2rem;text-align:center;margin-bottom:1.4rem}
.fb-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}
.fb-grid figure{position:relative;border:1px solid var(--line);overflow:hidden;aspect-ratio:3/4}
.fb-grid img{width:100%;height:100%;object-fit:cover}
.fb-grid figcaption{position:absolute;left:0;bottom:0;right:0;padding:.6rem;background:linear-gradient(transparent,rgba(6,6,10,.95));font-family:var(--head);font-size:.7rem;text-transform:uppercase;color:var(--grey)}
.fb-grid b{display:block;font-family:var(--disp);font-size:1.1rem;color:var(--ink)}
.fb-join{text-align:center;border:0;padding:0}
.fb-join .btn{margin-top:1rem}
.fb-pcnote{display:flex;flex-direction:column;gap:.25rem;align-items:center;text-align:center;max-width:720px;margin:0 auto 2.6rem;padding:1rem 1.2rem;border:1px solid var(--red);background:rgba(225,6,0,.08);font-family:var(--head);font-size:.88rem;letter-spacing:.03em;color:var(--ink)}
.fb-pcnote span{color:var(--grey);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
@media (max-width:760px){.fb-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.fb-grid{grid-template-columns:1fr 1fr;gap:.5rem}.fallback{padding:3.5rem 1rem}}
