*,*:before,*:after{box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,:root[data-theme=light]{color-scheme:light;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-hover: #f0f0f0;--bg-tooltip: rgba(0, 0, 0, .9);--text-primary: #213547;--text-secondary: #64748b;--text-muted: #999999;--text-inverse: #ffffff;--border-color: #dee2e6;--border: #dee2e6;--border-light: #e0e0e0;--border-dark: #d0d0d0;--primary: #e60012;--primary-color: #e60012;--primary-hover: #c4000f;--primary-light: rgba(230, 0, 18, .1);--accent: #e60012;--accent-hover: #c4000f;--accent-light: rgba(230, 0, 18, .1);--success: #4caf50;--success-bg: #e8f5e9;--success-text: #2d6a2d;--success-border: #a5d6a7;--error: #e60012;--error-bg: #fff0f0;--error-text: #c00000;--error-border: #fcc;--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .15);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .1);--info-border: #d0e0ff;--btn-secondary-bg: #f0f0f0;--btn-secondary-hover: #e0e0e0;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .08);--card-shadow-hover: rgba(0, 0, 0, .12);--modal-overlay: rgba(0, 0, 0, .5);--input-bg: #ffffff;--input-border: #e0e0e0;--input-border-focus: #e60012;--tag-physical-bg: #e0f4e0;--tag-physical-text: #2d6a2d;--tag-digital-bg: #e0e8f4;--tag-digital-text: #2d4a6a;--tag-switch-bg: #e60012;--tag-switch2-bg: #1a1a1a;color:var(--text-primary);background-color:var(--bg-primary)}:root[data-theme=dark]{color-scheme:dark;--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2d2d2d;--bg-hover: #333333;--bg-tooltip: rgba(0, 0, 0, .95);--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--text-muted: #888888;--text-inverse: #121212;--border-color: #3f3f3f;--border: #3f3f3f;--border-light: #444444;--border-dark: #555555;--primary: #e60012;--primary-color: #e60012;--primary-hover: #ff1a2e;--primary-light: rgba(230, 0, 18, .2);--accent: #e60012;--accent-hover: #ff1a2e;--accent-light: rgba(230, 0, 18, .2);--success: #81c784;--success-bg: #1a3a1a;--success-text: #8fc78f;--success-border: #2a5a2a;--error: #ff6b6b;--error-bg: #3a1a1a;--error-text: #ff6b6b;--error-border: #6a2020;--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .15);--info: #60a5fa;--info-bg: rgba(96, 165, 250, .15);--info-border: #2a3a4a;--btn-secondary-bg: #444444;--btn-secondary-hover: #555555;--card-bg: #2a2a2a;--card-shadow: rgba(0, 0, 0, .3);--card-shadow-hover: rgba(0, 0, 0, .4);--modal-overlay: rgba(0, 0, 0, .7);--input-bg: #2a2a2a;--input-border: #444444;--input-border-focus: #e60012;--tag-physical-bg: #1a3a1a;--tag-physical-text: #8fc78f;--tag-digital-bg: #1a2a3a;--tag-digital-text: #8fa7c7;--tag-switch-bg: #e60012;--tag-switch2-bg: #444444;color:var(--text-primary);background-color:var(--bg-primary)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]):not([data-theme=nes]):not([data-theme=famicom]){color-scheme:dark;--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2d2d2d;--bg-hover: #333333;--bg-tooltip: rgba(0, 0, 0, .95);--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--text-muted: #888888;--text-inverse: #121212;--border-color: #3f3f3f;--border: #3f3f3f;--border-light: #444444;--border-dark: #555555;--primary: #e60012;--primary-color: #e60012;--primary-hover: #ff1a2e;--primary-light: rgba(230, 0, 18, .2);--accent: #e60012;--accent-hover: #ff1a2e;--accent-light: rgba(230, 0, 18, .2);--success: #81c784;--success-bg: #1a3a1a;--success-text: #8fc78f;--success-border: #2a5a2a;--error: #ff6b6b;--error-bg: #3a1a1a;--error-text: #ff6b6b;--error-border: #6a2020;--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .15);--info: #60a5fa;--info-bg: rgba(96, 165, 250, .15);--info-border: #2a3a4a;--btn-secondary-bg: #444444;--btn-secondary-hover: #555555;--card-bg: #2a2a2a;--card-shadow: rgba(0, 0, 0, .3);--card-shadow-hover: rgba(0, 0, 0, .4);--modal-overlay: rgba(0, 0, 0, .7);--input-bg: #2a2a2a;--input-border: #444444;--input-border-focus: #e60012;--tag-physical-bg: #1a3a1a;--tag-physical-text: #8fc78f;--tag-digital-bg: #1a2a3a;--tag-digital-text: #8fa7c7;--tag-switch-bg: #e60012;--tag-switch2-bg: #444444;color:var(--text-primary);background-color:var(--bg-primary)}}:root[data-theme=nes]{color-scheme:light;--bg-primary: #c8c8cc;--bg-secondary: #aeaeb4;--bg-tertiary: #9696a0;--bg-hover: #babac0;--bg-tooltip: rgba(26, 26, 26, .95);--text-primary: #101010;--text-secondary: #2a2a2a;--text-muted: #555555;--text-inverse: #f0f0f0;--border-color: #707078;--border: #707078;--border-light: #9898a0;--border-dark: #484850;--primary: #e40521;--primary-color: #e40521;--primary-hover: #c90419;--primary-light: rgba(228, 5, 33, .18);--accent: #e40521;--accent-hover: #c90419;--accent-light: rgba(228, 5, 33, .18);--success: #00aa00;--success-bg: #c8f0c8;--success-text: #005500;--success-border: #66bb66;--error: #e40521;--error-bg: #ffc8c8;--error-text: #880000;--error-border: #cc6666;--warning: #ff8800;--warning-bg: rgba(255, 136, 0, .2);--info: #0055cc;--info-bg: rgba(0, 85, 204, .18);--info-border: #5588cc;--btn-secondary-bg: #9898a0;--btn-secondary-hover: #808088;--card-bg: #b8b8c0;--card-shadow: rgba(0, 0, 0, .3);--card-shadow-hover: rgba(0, 0, 0, .4);--modal-overlay: rgba(0, 0, 0, .7);--input-bg: #d8d8dc;--input-border: #707078;--input-border-focus: #e40521;--tag-physical-bg: #6060c0;--tag-physical-text: #ffffff;--tag-digital-bg: #e40521;--tag-digital-text: #ffffff;--tag-switch-bg: #e40521;--tag-switch2-bg: #404048;color:var(--text-primary);background-color:var(--bg-primary)}:root[data-theme=famicom]{color-scheme:light;--bg-primary: #faf5ec;--bg-secondary: #f0e8dc;--bg-tertiary: #e5dacc;--bg-hover: #f5efe4;--bg-tooltip: rgba(107, 16, 16, .95);--text-primary: #2a1010;--text-secondary: #4a2020;--text-muted: #785050;--text-inverse: #faf5ec;--border-color: #d4c4b0;--border: #d4c4b0;--border-light: #e8dcd0;--border-dark: #b8a494;--primary: #ce2029;--primary-color: #ce2029;--primary-hover: #b01820;--primary-light: rgba(206, 32, 41, .15);--accent: #d4a520;--accent-hover: #b88c18;--accent-light: rgba(212, 165, 32, .2);--success: #2d8c2d;--success-bg: #d8f0d8;--success-text: #1a5c1a;--success-border: #88c488;--error: #ce2029;--error-bg: #fce0dc;--error-text: #8c1818;--error-border: #e09090;--warning: #d4a520;--warning-bg: rgba(212, 165, 32, .2);--info: #2060a8;--info-bg: rgba(32, 96, 168, .15);--info-border: #7098c8;--btn-secondary-bg: #e8dcd0;--btn-secondary-hover: #d8c8b8;--card-bg: #fffcf7;--card-shadow: rgba(107, 16, 16, .12);--card-shadow-hover: rgba(107, 16, 16, .2);--modal-overlay: rgba(42, 16, 16, .7);--input-bg: #fffdf9;--input-border: #d4c4b0;--input-border-focus: #d4a520;--tag-physical-bg: #ce2029;--tag-physical-text: #ffffff;--tag-digital-bg: #d4a520;--tag-digital-text: #2a1010;--tag-switch-bg: #ce2029;--tag-switch2-bg: #6b4020;color:var(--text-primary);background-color:var(--bg-primary)}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2}a{color:#e60012;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button{font-family:inherit}:focus-visible{outline:2px solid #e60012;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes badge-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.badge-favorite{position:absolute;top:.4rem;left:.4rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;box-shadow:0 2px 6px #f59e0b80;z-index:10;pointer-events:none;transition:transform .2s ease;animation:badge-pop .35s cubic-bezier(.34,1.56,.64,1) both}.badge-beaten{position:absolute;top:.4rem;right:.4rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;box-shadow:0 2px 6px #22c55e80;z-index:10;pointer-events:none;transition:transform .2s ease;animation:badge-pop .35s .05s cubic-bezier(.34,1.56,.64,1) both}.game-card:hover .badge-favorite,.game-card:hover .badge-beaten,.compare-game-card:hover .badge-favorite,.compare-game-card:hover .badge-beaten{transform:scale(1.12)}.badge-favorite.small{width:1.25rem;height:1.25rem;font-size:.55rem;top:.2rem;left:.2rem;box-shadow:0 1px 4px #f59e0b73}.badge-beaten.small{width:1.25rem;height:1.25rem;font-size:.5rem;top:.2rem;right:.2rem;box-shadow:0 1px 4px #22c55e73}.badge-status{position:absolute;bottom:.4rem;left:.4rem;color:#fff;padding:.25rem .5rem;border-radius:6px;display:flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;box-shadow:0 2px 6px #0000004d;z-index:10;pointer-events:none;transition:transform .2s ease;animation:badge-pop .35s .1s cubic-bezier(.34,1.56,.64,1) both;text-transform:uppercase;letter-spacing:.02em}.badge-status.wishlist{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 6px #8b5cf680}.badge-status.borrowed{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 6px #3b82f680}.badge-status.lent{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 6px #f59e0b80}.badge-status.sold{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 6px #64748b80}.game-card:hover .badge-status,.compare-game-card:hover .badge-status{transform:scale(1.08)}.badge-status.small{padding:.15rem .3rem;font-size:.55rem;bottom:.2rem;left:.2rem;border-radius:4px;gap:.15rem}@media(max-width:480px){.badge-favorite:not(.small){width:1.5rem;height:1.5rem;font-size:.65rem;top:.3rem;left:.3rem}.badge-beaten:not(.small){width:1.5rem;height:1.5rem;font-size:.6rem;top:.3rem;right:.3rem}.badge-status:not(.small){padding:.2rem .4rem;inset:.3rem;font-size:.6rem}}.segmented-control{display:inline-flex;gap:4px;--control-bg: var(--bg-tertiary);--control-active-bg: linear-gradient(135deg, #e60012 0%, #b8000e 100%);--control-active-color: white;--control-hover-bg: var(--primary-light);--control-hover-color: var(--primary);--control-inactive-color: var(--text-secondary);--control-border-color: var(--border-color)}.segmented-control__button{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;color:var(--control-inactive-color);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:inherit}.segmented-control__button:hover:not(.segmented-control__button--active){color:var(--control-hover-color);background:var(--control-hover-bg)}.segmented-control__button--active{color:var(--control-active-color);background:var(--control-active-bg);box-shadow:0 2px 8px #e600124d}.segmented-control__icon{display:flex;align-items:center;justify-content:center}.segmented-control__label{display:flex;align-items:center}.segmented-control__count{font-weight:inherit}.segmented-control--default{background:var(--control-bg);border-radius:12px;padding:4px;box-shadow:inset 0 1px 3px #0000001a}:root[data-theme=dark] .segmented-control--default{box-shadow:inset 0 1px 3px #0000004d}.segmented-control--tabs{background:transparent;border-bottom:2px solid var(--control-border-color);gap:0;border-radius:0}.segmented-control--tabs .segmented-control__button{border-radius:0;position:relative;padding-bottom:.875rem}.segmented-control--tabs .segmented-control__button:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:transparent;transition:background .2s ease}.segmented-control--tabs .segmented-control__button--active:after{background:var(--control-active-color)}.segmented-control--tabs .segmented-control__button--active{background:transparent;color:var(--control-active-color);box-shadow:none}.segmented-control--tabs .segmented-control__button:hover:not(.segmented-control__button--active){background:transparent}.segmented-control--buttons{background:transparent;border:2px solid var(--control-border-color);border-radius:8px;overflow:hidden;padding:0;gap:0}.segmented-control--buttons .segmented-control__button{flex:1;border-radius:0;background:var(--control-bg);border-right:1px solid var(--control-border-color)}.segmented-control--buttons .segmented-control__button:last-child{border-right:none}.segmented-control--buttons .segmented-control__button:hover:not(.segmented-control__button--active){background:var(--control-hover-bg)}.segmented-control--buttons .segmented-control__button--active{background:var(--control-active-bg);border-color:transparent}.segmented-control--sm .segmented-control__button{padding:.5rem .75rem;font-size:.875rem}.segmented-control--sm .segmented-control__icon{font-size:.875rem}.segmented-control--md .segmented-control__button{padding:.75rem 1.5rem;font-size:1rem}.segmented-control--md .segmented-control__icon{font-size:.9rem}.segmented-control--lg .segmented-control__button{padding:1rem 2rem;font-size:1.125rem}.segmented-control--lg .segmented-control__icon{font-size:1rem}.segmented-control--full-width{width:100%}.segmented-control--full-width .segmented-control__button{flex:1}@media(max-width:768px){.segmented-control--default{width:100%}.segmented-control--default .segmented-control__button{flex:1;justify-content:center;padding:.625rem 1rem;font-size:.9375rem}.segmented-control--md .segmented-control__button{padding:.625rem 1rem;font-size:.9375rem}.segmented-control--buttons.segmented-control--sm .segmented-control__button{min-height:48px;padding:.875rem 1rem}}@media(max-width:480px){.segmented-control--default .segmented-control__button,.segmented-control--md .segmented-control__button{padding:.5rem .75rem;font-size:.875rem}.segmented-control--sm .segmented-control__button{padding:.375rem .5rem;font-size:.8125rem}}.segmented-control__button:focus-visible{outline:2px solid var(--control-hover-color);outline-offset:2px;z-index:1}@media(prefers-reduced-motion:reduce){.segmented-control__button{transition:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-weight:600;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;transition:all .2s ease;position:relative;padding:.75rem 1.5rem;font-size:.9375rem;line-height:1.5}.btn-sm{padding:.5rem 1rem;font-size:.875rem;border-radius:6px;gap:.375rem}.btn-md{padding:.75rem 1.5rem;font-size:.9375rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;box-shadow:0 2px 8px #e6001233}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e600124d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-danger{background:#dc3545;color:#fff;box-shadow:0 2px 8px #dc354533}.btn-danger:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:transparent;color:var(--text-primary);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--bg-hover)}.btn-link{background:transparent;color:var(--primary);padding:.25rem .5rem;box-shadow:none;text-decoration:none}.btn-link:hover:not(:disabled){text-decoration:underline;background:transparent}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-loading{cursor:wait;position:relative}.btn-loading .btn-content{opacity:.7}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-icon svg{width:1em;height:1em}.btn-spinner{display:inline-flex;align-items:center;justify-content:center}.btn:not(:has(.btn-content)){padding:.75rem;gap:0}.btn-sm:not(:has(.btn-content)){padding:.5rem}.btn-lg:not(:has(.btn-content)){padding:.875rem}.btn-full-width{width:100%;display:flex}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-github{background:#24292e;color:#fff}.btn-github:hover:not(:disabled){background:#1a1e22;transform:translateY(-1px)}.btn-share{background:linear-gradient(135deg,#6b46c1,#553c9a);color:#fff!important;box-shadow:0 2px 8px #6b46c133}.btn-share:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6b46c14d}.btn-share.active{background:linear-gradient(135deg,#553c9a,#44337a);color:#fff!important}.btn-share .btn-icon,.btn-share .btn-content{color:#fff}.btn-info{background:linear-gradient(135deg,#0096d6,#0077b3);color:#fff;box-shadow:0 2px 8px #0096d633}.btn-info:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0096d64d}[data-theme=nes] .btn{border-radius:4px;box-shadow:inset 0 1px #ffffff4d,0 3px #0000004d;border:2px solid rgba(0,0,0,.2)}[data-theme=nes] .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 1px #ffffff4d,0 5px #0000004d}[data-theme=nes] .btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px #ffffff4d,0 1px #0000004d}[data-theme=nes] .btn-primary{background:linear-gradient(180deg,#e84038,#e40521,#c90419);box-shadow:inset 0 1px #ffffff4d,0 3px #8c0310}[data-theme=nes] .btn-secondary{background:linear-gradient(180deg,#b0b0b8,#9898a0,#808088);box-shadow:inset 0 1px #fff6,0 3px #505058}[data-theme=famicom] .btn{border-radius:6px;box-shadow:inset 0 1px #ffffff40,0 3px #6b101040;border:2px solid rgba(107,16,16,.15)}[data-theme=famicom] .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 1px #ffffff40,0 5px #6b101040}[data-theme=famicom] .btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px #ffffff40,0 1px #6b101040}[data-theme=famicom] .btn-primary{background:linear-gradient(180deg,#d83030,#ce2029,#b01820);box-shadow:inset 0 1px #ffffff40,0 3px #6b1010}[data-theme=famicom] .btn-secondary{background:linear-gradient(180deg,#f0e8dc,#e8dcd0,#d8c8b8);color:#2a1010;box-shadow:inset 0 1px #ffffff80,0 3px #b8a494;border:2px solid #d4a520}.add-game-modal{max-height:90vh;overflow-y:auto}.input-with-actions{position:relative}.helper-actions{display:flex;gap:.75rem;margin-top:.5rem;flex-wrap:wrap;align-items:center}.btn-helper{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;background:var(--btn-secondary-bg);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.btn-helper:hover:not(:disabled){background:var(--btn-secondary-hover)}.btn-helper:disabled{opacity:.5;cursor:not-allowed}.helper-status{font-size:.875rem;color:var(--text-secondary);font-style:italic}.ocr-suggestions{margin-top:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.ocr-suggestions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.btn-close-suggestions{background:none;border:none;font-size:1rem;cursor:pointer;color:#666;padding:.25rem}.btn-close-suggestions:hover{color:#e60012}.ocr-suggestion-item{display:block;width:100%;padding:.5rem .75rem;margin-bottom:.5rem;text-align:left;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9375rem;color:var(--text-primary)}.ocr-suggestion-item:last-child{margin-bottom:0}.ocr-suggestion-item:hover{background:var(--bg-tertiary);border-color:var(--primary)}.search-header{display:flex;gap:.5rem}.btn-search{flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#06c,#0052a3);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #06c3}.mode-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.mode-tab{flex:1;padding:.75rem 1rem;font-size:.95rem;font-weight:600;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s}.mode-tab.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 8px #e6001233}.mode-tab:hover:not(.active){background:var(--bg-tertiary)}.search-filters{display:flex;gap:.75rem;flex-wrap:wrap;margin:.75rem 0;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.25rem;min-width:120px}.filter-group label{font-size:.8rem;font-weight:600}.filter-checkbox{display:flex;align-items:center;gap:.25rem;font-size:.85rem;cursor:pointer}.filter-checkbox input{cursor:pointer}.btn-search:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.btn-search:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-settings{padding:.75rem 1rem;font-size:1.25rem;background:var(--btn-secondary-bg);border:none;border-radius:8px;cursor:pointer;transition:all .2s;line-height:1;color:var(--text-primary)}.btn-settings:hover{background:var(--btn-secondary-hover);transform:scale(1.05)}.search-settings{margin-top:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.search-settings h4{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.settings-description{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-secondary)}.region-toggles{display:flex;gap:.75rem;flex-wrap:wrap}.region-toggle{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:var(--text-primary)}.region-toggle:hover{border-color:#06c;background:var(--primary-light)}.region-toggle input[type=checkbox]{cursor:pointer}.search-message{margin-top:.75rem;padding:.75rem;font-size:.875rem;background:var(--info-bg);border:1px solid var(--info-border);border-radius:6px;color:var(--text-primary)}.search-message.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error)}.search-results{margin-top:.75rem;max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg)}.search-results-header{padding:.75rem 1rem;margin:0;font-size:.875rem;font-weight:600;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0}.search-result-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1rem;text-align:left;background:var(--input-bg);border:none;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s;color:var(--text-primary)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-secondary)}.search-result-item-detailed{display:flex;gap:1rem;align-items:flex-start;width:100%;padding:.875rem 1rem;text-align:left}.result-overview{margin:.25rem 0 0;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.search-result-item-detailed:last-child{border-bottom:none}.search-result-item-detailed:hover{background:var(--bg-secondary)}.result-boxart{width:60px;height:80px;object-fit:cover;border-radius:4px;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.result-details{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.result-title{font-weight:500;font-size:.9375rem}.result-date{font-size:.8125rem;color:var(--text-secondary);margin-left:.5rem}.selected-game-preview{margin-top:.75rem;padding:1rem;background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px}.preview-label{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--success)}.preview-cover{max-width:120px;max-height:160px;border-radius:6px;box-shadow:0 2px 8px #0000001a}.barcode-scanner{margin-top:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-align:center}.scanner-video{width:100%;max-width:400px;border-radius:8px;background:#000}.scanner-instruction{margin:.5rem 0 0;font-size:.875rem;color:var(--text-secondary)}.btn-toggle-section{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;text-align:left;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.btn-toggle-section:hover{background:var(--bg-tertiary);border-color:var(--border-dark)}.additional-details{margin-top:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.additional-details .form-group{margin-bottom:1rem}.additional-details .form-group:last-child{margin-bottom:0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer}.checkbox-label span{font-size:.9375rem}.checkbox-label-improved{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.checkbox-label-improved:hover{background:var(--bg-tertiary);border-color:#22c55e}.checkbox-label-improved input[type=checkbox]{width:1.5rem;height:1.5rem;cursor:pointer;accent-color:#22c55e}.checkbox-label-improved .checkbox-text{font-size:1rem;font-weight:600;color:var(--text-primary)}.checkbox-label-improved input[type=checkbox]:checked+.checkbox-text{color:#22c55e}.header{background:linear-gradient(135deg,#e60012,#c4000f);color:#fff;padding:.75rem 1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}[data-theme=nes] .header{background:linear-gradient(180deg,#a8a8b0,#888890,#707078);border-bottom:4px solid #e40521;box-shadow:inset 0 1px #ffffff4d,0 4px #1a1a1a,0 8px 12px #0006;position:relative}[data-theme=nes] .header:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,#e40521 0px 16px,#1a1a1a 16px 32px)}[data-theme=famicom] .header{background:linear-gradient(180deg,#d82828,#ce2029,#b01820);border-bottom:4px solid #6b1010;box-shadow:inset 0 1px #ffffff40,0 4px #d4a520,0 8px 12px #6b101066;position:relative}[data-theme=famicom] .header:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,#d4a520 0px 16px,#faf5ec 16px 32px)}@media(max-width:768px){.header{padding:.5rem 1rem}}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}@media(max-width:600px){.header-content{display:grid;grid-template-columns:1fr auto;grid-template-areas:"logo auth" "nav nav";gap:.5rem}.header-content .logo{grid-area:logo}.header-content .auth-section{grid-area:auth}.header-content .nav{grid-area:nav;margin-left:0;justify-content:center;width:100%}}@media(max-width:768px){.header-content .nav{display:none}}.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff}.logo-icon{width:60px;height:60px;filter:brightness(0) invert(1);opacity:.95}@media(max-width:768px){.logo-icon{width:48px;height:48px}}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.5px}.nav{display:flex;gap:.5rem;margin-left:auto}.nav-link{display:flex;align-items:center;gap:.5rem}.nav-link{color:#ffffffe6;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;transition:background-color .2s,color .2s}.nav-link-icon{padding:.5rem .75rem;font-size:1.125rem}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#fff3;color:#fff}.nav-link-button{background:none;border:none;font-family:inherit;font-size:inherit;cursor:pointer;color:#ffffffe6;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;transition:background-color .2s,color .2s;display:flex;align-items:center;gap:.5rem}.nav-link-button:hover{background:#ffffff1a;color:#fff}.nav-link-button.share-active{background:#ffffff40;color:#fff;box-shadow:0 0 0 2px #ffffff4d}.nav-link-text{display:inline}.nav-link-wrapper{position:relative;display:inline-flex;align-items:center}.nav-badge{position:absolute;top:-8px;right:-10px;background:#f44;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;padding:0 4px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid #e60012;box-shadow:0 2px 4px #0003}.nav-refresh-btn{background:#fff3;border:none;color:#fff;padding:.25rem .4rem;border-radius:4px;cursor:pointer;font-size:.75rem;margin-left:.25rem;transition:background-color .2s,transform .2s;display:flex;align-items:center;justify-content:center}.nav-refresh-btn:hover{background:#ffffff4d;transform:rotate(45deg)}.auth-section{display:flex;align-items:center}.auth-loading{font-size:.875rem;opacity:.8}.user-avatar-button{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;transition:transform .2s,opacity .2s}.user-avatar-button:hover{transform:scale(1.1);opacity:.9}.user-avatar-button:active{transform:scale(1.05)}.user-avatar{width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.8);transition:border-color .2s}.user-avatar-icon{display:flex;align-items:center;justify-content:center;background:#fff3;color:#fff;font-size:1rem}.user-avatar-button:hover .user-avatar{border-color:#fff}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;border:none;transition:background-color .2s,transform .1s}.btn-primary{background:#fff;color:#e60012}.btn-primary:hover{background:#f0f0f0}.btn-secondary{background:#fff3;color:#fff}.btn-secondary:hover{background:#ffffff4d}.github-icon{width:18px;height:18px}.bottom-navigation{display:none}@media(max-width:768px){.bottom-navigation{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;justify-content:space-around;align-items:center;background:var(--card-bg);border-top:1px solid var(--border-color);padding:.5rem 0;box-shadow:0 -2px 10px #0000001a}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1rem;color:var(--text-secondary);text-decoration:none;font-size:.75rem;font-weight:500;transition:color .2s;flex:1;min-width:0}.bottom-nav-item svg{font-size:1.25rem}.bottom-nav-item:hover{color:var(--text-primary)}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active svg{transform:scale(1.1)}.bottom-nav-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}}@media(max-width:768px){.layout{padding-bottom:70px}}@media(max-width:768px){[data-theme=nes] .bottom-navigation{background:linear-gradient(180deg,#a8a8b0,#9090a0);border-top:3px solid #e40521;box-shadow:inset 0 1px #ffffff4d,0 -2px #1a1a1a,0 -4px 12px #0000004d}[data-theme=nes] .bottom-nav-item{color:#2a2a2a}[data-theme=nes] .bottom-nav-item.active{color:#e40521;text-shadow:0 1px 0 rgba(255,255,255,.5)}}@media(max-width:768px){[data-theme=famicom] .bottom-navigation{background:linear-gradient(180deg,#faf5ec,#f0e8dc);border-top:3px solid #d4a520;box-shadow:inset 0 1px #ffffff80,0 -2px #ce2029,0 -4px 12px #6b101033}[data-theme=famicom] .bottom-nav-item{color:#4a2020}[data-theme=famicom] .bottom-nav-item.active{color:#ce2029}}.update-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;padding:1rem;box-shadow:0 -2px 10px #0003;z-index:1000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.update-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.update-banner-text{display:flex;flex-direction:column;gap:.25rem}.update-banner-text strong{font-size:1rem;font-weight:600}.update-banner-text span{font-size:.875rem;opacity:.95}.update-banner-actions{display:flex;gap:.75rem;flex-shrink:0}.update-banner-button{padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.update-banner-button:focus{outline:2px solid white;outline-offset:2px}.update-banner-button-primary{background:#fff;color:var(--primary)}.update-banner-button-primary:hover{background:var(--bg-hover);transform:translateY(-1px)}.update-banner-button-primary:active{transform:translateY(0)}.update-banner-button-secondary{background:#fff3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.update-banner-button-secondary:hover{background:#ffffff4d}@media(max-width:640px){.update-banner-content{flex-direction:column;align-items:stretch;text-align:center}.update-banner-actions{width:100%}.update-banner-button{flex:1}}.network-status{position:fixed;top:60px;left:0;right:0;background:var(--warning);color:#fff;padding:.75rem 1rem;box-shadow:0 2px 8px #00000026;z-index:999;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.network-status-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.75rem}.network-status-icon{font-size:1.25rem;flex-shrink:0}.network-status-text{font-size:.875rem;font-weight:500}@media(max-width:640px){.network-status{padding:.625rem .875rem}.network-status-icon{font-size:1rem}.network-status-text{font-size:.8125rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;padding:2rem 1rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.footer{background:#1a1a1a;color:#ffffffb3;padding:1rem;text-align:center;font-size:.875rem;margin-top:auto}@media(max-width:768px){.footer{padding:.75rem 1rem;font-size:.8125rem}}.footer-content{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}@media(max-width:768px){.footer-content{gap:.375rem;margin-bottom:.5rem}}.footer p{margin:0}.footer-links a,.footer-attribution a{color:#ffffffe6;text-decoration:none;transition:color .2s}.footer-links a:hover,.footer-attribution a:hover{color:#e60012;text-decoration:underline}.footer-attribution{font-size:.8rem;color:#fff9}.footer-attribution a{color:#fffc;font-weight:500}.footer-version{font-size:.75rem;color:#ffffff80;font-style:italic}[data-theme=nes] .footer{background:linear-gradient(180deg,#606068,#484850);color:#ffffffd9;border-top:4px solid #e40521;box-shadow:inset 0 1px #ffffff26,0 -2px #1a1a1a}[data-theme=nes] .footer-links a,[data-theme=nes] .footer-attribution a{color:#f0f0f0}[data-theme=nes] .footer-links a:hover,[data-theme=nes] .footer-attribution a:hover{color:#e40521}[data-theme=nes] .footer-attribution{color:#ffffffb3}[data-theme=nes] .footer-version{color:#ffffff80}[data-theme=famicom] .footer{background:linear-gradient(180deg,#6b1010,#4a0808);color:#faf5ece6;border-top:4px solid #d4a520;box-shadow:inset 0 1px #ffffff1a,0 -2px #ce2029}[data-theme=famicom] .footer-links a,[data-theme=famicom] .footer-attribution a{color:#faf5ec}[data-theme=famicom] .footer-links a:hover,[data-theme=famicom] .footer-attribution a:hover{color:#d4a520}[data-theme=famicom] .footer-attribution{color:#faf5ecbf}[data-theme=famicom] .footer-version{color:#faf5ec8c}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.game-details-modal{position:relative;background:var(--bg-primary);border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close-button{position:sticky;top:1rem;right:1rem;float:right;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;z-index:10;box-shadow:0 2px 8px #00000026}.modal-close-button:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.1)}.details-loading,.details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.details-loading .loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.details-loading p{color:var(--text-secondary);font-size:1rem}.details-error{color:var(--error)}.details-content{padding:1.5rem}.details-hero{display:grid;grid-template-columns:200px 1fr;gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--border-color)}.hero-cover{width:200px;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;background:var(--bg-tertiary);box-shadow:0 4px 12px #00000026}.hero-cover img{width:100%;height:100%;object-fit:cover}.cover-placeholder-large{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--text-muted)}.hero-info{min-width:0}.hero-info h1{margin:0 0 1rem;font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.meta-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.platform-badge,.region-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.875rem;font-weight:600;border-radius:6px}.region-badge{background:var(--info-bg);color:var(--info);border:1px solid var(--info)}.game-overview p{margin:0;line-height:1.6;color:var(--text-secondary);font-size:.9375rem}.hero-actions{margin-top:1.5rem;display:flex;gap:.75rem;flex-wrap:wrap}.details-sections{display:flex;flex-direction:column;gap:2rem}.details-section h2{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.info-label svg{color:var(--primary)}.info-value{font-size:1rem;color:var(--text-primary);font-weight:500}@media(max-width:768px){.game-details-modal{border-radius:16px 16px 0 0;max-height:95vh}.details-content{padding:1rem}.details-hero{grid-template-columns:1fr;gap:1.5rem}.hero-cover{width:150px;margin:0 auto}.hero-info h1{font-size:1.5rem;text-align:center}.meta-badges{justify-content:center}.game-overview p{font-size:.875rem}.hero-actions{justify-content:center}.btn-amazon{width:100%;justify-content:center}.info-grid{grid-template-columns:1fr}}@media(max-width:480px){.modal-overlay{padding:0}.game-details-modal{max-height:100vh;border-radius:0}.modal-close-button{top:.5rem;right:.5rem}.hero-cover{width:120px}.hero-info h1{font-size:1.25rem}}.home{text-align:center}.beta-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.625rem 1rem;background:var(--info-bg, #e8f4fd);border-bottom:1px solid var(--info-border, #b6d4fe);color:var(--text-primary);font-size:.875rem;flex-wrap:wrap}.beta-badge{display:inline-block;padding:.125rem .5rem;background:var(--primary, #e60012);color:#fff;font-weight:700;font-size:.75rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.beta-text{color:var(--text-secondary)}.hero{padding:3rem 1rem;max-width:700px;margin:0 auto}.hero-title{font-size:2.5rem;font-weight:800;line-height:1.2;margin:0 0 1rem;background:linear-gradient(135deg,#e60012,#ff4757);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width:640px){.hero-title{font-size:3.5rem}}.hero-subtitle{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;margin:0 0 2rem}.hero-cta{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#e60012,#c4000f);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px #e600124d}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e6001266}.hero-cta:active{transform:translateY(0)}.features{padding:3rem 1rem;background:var(--bg-secondary);border-radius:24px;margin:2rem 0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}.feature-card{background:var(--card-bg);padding:1.5rem;border-radius:16px;box-shadow:0 2px 8px var(--card-shadow);text-align:left}.feature-icon{font-size:2rem;margin-bottom:.75rem}.feature-card h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.feature-card p{margin:0;color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.upcoming-preview{padding:2rem 1rem;max-width:1000px;margin:0 auto}.upcoming-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.upcoming-header h2{margin:0;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.section-icon{color:var(--primary)}.view-all-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary);font-weight:600;text-decoration:none;transition:gap .2s}.view-all-link:hover{gap:.75rem}.upcoming-loading{text-align:center;padding:2rem;color:var(--text-secondary)}.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}@media(min-width:640px){.upcoming-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:900px){.upcoming-grid{grid-template-columns:repeat(6,1fr)}}.upcoming-card{display:block;background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--card-shadow);transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;cursor:pointer}.upcoming-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow)}.upcoming-cover{width:100%;aspect-ratio:3 / 4;object-fit:cover;background:var(--bg-tertiary)}.upcoming-cover-placeholder{width:100%;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);font-size:2rem}.upcoming-info{padding:.75rem}.upcoming-title{margin:0 0 .5rem;font-size:.875rem;font-weight:600;line-height:1.3;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.upcoming-meta{display:flex;flex-direction:column;gap:.25rem}.upcoming-date{font-size:.75rem;color:var(--text-secondary)}.upcoming-platform{display:inline-block;font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:4px;width:fit-content}.upcoming-platform.switch{background:#e6001226;color:#e60012}.upcoming-platform.switch2{background:#64646426;color:var(--text-secondary)}.upcoming-region{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;background:var(--info-bg);color:var(--info);border:1px solid var(--info);width:fit-content}.upcoming-region svg{font-size:.5rem}:root[data-theme=dark] .upcoming-platform.switch{background:#e6001240;color:#ff4d5e}.no-upcoming{text-align:center;padding:2rem;color:var(--text-secondary)}.platforms{padding:3rem 1rem}.platforms h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.platform-badges{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.platform-badge{display:inline-flex;align-items:center;padding:.75rem 1.5rem;border-radius:100px;font-weight:600;font-size:1rem;box-shadow:0 2px 8px #0000001a,inset 0 1px #fff3;position:relative}.platform-badge:before{content:"";position:absolute;inset:-6px;background:linear-gradient(145deg,#fff,#f5f5f5);border-radius:100px;z-index:-1;box-shadow:0 4px 12px #00000014}.platform-badge.switch{background:#e60012;color:#fff}.platform-badge.switch2{background:#1a1a1a;color:#fff}:root[data-theme=dark] .platform-badge:before{background:linear-gradient(145deg,#2a2a2a,#1f1f1f);box-shadow:0 4px 12px #0000004d}:root[data-theme=dark] .platform-badge.switch2{background:var(--bg-hover);border:1px solid var(--border-color)}.auth-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.auth-container{width:100%;max-width:450px}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{font-size:1.875rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#e60012,#ff4757);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{font-size:1rem;color:var(--text-secondary);margin:0}.auth-card{background:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 4px 12px var(--card-shadow)}.auth-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem;background:var(--bg-secondary);padding:.25rem;border-radius:8px}.auth-toggle-btn{padding:.625rem 1rem;border:none;background:transparent;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s;color:var(--text-secondary)}.auth-toggle-btn:hover{background:var(--primary-light);color:var(--primary)}.auth-toggle-btn.active{background:#e60012;color:#fff}.auth-mode-header{text-align:center;margin-bottom:1.5rem}.auth-mode-header h2{font-size:1.5rem;margin:0 0 .5rem}.auth-mode-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.auth-github-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1rem;background:#24292e;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.auth-github-btn:hover{background:#1a1e22;transform:translateY(-1px)}.auth-github-btn:active{transform:translateY(0)}.github-icon{width:20px;height:20px}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:#999;font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-divider span{padding:0 1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-message{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500}.auth-message.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.auth-message.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-input{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:var(--input-bg);color:var(--text-primary)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input:disabled{opacity:.6;cursor:not-allowed}.auth-submit-btn{padding:.875rem 1rem;background:linear-gradient(135deg,#e60012,#c4000f);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .2s;box-shadow:0 2px 8px #e6001233;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e600124d}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:1.5rem;text-align:center}.auth-link{background:none;border:none;color:var(--primary);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;padding:0}.auth-link:hover{text-decoration:underline}.share-prompt-banner{background:linear-gradient(135deg,var(--primary-light) 0%,var(--accent-light) 100%);border:2px solid var(--primary);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 2px 8px #e600121a;animation:slideDown .4s ease-out}.share-prompt-icon{font-size:2.5rem;color:var(--primary);flex-shrink:0}.share-prompt-content{flex:1}.share-prompt-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.share-prompt-description{font-size:.95rem;color:var(--text-secondary);margin:0;line-height:1.5}.share-prompt-actions{display:flex;gap:.75rem;flex-shrink:0}.share-prompt-actions .btn-primary{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap}.share-prompt-actions .btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.share-prompt-actions .btn-dismiss{background:transparent;color:var(--text-secondary);border:none;padding:.75rem 1rem;border-radius:.5rem;cursor:pointer;transition:background .2s;white-space:nowrap}.share-prompt-actions .btn-dismiss:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.share-prompt-banner{flex-direction:column;align-items:flex-start;padding:1.25rem}.share-prompt-icon{font-size:2rem}.share-prompt-title{font-size:1.1rem}.share-prompt-description{font-size:.9rem}.share-prompt-actions{width:100%;flex-direction:column}.share-prompt-actions .btn-primary,.share-prompt-actions .btn-dismiss{width:100%;text-align:center}}.library{max-width:1200px;margin:0 auto}.library-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.library-header h1{margin:0;font-size:2.25rem;font-weight:700}.library-stats{margin:.5rem 0 0;color:var(--text-secondary);font-size:1rem}.header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}@media(max-width:768px){.header-actions{width:100%}.header-actions .btn-add,.header-actions .btn-share{flex:1;justify-content:center}}.btn-add,.btn-search{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 2px 12px #0000001a}.btn-add{background:linear-gradient(135deg,#e60012,#c4000f)}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e6001259}.btn-search{background:linear-gradient(135deg,#0096d6,#0077b3)}.btn-search:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0096d659}.share-panel{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px var(--card-shadow)}.share-panel-header{margin-bottom:1rem}.share-panel-header h3{margin:0 0 .25rem;font-size:1.125rem}.share-panel-header p{margin:0;color:var(--text-secondary);font-size:.9375rem}.share-panel-content{display:flex;flex-direction:column;gap:1rem}.share-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.share-link-row{display:flex;gap:.5rem}.share-actions-row{display:flex;gap:.5rem;flex-wrap:wrap}.btn-regenerate,.btn-preview{padding:.625rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-regenerate{background:var(--bg-tertiary);color:var(--text-primary)}.btn-regenerate:hover:not(:disabled){background:var(--bg-hover)}.btn-preview{background:#6b46c1;color:#fff}.btn-preview:hover{background:#553c9a}.share-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.share-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.share-section h4{margin:0 0 .75rem;font-size:.9375rem;color:var(--text-primary)}.share-section h5{margin:1rem 0 .5rem;font-size:.8125rem;color:var(--text-secondary);font-weight:600}.profile-edit-row{display:flex;align-items:center;gap:.5rem}.profile-input{flex:1;padding:.625rem .875rem;font-size:.9375rem;border:2px solid var(--border-color);border-radius:8px;outline:none;transition:border-color .2s;background:var(--input-bg);color:var(--text-primary)}.profile-input:focus{border-color:var(--primary)}.current-name{flex:1;font-size:.9375rem;color:var(--text-primary)}.btn-edit-profile,.btn-save-profile,.btn-cancel-profile{padding:.5rem .875rem;font-size:.8125rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-edit-profile{background:var(--bg-tertiary);color:var(--text-primary)}.btn-edit-profile:hover{background:var(--bg-hover)}.btn-save-profile{background:var(--success);color:#fff}.btn-save-profile:hover:not(:disabled){background:#16a34a}.btn-save-profile:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-profile{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-cancel-profile:hover{background:var(--bg-hover)}.btn-toggle-filters{flex:1;display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s;color:var(--text-primary);box-shadow:0 2px 8px var(--card-shadow);min-height:48px}.library-toolbar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:flex-end;padding:1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--card-shadow);transition:max-height .3s ease-out,opacity .3s ease-out,padding .3s ease-out;overflow:hidden}@media(max-width:768px){.library-toolbar{flex-direction:column;align-items:stretch;max-height:0;opacity:0;padding:0 1rem;margin-bottom:0}.library-toolbar.toolbar-expanded{max-height:2000px;opacity:1;padding:1rem;margin-bottom:1.5rem}}.search-input{flex:1;min-width:200px;padding:.75rem 1rem;font-size:1rem;border:2px solid var(--border-color);border-radius:10px;outline:none;transition:border-color .2s;min-height:44px;background:var(--input-bg);color:var(--text-primary)}@media(max-width:768px){.search-input{min-width:100%}}.search-input:focus{border-color:var(--primary)}.filter-select{padding:.5rem .75rem;font-size:.9375rem;border:2px solid var(--border-dark);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-weight:500;cursor:pointer;outline:none;min-width:120px;min-height:44px;transition:all .2s}.filter-select:hover{border-color:var(--border-dark);background:var(--bg-primary)}@media(max-width:768px){.filter-select{min-width:100%}}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:var(--bg-primary)}.filter-select option{background:var(--bg-primary);color:var(--text-primary);padding:.5rem;font-weight:500}.sort-select{min-width:160px}@media(max-width:768px){.sort-select{min-width:100%}}.results-info{margin-bottom:1rem;font-size:.9375rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-secondary);border-radius:16px}.empty-state h2{margin:0 0 .5rem;font-size:1.5rem}.empty-state p{margin:0 0 1.5rem;color:var(--text-secondary)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.game-card{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--card-shadow);transition:transform .2s,box-shadow .2s;cursor:pointer}.game-card.grid{display:flex;flex-direction:column}.game-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow-hover)}.game-card.grid .game-cover{position:relative;width:100%;aspect-ratio:3 / 4;flex-shrink:0;min-height:240px;background:var(--bg-tertiary);overflow:hidden}.game-card.grid .game-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.game-card.list{display:flex;gap:1.25rem;padding:1rem}.game-card.list:hover{transform:translateY(-2px)}.game-card.list .list-details{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.game-card.list .list-notes{margin:.5rem 0 0;font-size:.8125rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-card.list .list-actions{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.game-card.compact{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:8px}.game-card.compact:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.game-card.compact .compact-title{margin:0;font-size:.9375rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-card.compact .compact-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.game-card.compact .compact-actions{display:flex;gap:.5rem}.game-cover{position:relative;aspect-ratio:3 / 4;background:var(--bg-tertiary);overflow:hidden}.game-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.game-info{padding:.75rem;display:flex;flex-direction:column;flex:1;min-height:0}.game-title{margin:0 0 .5rem;font-size:.9375rem;font-weight:600;line-height:1.3}.game-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.platform-tag,.format-tag{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:600;border-radius:6px}.platform-tag.switch2{background:var(--tag-switch2-bg);color:#fff}.format-tag.physical{background:var(--tag-physical-bg);color:var(--tag-physical-text)}.format-tag.digital{background:var(--tag-digital-bg);color:var(--tag-digital-text)}.game-dates{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;color:var(--text-secondary)}.game-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.5rem;justify-content:flex-end}.edit-btn,.delete-btn{background:var(--bg-tertiary);border:none;font-size:.875rem;cursor:pointer;opacity:.8;transition:all .2s;padding:.375rem .5rem;border-radius:6px;color:var(--text-primary)}.edit-btn:hover,.delete-btn:hover{opacity:1;background:var(--bg-hover)}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:200}.modal{background:var(--card-bg);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid var(--border-color);border-radius:8px;outline:none;transition:border-color .2s;box-sizing:border-box;font-family:inherit;background:var(--input-bg);color:var(--text-primary)}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:.5rem}.btn-cancel{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background:var(--btn-secondary-bg);color:var(--text-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-submit{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:#e60012;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-submit:hover:not(:disabled){background:#c4000f}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--bg-tertiary);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.games-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.game-card.list{flex-direction:row;padding:.75rem}.game-card.list .list-cover{width:80px;height:106px}.game-card.list .list-details{flex-direction:column;gap:.5rem}.game-card.list .list-actions{flex-direction:row;gap:.5rem}}@media(max-width:480px){.games-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.library-header h1{font-size:1.75rem}.library-stats,.game-card.grid .game-title{font-size:.875rem}.game-card.list{flex-direction:column}.game-card.list .list-cover{width:100%;height:auto;aspect-ratio:3 / 4}.btn-add,.btn-share{font-size:.9375rem;padding:.75rem 1.25rem}}.celebration-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.celebration-modal{background:var(--card-bg);border-radius:1rem;padding:2.5rem 2rem;max-width:500px;width:90%;box-shadow:0 8px 32px #0003;text-align:center;animation:slideUp .4s ease-out}.celebration-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease-in-out}.celebration-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.celebration-message{font-size:1.05rem;color:var(--text-secondary);margin:0 0 2rem;line-height:1.6}.celebration-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.celebration-actions .btn-primary{background:var(--primary);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.celebration-actions .btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #e600124d}.celebration-actions .btn-secondary{background:var(--btn-secondary-bg);color:var(--text-primary);border:none;padding:.875rem 1.75rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.celebration-actions .btn-secondary:hover{background:var(--btn-secondary-hover);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media(max-width:640px){.celebration-modal{padding:2rem 1.5rem}.celebration-icon{font-size:3rem}.celebration-title{font-size:1.5rem}.celebration-message{font-size:1rem}.celebration-actions{flex-direction:column;width:100%}.celebration-actions .btn-primary,.celebration-actions .btn-secondary{width:100%;justify-content:center}}.search-page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.search-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 0}.search-header>div{text-align:left}.search-header h1{font-size:2.25rem;margin:0 0 .5rem;font-weight:700}.search-header p{color:var(--text-secondary);margin:0;font-size:1.0625rem}.btn-add-manual{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#e60012,#b8000e);border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #e600124d;white-space:nowrap}.btn-add-manual:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e6001266}.btn-add-manual:active{transform:translateY(0)}@media(max-width:768px){.search-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-header>div{width:100%}}.search-bar-container{margin-bottom:1.5rem}.search-input-wrapper{display:flex;max-width:700px;margin:0 auto;box-shadow:0 4px 24px #e6001226;border-radius:12px;overflow:hidden}.search-input-main{flex:1;padding:1rem 1.5rem;font-size:1.125rem;border:2px solid var(--primary);border-right:none;border-radius:12px 0 0 12px;outline:none;transition:all .2s;background:var(--input-bg);color:var(--text-primary)}.search-input-main:focus{border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-light)}.search-btn-main{padding:1rem 2rem;font-size:1.5rem;background:linear-gradient(135deg,#e60012,#c4000f);color:#fff;border:none;border-radius:0 12px 12px 0;cursor:pointer;transition:all .2s}.search-btn-main:hover:not(:disabled){background:linear-gradient(135deg,#ff0015,#e60012);transform:scale(1.02)}.search-btn-main:disabled{opacity:.6;cursor:not-allowed}.filters-mobile-header{display:none;margin-bottom:1rem}@media(max-width:768px){.filters-mobile-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}}.btn-toggle-filters{flex:1;display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px var(--card-shadow);min-height:48px;color:var(--text-primary)}.btn-toggle-filters:hover{border-color:var(--primary);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.toggle-icon{font-size:.875rem;color:#e60012;font-weight:700}.search-filters-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1.25rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px var(--card-shadow);transition:max-height .3s ease-out,opacity .3s ease-out,padding .3s ease-out;overflow:hidden}@media(max-width:768px){.search-filters-bar{flex-direction:column;align-items:stretch;max-height:0;opacity:0;padding:0 1.25rem;margin-bottom:0}.search-filters-bar.filters-expanded{max-height:2000px;opacity:1;padding:1.25rem;margin-bottom:1.5rem}}.filter-item{display:flex;flex-direction:column;gap:.375rem;min-width:140px}@media(max-width:768px){.filter-item{min-width:100%}}.filter-item label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.filter-item select,.filter-item input{padding:.5rem .75rem;font-size:.9375rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);min-height:44px}.filter-item input[type=number]{width:100%}@media(min-width:769px){.filter-item input[type=number]{width:80px}}.filter-checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9375rem;padding:.5rem 0;min-height:44px}.filter-checkbox-item input{cursor:pointer;width:20px;height:20px}.btn-advanced-filters{padding:.5rem .75rem;font-size:.875rem;font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;color:var(--text-primary)}.btn-advanced-filters:hover{background:var(--bg-hover)}.advanced-filters-panel{padding:1rem;background:var(--bg-secondary);border-radius:12px;margin-bottom:1.5rem}.filter-section h4{margin:0 0 .5rem;font-size:1rem}.filter-hint{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-secondary)}.region-toggles{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.region-toggle{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.8125rem;color:var(--text-primary)}.region-toggle:hover{border-color:var(--primary)}.region-toggle input[type=checkbox]:checked+span{font-weight:600;color:var(--primary)}.region-quick-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-region-preset{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.btn-region-preset:hover{background:var(--bg-tertiary);border-color:var(--border-dark)}.view-toggle{display:flex;gap:.25rem;margin-left:auto}@media(max-width:768px){.view-toggle{margin-left:0}}.view-btn{padding:.5rem .75rem;font-size:1rem;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-dark);border-radius:8px;cursor:pointer;transition:all .2s;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;font-weight:500}.view-btn:hover:not(.active){background:var(--bg-hover);border-color:var(--border-dark)}.search-results-container{min-height:400px}.results-count{margin-bottom:1rem;font-size:.9375rem;color:var(--text-secondary)}.debug-section{margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:.875rem}.debug-section summary{cursor:pointer;font-weight:600;padding:.25rem;-webkit-user-select:none;user-select:none;color:var(--text-secondary)}.debug-section summary:hover{color:var(--primary)}.debug-content{margin-top:.75rem;display:flex;gap:.5rem;align-items:center}.debug-content code{flex:1;display:block;padding:.75rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;font-family:Monaco,Menlo,Consolas,monospace;overflow-x:auto;word-break:break-all;color:var(--text-primary)}.btn-copy-url{padding:.5rem .75rem;background:#e60012;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8125rem;white-space:nowrap;transition:background .2s}.btn-copy-url:hover{background:#c4000f}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1.5rem 0;padding:1rem}.pagination-bottom{margin-top:2rem;border-top:1px solid var(--border-color);padding-top:2rem}.btn-pagination{padding:.75rem 1.5rem;background:#e60012;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:all .2s;min-width:120px}.btn-pagination:hover:not(:disabled){background:#c4000f;transform:translateY(-1px);box-shadow:0 4px 12px #e600124d}.btn-pagination:disabled{background:var(--border-dark);cursor:not-allowed;opacity:.5}.page-indicator{font-size:1rem;font-weight:600;color:var(--text-primary);padding:0 .5rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.result-card.clickable{cursor:pointer}.result-card.grid{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--card-shadow);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.result-card.grid:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow)}.result-card.grid .result-cover{position:relative;aspect-ratio:3 / 4;flex-shrink:0;min-height:240px;background:var(--bg-tertiary);overflow:hidden}.result-card.grid .result-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.result-card.grid .result-info{padding:1rem;display:flex;flex-direction:column;flex:1;min-height:0}.result-card.grid .result-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.3}.result-card.grid .result-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;color:var(--text-secondary);margin-bottom:.75rem}.platform-badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:600;color:#fff;border-radius:6px;text-transform:uppercase;letter-spacing:.025em;box-shadow:0 2px 6px #0000001f,inset 0 1px #fff3;position:relative}.platform-badge:before{content:"";position:absolute;inset:-4px;background:linear-gradient(145deg,var(--bg-primary),var(--bg-secondary));border-radius:8px;z-index:-1;box-shadow:0 3px 8px var(--card-shadow)}.platform-badge.switch{background:linear-gradient(135deg,#e60012,#c4000f)}.platform-badge.switch2{background:linear-gradient(135deg,#00b3e6,#09c)}.region-badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:600;background:linear-gradient(135deg,#7e57c2,#5e35b1);color:#fff;border-radius:6px;text-transform:uppercase;letter-spacing:.025em;box-shadow:0 1px 3px #7e57c233}.results-list{display:flex;flex-direction:column;gap:1rem}.result-card.list{display:flex;gap:1.25rem;padding:1rem;background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .2s}.result-card.list:hover{box-shadow:0 4px 16px var(--card-shadow)}.result-card.list .result-cover{position:relative;width:120px;height:160px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--bg-tertiary)}.result-card.list .result-cover img{width:100%;height:100%;object-fit:cover}.result-card.list .result-info{flex:1;display:flex;flex-direction:column}.result-card.list .result-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.result-card.list .result-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.result-overview{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1rem;flex:1}.results-compact{display:flex;flex-direction:column;gap:.5rem}.result-card.compact{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px var(--card-shadow);transition:box-shadow .2s,transform .2s}.result-card.compact:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--card-shadow)}.result-card.compact .result-cover-compact{position:relative;width:40px;height:53px;flex-shrink:0;border-radius:4px;overflow:hidden;background:var(--bg-tertiary)}.result-card.compact .result-cover-compact img{width:100%;height:100%;object-fit:cover}.cover-placeholder-small{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-muted)}.result-card.compact .result-info-compact{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.result-card.compact .result-title-compact{margin:0;font-size:.9375rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-card.compact .result-meta-compact{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.result-card.compact .result-actions-compact{display:flex;gap:.5rem;flex-shrink:0}.added-badge-small{position:absolute;top:.25rem;right:.25rem;width:16px;height:16px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700}.btn-icon-only{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.875rem}.btn-icon-only.btn-add{background:var(--primary);color:#fff;font-weight:700;font-size:1.125rem}.btn-icon-only.btn-add:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.btn-icon-only.btn-remove{background:#e60012;color:#fff}.btn-icon-only.btn-remove:hover:not(:disabled){background:#c4000f;transform:scale(1.05)}.btn-icon-only:disabled{opacity:.6;cursor:not-allowed}.login-hint-small{font-size:1.25rem;color:var(--text-muted)}.platform-badge.small,.region-badge.small{padding:.125rem .375rem;font-size:.6875rem;font-weight:600}.cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-muted)}.added-badge{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;background:#4caf50;color:#fff;border-radius:4px}.result-actions{margin-top:auto}.btn-add-to-collection{width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#e60012,#c4000f);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-add-to-collection:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e600124d}.btn-added{width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:600;color:#fff;background:#4caf50;border:none;border-radius:8px;cursor:default}.btn-remove-from-collection{width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:600;color:#fff;background:#e60012;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-remove-from-collection:hover:not(:disabled){background:#c4000f;transform:translateY(-1px);box-shadow:0 4px 12px #e600124d}.btn-remove-from-collection:disabled{opacity:.6;cursor:not-allowed}.login-hint{font-size:.875rem;color:var(--text-secondary);font-style:italic}.search-loading,.search-error,.search-no-results,.search-prompt,.search-not-configured{text-align:center;padding:4rem 2rem}.search-loading .loading-spinner{width:48px;height:48px;margin:0 auto 1rem;border:4px solid var(--bg-tertiary);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.search-error{background:var(--error-bg);border-radius:12px;color:var(--error)}.no-results-icon,.prompt-icon,.config-icon{font-size:4rem;margin-bottom:1rem}.search-prompt h3,.search-no-results h3,.search-not-configured h2{margin:0 0 .5rem}.search-prompt p,.search-no-results p,.search-not-configured p{color:var(--text-secondary);margin:0}.search-tips{margin-top:2rem;text-align:left;max-width:300px;margin-left:auto;margin-right:auto}.search-tips h4{margin:0 0 .75rem;font-size:.9375rem}.search-tips ul{margin:0;padding-left:1.25rem;color:var(--text-secondary)}.quick-add-modal{background:var(--card-bg);border-radius:16px;width:100%;max-width:400px;overflow:hidden}.quick-add-content{padding:1.5rem}.quick-add-cover{width:80px;height:106px;object-fit:cover;border-radius:8px}.quick-add-details h3{margin:0 0 .5rem;font-size:1.125rem}.quick-add-options .form-group{margin-bottom:1rem}.quick-add-options .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.quick-add-options .form-group select,.quick-add-options .form-group .form-select{width:100%;padding:.75rem;font-size:1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);cursor:pointer;transition:border-color .2s;outline:none}.quick-add-options .form-group select:hover,.quick-add-options .form-group .form-select:hover{border-color:var(--border-dark)}.quick-add-options .form-group select:focus,.quick-add-options .form-group .form-select:focus{border-color:var(--primary)}.quick-add-options .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.quick-add-options .checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer}.quick-add-options .checkbox-label span{font-size:.9375rem}.format-segmented-control{display:flex;border:2px solid var(--border-color);border-radius:8px;overflow:hidden}.format-segmented-control .segment{flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:500;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .2s}.format-segmented-control .segment:first-child{border-right:1px solid var(--border-color)}.format-segmented-control .segment:hover:not(.active){background:var(--bg-hover)}.format-segmented-control .segment.active{background:var(--primary);color:#fff}.quick-add-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.75rem 1.25rem;font-size:1rem;font-weight:500;background:var(--btn-secondary-bg);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;color:var(--text-primary)}.btn-confirm-add{padding:.75rem 1.25rem;font-size:1rem;font-weight:600;color:#fff;background:#e60012;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-confirm-add:hover{background:#c4000f}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:200}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);padding:.25rem}.modal-close:hover{color:var(--primary)}.allowance-warning-modal{background:var(--card-bg);border-radius:12px;max-width:500px;width:100%;box-shadow:0 8px 32px var(--modal-overlay)}.allowance-warning-content{padding:1.5rem}.warning-message{font-size:1.125rem;font-weight:600;color:#e60012;margin:0 0 1rem}.warning-detail{font-size:1rem;color:var(--text-primary);margin:0 0 1rem;line-height:1.6}.warning-detail strong{color:#e60012;font-size:1.25rem}.warning-hint{font-size:.9375rem;color:var(--text-secondary);margin:0;line-height:1.6}.allowance-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.btn-understand{padding:.75rem 2rem;background:#e60012;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.btn-understand:hover{background:#c4000f;transform:translateY(-1px);box-shadow:0 4px 12px #e600124d}.delete-confirmation-modal{background:var(--card-bg);border-radius:16px;width:100%;max-width:480px;box-shadow:0 8px 32px var(--modal-overlay)}.delete-confirmation-modal .modal-content{padding:1.5rem}.delete-confirmation-modal .modal-content p{margin:0 0 .75rem;font-size:1rem;line-height:1.5}.delete-confirmation-modal .warning-text{color:var(--error);font-weight:500;font-size:.9375rem}.delete-confirmation-modal .modal-actions{padding:1.5rem;border-top:1px solid var(--border-color)}.btn-delete{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:#e60012;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-delete:hover{background:#c4000f}.btn-cancel{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background:var(--btn-secondary-bg);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;color:var(--text-primary)}.btn-cancel:hover{background:var(--btn-secondary-hover)}@media(max-width:768px){.search-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-header>div{width:100%}.results-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.result-card.list{flex-direction:column}.result-card.list .result-cover{width:100%;height:200px}.result-card.list .result-info{min-width:100%}.result-card.list .result-actions{width:100%}.search-btn-main{padding:1rem 1.25rem;font-size:1.25rem}}@media(max-width:480px){.results-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.search-header h1{font-size:1.75rem}.search-input-wrapper{box-shadow:0 2px 12px #e6001226}.search-btn-main{padding:.875rem 1rem;font-size:1.125rem}.result-card.grid .result-title{font-size:.875rem}.result-card.grid .result-meta{font-size:.75rem}}.mode-toggle-container{display:flex;justify-content:center;margin-bottom:1.5rem}.mode-toggle{display:inline-flex;background:var(--bg-tertiary);border-radius:12px;padding:4px;gap:4px;box-shadow:inset 0 1px 3px var(--card-shadow)}.mode-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.mode-btn:hover:not(.active){color:var(--primary);background:var(--primary-light)}.mode-btn.active{color:#fff;background:linear-gradient(135deg,#e60012,#b8000e);box-shadow:0 2px 8px #e600124d}.mode-btn svg{font-size:.9rem}.trending-container{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.trending-section{margin-bottom:2.5rem}.trending-section-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.trending-section-title svg{color:var(--primary)}.trending-section-subtitle{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.9375rem}.trending-empty{color:var(--text-muted);font-style:italic;text-align:center;padding:2rem 1rem;background:var(--bg-secondary);border-radius:12px}.result-card.trending{position:relative}.result-card.trending .add-count-badge{position:absolute;bottom:8px;left:8px;background:#000000bf;color:#fff;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;display:flex;align-items:center;gap:.25rem;z-index:1}.result-card.trending .add-count-badge svg{font-size:.625rem}.result-card.trending .in-library-text{font-size:.875rem;color:#28a745;font-weight:600}@media(max-width:768px){.mode-toggle{width:100%}.mode-btn{flex:1;justify-content:center;padding:.625rem 1rem;font-size:.9375rem}.trending-section-title{font-size:1.25rem}}@media(max-width:480px){.mode-btn{padding:.5rem .75rem;font-size:.875rem}.trending-section-title{font-size:1.125rem}.result-card.trending .add-count-badge{font-size:.625rem;padding:.1875rem .375rem}}.friends{max-width:1400px;margin:0 auto;padding:2rem}.friends-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.friends-header h1{font-size:2rem;margin:0;color:var(--text-primary)}.header-actions{display:flex;gap:.75rem;align-items:center}@media(max-width:768px){.header-actions{gap:.5rem;flex-wrap:nowrap}.btn-refresh{padding:.625rem;min-width:44px;flex-shrink:0}.btn-share,.btn-add-friend{padding:.625rem .75rem;font-size:.875rem;white-space:nowrap;flex-shrink:1;min-width:0}}.btn-add-friend{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color, #e60012);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-friend:hover{background:var(--primary-hover, #c00010);transform:translateY(-1px)}.btn-refresh{display:flex;align-items:center;justify-content:center;padding:.75rem;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease}.btn-refresh:hover{background:var(--bg-hover);border-color:var(--primary-color)}.btn-share{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#6b46c1,#553c9a);border:none;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 2px 12px #0000001a}.btn-share:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6b46c159}.btn-share.active{background:linear-gradient(135deg,#553c9a,#44337a)}.friends-tabs-container{margin-bottom:1.5rem}.friends-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:0}.tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.tab-button:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary-color);color:#fff;font-size:.75rem;font-weight:700;border-radius:10px}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.request-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.request-card-header{display:flex;align-items:center;gap:1.25rem;flex:1;min-width:0}.request-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--border-color);flex-shrink:0;transition:all .2s ease}.request-card:hover .request-avatar{border-color:var(--primary-color)}.request-info{min-width:0;flex:1}.request-info h3{margin:0 0 .375rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-meta{margin:0;font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.request-actions{display:flex;gap:.75rem;flex-shrink:0;align-items:center}.btn-view,.btn-accept{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-view{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-view:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.btn-accept{background:var(--primary-color, #e60012);color:#fff;border:2px solid var(--primary-color, #e60012)}.btn-accept:hover:not(:disabled){background:var(--primary-hover, #c00010);border-color:var(--primary-hover, #c00010);transform:translateY(-1px);box-shadow:0 2px 8px #e600124d}.btn-view:disabled,.btn-accept:disabled{opacity:.5;cursor:not-allowed;transform:none}.friends-toolbar{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:.5rem;font-size:1rem;background:var(--bg-secondary);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--primary-color)}.filter-select{padding:.75rem 1rem;border:2px solid #d0d0d0;border-radius:.5rem;font-size:1rem;background:#f8f9fa;color:#1a1a1a;font-weight:500;cursor:pointer;transition:all .2s}.filter-select:hover{border-color:#b0b0b0;background:#fff}.filter-select:focus{border-color:#e60012;box-shadow:0 0 0 3px #e600121a;background:#fff;outline:none}.filter-select option{background:#fff;color:#1a1a1a;padding:.5rem;font-weight:500}.filter-select option:checked{background:var(--primary);color:#fff;font-weight:600}:root[data-theme=dark] .filter-select{background:var(--input-bg);border-color:var(--border-dark);color:var(--text-primary)}:root[data-theme=dark] .filter-select:hover{background:var(--bg-hover);border-color:var(--border-dark)}:root[data-theme=dark] .filter-select:focus{background:var(--bg-hover)}:root[data-theme=dark] .filter-select option{background:var(--input-bg);color:var(--text-primary)}:root[data-theme=dark] .filter-select option:checked{background:var(--primary);color:#fff}.view-toggle{display:flex;gap:.5rem;margin-left:auto}.view-btn{padding:.5rem .75rem;font-size:1rem;background:#f8f9fa;color:#333;border:2px solid #d0d0d0;border-radius:8px;cursor:pointer;transition:all .2s;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;font-weight:500}.view-btn.active{background:#e60012;color:#fff;border-color:#e60012;font-weight:600;box-shadow:0 2px 8px #e6001240}.view-btn:hover:not(.active){background:var(--bg-hover);border-color:var(--border-dark);color:var(--text-primary)}:root[data-theme=dark] .view-btn{background:var(--bg-secondary);border-color:var(--border-dark);color:var(--text-primary)}:root[data-theme=dark] .view-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}:root[data-theme=dark] .view-btn:hover:not(.active){background:var(--bg-hover);border-color:var(--border-dark);color:var(--text-primary)}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.friends-list{display:flex;flex-direction:column;gap:1rem}.friends-compact{display:flex;flex-direction:column;gap:.5rem}.friend-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:.75rem;padding:1.5rem;transition:all .2s ease}.friend-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.friend-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.friend-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--border-color)}.friend-info h3{margin:0 0 .25rem;font-size:1.25rem;color:var(--text-primary)}.friend-info p{margin:0;font-size:.875rem;color:var(--text-secondary)}.follows-you-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background:var(--primary-color, #e60012);color:#fff;font-size:.75rem;font-weight:600;border-radius:.25rem;margin-left:.375rem}.friend-actions{display:flex;gap:.5rem;flex-wrap:wrap}.friend-actions button{flex:1;min-width:fit-content;padding:.5rem 1rem;border:2px solid var(--border-color);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.25rem}.friend-actions button:hover{background:var(--bg-hover);border-color:var(--primary-color)}.friend-actions button.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.friend-actions button.btn-primary:hover{background:var(--primary-hover)}.friend-actions button:disabled{opacity:.5;cursor:not-allowed}.friends-list .friend-card{display:flex;align-items:center;gap:1.5rem}.friends-list .friend-card-header{flex:1;margin-bottom:0}.friends-list .friend-actions{flex-shrink:0}.friends-compact .friend-card{display:flex;align-items:center;gap:1rem;padding:1rem}.friends-compact .friend-avatar{width:48px;height:48px}.friends-compact .friend-info h3{font-size:1rem}.friends-compact .friend-actions{margin-left:auto;flex-shrink:0}.friends-compact .friend-card-header{margin-bottom:0}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.empty-state p{margin-bottom:1.5rem;line-height:1.6}.empty-state .example-url{display:inline-block;padding:.5rem 1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:.5rem;font-family:monospace;font-size:.875rem;margin-top:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.compare-button-wrapper{position:relative;display:inline-block}.compare-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;padding:.5rem 1rem;background:var(--bg-tooltip, rgba(0, 0, 0, .9));color:#fff;font-size:.75rem;white-space:nowrap;border-radius:.25rem;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:1000}.compare-button-wrapper:hover .compare-tooltip{opacity:1}:root[data-theme=dark] .friend-card{background:var(--bg-tertiary)}:root[data-theme=dark] .friend-avatar{border-color:var(--border-color)}@media(max-width:768px){.friends{padding:1rem}.friends-header{flex-direction:column;align-items:stretch}.friends-toolbar{flex-direction:column}.search-input{width:100%;min-width:100%}.filter-select{width:100%}.view-toggle{margin-left:0;justify-content:center}.friends-grid{grid-template-columns:1fr}.friends-list .friend-card,.friends-compact .friend-card{flex-direction:column;align-items:flex-start}.friends-list .friend-actions,.friends-compact .friend-actions,.friend-actions{width:100%}.friend-actions button{flex:1 1 calc(50% - .25rem)}.request-card{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem}.request-card-header{width:100%}.request-actions{width:100%;flex-direction:row}.request-actions button{flex:1}}.game-recommendations{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.recommendations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.recommendations-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.recommendations-icon{color:var(--accent)}.scroll-controls{display:flex;gap:.5rem}.scroll-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s}.scroll-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary)}.scroll-btn:disabled{opacity:.4;cursor:not-allowed}.recommendations-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--text-secondary)}.recommendations-loading .loading-spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.recommendations-error{color:var(--error);text-align:center;padding:1rem}.recommendations-scroll{display:flex;gap:1rem;overflow-x:auto;scroll-behavior:smooth;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.recommendations-scroll::-webkit-scrollbar{height:6px}.recommendations-scroll::-webkit-scrollbar-track{background:transparent}.recommendations-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.recommendation-card{flex-shrink:0;width:120px;text-decoration:none;transition:transform .2s}.recommendation-card:hover{transform:translateY(-4px)}.recommendation-cover{position:relative;width:120px;height:160px;border-radius:8px;overflow:hidden;background:var(--bg-tertiary);margin-bottom:.5rem}.recommendation-cover img{width:100%;height:100%;object-fit:cover}.recommendation-cover .cover-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:2rem}.recommendation-cover .platform-badge{position:absolute;top:.375rem;right:.375rem;font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase}.recommendation-cover .platform-badge.switch{background:var(--tag-switch-bg);color:var(--tag-switch-text)}.recommendation-cover .platform-badge.switch2{background:var(--tag-switch2-bg);color:var(--tag-switch2-text)}.recommendation-info{padding:0 .25rem}.recommendation-title{font-size:.8125rem;font-weight:500;color:var(--text-primary);margin:0 0 .125rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recommendation-year{font-size:.75rem;color:var(--text-muted)}@media(max-width:600px){.recommendations-header h2{font-size:1rem}.recommendation-card{width:100px}.recommendation-cover{width:100px;height:133px}.recommendation-title{font-size:.75rem}}.game-details{max-width:1200px;margin:0 auto;padding:2rem}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.back-button{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.95rem;transition:all .2s}.back-button:hover{background:var(--bg-tertiary);border-color:#e60012}.edit-button{padding:.5rem 1rem;background:#e60012;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.edit-button:hover{background:#c00010;transform:translateY(-1px)}.details-content{display:flex;flex-direction:column;gap:2rem}.details-hero{display:grid;grid-template-columns:300px 1fr;gap:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem}.hero-cover{display:flex;justify-content:center;align-items:flex-start}.hero-cover img{width:100%;max-width:300px;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000004d}.cover-placeholder-large{width:100%;max-width:300px;aspect-ratio:2/3;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:4rem}.hero-info{display:flex;flex-direction:column;gap:1.5rem}.hero-info h1{font-size:2rem;margin:0;color:var(--text-primary)}.meta-tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.platform-tag,.format-tag,.status-tag,.condition-tag,.completed-tag{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.platform-tag.switch{background:#e60012;color:#fff}.platform-tag.switch2{background:#ff6b6b;color:#fff}.format-tag.physical{background:#4caf50;color:#fff}.format-tag.digital{background:#2196f3;color:#fff}.status-tag,.condition-tag{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.completed-checkbox{display:none}.completed-checkbox.checked{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;border-radius:50%;background:#22c55e;color:#fff;font-size:.625rem;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;cursor:default;box-shadow:0 2px 4px #22c55e4d}.completed-checkbox.checked:hover{background:#16a34a;box-shadow:0 3px 6px #22c55e66;transform:translateY(-1px)}.game-overview{margin-top:1rem}.game-overview h2{font-size:1.25rem;margin:0 0 .75rem;color:var(--text-primary)}.game-overview p{line-height:1.6;color:var(--text-secondary);margin:0}.hero-actions{margin-top:1rem;display:flex;gap:.75rem;flex-wrap:wrap}.btn-amazon{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f90,#f70);color:#fff;font-weight:600;font-size:.9375rem;border:none;border-radius:8px;cursor:pointer;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px #ff99004d}.btn-amazon:hover{background:linear-gradient(135deg,#f70,#f50);transform:translateY(-2px);box-shadow:0 4px 12px #f906}.btn-amazon:active{transform:translateY(0)}.details-sections{display:flex;flex-direction:column;gap:1.5rem}.details-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.details-section h2{font-size:1.5rem;margin:0 0 1.5rem;color:var(--text-primary)}.details-section h3{font-size:1.1rem;margin:1.5rem 0 .75rem;color:var(--text-primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1rem;color:var(--text-primary)}.info-value a{color:#e60012;text-decoration:none;transition:color .2s}.info-value a:hover{color:#c00010;text-decoration:underline}.notes-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.notes-section p{line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;margin:0}.youtube-section,.alternates-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.youtube-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:red;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .2s}.youtube-link:hover{background:#c00;transform:translateY(-1px);box-shadow:0 4px 12px #ff00004d}.alternates-section p{line-height:1.6;color:var(--text-secondary);margin:0}.loading-container,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:#e60012;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.error-state h2{margin:0 0 1rem;color:var(--text-primary)}.btn-primary{padding:.75rem 1.5rem;background:#e60012;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.btn-primary:hover{background:#c00010;transform:translateY(-1px)}@media(max-width:768px){.game-details{padding:1rem}.details-hero{grid-template-columns:1fr;padding:1.5rem}.hero-cover{justify-content:center}.hero-cover img,.cover-placeholder-large{max-width:200px}.hero-info h1{font-size:1.5rem}.hero-actions{justify-content:center}.btn-amazon{width:100%;justify-content:center}.info-grid{grid-template-columns:1fr;gap:1rem}.details-section{padding:1rem}}.upsell-banner{background:linear-gradient(135deg,#e60012,#c00010);border-radius:12px;padding:2rem;margin-bottom:1.5rem;margin-top:1rem;color:#fff;box-shadow:0 4px 12px #e6001233;border:1px solid rgba(255,255,255,.1)}.upsell-content{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center}.upsell-icon{font-size:3rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.upsell-text h3{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:#fff}.upsell-text p{font-size:1.1rem;margin:0;color:#fffffff2;line-height:1.5}.upsell-features{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;padding:1rem 0}.feature-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500}.feature-item svg{font-size:1.5rem;opacity:.9}.upsell-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-signup,.btn-login{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .2s;min-width:140px;box-shadow:0 2px 8px #0003}.btn-signup{background:#fff;color:#e60012}.btn-signup:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;text-decoration:none}.btn-login{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5)}.btn-login:hover{background:#ffffff4d;border-color:#fffc;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;text-decoration:none}@media(max-width:768px){.upsell-banner{padding:1.5rem}.upsell-text h3{font-size:1.35rem}.upsell-text p{font-size:.95rem}.upsell-features{gap:1.5rem;font-size:.875rem}.feature-item svg{font-size:1.25rem}.upsell-actions{width:100%}.btn-signup,.btn-login{flex:1;min-width:auto}}.shared-library{max-width:1400px;margin:0 auto;padding:0 1rem 2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-state h2{color:var(--text-primary);margin-bottom:.5rem}.error-state p{color:var(--text-secondary);margin-bottom:1.5rem}.btn-home{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-home:hover{background:var(--accent-hover);transform:translateY(-2px)}.shared-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;margin-bottom:1.5rem;margin-top:1rem;border:1px solid var(--border);flex-wrap:wrap;gap:1rem}.shared-user-info{display:flex;align-items:center;gap:1rem}.shared-avatar{width:64px;height:64px;border-radius:50%;border:3px solid var(--accent)}.shared-user-info h1{font-size:1.5rem;color:var(--text-primary);margin:0}.shared-stats{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}.shared-actions{display:flex;gap:.75rem}.btn-compare{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-color, #e60012);color:#fff;padding:.75rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0000001a}.btn-compare:hover{background:var(--primary-hover, #c00010);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-add-friend,.btn-friend-status,.btn-friend-pending,.btn-accept-request{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;transition:all .2s;text-decoration:none}.btn-add-friend{background:var(--primary-color, #e60012);color:#fff;border:none;cursor:pointer}.btn-add-friend:hover{background:var(--primary-hover, #c00010);transform:translateY(-2px)}.btn-friend-status{background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border)}.btn-friend-status:hover{background:var(--bg-hover)}.btn-friend-pending{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.4);cursor:default}.btn-accept-request{background:#22c55e;color:#fff;border:none;cursor:pointer}.btn-accept-request:hover:not(:disabled){background:#16a34a;transform:translateY(-2px)}.btn-accept-request:disabled{opacity:.7;cursor:not-allowed;transform:none}.shared-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.shared-toolbar .search-input{flex:1;min-width:200px;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem}.shared-toolbar .search-input:focus{outline:none;border-color:var(--accent)}.shared-toolbar .filter-select{padding:.75rem 1rem;background:var(--input-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.shared-toolbar .filter-select:hover{border-color:var(--text-secondary);background:var(--bg-primary)}.shared-toolbar .filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e600121a;background:var(--bg-primary);outline:none}.shared-toolbar .filter-select option{background:var(--input-bg);color:var(--text-primary);padding:.5rem;font-weight:500}.shared-toolbar .filter-select option:checked{background:var(--primary);color:#fff;font-weight:600}.view-toggle{display:flex;border-radius:8px;overflow:hidden;gap:.25rem}.view-btn{background:var(--btn-secondary-bg);border:2px solid var(--border-color);padding:.5rem .75rem;color:var(--text-primary);cursor:pointer;transition:all .2s;font-size:1rem;font-weight:500;border-radius:8px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}.view-btn:hover:not(.active){background:var(--btn-secondary-hover);border-color:var(--text-secondary);color:var(--text-primary)}.view-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;box-shadow:0 2px 8px #e6001240}.results-info{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:var(--text-primary);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}.game-card.grid{background:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:all .2s}.game-card.grid:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 24px #0003}.game-card.grid .game-cover{position:relative;aspect-ratio:3/4;flex-shrink:0;min-height:240px;overflow:hidden;background:var(--bg-tertiary)}.game-card.grid .game-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.game-card.grid .cover-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:3rem;color:var(--text-secondary)}.in-collection-badge{position:absolute;bottom:.4rem;left:.4rem;background:#3b82f6;color:#fff;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;box-shadow:0 2px 4px #0003;z-index:10}.game-card.grid .game-info{padding:1rem}.game-actions{margin-top:.75rem}.btn-add-to-collection{width:100%;padding:.5rem .75rem;background:var(--primary-color, #e60012);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.25rem}.btn-add-to-collection:hover:not(:disabled){background:var(--primary-hover, #c00010);transform:translateY(-1px)}.btn-add-to-collection:disabled{opacity:.6;cursor:not-allowed}.in-collection-text{width:100%;padding:.5rem .75rem;background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3);border-radius:6px;font-size:.8rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.25rem}.game-card.grid .game-title{font-size:.9rem;color:var(--text-primary);margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-meta{display:flex;flex-wrap:wrap;gap:.5rem}.platform-tag,.format-tag{display:inline-block;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;font-weight:500;text-transform:uppercase}.platform-tag.switch{background:#e6001233;color:#e60012}.platform-tag.switch2{background:#0f9d5833;color:#0f9d58}.format-tag.physical{background:#4285f433;color:#4285f4}.format-tag.digital{background:#9c27b033;color:#ab47bc}.games-list{display:flex;flex-direction:column;gap:1rem}.game-card.list{display:flex;gap:1.25rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);transition:all .2s}.game-card.list:hover{border-color:var(--accent);background:var(--bg-tertiary);transform:translateY(-2px)}.game-card.list .list-cover{position:relative;width:100px;height:133px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--bg-tertiary)}.game-card.list .list-cover img{width:100%;height:100%;object-fit:cover}.game-card.list .list-info{flex:1;display:flex;flex-direction:column;min-width:0}.game-card.list .game-title{margin:0 0 .5rem;font-size:1.125rem}.game-card.list .list-details{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary);align-items:center}.date-info{display:flex;align-items:center;gap:.25rem}.games-compact{display:flex;flex-direction:column;gap:.5rem}.game-card.compact{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border);transition:all .2s}.game-card.compact:hover{border-color:var(--accent);background:var(--bg-tertiary);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.game-card.compact .compact-cover{position:relative;width:40px;height:53px;flex-shrink:0;border-radius:4px;overflow:hidden;background:var(--bg-tertiary)}.game-card.compact .compact-cover img{width:100%;height:100%;object-fit:cover}.game-card.compact .cover-placeholder-small{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-secondary)}.game-card.compact .compact-info{flex:1;min-width:0}.game-card.compact .compact-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-card.compact .compact-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.game-card.compact .compact-actions{display:flex;gap:.5rem;flex-shrink:0}.platform-tag.small,.format-tag.small{padding:.125rem .375rem;font-size:.6875rem}.completed-tag{font-size:.6875rem;color:#22c55e;font-weight:600;display:flex;align-items:center;gap:.25rem}.in-collection-indicator{font-size:.6875rem;color:#3b82f6;font-weight:600;display:flex;align-items:center;gap:.25rem}.btn-add-compact{background:var(--primary-color, #e60012);color:#fff;border:none;border-radius:6px;padding:.5rem .75rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:.875rem}.btn-add-compact:hover:not(:disabled){background:var(--primary-hover, #c00010);transform:translateY(-1px)}.btn-add-compact:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.completed-tag .completed-text{display:none}.in-collection-indicator{font-size:.625rem}}@media(max-width:768px){.shared-header{flex-direction:column;align-items:flex-start}.shared-user-info h1{font-size:1.25rem}.shared-stats{font-size:.75rem}.shared-avatar{width:48px;height:48px}.shared-actions{width:100%}.btn-compare{flex:1;justify-content:center}.shared-toolbar{flex-direction:column}.shared-toolbar .search-input{width:100%}.games-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.game-card.list .game-info{flex-direction:column;align-items:flex-start;gap:.5rem}}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--bg-secondary);border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border);box-shadow:0 20px 50px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.25rem}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s}.modal-content{padding:1.5rem}.game-preview{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.game-preview-cover{width:100px;height:133px;object-fit:cover;border-radius:4px;box-shadow:0 4px 8px #0003}.game-preview h3{margin:0;color:var(--text-primary);text-align:center;font-size:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.875rem}.form-select{width:100%;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:border-color .2s}.form-select:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-primary,.btn-secondary{flex:1;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--primary-color, #e60012);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover, #c00010);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.toolbar-mobile-header{display:none;margin-bottom:1rem}@media(max-width:768px){.toolbar-mobile-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}}.btn-toggle-filters{flex:1;display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;color:var(--text-primary);cursor:pointer;transition:all .2s;min-height:48px}.btn-toggle-filters:hover{border-color:var(--accent)}.btn-toggle-filters:active{transform:scale(.98)}.toggle-icon{font-size:.875rem;color:var(--accent);font-weight:700}.view-toggle-mobile{display:flex;gap:.25rem}.view-toggle-desktop{display:flex;gap:.25rem;margin-left:auto}@media(max-width:768px){.view-toggle-desktop{display:none}.view-toggle-mobile{display:flex}}@media(min-width:769px){.view-toggle-mobile{display:none}}@media(max-width:768px){.shared-toolbar{flex-direction:column;align-items:stretch;max-height:0;opacity:0;padding:0;margin-bottom:0;overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out,padding .3s ease-out}.shared-toolbar.toolbar-expanded{max-height:2000px;opacity:1;padding:1rem;margin-bottom:1.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.shared-toolbar .search-input,.shared-toolbar .filter-select{min-width:100%;min-height:44px}}@media(max-width:768px){.shared-header{flex-direction:column;align-items:flex-start}.shared-actions{width:100%;flex-wrap:wrap}.shared-actions .btn-compare,.shared-actions .btn-add-friend,.shared-actions .btn-friend-status,.shared-actions .btn-friend-pending,.shared-actions .btn-accept-request{flex:1;justify-content:center}.games-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.game-card.list{flex-direction:row;gap:1rem}.game-card.list .list-cover{width:80px;height:106px}.game-card.list .list-details{flex-direction:column;gap:.5rem}.view-btn{min-width:48px;min-height:48px;padding:.5rem;display:flex;align-items:center;justify-content:center}}@media(max-width:480px){.games-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.shared-user-info h1{font-size:1.25rem}.shared-stats{font-size:.75rem}.game-card.list{flex-direction:column}.game-card.list .list-cover{width:100%;height:auto;aspect-ratio:3 / 4}.btn-compare,.btn-add-friend,.btn-friend-status,.btn-friend-pending,.btn-accept-request{font-size:.9375rem;padding:.625rem 1rem}}.compare-page{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.compare-page .loading-container,.compare-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center}.compare-page .loading-spinner{width:48px;height:48px;border:4px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.compare-page .error-icon{font-size:4rem;margin-bottom:1rem}.compare-page .error-state h2{color:var(--text-primary);margin-bottom:.5rem}.compare-page .error-state p{color:var(--text-secondary);margin-bottom:1.5rem}.compare-page .btn-home{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.compare-page .btn-home:hover{background:var(--accent-hover)}.compare-header{text-align:center;padding:1.5rem 0;margin-top:1rem}.compare-header h1{font-size:1.75rem;color:var(--text-primary);margin-bottom:1.5rem}.compare-users{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.user-card{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);padding:1rem 1.5rem;border-radius:12px;border:1px solid var(--border);min-width:200px}.user-avatar{width:48px;height:48px;border-radius:50%;border:2px solid var(--accent)}.user-card h3{font-size:1rem;color:var(--text-primary);margin:0}.user-card span{font-size:.875rem;color:var(--text-secondary)}.vs-badge{font-size:1.25rem;font-weight:700;color:var(--accent);background:var(--bg-secondary);padding:.5rem 1rem;border-radius:8px;border:2px solid var(--accent)}.compare-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.5rem 0}.summary-card{display:flex;flex-direction:column;align-items:center;padding:1.25rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border);text-align:center;font-family:inherit;font-size:inherit;width:100%}button.summary-card{cursor:pointer;transition:all .2s ease}button.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}button.summary-card:active{transform:translateY(0)}button.summary-card:focus{outline:2px solid var(--accent);outline-offset:2px}button.summary-card.active{box-shadow:0 0 0 2px var(--accent)}.summary-card.common{border-color:#22c55e;background:#22c55e1a}button.summary-card.common:hover{background:#22c55e26;border-color:#22c55e}.summary-card.unique{border-color:var(--accent);background:#e600121a}button.summary-card.unique:hover{background:#e6001226;border-color:var(--accent)}.summary-card.match{border-color:#3b82f6;background:#3b82f61a}.summary-card.stats{border-color:#f59e0b;background:#f59e0b1a}button.summary-card.stats:hover{background:#f59e0b26;border-color:#f59e0b}.summary-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.summary-label{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.compare-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.compare-toolbar .search-input{flex:1;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem}.compare-toolbar .search-input:focus{outline:none;border-color:var(--accent)}.results-count{font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.compare-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.compare-game-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:all .2s}.compare-game-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 24px #0003}.compare-game-cover{position:relative;aspect-ratio:3/4;background:var(--bg-tertiary)}.compare-game-cover img{width:100%;height:100%;object-fit:cover}.compare-game-cover .cover-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:2.5rem;color:var(--text-secondary)}.compare-game-info{padding:.75rem}.compare-game-info h3{font-size:.85rem;color:var(--text-primary);margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-tags{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.game-tags .platform-tag,.game-tags .format-tag{font-size:.65rem;padding:.2rem .4rem;border-radius:4px;font-weight:500;text-transform:uppercase}.game-tags .platform-tag.switch{background:#e6001233;color:#e60012}.game-tags .platform-tag.switch2{background:#0f9d5833;color:#0f9d58}.game-tags .format-tag.physical{background:#4285f433;color:#4285f4}.game-tags .format-tag.digital{background:#9c27b033;color:#ab47bc}.stats-comparison{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:12px;overflow:hidden}.stats-table th,.stats-table td{padding:1rem 1.5rem;text-align:center;border-bottom:1px solid var(--border)}.stats-table th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;font-size:.9rem}.stats-table th:first-child{text-align:left}.stats-table td{color:var(--text-secondary);font-size:1rem}.stats-table td:first-child{text-align:left;font-weight:500;color:var(--text-primary)}.stats-table tr:last-child td{border-bottom:none}.stats-table td.winner{color:#22c55e;font-weight:600}.compare-page .empty-state{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;text-align:center}.compare-page .empty-icon{font-size:4rem;margin-bottom:1rem}.compare-page .empty-state h2{color:var(--text-primary);margin-bottom:.5rem}.compare-page .empty-state p{color:var(--text-secondary)}@media(max-width:768px){.compare-header h1{font-size:1.5rem}.compare-users{flex-direction:column;gap:1rem}.user-card{width:100%;min-width:unset}.vs-badge{display:none}.compare-summary{grid-template-columns:repeat(2,1fr)}.summary-value{font-size:1.5rem}.compare-toolbar{flex-direction:column;align-items:stretch}.compare-games-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.stats-table th,.stats-table td{padding:.75rem;font-size:.875rem}}.settings-container{min-height:calc(100vh - 60px);background:var(--bg-primary);padding:2rem 1rem}.settings-content{max-width:800px;margin:0 auto}.settings-content h1{font-size:2rem;margin-bottom:2rem;color:var(--text-primary)}.settings-section{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.settings-section h2{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.setting-item{margin-bottom:1.5rem}.setting-item:last-child{margin-bottom:0}.setting-item label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.setting-value{color:var(--text-secondary);margin:0}.setting-description{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.input:focus{outline:none;border-color:#e60012}.input-group{display:flex;gap:.5rem}.input-group .input{flex:1}.checkbox{width:20px;height:20px;cursor:pointer}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:.5rem}.theme-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s;font-weight:500}.theme-option:hover{border-color:#e60012;transform:translateY(-2px)}.theme-option.active{border-color:#e60012;background:#e600121a}.theme-icon{font-size:2rem}.share-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.share-toggle-row label{margin:0;flex:1}.btn-toggle{padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;border:none;border-radius:20px;cursor:pointer;transition:all .2s;min-width:60px}.btn-toggle.off{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-toggle.on{background:var(--success);color:#fff}.btn-toggle:hover:not(:disabled){transform:scale(1.05)}.btn-toggle:disabled{opacity:.6;cursor:not-allowed}.btn-toggle.small{padding:.375rem .75rem;font-size:.75rem;min-width:50px}.share-link-row{display:flex;gap:.5rem;margin-bottom:1rem}.share-url-input{flex:1;padding:.75rem 1rem;font-size:.875rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary)}.privacy-settings{margin-top:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px}.privacy-settings h5{margin:0 0 .5rem;font-size:.8125rem;color:var(--text-secondary);font-weight:600}.privacy-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.privacy-toggle-row span{font-size:.875rem;color:var(--text-secondary)}.privacy-label-group{display:flex;flex-direction:column;gap:.25rem;flex:1}.privacy-label-group span{font-size:.875rem;color:var(--text-secondary)}.privacy-hint{font-size:.75rem!important;color:var(--text-muted)!important;font-weight:400}.share-actions-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.btn-regenerate{padding:.625rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s;background:var(--btn-secondary-bg);color:var(--text-primary)}.btn-regenerate:hover:not(:disabled){background:var(--btn-secondary-hover)}.btn-regenerate:disabled{opacity:.6;cursor:not-allowed}.btn-copy{padding:.75rem 1rem;font-size:.875rem;font-weight:600;background:#e60012;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-copy:hover{background:#c4000f}.share-link-container{display:flex;gap:.5rem;margin-top:1rem}.share-link-input{flex:1;font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;border:none;transition:all .2s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:#e60012;color:#fff}.btn-primary:hover:not(:disabled){background:#c4000f}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary)}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--bg-secondary);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 24px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);transition:color .2s;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover,.modal-form{color:var(--text-primary)}@media(max-width:640px){.settings-content h1{font-size:1.5rem}.settings-section{padding:1rem}.input-group{flex-direction:column}.theme-options{grid-template-columns:1fr}.share-link-container{flex-direction:column}}.admin-dashboard{min-height:calc(100vh - 60px);padding-bottom:80px}.admin-content{max-width:1400px;margin:0 auto;padding:2rem 1rem}.admin-content h1{margin-bottom:.5rem;color:var(--text-primary)}.dashboard-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.loading-state,.error-state{text-align:center;padding:3rem;color:var(--text-secondary)}.error-state{color:var(--error);background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:2rem;color:var(--primary);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:8px;flex-shrink:0}.stat-content{flex:1}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.dashboard-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.growth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.growth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.growth-card h3{margin-top:0;margin-bottom:1rem;color:var(--text-primary);font-size:1.125rem;font-weight:600}.growth-stats{display:flex;flex-direction:column;gap:1rem}.growth-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--card-bg);border-radius:6px;border:1px solid var(--border-color)}.growth-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.growth-value{color:var(--text-primary);font-size:1.125rem;font-weight:700;display:flex;flex-direction:column;align-items:flex-end}.growth-percent{font-size:.75rem;color:var(--text-muted);font-weight:400;margin-top:.25rem}.dashboard-section h2{margin-top:0;margin-bottom:1rem;color:var(--text-primary);font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.dashboard-section h2 svg{color:var(--primary)}.data-table{overflow-x:auto}.data-table table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:.75rem;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600;font-size:.875rem}.data-table td{padding:.75rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.signup-chart{display:flex;flex-direction:column;gap:2rem}.chart-container{display:flex;align-items:flex-end;justify-content:space-between;gap:.25rem;min-height:300px;padding:1rem .5rem 0;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.chart-bar-label{font-size:.75rem;font-weight:600;color:var(--text-primary);min-height:1rem}.chart-bar{width:100%;min-height:4px;background:linear-gradient(to top,var(--primary),var(--primary-hover));border-radius:4px 4px 0 0;position:relative;transition:all .3s ease;display:flex;align-items:flex-start;justify-content:center;padding-top:.25rem}.chart-bar:hover{opacity:.8;transform:translateY(-2px)}.chart-bar-count{display:none}.chart-date-label{font-size:.625rem;color:var(--text-muted);text-align:center;writing-mode:horizontal-tb;transform:rotate(-45deg);transform-origin:center;white-space:nowrap;margin-top:.5rem}.chart-summary{display:flex;flex-wrap:wrap;gap:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color);justify-content:center}.summary-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.summary-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:var(--primary)}@media(max-width:768px){.admin-content{padding:1rem}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.dashboard-section{padding:1rem}.data-table th,.data-table td{padding:.5rem;font-size:.875rem}.chart-container{min-height:200px;padding:.5rem .25rem 0}.chart-date-label{font-size:.5rem;margin-top:.25rem}.chart-bar-label{font-size:.625rem}.chart-summary{gap:1rem;padding:1rem}.summary-value{font-size:1.25rem}}@media(prefers-color-scheme:dark){.stat-card:hover{box-shadow:0 4px 12px #0000004d}}.backend-stats-section{background:linear-gradient(135deg,var(--card-bg),var(--bg-secondary))}.section-subtitle{color:var(--text-muted);font-size:.875rem;margin-bottom:1.5rem;font-style:italic}.sync-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:1.5rem}.sync-info-item{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.875rem}.sync-icon{color:var(--primary);animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.backend-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.backend-stat-card{background:var(--bg-primary);border:2px solid var(--border-color)}.backend-stat-card:hover{border-color:var(--primary)}.stat-meta{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.info-message{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:var(--info-bg);border:1px solid var(--info-border);border-radius:8px;color:var(--text-secondary);text-align:center}.info-message svg{font-size:2rem;color:var(--primary)}.info-message code{background:var(--bg-secondary);padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem}.release-calendar-page{padding:1rem;max-width:1200px;margin:0 auto}.offline-banner{background:var(--warning);color:#fff;padding:1rem;text-align:center;margin-bottom:1rem;border-radius:8px;font-weight:500}.calendar-header{margin-bottom:1.5rem}.calendar-header h1{font-size:1.75rem;color:var(--text-primary);margin-bottom:.25rem}.calendar-header h1 svg{color:var(--primary);margin-right:.5rem}.calendar-header p{color:var(--text-secondary);font-size:.9375rem}.calendar-filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.filter-item{display:flex;flex-direction:column;gap:.25rem;min-width:150px}.filter-item label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.filter-item select{padding:.5rem;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-size:.9375rem;cursor:pointer}.calendar-content{min-height:300px}.calendar-loading,.calendar-error,.calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.calendar-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.calendar-error{color:var(--error)}.calendar-empty .empty-icon{font-size:3rem;color:var(--text-muted);margin-bottom:1rem}.results-summary{color:var(--text-secondary);font-size:.9375rem;margin-bottom:1rem}.month-groups{display:flex;flex-direction:column;gap:1.5rem}.month-group{background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color);overflow:hidden}.month-header{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;background:var(--bg-tertiary);border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background-color .2s}.month-header:hover{background:var(--bg-hover)}.month-header h2{font-size:1.25rem;color:var(--text-primary);margin:0;flex:1}.month-count{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-secondary);border-radius:999px}.collapse-icon{color:var(--text-secondary);font-size:.875rem}.month-games{display:flex;flex-direction:column}.upcoming-game-card{display:flex;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);transition:background-color .2s,transform .2s}.upcoming-game-card.clickable{cursor:pointer}.upcoming-game-card.clickable:hover{transform:translate(4px)}.upcoming-game-card:last-child{border-bottom:none}.upcoming-game-card:hover{background:var(--bg-hover)}.game-cover{flex-shrink:0;position:relative;width:60px;height:80px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.game-cover img{width:100%;height:100%;object-fit:cover}.game-cover .cover-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:1.5rem}.game-cover .in-library-badge{position:absolute;bottom:0;left:0;right:0;background:var(--success);color:#fff;font-size:.625rem;padding:.125rem;text-align:center}.game-info{flex:1;min-width:0}.game-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;line-height:1.3}.game-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.platform-badge{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:4px;text-transform:uppercase}.platform-badge.switch{background:var(--tag-switch-bg);color:var(--tag-switch-text)}.platform-badge.switch2{background:var(--tag-switch2-bg);color:var(--tag-switch2-text)}.region-badge{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;background:var(--info-bg);color:var(--info);border:1px solid var(--info)}.region-badge svg{margin-right:.25rem;font-size:.675rem}.release-date{font-size:.875rem;color:var(--text-secondary)}.release-date svg{margin-right:.25rem}.game-actions{display:flex;gap:.5rem}.btn-add-wishlist{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background:var(--primary);color:#fff;transition:background-color .2s}.btn-add-wishlist:hover:not(:disabled){background:var(--primary-hover)}.btn-add-wishlist:disabled{opacity:.7;cursor:not-allowed}.btn-view-library{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none;transition:background-color .2s}.btn-view-library:hover{background:var(--bg-hover)}.login-hint{font-size:.875rem;color:var(--text-muted)}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.btn-pagination{padding:.5rem 1rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background-color .2s}.btn-pagination:hover:not(:disabled){background:var(--bg-hover)}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.page-indicator{font-size:.875rem;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.quick-add-modal{background:var(--bg-primary);border-radius:12px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.125rem;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.25rem}.modal-close:hover{color:var(--text-primary)}.quick-add-content{padding:1.25rem}.quick-add-game-info{display:flex;gap:1rem;margin-bottom:1.5rem}.quick-add-cover{width:60px;height:80px;object-fit:cover;border-radius:4px}.quick-add-details h3{font-size:1rem;color:var(--text-primary);margin:0 0 .5rem}.quick-add-details .release-date{font-size:.875rem;color:var(--text-secondary)}.quick-add-options{display:flex;flex-direction:column;gap:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.quick-add-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-cancel{padding:.625rem 1.25rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background-color .2s}.btn-cancel:hover{background:var(--bg-hover)}.btn-confirm-add{padding:.625rem 1.25rem;border:none;border-radius:6px;background:var(--primary);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-confirm-add:hover{background:var(--primary-hover)}@media(max-width:600px){.release-calendar-page{padding:.75rem}.calendar-header h1{font-size:1.5rem}.calendar-filters{flex-direction:column}.filter-item{min-width:auto;width:100%}.upcoming-game-card{padding:.75rem 1rem}.game-cover{width:50px;height:67px}.game-title{font-size:.9375rem}.game-meta{font-size:.8125rem}.btn-add-wishlist,.btn-view-library{font-size:.8125rem;padding:.375rem .75rem}}.not-found{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center}.not-found-content{max-width:400px;padding:2rem}.not-found-icon{font-size:5rem;margin-bottom:1rem}.not-found h1{font-size:6rem;font-weight:800;margin:0;line-height:1;color:#e60012}.not-found h2{font-size:1.5rem;margin:.5rem 0 1rem}.not-found p{color:var(--text-secondary);margin:0 0 2rem}.back-home{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:#e60012;border-radius:10px;text-decoration:none;transition:background-color .2s}.back-home:hover{background:#c4000f}
