.tape-counter{display:inline-flex;align-items:center;gap:2px;background:#111;border:2px solid #333;border-radius:4px;padding:4px 8px 4px 6px;box-shadow:inset 0 2px 4px #000c,0 1px #ffffff0d,0 2px 8px #0009}.tc-reel{position:relative;width:22px;height:32px;overflow:hidden;background:#0a0a0a;border:1px solid #222;border-radius:2px;box-shadow:inset 0 0 6px #000000e6,inset 0 1px 2px #000c}.tc-strip{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column}.tc-strip--roll{animation:reel-roll .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes reel-roll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.tc-digit{width:100%;height:32px;display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;color:#e8e8e8;text-shadow:0 0 4px rgba(255,255,255,.3);background:linear-gradient(to bottom,#1a1a1a,#2a2a2a 30%,#222,#1a1a1a 70%,#111);border-bottom:1px solid #333;user-select:none}.tc-reel-shadow{position:absolute;left:0;width:100%;height:8px;pointer-events:none;z-index:2}.tc-reel-shadow--top{top:0;background:linear-gradient(to bottom,rgba(0,0,0,.9),transparent)}.tc-reel-shadow--bot{bottom:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent)}.tc-reel:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:#ffffff0f;transform:translateY(-50%);z-index:3;pointer-events:none}.tc-label{font-family:monospace;font-size:.55rem;color:#555;letter-spacing:1px;text-transform:uppercase;margin-left:4px;align-self:flex-end;padding-bottom:4px}html{margin:0;width:100%;height:100%;overflow-x:clip}body{margin:0;width:100%;height:100%}@keyframes carousel-balloon{0%{opacity:0;transform:translateY(40px)}60%{opacity:1;transform:translateY(-10px)}80%{transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.carousel-container{display:flex;flex-direction:column;align-items:center;padding:2rem 0 1rem;user-select:none;overflow:visible;opacity:0;transform:translateY(40px)}.carousel-container.is-visible{animation:carousel-balloon 1.1s cubic-bezier(.34,1.56,.64,1) both}.carousel-scene{width:100%;height:420px;perspective:3000px;display:flex;align-items:center;justify-content:center;overflow:visible}.carousel-wheel{width:180px;height:260px;position:relative;transform-style:preserve-3d}.carousel-item{position:absolute;width:180px;height:260px;overflow:hidden;cursor:pointer;backface-visibility:hidden;border:1px solid var(--border-hi);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:5rem;transition:border-color .3s,box-shadow .3s,filter .3s}.carousel-shadow{position:absolute;width:180px;height:260px;pointer-events:none;transform-style:preserve-3d;transform-origin:bottom center;background:linear-gradient(to bottom,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 50%,transparent 100%);filter:blur(12px);border-radius:0 0 40% 40%;transition:opacity .3s}.carousel-item.is-active{border-color:var(--green);box-shadow:0 0 24px #00ff414d,0 0 60px #0006;filter:brightness(1)}.carousel-item.is-adjacent{border-color:var(--border-hi);filter:brightness(.75)}.carousel-item:not(.is-active):not(.is-adjacent){filter:brightness(.45)}.carousel-title-bar{margin-top:1.5rem;text-align:center;min-height:3rem}.carousel-game-title{display:block;font-size:1.2rem;font-weight:700;color:var(--text);letter-spacing:3px;text-transform:uppercase}.carousel-game-sub{display:block;font-size:.75rem;color:var(--text-dim);margin-top:.3rem;letter-spacing:1px}.carousel-controls{display:flex;align-items:center;gap:2rem;margin-top:1.2rem}.carousel-btn{background:transparent;border:1px solid var(--border-hi);color:var(--text-dim);font-size:1rem;width:40px;height:40px;cursor:pointer;transition:all .2s;font-family:monospace;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}.carousel-btn:hover{border-color:var(--green);color:var(--green)}.carousel-counter{font-size:.7rem;color:var(--text-dim);font-family:monospace;letter-spacing:2px;min-width:80px;text-align:center}.carousel-hint{font-size:.65rem;color:var(--text-dim);opacity:.5;margin-top:.75rem;letter-spacing:2px}.search-bar{position:relative;margin:.5rem 1rem 0}.search-input-wrap{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);gap:.5rem;padding:0 .75rem;transition:border-color .2s}.search-input-wrap:focus-within{border-color:var(--accent)}.search-icon{font-size:.85rem;opacity:.5;flex-shrink:0}.search-input{flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-family:var(--font-mono, monospace);font-size:.75rem;letter-spacing:.08em;padding:.55rem 0}.search-input::placeholder{color:var(--text-dim);opacity:.8}.search-clear{background:none;border:none;color:var(--fg);opacity:.4;cursor:pointer;font-size:.75rem;padding:0;line-height:1}.search-clear:hover{opacity:1}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--accent);border-top:none;list-style:none;margin:0;padding:0;z-index:1000;max-height:260px;overflow-y:auto}.search-suggestion{padding:.5rem .75rem;font-family:var(--font-mono, monospace);font-size:.75rem;letter-spacing:.05em;cursor:pointer;border-bottom:1px solid var(--border);color:var(--fg)}.search-suggestion:last-child{border-bottom:none}.search-suggestion:hover,.search-suggestion.is-active{background:var(--accent);color:#000}.filters-sticky{position:fixed;top:56px;left:0;right:0;z-index:39;display:flex;flex-direction:column;background:#2a2826;padding-bottom:.5rem;opacity:0;transform:translateY(-20px);transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1)}.filters-sticky.is-visible{opacity:1;transform:translateY(0)}.filters-sticky.no-transition{transition:none}.active-filters-strip{display:none;flex-wrap:wrap;gap:6px;padding:6px 1rem;background:#0a0a0ad9;border-bottom:1px solid var(--border)}.active-filters-strip.has-tags{display:flex}.atag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:transparent;border:1px solid var(--green);color:var(--green);font-family:monospace;font-size:.65rem;font-weight:700;letter-spacing:1px;cursor:pointer;transition:background .15s;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}.atag:hover{background:var(--green-dim)}.atag-x{opacity:.7;font-size:.85rem}.stats-bar{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;margin-top:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);font-size:.7rem;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase}.view-badge{font-size:.65rem;padding:3px 10px;border:1px solid var(--green);color:var(--green);letter-spacing:1px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}.games-container{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}.game-card.cover-mode,.game-card.screenshot-mode{background:var(--surface);border:none;cursor:pointer;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:background .2s}.game-card.cover-mode:hover,.game-card.screenshot-mode:hover{background:var(--surface2)}.game-card.cover-mode:before,.game-card.screenshot-mode:before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(105deg,transparent 40%,rgba(0,255,65,.06) 50%,transparent 60%);transition:left .4s ease;pointer-events:none;z-index:1}.game-card.cover-mode:hover:before,.game-card.screenshot-mode:hover:before{left:150%}.game-card.cover-mode:after,.game-card.screenshot-mode:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 24px 24px 0;border-color:transparent var(--border) transparent transparent;transition:border-color .2s}.game-card.cover-mode:hover:after,.game-card.screenshot-mode:hover:after{border-color:transparent var(--green) transparent transparent}.game-cover{background:#0a0a0a;height:220px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.cover-placeholder{font-size:4rem;opacity:.5}.game-screenshot{background:#000;height:150px;overflow:hidden;border-bottom:1px solid var(--border)}.game-screenshot img{width:100%;height:100%;object-fit:contain;display:block}.screenshot-placeholder{font-size:3rem;opacity:.4}.game-info{padding:.9rem 1rem;flex:1;display:flex;flex-direction:column;z-index:2}.game-title{font-size:.9rem;font-weight:700;letter-spacing:.5px;color:var(--text);margin-bottom:.25rem;text-transform:uppercase}.game-alt-title{font-size:.68rem;color:var(--text-dim);margin-bottom:.25rem;font-style:italic}.game-year-publisher{font-size:.65rem;color:var(--text-dim);margin-bottom:.5rem;letter-spacing:.5px}.game-meta{font-size:.65rem;color:var(--text-dim);display:flex;flex-wrap:wrap;gap:.3rem;margin-top:auto;padding-top:.5rem}.game-meta span{background:transparent;border:1px solid var(--border-hi);padding:1px 6px}.game-booleans{display:flex;flex-wrap:wrap;gap:4px;margin:.4rem 0}.boolean-icon{font-size:.58rem;padding:1px 6px;background:transparent;border:1px solid var(--border);font-weight:700;letter-spacing:.5px}.boolean-icon.active{border-color:var(--green);color:var(--green)}.boolean-icon.inactive{opacity:.25}.pixel-effect{image-rendering:pixelated;image-rendering:crisp-edges}.loader{text-align:center;padding:2rem;color:var(--green);grid-column:1 / -1;font-size:.7rem;letter-spacing:3px;text-transform:uppercase}.scroll-top{position:fixed;bottom:2rem;right:8rem;background:transparent;border:1px solid var(--border-hi);color:var(--text-dim);width:40px;height:40px;font-size:1rem;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s;z-index:100;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.scroll-top.visible{opacity:1;visibility:visible}.scroll-top:hover{border-color:var(--green);color:var(--green)}.footer{text-align:center;padding:2rem;border-top:1px solid var(--border);font-size:.65rem;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase}.modal{display:none;position:fixed;z-index:9999;inset:0;background:#000000eb;backdrop-filter:blur(4px)}.modal-content{background:var(--surface);margin:5% auto;padding:2rem;border:1px solid var(--border-hi);border-top:2px solid var(--green);width:90%;max-width:850px;position:relative;animation:modalIn .25s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;right:1rem;top:.5rem;font-size:1.5rem;cursor:pointer;color:var(--text-dim);transition:color .2s}.modal-close:hover{color:var(--green)}.screenshot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:1.5rem}.screenshot-grid div{aspect-ratio:4/3}.screenshot-grid img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;border:1px solid var(--border);background:#000;transition:border-color .2s}.screenshot-grid img:hover{border-color:var(--green)}.filter-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(3px);z-index:300;opacity:0;pointer-events:none;transition:opacity .3s}.filter-overlay.open{opacity:1;pointer-events:all}.filter-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border-hi);z-index:400;max-height:88vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .4s cubic-bezier(.32,.72,0,1)}.filter-sheet.open{transform:translateY(0)}.filter-sheet:before{content:"";position:absolute;top:-1px;left:10%;right:10%;height:1px;background:var(--green);opacity:.6}.sheet-handle{display:flex;justify-content:center;padding:12px 0 0;cursor:grab}.sheet-handle:active{cursor:grabbing}.handle-bar{width:40px;height:3px;background:var(--border-hi);transition:background .2s}.sheet-handle:hover .handle-bar{background:var(--green)}.sheet-hdr{display:flex;justify-content:space-between;align-items:center;padding:10px 20px 12px;border-bottom:1px solid var(--border)}.sheet-hdr-title{font-family:monospace;font-size:.8rem;font-weight:700;letter-spacing:3px;color:var(--text);text-transform:uppercase;display:flex;align-items:center;gap:8px}.sheet-active-count{font-size:.65rem;padding:1px 6px;background:var(--red);color:#fff;display:none}.sheet-active-count.show{display:inline-block}.sheet-reset{background:transparent;border:1px solid var(--border-hi);color:var(--text-dim);font-family:monospace;font-size:.65rem;padding:4px 12px;cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:border-color .15s,color .15s}.sheet-reset:hover{border-color:var(--red);color:var(--red)}.sheet-body{flex:1;overflow-y:auto;padding:16px 20px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sheet-body::-webkit-scrollbar{width:2px}.sheet-body::-webkit-scrollbar-thumb{background:var(--border-hi)}.sheet-section-lbl{font-size:.62rem;color:var(--text-dim);letter-spacing:3px;text-transform:uppercase;margin:18px 0 10px;display:flex;align-items:center;gap:8px}.sheet-section-lbl:first-child{margin-top:0}.sheet-section-lbl:after{content:"";flex:1;height:1px;background:var(--border)}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cat-btn{padding:10px 6px;border:1px solid var(--border-hi);background:transparent;color:var(--text-dim);font-family:monospace;font-size:.65rem;font-weight:700;letter-spacing:1px;cursor:pointer;text-align:center;text-transform:uppercase;transition:border-color .15s,color .15s;display:flex;flex-direction:column;align-items:center;gap:4px}.cat-btn .cat-ico{font-size:1.2rem}.cat-btn:hover:not(.active){border-color:var(--green);color:var(--green)}.cat-btn.active{border-color:var(--green);color:var(--green);background:var(--green-dim)}.bool-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bool-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;border:1px solid var(--border);background:transparent;transition:border-color .15s}.bool-row.state-yes{border-color:var(--green)}.bool-row.state-no{border-color:var(--red)}.bool-name{font-family:monospace;font-size:.65rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;transition:color .15s}.bool-row.state-yes .bool-name{color:var(--green)}.bool-row.state-no .bool-name{color:var(--red)}.tri-group{display:flex;gap:2px}.tri-btn{width:22px;height:22px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;font-family:monospace}.tri-btn:hover{border-color:var(--text-dim);color:var(--text)}.tri-btn.on-yes{background:var(--green-dim);border-color:var(--green);color:var(--green);font-weight:700}.tri-btn.on-no{border-color:var(--red);color:var(--red);font-weight:700}.lang-grid{display:flex;flex-wrap:wrap;gap:6px}.lang-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-family:monospace;font-size:.65rem;cursor:pointer;transition:all .15s;letter-spacing:1px}.lang-btn .lang-flag{font-size:1rem;line-height:1}.lang-btn:hover:not(.active){border-color:var(--green);color:var(--green)}.lang-btn.active{background:var(--green-dim);border-color:var(--green);color:var(--green);font-weight:700}.year-grid{display:flex;flex-wrap:wrap;gap:6px}.year-pill{padding:4px 10px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-family:monospace;font-size:.65rem;cursor:pointer;transition:all .15s;letter-spacing:1px}.year-pill:hover:not(.active){border-color:var(--green);color:var(--green)}.year-pill.active{background:var(--green-dim);border-color:var(--green);color:var(--green);font-weight:700}.sheet-footer{padding:12px 20px 24px;border-top:1px solid var(--border)}.apply-btn{width:100%;padding:14px;background:transparent;border:1px solid var(--green);color:var(--green);font-family:monospace;font-size:.8rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:background .15s;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}.apply-btn:hover{background:var(--green-dim)}@media(min-width:481px){.games-container{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(min-width:769px){.filters-sticky{top:120px}.active-filters-strip{padding:7px 2.5rem}.main-content{padding:2rem 2.5rem 8rem}.screenshot-grid{grid-template-columns:repeat(3,1fr)}.games-container{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.filter-sheet{left:50%;right:auto;width:500px;transform:translate(-50%) translateY(100%)}.filter-sheet.open{transform:translate(-50%) translateY(0)}}
