*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0909;--red:#ff5a47;--deep:#c8261a}html,body{height:100%}body{background:var(--bg);color:var(--red);text-transform:uppercase;letter-spacing:.12em;font:500 16px/1.4 Barlow Condensed,sans-serif;overflow:hidden}button,input{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0}button{cursor:pointer}button:disabled,input:disabled{opacity:.35;cursor:not-allowed}.stage{background:radial-gradient(ellipse at 50% -15%, #d21e1261, transparent 62%), var(--bg);place-items:center;display:grid;position:fixed;inset:0}[data-scene=gate] .push,[data-scene=direct] .form,[data-scene=direct] .msg,[data-scene=direct] .bypass{display:none}.bypass{text-transform:none;letter-spacing:.04em;width:max-content;color:var(--deep);border-bottom:1px solid #0000;margin:auto;transition:opacity .4s;position:fixed;bottom:30px;left:0;right:0}.bypass:hover{color:var(--red);border-color:currentColor}.gone{opacity:0;pointer-events:none}.scene{flex-direction:column;align-items:center;transition:opacity .6s;display:flex}.redfill{background:radial-gradient(ellipse at 50% 30%, #d21e128c, var(--bg) 75%), var(--bg);opacity:0;pointer-events:none;transition:opacity 1s;position:fixed;inset:0}.redfill.on{opacity:1}.sign{color:#4a1612;letter-spacing:.22em;background:#140605;border:2px solid #3a1210;margin-bottom:28px;padding:8px 28px;font-size:24px;font-weight:600;transition:color .3s,background .3s,box-shadow .3s}.sign.on{color:#ff6a55;text-shadow:0 0 12px #ff3b2a;background:#2b0a07;border-color:#7a1d14;box-shadow:0 0 44px #ff3c2880,inset 0 0 20px #ff3c284d}.sign.flicker{animation:.7s flicker}@keyframes flicker{0%,to{opacity:1}10%{opacity:.15}20%{opacity:.9}32%{opacity:.08}45%{opacity:1}58%{opacity:.3}70%{opacity:1}}.frame{perspective:1600px;background:#000;border:12px solid #1e1817;border-bottom:0;width:36vh;height:64vh;transition:background .15s,box-shadow .3s;position:relative}.frame.light{background:#fff;box-shadow:0 0 140px 50px #ffffff8c}.room{background:radial-gradient(at 50% 25%,#d21e1280,#0b0909 70%);position:absolute;inset:0}.frame.light .room{display:none}.door{transform-origin:0;background:linear-gradient(90deg,#1b1514,#251d1b 50%,#1b1514);justify-content:center;align-items:center;transition:transform 1.2s cubic-bezier(.6,0,.2,1);display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #2e2523}.door.open{transform:rotateY(-100deg)}.door.fast{transition-duration:.45s}.handle{background:#3b3230;border-radius:4px;width:8px;height:58px;position:absolute;top:52%;right:9%}.plate{background:#141010;border:1px solid #352b29;flex-direction:column;align-items:center;gap:10px;width:80%;margin-top:-14%;padding:16px 14px;display:flex}.lamp{background:#4a120e;border-radius:50%;width:10px;height:10px}.lamp.err{animation:.8s lamp}.lamp.ok{background:#e3b552;box-shadow:0 0 12px #e3b552}@keyframes lamp{0%,40%,80%{background:#ff3b2a;box-shadow:0 0 12px #ff3b2a}20%,60%,to{box-shadow:none;background:#4a120e}}.form{flex-direction:column;gap:8px;width:100%;display:flex}.form input{letter-spacing:.3em;text-align:center;background:#0b0808;border:1px solid #352b29;outline:0;padding:8px;font:500 18px IBM Plex Mono,monospace}.form input:focus{border-color:#7a1d14}.form input::placeholder{letter-spacing:.2em;color:#6d1d15;font:500 15px Barlow Condensed,sans-serif}.form button{border:1px solid #7a1d14;padding:6px}.msg{text-align:center;min-height:20px;font-size:15px}.push{border:2px solid var(--red);width:100%;padding:16px 10px;font-size:20px;font-weight:600;box-shadow:0 0 24px #ff3c284d}.push:hover{background:var(--red);color:var(--bg)}.floor{background:linear-gradient(90deg,#0000,#3a1210,#0000);width:72vh;height:2px}.flood{z-index:15;color:#111;text-align:center;opacity:0;pointer-events:none;background:#fff;place-items:center;font-size:46px;font-weight:600;line-height:1.1;transition:opacity .9s;display:grid;position:fixed;inset:0}.flood.on{opacity:1;pointer-events:auto;transition:opacity .3s .25s}.meme{z-index:10;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .3s;display:flex;position:fixed;inset:0}.meme[hidden]{display:none}.meme.hold{opacity:0}.meme .vid,.meme .row{width:min(92vw,177.778vh - 213.333px)}.meme .vid{aspect-ratio:16/9;background:#111}.meme iframe{border:0;width:100%;height:100%;display:block}.meme .row{justify-content:space-between;font-size:18px;display:flex}.back{color:var(--deep)}.back:hover{color:var(--red)}
