@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=IBM+Plex+Sans:wght@300;400;500&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#0d0d0f;--bg-2:#111114;--bg-3:#16161a;--surface:#1c1c21;--surface-2:#222228;--border:#2a2a32;--border-2:#333340;--text:#e8e8f0;--text-muted:#889;--text-faint:#44444f;--blue:#007acc;--blue-bright:#1a8fe0;--blue-dim:#004d80;--blue-glow:#007acc26;--green:#4ec94e;--red:#e05555;--orange:#e09a3a;--yellow:#d4c04a;--radius-sm:3px;--radius-md:6px;--radius-lg:12px;--font-display:"Rajdhani", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;font-family:var(--font-body)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--blue-dim)}.app{min-height:100vh;display:flex}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);z-index:50;flex-direction:column;width:220px;min-height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);padding:24px 20px 20px}.sidebar-logo h1{font-family:var(--font-display);color:var(--blue);letter-spacing:.06em;text-transform:uppercase;font-size:20px;font-weight:700}.sidebar-logo span{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:10px;display:block}.sidebar-nav{flex:1;padding:16px 0}.nav-item{color:var(--text-muted);transition:all var(--transition);cursor:pointer;letter-spacing:.02em;border-left:2px solid #0000;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:500;display:flex}.nav-item:hover{color:var(--text);background:var(--surface)}.nav-item.active{color:var(--blue);border-left-color:var(--blue);background:var(--blue-glow)}.nav-item .nav-icon{text-align:center;width:18px;font-size:15px}.sidebar-bottom{border-top:1px solid var(--border);padding:16px 20px}.sync-btn{background:var(--blue-dim);border:1px solid var(--blue);width:100%;color:var(--blue-bright);border-radius:var(--radius-sm);font-size:12px;font-weight:500;font-family:var(--font-mono);letter-spacing:.04em;transition:all var(--transition);padding:8px 12px}.sync-btn:hover{background:var(--blue);color:#fff}.sync-btn:disabled{opacity:.4;cursor:not-allowed}.main{flex:1;min-height:100vh;margin-left:220px}.hero-slideshow{background:var(--bg-3);height:420px;position:relative;overflow:hidden}.slide{opacity:0;transition:opacity 1s;position:absolute;inset:0}.slide.active{opacity:1}.slide-bg{object-fit:cover;filter:blur(24px)brightness(.3)saturate(1.4);width:100%;height:100%;transform:scale(1.08)}.slide-cover{object-fit:cover;border-radius:var(--radius-md);width:120px;height:180px;box-shadow:0 8px 40px #000c, 0 0 0 1px var(--border-2);position:absolute;bottom:48px;left:48px}.slide-info{position:absolute;bottom:52px;left:188px}.slide-title{font-family:var(--font-display);color:#fff;letter-spacing:.02em;text-shadow:0 2px 12px #000c;margin-bottom:8px;font-size:32px;font-weight:700;line-height:1.1}.slide-meta{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;gap:16px;font-size:11px;display:flex}.slide-status{color:var(--blue-bright)}.slide-dots{gap:6px;display:flex;position:absolute;bottom:24px;right:24px}.slide-dot{background:var(--border-2);width:6px;height:6px;transition:background var(--transition);cursor:pointer;border:none;border-radius:50%;padding:0}.slide-dot.active{background:var(--blue)}.stats-bar{border-bottom:1px solid var(--border);background:var(--bg-2);grid-template-columns:repeat(4,1fr);display:grid}.stat-cell{border-right:1px solid var(--border);padding:20px 24px}.stat-cell:last-child{border-right:none}.stat-value{font-family:var(--font-display);color:var(--blue);letter-spacing:.02em;margin-bottom:4px;font-size:28px;font-weight:700;line-height:1}.stat-label{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.section{padding:32px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{font-family:var(--font-display);color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:16px;font-weight:600}.section-title:before{content:"//";color:var(--blue);font-family:var(--font-mono);margin-right:8px}.filter-bar{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);transition:all var(--transition);letter-spacing:.04em;padding:5px 12px;font-size:11px}.filter-chip:hover{border-color:var(--blue-dim);color:var(--text)}.filter-chip.active{background:var(--blue-dim);border-color:var(--blue);color:var(--blue-bright)}.games-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.game-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);position:relative;overflow:hidden}.game-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 24px #007acc26}.game-card-cover{aspect-ratio:2/3;object-fit:cover;background:var(--surface-2);width:100%;display:block}.game-card-cover-placeholder{aspect-ratio:2/3;background:var(--surface-2);width:100%;color:var(--text-faint);justify-content:center;align-items:center;font-size:32px;display:flex}.game-card-body{padding:10px 10px 12px}.game-card-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:12px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.game-card-meta{justify-content:space-between;align-items:center;gap:4px;display:flex}.status-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);padding:2px 6px;font-size:9px}.status-Playing{color:var(--blue-bright);background:#007acc33}.status-Completed{color:var(--green);background:#4ec94e26}.status-Backlog{color:var(--text-faint);background:#44444f66}.status-Dropped{color:var(--red);background:#e0555526}.status-OnHold{color:var(--yellow);background:#d4c04a26}.game-card-hours{font-family:var(--font-mono);color:var(--text-faint);font-size:10px}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-3);border:1px solid var(--border-2);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);font-size:18px;font-weight:600}.modal-close{color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;padding:4px 8px;font-size:20px}.modal-close:hover{color:var(--text)}.modal-body{padding:24px}.form-group{margin-bottom:16px}.form-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;display:block}.form-input,.form-select,.form-textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-body);transition:border-color var(--transition);outline:none;padding:9px 12px;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue)}.form-textarea{resize:vertical;min-height:80px}.form-select{appearance:none}.search-results{background:var(--surface-2);border:1px solid var(--border-2);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:none;max-height:260px;overflow-y:auto}.search-result-item{cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--surface)}.search-result-cover{object-fit:cover;background:var(--surface);border-radius:2px;flex-shrink:0;width:32px;height:42px}.search-result-info{flex:1;min-width:0}.search-result-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.search-result-meta{font-family:var(--font-mono);color:var(--text-faint);margin-top:2px;font-size:10px}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-primary:hover{background:var(--blue-bright)}.btn-ghost{color:var(--text-muted);border-color:var(--border);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--border-2)}.btn-danger{color:var(--red);background:0 0;border-color:#e055554d}.btn-danger:hover{background:#e055551a}.btn-row{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.loading{height:200px;font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.06em;justify-content:center;align-items:center;font-size:13px;display:flex}.empty-state{text-align:center;color:var(--text-faint);padding:60px 24px}.empty-state p{font-family:var(--font-mono);margin-bottom:16px;font-size:13px}.toast{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-md);color:var(--text);z-index:999;padding:12px 18px;font-size:13px;animation:.2s slideUp;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #0006}.toast.success{border-left:3px solid var(--green)}.toast.error{border-left:3px solid var(--red)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.sidebar{transform:translate(-100%)}.main{margin-left:0}.stats-bar{grid-template-columns:repeat(2,1fr)}.games-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.quick-status-select{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--blue-dim);border-radius:var(--radius-sm);color:var(--blue-bright);cursor:pointer;outline:none;width:100%;padding:3px 6px;font-size:10px}.quick-status-select:focus{border-color:var(--blue)}.mobile-topbar{background:var(--bg-2);border-bottom:1px solid var(--border);z-index:80;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.mobile-topbar-logo{font-family:var(--font-display);color:var(--blue);letter-spacing:.06em;text-transform:uppercase;font-size:18px;font-weight:700}.hamburger{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:6px;font-size:20px;line-height:1}.hamburger:hover{color:var(--text)}.sidebar-overlay{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:none;position:fixed;inset:0}@media (width<=768px){.mobile-topbar{display:flex}.main{margin-left:0;padding-top:52px}.sidebar{z-index:100;transition:transform .25s;top:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.visible{display:block}.stats-bar{grid-template-columns:repeat(2,1fr)}.stat-cell:nth-child(2){border-right:none}.stat-cell:nth-child(3),.stat-cell:nth-child(4){border-top:1px solid var(--border)}.games-grid{grid-template-columns:repeat(2,1fr);gap:10px}.hero-slideshow{height:280px}.slide-cover{width:80px;height:120px;bottom:16px;left:16px}.slide-info{bottom:20px;left:112px}.slide-title{font-size:20px}.section{padding:20px 16px}.section-header{flex-wrap:wrap;gap:10px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:92vh}.filter-bar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.filter-chip{flex-shrink:0}.toast{bottom:16px;left:12px;right:12px}}@media (width<=400px){.games-grid{grid-template-columns:repeat(2,1fr);gap:8px}.game-card-title{font-size:11px}}
