@font-face{font-family:'VT323';src:url(/fonts/vt323-latin-400-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Space Mono';src:url(/fonts/space-mono-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Mono';src:url(/fonts/space-mono-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Archivo Black';src:url(/fonts/archivo-black-latin-400-normal.woff2) format('woff2');font-display:swap}
:root{--g1:#c0c0c0;--g2:#808080;--off:#f4f4f0}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden}
body{background:#fff;color:#000;font-family:'Space Mono',monospace;font-size:14px;line-height:1.45;overflow-x:hidden}
a{color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
::selection{background:#000;color:#fff}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.bar{position:sticky;top:0;z-index:40;background:#fff;border-bottom:2px solid #000;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;gap:16px}
.bar .brand{height:34px;width:auto}
.bar nav{display:flex;gap:4px;flex-wrap:wrap}
.bar nav a{text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.15em;padding:6px 10px;border:1px solid transparent}
.bar nav a:hover,.bar nav a.on{border-color:#000}
.bar .right{display:flex;gap:6px;align-items:center}
.cartbtn{background:#000;color:#fff;border:2px solid #000;padding:7px 12px;font-weight:700;font-size:12px;letter-spacing:.12em;white-space:nowrap;text-decoration:none}
.cartbtn:hover{background:#fff;color:#000}
.marquee{border-bottom:2px solid #000;overflow:hidden;white-space:nowrap;background:#000;color:#fff;font-family:'VT323';font-size:22px;padding:3px 0}
.marquee span{display:inline-block;padding-left:100%;animation:mq 38s linear infinite}
@keyframes mq{to{transform:translateX(-100%)}}
@keyframes blink{50%{opacity:0}}
.cursor{display:inline-block;width:.55em;height:1em;background:#000;vertical-align:-2px;animation:blink 1s steps(1) infinite}
section{padding:48px 0}
.h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.h h1,.h h2{font-family:'Archivo Black',sans-serif;font-size:clamp(40px,7vw,92px);line-height:.85;letter-spacing:-.02em;text-transform:uppercase;font-weight:400}
.h p{font-family:'VT323';font-size:20px;max-width:420px}
/* win95 mono */
.win{background:var(--g1);border:2px solid;border-color:#fff #000 #000 #fff;box-shadow:1px 1px 0 #000}
.win .tb{background:#000;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:2px 4px 2px 8px;font-family:'VT323';font-size:17px;letter-spacing:.06em;gap:8px}
.win .tb span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.win .tb i{font-style:normal;display:flex;gap:2px}
.win .tb i b{width:20px;height:18px;background:var(--g1);color:#000;border:2px solid;border-color:#fff #000 #000 #fff;font:700 11px/13px 'Space Mono';text-align:center;cursor:pointer}
.bevel-in{border:2px solid;border-color:var(--g2) #fff #fff var(--g2)}
.btn95{background:var(--g1);border:2px solid;border-color:#fff #000 #000 #fff;padding:6px 12px;font-weight:700;font-size:12px;letter-spacing:.1em}
.btn95:active,.btn95.on{border-color:#000 #fff #fff #000}
.btn{border:2px solid #000;background:#fff;padding:11px 14px;font-weight:700;letter-spacing:.18em;font-size:12px;text-align:center;text-decoration:none;display:inline-block}
.btn:hover,.btn.dark{background:#000;color:#fff}.btn.dark:hover{background:#fff;color:#000}
.btn:disabled{opacity:.4;cursor:not-allowed}
/* product grid */
.tools{display:flex;gap:10px;align-items:center;font-family:'VT323';font-size:20px;margin-bottom:18px;flex-wrap:wrap}
.pill{border:1px solid #000;padding:0 8px}
.zoom{display:inline-flex;align-items:center;border:2px solid #000;font-family:'VT323';font-size:18px;margin-left:auto}
.zoom button{border:0;background:#fff;width:34px;height:28px;font-weight:700;font-size:16px}
.zoom button:hover{background:#000;color:#fff}
.zoom span{padding:0 10px;border-left:2px solid #000;border-right:2px solid #000;line-height:28px;min-width:74px;text-align:center}
.grid-shop{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));border-top:2px solid #000;border-left:2px solid #000}
.card{border-right:2px solid #000;border-bottom:2px solid #000;display:flex;flex-direction:column;background:#fff;position:relative;cursor:pointer;min-width:0}
.card .ph{aspect-ratio:1/1;background:var(--off);display:flex;align-items:center;justify-content:center;padding:22px;overflow:hidden}
.card .ph img{max-height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .ph img{transform:scale(1.06) rotate(-1deg)}
.card .no{position:absolute;top:10px;left:12px;font-family:'VT323';font-size:20px;z-index:2}
.card .badge{position:absolute;top:10px;right:10px;background:#000;color:#fff;font-size:10px;font-weight:700;letter-spacing:.15em;padding:3px 7px;z-index:2}
.card .info{padding:12px 14px 14px;border-top:2px solid #000;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;line-height:1.35}
.card .price{font-family:'VT323';font-size:24px;line-height:1}
.card .go{font-size:10px;font-weight:700;letter-spacing:.2em;margin-top:auto;padding-top:6px}
.card.out .ph img{opacity:.4}
.card.out .badge{background:#fff;color:#000;border:1px solid #000}
.card.wide{grid-column:1/-1}.card.wide .ph{aspect-ratio:auto;height:clamp(110px,22vw,240px)}
.dense.grid-shop{border-width:1px 0 0 1px}.dense .card{border-width:0 1px 1px 0}
.dense .card .ph{padding:12px}.dense .card .info{padding:8px 9px 10px;gap:2px;border-top-width:1px}
.dense .card h3{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dense .card .price{font-size:18px}.dense .card .go{display:none}
.dense .card .no{font-size:14px;top:4px;left:6px}.dense .card .badge{font-size:8px;top:4px;right:4px;padding:2px 4px}
.dense .card.wide .ph{height:auto;aspect-ratio:4/1}
.sizes{display:flex;gap:4px;flex-wrap:wrap}
.sizes button{border:1px solid #000;background:#fff;min-width:42px;padding:6px 4px;font-size:11px;font-weight:700}
.sizes button.sel{background:#000;color:#fff}
.sizes button:disabled{text-decoration:line-through;opacity:.35;cursor:not-allowed}
/* modal / quick view */
.modal{position:fixed;inset:0;z-index:82;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.9);padding:14px}
.modal.on{display:flex}
.modal>.win{width:min(760px,100%);max-height:94vh;display:flex;flex-direction:column}
.qvb{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;margin:5px;border:2px solid #000;overflow:auto}
.qvi{background:var(--off);border-right:2px solid #000;display:flex;flex-direction:column}
.qvi .main{flex:1;display:flex;align-items:center;justify-content:center;padding:18px;min-height:240px}
.qvi .main img{max-height:52vh;object-fit:contain}
.qvi .thumbs{display:flex;gap:4px;padding:6px;border-top:1px solid #000;overflow-x:auto}
.qvi .thumbs img{width:54px;height:54px;object-fit:contain;background:#fff;border:1px solid #000;cursor:pointer;opacity:.6}
.qvi .thumbs img.sel{opacity:1;outline:2px solid #000}
.qvinfo{padding:16px;display:flex;flex-direction:column;gap:12px}
.qvinfo h3{font-size:14px;letter-spacing:.06em}.qvinfo .price{font-family:'VT323';font-size:32px;line-height:1}
.qvinfo .desc{font-family:'VT323';font-size:19px;line-height:1.2}
@media (max-width:620px){.qvb{grid-template-columns:1fr}.qvi{border-right:0;border-bottom:2px solid #000}.qvi .main img{max-height:36vh}.qvi .main{min-height:0}}
/* cart drawer */
#cart{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:90;transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;padding:10px}
#cart.on{transform:none}
#cart>.win{flex:1;display:flex;flex-direction:column;min-height:0}
#cart .items{flex:1;overflow:auto;margin:6px;background:#fff;padding:6px}
#cart .it{display:grid;grid-template-columns:58px 1fr auto;gap:10px;padding:8px 2px;border-bottom:1px dotted #000;align-items:center}
#cart .it img{width:58px;height:58px;object-fit:contain;background:var(--off);border:1px solid #000}
#cart .it h4{font-size:10.5px;letter-spacing:.05em}
#cart .it .q{display:flex;gap:4px;margin-top:4px;align-items:center;font-family:'VT323';font-size:18px}
#cart .it .q button{width:24px;height:22px;padding:0;font-size:12px}
#cart .empty{font-family:'VT323';font-size:22px;text-align:center;padding:40px 10px}
#cart .tot{margin:0 6px;padding:6px 8px;background:#000;color:#fff;display:flex;justify-content:space-between;font-family:'VT323';font-size:26px}
#cart form{margin:6px;background:#fff;padding:10px;display:none;flex-direction:column;gap:7px}
#cart form.on{display:flex}
#cart .acts{display:flex;gap:6px;padding:6px}
#cart .acts .btn95{flex:1;padding:10px}
.field{display:flex;flex-direction:column;gap:2px;font-size:10px;letter-spacing:.15em;font-weight:700}
.field input,.field textarea,.field select{border:2px solid #000;padding:9px 10px;font-size:14px;letter-spacing:.02em;background:#fff;font-weight:400;outline:0;border-radius:0;width:100%}
.field input:focus,.field textarea:focus{background:#f4f4f0}
.radio{display:flex;gap:6px}.radio label{flex:1;border:2px solid #000;padding:8px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;cursor:pointer}
.radio input{display:none}.radio input:checked+span{background:#000;color:#fff;display:block;margin:-8px;padding:8px}
.note{font-family:'VT323';font-size:17px;line-height:1.15}
#veil{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:85;display:none}#veil.on{display:block}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,300%);opacity:0;background:#000;color:#fff;font-family:'VT323';font-size:20px;padding:8px 16px;z-index:99;transition:.3s;border:2px solid #fff;outline:2px solid #000;max-width:92vw;text-align:center}
#toast.on{transform:translate(-50%,0);opacity:1}
footer{padding:36px 0 60px;text-align:center;font-family:'VT323';font-size:18px;border-top:2px solid #000}
.banner{border:2px solid #000;padding:12px 14px;font-family:'VT323';font-size:20px;margin-bottom:18px;display:flex;gap:10px;align-items:center}
.banner b{background:#000;color:#fff;padding:0 6px;font-weight:400}
@media (max-width:860px){.bar nav{display:none}.bar{padding:10px 16px}.wrap{padding:0 16px}section{padding:32px 0}}
@media (max-width:700px){.tools{font-size:16px;gap:6px}.tools .cnt{display:none}.zoom{font-size:15px}.zoom button{width:30px;height:24px}.zoom span{line-height:24px;min-width:60px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important;transition:none!important}}
