*{box-sizing:border-box}
:root{--footer-h:64px}
html,body{margin:0;padding:0;background:#000;color:#c0f8c0;font-family:"UnifrakturCook","Share Tech Mono",monospace}
.bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#020;position:sticky;top:0;z-index:10;border-bottom:1px solid #0f0}
.foot{bottom:0;top:auto;position:fixed;width:100%;background:#010;border-top:1px solid #030;border-bottom:none}
.logo{display:flex;align-items:center;text-decoration:none}
.logo-img{height:32px;filter:invert(1) sepia(1) saturate(6) hue-rotate(90deg) brightness(1.2) drop-shadow(0 0 2px #000) drop-shadow(0 0 6px #000) drop-shadow(0 0 14px #000) drop-shadow(0 0 12px rgba(0,255,0,.5));image-rendering:-webkit-optimize-contrast}
.logo-fallback{letter-spacing:2px;font-weight:700;text-shadow:0 0 8px #0f0;color:#7aff7a}
.blink{animation:blink 1s step-end infinite}
.nav{display:flex;gap:8px}
.nav-btn{background:#001f00;color:#7aff7a;border:1px solid #0f0;padding:8px 10px;cursor:pointer;letter-spacing:1px}
.nav-btn:hover{filter:brightness(1.3)}
.count{margin-left:6px;background:#0f0;color:#000;padding:0 6px}
.subscribe{display:flex;align-items:center;gap:8px;flex:1}
.subscribe input{background:#000;border:1px solid #063;color:#7aff7a;padding:8px;min-width:180px}
.subscribe .msg{color:#7aff7a;font-size:12px;opacity:.8}
.gif-slot{display:flex;justify-content:center;margin:8px 0 12px}
.gif-embed{max-width:100%;height:auto;border:1px solid #0f0;box-shadow:0 0 8px #020;filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 8px #000)}
.ticker{width:100%;overflow:hidden;white-space:nowrap;border-bottom:1px dashed #063;color:#7aff7a;padding:8px 0;margin-bottom:12px;animation:ticker 20s linear infinite}
.view{display:none;min-height:calc(100vh - var(--footer-h));padding:16px}
.view.active{display:block}
.products{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-items:start;align-content:start;grid-auto-rows:max-content}
.products{overflow:auto;position:relative;-webkit-overflow-scrolling:touch}
.products{min-height:calc(100vh - var(--footer-h) - 24px)}
.card{display:flex;flex-direction:column;gap:10px;border:1px solid #0f0;background:#001400;padding:14px;position:relative;will-change:auto;align-self:start}
.card .img,.card .title,.card .price{cursor:pointer}
.card .id{position:absolute;top:6px;right:8px;color:#033;font-size:12px}
.img{height:280px;background:linear-gradient(135deg,#001,#020);border:1px solid #032;display:flex;align-items:center;justify-content:center;color:#093;letter-spacing:2px;text-transform:uppercase}
.pimg{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:-webkit-optimize-contrast}
.open{display:block;color:inherit;text-decoration:none}
.open:focus{outline:1px dashed #063}
.clicker{display:block;cursor:pointer}
.home-hero{min-height:calc(100vh - var(--footer-h) - 40px);display:flex;align-items:center;justify-content:center}
.home-hero model-viewer{width:min(80vw,640px);height:min(60vh,480px);background:transparent}
.home-logo{width:min(70vw,520px);max-width:90vw;height:auto;image-rendering:pixelated;filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 6px #000) drop-shadow(0 0 12px rgba(0,255,0,.5))}
.home-fallback{font-size:48px;letter-spacing:4px;color:#7aff7a;text-shadow:0 0 12px #0f0,0 0 24px #0f0}
.img.anim{position:relative;overflow:hidden}
.img.anim::before{content:"";position:absolute;left:0;right:0;top:-120%;height:60%;background:linear-gradient(180deg,transparent,rgba(0,255,0,.25),transparent);animation:cardscan 3.6s linear infinite;pointer-events:none}
.img.anim::after{content:"";position:absolute;inset:0;border:1px solid rgba(0,255,0,.2);box-shadow:inset 0 0 8px rgba(0,255,0,.25);pointer-events:none}
.card:hover .img.anim::before{animation-duration:1.6s}
.products .img.anim::before{display:none}
.title{font-size:18px}
.price{color:#9f9;font-size:16px}
.stock{position:absolute;top:6px;left:8px;color:#063;font-size:12px}
.stockline{color:#9f9;margin:4px 0 8px}
.btn{background:#020;border:1px solid #0f0;color:#9f9;padding:10px 12px;cursor:pointer}
.btn:hover{background:#002200}
.btn[disabled]{opacity:.5;cursor:not-allowed;filter:grayscale(0.5)}
.product{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;padding-top:6px}
.product-photos{display:grid;grid-template-columns:1fr;gap:12px}
.photo{height:320px;border:1px solid #063;background:linear-gradient(135deg,#000 0%,#021 100%);display:flex;align-items:center;justify-content:center;color:#7aff7a;letter-spacing:2px;text-transform:uppercase;position:relative;overflow:hidden}
.photo-img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:-webkit-optimize-contrast}
.photo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(0,255,0,.02)0 2px,transparent 2px 5px);mix-blend-mode:screen;pointer-events:none}
.product-info .price{margin:8px 0 12px}
.descr{margin:0 0 12px 16px}
.tiny{opacity:.6;font-size:12px}
.admin-form{display:flex;gap:8px;align-items:center}
.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.admin-grid .hdr{font-weight:700;border-bottom:1px dashed #063;padding-bottom:6px}
.admin-grid .cell{display:flex;align-items:center;gap:6px}
.admin-grid input{background:#000;border:1px solid #063;color:#7aff7a;padding:6px;max-width:120px}
.admin-actions{margin-top:12px;display:flex;gap:8px;align-items:center}
@media(max-width:1200px){.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.products{grid-template-columns:repeat(2,1fr)}.product{grid-template-columns:1fr}.photo{height:260px}.img{height:220px}}
@media(max-width:520px){.products{grid-template-columns:1fr}.img{height:200px}}
.cart-items{display:flex;flex-direction:column;gap:8px}
.cart-row{display:grid;grid-template-columns:1fr 80px 90px 32px;align-items:center;border:1px solid #063;background:#000;padding:8px}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:24px;height:24px;background:#020;border:1px solid #0f0;color:#7aff7a;cursor:pointer}
.cart-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;border-top:1px dashed #063;padding-top:12px}
.checkout{background:#0f0;color:#000;border:1px solid #7aff7a;padding:10px 14px;cursor:pointer;font-weight:700}
.done-box{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;height:60vh;text-align:center}
.done-title{font-size:22px;color:#0f0;text-shadow:0 0 12px #0f0,0 0 24px #0f0}
.again{background:#020;border:1px solid #0f0;color:#9f9;padding:10px 12px;cursor:pointer}
.scanlines{pointer-events:none;position:fixed;inset:0;background:repeating-linear-gradient(to bottom,rgba(0,255,0,.015)0 2px,transparent 2px 5px);mix-blend-mode:screen;z-index:999}
.noise{pointer-events:none;position:fixed;inset:0;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"160\" height=\"160\"><filter id=\"n\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.9\" numOctaves=\"2\" stitchTiles=\"stitch\"/></filter><rect width=\"100%\" height=\"100%\" filter=\"url(%23n)\" opacity=\"0.02\"/></svg>');opacity:.12}
.fx{pointer-events:none;position:fixed;inset:0;z-index:998}
.stripe-wrap{display:block;margin-top:12px}
stripe-buy-button{display:block;margin-top:12px;border:none;outline:none;box-shadow:none;filter:hue-rotate(90deg) saturate(2.2) brightness(1.05)}
stripe-buy-button:focus, stripe-buy-button:focus-visible{outline:none}
.glitch{background:repeating-linear-gradient(180deg,rgba(0,255,0,.04)0 2px,rgba(255,0,255,.03)2px 4px,transparent 4px 6px);mix-blend-mode:screen;opacity:.0}
.glitch.rgb{opacity:.2;animation:rgbsplit .28s steps(2) 1}
.glitch.scan{opacity:.12;background:linear-gradient(180deg,transparent,rgba(0,255,0,.25) 40%,transparent);animation:scan 0.5s ease-out 1}
.glitch.fuzz{opacity:.1;filter:contrast(1.2) saturate(1.2);animation:fuzz .22s steps(5) 1}
body.jit{animation:jitter .7s steps(2) 1}
.g{transform:translateX(-1px) skewX(-0.5deg);filter:hue-rotate(25deg) saturate(1.3)}
.g2{filter:hue-rotate(25deg) saturate(1.5) contrast(1.2)}
@keyframes fall{0%{transform:translateY(-110vh)}100%{transform:translateY(calc(100vh - var(--footer-h)))}} 
@keyframes rgbsplit{0%{transform:translate(0,0)}50%{transform:translate(-2px,0)}100%{transform:translate(0,0)}}
@keyframes scan{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
@keyframes fuzz{0%{transform:translate(0,0)}20%{transform:translate(3px,0)}40%{transform:translate(-3px,0)}60%{transform:translate(2px,0)}80%{transform:translate(-2px,0)}100%{transform:translate(0,0)}}
@keyframes jitter{0%{filter:contrast(1) saturate(1)}25%{filter:contrast(1.05) saturate(1.1) hue-rotate(5deg)}50%{filter:contrast(1.2) saturate(1.2) hue-rotate(-10deg)}75%{filter:contrast(1.05) saturate(1.1)}100%{filter:contrast(1) saturate(1)}}
@keyframes cardscan{0%{transform:translateY(0)}100%{transform:translateY(260%)}}
@keyframes blink{50%{opacity:0}}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(max-width:640px){.cart-row{grid-template-columns:1fr 60px 80px 28px}}
