*{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#5e5ce6;--primary-hover:#4f4cd6;--primary-tint:#5e5ce629;--link:#7d7bf5;--bg:#000;--bg-card:#1c1c1e;--bg-input:#2c2c2e;--bg-raised:#3a3a3c;--text:#f5f5f7;--text-muted:#ebebf599;--text-faint:#ebebf580;--border:#545458a6;--border-strong:#545458;--success:#30d158;--warning:#ff9f0a;--danger:#ff453a;--material-chrome:#161618b8;--material-card:#1c1c1ea8;--blur-chrome:saturate(180%) blur(24px);--blur-card:saturate(150%) blur(14px);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-pill:999px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 16px 48px #0009;--ease-out:cubic-bezier(.32, .72, 0, 1);--ease-in:cubic-bezier(1, 0, .68, .28);--dur-press:.1s;--dur-fast:.18s;--dur:.3s;--dur-slow:.4s}body{background:var(--bg);color:var(--text);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic Medium,Yu Gothic,Noto Sans JP,Segoe UI,system-ui,sans-serif;line-height:1.6}h1{letter-spacing:-.021em;font-weight:700;line-height:1.12}h2{letter-spacing:-.018em;font-weight:650;line-height:1.2}h3{letter-spacing:-.012em;font-weight:600;line-height:1.3}small,.text-muted{letter-spacing:.005em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}.header{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;padding:0 1.5rem;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1200px;height:56px;margin:0 auto;display:flex}.logo{color:var(--primary);font-size:1.25rem;font-weight:700}.logo:hover{text-decoration:none}.nav{align-items:center;gap:1.25rem;display:flex}.nav a{color:var(--text-muted);font-size:.9rem}.nav a:hover{color:var(--text);text-decoration:none}.main{max-width:1600px;margin:0 auto;padding:2rem 1.5rem}.page{min-height:60vh}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--primary);border:1px solid var(--primary);cursor:pointer;background:0 0;border-radius:6px;padding:.4rem 1rem;font-size:.85rem}.btn-secondary:hover{background:var(--primary);color:#fff}.btn-text{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.9rem}.btn-text:hover{color:var(--text)}.hero{text-align:center;padding:4rem 0 3rem}.hero h1{margin-bottom:.5rem;font-size:2.5rem}.hero p{color:var(--text-muted);margin-bottom:1.5rem}.section{margin-top:2.5rem}.section h2{margin-bottom:1rem;font-size:1.25rem}.game-grid{grid-template-columns:repeat(6,1fr);gap:1rem;display:grid}.game-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;transition:transform .2s,border-color .2s;overflow:hidden}.game-card:hover{border-color:var(--primary);text-decoration:none;transform:translateY(-2px)}.game-card-image img{object-fit:cover;width:100%;height:180px}.game-card-image img[src=""],.game-card-image img:not([src]){display:none}.game-card-placeholder{background:var(--bg-input);height:180px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.game-card-placeholder.large{height:300px;font-size:1.25rem}.game-card-info{padding:.75rem}.game-card-title{margin-bottom:.25rem;font-size:.95rem;line-height:1.3}.game-card-brand{color:var(--text-muted);font-size:.8rem}.game-card-meta{color:var(--text-muted);gap:.75rem;margin-top:.5rem;font-size:.75rem;display:flex}.search-form{gap:.75rem;margin-bottom:1.5rem;display:flex}.search-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;flex:1;padding:.6rem 1rem;font-size:1rem}.search-input:focus{border-color:var(--primary);outline:none}.tabs,.filter-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:1.5rem;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:.9rem}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab:hover{color:var(--text)}.external-results{flex-direction:column;gap:.75rem;display:flex}.external-game-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.external-game-info h3{margin-bottom:.25rem;font-size:1rem}.external-game-info p{color:var(--text-muted);font-size:.85rem}.auth-page{max-width:400px;margin:0 auto}.auth-form{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.auth-form input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.6rem;font-size:1rem}.auth-form input:focus{border-color:var(--primary);outline:none}.error{color:var(--danger);font-size:.9rem}.game-detail-header{gap:2rem;margin-bottom:2rem;display:flex}.game-detail-image{flex-shrink:0;width:300px}.game-detail-image img{border-radius:8px;width:100%}.game-detail-info h1{margin-bottom:.5rem;font-size:1.75rem}.brand-name{color:var(--text-muted);margin-bottom:.75rem}.brand-name-link{color:var(--primary);margin-bottom:.75rem;font-size:1rem;display:inline-block}.brand-name-link:hover{text-decoration:underline}.game-meta{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:.85rem;display:flex}.description{margin-bottom:1rem;font-size:.9rem;line-height:1.7}.credits-section{margin-top:2rem}.credits-section h2{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}.credits-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem;display:grid}.credit-item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.85rem;display:flex}.credit-name{font-weight:500}.credit-role{color:var(--primary);background:#6366f115;border-radius:4px;padding:.1rem .4rem;font-size:.75rem}.credit-actor{color:var(--text-muted);margin-left:auto;font-size:.8rem}.music-list{flex-direction:column;gap:.4rem;display:flex}.music-item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;align-items:center;gap:1rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.music-category{color:var(--primary);min-width:40px;font-size:.75rem;font-weight:600}.music-name{flex:1;font-weight:500}.music-artist{color:var(--text-muted);font-size:.8rem}.record-button-wrapper{display:inline-block;position:relative}.record-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.5rem;font-size:.9rem}.record-button.recorded{background:var(--success)}.record-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:10;border-radius:6px;min-width:150px;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden}.record-option{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;padding:.5rem 1rem;font-size:.85rem;display:block}.record-option:hover{background:var(--bg-input)}.record-option.active{color:var(--primary)}.record-option-delete{color:#e5484d;border-top:1px solid var(--border)}.form-error{color:#e5484d;margin-bottom:1rem;font-size:.85rem}.autocomplete{flex:1;position:relative}.autocomplete .search-input{width:100%}.autocomplete-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:20;border-radius:6px;max-height:320px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden auto}.autocomplete-option{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;gap:.5rem;padding:.55rem .9rem;font-size:.85rem;display:flex}.autocomplete-option:hover,.autocomplete-option.highlighted{background:var(--bg-input)}.autocomplete-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.autocomplete-note{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.data-updated-at{text-align:right;color:var(--text-muted);margin-top:1rem;font-size:.75rem}.text-link{color:var(--primary);word-break:break-all}.text-link:hover{text-decoration:underline}.record-error{color:#e5484d;margin-top:4px;font-size:.8rem;display:block}.reviews-section{margin-top:2rem}.review-form{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.review-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.review-form input,.review-form textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:6px;padding:.5rem;font-size:.9rem}.review-form input:focus,.review-form textarea:focus{border-color:var(--primary);outline:none}.reviews-list{flex-direction:column;gap:1rem;display:flex}.review-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem}.review-header{align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.review-rating{color:var(--warning)}.review-date{color:var(--text-muted)}.library-list{flex-direction:column;gap:.5rem;display:flex}.library-item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.library-game-title{flex:1;font-weight:500}.library-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.library-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;transition:border-color .2s;display:flex;overflow:hidden}.library-card:hover{border-color:var(--primary);text-decoration:none}.library-card-image{aspect-ratio:3/4;background:var(--bg-input);overflow:hidden}.library-card-image img{object-fit:cover;width:100%;height:100%}.library-card-info{padding:.5rem .6rem}.library-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.2rem;font-size:.8rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.library-card-brand{color:var(--text-muted);margin-bottom:.3rem;font-size:.7rem}.library-card-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.status-badge{border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.status-badge.want_play{color:#60a5fa;background:#3b82f620}.status-badge.playing{color:#4ade80;background:#22c55e20}.status-badge.completed{color:#818cf8;background:#6366f120}.status-badge.dropped{color:#f87171;background:#ef444420}.status-badge.on_hold{color:#fbbf24;background:#f59e0b20}.status-badge.want_replay{color:#f472b6;background:#ec489920}.library-date{color:var(--text-muted);font-size:.8rem}.profile-header{gap:2rem;margin-bottom:2rem;display:flex}.avatar-placeholder{background:var(--primary);color:#fff;text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;font-weight:700;display:flex}.profile-avatar img{object-fit:cover;border-radius:50%;width:56px;height:56px}.profile-stats{color:var(--text-muted);gap:1.5rem;margin:.75rem 0;font-size:.85rem;display:flex}.activity-feed{flex-direction:column;gap:.5rem;display:flex}.activity-item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.activity-user{color:var(--primary);font-weight:600}.activity-action{color:var(--text-muted)}.activity-date{color:var(--text-muted);margin-left:auto;font-size:.8rem}.sort-filter{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.sort-filter-group{flex-direction:column;gap:.3rem;display:flex}.sort-filter-group label{color:var(--text-muted);font-size:.8rem}.sort-filter-group select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;min-width:180px;padding:.5rem .75rem;font-size:.85rem}.sort-filter-group select:focus{border-color:var(--primary);outline:none}.genre-tag{color:#818cf8;background:#6366f120;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;margin-top:2rem;display:flex}.pagination-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:center;border-radius:6px;min-width:36px;padding:.4rem .75rem;font-size:.85rem}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{color:var(--text-muted);padding:.4rem .3rem}.kana-nav{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.kana-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:center;border-radius:6px;min-width:32px;padding:.35rem .6rem;font-size:.85rem;transition:all .15s}.kana-btn:hover{border-color:var(--primary);color:var(--primary)}.kana-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.brands-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.brand-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:border-color .2s;display:flex}.brand-card:hover{border-color:var(--primary);text-decoration:none}.brand-card-name{font-size:.95rem;font-weight:500}.brand-card-meta{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.brand-scale-tag{font-size:.75rem;font-weight:600}.brand-scale-label,.text-muted{color:var(--text-muted);margin-bottom:1rem}.credit-actor-link{color:var(--primary);margin-left:auto;font-size:.8rem;text-decoration:none}.credit-actor-link:hover{text-decoration:underline}.staff-info{flex-direction:column;gap:.3rem;margin-top:.75rem;display:flex}.staff-row{gap:.5rem;font-size:.9rem;display:flex}.staff-label{color:var(--text-muted);min-width:70px;font-weight:500}.staff-names{color:var(--text)}.store-links{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.store-btn{border-radius:6px;align-items:center;gap:.3rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.store-btn:hover{opacity:.85;text-decoration:none}.store-btn-dmm{color:#e94560;background:#1a1a2e;border:1px solid #e94560}.store-btn-dlsite{color:#0ea5e9;background:#1a1a2e;border:1px solid #0ea5e9}.rating-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;min-width:100px;padding:.4rem}.related-games-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.related-game-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;transition:border-color .2s;overflow:hidden}.related-game-card:hover{border-color:var(--primary);text-decoration:none}.related-game-image{aspect-ratio:3/4;background:var(--bg-input);overflow:hidden}.related-game-image img{object-fit:cover;width:100%;height:100%}.related-game-info{padding:.4rem .5rem}.related-game-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.related-game-date{color:var(--text-muted);margin-top:.2rem;font-size:.65rem;display:block}.game-card-status{padding:0 .75rem .75rem}.game-card-status select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:4px;padding:.3rem .4rem;font-size:.7rem}.game-card-status select:focus{border-color:var(--primary);outline:none}.user-menu{position:relative}.user-menu-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.85rem;display:flex}.user-menu-btn:hover{border-color:var(--primary)}.avatar-small{object-fit:cover;border-radius:50%;width:24px;height:24px}.avatar-placeholder-small{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;font-weight:600;display:flex}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.user-menu-arrow{color:var(--text-muted);font-size:.7rem}.user-menu-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:100;border-radius:8px;min-width:150px;margin-top:.3rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.user-menu-dropdown a,.user-menu-dropdown button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.6rem 1rem;font-size:.85rem;text-decoration:none;display:block}.user-menu-dropdown a:hover,.user-menu-dropdown button:hover{background:var(--bg-input);color:var(--primary)}.game-tags{flex-wrap:wrap;gap:.35rem;margin:.75rem 0;display:flex}.game-tag{border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;line-height:1.5;text-decoration:none;display:inline-block}.game-tag:hover{border-color:var(--primary);color:var(--primary)}.game-tag.cat-ero{color:#e79ac0;border-color:#7f3f5f}.game-tag.cat-tech{color:#9ac0e7;border-color:#3f5f7f}.game-tag.tag-more{border-style:dashed}.game-alt-title{color:var(--text-muted);margin:-.25rem 0 .5rem;font-size:.85rem}.count-badge{color:var(--text-muted);font-size:.8rem;font-weight:400}.result-count{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem}.game-detail-image.clickable{cursor:zoom-in}.lightbox{z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;cursor:default;max-width:100%;max-height:100%}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.5rem;line-height:1;position:absolute;top:1rem;right:1.25rem}.lightbox-close:hover{background:#ffffff40}.list-controls{justify-content:flex-end;align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.list-controls label{color:var(--text-muted);font-size:.8rem}.list-controls select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.35rem .6rem;font-size:.8rem}.browse-toolbar{margin-bottom:1.25rem}.browse-toolbar-top{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.browse-search{background:var(--bg-input);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:8px;flex:240px;padding:.6rem .9rem;font-size:.95rem}.browse-search:focus{border-color:var(--primary);outline:none}.browse-fav{border:1px solid var(--border);border-radius:8px;flex:none;display:flex;overflow:hidden}.browse-fav-btn{background:var(--bg-input);color:var(--text-muted);cursor:pointer;white-space:nowrap;border:none;padding:.6rem .9rem;font-size:.85rem;line-height:1}.browse-fav-btn+.browse-fav-btn{border-left:1px solid var(--border)}.browse-tag-select,.browse-initial-select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.6rem .9rem;font-size:.85rem}.browse-tag-select{flex:0 220px}.browse-initial-select{flex:none}.browse-tag-select.active,.browse-initial-select.active{border-color:var(--primary);color:var(--primary)}.footer{border-top:1px solid var(--border);margin-top:3rem;padding:2rem 0}.footer-inner{text-align:center;max-width:1200px;margin:0 auto;padding:0 1rem}.footer-links{justify-content:center;gap:1.5rem;margin-bottom:.75rem;display:flex}.footer-links a{color:var(--text-muted);font-size:.8rem;text-decoration:none}.footer-links a:hover{color:var(--primary)}.footer-attribution{color:var(--text-muted);margin-bottom:.5rem;font-size:.7rem;line-height:1.6}.footer-attribution a{color:var(--text-muted);text-decoration:underline}.footer-attribution a:hover{color:var(--primary)}.footer-copy{color:var(--text-muted);font-size:.75rem}.settings-form{max-width:500px}.settings-section{margin-bottom:2rem}.settings-section h2{margin-bottom:1rem;font-size:1.1rem}.settings-avatar-preview{margin-bottom:1rem}.avatar-preview{object-fit:cover;border-radius:50%;width:80px;height:80px}.avatar-placeholder-large{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2rem;font-weight:600;display:flex}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-muted);margin-bottom:.3rem;font-size:.85rem;display:block}.form-group input,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.form-group textarea{resize:vertical;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);outline:none}.form-hint{color:var(--text-muted);margin-top:.2rem;font-size:.75rem}.settings-actions{align-items:center;gap:1rem;display:flex}.settings-message{color:var(--primary);font-size:.85rem}.static-page h2{margin-bottom:.5rem;font-size:1.1rem}.static-page p,.static-page li{color:var(--text-muted);line-height:1.7}.static-page ul{padding-left:1.5rem}.faq-list{flex-direction:column;gap:.5rem;display:flex}.faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.faq-item summary{cursor:pointer;padding:.75rem 1rem;font-weight:500}.faq-item p{padding:0 1rem .75rem}.btn-follow{cursor:pointer;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:20px;padding:.4rem 1.2rem;font-size:.85rem;font-weight:500;transition:all .2s}.btn-follow:hover{opacity:.9}.btn-follow.following{color:var(--primary);background:0 0}.btn-follow.following:hover{color:#ef4444;background:#ef444420;border-color:#ef4444}.user-results{flex-direction:column;gap:.5rem;display:flex}.user-result-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:1rem;padding:.75rem 1rem;text-decoration:none;transition:border-color .2s;display:flex}.user-result-card:hover{border-color:var(--primary)}.user-result-avatar img{object-fit:cover;border-radius:50%;width:40px;height:40px}.user-result-info{flex-direction:column;flex:1;gap:.15rem;display:flex}.user-result-name{font-size:.95rem;font-weight:600}.user-result-bio{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:.8rem;overflow:hidden}.user-result-stats{color:var(--text-muted);gap:1rem;font-size:.8rem;display:flex}.stats-header{margin-bottom:1.5rem}.stats-back{color:var(--text-muted);font-size:.85rem;text-decoration:none}.stats-back:hover{color:var(--primary)}.stats-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stats-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:8px;padding:1rem}.stats-card-value{color:var(--primary);font-size:1.5rem;font-weight:700;display:block}.stats-card-label{color:var(--text-muted);margin-top:.3rem;font-size:.8rem;display:block}.stats-charts{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;display:grid}.stats-chart-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.stats-chart-section h2{margin-bottom:1rem;font-size:1rem}.stats-link{margin-top:.5rem;font-size:.8rem;display:inline-block}.ranking-controls{margin-bottom:1.5rem}.month-selector{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.month-label{text-align:center;min-width:120px;font-size:1.1rem;font-weight:600}.btn-icon{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-size:1rem}.btn-icon:hover{border-color:var(--primary);color:var(--primary)}.ranking-list{flex-direction:column;gap:.5rem;display:flex}.ranking-item{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:1rem;padding:.75rem 1rem;text-decoration:none;transition:border-color .2s;display:flex}.ranking-item:hover{border-color:var(--primary)}.ranking-rank{color:var(--primary);text-align:center;min-width:40px;font-size:1.2rem;font-weight:700}.ranking-image{background:var(--bg-input);border-radius:6px;flex-shrink:0;width:50px;height:50px;overflow:hidden}.ranking-image img{object-fit:cover;width:100%;height:100%}.ranking-image-placeholder{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:.6rem;display:flex}.ranking-info{flex:1;min-width:0}.ranking-title{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:500;display:block;overflow:hidden}.ranking-brand{color:var(--text-muted);font-size:.8rem}.ranking-value{color:var(--primary);white-space:nowrap;font-size:.9rem;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2{margin:0}.section-more{color:var(--primary);font-size:.85rem;text-decoration:none}.section-more:hover{text-decoration:underline}.activity-game{color:var(--primary);font-weight:500;text-decoration:none}.activity-game:hover{text-decoration:underline}.mobile-nav{background:var(--bg-card);border-top:1px solid var(--border);z-index:100;height:60px;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-muted);flex-direction:column;align-items:center;gap:2px;min-width:48px;padding:6px 0;font-size:.65rem;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-item:hover{text-decoration:none}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item svg{flex-shrink:0}.rank-badge-img{object-fit:contain;vertical-align:middle;width:24px;height:24px}.rank-badge-img-large{object-fit:contain;vertical-align:middle;width:36px;height:36px}.rank-list{flex-direction:column;gap:.75rem;display:flex}.rank-list-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .2s;display:flex}.rank-list-item.achieved{border-color:var(--primary)}.rank-list-item.locked{opacity:.5}.rank-list-image{object-fit:contain;flex-shrink:0;width:48px;height:48px}.rank-list-info{flex:1}.rank-list-name{font-size:1.1rem;font-weight:700}.rank-list-req{color:var(--text-muted);font-size:.85rem}.rank-list-reward{color:var(--text);margin-top:.2rem;font-size:.8rem}.rank-list-check{color:var(--success);font-size:1.2rem;font-weight:700}.favorite-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.1rem;line-height:1;transition:color .15s,transform .15s}.favorite-btn:hover{transform:scale(1.2)}.favorite-btn.active{color:#ef4444}@media (width<=1200px){.game-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=768px){.game-grid,.library-grid{grid-template-columns:repeat(3,1fr);gap:.6rem}.brands-grid,.credits-grid{grid-template-columns:1fr}.related-games-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.game-detail-header{flex-direction:column}.game-detail-image{width:100%}.profile-header{text-align:center;flex-direction:column;align-items:center}.nav{display:none}.user-menu-dropdown{right:-1rem}.stats-charts{grid-template-columns:1fr}.mobile-nav{display:flex}.footer{margin-bottom:60px}.main{padding:1.25rem .75rem 70px}h1{font-size:1.5rem}.game-detail-info h1{font-size:1.35rem}.hero{padding:2.5rem 0 2rem}.hero h1{font-size:1.9rem}.tabs,.filter-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.filter-tabs::-webkit-scrollbar{display:none}.tab{flex:none}.browse-toolbar-top{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.browse-search{grid-column:1/-1}.browse-initial-select,.browse-tag-select{width:100%;min-width:0}.browse-fav{grid-column:1/-1}.browse-fav-btn{flex:1 1 0}.sort-filter{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.sort-filter-group select{width:100%;min-width:0}.list-controls{justify-content:flex-start}.browse-search,.browse-initial-select,.browse-tag-select,.sort-filter-group select,.list-controls select,.browse-fav-btn,.tab,.pagination-btn,.btn-primary,.btn-secondary{min-height:44px}.pagination-btn{min-width:44px}.pagination{gap:.35rem}.auth-form input,.settings-form input,.settings-form textarea,.settings-form select,.form-group input,.form-group textarea,.form-group select,.review-form input,.review-form textarea,.review-form select,.contact-form input,.contact-form textarea,.contact-form select{min-height:44px;font-size:16px}.settings-form button[type=submit],.form-group+button,.month-selector .btn-icon{min-height:44px}.month-selector .btn-icon{min-width:44px}.game-card-status select{width:100%;min-height:44px;font-size:.85rem}.favorite-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-13px -13px -13px 0;display:flex}}@media (width<=540px){.game-grid,.library-grid,.related-games-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.mobile-nav{justify-content:space-between;padding-left:2px;padding-right:2px}.mobile-nav-item{flex:1 1 0;min-width:0;padding:6px 2px;font-size:.6rem}.mobile-nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}.btn-twitter{color:#fff;cursor:pointer;background:#000;border:none;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:opacity .2s}.btn-twitter:hover{opacity:.85}.btn-google{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:opacity .2s}.btn-google:hover{opacity:.85;background:#f5f5f5}.auth-divider{color:var(--text-muted);align-items:center;gap:1rem;margin:1.5rem 0;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--border);flex:1}.link-accounts{flex-direction:column;gap:.5rem;display:flex}.link-account-row{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.link-account-info{align-items:center;gap:.75rem;display:flex}.link-account-icon{text-align:center;width:2rem;font-size:1.2rem}.link-account-name{font-weight:500}.link-account-status.linked{color:#22c55e;font-size:.85rem}.age-gate-overlay{z-index:9999;background:#000000f2;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.age-gate-modal{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:480px;padding:2.5rem 2rem;box-shadow:0 20px 60px #000c}.age-gate-logo{color:var(--primary);letter-spacing:-.5px;margin-bottom:1.5rem;font-size:2rem;font-weight:800}.age-gate-title{color:var(--text);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.age-gate-desc{color:var(--text-muted);margin-bottom:.75rem;line-height:1.7}.age-gate-desc strong{color:var(--text)}.age-gate-small{margin-bottom:1.5rem;font-size:.875rem}.age-gate-buttons{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.age-gate-btn{cursor:pointer;border:none;border-radius:10px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s}.age-gate-btn:hover{opacity:.9;transform:translateY(-1px)}.age-gate-btn-accept{background:var(--primary);color:#fff}.age-gate-btn-decline{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border)}.age-gate-note{color:var(--text-muted);font-size:.75rem;line-height:1.6}.age-gate-note a{color:var(--primary)}.static-page-updated{color:var(--text-muted);margin-bottom:2rem;font-size:.875rem}.static-page section{margin-bottom:2rem}.static-page section h2{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.4rem;font-size:1.1rem;font-weight:600}.static-page ul{color:var(--text-muted);padding-left:1.5rem;line-height:1.8}.static-page p{color:var(--text-muted);margin-bottom:.5rem;line-height:1.8}.preparing-badge{background:var(--bg-input);border:1px solid var(--warning);border-radius:6px;padding:.3rem .8rem;font-size:.875rem;font-weight:600;display:inline-block;color:var(--warning)!important;margin-bottom:.5rem!important}.company-info-table{border-collapse:collapse;width:100%;margin:1rem 0}.company-info-table th,.company-info-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;color:var(--text-muted);padding:.75rem 1rem;font-size:.9rem}.company-info-table th{width:30%;color:var(--text);background:var(--bg-input);font-weight:600}@media (width<=640px){.company-info-table,.company-info-table tbody,.company-info-table tr,.company-info-table th,.company-info-table td{width:100%;display:block}.company-info-table th{border-bottom:none;padding-bottom:.25rem}.company-info-table td{padding-top:.25rem;padding-bottom:1rem}}.contact-form{max-width:640px;margin:2rem 0}.contact-form select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.contact-form .required{color:var(--danger,#e74c3c);margin-left:.2rem}.contact-form .checkbox-label{cursor:pointer;align-items:center;gap:.5rem;color:var(--text)!important;font-size:.9rem!important;display:flex!important}.contact-form .checkbox-label input[type=checkbox]{width:auto;margin:0}.contact-form .form-error{color:var(--danger,#e74c3c);border:1px solid var(--danger,#e74c3c);background:#e74c3c1a;border-radius:6px;margin:.5rem 0;padding:.5rem .75rem}.contact-form .form-note{color:var(--text-muted);margin-top:1rem;font-size:.8rem;line-height:1.5}.contact-success{background:var(--bg-input);border:1px solid var(--success,#27ae60);border-radius:8px;margin:1.5rem 0;padding:1.5rem}.contact-success h2{color:var(--success,#27ae60);margin-top:0}button,.btn-primary,.btn-secondary,.tab,.pagination-btn,.browse-fav-btn,.game-tag,.favorite-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}button:active,.btn-primary:active,.btn-secondary:active,.pagination-btn:active:not(:disabled),.browse-fav-btn:active,.game-tag:active,.favorite-btn:active{transform:scale(.97)}.game-card:active,.library-card:active,.brand-card:active{transition:transform var(--dur-press) var(--ease-out);transform:scale(.985)}.header{background:var(--material-chrome);-webkit-backdrop-filter:var(--blur-chrome);backdrop-filter:var(--blur-chrome);border-bottom:1px solid var(--border)}.logo{letter-spacing:-.02em}.nav a{transition:color var(--dur-fast) var(--ease-out)}.mobile-nav{background:var(--material-chrome);-webkit-backdrop-filter:var(--blur-chrome);backdrop-filter:var(--blur-chrome);border-top:1px solid var(--border)}.game-card,.library-card,.brand-card,.credit-item,.external-game-card,.user-result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out)}.game-card:hover,.library-card:hover,.brand-card:hover,.external-game-card:hover,.user-result-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.game-card-image img,.library-card-image img{transition:transform var(--dur-slow) var(--ease-out)}.game-card:hover .game-card-image img,.library-card:hover .library-card-image img{transform:scale(1.03)}.game-card-title,.library-card-title{letter-spacing:-.01em}.game-card-brand,.library-card-brand{color:var(--text-muted)}.game-card-meta,.library-card-meta{color:var(--text-faint);letter-spacing:.005em}.btn-primary{border-radius:var(--r-sm);letter-spacing:-.01em;box-shadow:var(--shadow-sm);padding:.55rem 1.35rem;font-weight:600}.btn-secondary{border-radius:var(--r-sm);border-color:var(--border-strong);color:var(--text);padding:.45rem 1.1rem;font-weight:550}.btn-secondary:hover{background:var(--bg-raised);color:var(--text);border-color:var(--border-strong)}.search-input,.browse-search,.auth-form input,.sort-filter-group select,.browse-tag-select,.browse-initial-select,.list-controls select{background:var(--bg-input);border-radius:var(--r-sm);color:var(--text);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:1px solid #0000}.search-input:focus,.browse-search:focus,.auth-form input:focus,.sort-filter-group select:focus,.browse-tag-select:focus,.browse-initial-select:focus,.list-controls select:focus{border-color:var(--primary);background:var(--bg-raised);outline:none}.browse-search::placeholder{color:var(--text-faint)}.tabs,.filter-tabs{border-bottom-color:var(--border)}.tab{letter-spacing:-.005em;font-weight:550}.browse-fav{border-radius:var(--r-sm);border-color:var(--border);overflow:hidden}.browse-fav-btn.active{background:var(--primary);color:#fff}.browse-tag-select.active,.browse-initial-select.active{border-color:var(--primary);background:var(--bg-input);color:var(--text);box-shadow:inset 0 0 0 1px var(--primary)}.browse-tag-select option,.browse-initial-select option,.sort-filter-group select option,.list-controls select option,.game-card-status select option{background-color:var(--bg-card);color:var(--text)}.game-tag{border-radius:var(--r-pill);background:var(--bg-input);letter-spacing:.005em;border-color:#0000}.game-tag:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text)}.game-tag.cat-ero{color:#ff9ecb}.game-tag.cat-tech{color:#8fc7ff}.pagination-btn{border-radius:var(--r-sm);background:var(--bg-card);border-color:var(--border)}.pagination-btn:hover:not(:disabled){background:var(--bg-raised);color:var(--text);border-color:var(--border-strong)}.pagination-btn.active{box-shadow:var(--shadow-sm)}.game-detail-image img{border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.game-detail-image.clickable img{transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out)}.game-detail-image.clickable:hover img{box-shadow:var(--shadow-lg);transform:scale(1.01)}.game-detail-info h1{letter-spacing:-.022em;line-height:1.15}.description{color:var(--text)}.lightbox{-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);animation:lightbox-in var(--dur) var(--ease-out);background:#0009}.lightbox img{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:lightbox-img-in var(--dur-slow) var(--ease-out)}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-img-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lightbox-close{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.oauth-buttons{flex-direction:column;gap:.6rem;display:flex}.btn-twitter,.btn-google{letter-spacing:-.01em;border-radius:var(--r-sm);cursor:pointer;width:100%;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1rem;font-size:.95rem;font-weight:600;display:flex}.btn-twitter:active:not(:disabled),.btn-google:active:not(:disabled){transform:scale(.98)}.btn-twitter:disabled,.btn-google:disabled{opacity:.5;cursor:default}.btn-twitter{color:#fff;background:#16181c;border:1px solid #536471}.btn-twitter:hover:not(:disabled){background:#22252a;border-color:#71767b}.btn-google{color:#1f1f1f;background:#fff;border:1px solid #dadce0}.btn-google:hover:not(:disabled){background:#f1f3f4}.footer{border-top-color:var(--border)}.footer-attribution{color:var(--text-faint)}.footer-social{transition:color var(--dur-fast) var(--ease-out);align-items:center;gap:.3rem;display:inline-flex;color:var(--text)!important}.footer-social:hover{color:var(--link)!important}a,.logo,.tab.active,.brand-name-link,.credit-role,.credit-actor-link,.music-category,.record-option.active,.text-link,.activity-user,.section-more,.footer-links a:hover,.user-menu-dropdown a:hover,.user-menu-dropdown button:hover,.pagination-btn:hover:not(:disabled),.game-tag:hover{color:var(--link)}.btn-secondary{color:var(--text)}.credit-role{background:var(--primary-tint);border-radius:var(--r-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.game-card:hover,.library-card:hover,.brand-card:hover,.external-game-card:hover,.user-result-card:hover,.game-card:hover .game-card-image img,.library-card:hover .library-card-image img,.game-detail-image.clickable:hover img,button:active,.btn-primary:active,.btn-secondary:active,.game-card:active,.library-card:active,.brand-card:active{transform:none}.lightbox,.lightbox img{animation:none}}@media (prefers-reduced-transparency:reduce){.header,.mobile-nav{background:var(--bg-card);-webkit-backdrop-filter:none;backdrop-filter:none}.lightbox{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000eb}}@media (prefers-contrast:more){:root{--text-muted:#ebebf5d9;--text-faint:#ebebf5b3;--border:#787880e6;--border-strong:#a0a0a8}.game-card,.library-card,.brand-card,.game-tag{border-width:1px;border-color:var(--border-strong)}}
