@font-face{font-family:Polish Posterisation;src:url(/Polish%20Posterisation.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#08050f}#canvas{display:block;width:100%;height:100%}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 35%,rgba(4,2,10,.55) 70%,rgba(4,2,10,.92) 100%);z-index:1}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(3%,1%)}30%{transform:translate(-1%,4%)}40%{transform:translate(4%,-2%)}50%{transform:translate(-3%,3%)}60%{transform:translate(2%,-4%)}70%{transform:translate(-4%,1%)}80%{transform:translate(1%,2%)}90%{transform:translate(-2%,-1%)}}#grain{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;width:140%;height:140%;pointer-events:none;opacity:.045;z-index:2;animation:grain .12s steps(1) infinite;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:256px 256px}@keyframes hint-glow{0%,to{text-shadow:0 0 8px rgba(255,190,80,.6),0 0 20px rgba(255,160,40,.35),0 0 40px rgba(255,130,20,.15);opacity:1}50%{text-shadow:0 0 14px rgba(255,200,100,.9),0 0 32px rgba(255,170,60,.55),0 0 60px rgba(255,140,30,.3);opacity:.75}}#hint{position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%);color:#ffe1a0f2;font-family:Courier New,Courier,monospace;font-size:1rem;letter-spacing:.35em;text-transform:uppercase;pointer-events:none;z-index:3;white-space:nowrap;animation:hint-glow 2.4s ease-in-out infinite;transition:opacity 1.5s ease}#hint.hidden{opacity:0!important;animation:none}#loader{position:fixed;top:0;right:0;bottom:0;left:0;background:#08050f;display:flex;align-items:center;justify-content:center;z-index:20;opacity:1;transition:opacity .9s ease;pointer-events:all}#loader.done{opacity:0;pointer-events:none}#loader-inner{display:flex;flex-direction:column;align-items:center;gap:1.1rem;width:min(320px,80vw)}#loader-title{font-family:Courier New,Courier,monospace;font-size:1rem;letter-spacing:.35em;text-transform:uppercase;color:#ffdc968c}#loader-bar-track{width:100%;height:1px;background:#ffdc961f;position:relative;overflow:hidden}#loader-bar-fill{position:absolute;top:0;left:0;height:100%;width:0%;background:#ffc86499;transition:width .25s ease-out;box-shadow:0 0 6px #ffb44680}#loader-status{font-family:Courier New,Courier,monospace;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#ffdc9640}@keyframes enter-glow{0%,to{text-shadow:0 0 10px rgba(255,190,80,.7),0 0 25px rgba(255,160,40,.4),0 0 50px rgba(255,130,20,.2);opacity:1}50%{text-shadow:0 0 18px rgba(255,200,100,1),0 0 40px rgba(255,170,60,.65),0 0 70px rgba(255,140,30,.35);opacity:.8}}#loader-enter{font-family:Courier New,Courier,monospace;font-size:1.4rem;letter-spacing:.4em;text-transform:uppercase;color:#ffe1a0f2;animation:enter-glow 2.4s ease-in-out infinite}#end-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#08050f;display:flex;align-items:center;justify-content:center;z-index:30;opacity:0;pointer-events:none;transition:opacity 2s ease}#end-screen.visible{opacity:1;pointer-events:all}#end-title{font-family:Polish Posterisation,monospace;font-size:2.4rem;letter-spacing:.4em;line-height:3.6;text-transform:uppercase;color:#ffdc96d9;text-align:center}
