@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#08090c;--bg-secondary:#0f1115;--bg-card:#14161cb3;--bg-card-hover:#1c1f27d9;--border-color:#ffffff12;--border-color-hover:#a855f74d;--color-primary:#a855f7;--color-primary-glow:#a855f726;--color-secondary:#06b6d4;--color-secondary-glow:#06b6d426;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#f43f5e;--color-info:#3b82f6;--text-main:#f4f4f7;--text-muted:#94a3b8;--text-dark:#64748b;--mobile-nav-height:calc(76px + env(safe-area-inset-bottom,0px));--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--shadow-glow:0 8px 32px 0 #00000080;--glass-blur:blur(12px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);background-image:radial-gradient(circle at 10% 20%,#a855f714 0%,#0000 40%),radial-gradient(circle at 90% 80%,#06b6d40f 0%,#0000 40%);background-attachment:fixed;min-height:100svh;font-family:Outfit,sans-serif;overflow-x:hidden}#root{min-height:100svh;padding-bottom:var(--mobile-nav-height);flex-direction:column;display:flex}@media (width>=769px){body,#root{height:100vh;overflow:hidden}#root{flex-direction:row;padding-bottom:0;padding-left:260px;display:flex}@media (width<=1300px){#root{padding-left:80px}}.app-main-content{flex-direction:column;flex-grow:1;height:100vh;display:flex;overflow:hidden}.container{flex-direction:column;flex-grow:1;gap:20px;max-width:100%;height:calc(100vh - 48px);margin:0;padding:24px;display:flex;overflow-y:auto}.library-container{overflow:hidden}.library-container .library-scroll{flex-grow:1;min-height:0;padding-bottom:12px;padding-right:4px;overflow-y:auto}.dashboard-container{overflow-y:auto}.dashboard-container .month-games-list{max-height:340px;padding-right:4px;overflow-y:auto}.roadmap-container{overflow-y:auto}}@media (width>=1280px){.upcoming-container{overflow:hidden}.upcoming-container .calendar-layout-wrapper{flex-grow:1;grid-template-columns:1fr 340px;gap:24px;min-height:0;display:grid;overflow:hidden}.upcoming-container .calendar-board,.upcoming-container .calendar-feed-sidebar{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.upcoming-container .calendar-grid-month,.upcoming-container .calendar-day-list-view,.upcoming-container .feed-scroll{flex-grow:1;min-height:0;padding-right:4px;overflow:hidden auto}.upcoming-container .calendar-week-list{flex-grow:1;min-height:0;overflow-y:auto}}@media (width>=1024px){.planner-container{overflow:hidden}.planner-container .planner-layout{flex-grow:1;grid-template-columns:320px 1fr;gap:24px;min-height:0;display:grid;overflow:hidden}.planner-container .planner-sidebar{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.planner-container .unplanned-stack{flex-grow:1;min-height:0;padding-right:4px;overflow-y:auto}.planner-container .planner-board{flex-direction:row;align-items:stretch;gap:20px;height:100%;min-height:0;padding-bottom:15px;display:flex;overflow:auto hidden}.planner-container .planner-column{flex-direction:column;flex:0 0 310px;width:310px;height:100%;display:flex;overflow:hidden}.planner-container .column-games-list{flex-grow:1;min-height:0;padding-right:4px;overflow-y:auto}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Space Grotesk,sans-serif;font-weight:700}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), #c084fc);color:#fff;position:relative;overflow:hidden;box-shadow:0 4px 14px #a855f74d}.btn-primary:after{content:"";background:#ffffff26;width:30%;height:200%;transition:none;position:absolute;top:-50%;left:-60%;transform:rotate(30deg)}@media (hover:hover){.btn-primary:hover:after{transition:all .65s cubic-bezier(.19,1,.22,1);left:120%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #a855f780,0 0 10px #a855f733}}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-main)}.btn-secondary:hover{border-color:var(--text-dark);background:#ffffff0d}.btn-danger{color:var(--color-danger);background:#f43f5e1a;border-color:#f43f5e33}.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-sm{padding:6px 12px;font-size:.85rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-glow);transition:var(--transition-smooth);padding:20px}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);box-shadow:0 10px 40px -10px #a855f726}.form-group{text-align:left;flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:500}.form-input,.form-select,.form-textarea{box-sizing:border-box;border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);transition:var(--transition-fast);background:#08090c99;outline:none;padding:10px 14px;font-family:Outfit,sans-serif;font-size:.95rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}select option,select optgroup{background-color:var(--bg-secondary);color:var(--text-main)}.form-textarea{resize:vertical;min-height:80px}@media (width<=768px){.form-input,.form-select,.form-textarea{font-size:1rem}}.close-modal-btn{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-8px -8px -8px 0;font-size:1.5rem;line-height:1;display:flex}.close-modal-btn:hover{color:var(--text-main);background:#ffffff0f}.badge{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-backlog{color:#fda4af;background:#f43f5e26}.badge-playing{color:#fde047;background:#f59e0b26}.badge-completed{color:#6ee7b7;background:#10b98126}.badge-shelved{color:#93c5fd;background:#3b82f626}.badge-platform{color:var(--text-main);background:#ffffff14;font-family:Space Grotesk,sans-serif;font-size:.7rem}.container{flex-direction:column;gap:20px;width:100%;max-width:1200px;margin:0 auto;padding:16px 12px;display:flex}@media (width>=769px){.container{gap:24px;padding:24px}}@media (width<=1300px){.container{padding:16px 12px}}@media (width>=1600px){.container{padding:28px 40px}}.screen-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}@media (width<=768px){.screen-header{flex-wrap:wrap;align-items:center;gap:8px 12px;padding-bottom:12px}.screen-header>.btn{flex:auto;justify-content:center}}.screen-header h1{background:linear-gradient(to right, #fff, var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem}.screen-header p{color:var(--text-muted);margin-top:4px;font-size:.95rem}@media (width<=768px){.screen-header h1{font-size:1.45rem}.screen-header p{font-size:.85rem}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#040507d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:500px;max-height:calc(100dvh - 40px);margin:auto;animation:.3s cubic-bezier(.16,1,.3,1) modalSlideIn;display:flex;overflow:hidden;box-shadow:0 20px 50px #0009}.modal-content>form{flex-direction:column;min-height:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:#0003;flex-shrink:0;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.modal-overlay{align-items:flex-end;padding:24px 0 0}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;max-width:none;max-height:calc(100dvh - 24px);margin:auto 0 0;animation:.3s cubic-bezier(.16,1,.3,1) modalSheetUp}.modal-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@keyframes modalSheetUp{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}.game-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-items:start;gap:12px;display:grid}@media (width>=600px){.game-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}}@media (width>=1024px){.game-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}}.game-card{border-radius:var(--radius-md);border:1px solid var(--border-color);transition:var(--transition-smooth);cursor:pointer;width:100%;color:inherit;text-align:left;background:#111319;flex-direction:column;padding:0;font-family:inherit;display:flex;position:relative;overflow:hidden}.game-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (hover:hover){.game-card:hover{border-color:var(--color-primary);transform:translateY(-6px)scale(1.02);box-shadow:0 12px 24px -6px #a855f759,0 0 15px #06b6d426}}.game-card:active{transform:scale(.98)}.game-card-img{aspect-ratio:2/3;object-fit:cover;width:100%;transition:var(--transition-smooth);display:block}@media (hover:hover){.game-card:hover .game-card-img{transform:scale(1.05)}}.game-card-overlay{background:linear-gradient(#0000 0%,#08090c99 40%,#08090cf2 100%);flex-direction:column;justify-content:flex-end;gap:4px;padding:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.game-card-title{letter-spacing:-.02em;color:#fff;white-space:nowrap;text-overflow:ellipsis;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700;line-height:1.2;display:block;overflow:hidden}@media (width<=600px){.game-card-overlay{padding:10px 8px 8px}.game-card-title{font-size:.85rem}}.game-card-meta{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.game-card-badge{z-index:2;position:absolute;top:8px;right:8px;box-shadow:0 4px 8px #0000004d}.floating-add-btn{bottom:calc(var(--mobile-nav-height) + 14px);background:linear-gradient(135deg, var(--color-primary), #c084fc);color:#fff;cursor:pointer;z-index:90;width:56px;height:56px;transition:var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;display:flex;position:fixed;right:20px;box-shadow:0 8px 20px #a855f766}@media (hover:hover){.floating-add-btn:hover{transform:scale(1.1)rotate(90deg)}}.floating-add-btn:active{transform:scale(.95)}@media (width>=769px){.floating-add-btn{bottom:24px;right:24px}}.tab-content-enter{animation:.35s cubic-bezier(.16,1,.3,1) forwards tabFadeIn}@keyframes spin{to{transform:rotate(360deg)}}.spinner{transform-origin:50%;animation:.8s linear infinite spin}@keyframes tabFadeIn{0%{opacity:0;filter:blur(4px);transform:translateY(8px)scale(.995)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.game-card.status-playing{border-color:#f59e0b66;animation:3s ease-in-out infinite cardPlayingPulse;box-shadow:0 0 15px #f59e0b26}@keyframes cardPlayingPulse{0%,to{border-color:#f59e0b4d;box-shadow:0 0 12px #f59e0b1a}50%{border-color:#f59e0b99;box-shadow:0 0 20px #f59e0b40}}.achievements-section{text-align:left;margin-top:32px}.achievements-section h2{color:#fff;align-items:center;gap:10px;margin-bottom:16px;font-size:1.4rem;display:flex}.achievements-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=600px){.achievements-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.achievements-grid{grid-template-columns:repeat(3,1fr)}}.achievement-card{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-smooth);background:#14161c99;align-items:center;gap:16px;padding:16px;display:flex}.achievement-card.unlocked{background:linear-gradient(135deg, #a855f714 0%, #06b6d40d 100%), var(--bg-card);border-color:#a855f740;box-shadow:0 4px 20px #a855f71a}@media (hover:hover){.achievement-card.unlocked:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 24px #a855f740}}.achievement-card.locked{opacity:.65;background:#0a0b0f66}.achievement-icon-wrapper{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.achievement-card.unlocked .achievement-icon-wrapper{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;box-shadow:0 0 12px #a855f766}.achievement-card.locked .achievement-icon-wrapper{border:1px dashed var(--border-color);color:var(--text-dark);background:#ffffff0d}.achievement-info{flex-direction:column;flex-grow:1;min-width:0;display:flex}.achievement-title{color:#fff;font-size:.95rem;font-weight:700;line-height:1.2}.achievement-desc{color:var(--text-muted);margin-top:4px;font-size:.8rem;line-height:1.3}.achievement-progress-container{width:100%;margin-top:8px}.achievement-progress-text{color:var(--text-muted);justify-content:space-between;margin-bottom:3px;font-size:.7rem;display:flex}.achievement-progress-bar-bg{background:#ffffff0d;border-radius:2px;height:4px;overflow:hidden}.achievement-progress-bar-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));height:100%;transition:width var(--transition-smooth);border-radius:2px}@media (width<=480px){.playing-session-card{flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.playing-session-card .session-cover{align-self:center;width:60px;height:80px}.playing-session-card .session-details{text-align:center;width:100%}.playing-session-card .session-details h4{text-align:center}.playing-session-card .session-subtitle{text-align:center;font-size:.8rem}.playing-session-card .session-actions{grid-template-columns:1fr 1fr;justify-content:center;gap:8px;width:100%;display:grid}.playing-session-card .session-actions .btn{width:100%;padding:8px 4px;font-size:.75rem}.dashboard-welcome{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:16px}.welcome-quick-stats{justify-content:center;width:100%;display:flex}.welcome-quick-stats .quick-stat-pill{flex:1;min-width:0;padding:8px 10px}}.sequence-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:var(--transition-fast);background:#0003;align-items:center;gap:16px;padding:12px;display:flex}.sequence-item:hover{background:#00000040;border-color:#ffffff1a}.sequence-date-badge{text-align:center;min-width:120px;color:var(--color-secondary);background:#06b6d41a;border:1px solid #06b6d440;border-radius:6px;flex-shrink:0;padding:6px 10px;font-size:.8rem;font-style:normal;font-weight:700}.sequence-cover{object-fit:cover;border:1px solid var(--border-color);border-radius:4px;flex-shrink:0;width:30px;height:42px}.sequence-info{flex-grow:1;min-width:0}.sequence-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;overflow:hidden}.sequence-desc{color:var(--text-muted);margin:0;font-size:.75rem}@media (width<=480px){.sequence-item{flex-wrap:wrap;gap:8px;padding:10px}.sequence-date-badge{text-align:center;width:100%;min-width:auto}.sequence-info{flex-basis:calc(100% - 46px)}.achievement-card{gap:12px;padding:12px}.achievement-icon-wrapper{border-radius:10px;width:40px;height:40px}.achievement-title{font-size:.85rem}.achievement-desc{font-size:.75rem}}.desktop-navbar{-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-color);z-index:100;background:#0f1115e6;flex-direction:column;width:260px;padding:24px 16px;display:none;position:fixed;top:0;bottom:0;left:0}@media (width>=769px) and (width<=1300px){.desktop-navbar{align-items:center;width:80px;padding:24px 8px}.nav-logo{justify-content:center;margin-bottom:30px;padding-left:0!important}.logo-text{display:none!important}.nav-menu{align-items:center;width:100%}.nav-link{border-radius:10px;justify-content:center;width:48px;height:48px;gap:0!important;padding:12px!important}.nav-link span{display:none!important}.nav-link.active{background:#a855f726!important;border:1px solid #a855f74d!important;padding-left:12px!important}.nav-footer{justify-content:center;width:100%;display:flex}}.nav-logo{align-items:center;gap:12px;margin-bottom:40px;padding-left:8px;display:flex}.logo-icon{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;font-weight:800;display:flex;box-shadow:0 4px 12px #a855f74d}.logo-text{background:linear-gradient(135deg, #fff, var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Space Grotesk,sans-serif;font-size:1.3rem;font-weight:700}.nav-menu{flex-direction:column;flex-grow:1;gap:8px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:500;display:flex}.nav-link:hover{color:var(--text-main);background:#ffffff0a}.nav-link.active{color:#fff;border-left:3px solid var(--color-primary);background:#a855f71a;padding-left:13px}.nav-icon{transition:var(--transition-fast)}.nav-link.active .nav-icon{color:var(--color-primary);filter:drop-shadow(0 0 4px #a855f799)}.nav-footer{border-top:1px solid var(--border-color);padding-top:16px}.mobile-navbar{height:var(--mobile-nav-height);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);padding:6px 6px calc(10px + env(safe-area-inset-bottom,0px)) 6px;z-index:100;background:#0a0b0feb;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-link{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px 4px;display:flex}.mobile-nav-link:active{transform:scale(.95)}.mobile-nav-link.active{color:var(--color-primary)}.mobile-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:500;overflow:hidden}.mobile-more-overlay{z-index:110;background:#00000080;align-items:flex-end;animation:.15s moreFade;display:flex;position:fixed;inset:0}@keyframes moreFade{0%{opacity:0}to{opacity:1}}.mobile-more-sheet{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);width:100%;padding:10px 12px calc(var(--mobile-nav-height) + 10px);background:#0f1115fa;border-radius:18px 18px 0 0;flex-direction:column;gap:4px;animation:.2s moreSlide;display:flex}@keyframes moreSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-sheet-handle{background:var(--border-color);border-radius:999px;width:40px;height:4px;margin:4px auto 10px}.more-sheet-link{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:14px;padding:14px 12px;font-size:.95rem;font-weight:500;display:flex}.more-sheet-link:active{transform:scale(.99)}.more-sheet-link.active{color:#fff;border-left:3px solid var(--color-primary);background:#a855f71f;padding-left:9px}@media (width>=769px){.desktop-navbar{display:flex}.mobile-navbar,.mobile-more-overlay{display:none}}.toast-stack{z-index:1100;pointer-events:none;flex-direction:column;gap:10px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}@media (width<=768px){.toast-stack{top:auto;bottom:calc(var(--mobile-nav-height) + 14px);width:calc(100vw - 32px);max-width:420px;right:50%;transform:translate(50%)}}.toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-glow);color:var(--text-main);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.9rem;line-height:1.35;animation:.25s cubic-bezier(.16,1,.3,1) toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-icon{flex-shrink:0;margin-top:1px}.toast-success{border-color:#10b98159}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-color:#f43f5e59}.toast-error .toast-icon{color:var(--color-danger)}.toast-info{border-color:#06b6d459}.toast-info .toast-icon{color:var(--color-secondary)}.toast-message{overflow-wrap:break-word;flex-grow:1;min-width:0}.toast-close{color:var(--text-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;flex-shrink:0;align-items:center;margin:-2px -4px -2px 0;padding:2px;display:flex}.toast-close:hover{color:var(--text-main)}.gs-modal{max-width:640px}.gs-summary{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.gs-cover{object-fit:cover;border-radius:10px;flex-shrink:0;width:110px;height:150px}.gs-summary-main{flex-direction:column;flex:1;gap:10px;min-width:200px;display:flex}.gs-badges{flex-wrap:wrap;gap:6px;display:flex}.gs-genre-badge{color:#d8b4fe;background:#a855f726}.gs-progress-track{background:#ffffff14;border-radius:6px;height:8px;overflow:hidden}.gs-progress-bar{background:var(--color-primary);height:100%;transition:width var(--transition-smooth)}.gs-progress-label,.gs-pace{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;font-size:.8rem;display:flex}.gs-pace{color:var(--color-secondary);margin-top:0}.gs-actions{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:8px;padding:12px 0;display:flex}.gs-section{margin-top:16px}.gs-section-title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);align-items:center;gap:5px;margin-bottom:8px;font-size:.78rem;display:inline-flex}.gs-muted{color:var(--text-dark);margin:0;font-size:.82rem;line-height:1.5}.gs-notes{white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;margin:0;font-size:.88rem;line-height:1.5;overflow-y:auto}.gs-row{border-bottom:1px solid var(--border-color);justify-content:space-between;gap:12px;padding:7px 0;display:flex}.gs-row-label{color:var(--text-muted);font-size:.85rem}.gs-row-value{text-align:right;font-size:.88rem;font-weight:600}.gs-session-list{flex-direction:column;gap:6px;display:flex}.gs-session-row{border:1px solid var(--border-color);background:#ffffff0a;border-radius:8px;align-items:center;gap:10px;padding:7px 12px;font-size:.83rem;display:flex}.gs-session-date{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;min-width:88px;display:inline-flex}.gs-session-hours{white-space:nowrap;font-weight:700}.gs-session-hours.gs-negative{color:var(--color-danger)}.gs-session-note{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gs-session-del{color:var(--text-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;align-items:center;margin-left:auto;padding:2px;display:flex}.gs-session-del:hover:not(:disabled){color:var(--color-danger)}.gs-session-del:disabled{opacity:.4;cursor:default}.gs-session-edit:hover:not(:disabled){color:var(--color-secondary)}.gs-history-hint{margin-top:8px;font-size:.74rem}.gs-history-form{align-items:flex-end}.gs-completed-chip{color:var(--color-success);background:#10b98114;border:1px solid #10b98147;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.gs-link-btn{color:var(--color-secondary);cursor:pointer;background:0 0;border:none;padding:6px 0 0;font-size:.8rem}.gs-manual{border:1px dashed var(--border-color);background:#ffffff08;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.gs-manual label{color:var(--text-muted);font-size:.82rem}.gs-manual input{border:1px solid var(--border-color);width:92px;color:var(--text-main);background:#00000040;border-radius:8px;padding:6px 10px;font-size:.85rem}.gs-manual-hint{color:var(--text-dark);flex-basis:100%;font-size:.72rem;line-height:1.4}.gs-hltb-row{flex-wrap:wrap;gap:8px;display:flex}.gs-hltb-chip{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:8px;flex-direction:column;align-items:center;padding:6px 14px;display:flex}.gs-hltb-chip.active{border-color:var(--color-primary);background:#a855f726}.gs-hltb-label{opacity:.7;font-size:.72rem}.gs-hltb-value{font-weight:700}.gs-session-form{border:1px solid var(--border-color);background:#ffffff08;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;padding:12px;display:flex}.gs-field{flex-direction:column;gap:4px;display:flex}.gs-field label{color:var(--text-muted);font-size:.72rem}.gs-field input{border:1px solid var(--border-color);color:var(--text-main);background:#00000040;border-radius:8px;width:100%;padding:6px 10px;font-size:.85rem}.gs-field-hours{width:84px}.gs-field-date{width:150px}.gs-field-note{flex:1;min-width:140px}.gs-session-form-actions{align-items:center;gap:6px;display:flex}.gs-cancel-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:7px;display:flex}.gs-cancel-btn:hover{color:var(--color-danger)}.gs-edit-toggle{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:8px;align-items:center;gap:6px;margin-top:18px;padding:8px 14px;font-size:.83rem;display:inline-flex}.gs-edit-toggle:hover{color:var(--text-main);border-color:var(--color-primary)}.gs-edit{border-top:1px solid var(--border-color);margin-top:14px;padding-top:14px}.gs-inline-btn{border:1px solid var(--border-color);color:var(--color-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-left:10px;padding:2px 9px;font-size:.72rem}.gs-inline-btn:disabled{cursor:default;opacity:.6}.gs-genre-add{gap:8px;margin-top:8px;display:flex}.gs-genre-add input{flex:1}.gs-error{color:#f87171;background:#f871711f;border:1px solid #f8717159;border-radius:8px;flex-basis:100%;margin-top:10px;padding:9px 13px;font-size:.83rem}.gs-footer{justify-content:space-between}.gs-footer-right{gap:12px;display:flex}.gs-spin{animation:1s linear infinite gsSpin}@keyframes gsSpin{to{transform:rotate(360deg)}}@media (width<=520px){.gs-cover{width:84px;height:116px}.gs-actions{gap:6px}.gs-field-date{width:138px}.gs-footer{flex-direction:column-reverse;align-items:stretch;gap:10px}.gs-footer-right{justify-content:flex-end}}.dashboard-welcome{background:linear-gradient(135deg, #a855f726 0%, #06b6d40d 100%), var(--bg-card);border-left:5px solid var(--color-primary);justify-content:space-between;align-items:center;padding:24px;display:flex}.welcome-text h1{margin-bottom:4px;font-size:1.8rem}.welcome-text p{color:var(--text-muted);font-size:.95rem}.welcome-quick-stats{flex-wrap:wrap;gap:10px;display:flex}.quick-stat-pill{border:1px solid var(--border-color);text-align:center;background:#ffffff0d;border-radius:50px;flex-direction:column;min-width:92px;padding:8px 16px;display:flex}.stat-pill-num{color:var(--color-primary);font-family:Space Grotesk,sans-serif;font-size:1.4rem;font-weight:700}.pill-num-warning{color:var(--color-warning)}.pill-num-cyan{color:var(--color-secondary)}.stat-pill-label{color:var(--text-muted);text-transform:uppercase;font-size:.7rem}.dashboard-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:3fr 2fr}}.dashboard-col{flex-direction:column;gap:24px;display:flex}.section-card{flex-direction:column;gap:16px;padding:24px;display:flex}.section-title{color:#fff;border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding-bottom:10px;font-size:1.25rem;display:flex}.section-icon-cyan{color:var(--color-secondary)}.section-icon-amber{color:var(--color-warning)}.section-icon-green{color:var(--color-success)}.empty-section{text-align:center;color:var(--text-muted);padding:30px 10px;font-size:.95rem}.empty-section .btn{margin-top:10px}.progress-container{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.progress-labels{color:var(--text-muted);justify-content:space-between;font-size:.85rem;display:flex}.progress-bar-bg{background:#ffffff0d;border-radius:5px;height:10px;overflow:hidden}.progress-bar-fill{height:100%;transition:var(--transition-smooth);border-radius:5px}.fill-success{background:linear-gradient(90deg, var(--color-success), #34d399);box-shadow:0 0 10px #10b9814d}.month-games-list{flex-direction:column;gap:12px;display:flex}.month-game-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:inherit;text-align:left;cursor:pointer;transition:var(--transition-fast);background:#00000026;align-items:center;gap:12px;padding:8px;font-family:inherit;display:flex}.month-game-item:hover{border-color:var(--color-primary);background:#a855f70f}.month-game-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.month-game-mini-cover{object-fit:cover;border-radius:4px;width:45px;height:60px}.month-game-info{flex-direction:column;flex-grow:1;display:flex}.month-game-header{justify-content:space-between;align-items:center;display:flex}.month-game-title{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.month-game-platform{width:fit-content;margin-top:2px}.month-game-hours-progress{align-items:center;gap:8px;margin-top:6px;display:flex}.hours-bar-bg{background:#ffffff0d;border-radius:3px;flex-grow:1;max-width:120px;height:6px;display:block;overflow:hidden}.hours-bar-fill{background:var(--color-primary);border-radius:3px;height:100%;display:block}.hours-bar-label{color:var(--text-muted);font-size:.75rem}.playing-sessions{flex-direction:column;gap:14px;display:flex}.playing-session-card{border-radius:var(--radius-md);background:#08b6d408;border:1px solid #06b6d41a;align-items:center;gap:16px;padding:14px;display:flex}.session-cover{object-fit:cover;border-radius:var(--radius-sm);border:1px solid #ffffff0d;width:55px;height:75px;display:block}.session-cover-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:0}.session-cover-btn:focus-visible,.session-title-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.session-details{flex-grow:1;min-width:0}.session-details h4{color:#fff;margin-bottom:2px;font-size:1.05rem}.session-title-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0}.session-title-btn:hover{color:var(--color-secondary)}.session-subtitle{color:var(--text-muted);font-size:.85rem}.session-done-icon{color:var(--color-success);vertical-align:-2px}.session-actions{gap:10px;margin-top:12px;display:flex}.btn-session-complete{color:#6ee7b7;background:#10b98133;border-color:#10b9814d}.btn-session-complete:hover{background:var(--color-success);color:#fff}.budget-widget{flex-direction:column;gap:16px;display:flex}.budget-comparison{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#0003;justify-content:center;align-items:center;gap:20px;padding:16px;display:flex}.budget-target,.budget-actual{flex-direction:column;flex:1;align-items:center;display:flex}.budget-vs{color:var(--text-dark);font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:700}.budget-num{font-family:Space Grotesk,sans-serif;font-size:1.8rem;font-weight:700}.budget-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.75rem}.text-overload .budget-num{color:var(--color-danger);filter:drop-shadow(0 0 8px #f43f5e66)}.text-underload .budget-num{color:var(--color-success);filter:drop-shadow(0 0 8px #10b9814d)}.budget-alert{border-radius:var(--radius-sm);text-align:left;gap:12px;padding:14px;font-size:.85rem;line-height:1.4;display:flex}.alert-warning{color:#fda4af;background:#f43f5e14;border:1px solid #f43f5e33}.alert-warning .alert-icon{color:var(--color-danger);flex-shrink:0}.alert-success{color:#a7f3d0;background:#10b98114;border:1px solid #10b98133}.alert-success .alert-icon{color:var(--color-success);flex-shrink:0}.stats-box-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;display:grid}.stat-box-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000026;flex-direction:column;align-items:center;padding:12px;display:flex}.stat-box-label{text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:4px;font-size:.75rem}.label-success{color:var(--color-success)}.label-warning{color:var(--color-warning)}.label-danger{color:var(--color-danger)}.stat-box-value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700}.backlog-runway{border-radius:var(--radius-sm);color:var(--text-muted);background:#06b6d40f;border:1px solid #06b6d433;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;font-size:.88rem;line-height:1.45;display:flex}.backlog-runway strong{color:var(--text-main)}.backlog-runway .runway-icon{color:var(--color-secondary);flex-shrink:0}.platform-distribution{margin-top:20px}.platform-distribution-title{text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:.85rem}.platform-distribution-empty{color:var(--text-dark);font-size:.9rem}.platform-bars{flex-direction:column;gap:8px;display:flex}.platform-bar-row{align-items:center;gap:10px;font-size:.8rem;display:flex}.platform-bar-name{width:80px;color:var(--text-muted);text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.platform-bar-track{background:#ffffff0d;border-radius:3px;flex-grow:1;height:6px;overflow:hidden}.platform-bar-fill{background:var(--color-secondary);border-radius:3px;height:100%}.platform-bar-pct{width:50px;color:var(--text-muted);text-align:right}@media (width<=480px){.budget-comparison{flex-direction:column;gap:12px;padding:12px}.budget-vs{opacity:.5;margin:4px 0}}.suggester-controls{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.suggester-band{max-width:230px;padding:7px 10px;font-size:.85rem}.suggester-variety{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.82rem;display:flex}.suggestion-card{border-radius:var(--radius-md);background:#a855f70d;border:1px solid #a855f733;align-items:center;gap:14px;padding:12px;animation:.25s cubic-bezier(.16,1,.3,1) suggestionIn;display:flex}@keyframes suggestionIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.suggestion-cover-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:0;line-height:0}.suggestion-cover-btn:focus-visible,.suggestion-title:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.suggestion-cover{object-fit:cover;border-radius:var(--radius-sm);border:1px solid #ffffff0d;width:55px;height:75px;display:block}.suggestion-info{flex-grow:1;min-width:0}.suggestion-title{letter-spacing:-.02em;color:#fff;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:100%;padding:0;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;display:block;overflow:hidden}.suggestion-title:hover{color:var(--color-primary)}.suggestion-meta{align-items:center;gap:10px;margin-top:6px;display:flex}.suggestion-hours{color:var(--text-muted);align-items:center;gap:4px;font-size:.78rem;display:inline-flex}.suggestion-genres{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.suggestion-genre-chip{color:#c4b5fd;background:#a855f724;border:1px solid #a855f74d;border-radius:999px;padding:1px 8px;font-size:.68rem}.suggester-empty{color:var(--text-muted);padding:8px 2px;font-size:.85rem}.suggester-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.suggester-pool-note{color:var(--text-dark);font-size:.75rem}.planner-header-flex{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.planner-header-controls{align-items:center;gap:16px;display:flex}.planner-view-switcher{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000040;padding:3px;display:flex}.planner-view-switcher .view-tab{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:600}.planner-view-switcher .view-tab.active{color:#fff;background:#a855f726;border:1px solid #a855f733}@media (width<=768px){.planner-header-controls{flex-direction:column;align-items:stretch;gap:10px;width:100%}.planner-view-switcher{width:100%}.planner-view-switcher .view-tab{text-align:center;flex:1}.planner-target-badge{justify-content:center;width:100%}}@media (width<=600px){.planner-header-flex{flex-direction:column;align-items:flex-start;gap:12px}}.planner-target-badge{border-radius:var(--radius-sm);color:#fff;border:1px solid var(--border-color);white-space:nowrap;background:#ffffff08;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;display:flex}.planner-reco-card{text-align:left;background:#f59e0b0a;border:1px solid #f59e0b40;margin-bottom:20px;padding:18px 20px}.reco-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.reco-head h3{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.05rem}.reco-icon{color:#f59e0b;flex-shrink:0}.reco-advice{color:var(--text-muted);margin:0 0 12px;font-size:.88rem;line-height:1.5}.reco-move-btn{border-radius:var(--radius-sm);cursor:pointer;color:#fbbf24;transition:var(--transition-fast);background:#f59e0b24;border:1px solid #f59e0b59;align-items:center;gap:8px;padding:9px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.reco-move-btn:hover{background:#f59e0b38}.reco-suggestions{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=720px){.reco-suggestions{grid-template-columns:repeat(3,1fr)}}.reco-game{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#ffffff08;align-items:flex-start;gap:10px;padding:10px;display:flex}.reco-cover{object-fit:cover;cursor:pointer;border-radius:6px;flex-shrink:0;width:42px;height:56px}.reco-game-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.reco-title{color:var(--text-main);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;overflow:hidden}.reco-reasons{flex-wrap:wrap;gap:4px;display:flex}.reco-chip{color:#c4b5fd;background:#a855f724;border:1px solid #a855f74d;border-radius:999px;padding:1px 7px;font-size:.66rem}.reco-chip-warn{color:#fca5a5;background:#f871711f;border-color:#f871714d}.reco-meta{color:var(--text-dark);font-size:.72rem}.reco-add-btn{cursor:pointer;color:#d8b4fe;transition:var(--transition-fast);background:#a855f726;border:1px solid #a855f759;border-radius:6px;flex-shrink:0;align-self:center;align-items:center;gap:4px;padding:6px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.reco-add-btn:hover{background:#a855f740}.planner-layout{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}@media (width>=1024px){.planner-layout{flex-grow:1;grid-template-columns:320px 1fr;align-items:stretch;min-height:0;overflow:hidden}.planner-sidebar{flex-direction:column;height:100%;display:flex;overflow:hidden;max-height:100%!important}.unplanned-stack{flex-grow:1;padding-right:4px;overflow-y:auto}.planner-board{flex-direction:row;align-items:stretch;gap:20px;height:100%;padding-bottom:12px;display:flex;overflow:auto hidden;max-height:100%!important}.planner-column{flex-direction:column;flex:0 0 310px;height:100%;max-height:100%;display:flex;overflow:hidden;min-height:0!important}.column-games-list{flex-grow:1;min-height:0;padding-right:4px;overflow-y:auto}}.planner-sidebar{flex-direction:column;padding:20px;display:flex;position:sticky;top:20px}.sidebar-header{color:#fff;align-items:center;gap:8px;display:flex}.sidebar-icon{color:var(--color-primary)}.sidebar-subtitle{color:var(--text-muted);margin-top:4px;margin-bottom:16px;font-size:.85rem}.unplanned-stack{flex-direction:column;flex-grow:1;gap:12px;display:flex;overflow-y:auto}@media (width<=1023px){.planner-sidebar{max-height:350px;margin-bottom:10px;position:relative;top:0}.unplanned-stack{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;max-height:220px;padding-right:4px;display:grid;overflow-y:auto}}.empty-sidebar-state{text-align:center;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:var(--radius-sm);padding:30px 10px;font-size:.9rem}.empty-sidebar-hint{color:var(--text-dark);font-size:.8rem}.cover-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:0;line-height:0}.cover-btn:focus-visible,.plain-title-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.plain-title-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:100%;padding:0;overflow:hidden}.plain-title-btn:hover{color:var(--color-primary)}.target-badge-icon{color:var(--color-secondary)}.assign-action{margin-top:8px}.sequence-timeline-card{text-align:left;flex-direction:column;height:560px;max-height:calc(100vh - 200px);margin-top:0;display:flex;overflow:hidden}.sequence-title-row{border-bottom:1px solid var(--border-color);color:#fff;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:10px;display:flex}.sequence-title-icon{color:var(--color-secondary);flex-shrink:0}.sequence-intro{color:var(--text-muted);margin-bottom:16px;font-size:.85rem;line-height:1.4}.sequence-list{flex-direction:column;flex-grow:1;gap:10px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.sequence-playing-badge{flex-shrink:0;font-size:.65rem}.empty-timeline-state{text-align:center;color:var(--text-muted);padding:40px}.empty-timeline-icon{color:var(--text-dark);margin:0 auto 16px;display:block}.empty-timeline-state p{margin-top:8px}.unplanned-game-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;background:#00000026;align-items:center;gap:10px;padding:8px;display:flex}.unplanned-game-card:active{cursor:grabbing}.unplanned-cover{object-fit:cover;border-radius:4px;width:45px;height:60px}.unplanned-info{flex-direction:column;flex-grow:1;min-width:0;display:flex}.unplanned-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.unplanned-meta{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.unplanned-hours{color:var(--text-muted);font-size:.8rem}.assign-select{border:1px solid var(--border-color);width:100%;color:var(--text-main);cursor:pointer;background:#181b24;border-radius:4px;outline:none;padding:4px 6px;font-size:.8rem}.planner-board{scroll-snap-type:x mandatory;align-items:stretch;gap:20px;width:100%;padding-bottom:15px;display:flex;overflow-x:auto}@media (width<=1023px){.planner-board{gap:16px;padding-bottom:12px}}.planner-column{scroll-snap-align:start;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-direction:column;flex:0 0 310px;gap:12px;min-height:380px;padding:16px;display:flex}@media (width<=1023px){.planner-column{flex:0 0 280px;min-height:320px;max-height:480px}}.column-overloaded{background:#f43f5e05;border-color:#f43f5e4d}.column-current{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary) inset, 0 0 18px #a855f726}.column-current-tag{text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;color:var(--color-primary);background:#a855f726;border:1px solid #a855f759;border-radius:999px;margin-left:8px;padding:1px 8px;font-family:Outfit,sans-serif;font-size:.6rem;font-weight:700;display:inline-block}.column-header{text-align:left;justify-content:space-between;align-items:center;display:flex}.column-name{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700}.column-year{color:var(--text-dark);margin-top:2px;font-size:.75rem;display:block}.column-hours-badge{border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:600;display:flex}.badge-ok{color:var(--color-secondary);background:#06b6d41a}.badge-over{color:#fda4af;background:#f43f5e26;animation:2s infinite pulseRed}@keyframes pulseRed{0%,to{opacity:1}50%{opacity:.8}}.column-load-progress{background:#ffffff0d;border-radius:2px;height:4px;overflow:hidden}.column-load-bar{border-radius:2px;height:100%}.bar-ok{background:var(--color-secondary)}.bar-over{background:var(--color-danger)}.column-warning{color:var(--color-danger);background:#f43f5e0d;border-radius:4px;align-items:center;gap:4px;padding:6px;font-size:.75rem;display:flex}.column-games-list{flex-direction:column;flex-grow:1;gap:10px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.empty-column-placeholder{border:1px dashed var(--border-color);border-radius:var(--radius-sm);color:var(--text-dark);flex-grow:1;justify-content:center;align-items:center;padding:30px 10px;font-size:.85rem;display:flex}.board-game-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;background:#0003;align-items:center;gap:10px;padding:10px;display:flex}.board-game-item:hover{background:#0000004d;border-color:#ffffff26}.board-game-item:active{cursor:grabbing}.board-cover{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:55px}.board-game-details{text-align:left;flex-direction:column;flex-grow:1;min-width:0;display:flex}.board-game-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.board-game-footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.board-game-hours{color:var(--text-muted);font-size:.8rem}.board-game-schedule{background:#00000026;border:1px solid #ffffff05;border-radius:4px;margin-top:6px;padding:6px}.schedule-range{color:var(--text-main);align-items:center;font-size:.75rem;font-weight:500;display:flex}.schedule-duration{color:var(--text-muted);font-size:.7rem}.badge-spillover{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:.65rem;font-weight:600;display:inline-block}.badge-spillover-warning{color:#fcd34d;background:#f59e0b26;border:1px solid #f59e0b40}.badge-spillover-danger{color:#fda4af;background:#f43f5e26;border:1px solid #f43f5e40}.date-badge-overflow{color:#fda4af!important;background:#f43f5e26!important;border-color:#f43f5e4d!important}.board-game-actions{align-items:center;gap:6px;margin-top:8px;display:flex}.reassign-select{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:#181b24;border-radius:4px;outline:none;flex-grow:1;padding:2px 4px;font-size:.75rem}.reassign-select:hover{color:#fff;border-color:var(--text-dark)}.remove-game-btn{border:1px solid var(--border-color);color:var(--text-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:3px;display:flex}.remove-game-btn:hover{color:var(--color-danger);background:#f43f5e0d;border-color:#f43f5e33}.planner-sidebar.sidebar-drag-over{border-color:var(--color-primary)!important;background:#a855f70d!important;box-shadow:0 0 15px #a855f733!important}.column-games-list.column-drag-over{min-height:100px;border:1px dashed var(--color-secondary)!important;border-radius:var(--radius-sm)!important;background:#06b6d414!important}.calendar-container{padding-bottom:100px}.calendar-header h1{align-items:center;gap:10px;margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:1.6rem;display:flex}.calendar-sub{color:var(--text-muted);max-width:720px;font-size:.9rem;line-height:1.5}.wip-banner{border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid var(--border-color);background:#ffffff08;align-items:center;gap:10px;margin:18px 0 0;padding:12px 16px;font-size:.86rem;display:flex}.wip-banner strong{color:var(--text-main)}.wip-banner.wip-warn{color:#fcd34d;background:#f59e0b14;border-color:#f59e0b4d}.wip-banner.wip-warn strong{color:#fde68a}.calendar-month-card{margin:18px 0;padding:20px}.month-grid-empty{color:var(--text-muted);text-align:center;margin:0;padding:8px 12px 0;font-size:.9rem}.month-plan{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#ffffff08;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:14px 16px;display:flex}.month-plan-figure{align-items:center;gap:10px;display:flex}.month-plan-numbers{flex-direction:column;line-height:1.2;display:flex}.month-plan-pace{font-size:1.25rem}.month-plan-pace strong{font-family:Space Grotesk,sans-serif;font-size:1.5rem}.month-plan-level{text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:600}.month-plan-detail{color:var(--text-muted);flex:260px;margin:0;font-size:.85rem;line-height:1.5}.month-plan-detail strong{color:var(--text-main)}.month-plan--holgado{background:#34d39912;border-color:#34d39959}.month-plan--holgado .month-plan-figure,.month-plan--holgado .month-plan-level{color:#34d399}.month-plan--ontrack{background:#60a5fa12;border-color:#60a5fa59}.month-plan--ontrack .month-plan-figure,.month-plan--ontrack .month-plan-level{color:#60a5fa}.month-plan--ajustado{background:#f59e0b12;border-color:#f59e0b59}.month-plan--ajustado .month-plan-figure,.month-plan--ajustado .month-plan-level{color:#f59e0b}.month-plan--intenso{background:#f8717114;border-color:#f8717166}.month-plan--intenso .month-plan-figure,.month-plan--intenso .month-plan-level{color:#f87171}.month-nav{justify-content:center;align-items:center;gap:18px;margin-bottom:16px;display:flex}.month-title{text-transform:capitalize;text-align:center;min-width:160px;font-size:1.05rem;font-weight:600}.month-nav-btn{cursor:pointer;border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-main);transition:var(--transition-fast);background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex}.month-nav-btn:hover{background:#ffffff1a}.month-now-btn{text-transform:uppercase;letter-spacing:.4px;cursor:pointer;color:var(--color-secondary);transition:var(--transition-fast);background:#06b6d41a;border:1px solid #06b6d440;border-radius:999px;padding:5px 10px;font-family:inherit;font-size:.72rem;font-weight:700}.month-now-btn:hover{border-color:var(--color-secondary);background:#06b6d433}.focus-list{flex-direction:column;gap:16px;display:flex}.focus-card{text-align:left;padding:18px}.focus-head{gap:14px;margin-bottom:14px;display:flex}.focus-cover{object-fit:cover;border-radius:8px;width:56px;height:56px;display:block}.focus-cover-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:0}.focus-cover-btn:focus-visible,.focus-title-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.focus-info{min-width:0}.focus-info h3{margin-bottom:6px;padding-left:10px;font-size:1.05rem}.focus-title-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.focus-title-btn:hover{color:var(--color-secondary)}.focus-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;padding-left:10px;font-size:.82rem;display:flex}.focus-progress-track{background:#ffffff0f;border-radius:999px;height:8px;margin-bottom:12px;overflow:hidden}.focus-progress-bar{border-radius:999px;height:100%;transition:width .3s}.focus-stats{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:8px;font-size:.88rem;display:flex}.focus-remaining{color:var(--text-main);align-items:center;gap:6px;display:inline-flex}.focus-pace{color:var(--text-muted)}.focus-momentum{color:var(--text-dark);flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;display:flex}.focus-momentum strong{color:var(--text-muted)}.focus-nudge{border-radius:var(--radius-sm);align-items:center;gap:7px;margin-top:10px;padding:9px 12px;font-size:.82rem;font-weight:500;display:flex}.nudge-finish{color:#6ee7b7;background:#34d3991f;border:1px solid #34d3994d}.nudge-stale{color:#fcd34d;background:#f59e0b1a;border:1px solid #f59e0b47}.focus-no-estimate{color:var(--text-muted);padding:6px 0 4px;font-size:.85rem}.focus-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.focus-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid var(--border-color);transition:var(--transition-fast);background:#ffffff0a;align-items:center;gap:6px;padding:7px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.focus-btn:hover{color:#fff;border-color:var(--text-dark)}.focus-btn-primary{color:#d8b4fe;background:#a855f726;border-color:#a855f759}.focus-btn-primary:hover{color:#e9d5ff;background:#a855f740}.session-form{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#0003;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;padding:12px;display:flex}.session-field{flex-direction:column;gap:4px;display:flex}.session-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dark);font-size:.68rem}.session-field input{border:1px solid var(--border-color);color:var(--text-main);box-sizing:border-box;background:#181b24;border-radius:4px;outline:none;max-width:100%;padding:6px 8px;font-size:.85rem}.session-field.hours input{width:84px}.session-field.note{flex:140px}.session-field.note input{width:100%}.session-form-actions{gap:6px;display:flex}.session-error{color:#fca5a5;flex-basis:100%;font-size:.78rem}.session-save{cursor:pointer;border-radius:var(--radius-sm);color:#6ee7b7;background:#34d39926;border:1px solid #34d39959;align-items:center;gap:5px;padding:7px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.session-save:disabled{opacity:.5;cursor:default}.session-cancel{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid var(--border-color);background:#ffffff0a;justify-content:center;align-items:center;padding:7px;display:inline-flex}.focus-history{border-top:1px solid var(--border-color);flex-direction:column;gap:6px;margin-top:12px;padding-top:10px;display:flex}.history-row{color:var(--text-muted);align-items:center;gap:10px;font-size:.82rem;display:flex}.history-date{min-width:52px;color:var(--text-main)}.history-hours{min-width:44px;color:var(--color-secondary);font-weight:600}.history-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dark);flex:1;overflow:hidden}.history-del{border:1px solid var(--border-color);color:var(--text-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:4px;margin-left:auto;padding:3px;display:flex}.history-del:hover{color:var(--color-danger);background:#f43f5e0f;border-color:#f43f5e4d}.focus-empty{text-align:center;color:var(--text-muted);padding:40px}.focus-empty svg{color:var(--text-dark);margin:0 auto 12px;display:block}.focus-empty h3{margin-bottom:8px}.spin{animation:.8s linear infinite focusSpin}@keyframes focusSpin{to{transform:rotate(360deg)}}@media (width<=600px){.calendar-header h1{font-size:1.3rem}.calendar-month-card{margin:14px 0;padding:14px}.focus-card{padding:14px}.focus-cover{width:44px;height:44px}.focus-info h3{font-size:.95rem}.focus-stats{gap:6px 12px;font-size:.82rem}.month-plan-detail{flex-basis:100%}.session-form{gap:8px 10px;padding:10px}.session-field.hours{flex:40%}.session-field.hours input{width:100%}.session-field.date{flex:45%}.session-field.date input{width:100%}.session-field.note{flex-basis:100%}.session-form-actions{flex:100%}.session-save,.focus-actions .focus-btn{flex:1;justify-content:center}}.hall-of-fame{background:linear-gradient(135deg, #eab30814 0%, #a855f708 100%), var(--bg-card);border-left:5px solid #eab308;padding:24px}.hof-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.hof-trophy-icon{color:#eab308;filter:drop-shadow(0 0 10px #eab30866)}.hof-header h2{color:#fff;font-size:1.4rem}.hof-header p{color:var(--text-muted);font-size:.9rem}.hof-empty{text-align:center;color:var(--text-muted);padding:30px 10px;font-size:.95rem}.hof-empty-hint{color:var(--text-muted);font-size:.8rem}.hof-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=769px){.hof-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1200px){.hof-grid{grid-template-columns:repeat(3,1fr)}}.hof-card{border-radius:var(--radius-md);width:100%;color:inherit;text-align:left;cursor:pointer;transition:var(--transition-fast);background:#00000040;border:1px solid #eab30826;align-items:center;gap:12px;padding:10px;font-family:inherit;display:flex}.hof-card:hover{background:#00000059;border-color:#eab30866}.hof-card:focus-visible{outline-offset:2px;outline:2px solid #eab308}.hof-cover{object-fit:cover;border-radius:4px;flex-shrink:0;width:50px;height:70px}.hof-content{text-align:left;flex-direction:column;flex-grow:1;min-width:0;display:flex}.hof-title{letter-spacing:-.02em;color:#fff;white-space:nowrap;text-overflow:ellipsis;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700;display:block;overflow:hidden}.hof-meta{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.hof-hours{color:var(--text-muted);font-size:.75rem}.hof-date{color:var(--text-dark);margin-top:4px;font-size:.72rem}.hof-rating{gap:1px;margin-top:6px;display:flex}.hof-comments{color:#d1d5db;-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:6px;font-size:.8rem;font-style:italic;display:-webkit-box;overflow:hidden}.roadmap-stats{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=480px){.roadmap-stats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}.roadmap-section{padding:20px}.roadmap-section-title{color:#fff;align-items:center;gap:10px;margin-bottom:16px;font-size:1.2rem;display:flex}.section-icon-purple{color:var(--color-primary)}.completions-chart{grid-template-columns:repeat(12,1fr);align-items:end;gap:6px;height:150px;display:grid}.completions-col{flex-direction:column;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.completions-count{color:var(--text-muted);min-height:1em;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:700}.completions-bar-track{flex-grow:1;align-items:flex-end;width:100%;min-height:0;display:flex}.completions-bar{background:linear-gradient(to top, var(--color-primary), var(--color-secondary));width:100%;min-height:2px;transition:height var(--transition-smooth);border-radius:4px 4px 0 0}.completions-bar.is-current{background:linear-gradient(#fde047,#eab308)}.completions-label{color:var(--text-dark);text-transform:uppercase;white-space:nowrap;font-size:.68rem}@media (width<=480px){.completions-chart{gap:3px;height:120px}.completions-label{font-size:.55rem}.completions-count{font-size:.65rem}}.year-review{background:linear-gradient(135deg, #a855f71a 0%, #eab3080d 55%, #06b6d40f 100%), var(--bg-card);border-left:5px solid var(--color-primary);padding:24px}.year-review-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.year-review-icon{color:var(--color-primary);filter:drop-shadow(0 0 8px #a855f780);flex-shrink:0}.year-review-head h2{color:#fff;font-size:1.4rem}.year-review-head p{color:var(--text-muted);margin-top:2px;font-size:.88rem}.year-review-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.year-tile{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000040;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:14px;display:flex}.year-tile-value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700}.year-tile-value--text{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.year-tile-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem}.year-hero-tile{border-radius:var(--radius-md);color:inherit;text-align:left;cursor:pointer;min-width:0;transition:var(--transition-fast);background:#eab30812;border:1px solid #eab3084d;grid-column:span 2;align-items:center;gap:14px;padding:14px;font-family:inherit;display:flex}.year-hero-tile:hover{background:#eab3081f;border-color:#eab3088c}.year-hero-tile:focus-visible{outline-offset:2px;outline:2px solid #eab308}@media (width<=480px){.year-hero-tile{grid-column:1/-1}}.year-hero-cover{object-fit:cover;border-radius:6px;flex-shrink:0;width:52px;height:72px}.year-hero-text{flex-direction:column;gap:3px;min-width:0;display:flex}.year-hero-title{letter-spacing:-.02em;color:#fde047;text-overflow:ellipsis;white-space:nowrap;font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:700;overflow:hidden}.year-hero-rating{gap:2px;display:flex}.activity-streaks{flex-wrap:wrap;gap:12px 32px;margin-bottom:18px;display:flex}.activity-streak-item{flex-direction:column;display:flex}.activity-streak-value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.3rem;font-weight:700}.activity-streak-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:2px;font-size:.72rem}.heatmap-scroll{padding-bottom:6px;overflow-x:auto}.heatmap-inner{width:max-content}.heatmap-month-row{gap:3px;margin-bottom:4px;display:flex}.heatmap-month-label{width:12px;color:var(--text-dark);white-space:nowrap;flex:0 0 12px;font-size:.62rem;overflow:visible}.heatmap-daycol-spacer{flex:0 0 16px;width:16px}.heatmap-grid{gap:3px;display:flex}.heatmap-daycol{flex-direction:column;flex:0 0 16px;gap:3px;width:16px;display:flex}.heatmap-day-label{height:12px;color:var(--text-dark);font-size:.6rem;line-height:12px}.heatmap-week{flex-direction:column;gap:3px;display:flex}.heatmap-cell{background:#ffffff0d;border-radius:3px;flex-shrink:0;width:12px;height:12px}.heatmap-cell.future{background:0 0}.heatmap-cell.lvl-1{background:#a855f747}.heatmap-cell.lvl-2{background:#a855f780}.heatmap-cell.lvl-3{background:#a855f7bf}.heatmap-cell.lvl-4{background:#c084fc}.heatmap-legend{color:var(--text-dark);justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;font-size:.68rem;display:flex}.activity-subtitle{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:22px 0 12px;font-size:.85rem}.platform-stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.platform-stat-card{border:1px solid var(--border-color);background:#ffffff0a;border-radius:12px;padding:14px}.platform-stat-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;font-weight:600;overflow:hidden}.platform-stat-row{color:var(--text-muted);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.85rem;display:flex}.platform-stat-track{background:#ffffff14;border-radius:4px;height:6px;margin-bottom:6px;overflow:hidden}.platform-stat-fill{background:var(--color-primary);height:100%;transition:width var(--transition-smooth)}.platform-stat-foot{color:var(--text-muted);font-size:.78rem}.genre-bars{flex-direction:column;gap:10px;display:flex}.genre-bar-row{align-items:center;gap:12px;display:flex}.genre-bar-name{white-space:nowrap;text-overflow:ellipsis;min-width:120px;font-size:.85rem;overflow:hidden}.genre-bar-track{background:#ffffff14;border-radius:6px;flex:1;height:10px;overflow:hidden}.genre-bar-fill{background:linear-gradient(to right, var(--color-primary), var(--color-secondary));height:100%;transition:width var(--transition-smooth)}.genre-bar-value{text-align:right;min-width:110px;color:var(--text-muted);font-size:.8rem}@media (width<=480px){.genre-bar-name{min-width:80px;font-size:.78rem}.genre-bar-value{min-width:84px;font-size:.72rem}}.roadmap-stat-card{align-items:center;gap:16px;padding:16px 20px;display:flex}.stat-icon-purple{color:var(--color-primary)}.stat-icon-cyan{color:var(--color-secondary)}.stat-details{text-align:left;flex-direction:column;display:flex}.roadmap-stat-value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.6rem;font-weight:700}.roadmap-stat-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:.75rem}.timeline-container{text-align:left;padding:24px}.timeline-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:10px;display:flex}.timeline-section-title{color:#fff;font-size:1.3rem}.timeline-toggle-btn{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:#ffffff0a;padding:6px 12px;font-family:inherit;font-size:.78rem;font-weight:600}.timeline-toggle-btn:hover{color:var(--color-secondary);border-color:var(--color-secondary)}.timeline-track{flex-direction:column;display:flex;position:relative}.timeline-node-row{gap:16px;display:flex;position:relative}.timeline-visual-column{flex-direction:column;flex-shrink:0;align-items:center;width:32px;display:flex}.timeline-circle{z-index:2;width:32px;height:32px;transition:var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.circle-inactive{border:1px solid var(--border-color);color:var(--text-dark);background:#1e293b}.circle-active{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;box-shadow:0 0 10px #a855f766}.timeline-line{background:var(--border-color);flex-grow:1;width:2px;margin-top:4px;margin-bottom:4px}.timeline-content-card{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-fast);background:#00000026;flex-grow:1;margin-bottom:24px;padding:16px}.timeline-node-row.has-content:hover .timeline-content-card{background:#06b6d405;border-color:#06b6d440}.timeline-node-row.is-current .timeline-content-card{background:#06b6d40d;border-color:#06b6d459}.timeline-node-row.is-current .timeline-circle{box-shadow:0 0 0 3px #06b6d433}.timeline-now-tag{vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;background:var(--color-secondary);color:#06181c;border-radius:999px;margin-left:8px;padding:2px 7px;font-family:Outfit,sans-serif;font-size:.6rem;font-weight:700;display:inline-block}.timeline-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}@media (width<=480px){.timeline-card-header{flex-direction:column;align-items:flex-start;gap:6px}.timeline-month-stats{width:fit-content}}.timeline-card-header h3{color:#fff;font-size:1.05rem}.timeline-month-stats{color:var(--text-muted);border:1px solid var(--border-color);background:#ffffff0a;border-radius:4px;padding:3px 8px;font-size:.75rem}.timeline-empty-month-text{color:var(--text-dark);font-size:.85rem;font-style:italic}.timeline-games-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=600px){.timeline-games-grid{grid-template-columns:repeat(2,1fr)}}.timeline-game-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:inherit;text-align:left;cursor:pointer;transition:var(--transition-fast);background:#0003;align-items:center;gap:10px;padding:8px;font-family:inherit;display:flex}.timeline-game-item:hover{border-color:var(--color-primary);background:#a855f70f}.timeline-game-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.timeline-game-cover{object-fit:cover;border-radius:4px;width:36px;height:50px}.timeline-game-info{flex-direction:column;flex-grow:1;min-width:0;display:flex}.timeline-game-title{letter-spacing:-.02em;color:#fff;white-space:nowrap;text-overflow:ellipsis;font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:500;display:block;overflow:hidden}.timeline-game-status-row{align-items:center;gap:6px;margin-top:4px;font-size:.75rem;display:flex}.status-dot{border-radius:50%;width:6px;height:6px}.dot-playing{background:var(--color-warning)}.dot-completed{background:var(--color-success)}.dot-backlog{background:var(--color-danger)}.dot-shelved{background:var(--color-info)}.timeline-status-text{color:var(--text-muted)}.timeline-game-hours{color:var(--text-dark)}.custom-achievements-block{border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px}.custom-achievements-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.custom-achievements-header h3{color:#fff;align-items:center;gap:8px;font-size:1.05rem;display:flex}.custom-achievements-empty{color:var(--text-muted);margin-top:4px;font-size:.88rem;line-height:1.5}.custom-achievement-form{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0003;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;display:flex}.caf-row{flex-direction:column;display:flex}.caf-row-split{flex-direction:row;gap:12px}.caf-row-split>label:first-child{flex:1}.caf-target{flex-shrink:0;width:120px}.custom-achievement-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;display:flex}.caf-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (width<=480px){.caf-row-split{flex-direction:column}.caf-target{width:100%}}.achievement-card{position:relative}.achievement-remove-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);z-index:2;background:#0000004d;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:8px;right:8px}.achievement-remove-btn:hover{color:var(--color-danger);border-color:var(--color-danger)}.filters-bar{flex-direction:column;gap:16px;padding:16px;display:flex}@media (width>=769px){.filters-bar{flex-direction:row;justify-content:space-between;align-items:center}}.search-box{flex-grow:1;align-items:center;display:flex;position:relative}.search-icon{color:var(--text-dark);pointer-events:none;position:absolute;left:12px}.filter-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);transition:var(--transition-fast);background:#08090c66;outline:none;padding:10px 14px 10px 38px;font-family:Outfit,sans-serif;font-size:.95rem}.filter-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.filter-group{flex-wrap:wrap;gap:12px;display:flex}.filter-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#08090c66;align-items:center;gap:8px;padding:4px 10px;display:flex}.filter-icon{color:var(--color-secondary)}.filter-select-box{color:var(--text-main);cursor:pointer;background:0 0;border:none;outline:none;font-family:Outfit,sans-serif;font-size:.9rem}.filter-summary{color:var(--color-secondary);align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.clear-filters-btn{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:0 0;padding:5px 10px;font-family:inherit;font-size:.78rem;font-weight:600}@media (width<=768px){.filter-group{width:100%}.filter-item{flex:1;justify-content:center;min-width:120px}.filter-select-box{text-align:center;width:100%}.filter-summary{justify-content:space-between;width:100%}}.form-input--with-icon{width:100%;padding-left:36px}.form-input--readonly{opacity:.7;background:#0000001a}.label-hint{opacity:.7;text-transform:none;margin-left:8px;font-size:.8em}.game-card-hours{align-items:center;gap:4px;display:flex}.add-game-error{color:#f87171;background:#f871711f;border:1px solid #f8717159;border-radius:8px;margin:0 20px 4px;padding:10px 14px;font-size:.85rem}.hltb-choice-row{flex-wrap:wrap;gap:8px;display:flex}.hltb-choice{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:8px;flex-direction:column;align-items:center;padding:6px 14px;font-family:inherit;display:flex}.hltb-choice.active{border-color:var(--color-primary);background:#a855f726}.hltb-choice-label{opacity:.7;font-size:.72rem}.hltb-choice-value{font-weight:700}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-icon{color:var(--text-dark);margin-bottom:16px}.empty-state h3{margin-bottom:8px;font-size:1.3rem}.empty-state p{color:var(--text-muted);max-width:400px;font-size:.95rem}.empty-state-btn{margin-top:14px}.divider{border:none;border-top:1px solid var(--border-color);margin:16px 0}.grid-2-cols{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.grid-2-cols>*{min-width:0}@media (width>=480px){.grid-2-cols{grid-template-columns:repeat(2,1fr)}}.autocomplete-container{position:relative}.autocomplete-results{border-radius:var(--radius-sm);z-index:50;background:#181b24;border:1px solid #334155;max-height:250px;margin-top:6px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #00000080}.autocomplete-item{cursor:pointer;width:100%;transition:var(--transition-fast);color:inherit;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff08;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:.9rem;display:flex}.autocomplete-item:hover,.autocomplete-item:focus-visible{background:var(--color-primary-glow);outline:none}.autocomplete-item--owned{opacity:.55}.autocomplete-cover{object-fit:cover;border-radius:2px;flex-shrink:0;width:30px;height:40px}.autocomplete-text{flex-grow:1;min-width:0}.autocomplete-title{color:#fff;font-weight:500;display:block}.autocomplete-meta{color:var(--text-muted);margin-top:2px;font-size:.75rem;display:block}.autocomplete-owned{color:var(--color-primary);flex-shrink:0;font-size:.72rem;font-weight:700}.autocomplete-price{color:var(--color-secondary);flex-shrink:0;font-size:.8rem;font-weight:700}.autocomplete-item-empty{color:var(--text-muted);text-align:center;padding:12px 14px;font-size:.85rem}.edit-modal-summary{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#0003;align-items:center;gap:16px;padding:12px;display:flex}.genre-chip-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.genre-chip{color:#d8b4fe;background:#a855f726;border:1px solid #a855f74d;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.genre-chip-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex}.genre-chip-remove:hover{color:var(--color-danger)}.edit-cover-preview{object-fit:cover;border:1px solid var(--border-color);border-radius:4px;width:80px;height:60px}.edit-summary-details h3{color:#fff;text-align:left;font-size:1.1rem}.star-rating{gap:8px;margin-top:4px;display:flex}.star-btn{color:var(--text-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none}.star-btn.active{color:#eab308;transform:scale(1.1)}@media (hover:hover){.star-btn:hover{color:#eab308;transform:scale(1.1)}}.library-paging{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:20px;padding-top:16px;display:flex}.library-paging-count{color:var(--text-muted);font-size:.8rem}.game-card-achievements{color:var(--text-muted);white-space:nowrap;align-items:center;gap:3px;font-size:.68rem;display:inline-flex}.game-card-achievements.is-perfect{color:#fbbf24;font-weight:600}.mobile-subtab-switcher{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000040;width:100%;margin-bottom:16px;padding:4px;display:none}.subtab-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:8px 12px;font-size:.9rem;font-weight:600}.subtab-btn:active{transform:scale(.98)}.subtab-btn.active{color:#fff;background:#06b6d426;border:1px solid #06b6d433}@media (width<=1279.98px){.mobile-subtab-switcher{display:flex}.calendar-layout-wrapper.show-calendar .calendar-feed-sidebar,.calendar-layout-wrapper.show-feed .calendar-board{display:none!important}}.upcoming-filters{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0000002e;flex-wrap:wrap;align-items:flex-end;gap:18px;margin-bottom:20px;padding:14px 16px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group>label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:.72rem;font-weight:600}.upcoming-filters .form-select{min-width:180px;padding:7px 10px;font-size:.85rem}.price-filter-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000040;padding:3px;display:flex}.price-filter-toggle button{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600}.price-filter-toggle button.active{color:#fff;background:#06b6d426;border:1px solid #06b6d433}.clear-filters-btn{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:0 0;padding:8px 14px;font-size:.8rem;font-weight:600}.clear-filters-btn:hover{color:var(--color-danger);border-color:var(--color-danger)}.filter-result-count{color:var(--color-secondary);white-space:nowrap;background:#06b6d414;border:1px solid #06b6d433;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:600}@media (width<=480px){.upcoming-filters{gap:12px}.filter-group,.upcoming-filters .form-select,.price-filter-toggle{width:100%}.price-filter-toggle button{flex:1}.filter-result-count{text-align:center;width:100%}}.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 20px;display:flex}.calendar-layout-wrapper{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}@media (width>=1280px){.calendar-layout-wrapper{grid-template-columns:1fr 340px}}.upcoming-header-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reminders-toggle-btn{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:#00000040;align-items:center;gap:7px;padding:7px 14px;font-size:.85rem;font-weight:600;display:flex}.reminders-toggle-btn:hover{color:var(--color-secondary);border-color:var(--color-secondary)}.reminders-toggle-btn.active{color:#fff;border-color:var(--color-secondary);background:#22d3ee1f}.reminders-count{background:var(--color-secondary);color:#06181c;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.reminders-panel{text-align:left;margin-bottom:20px;padding:20px}.reminders-panel-header h3{color:#fff;align-items:center;gap:8px;font-size:1.05rem;display:flex}.reminders-panel-header p{color:var(--text-muted);margin-top:4px;font-size:.8rem}.reminders-empty{color:var(--text-muted);margin-top:14px;font-size:.85rem;line-height:1.5}.reminders-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}@media (width>=1280px){.reminders-list{max-height:300px;padding-right:4px;overflow-y:auto}}.reminder-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0003;align-items:center;gap:12px;padding:10px;display:flex}.reminder-item-cover{object-fit:cover;border-radius:4px;flex-shrink:0;width:38px;height:50px}.reminder-item-cover--empty{color:var(--text-dark);background:#ffffff0a;justify-content:center;align-items:center;display:flex}.reminder-item-info{flex-direction:column;flex-grow:1;min-width:0;display:flex}.reminder-item-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.reminder-item-date{color:var(--text-muted);margin-top:2px;font-size:.78rem}.reminder-status{color:var(--text-muted);border:1px solid var(--border-color);white-space:nowrap;background:#ffffff0d;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:.72rem;font-weight:600}.reminder-status--out{color:#06181c;background:var(--color-secondary);border-color:var(--color-secondary)}.reminder-delete-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:flex}.reminder-delete-btn:hover{color:var(--color-danger);border-color:var(--color-danger)}.reminder-delete-btn:disabled{opacity:.5;cursor:default}@media (width<=480px){.reminder-status{display:none}}.calendar-view-switcher{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000040;padding:3px;display:flex}.view-tab{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:600}.view-tab.active{color:#fff;background:#a855f726;border:1px solid #a855f733}.calendar-board{padding:20px}.calendar-controls{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-nav-btn{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;width:36px;height:36px;transition:var(--transition-fast);background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;display:flex}.calendar-nav-btn:hover{background:var(--color-primary-glow);border-color:var(--color-primary)}.calendar-title-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.calendar-current-title{text-transform:capitalize;color:#fff;font-size:1.25rem}.today-jump-btn{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;transition:var(--transition-fast);background:#06b6d41a;border:1px solid #06b6d440;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:.75rem;font-weight:700;display:inline-flex}.today-jump-btn:hover:not(:disabled){border-color:var(--color-secondary);background:#06b6d433}.today-jump-btn:disabled{opacity:.35;cursor:default}@media (width<=480px){.calendar-current-title{font-size:1.05rem}.today-jump-btn{padding:4px 8px;font-size:.7rem}}.calendar-grid-month{box-sizing:border-box;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;display:grid;overflow-x:hidden}.weekday-short{display:none}@media (width<=1300px){.weekday-full{display:none}.weekday-short{display:inline}}.calendar-weekday-header{text-align:center;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border-color);padding:8px 0;font-size:.8rem;font-weight:600}.calendar-day-box{aspect-ratio:1.35;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);color:inherit;text-align:left;background:#0000001a;flex-direction:column;justify-content:space-between;width:100%;padding:6px;font-family:inherit;display:flex}.calendar-day-box:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.calendar-day-box.past:not(.today){opacity:.45}@media (hover:hover){.calendar-day-box.past:hover{opacity:1}.calendar-day-box:hover{background:var(--bg-card-hover);border-color:var(--color-primary);z-index:5;transform:translateY(-2px)scale(1.03);box-shadow:0 4px 12px #a855f740}}.calendar-day-box:active{transform:scale(.97)}.calendar-day-box.empty{cursor:default;pointer-events:none;background:0 0;border-color:#0000}.calendar-day-box.today{border-color:var(--color-secondary);box-shadow:0 0 0 1px var(--color-secondary) inset;background:#06b6d414}.calendar-day-box.today .day-number{color:var(--color-secondary);justify-content:space-between;align-items:center;font-weight:700;display:flex}.today-tag{text-transform:uppercase;letter-spacing:.5px;background:var(--color-secondary);color:#06181c;border-radius:999px;padding:1px 6px;font-size:.55rem;font-weight:700;line-height:1.4}@media (width<=480px){.today-tag{padding:0 4px;font-size:.5rem}}.day-number{color:var(--text-muted);font-size:.85rem}.day-release-indicator{align-items:center;gap:4px;display:flex}.release-dot{background-color:var(--color-primary);width:5px;height:5px;box-shadow:0 0 4px var(--color-primary);border-radius:50%}.release-count-tag{color:var(--color-primary);font-size:.65rem;font-weight:500}.calendar-week-list{flex-direction:column;flex-grow:1;gap:12px;display:flex;overflow-y:auto}.week-day-row{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);text-align:left;width:100%;color:inherit;background:#00000026;align-items:center;gap:16px;padding:12px 16px;font-family:inherit;display:flex}.week-day-row:hover{border-color:var(--color-secondary);background:#00000040}.week-day-row:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.week-day-row.today{border-color:var(--color-primary);background:#a855f708;box-shadow:0 0 10px #a855f70d}.week-day-date-info{border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:60px;padding-right:16px;display:flex}.week-day-title-short{text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:600}.week-day-num-large{color:#fff;margin-top:2px;font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700}.week-day-row-releases{flex-wrap:wrap;flex-grow:1;align-items:center;gap:10px;min-width:0;display:flex}.week-release-row-item{border:1px solid var(--border-color);background:#ffffff08;border-radius:6px;flex:160px;align-items:center;gap:8px;min-width:0;max-width:220px;padding:4px 10px;display:flex}.week-row-mini-cover{object-fit:cover;border-radius:4px;flex-shrink:0;width:24px;height:32px}.week-row-text-info{flex-direction:column;flex-grow:1;min-width:0;display:flex}.week-row-mini-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.week-row-mini-platform{color:var(--text-muted);font-size:.65rem}.week-row-empty-text{color:var(--text-dark);font-size:.85rem;font-style:italic}.calendar-day-list-view{min-height:200px;overflow-x:hidden}.empty-day-state{color:var(--text-dark);flex-direction:column;justify-content:center;align-items:center;padding:50px 20px;display:flex}.empty-day-icon{margin-bottom:12px}.day-releases-detailed{flex-direction:column;gap:12px;display:flex}.day-release-row{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000026;align-items:center;gap:16px;padding:12px;display:flex}.day-row-cover{object-fit:cover;border-radius:var(--radius-sm);width:60px;height:80px}.day-row-details{text-align:left;flex-grow:1;min-width:0}.day-row-details h3{color:#fff;word-wrap:break-word;overflow-wrap:break-word;font-size:1.1rem}.day-row-meta{gap:8px;margin-top:6px;display:flex}.day-row-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.day-row-actions .reminder-btn{flex-shrink:0;padding:8px}.calendar-feed-sidebar{text-align:left;padding:20px}.feed-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.feed-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0003;align-items:center;gap:10px;padding:8px;display:flex}.feed-item-cover{object-fit:cover;border-radius:2px;width:30px;height:40px}.feed-item-info{flex-direction:column;flex-grow:1;min-width:0;display:flex}.feed-item-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.wishlist-mark{color:#ff6b81;margin-right:4px}.badge-wishlist{color:#ff9aab;white-space:nowrap;background:#ff6b8126;border:1px solid #ff6b8166;border-radius:20px;padding:2px 8px;font-size:.7rem}.feed-item-date{color:var(--text-muted);text-transform:capitalize;font-size:.75rem}.feed-item-platform{color:var(--text-dark);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.feed-extra-section{border-top:1px solid var(--border-color);margin-top:20px;padding-top:16px}.feed-extra-section h3{color:var(--text-muted);font-size:.95rem}.feed-plan-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.feed-plan-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-glow)}.feed-actions{align-items:center;gap:6px;display:flex}.reminder-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.reminder-btn:hover{color:var(--color-secondary);border-color:var(--color-secondary)}.reminder-btn:disabled{opacity:.5;cursor:default}.reminder-btn.reminder-on{color:var(--color-secondary);border-color:var(--color-secondary);background:#22d3ee1f}.feed-status-planned{color:var(--color-success);background:#10b9811a;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.feed-empty-text{color:var(--text-dark);text-align:center;padding:10px 0;font-size:.85rem}.modal-description{color:var(--text-muted);font-size:.9rem;line-height:1.5}.modal-game-details{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0003;flex-direction:column;gap:8px;margin-top:20px;padding:12px 14px;display:flex}.modal-game-details .detail-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:.85rem;display:flex}.modal-game-details .detail-row span{color:var(--text-muted);flex-shrink:0}.modal-game-details .detail-row strong{color:var(--text-main);text-align:right;font-weight:600}.btn-planned{color:var(--color-success);cursor:default;background:#10b98114;border-color:#10b9814d}@media (width<=1300px){.calendar-board{padding:14px}.calendar-grid-month{gap:4px}.calendar-day-box{padding:4px}}@media (width<=768px){.day-release-row{flex-wrap:wrap;gap:12px}.day-row-actions{width:100%;margin-left:0}.day-row-actions .btn{justify-content:center;width:100%;display:flex}.calendar-board{padding:10px}.calendar-grid-month{gap:3px}.calendar-day-box{aspect-ratio:1.1;padding:3px}.day-number{font-size:.75rem}}@media (width<=480px){.calendar-day-box{aspect-ratio:1;padding:3px;position:relative}.day-release-indicator{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;gap:0;width:14px;height:14px;margin:0;font-size:.6rem;font-weight:700;display:flex;position:absolute;bottom:3px;right:3px;box-shadow:0 0 5px #a855f799}.release-dot{display:none}.release-count-tag{margin:0;padding:0;font-size:.6rem;line-height:1;color:#fff!important}.calendar-weekday-header{padding:4px 0;font-size:.7rem}.week-day-row{gap:10px;padding:8px 10px}.week-day-date-info{min-width:45px;padding-right:10px}.week-day-num-large{font-size:1.25rem}.week-row-empty-text{font-size:.75rem}}.deals-state-text{color:var(--text-muted);max-width:420px;margin-top:12px;line-height:1.5}.deals-state-text strong{color:var(--text-main)}.deals-state-icon{color:var(--text-dark)}.deals-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.deal-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.deal-card-img{aspect-ratio:460/215;object-fit:cover;border-bottom:1px solid var(--border-color);width:100%;display:block}.deal-card-body{flex-direction:column;flex-grow:1;gap:9px;padding:14px 16px 16px;display:flex}.deal-card-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.deal-card-title{color:#fff;min-width:0;font-size:1.02rem;line-height:1.25}.deal-discount{color:#6ee7b7;background:#10b9811f;border:1px solid #10b9814d;border-radius:6px;flex-shrink:0;padding:3px 8px;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700}.deal-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.deal-year{color:var(--text-muted);border:1px solid var(--border-color);background:#ffffff0d;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600}.deal-genre-chip{color:#c4b5fd;background:#a855f724;border:1px solid #a855f74d;border-radius:999px;padding:2px 8px;font-size:.68rem}.deal-card-desc{color:var(--text-muted);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.83rem;line-height:1.45;display:-webkit-box;overflow:hidden}.deal-card-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex}.deal-prices{align-items:baseline;gap:8px;display:flex}.deal-price-old{color:var(--text-dark);font-size:.85rem;text-decoration:line-through}.deal-price-new{color:#6ee7b7;font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:700}.deal-actions{align-items:center;gap:8px;display:flex}.deal-owned-chip{color:var(--color-success);border-radius:var(--radius-sm);background:#10b98114;border:1px solid #10b98147;align-items:center;gap:5px;padding:6px 10px;font-size:.78rem;font-weight:600;display:inline-flex}@media (width>=769px){.deals-container{overflow:hidden}.deals-container .deals-scroll{flex-grow:1;min-height:0;padding-bottom:12px;padding-right:4px;overflow-y:auto}}.admin-container{flex-direction:column;gap:20px;display:flex}.admin-loading{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 20px;display:flex}.admin-fresh-password{background:#f59e0b0f;border-color:#f59e0b59;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.admin-fresh-title{margin-bottom:8px;font-size:.85rem;font-weight:600}.admin-fresh-code{letter-spacing:.05em;-webkit-user-select:all;user-select:all;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000059;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;display:inline-block}.admin-fresh-note{color:var(--text-muted);max-width:46ch;margin-top:8px;font-size:.72rem;line-height:1.4}.admin-fresh-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-user-list{flex-direction:column;gap:12px;display:flex}.admin-user-card{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.admin-user-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-user-identity{align-items:flex-start;gap:10px;display:flex}.admin-role-icon{color:var(--text-muted);flex-shrink:0;margin-top:2px}.admin-role-icon.is-admin{color:var(--color-success)}.admin-user-name{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.admin-tag{text-transform:uppercase;font-size:.6rem}.admin-user-meta{color:var(--text-muted);margin-top:4px;font-size:.75rem}.admin-user-stats{color:var(--text-muted);text-align:right;flex-wrap:wrap;gap:14px;font-size:.75rem;display:flex}.admin-user-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.admin-self-note{color:var(--text-muted);border-top:1px solid var(--border-color);padding-top:12px;font-size:.75rem}@media (width<=768px){.admin-user-stats{text-align:left;gap:10px}.admin-user-actions .btn{flex:45%;justify-content:center}}.account-modal{max-width:460px}.account-identity{align-items:center;gap:12px;display:flex}.account-role-icon{color:var(--text-muted);flex-shrink:0}.account-role-icon.is-admin{color:var(--color-success)}.account-username{font-size:1.05rem;font-weight:600}.account-meta{color:var(--text-muted);margin-top:2px;font-size:.75rem}.account-hint{color:var(--text-muted);margin:6px 0 14px;font-size:.75rem;line-height:1.4}.account-error{color:#fda4af;border-radius:var(--radius-sm);background:#f43f5e1a;border:1px solid #f43f5e40;margin-bottom:14px;padding:8px 10px;font-size:.8rem}.account-reveal-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:-4px;padding:0;font-size:.75rem;display:flex}.account-reveal-btn:hover{color:#fff}.account-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@media (width<=480px){.account-actions .btn{flex:1;justify-content:center}}.login-container{justify-content:center;align-items:center;min-height:80vh;padding:20px;display:flex}.login-card{border-radius:var(--radius-lg);text-align:center;border:1px solid #ffffff14;width:100%;max-width:420px;padding:32px;box-shadow:0 20px 40px #00000080}.login-logo-section{flex-direction:column;align-items:center;gap:8px;margin-bottom:28px;display:flex}.login-logo-icon{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:8px;font-size:1.6rem;font-weight:800;display:flex;box-shadow:0 4px 15px #a855f766}.login-logo-text{background:linear-gradient(to right, #fff, var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Space Grotesk,sans-serif;font-size:1.8rem}.login-subtitle{color:var(--text-muted);font-size:.85rem}.login-tabs{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000040;margin-bottom:20px;padding:3px;display:flex}.login-tab{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:8px 12px;font-size:.9rem;font-weight:600}.login-tab.active{color:#fff;background:#a855f726;border:1px solid #a855f733}.login-error-alert{color:#fda4af;border-radius:var(--radius-sm);text-align:left;background:#f43f5e1a;border:1px solid #f43f5e33;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;font-size:.85rem;display:flex}.error-alert-icon{color:var(--color-danger);flex-shrink:0}.login-form{flex-direction:column;gap:16px;display:flex}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-dark);pointer-events:none;position:absolute;left:12px}.login-input{background:#0000004d;width:100%;padding-left:38px;padding-right:38px}.password-toggle-btn{color:var(--text-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:12px}.password-toggle-btn:hover{color:var(--text-muted)}.login-submit-btn{width:100%;margin-top:10px;padding:12px;font-size:1rem}.login-footer-info{color:var(--text-dark);margin-top:24px;font-size:.85rem}.login-footer-note{color:var(--text-dark);margin-top:8px;font-size:.75rem;display:block}.login-divider{text-align:center;color:var(--text-dark);text-transform:uppercase;align-items:center;margin:20px 0;font-size:.8rem;font-weight:500;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.login-divider:not(:empty):before{margin-right:12px}.login-divider:not(:empty):after{margin-left:12px}.google-sso-wrapper{justify-content:center;width:100%;min-height:40px;display:flex}
