.region-selector{position:relative}.region-selector-trigger{align-items:center;background:#0000;border:1px solid var(--fs-border);color:var(--fs-text);cursor:pointer;display:flex;font-size:.8125rem;gap:.375rem;padding:.5rem .75rem;transition:all .2s ease}.region-selector-trigger:hover{background-color:#0ea5e91a;border-color:var(--fs-cyan)}.region-flag{font-size:1rem;line-height:1}.region-currency{font-weight:500}.region-chevron{opacity:.6;transition:transform .2s ease}.region-chevron.open{transform:rotate(180deg)}.region-dropdown{background-color:var(--fs-bg-elevated);border:1px solid var(--fs-border);box-shadow:0 8px 24px #0006;max-height:400px;min-width:220px;overflow-y:auto;padding:.5rem 0;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.region-option{align-items:center;background:none;border:none;color:var(--fs-text);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.625rem 1rem;text-align:left;transition:background-color .15s ease;width:100%}.region-option:hover{background-color:#0ea5e91a}.region-option.active{background-color:#0ea5e926;color:var(--fs-cyan)}.region-name{flex:1 1}.region-currency-label{color:var(--fs-text-muted);font-size:.75rem}.region-check{color:var(--fs-cyan);font-weight:600}.region-divider{background-color:var(--fs-border);height:1px;margin:.5rem 0}@media (max-width:768px){.region-selector-trigger{padding:.375rem .5rem}.region-currency{display:none}.region-dropdown{min-width:200px;right:-1rem}}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0c10d9;border-bottom:1px solid var(--fs-border);padding:.75rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{gap:2rem}.logo{align-items:center;display:flex;flex-shrink:0;gap:.75rem;text-decoration:none;transition:opacity .2s ease}.logo:hover{opacity:.85}.logo-icon{filter:drop-shadow(0 0 8px rgba(0,212,255,.2));height:36px}.logo-icon,.logo-text{object-fit:contain;width:auto}.logo-text{height:20px;opacity:.95}.nav{display:flex;gap:.25rem}.nav-link{color:var(--fs-text-secondary);font-size:.875rem;font-weight:500;padding:.5rem 1rem;position:relative;text-decoration:none;transition:color .2s ease}.nav-link:hover{color:var(--fs-text)}.nav-link.active{color:var(--fs-cyan)}.nav-link:after{background:var(--fs-cyan);bottom:0;content:"";height:2px;left:1rem;position:absolute;right:1rem;transform:scaleX(0);transition:transform .2s ease}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}.header-actions{align-items:center;gap:.75rem;margin-left:auto}.search-form{align-items:center;position:relative}.search-icon{color:var(--fs-text-muted);left:.75rem}.search-input{background:var(--fs-bg-surface);font-size:.8125rem;padding:.5rem .75rem .5rem 2.25rem;width:200px}.search-input:focus{background:var(--fs-bg-elevated);width:280px}.search-input::-webkit-search-cancel-button{-webkit-appearance:none}.auth-loading{color:var(--fs-text-muted);font-size:.875rem}.btn-signin{background:#0000;border:1px solid var(--fs-cyan);color:var(--fs-cyan);cursor:pointer;font-size:.8125rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.btn-signin:hover{background:var(--fs-cyan);color:var(--fs-bg)}.user-menu{align-items:center;display:flex;gap:.5rem}.user-avatar{border-radius:4px;height:28px;object-fit:cover;width:28px}.user-avatar-fallback{align-items:center;background:linear-gradient(135deg,var(--fs-cyan),var(--fs-magenta));color:#fff;display:flex;font-size:.75rem;font-weight:600;justify-content:center}.user-name{font-weight:500;max-width:100px}.btn-logout{align-items:center;background:#0000;border:1px solid var(--fs-border);color:var(--fs-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.375rem;transition:all .2s ease}.btn-logout:hover{border-color:var(--fs-error);color:var(--fs-error)}.mobile-menu-toggle{align-items:center;background:#0000;border:1px solid var(--fs-border);cursor:pointer;display:none;flex-direction:column;gap:4px;height:36px;justify-content:center;padding:0;width:36px}.mobile-menu-toggle span{background:var(--fs-text);display:block;height:2px;transition:all .2s ease;width:18px}.mobile-menu-toggle.open span:first-child{transform:translateY(6px) rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-nav-overlay{background:#00000080;display:none;inset:0;position:fixed;top:60px;z-index:999}@media (max-width:992px){.header-content{gap:1rem}.search-input{width:160px}.search-input:focus{width:200px}.user-name{display:none}}@media (max-width:768px){.mobile-menu-toggle{display:flex}.mobile-nav-overlay{display:block}.nav{background:var(--fs-bg-elevated);border-bottom:1px solid var(--fs-border);flex-direction:column;gap:0;left:0;opacity:0;padding:.5rem 0;position:fixed;right:0;top:53px;transform:translateY(-100%);transition:all .3s ease;visibility:hidden;z-index:1000}.nav.nav-open{opacity:1;transform:translateY(0);visibility:visible}.nav-link{font-size:.9375rem;padding:.875rem 1.5rem}.nav-link:after{display:none}.nav-link.active{background:var(--fs-bg-hover)}.search-form{display:none}.logo-text{height:18px}.logo-icon{height:32px}}@media (max-width:480px){.header{padding:.5rem 0}.header-content,.logo{gap:.5rem}.logo-text{display:none}.logo-icon{height:28px}.header-actions{gap:.5rem}.btn-signin{font-size:.75rem;padding:.375rem .75rem}}.cookie-consent{animation:slideUp .3s ease;background-color:var(--fs-bg-elevated);border-top:1px solid var(--fs-border);bottom:0;box-shadow:var(--fs-shadow-lg);left:0;position:fixed;right:0;z-index:9999}.cookie-consent-content{margin:0 auto;max-width:1280px;padding:1rem}.cookie-header h3{font-size:1rem;font-weight:600;margin-bottom:.5rem}.cookie-description{color:var(--fs-text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:1rem}.cookie-categories{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem}.cookie-category{border-bottom:1px solid var(--fs-border);padding-bottom:.75rem}.cookie-category:last-child{border-bottom:none;padding-bottom:0}.cookie-category-header{align-items:center;display:flex;margin-bottom:.25rem}.cookie-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.cookie-label input:disabled{cursor:not-allowed}.cookie-category-name{font-size:.875rem;font-weight:500}.cookie-required{margin-left:.25rem}.cookie-category-desc,.cookie-required{color:var(--fs-text-muted);font-size:.75rem}.cookie-category-desc{line-height:1.4;margin-left:1.625rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.cookie-footer{margin-top:.75rem;text-align:center}.cookie-link{color:var(--fs-text-muted);font-size:.75rem}.cookie-link:hover{color:var(--fs-cyan)}@media (max-width:768px){.cookie-consent-content{padding:.75rem}.cookie-actions{flex-direction:column}.cookie-actions .btn{width:100%}}.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem}.loading-spinner{border-radius:50%}.loading-message{color:var(--fs-text-muted);margin-top:1rem}.game-card{color:inherit;display:flex;flex-direction:column;height:100%;text-decoration:none;transition:transform .2s,box-shadow .2s}.game-card:hover{box-shadow:0 8px 24px #0000004d;text-decoration:none;transform:translateY(-4px)}.game-card-image{aspect-ratio:460/215;background-color:var(--fs-dark);flex-shrink:0;overflow:hidden;position:relative;width:100%}.game-card-discount{background:#22c55e;border-radius:4px;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .5rem;position:absolute;right:8px;top:8px;z-index:1}.game-card-rank{border-color:var(--fs-cyan) #0000 #0000 #0000;border-style:solid;border-width:52px 52px 0 0;height:0;left:0;position:absolute;top:0;width:0;z-index:2}.game-card-rank .rank-number{color:#0a0a0f;font-size:.875rem;font-weight:800;left:4px;line-height:1;position:absolute;text-shadow:none;top:-48px}.game-card-rank:has(.rank-number:first-child){border-width:56px 56px 0 0}.game-card-image img{background-color:var(--fs-dark);height:100%;object-fit:contain;transition:transform .3s;width:100%}.game-card:hover .game-card-image img{transform:scale(1.05)}.game-card-placeholder{align-items:center;background-color:var(--fs-dark);color:var(--fs-text-muted);display:flex;height:100%;justify-content:center;width:100%}.game-card-content{display:flex;flex:1 1;flex-direction:column;padding:.75rem}.game-card-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.25rem}.game-card-header .game-card-price{flex-shrink:0;text-align:right}.game-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--fs-text);display:-webkit-box;flex:1 1;font-size:1rem;font-weight:600;line-height:1.25;min-height:2.5em;overflow:hidden}.game-card-genres{display:flex;flex-wrap:nowrap;gap:.375rem;height:1.375rem;margin-bottom:.375rem;overflow:hidden}.genre-tag{background-color:var(--fs-dark);border-radius:3px;color:var(--fs-text-muted);flex-shrink:0;font-size:.7rem;padding:.125rem .375rem;white-space:nowrap}.genre-tag-placeholder{opacity:.5}.game-card-description{color:var(--fs-text-muted);font-size:.875rem;margin-bottom:.75rem}.game-card-reviews{cursor:help;margin-bottom:.5rem;min-height:1.75rem}.reviews-bar{background:#ef4444;border-radius:2px;height:5px;margin-bottom:.2rem;overflow:hidden}.reviews-positive{background:#22c55e;border-radius:3px 0 0 3px;height:100%}.reviews-info{align-items:center;display:flex;font-size:.7rem;gap:.25rem}.reviews-percent{font-weight:600}.reviews-low{color:#ef4444}.reviews-medium{color:#f59e0b}.reviews-high{color:#22c55e}.reviews-count,.reviews-none{color:var(--fs-text-muted)}.reviews-none{font-style:italic}.game-card-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.game-card-stats{display:flex;font-size:.8125rem;gap:.75rem}.rating{cursor:help;font-weight:600}.rating-low{color:#ef4444}.rating-medium{color:#f59e0b}.rating-high{color:#22c55e}.players{color:var(--fs-cyan)}.game-card-price .free{color:#4caf50;font-weight:600}.game-card-price .price{color:var(--fs-text);font-weight:600}.game-card-price .price-with-discount{align-items:center;display:flex;gap:.375rem}.game-card-price .original-price{color:var(--fs-text-muted);font-size:.75rem;text-decoration:line-through}.game-card-price .discounted-price{color:#22c55e;font-weight:600}.game-card-updated{border-top:1px solid var(--fs-border);color:var(--fs-text-muted);display:flex;font-size:.675rem;gap:.375rem;margin-top:.375rem;opacity:.7;padding-top:.375rem}.game-card-updated span{cursor:help}.game-card-updated:hover{opacity:1}.home{width:100%}.gems-carousel-section{position:relative;width:100%}.gems-carousel{min-height:520px;overflow:hidden;position:relative}.carousel-bg{background-position:50%;background-size:cover;filter:blur(20px) brightness(.4);inset:0;position:absolute;transform:scale(1.1);transition:background-image .5s ease}.carousel-overlay{background:linear-gradient(135deg,#0a0c10cc,#0a0c1080);inset:0;position:absolute}.carousel-content{align-items:center;display:flex;gap:2rem;justify-content:space-between;min-height:520px;padding:2.5rem 2rem 4rem;position:relative;z-index:10}.carousel-info{flex:1 1;max-width:480px}.carousel-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.gem-badge{background:linear-gradient(135deg,#f97316,#ec4899);border-radius:2px;box-shadow:0 2px 8px #f9731666;color:#fff;display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.1em;padding:.375rem .875rem;text-transform:uppercase}.gem-counter{color:#ffffff80;font-size:.8125rem;font-weight:500}.carousel-title{color:#fff;font-size:2.25rem;font-weight:800;line-height:1.15;margin-bottom:.625rem;text-shadow:0 2px 20px #0000004d}.carousel-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#ffffffbf;display:-webkit-box;font-size:.9375rem;line-height:1.6;margin-bottom:1rem;overflow:hidden}.carousel-stats{display:flex;gap:2rem;margin-bottom:1rem}.carousel-stat{display:flex;flex-direction:column;gap:.125rem}.carousel-stat .stat-value{color:#fff;font-size:1.375rem;font-weight:700}.carousel-stat .stat-value.accent{color:var(--fs-cyan)}.carousel-stat .stat-label{color:#ffffff80;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase}.carousel-stat .stat-value.rating-low{color:#ef4444}.carousel-stat .stat-value.rating-medium{color:#f59e0b}.carousel-stat .stat-value.rating-high{color:#22c55e}.carousel-genres{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1.25rem}.carousel-genres .genre-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff14;border:1px solid #ffffff26;border-radius:2px;color:#ffffffbf;font-size:.75rem;font-weight:500;padding:.25rem .625rem;transition:all .2s ease}.carousel-genres .genre-pill:hover{background:#ffffff26;border-color:#ffffff4d}.carousel-actions{display:flex;flex-wrap:wrap;gap:.75rem}.carousel-actions .btn{font-size:.875rem;padding:.625rem 1.25rem}.carousel-actions .btn-ghost{border-color:#ffffff4d;color:#ffffffb3}.carousel-actions .btn-ghost:hover{background:#ffffff1a;border-color:#fff9;color:#fff}.carousel-image-container{align-items:center;display:flex;flex:0 0 auto;height:100%;justify-content:center;padding:1.5rem 0}.carousel-image-wrapper{align-items:center;display:flex;height:100%;position:relative}.carousel-image{border:2px solid #ffffff1a;border-radius:8px;box-shadow:0 20px 60px #00000080,0 8px 25px #0000004d;display:block;height:400px;max-width:100%;object-fit:contain;transition:transform .3s ease,box-shadow .3s ease;width:auto}.carousel-image-wrapper:hover .carousel-image{box-shadow:0 25px 70px #0009,0 10px 30px #0006;transform:scale(1.02)}.image-glow{background:linear-gradient(135deg,var(--fs-cyan),var(--fs-magenta));border-radius:12px;filter:blur(30px);inset:-10px;opacity:.15;position:absolute;transition:opacity .3s ease;z-index:-1}.carousel-image-wrapper:hover .image-glow{opacity:.25}.carousel-arrow{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;border:1px solid #ffffff26;border-radius:50%;color:#fffc;cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:44px;z-index:30}.carousel-arrow:hover{background:#000000b3;border-color:var(--fs-cyan);box-shadow:0 0 20px #0ea5e94d;color:#fff;transform:translateY(-50%) scale(1.08)}.carousel-arrow:active{transform:translateY(-50%) scale(.95)}.carousel-arrow svg{height:22px;width:22px}.carousel-arrow-prev{left:1.5rem}.carousel-arrow-next{right:1.5rem}.carousel-thumbnails{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0009;border:1px solid #ffffff14;border-radius:6px;bottom:1rem;display:flex;gap:.5rem;padding:.5rem .75rem;position:absolute;right:2rem;z-index:25}.carousel-thumb{background:none;border:1px solid #0000;border-radius:3px;cursor:pointer;height:34px;overflow:hidden;padding:0;position:relative;transition:all .2s ease;width:72px}.carousel-thumb img{height:100%;object-fit:cover;opacity:.5;transition:all .2s ease;width:100%}.carousel-thumb:hover img{opacity:.85}.carousel-thumb.active{border-color:var(--fs-cyan);box-shadow:0 0 12px #0ea5e966}.carousel-thumb.active img{opacity:1}.thumb-title{background:linear-gradient(#0000,#000000e6);bottom:0;color:#fff;font-size:.5rem;font-weight:500;left:0;opacity:0;overflow:hidden;padding:2px 3px;position:absolute;right:0;text-overflow:ellipsis;transition:opacity .2s ease;white-space:nowrap}.carousel-thumb.active .thumb-title,.carousel-thumb:hover .thumb-title{opacity:1}.carousel-progress{background:#ffffff14;bottom:0;height:2px;left:0;position:absolute;right:0;z-index:20}.progress-bar{animation:progress 5s linear forwards;background:linear-gradient(90deg,var(--fs-cyan),var(--fs-magenta));box-shadow:0 0 8px #0ea5e980;height:100%}@keyframes progress{0%{width:0}to{width:100%}}.hero-fallback{background:linear-gradient(135deg,var(--fs-bg-surface) 0,var(--fs-bg) 100%);padding:6rem 0;text-align:center}.hero-fallback .hero-title{color:var(--fs-text);font-size:3rem;font-weight:800;margin-bottom:1rem}.hero-title .highlight{color:var(--fs-cyan)}.hero-subtitle{color:var(--fs-text-secondary);font-size:1.25rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px}.rating-low{color:#ef4444!important}.rating-medium{color:#f59e0b!important}.rating-high{color:#22c55e!important}.trending-section{padding:4rem 0}.section-header{align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.section-title-group{display:flex;flex-direction:column;gap:.25rem}.section-title{font-size:1.75rem;font-weight:700}.section-title.centered{margin-bottom:2rem;text-align:center;width:100%}.section-actions{gap:.75rem}.random-games-section{background:var(--fs-bg-surface);border-bottom:1px solid var(--fs-border);border-top:1px solid var(--fs-border);padding:4rem 0}.games-grid-5{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(5,1fr)}.categories-section{padding:4rem 0}.categories-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.category-card{align-items:center;background:var(--fs-bg-elevated);border:1px solid var(--fs-border);display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;text-decoration:none;transition:all .2s ease}.category-card:hover{border-color:var(--fs-cyan);box-shadow:var(--fs-shadow-md);transform:translateY(-2px)}.category-card.free{background:linear-gradient(135deg,#10b9811a,#14b8a61a);border-color:#10b9814d}.category-card.free:hover{border-color:var(--fs-success)}.category-icon{font-size:2rem;margin-bottom:.5rem}.category-name{color:var(--fs-text);font-size:.875rem;font-weight:500}.error-hint{color:var(--fs-text-muted);font-size:.875rem;margin-top:.75rem}.error-hint code{background:var(--fs-bg-hover);font-family:monospace;padding:.25rem .5rem}.empty-state{background:var(--fs-bg-surface)}@media (max-width:1200px){.carousel-image{height:320px}.carousel-title{font-size:2rem}.carousel-arrow{height:40px;width:40px}.carousel-arrow svg{height:20px;width:20px}.carousel-thumb{height:30px;width:64px}.games-grid-5{grid-template-columns:repeat(4,1fr)}}@media (max-width:992px){.gems-carousel{min-height:auto}.carousel-overlay{background:linear-gradient(180deg,#0a0c1066,#0a0c10d9)}.carousel-content{justify-content:flex-end;min-height:auto;padding:6rem 1.5rem 5rem;text-align:center}.carousel-info{max-width:100%}.carousel-actions,.carousel-genres,.carousel-header,.carousel-stats{justify-content:center}.carousel-arrow{height:38px;width:38px}.carousel-arrow-prev{left:.75rem}.carousel-arrow-next{right:.75rem}.carousel-thumbnails{gap:.375rem;padding:.375rem .5rem;right:1rem}.carousel-thumb{height:26px;width:56px}.thumb-title{display:none}}@media (max-width:768px){.carousel-content{padding:1.5rem 1rem 4.5rem}.carousel-title{font-size:1.625rem}.carousel-description{font-size:.875rem}.carousel-stats{gap:1.25rem}.carousel-stat .stat-value{font-size:1.125rem}.carousel-arrow{height:36px;width:36px}.carousel-arrow svg{height:18px;width:18px}.carousel-arrow-prev{left:.5rem}.carousel-arrow-next{right:.5rem}.carousel-thumbnails{-webkit-overflow-scrolling:touch;left:50%;max-width:calc(100% - 2rem);overflow-x:auto;right:auto;transform:translateX(-50%)}.carousel-thumb{flex-shrink:0;height:23px;width:50px}.section-header{align-items:flex-start;flex-direction:column}.section-title{font-size:1.5rem}.categories-section,.random-games-section,.trending-section{padding:2.5rem 0}.games-grid-5{grid-template-columns:repeat(3,1fr)}.hero-fallback .hero-title{font-size:2rem}}@media (max-width:480px){.carousel-title{font-size:1.375rem}.carousel-stats{flex-wrap:wrap;gap:.75rem}.carousel-stat{align-items:center;flex:1 1;min-width:70px}.carousel-stat .stat-value{font-size:1rem}.carousel-actions{flex-direction:column;width:100%}.carousel-actions .btn{font-size:.8125rem;padding:.5rem 1rem;width:100%}.gem-badge{font-size:.5625rem;padding:.25rem .5rem}.carousel-arrow{height:32px;width:32px}.carousel-arrow svg{height:16px;width:16px}.carousel-thumbnails{gap:.25rem;padding:.25rem .375rem}.carousel-thumb{height:20px;width:44px}.category-card{padding:1.5rem .75rem}.category-icon{font-size:1.5rem}.games-grid-5{gap:1rem;grid-template-columns:repeat(2,1fr)}}.game-list-page{padding:2rem 0}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.header-left{align-items:baseline;display:flex;gap:1rem}.result-count{color:var(--fs-text-muted);font-size:.875rem}.header-right{display:flex;gap:.5rem}.filter-toggle{position:relative}.filter-toggle.active{background-color:var(--fs-bg-hover);border-color:var(--fs-cyan);color:var(--fs-cyan)}.filter-badge{align-items:center;background-color:var(--fs-cyan);color:var(--fs-text-inverse);display:inline-flex;font-size:.6875rem;font-weight:700;height:18px;justify-content:center;margin-left:.5rem;min-width:18px;padding:0 4px}.search-sort-bar{display:flex;gap:1rem;margin-bottom:1rem}.search-wrapper{flex:1 1}.search-input-lg{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text);font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.search-input-lg::placeholder{color:var(--fs-text-muted)}.search-input-lg:focus{border-color:var(--fs-cyan);box-shadow:0 0 0 2px #0ea5e91a;outline:none}.sort-select{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text);cursor:pointer;font-size:.875rem;min-width:180px;padding:.75rem 1rem}.sort-select:focus{border-color:var(--fs-cyan);outline:none}.filters-panel{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);margin-bottom:1.5rem;padding:1.5rem}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.filter-group{gap:.5rem}.filter-label{font-size:.6875rem;font-weight:600;letter-spacing:.05em}.filter-select{background-color:var(--fs-bg-elevated)}.filter-actions{border-top:1px solid var(--fs-border);display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.clear-filters{color:var(--fs-text-muted)}.clear-filters:hover{color:var(--fs-error)}.active-filters{background-color:var(--fs-bg-surface);display:flex;flex-wrap:wrap;margin-bottom:1.5rem;padding:.75rem 1rem}.active-filters,.filter-tag{align-items:center;border:1px solid var(--fs-border);gap:.5rem}.filter-tag{background-color:var(--fs-bg-hover);color:var(--fs-text-secondary);display:inline-flex;font-size:.8125rem;padding:.375rem .75rem}.filter-tag button{align-items:center;background:#0000;border:none;color:var(--fs-text-muted);cursor:pointer;display:flex;font-size:1rem;height:16px;justify-content:center;line-height:1;padding:0;transition:color .15s ease;width:16px}.filter-tag button:hover{color:var(--fs-error)}.games-grid{margin-bottom:2rem}.pagination{gap:1rem;justify-content:center;padding:2rem 0}.page-info{color:var(--fs-text-muted);font-weight:500}.pagination .btn:disabled{cursor:not-allowed;opacity:.5}.empty-state,.error-message{background-color:var(--fs-bg-surface)}.empty-state{border:1px solid var(--fs-border);padding:4rem}.empty-hint{color:var(--fs-text-muted);font-size:.875rem;margin-top:.5rem}.section-title{align-items:center;display:flex;font-size:1.25rem;gap:1rem;margin-bottom:1rem;margin-top:2rem}.section-title:first-child{margin-top:0}.steam-results-section{border-top:1px solid var(--fs-border);margin-top:2rem;padding-top:2rem}.importing-badge{align-items:center;animation:pulse 2s infinite;background-color:var(--fs-cyan);border-radius:4px;color:var(--fs-text-inverse);display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;padding:.25rem .75rem}.steam-hint{color:var(--fs-text-muted);font-size:.875rem;margin-bottom:1rem}.steam-results-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.steam-result-card{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);border-radius:4px;opacity:.8;overflow:hidden}.steam-result-image{background-color:var(--fs-dark);height:140px;overflow:hidden;position:relative;width:100%}.steam-result-image img{height:100%;object-fit:cover;width:100%}.steam-result-placeholder{color:var(--fs-text-muted);font-size:.875rem;height:100%;width:100%}.importing-overlay,.steam-result-placeholder{align-items:center;display:flex;justify-content:center}.importing-overlay{background-color:#0009;color:#fff;flex-direction:column;font-size:.75rem;gap:.5rem;inset:0;position:absolute}.importing-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top:2px solid var(--fs-cyan);height:24px;width:24px}.steam-result-content{align-items:center;display:flex;justify-content:space-between;padding:1rem}.steam-result-title{color:var(--fs-text);flex:1 1;font-size:1rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steam-result-price{color:var(--fs-text-muted);font-size:.875rem;margin-left:1rem}@media (max-width:992px){.filters-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.game-list-page{padding:1.5rem 0}.page-header{align-items:stretch;flex-direction:column}.header-left{align-items:flex-start;flex-direction:column;gap:.25rem}.page-header h1{font-size:1.5rem}.header-right{justify-content:flex-end}.search-sort-bar{flex-direction:column}.sort-select{min-width:100%}.filters-grid{grid-template-columns:repeat(2,1fr)}.games-grid{gap:1rem;grid-template-columns:1fr 1fr}.pagination{flex-wrap:wrap;padding:1rem 0}.active-filters{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.page-header h1{font-size:1.25rem}.search-input-lg{font-size:.875rem;padding:.625rem .875rem}.filters-grid,.games-grid{grid-template-columns:1fr}}.interactive-chart-container{background:#0000;cursor:crosshair;height:400px;overflow:hidden;padding:1rem 0;position:relative;width:100%}.interactive-chart-canvas{display:block;position:relative;z-index:1}.interactive-chart-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172af2;border:1px solid #ffffff1a;border:1px solid var(--fs-border,#ffffff1a);box-shadow:0 4px 12px #0006;min-width:140px;padding:.75rem 1rem;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:100}.interactive-chart-tooltip .tooltip-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.25rem}.interactive-chart-tooltip .tooltip-icon{align-items:center;display:flex;height:20px;justify-content:center;width:20px}.interactive-chart-tooltip .tooltip-icon svg{stroke:#22d3ee;stroke:var(--fs-cyan,#22d3ee);height:16px;width:16px}.interactive-chart-tooltip .tooltip-value{color:#f1f5f9;color:var(--fs-text-primary,#f1f5f9);font-size:1.25rem;font-weight:700;line-height:1.2}.interactive-chart-tooltip .tooltip-label{color:#94a3b8;color:var(--fs-text-muted,#94a3b8);font-size:.7rem;letter-spacing:.08em;margin-bottom:.5rem;padding-left:calc(28px + .75rem);text-transform:uppercase}.interactive-chart-tooltip .tooltip-divider{background:linear-gradient(90deg,#0000,#94a3b833 50%,#0000);height:1px;margin:.5rem 0}.interactive-chart-tooltip .tooltip-date{align-items:center;color:#e2e8f0;color:var(--fs-text-secondary,#e2e8f0);display:flex;font-size:.8rem;gap:.5rem}.interactive-chart-tooltip .date-icon{stroke:#94a3b8;stroke:var(--fs-text-muted,#94a3b8);height:14px;opacity:.7;width:14px}.interactive-chart-tooltip .tooltip-trend{font-size:.8rem;font-weight:600;margin-top:.5rem}.interactive-chart-tooltip .trend-up{align-items:center;color:#22c55e;display:flex;gap:.25rem}.interactive-chart-tooltip .trend-up:before{content:"↑";font-size:.9rem}.interactive-chart-tooltip .trend-down{align-items:center;color:#ef4444;display:flex;gap:.25rem}.interactive-chart-tooltip .trend-down:before{content:"↓";font-size:.9rem}.interactive-chart-tooltip .trend-flat{color:#94a3b8;color:var(--fs-text-muted,#94a3b8)}.interactive-chart-legend{display:flex;gap:2rem;justify-content:center;margin-top:1.25rem;padding-top:1rem;position:relative;z-index:1}.interactive-chart-legend:before{background:linear-gradient(90deg,#0000,#22d3ee33 50%,#0000);content:"";height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:80%}.interactive-chart-legend .legend-item{align-items:center;color:#94a3b8;color:var(--fs-text-muted,#94a3b8);display:flex;font-size:.8rem;gap:.6rem;transition:color .2s}.interactive-chart-legend .legend-item:hover{color:#f1f5f9;color:var(--fs-text-primary,#f1f5f9)}.interactive-chart-legend .legend-dot{border-radius:50%;height:10px;position:relative;width:10px}.interactive-chart-legend .legend-dot:after{border-radius:50%;content:"";inset:-3px;opacity:.3;position:absolute}.interactive-chart-legend .legend-dot.cyan{background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 0 8px #22d3ee80}.interactive-chart-legend .legend-dot.cyan:after{background:radial-gradient(circle,#22d3ee4d,#0000)}.interactive-chart-legend .legend-dot.purple{background:linear-gradient(135deg,#a78bfa,#8b5cf6);box-shadow:0 0 8px #8b5cf680}.interactive-chart-legend .legend-dot.purple:after{background:radial-gradient(circle,#8b5cf64d,#0000)}.interactive-chart-legend .legend-dot.peak{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 8px #fbbf2480}.interactive-chart-legend .legend-dot.peak:after{background:radial-gradient(circle,#fbbf244d,#0000)}.game-detail-page{min-height:100vh;padding-bottom:3rem}.breadcrumb{align-items:center;display:flex;font-size:.8125rem;gap:.5rem;padding:.25rem 0}.breadcrumb a{color:var(--fs-text-muted);transition:color .15s ease}.breadcrumb a:hover{color:var(--fs-cyan)}.breadcrumb .separator{color:var(--fs-text-muted)}.breadcrumb .current{color:var(--fs-text-secondary);font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:300px 1fr}.game-info-sidebar{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);display:flex;flex-direction:column;gap:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:1rem}.game-cover{margin:0;width:100%}.game-sidebar-content{display:flex;flex-direction:column;gap:1rem;padding:1rem}.game-cover img{display:block;height:auto;width:100%}.game-info-sidebar .game-title{color:var(--fs-text);font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.game-info-sidebar .game-meta{color:var(--fs-text-secondary);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.5rem}.game-info-sidebar .developer{color:var(--fs-cyan)}.game-info-sidebar .separator{color:var(--fs-text-muted)}.game-price-box{background:var(--fs-bg-surface);border:1px solid var(--fs-border);padding:.75rem}.price-free{font-size:.9375rem;font-weight:600}.price-with-discount{align-items:center;display:flex;gap:.625rem}.discount-badge{flex-shrink:0}.price-values{display:flex;flex-direction:column;gap:0;line-height:1.2}.price-original{font-size:.75rem}.price-current{font-size:.9375rem;font-weight:600}.price-loading,.price-na{color:var(--fs-text-muted);font-size:.875rem}.game-actions{display:flex;flex-direction:column;gap:.75rem}.game-actions .btn-steam,.game-actions .btn-steam-alt{justify-content:center;width:100%}.game-genres h3{color:var(--fs-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.game-info-sidebar .genre-pills{display:flex;flex-wrap:wrap;gap:.5rem}.game-info-sidebar .genre-pill{background:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text-secondary);font-size:.75rem;font-weight:500;padding:.375rem .75rem;text-decoration:none;transition:all .15s ease}.game-info-sidebar .genre-pill:hover{border-color:var(--fs-cyan);color:var(--fs-cyan)}.game-quick-stats{border-top:1px solid var(--fs-border);display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem}.quick-stat-row{align-items:center;display:flex;font-size:.75rem;justify-content:space-between}.quick-stat-row .stat-label{color:var(--fs-text-muted)}.quick-stat-row .stat-value{color:var(--fs-text);font-size:.75rem;font-weight:500}.quick-stat-row .stat-value.accent{color:var(--fs-cyan)}.quick-stat-row .stat-value.positive{color:#22c55e}.quick-stat-row .stat-value.mixed{color:#f59e0b}.quick-stat-row .stat-value.negative{color:#ef4444}.game-meta{align-items:center;color:#fff9;display:flex;font-size:.9375rem;gap:1rem}.game-meta .developer{color:var(--fs-cyan);font-weight:500}.game-meta .separator{color:#ffffff4d}.quick-stats{display:flex;gap:2rem;margin-top:.5rem}.quick-stat{flex-direction:column;gap:.25rem}.stat-value{color:#fff}.stat-value.accent{color:var(--fs-cyan)}.stat-value.discounted,.stat-value.free,.stat-value.positive{color:#22c55e}.stat-label{color:#ffffff80;font-size:.6875rem;letter-spacing:.1em}.stat-original-price{color:#fff6;font-size:.875rem;margin-left:.5rem;text-decoration:line-through}.discount-badge{background:#22c55e;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;margin-right:.5rem;padding:.25rem .5rem}.genre-pills{display:flex;flex-wrap:wrap;gap:.5rem}.genre-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff14;border:1px solid #ffffff26;color:#ffffffd9;font-size:.8125rem;font-weight:500;padding:.375rem .875rem;text-decoration:none;transition:all .2s ease}.genre-pill:hover{background:#ffffff26;border-color:var(--fs-cyan);color:#fff}.hero-actions{margin-top:.5rem}.btn-steam{align-items:center;background:linear-gradient(135deg,#1b2838,#2a475e);border:2px solid #3d6889;color:#c7d5e0;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn-steam:hover{background:linear-gradient(135deg,#2a475e,#3d6889);border-color:#66c0f4;box-shadow:0 8px 25px #66c0f433;color:#fff;transform:translateY(-2px)}.btn-steam:active{transform:translateY(0)}.steam-icon{flex-shrink:0}.btn-steam-alt{align-items:center;background:#0000;border:2px solid #fff3;color:#fffc;display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn-steam-alt:hover{background:#ffffff0d;border-color:#fff6;color:#fff}.btn-wishlist{align-items:center;background:#0000;border:2px solid #ec4899;color:#ec4899;display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn-wishlist:hover{background:#ec4899;color:#fff}.game-actions .btn-wishlist{justify-content:center;width:100%}.game-content{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:1fr 360px;padding:0 0 4rem}.content-main{display:flex;flex-direction:column;gap:2rem}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1d24b3;border:1px solid #ffffff14;padding:1.75rem}.glass-card h2{color:var(--fs-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:1.25rem;text-transform:uppercase}.description-text{color:var(--fs-text-secondary);font-size:.9375rem;line-height:1.8;max-width:750px}.description-text h1,.description-text h2,.description-text h3{color:var(--fs-text);font-weight:600;line-height:1.3;margin:1.5rem 0 .75rem}.description-text h1{font-size:1.5rem}.description-text h2{font-size:1.25rem}.description-text h2,.description-text h3{border-bottom:1px solid var(--fs-border);padding-bottom:.5rem}.description-text h3{color:var(--fs-cyan);font-size:1rem;letter-spacing:.05em;margin-top:2rem;text-transform:uppercase}.description-text h3:first-child{margin-top:0}.description-text p{margin:0 0 .875rem}.description-text p:last-child{margin-bottom:0}.description-text h3+p{margin-top:.75rem}.description-text h3+ol,.description-text h3+ul{margin-top:.5rem}.description-text b,.description-text strong{color:var(--fs-text);font-weight:600}.description-text em,.description-text i{font-style:italic}.description-text ol,.description-text ul{margin:.75rem 0;padding-left:1.75rem}.description-text li{line-height:1.6;margin:.375rem 0;padding-left:.375rem}.description-text ul li{list-style-type:none;position:relative}.description-text ul li:before{background:var(--fs-cyan);border-radius:50%;content:"";height:6px;left:-1.25rem;position:absolute;top:.625rem;width:6px}.description-text ol li{list-style-type:decimal}.description-text ol li::marker{color:var(--fs-cyan);font-weight:600}.description-text a{color:var(--fs-cyan);text-decoration:none;transition:color .2s ease}.description-text a:hover{color:var(--fs-magenta);text-decoration:underline}.description-text img{border-radius:6px;display:block;height:auto;margin:1rem 0;max-width:100%}.description-text blockquote{background:#ffffff05;border-left:3px solid var(--fs-cyan);color:var(--fs-text-muted);font-style:italic;margin:1rem 0;padding:.75rem 1rem}.description-text hr{border:none;border-top:1px solid var(--fs-border);margin:1.5rem 0}.description-text table{border-collapse:collapse;margin:1rem 0;width:100%}.description-text td,.description-text th{border-bottom:1px solid var(--fs-border);padding:.75rem;text-align:left}.description-text th{background:#ffffff08;color:var(--fs-text);font-weight:600}.description-text br+br{content:"";display:block;margin-top:.5rem}.description-text .bb_tag{display:block;margin:.5rem 0}.description-text .bb_h1{color:var(--fs-text);font-size:1.5rem;font-weight:600;margin:1.5rem 0 .75rem}.description-text .bb_h2{color:var(--fs-text);font-size:1.25rem;font-weight:600;margin:1.25rem 0 .5rem}.description-text>:first-child{margin-top:0}.media-card{overflow:hidden;padding:0}.media-viewer{display:flex;gap:0;height:450px}.media-main{background:var(--fs-bg);flex:1 1;overflow:hidden;position:relative}.screenshot-container{cursor:pointer;height:100%;width:100%}.screenshot-container img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.screenshot-container:hover img{transform:scale(1.02)}.video-container{cursor:pointer;height:100%}.video-container video{display:block;height:100%;object-fit:contain;width:100%}.video-play-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:absolute;transition:background .2s ease}.video-play-overlay svg{color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));transition:transform .2s ease}.video-container:hover .video-play-overlay{background:#0000004d}.video-container:hover .video-play-overlay svg{transform:scale(1.1)}.video-controls{background:linear-gradient(#0000,#000000d9 70%);bottom:0;flex-direction:column;gap:.25rem;left:0;opacity:0;padding:.5rem 0 .125rem;pointer-events:none;position:absolute;right:0;transition:opacity .3s ease}.video-controls.visible{opacity:1;pointer-events:auto}.video-progress{align-items:center;cursor:pointer;display:flex;height:16px;margin-top:.25rem;order:2;padding:0 .75rem;position:relative;width:100%}.video-progress .progress-slider{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer;height:16px;left:0;margin:0;padding:0;position:absolute;top:0;width:100%;z-index:3}.video-progress-track{background:#fff3;right:0}.video-progress-fill,.video-progress-track{height:3px;left:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.video-progress-fill{background:#22d3ee;background:var(--fs-cyan,#22d3ee);width:0;width:var(--progress,0);z-index:2}.video-progress-buffered{background:#fff6;height:3px;left:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.video-progress:hover .video-progress-buffered,.video-progress:hover .video-progress-fill,.video-progress:hover .video-progress-track{height:5px}.video-progress .progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#0000;height:0;width:0}.video-progress:hover .progress-slider::-webkit-slider-thumb{background:#fff;border-radius:50%;cursor:pointer;height:12px;width:12px}.video-progress .progress-slider::-moz-range-thumb{background:#0000;border:none;height:0;width:0}.video-progress:hover .progress-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.video-progress .progress-slider::-webkit-slider-runnable-track{background:#0000;height:16px}.video-progress .progress-slider::-moz-range-track{background:#0000;height:16px}.video-quality-badge{opacity:0;pointer-events:none;position:absolute;right:.5rem;top:.5rem;transition:opacity .3s ease;z-index:20}.video-quality-badge.visible{opacity:1;pointer-events:auto}.quality-badge-btn{align-items:center;background:#0000;border:none;color:#ffffffe6;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .625rem;transition:all .2s ease}.quality-badge-btn:hover{color:var(--fs-cyan)}.quality-badge-menu{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172af2;border:1px solid #ffffff26;border-radius:4px;margin-top:.25rem;min-width:80px;padding:.25rem 0;position:absolute;right:0;top:100%}.quality-badge-menu .quality-option{background:#0000;border:none;color:#fffc;cursor:pointer;display:block;font-size:.8rem;padding:.5rem 1rem;text-align:left;transition:background .15s;width:100%}.quality-badge-menu .quality-option:hover{background:#ffffff1a}.quality-badge-menu .quality-option.active{color:var(--fs-cyan);font-weight:600}.video-controls-buttons{align-items:center;display:flex;gap:.5rem;justify-content:space-between;order:1;padding:0 .75rem;position:relative}.controls-left{align-items:center;display:flex;flex:1 1}.controls-center{left:50%;position:absolute;transform:translateX(-50%)}.controls-center,.controls-right{align-items:center;display:flex;gap:.25rem}.controls-right{flex:1 1;justify-content:flex-end}.video-time{color:#ffffffe6;white-space:nowrap}.video-controls .control-btn{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;opacity:.9;padding:0;transition:opacity .2s,transform .2s;width:36px}.video-controls .control-btn:hover{opacity:1;transform:scale(1.1)}.video-controls .play-btn{height:44px;width:44px}.video-controls-buttons .volume-control{align-items:center;display:flex;flex-direction:row-reverse;gap:.5rem;position:relative}.video-controls-buttons .volume-slider-container{align-items:center;display:flex;height:24px;opacity:0;position:relative;transition:opacity .2s ease;width:70px}.video-controls-buttons .volume-control:hover .volume-slider-container{opacity:1}.video-controls-buttons .volume-slider-track{background:#fff3;right:0}.video-controls-buttons .volume-slider-fill,.video-controls-buttons .volume-slider-track{height:3px;left:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.video-controls-buttons .volume-slider-fill{background:#22d3ee;background:var(--fs-cyan,#22d3ee)}.video-controls-buttons .volume-slider{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer;height:24px;left:0;margin:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:2}.video-controls-buttons .volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:12px;margin-top:-4.5px;width:12px}.video-controls-buttons .volume-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.video-controls-buttons .volume-slider::-webkit-slider-runnable-track{background:#0000;height:3px}.video-controls-buttons .volume-slider::-moz-range-track{background:#0000;height:3px}.video-controls-buttons .fullscreen-btn{margin-left:.5rem}.media-main-overlay{align-items:center;background:#0009;color:#fff;display:flex;flex-direction:column;gap:.75rem;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s ease}.media-main-overlay span{font-size:.875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.media-main:hover .media-main-overlay{opacity:1}.media-main:focus{outline:2px solid var(--fs-cyan);outline-offset:2px}.media-thumbnails{background:var(--fs-bg-surface);display:flex;flex-direction:column;gap:.5rem;overflow-x:hidden;overflow-y:auto;padding:.5rem;scrollbar-color:var(--fs-border) #0000;scrollbar-width:thin;width:140px}.media-thumbnails::-webkit-scrollbar{width:4px}.media-thumbnails::-webkit-scrollbar-track{background:#0000}.media-thumbnails::-webkit-scrollbar-thumb{background:var(--fs-border)}.media-thumb{aspect-ratio:16/9;background:none;border:2px solid #0000;cursor:pointer;flex-shrink:0;opacity:.5;overflow:hidden;padding:0;transition:all .2s ease;width:100%}.media-thumb img{display:block;height:100%;object-fit:cover;width:100%}.media-thumb:hover{border-color:#ffffff4d;opacity:.8}.media-thumb.active{border-color:var(--fs-cyan);opacity:1}.media-thumb.is-video{position:relative}.thumb-play-icon{align-items:center;background:#000000b3;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:28px}.media-thumb.is-video:hover .thumb-play-icon{background:var(--fs-cyan)}.gallery-thumb-play{align-items:center;background:#000c;border-radius:50%;bottom:2px;color:#fff;display:flex;height:18px;justify-content:center;left:2px;position:absolute;width:18px}.gallery-image-container video{max-height:70vh;max-width:100%;object-fit:contain}.screenshots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.screenshot-item{cursor:pointer;overflow:hidden;position:relative}.screenshot-item img{aspect-ratio:16/9;border:1px solid #ffffff14;display:block;object-fit:cover;transition:all .3s ease;width:100%}.screenshot-item:hover img{border-color:var(--fs-cyan);transform:scale(1.05)}.screenshot-item:after{background:#4cc9f000;content:"";inset:0;pointer-events:none;position:absolute;transition:background .3s ease}.screenshot-item:hover:after{background:#4cc9f01a}.content-sidebar{display:flex;flex-direction:column;gap:1.25rem}@media (min-width:992px){.content-sidebar{align-self:start;position:-webkit-sticky;position:sticky;top:1.5rem}}.sidebar-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1d24b3;border:1px solid #ffffff14;padding:1.25rem}.sidebar-card h3{color:var(--fs-text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.reviews-breakdown{display:flex;flex-direction:column;gap:.75rem}.review-bar{background:#ef4444;height:10px;overflow:hidden;position:relative}.review-positive{animation:fillBar 1s ease-out forwards;background:linear-gradient(90deg,#22c55e,#4ade80);height:100%}@keyframes fillBar{0%{width:0}}.review-stats{align-items:center;display:flex;justify-content:space-between}.review-percent{font-size:1.5rem;font-weight:700}.review-percent.positive{color:#22c55e}.review-percent.mixed{color:#f59e0b}.review-percent.negative{color:#ef4444}.review-label{color:var(--fs-text-muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.review-counts{display:flex;font-size:.8125rem;gap:1rem;margin-top:.5rem}.review-counts .positive-count{color:#22c55e}.review-counts .negative-count{color:#ef4444}.platform-tags{display:flex;flex-wrap:wrap;gap:.5rem}.platform-tag{background:var(--fs-bg-hover);border:1px solid var(--fs-border);color:var(--fs-text-secondary);font-size:.8125rem;padding:.375rem .75rem}.player-stats{display:flex;flex-direction:column;gap:.75rem}.stat-row{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:.5rem 0}.stat-row:last-child{border-bottom:none}.stat-row-label{color:var(--fs-text-muted);font-size:.875rem}.stat-row-value{color:var(--fs-text);font-size:1rem;font-weight:600}.stat-row-value.current{color:var(--fs-cyan);position:relative}.stat-row-value.current:before{animation:pulse 2s ease-in-out infinite;background:var(--fs-cyan);content:"";display:inline-block;height:8px;margin-right:.5rem;width:8px}.stats-link{background:var(--fs-bg-hover);border:1px solid var(--fs-border);color:var(--fs-text-secondary);display:block;font-size:.8125rem;margin-top:.75rem;padding:.625rem .875rem;text-align:center;text-decoration:none;transition:all .2s ease}.stats-link:hover{background:#4cc9f00d;border-color:var(--fs-cyan);color:var(--fs-cyan)}.data-updates-card{opacity:.8}.data-updates-card:hover{opacity:1}.update-info{display:flex;flex-direction:column;gap:.5rem}.update-row{align-items:center;display:flex;justify-content:space-between;padding:.375rem 0}.update-label{color:var(--fs-text-muted);font-size:.8125rem}.update-value{color:var(--fs-text-secondary);cursor:help;font-size:.8125rem;font-weight:500}.price-display{display:flex;flex-direction:column;gap:.5rem}.price-main{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.price-badge{background:#22c55e;color:#fff;font-size:.875rem;font-weight:700;padding:.375rem .625rem}.price-original{color:var(--fs-text-muted);font-size:1rem;text-decoration:line-through}.price-current{color:var(--fs-text);font-size:1.5rem;font-weight:700}.price-current.discounted,.price-free{color:#22c55e}.price-free{font-size:1.5rem;font-weight:700}.price-loading{font-size:.875rem}.price-loading,.price-na{color:var(--fs-text-muted)}.price-na{font-size:.9375rem}@media (max-width:1200px){.game-layout{gap:1.5rem;grid-template-columns:280px 1fr}.game-content{grid-template-columns:1fr 280px}.media-viewer{height:380px}.media-thumbnails{width:140px}}@media (max-width:992px){.game-layout{grid-template-columns:1fr}.game-info-sidebar{display:flex;flex-direction:row;position:static}.game-cover{flex-shrink:0;width:200px}.game-sidebar-content{flex:1 1}.game-info-sidebar .game-title{font-size:1.5rem}.game-actions{flex-direction:row}.game-actions .btn-steam,.game-actions .btn-steam-alt,.game-actions .btn-wishlist{flex:1 1;width:auto}.game-content{gap:1.5rem;grid-template-columns:1fr}.content-sidebar{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.media-viewer{flex-direction:column;height:auto}.media-main{aspect-ratio:16/9;width:100%}.media-thumbnails{flex-direction:row;gap:.5rem;overflow-x:auto;overflow-y:hidden;padding:.5rem;width:100%}.media-thumb{flex-shrink:0;width:120px}.screenshots-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.game-info-sidebar{flex-direction:column}.game-cover{width:100%}.game-sidebar-content{padding:.75rem}.game-info-sidebar .game-title{font-size:1.25rem}.game-info-sidebar .game-meta{flex-wrap:wrap;font-size:.75rem}.game-actions{flex-direction:column;gap:.5rem}.game-actions .btn-steam,.game-actions .btn-steam-alt,.game-actions .btn-wishlist{font-size:.8125rem;padding:.625rem 1rem;width:100%}.content-sidebar{grid-template-columns:1fr}.glass-card,.sidebar-card{padding:1rem}.media-card{padding:0}.media-thumb{width:80px}.media-main-overlay svg{height:36px;width:36px}.media-main-overlay span{font-size:.75rem}}@media (max-width:480px){.game-info-sidebar .game-title{font-size:1.25rem}.game-info-sidebar .game-meta{flex-direction:column;gap:.25rem}.breadcrumb .current{max-width:150px}.screenshots-grid{grid-template-columns:1fr}}.game-hero{animation:fadeIn .5s ease}.glass-card,.sidebar-card{animation:slideUp .4s ease}.content-main .glass-card:first-child{animation-delay:.1s}.content-main .glass-card:nth-child(2){animation-delay:.2s}.content-sidebar .sidebar-card:first-child{animation-delay:.15s}.content-sidebar .sidebar-card:nth-child(2){animation-delay:.25s}.content-sidebar .sidebar-card:nth-child(3){animation-delay:.35s}.price-stat{min-width:100px}.price-stat-content{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem}.price-stat-content .discount-badge{margin-bottom:.25rem;margin-right:0}.price-stat-content .stat-value{line-height:1}.price-stat-content .stat-original-price{font-size:.75rem;margin-left:0}@media (max-width:992px){.price-stat-content{align-items:center}}.description-text.truncated{position:relative}.read-more-btn{background:#0000;border:1px solid var(--fs-cyan);color:var(--fs-cyan);cursor:pointer;display:inline-block;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease}.read-more-btn:hover{background:var(--fs-cyan);color:var(--fs-bg)}.screenshot-overlay{align-items:center;background:#00000080;color:#fff;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s ease}.screenshot-item:hover .screenshot-overlay{opacity:1}.screenshot-item:focus{outline:2px solid var(--fs-cyan);outline-offset:2px}.gallery-overlay{animation:fadeIn .2s ease;background:#000000f2;inset:0;position:fixed;z-index:1000}.gallery-content,.gallery-overlay{align-items:center;display:flex;justify-content:center}.gallery-content{flex-direction:column;height:100%;padding:2rem;position:relative;width:100%}.gallery-close{background:#ffffff1a;border:none;color:#fff;cursor:pointer;padding:.75rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease;z-index:10}.gallery-close:hover{background:#fff3}.gallery-nav{background:#ffffff1a;border:none;color:#fff;cursor:pointer;padding:1rem;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;z-index:10}.gallery-nav:hover{background:#fff3}.gallery-prev{left:1rem}.gallery-next{right:1rem}.gallery-image-container{align-items:center;display:flex;justify-content:center;max-height:70vh;max-width:90vw}.gallery-image-container img{box-shadow:0 20px 60px #00000080;max-height:70vh;max-width:100%;object-fit:contain}.gallery-counter{color:#ffffffb3;font-size:.875rem;font-weight:500;top:1.5rem}.gallery-counter,.gallery-thumbnails{left:50%;position:absolute;transform:translateX(-50%)}.gallery-thumbnails{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:1.5rem;display:flex;gap:.5rem;max-width:90vw;overflow-x:auto;padding:.75rem}.gallery-thumb{background:none;border:2px solid #0000;cursor:pointer;flex-shrink:0;height:45px;opacity:.5;overflow:hidden;padding:0;position:relative;transition:all .2s ease;width:80px}.gallery-thumb:hover{opacity:.8}.gallery-thumb.active{border-color:var(--fs-cyan);opacity:1}.gallery-thumb img{height:100%;object-fit:cover;width:100%}@media (max-width:768px){.gallery-content{padding:1rem}.gallery-nav{padding:.75rem}.gallery-prev{left:.5rem}.gallery-next{right:.5rem}.gallery-thumbnails{gap:.375rem;padding:.5rem}.gallery-thumb{height:34px;width:60px}}.game-tabs{border-bottom:1px solid var(--fs-border);display:flex;gap:0;margin-bottom:1.5rem}.game-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--fs-text-muted);cursor:pointer;font-size:.9375rem;font-weight:500;margin-bottom:-1px;padding:.875rem 1.5rem;transition:all .2s ease}.game-tab:hover{background:#ffffff05;color:var(--fs-text)}.game-tab.active{border-bottom-color:var(--fs-cyan);color:var(--fs-cyan)}.about-card{margin-bottom:0}.about-card h2{color:var(--fs-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin:0 0 1rem;text-transform:uppercase}.statistics-content .stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}@media (max-width:992px){.statistics-content .stats-grid{grid-template-columns:1fr}}.stat-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1d24b3;border:1px solid #ffffff14}.stat-card .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.stat-card .card-header h2{color:var(--fs-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin:0;text-transform:uppercase}.pulse-indicator{animation:pulse-glow 2s ease-in-out infinite;height:10px;width:10px}.pulse-indicator.low{background:#3b82f6}.pulse-indicator.medium{background:#22c55e}.pulse-indicator.high{background:#eab308}.pulse-indicator.massive{background:#ef4444}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.pulse-visual{padding:1rem 0}.pulse-ring{border:3px solid #ffffff1a}.pulse-ring:before{animation:ring-pulse 2s ease-out infinite;border:2px solid;border-radius:50%;content:"";inset:-10px;opacity:.3;position:absolute}.pulse-ring.minimal:before{border-color:#6b7280}.pulse-ring.low:before{border-color:#3b82f6}.pulse-ring.medium:before{border-color:#22c55e}.pulse-ring.high:before{border-color:#eab308}.pulse-ring.massive:before{border-color:#ef4444}@keyframes ring-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.pulse-core{gap:.25rem}.pulse-number{color:var(--fs-text);font-size:1.75rem}.pulse-label{letter-spacing:.05em;text-transform:uppercase}.pulse-rank{border-top:1px solid var(--fs-border);flex-direction:column;gap:.375rem;margin-top:1rem;padding-top:1rem}.rank-badge{font-size:1.5rem;font-weight:700;height:48px;width:48px}.rank-badge.rank-S{color:#000}.rank-badge.rank-A{color:#fff}.rank-badge.rank-B{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.rank-badge.rank-C{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.rank-badge.rank-D{color:#fff}.rank-badge.rank-E{color:#9ca3af}.rank-label{font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase}.peak-mountain{height:120px}.mountain-svg{height:100%}.peak-marker{left:50%;text-align:center;top:10px;transform:translateX(-50%)}.peak-value{font-size:1.5rem}.peak-label{font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase}.peak-ratio{flex-direction:column;gap:.5rem}.ratio-bar{background:var(--fs-bg-hover)}.ratio-fill{background:linear-gradient(90deg,var(--fs-cyan),#4ade80);transition:width .5s ease}.ratio-text{color:var(--fs-text-secondary);text-align:center}.wheel-svg{height:120px;width:120px}.wheel-percent{fill:var(--fs-text)}.wheel-label{font-size:.625rem;letter-spacing:.05em;text-transform:uppercase}.sentiment-breakdown{gap:.75rem}.sentiment-row .label{color:var(--fs-text-secondary);flex:1 1}.sentiment-row .value{color:var(--fs-text)}.sentiment-grade{align-items:center;display:flex;justify-content:space-between}.grade-value{font-size:.875rem}.grade-value.mixed{color:#f59e0b}.quick-stat{gap:.875rem}.qs-info{gap:.125rem}.qs-value{color:var(--fs-text)}.history-section{background:#1a1d24b3;background:var(--fs-bg-secondary,#1a1d24b3);margin-bottom:2rem}.history-section .section-header{align-items:flex-start;flex-wrap:wrap;margin-bottom:1.5rem}.history-section h2{color:var(--fs-text);font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.section-subtitle{font-size:.875rem;margin:0}.time-range-selector{gap:.5rem}.range-btn{background:var(--fs-bg-hover);border:1px solid var(--fs-border);border-radius:6px;color:var(--fs-text-muted);font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.range-btn:hover:not(:disabled){border-color:var(--fs-cyan);color:var(--fs-text)}.range-btn.active{background:var(--fs-cyan);border-color:var(--fs-cyan);color:var(--fs-bg)}.range-btn:disabled{opacity:.5}.chart-stats{border-bottom:1px solid var(--fs-border);gap:2rem;margin-bottom:1rem;padding-bottom:1rem}.chart-stat{flex-direction:column;gap:.25rem}.chart-stat .stat-label{font-size:.75rem}.chart-stat .stat-value{color:var(--fs-text);font-size:1.25rem}.chart-stat .stat-value.low{color:var(--fs-text-muted)}.chart-wrapper{position:relative}.player-chart{display:block;height:200px;width:100%}.player-chart .grid-line{stroke:var(--fs-border);stroke-width:.2;stroke-dasharray:2 2}.player-chart .chart-line{stroke:var(--fs-cyan);stroke-width:.5;stroke-linecap:round;stroke-linejoin:round}.player-chart .chart-point{fill:var(--fs-cyan)}.chart-x-labels{display:flex;justify-content:space-between;margin-top:.75rem;padding:0 .25rem}.chart-x-labels span{color:var(--fs-text-muted);font-size:.75rem}.comparison-section{margin-bottom:2rem}.comparison-section h2{color:var(--fs-text);font-size:1.25rem;margin:0 0 .25rem}.comparison-bars{gap:1rem;margin-top:1.5rem}.comparison-item{background:var(--fs-bg-hover);transition:all .2s ease}.comparison-item:hover{background:#4cc9f00d}.comparison-item.current{background:#4cc9f01a}.comp-name{color:var(--fs-text);max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-players{color:var(--fs-cyan)}.comp-bar-track{background:var(--fs-bg);border-radius:4px;height:8px}.comp-bar-fill{background:linear-gradient(90deg,var(--fs-cyan),#4ade80);border-radius:4px;transition:width .5s ease}.comp-bar-fill.current{background:var(--fs-cyan)}@media (max-width:768px){.game-tabs{overflow-x:auto}.game-tab{padding:.75rem 1rem;white-space:nowrap}.sentiment-visual{flex-direction:column}.history-section .section-header{align-items:stretch;flex-direction:column}.time-range-selector{justify-content:center}.chart-stats{flex-wrap:wrap;gap:1rem}.chart-stat{min-width:80px}}.monthly-breakdown{border-top:1px solid var(--fs-border);margin-top:2rem;padding-top:1.5rem}.monthly-breakdown h3{color:var(--fs-text-primary);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.monthly-table-wrapper{overflow-x:auto}.monthly-table{border-collapse:collapse;font-size:.9rem;width:100%}.monthly-table th{border-bottom:1px solid var(--fs-border);color:var(--fs-text-muted);font-size:.8rem;font-weight:500;letter-spacing:.05em;text-align:left;text-transform:uppercase}.monthly-table td,.monthly-table th{padding:.75rem 1rem;white-space:nowrap}.monthly-table td{border-bottom:1px solid #ffffff0d;color:var(--fs-text-secondary)}.monthly-table tbody tr:hover{background:#ffffff05}.monthly-table .month-cell{color:var(--fs-text-primary);font-weight:500}.monthly-table .peak-cell{color:var(--fs-text-primary)}.monthly-table .gain-cell,.monthly-table .gain-pct-cell,.monthly-table .peak-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.monthly-table .gain-cell.positive,.monthly-table .gain-pct-cell.positive{color:#22c55e}.monthly-table .gain-cell.negative,.monthly-table .gain-pct-cell.negative{color:#ef4444}.monthly-table .avg-cell{font-feature-settings:"tnum";color:var(--fs-text-muted);font-variant-numeric:tabular-nums}@media (max-width:640px){.monthly-table td,.monthly-table th{font-size:.85rem;padding:.5rem .75rem}}.top100-page{padding:2rem 0}.page-header{margin-bottom:1.5rem}.page-header h1{color:var(--fs-text);font-size:2rem;font-weight:700;margin-bottom:.25rem}.page-subtitle{color:var(--fs-text-muted);font-size:.9375rem}.quick-filters{border-bottom:1px solid var(--fs-border);display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.quick-filter-btn{background:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.quick-filter-btn:hover{background:var(--fs-bg-hover);border-color:var(--fs-border-strong);color:var(--fs-text)}.quick-filter-btn.active{background:var(--fs-cyan);border-color:var(--fs-cyan);color:var(--fs-text-inverse)}.filters-section{margin-bottom:2rem}.filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:1rem}.filter-group{gap:.375rem}.filter-group label{color:var(--fs-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-select{background:var(--fs-bg-surface);padding:.625rem .75rem;transition:border-color .15s ease}.filter-select:hover{border-color:var(--fs-border-strong)}.clear-filters-btn{background:#0000;border:1px solid var(--fs-error);color:var(--fs-error);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.clear-filters-btn:hover{background:var(--fs-error);color:#fff}.results-summary{border-bottom:1px solid var(--fs-border);color:var(--fs-text-muted);font-size:.875rem;margin-bottom:1rem;padding:.75rem 0}.total-players{color:var(--fs-cyan)}.games-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.error-message{padding:3rem}.error-message,.no-results{background:var(--fs-bg-surface);border:1px solid var(--fs-border);text-align:center}.no-results{padding:4rem}.no-results p{color:var(--fs-text-muted);margin-bottom:1rem}@media (max-width:768px){.top100-page{padding:1.5rem 0}.page-header h1{font-size:1.5rem}.quick-filters{gap:.375rem}.quick-filter-btn{font-size:.8125rem;padding:.375rem .75rem}.filters-grid{grid-template-columns:repeat(2,1fr)}.games-grid{gap:1rem;grid-template-columns:1fr}}@media (max-width:480px){.filters-grid{grid-template-columns:1fr}.quick-filter-btn{flex:1 1;min-width:calc(50% - .25rem)}}.game-stats-page{background:var(--fs-bg-primary);min-height:100vh;padding-bottom:4rem}.stats-header{background:linear-gradient(180deg,var(--fs-bg-secondary) 0,var(--fs-bg-primary) 100%);border-bottom:1px solid var(--fs-border);margin-bottom:2rem;padding:2rem 0}.stats-header .breadcrumb{align-items:center;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1.5rem}.stats-header .breadcrumb a{color:var(--fs-text-muted);text-decoration:none;transition:color .2s}.stats-header .breadcrumb a:hover{color:var(--fs-cyan)}.stats-header .breadcrumb .separator{color:var(--fs-text-muted);opacity:.5}.stats-header .breadcrumb .current{color:var(--fs-text-primary)}.header-content{align-items:center;display:flex;gap:1.5rem}.header-content .game-thumb{border:1px solid var(--fs-border);border-radius:8px;height:56px;object-fit:cover;width:120px}.header-info h1{color:var(--fs-text-primary);font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.header-info .tagline{color:var(--fs-cyan);font-size:.9rem;margin:0}.stats-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.stat-card{background:var(--fs-bg-secondary);border-radius:12px;padding:1.5rem;transition:border-color .3s,transform .2s}.stat-card:hover{border-color:var(--fs-cyan);transform:translateY(-2px)}.card-header{align-items:center;margin-bottom:1.5rem}.card-header h2{color:var(--fs-text-primary);font-size:1.1rem;font-weight:600;margin:0}.pulse-indicator{animation:pulse 2s infinite;border-radius:50%;height:12px;width:12px}.pulse-indicator.massive{background:#22c55e;box-shadow:0 0 0 0 #22c55eb3}.pulse-indicator.high{background:#84cc16;box-shadow:0 0 0 0 #84cc16b3}.pulse-indicator.medium{background:#eab308;box-shadow:0 0 0 0 #eab308b3}.pulse-indicator.low{background:#f97316;box-shadow:0 0 0 0 #f97316b3}.pulse-indicator.minimal{background:#6b7280;box-shadow:0 0 0 0 #6b7280b3}.pulse-visual{margin-bottom:1.5rem}.pulse-ring,.pulse-visual{display:flex;justify-content:center}.pulse-ring{align-items:center;border-radius:50%;height:160px;position:relative;width:160px}.pulse-ring:after,.pulse-ring:before{border:2px solid;border-radius:50%;content:"";opacity:.3;position:absolute}.pulse-ring:before{height:100%;width:100%}.pulse-ring:after{animation:pulse-expand 3s infinite;height:130%;width:130%}.pulse-ring.massive:after,.pulse-ring.massive:before{border-color:#22c55e}.pulse-ring.high:after,.pulse-ring.high:before{border-color:#84cc16}.pulse-ring.medium:after,.pulse-ring.medium:before{border-color:#eab308}.pulse-ring.low:after,.pulse-ring.low:before{border-color:#f97316}.pulse-ring.minimal:after,.pulse-ring.minimal:before{border-color:#6b7280}@keyframes pulse-expand{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:.1;transform:scale(1)}}.pulse-core{align-items:center;background:var(--fs-bg-primary);border:3px solid var(--fs-border);border-radius:50%;display:flex;flex-direction:column;height:110px;justify-content:center;width:110px}.pulse-number{color:var(--fs-text-primary);font-size:1.5rem;font-weight:700}.pulse-label{color:var(--fs-text-muted);font-size:.75rem;margin-top:.25rem}.pulse-rank{gap:.75rem}.pulse-rank,.rank-badge{align-items:center;display:flex;justify-content:center}.rank-badge{border-radius:8px;color:#fff;font-size:1.25rem;font-weight:800;height:40px;width:40px}.rank-badge.rank-S{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 12px #fbbf2466}.rank-badge.rank-A{background:linear-gradient(135deg,#a855f7,#7c3aed);box-shadow:0 4px 12px #a855f766}.rank-badge.rank-B{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e66}.rank-badge.rank-C{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f666}.rank-badge.rank-D{background:linear-gradient(135deg,#6b7280,#4b5563)}.rank-badge.rank-E{background:linear-gradient(135deg,#374151,#1f2937)}.rank-label{color:var(--fs-text-muted);font-size:.875rem}.peak-visual{display:flex;flex-direction:column;gap:1rem}.peak-mountain{position:relative}.mountain-svg{height:100px;width:100%}.peak-marker{position:absolute;right:1rem;text-align:right;top:0}.peak-value{color:var(--fs-cyan);display:block;font-size:1.25rem;font-weight:700}.peak-label{color:var(--fs-text-muted);font-size:.75rem}.peak-ratio{align-items:center;display:flex;gap:1rem}.ratio-bar{background:var(--fs-bg-tertiary);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.ratio-fill{background:linear-gradient(90deg,var(--fs-cyan),var(--fs-purple));border-radius:4px;height:100%;transition:width 1s ease-out}.ratio-text{color:var(--fs-text-muted);font-size:.875rem;white-space:nowrap}.sentiment-visual{align-items:center;display:flex;gap:1.5rem}.sentiment-wheel{flex-shrink:0}.wheel-svg{height:100px;width:100px}.wheel-percent{fill:var(--fs-text-primary);font-size:1.25rem;font-weight:700}.wheel-label{fill:var(--fs-text-muted);font-size:.6rem}.sentiment-breakdown{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.sentiment-row{align-items:center;display:flex;gap:.5rem}.sentiment-row .dot{border-radius:50%;height:10px;width:10px}.sentiment-row.positive .dot{background:#22c55e}.sentiment-row.negative .dot{background:#ef4444}.sentiment-row .label{color:var(--fs-text-muted);font-size:.875rem}.sentiment-row .value{color:var(--fs-text-primary);font-weight:600;margin-left:auto}.sentiment-grade{border-top:1px solid var(--fs-border);margin-top:.5rem;padding-top:.75rem}.grade-label{color:var(--fs-text-muted);display:block;font-size:.75rem;margin-bottom:.25rem}.grade-value{font-size:.9rem;font-weight:600}.grade-value.positive{color:#22c55e}.grade-value.mixed{color:#eab308}.grade-value.negative{color:#ef4444}.quick-stats-list{display:flex;flex-direction:column;gap:1rem}.quick-stat{align-items:center;background:var(--fs-bg-tertiary);border-radius:8px;display:flex;gap:1rem;padding:.75rem;transition:background .2s}.quick-stat:hover{background:var(--fs-bg-primary)}.qs-icon{align-items:center;background:var(--fs-bg-secondary);border-radius:8px;display:flex;font-size:1.25rem;height:36px;justify-content:center;width:36px}.qs-info{display:flex;flex-direction:column}.qs-value{color:var(--fs-text-primary);font-weight:600}.qs-label{color:var(--fs-text-muted);font-size:.75rem}.history-section{background:var(--fs-bg-secondary);border:1px solid var(--fs-border);border-radius:12px;margin-bottom:3rem;padding:1.5rem}.history-section .section-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.history-section .header-left{align-items:center;display:flex;gap:.75rem}.history-section h2{color:var(--fs-text-primary);font-size:.9rem;font-weight:600;margin:0}.history-section .section-subtitle{background:#1e293b80;border-radius:4px;color:var(--fs-text-muted);font-size:.7rem;padding:.25rem .5rem}.time-range-selector{background:#0a0f19e6;border:1px solid #1e293bcc;border-radius:8px;display:flex;gap:.125rem;padding:.1875rem}.range-btn{background:#0000;border:1px solid #0000;border-radius:5px;color:#94a3b8b3;cursor:pointer;font-size:.75rem;font-weight:600;overflow:hidden;padding:.375rem .875rem;position:relative;transition:all .2s ease}.range-btn:hover:not(:disabled){background:#1e293b80;color:var(--fs-text-primary)}.range-btn.active{background:#0f172af2;border-color:#22d3ee80;box-shadow:0 0 12px #22d3ee33,inset 0 0 8px #22d3ee0d;color:var(--fs-cyan)}.range-btn:disabled{cursor:not-allowed;opacity:.4}.chart-container{min-height:300px}.chart-loading{align-items:center;color:var(--fs-text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:250px}.chart-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--fs-border);border-radius:50%;border-top-color:var(--fs-cyan);height:32px;width:32px}.chart-stats{background:var(--fs-bg-tertiary);border-radius:10px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.chart-stat{align-items:center;background:var(--fs-bg-secondary);border:1px solid var(--fs-border);border-radius:8px;display:flex;gap:.75rem;padding:.5rem 1rem;transition:all .2s}.chart-stat:hover{border-color:var(--fs-cyan);transform:translateY(-1px)}.chart-stat.highlight{background:#22d3ee0d;border-color:var(--fs-cyan)}.chart-stat .stat-icon{font-size:1.25rem}.chart-stat .stat-content{display:flex;flex-direction:column}.chart-stat .stat-label{color:var(--fs-text-muted);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.chart-stat .stat-value{color:var(--fs-text-primary);font-size:1.1rem;font-weight:700}.chart-stat .stat-value.peak{color:var(--fs-cyan)}.chart-stat .stat-value.low{color:#f97316}.chart-stat .stat-value.current{color:#22c55e}.fs-chart-container{background:linear-gradient(180deg,#0f172acc,#0f172a66 50%,#0f172acc);border:1px solid #22d3ee26;border-radius:16px;box-shadow:0 0 40px #22d3ee0d,inset 0 1px 0 #ffffff0d;cursor:crosshair;min-height:360px;overflow:hidden;padding:1rem;position:relative;width:100%}.fs-chart-container:before{background:radial-gradient(ellipse at 20% 0,#22d3ee14 0,#0000 50%),radial-gradient(ellipse at 80% 100%,#8b5cf60f 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.fs-chart-canvas{border-radius:8px;display:block;position:relative;z-index:1}.fs-chart-tooltip{animation:tooltipPop .2s cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#0f172afa,#1e293bf2);border:1px solid #22d3ee66;border-radius:12px;box-shadow:0 20px 40px #00000080,0 0 30px #22d3ee26,inset 0 1px 0 #ffffff1a;min-width:160px;padding:1rem 1.25rem;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:100}@keyframes tooltipPop{0%{opacity:0;transform:translateX(-50%) scale(.9) translateY(10px)}to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}.fs-chart-tooltip:before{background:linear-gradient(90deg,#0000,#22d3ee99 50%,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.fs-chart-tooltip .tooltip-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.25rem}.fs-chart-tooltip .tooltip-icon{align-items:center;background:linear-gradient(135deg,#22d3ee33,#8b5cf633);border:1px solid #22d3ee4d;border-radius:8px;display:flex;height:28px;justify-content:center;width:28px}.fs-chart-tooltip .tooltip-icon svg{stroke:var(--fs-cyan);height:16px;width:16px}.fs-chart-tooltip .tooltip-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#22d3ee,#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:800;line-height:1.2}.fs-chart-tooltip .tooltip-label{color:var(--fs-text-muted);font-size:.7rem;letter-spacing:.08em;margin-bottom:.5rem;padding-left:calc(28px + .75rem);text-transform:uppercase}.fs-chart-tooltip .tooltip-divider{background:linear-gradient(90deg,#0000,#94a3b833 50%,#0000);height:1px;margin:.5rem 0}.fs-chart-tooltip .tooltip-date{align-items:center;color:var(--fs-text-secondary);display:flex;font-size:.8rem;gap:.5rem}.fs-chart-tooltip .date-icon{stroke:var(--fs-text-muted);height:14px;opacity:.7;width:14px}.fs-chart-tooltip .tooltip-trend{font-size:.8rem;font-weight:600;margin-top:.5rem}.fs-chart-tooltip .trend-up{align-items:center;color:#22c55e;display:flex;gap:.25rem}.fs-chart-tooltip .trend-up:before{content:"↑";font-size:.9rem}.fs-chart-tooltip .trend-down{align-items:center;color:#ef4444;display:flex;gap:.25rem}.fs-chart-tooltip .trend-down:before{content:"↓";font-size:.9rem}.fs-chart-tooltip .trend-flat{color:var(--fs-text-muted)}.fs-chart-legend{display:flex;gap:2rem;justify-content:center;margin-top:1.25rem;padding-top:1rem;position:relative;z-index:1}.fs-chart-legend:before{background:linear-gradient(90deg,#0000,#22d3ee33 50%,#0000);content:"";height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:80%}.fs-chart-legend .legend-item{align-items:center;color:var(--fs-text-muted);display:flex;font-size:.8rem;gap:.6rem;transition:color .2s}.fs-chart-legend .legend-item:hover{color:var(--fs-text-primary)}.fs-chart-legend .legend-dot{border-radius:50%;height:10px;position:relative;width:10px}.fs-chart-legend .legend-dot:after{border-radius:50%;content:"";inset:-3px;opacity:.3;position:absolute}.fs-chart-legend .legend-dot.cyan{background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 0 8px #22d3ee80}.fs-chart-legend .legend-dot.cyan:after{background:radial-gradient(circle,#22d3ee4d,#0000)}.fs-chart-legend .legend-dot.purple{background:linear-gradient(135deg,#a78bfa,#8b5cf6);box-shadow:0 0 8px #8b5cf680}.fs-chart-legend .legend-dot.purple:after{background:radial-gradient(circle,#8b5cf64d,#0000)}.fs-chart-legend .legend-dot.peak{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 8px #fbbf2480}.fs-chart-legend .legend-dot.peak:after{background:radial-gradient(circle,#fbbf244d,#0000)}@keyframes drawLine{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.chart-empty{align-items:center;color:var(--fs-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:250px;text-align:center}.chart-empty svg{margin-bottom:1rem;opacity:.3}.chart-empty p{color:var(--fs-text-secondary);font-size:1rem;margin:0 0 .5rem}.chart-empty-hint{color:var(--fs-text-muted);font-size:.875rem}.comparison-section{margin-bottom:3rem}.comparison-section h2{color:var(--fs-text-primary);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.section-subtitle{font-size:.9rem;margin:0 0 1.5rem}.comparison-bars{gap:.75rem}.comparison-bars,.comparison-item{display:flex;flex-direction:column}.comparison-item{background:var(--fs-bg-secondary);border:1px solid var(--fs-border);border-radius:8px;gap:.5rem;padding:1rem;text-decoration:none;transition:border-color .2s,background .2s}.comparison-item:hover{background:var(--fs-bg-tertiary);border-color:var(--fs-cyan)}.comparison-item.current{background:#22d3ee0d;border-color:var(--fs-cyan)}.comp-info{align-items:center;display:flex;justify-content:space-between}.comp-name{color:var(--fs-text-primary);font-size:.9rem;font-weight:500}.comparison-item.current .comp-name{color:var(--fs-cyan)}.comp-players{color:var(--fs-text-secondary);font-size:.9rem;font-weight:600}.comp-bar-track{background:var(--fs-bg-tertiary);border-radius:3px;height:6px;overflow:hidden}.comp-bar-fill{background:var(--fs-text-muted);border-radius:3px;height:100%;transition:width .5s ease-out}.comp-bar-fill.current{background:linear-gradient(90deg,var(--fs-cyan),var(--fs-purple))}.stats-footer{border-top:1px solid var(--fs-border);display:flex;gap:1rem;justify-content:center;padding-top:2rem}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.header-content{flex-direction:column;text-align:center}.header-content .game-thumb{height:84px;width:180px}.sentiment-visual,.stats-footer{flex-direction:column}.history-section .section-header{align-items:stretch;flex-direction:column}.time-range-selector{justify-content:center}.chart-stats{flex-wrap:wrap;gap:1rem}.chart-stat{min-width:80px}}@media (max-width:480px){.pulse-ring{height:140px;width:140px}.pulse-core{height:90px;width:90px}.pulse-number{font-size:1.25rem}}.login-page{align-items:center;background:radial-gradient(ellipse at top,#00d4ff14 0,#0000 50%),radial-gradient(ellipse at bottom right,#ff00800f 0,#0000 50%),var(--fs-bg);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.login-container{animation:slideUp .4s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#161b22cc;border:1px solid var(--fs-border);border-radius:2px;box-shadow:0 0 0 1px #ffffff08,0 20px 50px -10px #00000080;max-width:420px;padding:2.5rem;width:100%}.login-header{margin-bottom:2.5rem;text-align:center}.login-branding{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.login-logo-icon{filter:drop-shadow(0 0 20px rgba(0,212,255,.3));height:64px;object-fit:contain;width:auto}.login-logo-text{height:28px;object-fit:contain;opacity:.9;width:auto}.login-subtitle{color:var(--fs-text-secondary);font-size:.9375rem;font-weight:400}.login-providers{display:flex;flex-direction:column;gap:1rem}.provider-button{align-items:center;border:none;border-radius:2px;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:1rem;overflow:hidden;padding:1rem 1.25rem;position:relative;transition:all .2s ease;width:100%}.provider-button:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .5s ease}.provider-button:hover:before{transform:translateX(100%)}.provider-steam{background:linear-gradient(135deg,#1b2838,#171a21);border:1px solid #2a3f5f;color:#fff}.provider-steam:hover{background:linear-gradient(135deg,#2a3f5f,#1b2838);box-shadow:0 8px 25px -5px #1b283880;transform:translateY(-2px)}.provider-discord{background:linear-gradient(135deg,#5865f2,#4752c4);color:#fff}.provider-discord:hover{background:linear-gradient(135deg,#6875f5,#5865f2);box-shadow:0 8px 25px -5px #5865f266;transform:translateY(-2px)}.provider-button:active{transform:translateY(0)}.provider-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.provider-icon,.provider-icon svg{height:24px;width:24px}.provider-name{flex:1 1;text-align:left}.provider-arrow{align-items:center;display:flex;opacity:.6;transition:all .2s ease}.provider-button:hover .provider-arrow{opacity:1;transform:translateX(4px)}.login-divider{align-items:center;color:var(--fs-text-muted);display:flex;font-size:.6875rem;letter-spacing:.1em;margin:2rem 0 1.5rem;text-transform:uppercase}.login-divider:after,.login-divider:before{background:linear-gradient(90deg,#0000,var(--fs-border),#0000);content:"";flex:1 1;height:1px}.login-divider span{align-items:center;display:flex;gap:.5rem;padding:0 1rem}.login-divider span:before{background:var(--fs-cyan);border-radius:50%;box-shadow:0 0 10px var(--fs-cyan);content:"";display:block;height:6px;width:6px}.login-info{text-align:center}.info-text{color:var(--fs-text-muted);font-size:.75rem;line-height:1.6}.info-link{color:var(--fs-cyan);text-decoration:none;transition:color .2s ease}.info-link:hover{color:#fff;text-decoration:underline}.login-loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;padding:3rem}.spinner{animation:spin .8s linear infinite;border:3px solid var(--fs-border);border-radius:50%;border-top-color:var(--fs-cyan);height:40px;width:40px}@media (max-width:480px){.login-container{margin:0 .5rem;padding:2rem 1.5rem}.login-logo-icon{height:56px}.login-logo-text{height:24px}.provider-button{font-size:.875rem;padding:.875rem 1rem}}.admin-layout{background-color:var(--fs-bg);display:flex;min-height:100vh}.admin-sidebar{background-color:var(--fs-bg-elevated);border-right:1px solid var(--fs-border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:width .2s ease;width:260px;z-index:100}.sidebar-collapsed .admin-sidebar{width:64px}.sidebar-header{justify-content:space-between;min-height:64px;padding:1rem}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{color:var(--fs-text);font-size:1rem;font-weight:600;gap:.75rem;overflow:hidden;text-decoration:none}.logo-icon{flex-shrink:0;height:24px;width:24px}.logo-icon svg{color:var(--fs-cyan);height:100%;width:100%}.logo-text{transition:opacity .2s ease;white-space:nowrap}.sidebar-collapsed .logo-text{opacity:0;width:0}.sidebar-toggle{align-items:center;background:#0000;border:1px solid var(--fs-border);color:var(--fs-text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.sidebar-toggle:hover{background-color:var(--fs-bg-hover);border-color:var(--fs-border-strong);color:var(--fs-text)}.sidebar-toggle svg{height:16px;width:16px}.sidebar-collapsed .sidebar-toggle{background-color:var(--fs-bg-elevated);border-radius:0;position:absolute;right:-16px;top:50%;transform:translateY(-50%)}.sidebar-nav{overflow-x:hidden;padding:1rem .5rem}.nav-item{align-items:center;border-left:3px solid #0000;color:var(--fs-text-secondary);display:flex;gap:.75rem;margin-bottom:.25rem;padding:.75rem 1rem;text-decoration:none;transition:all .15s ease}.nav-item:hover{background-color:var(--fs-bg-hover);color:var(--fs-text)}.nav-item.active{background-color:var(--fs-bg-surface);border-left-color:var(--fs-cyan);color:var(--fs-cyan)}.nav-icon{flex-shrink:0;height:20px;width:20px}.nav-icon svg{height:100%;width:100%}.nav-label{transition:opacity .2s ease;white-space:nowrap}.sidebar-collapsed .nav-label{opacity:0;width:0}.sidebar-footer{border-top:1px solid var(--fs-border);padding:1rem}.user-info{background-color:var(--fs-bg-surface);gap:.75rem;margin-bottom:.75rem;overflow:hidden;padding:.75rem}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,var(--fs-cyan),var(--fs-magenta));color:#fff;flex-shrink:0;font-size:.875rem;font-weight:700;height:36px;justify-content:center;width:36px}.user-details{display:flex;flex-direction:column;overflow:hidden;transition:opacity .2s ease}.sidebar-collapsed .user-details{opacity:0;width:0}.user-name{color:var(--fs-text);font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:var(--fs-cyan);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.back-to-site{align-items:center;border:1px solid var(--fs-border);color:var(--fs-text-secondary);display:flex;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .15s ease}.back-to-site:hover{background-color:var(--fs-bg-hover);border-color:var(--fs-border-strong);color:var(--fs-text)}.back-to-site svg{flex-shrink:0;height:18px;width:18px}.back-to-site span{transition:opacity .2s ease;white-space:nowrap}.sidebar-collapsed .back-to-site span{opacity:0;width:0}.admin-main{display:flex;flex:1 1;flex-direction:column;margin-left:260px;min-height:100vh;transition:margin-left .2s ease}.sidebar-collapsed .admin-main{margin-left:64px}.admin-header{align-items:center;background-color:var(--fs-bg-elevated);border-bottom:1px solid var(--fs-border);display:flex;height:64px;padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-breadcrumb{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.breadcrumb-home,.breadcrumb-separator{color:var(--fs-text-muted)}.breadcrumb-current{color:var(--fs-text);font-weight:500;text-transform:capitalize}.admin-content{flex:1 1;padding:2rem}@media (max-width:1024px){.admin-sidebar{width:64px}.back-to-site span,.logo-text,.nav-label,.user-details{opacity:0;width:0}.admin-main{margin-left:64px}.sidebar-toggle{display:none}}@media (max-width:768px){.admin-sidebar{transform:translateX(-100%);width:260px}.admin-sidebar.open{transform:translateX(0)}.back-to-site span,.logo-text,.nav-label,.user-details{opacity:1;width:auto}.admin-main{margin-left:0}.admin-content{padding:1rem}}.admin-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.admin-page-title{color:var(--fs-text);font-size:1.5rem;font-weight:700;margin:0}.admin-page-subtitle{color:var(--fs-text-muted);font-size:.875rem;margin-top:.25rem}.admin-page-actions{display:flex;gap:.75rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background-color:var(--fs-bg-elevated);border:1px solid var(--fs-border);overflow:hidden;padding:1.25rem;position:relative}.stat-card:before{background:var(--fs-cyan);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.stat-card.stat-warning:before{background:var(--fs-warning)}.stat-card.stat-error:before{background:var(--fs-error)}.stat-card.stat-success:before{background:var(--fs-success)}.stat-card.stat-info:before{background:var(--fs-info)}.stat-icon{color:var(--fs-text-muted);height:24px;margin-bottom:.75rem;width:24px}.stat-value{color:var(--fs-text);font-size:1.75rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-label{color:var(--fs-text-muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.stat-change{font-size:.75rem;margin-top:.5rem}.stat-change.positive{color:var(--fs-success)}.stat-change.negative{color:var(--fs-error)}.admin-section{background-color:var(--fs-bg-elevated);border:1px solid var(--fs-border);margin-bottom:1.5rem}.section-header{background-color:var(--fs-bg-surface);border-bottom:1px solid var(--fs-border);padding:1rem 1.25rem}.section-title{color:var(--fs-text);font-size:.875rem;letter-spacing:.05em;margin:0}.section-actions{display:flex;gap:.5rem}.section-body{padding:1.25rem}.section-body-no-padding{padding:0}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--fs-border);padding:.875rem 1rem;text-align:left}.admin-table th{background-color:var(--fs-bg-surface);color:var(--fs-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.admin-table td{color:var(--fs-text);font-size:.875rem}.admin-table tbody tr:hover td{background-color:var(--fs-bg-hover)}.admin-table tbody tr.row-warning td{background-color:#f59e0b1a}.admin-table tbody tr.row-error td{background-color:#ef44441a}.table-actions{display:flex;gap:.5rem}.table-action-btn{align-items:center;background:#0000;border:1px solid var(--fs-border);color:var(--fs-text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.table-action-btn:hover{background-color:var(--fs-bg-hover);border-color:var(--fs-border-strong);color:var(--fs-text)}.table-action-btn.danger:hover{background-color:#ef44441a;border-color:var(--fs-error);color:var(--fs-error)}.table-action-btn svg{height:14px;width:14px}.status-badge{align-items:center;display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;letter-spacing:.03em;padding:.25rem .5rem;text-transform:uppercase}.status-badge.active{background-color:#10b98126;color:var(--fs-success)}.status-badge.inactive{background-color:#ef444426;color:var(--fs-error)}.status-badge.pending{background-color:#f59e0b26;color:var(--fs-warning)}.status-badge.info{background-color:#3b82f626;color:var(--fs-info)}.status-dot{background:currentColor}.pagination{align-items:center;background-color:var(--fs-bg-surface);border-top:1px solid var(--fs-border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.pagination-info{color:var(--fs-text-muted);font-size:.875rem}.pagination-controls{display:flex;gap:.5rem}.pagination-btn{align-items:center;background:#0000;border:1px solid var(--fs-border);color:var(--fs-text-secondary);cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;min-width:32px;padding:0 .75rem;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background-color:var(--fs-bg-hover);border-color:var(--fs-border-strong);color:var(--fs-text)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn.active{background-color:var(--fs-cyan);border-color:var(--fs-cyan);color:var(--fs-text-inverse)}.admin-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-label{color:var(--fs-text-muted);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.filter-input{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text);font-size:.875rem;min-width:200px;padding:.5rem .75rem}.filter-input:focus{border-color:var(--fs-cyan);box-shadow:0 0 0 2px #4cc9f033;outline:none}.filter-input::placeholder{color:var(--fs-text-muted)}.filter-select{background-color:var(--fs-bg-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236B7280' d='M6 8 2 4h8z'/%3E%3C/svg%3E");background-position:right .75rem center;border:1px solid var(--fs-border);color:var(--fs-text);font-size:.875rem}.filter-select:focus{border-color:var(--fs-cyan)}.admin-loading{align-items:center;color:var(--fs-text-muted);display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--fs-border);border-top-color:var(--fs-cyan);height:40px;margin-bottom:1rem;width:40px}.loading-text{font-size:.875rem}.admin-empty{align-items:center;color:var(--fs-text-muted);display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{height:48px;margin-bottom:1rem;width:48px}.empty-title{color:var(--fs-text);font-size:1rem;font-weight:600;margin-bottom:.5rem}.empty-description{font-size:.875rem;max-width:300px}.admin-error{align-items:center;background-color:#ef44441a;border:1px solid var(--fs-error);color:var(--fs-error);display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.error-icon{flex-shrink:0;height:20px;width:20px}.error-message{font-size:.875rem}.admin-modal-overlay{align-items:center;background-color:#000000bf;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:200}.admin-modal{background-color:var(--fs-bg-elevated);border:1px solid var(--fs-border);display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:100%}.modal-header{background-color:var(--fs-bg-surface);border-bottom:1px solid var(--fs-border)}.modal-title{color:var(--fs-text);font-size:1rem;font-weight:600;margin:0}.modal-close{background:#0000;color:var(--fs-text-secondary);padding:0;transition:color .15s ease}.modal-close:hover{color:var(--fs-text)}.modal-close svg{height:18px;width:18px}.modal-body{overflow-y:auto}.modal-footer{background-color:var(--fs-bg-surface);border-top:1px solid var(--fs-border);gap:.75rem}.confirm-dialog{padding:1rem 0;text-align:center}.confirm-icon{color:var(--fs-warning);height:48px;margin-bottom:1rem;width:48px}.confirm-title{color:var(--fs-text);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.confirm-message{color:var(--fs-text-secondary);font-size:.875rem}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-filters{flex-direction:column}.filter-input,.filter-select{min-width:100%}.admin-page-header{align-items:flex-start;flex-direction:column;gap:1rem}.admin-page-actions{width:100%}.admin-page-actions .btn{flex:1 1}}.dashboard{max-width:1600px}.section-subtitle,.stat-details{color:var(--fs-text-muted);font-size:.75rem}.stat-details{display:flex;gap:.75rem;margin-top:.5rem}.workers-table-container{border:1px solid var(--fs-border);margin-top:1.5rem;overflow-x:auto}.worker-name{font-family:monospace;font-size:.8125rem}.beat-schedule{margin-top:1.5rem}.subsection-title{color:var(--fs-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.schedule-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.schedule-item{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);padding:.875rem}.schedule-name{color:var(--fs-text);font-size:.875rem;font-weight:600;margin-bottom:.25rem}.schedule-task{color:var(--fs-cyan);font-family:monospace;font-size:.75rem;margin-bottom:.5rem;word-break:break-all}.schedule-time{color:var(--fs-text-muted);font-size:.75rem}.metrics-breakdown{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.5rem}.metrics-column{background-color:var(--fs-bg-surface);border:1px solid var(--fs-border);padding:1rem}.breakdown-list{display:flex;flex-direction:column;gap:.5rem}.breakdown-item{align-items:center;border-bottom:1px solid var(--fs-border);display:flex;justify-content:space-between;padding:.5rem 0}.breakdown-item:last-child{border-bottom:none}.breakdown-label{color:var(--fs-text);font-size:.875rem}.breakdown-label.endpoint{color:var(--fs-text-secondary);font-family:monospace;font-size:.8125rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-value{color:var(--fs-cyan);font-size:.875rem;font-weight:600}@media (max-width:768px){.metrics-breakdown,.schedule-grid{grid-template-columns:1fr}}.wiki-home{margin:0 auto;max-width:1100px;padding:20px}.wiki-home.error,.wiki-home.loading{align-items:center;display:flex;justify-content:center;min-height:300px}.wiki-header{background:var(--fs-bg-surface);border:1px solid var(--fs-border);margin-bottom:20px;overflow:hidden;padding:32px 24px;position:relative}.wiki-header-bg{background-position:50%;background-size:cover;inset:0;opacity:.1;position:absolute}.wiki-header-content{position:relative;z-index:1}.wiki-header h1{color:var(--fs-text);font-size:1.75rem;font-weight:700;margin:0 0 6px}.wiki-description{color:var(--fs-text-secondary);font-size:.9rem;margin:0 0 12px}.wiki-stats{display:flex;font-size:.8rem;gap:16px;margin-bottom:12px}.wiki-stats span{color:var(--fs-cyan);font-weight:500}.wiki-actions{display:flex;gap:10px}.btn-browse,.btn-create{font-size:.8rem;font-weight:600;padding:6px 14px;text-decoration:none;transition:all .15s ease}.btn-browse{background:#0000;border:1px solid var(--fs-border);color:var(--fs-text)}.btn-browse:hover{border-color:var(--fs-cyan);color:var(--fs-cyan)}.btn-create{background:var(--fs-cyan);border:1px solid var(--fs-cyan);color:var(--fs-text-inverse)}.btn-create:hover{background:var(--fs-magenta);border-color:var(--fs-magenta)}.wiki-home-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 260px}@media (max-width:800px){.wiki-home-content{grid-template-columns:1fr}}.wiki-section{margin-bottom:20px}.wiki-section h2{color:var(--fs-text);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.section-link{color:var(--fs-cyan);font-size:.75rem;text-decoration:none}.section-link:hover{text-decoration:underline}.categories-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}@media (max-width:600px){.categories-grid{grid-template-columns:repeat(2,1fr)}}.category-tile{align-items:center;background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);display:flex;gap:8px;padding:10px 12px;text-decoration:none;transition:all .15s ease}.category-tile:hover{background:var(--fs-bg-hover);border-color:var(--fs-cyan)}.category-tile-icon{flex-shrink:0;font-size:1.25rem}.category-tile-name{flex:1 1;font-size:.8rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tile-count{background:var(--fs-bg-surface);color:var(--fs-cyan);font-size:.75rem;font-weight:600;min-width:20px;padding:2px 6px;text-align:center}.popular-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}@media (max-width:600px){.popular-grid{grid-template-columns:repeat(2,1fr)}}.popular-item{align-items:center;background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);display:flex;gap:8px;padding:8px 10px;text-decoration:none;transition:all .15s ease}.popular-item:hover{background:var(--fs-bg-hover);border-color:var(--fs-cyan)}.popular-icon{height:24px;image-rendering:pixelated;object-fit:contain;width:24px}.popular-icon-placeholder{align-items:center;display:flex;font-size:.9rem;height:24px;justify-content:center;width:24px}.popular-title{flex:1 1;font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-sidebar{gap:12px}.sidebar-section{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);padding:10px}.sidebar-section h3{border-bottom:1px solid var(--fs-border);color:var(--fs-text);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px;padding-bottom:6px;text-transform:uppercase}.activity-feed,.activity-item{display:flex;flex-direction:column}.activity-item{border-bottom:1px solid var(--fs-border);padding:6px 0;text-decoration:none;transition:background .1s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--fs-bg-hover);margin:0 -10px;padding-left:10px;padding-right:10px}.activity-title{color:var(--fs-text);font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-meta{color:var(--fs-text-muted);display:flex;font-size:.65rem;gap:6px;margin-top:2px}.activity-user{color:var(--fs-text-secondary)}.activity-diff{font-family:monospace}.activity-diff.positive{color:var(--fs-success)}.activity-diff.negative{color:var(--fs-error)}.contributors-list{display:flex;flex-direction:column}.contributor-row{align-items:center;display:flex;font-size:.75rem;gap:6px;padding:4px 0}.contributor-rank{color:var(--fs-text-muted);width:16px}.contributor-name{color:var(--fs-text);flex:1 1;font-weight:500}.contributor-edits{color:var(--fs-cyan);font-weight:600}.wiki-index-header{padding:40px 20px;text-align:center}.wiki-index-header h1{font-size:2rem;margin-bottom:8px}.wiki-index-content{padding:0}.wiki-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.wiki-card{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:all .15s ease}.wiki-card:hover{border-color:var(--fs-cyan)}.wiki-card-image{background-color:var(--fs-bg-surface);background-position:50%;background-size:cover;height:100px}.wiki-card-content{padding:10px}.wiki-card-content h3{font-size:1rem;font-weight:600;margin:0 0 4px}.wiki-card-content p{color:var(--fs-text-secondary);font-size:.75rem;margin:0 0 8px}.wiki-card-stats{border-top:1px solid var(--fs-border);color:var(--fs-text-muted);display:flex;font-size:.65rem;gap:10px;padding-top:8px}.no-wikis{color:var(--fs-text-secondary);padding:40px 20px;text-align:center}@media (max-width:500px){.wiki-home{padding:12px}.wiki-header{padding:20px 16px}.wiki-header h1{font-size:1.5rem}.wiki-stats{flex-wrap:wrap;gap:8px}.wiki-actions{flex-direction:column}}.hh-infobox{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);font-size:.875rem;width:100%}.hh-header{background:linear-gradient(135deg,var(--fs-cyan) 0,var(--fs-magenta) 100%);padding:12px 16px;text-align:center}.hh-header h2{color:var(--fs-text-inverse);font-size:1.125rem;font-weight:600;margin:0}.hh-image{align-items:center;background:var(--fs-bg-surface);border-bottom:1px solid var(--fs-border);display:flex;justify-content:center;padding:20px}.hh-image img{image-rendering:pixelated;max-height:128px;max-width:128px}.hh-type{border-bottom:1px solid var(--fs-border);padding:10px 16px;text-align:center}.hh-badge{background:var(--fs-bg-surface);border:1px solid var(--fs-border);display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.75px;padding:4px 14px;text-transform:uppercase}.hh-badge.type-item{border-color:var(--fs-cyan);color:var(--fs-cyan)}.hh-badge.type-creature{border-color:#f87171;color:#f87171}.hh-badge.type-skill{border-color:#4ade80;color:#4ade80}.hh-badge.type-building{border-color:#fbbf24;color:#fbbf24}.hh-badge.type-food{border-color:#c084fc;color:#c084fc}.hh-badge.type-curiosity{border-color:#38bdf8;color:#38bdf8}.hh-badge.type-equipment{border-color:#a78bfa;color:#a78bfa}.hh-section{border-bottom:1px solid var(--fs-border)}.hh-section:last-of-type{border-bottom:none}.hh-section h3{background:var(--fs-bg-surface);color:var(--fs-text);font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.hh-section h3,.hh-section h4{border-bottom:1px solid var(--fs-border);margin:0}.hh-section h4{background:var(--fs-bg);color:var(--fs-text-secondary);font-size:.75rem;font-weight:500;padding:6px 12px}.hh-section table{border-collapse:collapse;width:100%}.hh-section td,.hh-section th{border-bottom:1px solid var(--fs-border);padding:8px 12px;text-align:left;vertical-align:top}.hh-section tr:last-child td,.hh-section tr:last-child th{border-bottom:none}.hh-section th{color:var(--fs-text-secondary);font-size:.8125rem;font-weight:500;width:40%}.hh-section td{color:var(--fs-text)}.hh-help{align-items:center;border:1px solid var(--fs-text-muted);border-radius:50%;color:var(--fs-text-muted);cursor:help;display:inline-flex;font-size:.5625rem;font-weight:700;height:12px;justify-content:center;margin-left:4px;vertical-align:middle;width:12px}.hh-link{color:var(--fs-cyan);text-decoration:none}.hh-link:hover{text-decoration:underline}.hh-wrap{display:block;line-height:1.6}.hh-none{color:var(--fs-text-muted)}.hh-danger{color:#ef4444;font-weight:600}.hh-text{color:var(--fs-text-secondary);font-size:.8125rem;line-height:1.5;margin:0;padding:10px 12px}.hh-notes{background:var(--fs-bg)}.hh-feps{grid-gap:1px;background:var(--fs-border);display:grid;gap:1px;grid-template-columns:1fr 1fr}.hh-fep{background:var(--fs-bg-elevated);display:flex;font-size:.75rem;justify-content:space-between;padding:6px 10px}.hh-fep-label{color:var(--fs-text-secondary)}.hh-fep-value{color:var(--fs-text);font-weight:500}.hh-fep-bonus{color:#4ade80;margin-left:2px}.hh-bonuses{display:flex;flex-direction:column}.hh-bonus{border-bottom:1px solid var(--fs-border);display:flex;font-size:.8125rem;justify-content:space-between;padding:6px 12px}.hh-bonus:last-child{border-bottom:none}.hh-bonus span:first-child{color:var(--fs-text-secondary)}.hh-bonus.positive span:last-child{color:#4ade80;font-weight:500}.hh-bonus.negative span:last-child{color:#f87171;font-weight:500}.hh-gilding-bonuses{list-style:disc;margin:0;padding:8px 12px 8px 28px}.hh-gilding-bonuses li{color:var(--fs-text-secondary);font-size:.8125rem;line-height:1.5}.hh-footer{background:var(--fs-bg-surface);border-top:1px solid var(--fs-border);padding:12px;text-align:center}.hh-footer a{color:var(--fs-cyan);font-size:.8125rem;font-weight:500;text-decoration:none}.hh-footer a:hover{text-decoration:underline}.hh-infobox-editor{background:var(--fs-bg-surface);border:1px solid var(--fs-border);margin-bottom:24px;padding:20px}.hh-editor-header{margin-bottom:20px}.hh-editor-header h3{color:var(--fs-text);font-size:1.125rem;font-weight:600;margin:0 0 8px}.hh-editor-help{color:var(--fs-text-secondary);font-size:.875rem;margin:0}.hh-editor-section{margin-bottom:16px}.hh-editor-label{color:var(--fs-text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:8px}.hh-editor-select{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);font-size:.875rem;padding:10px 12px;width:100%}.hh-editor-select:focus{border-color:var(--fs-cyan);outline:none}.hh-editor-fieldset{border:1px solid var(--fs-border);margin:0 0 20px;padding:16px}.hh-editor-fieldset legend{color:var(--fs-cyan);font-size:.875rem;font-weight:600;padding:0 8px}.hh-editor-row{display:flex;gap:16px;margin-bottom:12px}.hh-editor-row:last-child{margin-bottom:0}.hh-editor-field{flex:1 1}.hh-editor-field.full-width{flex:1 1 100%}.hh-editor-field label{color:var(--fs-text-muted);display:block;font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.hh-editor-field input,.hh-editor-field textarea{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);font-family:inherit;font-size:.875rem;padding:8px 12px;width:100%}.hh-editor-field input:focus,.hh-editor-field textarea:focus{border-color:var(--fs-cyan);outline:none}.hh-editor-field input::placeholder,.hh-editor-field textarea::placeholder{color:var(--fs-text-muted)}.hh-editor-field input[type=number]{-moz-appearance:textfield}.hh-editor-field input[type=number]::-webkit-inner-spin-button,.hh-editor-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hh-editor-textarea{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);font-family:inherit;font-size:.875rem;padding:10px 12px;resize:vertical;width:100%}.hh-editor-textarea:focus{border-color:var(--fs-cyan);outline:none}.hh-editor-subsection{border-top:1px solid var(--fs-border);margin-top:16px;padding-top:12px}.hh-editor-subsection h4{color:var(--fs-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.hh-editor-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.hh-editor-grid.wide{grid-template-columns:repeat(3,1fr)}.hh-editor-mini-field{display:flex;flex-direction:column;gap:4px}.hh-editor-mini-field.wide{align-items:center;flex-direction:row;gap:8px}.hh-editor-mini-field label{color:var(--fs-text-muted);font-size:.625rem;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.hh-editor-mini-field.wide label{flex:1 1;font-size:.75rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hh-editor-mini-field input{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);font-size:.8125rem;padding:6px 8px;text-align:center;width:100%}.hh-editor-mini-field.wide input{flex-shrink:0;width:60px}.hh-editor-mini-field input:focus{border-color:var(--fs-cyan);outline:none}.hh-editor-field label input[type=checkbox]{margin-right:6px;vertical-align:middle}@media (max-width:768px){.hh-editor-grid{grid-template-columns:repeat(3,1fr)}.hh-editor-grid.wide{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.hh-editor-row{flex-direction:column}.hh-editor-grid{grid-template-columns:repeat(3,1fr)}.hh-editor-grid.wide{grid-template-columns:1fr}}.wiki-page-view{margin:0 auto;max-width:1200px;padding:24px}.wiki-page-view.error,.wiki-page-view.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.error-content{text-align:center}.error-content h2{color:var(--fs-text);font-size:1.5rem;margin-bottom:12px}.error-content p{color:var(--fs-text-secondary);margin-bottom:24px}.error-actions{display:flex;gap:16px;justify-content:center}.wiki-page-header{align-items:flex-start;border-bottom:1px solid var(--fs-border);display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.header-main{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.wiki-page-header h1{color:var(--fs-text);font-size:2rem;font-weight:700;margin:0}.content-type-badge{background:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text-secondary);font-size:.75rem;font-weight:500;padding:4px 12px;text-transform:capitalize}.content-type-badge.type-guide{border-color:var(--fs-cyan);color:var(--fs-cyan)}.content-type-badge.type-walkthrough{border-color:var(--fs-success);color:var(--fs-success)}.content-type-badge.type-tips{border-color:var(--fs-warning);color:var(--fs-warning)}.content-type-badge.type-lore{border-color:var(--fs-magenta);color:var(--fs-magenta)}.content-type-badge.type-database{border-color:var(--fs-info);color:var(--fs-info)}.locked-badge{background:var(--fs-warning);color:var(--fs-text-inverse);font-size:.75rem;font-weight:500;padding:4px 12px}.header-actions{display:flex;flex-shrink:0;gap:12px}.btn-edit,.btn-history,.btn-primary,.btn-secondary{border:none;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .15s ease}.btn-edit{background:var(--fs-cyan);color:var(--fs-text-inverse)}.btn-edit:hover{background:var(--fs-magenta)}.btn-history{background:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text)}.btn-history:hover{background:var(--fs-bg-hover);border-color:var(--fs-border-strong)}.btn-primary{background:var(--fs-cyan)}.btn-primary:hover{background:var(--fs-magenta)}.btn-secondary:hover{background:var(--fs-bg-hover)}.wiki-page-content{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);margin-bottom:24px;padding:24px}.wiki-content-rendered .ProseMirror{outline:none}.wiki-content-rendered h1,.wiki-content-rendered h2,.wiki-content-rendered h3,.wiki-content-rendered h4,.wiki-content-rendered h5,.wiki-content-rendered h6{color:var(--fs-text);font-weight:600;line-height:1.3;margin-bottom:12px;margin-top:24px}.wiki-content-rendered h1:first-child,.wiki-content-rendered h2:first-child,.wiki-content-rendered h3:first-child{margin-top:0}.wiki-content-rendered h1{border-bottom:1px solid var(--fs-border);font-size:2rem;padding-bottom:8px}.wiki-content-rendered h2{font-size:1.5rem}.wiki-content-rendered h3{font-size:1.25rem}.wiki-content-rendered p{color:var(--fs-text);line-height:1.7;margin-bottom:16px}.wiki-content-rendered strong{font-weight:600}.wiki-content-rendered ol,.wiki-content-rendered ul{margin:16px 0;padding-left:24px}.wiki-content-rendered li{line-height:1.6;margin-bottom:8px}.wiki-content-rendered blockquote{background:var(--fs-bg-surface);border-left:4px solid var(--fs-cyan);color:var(--fs-text-secondary);margin:16px 0;padding:12px 16px}.wiki-content-rendered code{color:var(--fs-magenta);font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9em;padding:2px 6px}.wiki-content-rendered code,.wiki-content-rendered pre{background:var(--fs-bg-surface);border:1px solid var(--fs-border)}.wiki-content-rendered pre{margin:16px 0;overflow-x:auto;padding:16px}.wiki-content-rendered pre code{background:#0000;border:none;color:var(--fs-text);padding:0}.wiki-content-rendered .wiki-link{color:var(--fs-cyan);text-decoration:underline}.wiki-content-rendered .wiki-link:hover{color:var(--fs-magenta)}.wiki-content-rendered .wiki-image{height:auto;margin:16px 0;max-width:100%}.wiki-content-rendered hr{border:none;border-top:1px solid var(--fs-border);margin:24px 0}.wiki-content-rendered .wiki-table{border-collapse:collapse;margin:16px 0;width:100%}.wiki-content-rendered .wiki-table td,.wiki-content-rendered .wiki-table th{border:1px solid var(--fs-border);padding:10px 12px;text-align:left}.wiki-content-rendered .wiki-table th{background:var(--fs-bg-surface);font-weight:600}.wiki-page-footer{background:var(--fs-bg-surface);border:1px solid var(--fs-border);padding:16px}.page-meta{gap:24px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{color:var(--fs-text-muted);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:var(--fs-text);font-size:.875rem}.wiki-page-body{align-items:flex-start;display:flex;gap:24px}.wiki-page-main{display:flex;flex:1 1;flex-direction:column;gap:24px;min-width:0}.wiki-page-body .wiki-page-content{flex:1 1;min-width:0}.wiki-page-infobox{flex-shrink:0;width:320px}@media (max-width:900px){.wiki-page-body{flex-direction:column-reverse}.wiki-page-infobox,.wiki-page-main{width:100%}}.wiki-editor{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);display:flex;flex-direction:column}.wiki-editor.editable{min-height:400px}.wiki-editor.readonly{background:#0000;border:none}.wiki-editor-toolbar{background:var(--fs-bg-surface);border-bottom:1px solid var(--fs-border);display:flex;flex-wrap:wrap;gap:4px;padding:8px}.toolbar-group{display:flex;gap:2px}.toolbar-divider{background:var(--fs-border);margin:0 4px;width:1px}.wiki-editor-toolbar button{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:6px 10px;transition:all .15s ease}.wiki-editor-toolbar button:hover{background:var(--fs-bg-hover);border-color:var(--fs-border-strong);color:var(--fs-text)}.wiki-editor-toolbar button.is-active{background:var(--fs-bg-hover);border-color:var(--fs-cyan);color:var(--fs-cyan)}.wiki-editor-toolbar button:disabled{cursor:not-allowed;opacity:.4}.wiki-editor-content{flex:1 1;overflow-y:auto;padding:16px}.wiki-editor-content .ProseMirror{min-height:300px;outline:none}.wiki-editor-content .ProseMirror:focus{outline:none}.wiki-editor-content .ProseMirror p.is-editor-empty:first-child:before{color:var(--fs-text-muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.wiki-editor-content h1,.wiki-editor-content h2,.wiki-editor-content h3,.wiki-editor-content h4,.wiki-editor-content h5,.wiki-editor-content h6{color:var(--fs-text);font-weight:600;line-height:1.3;margin-bottom:12px;margin-top:24px}.wiki-editor-content h1:first-child,.wiki-editor-content h2:first-child,.wiki-editor-content h3:first-child{margin-top:0}.wiki-editor-content h1{border-bottom:1px solid var(--fs-border);font-size:2rem;padding-bottom:8px}.wiki-editor-content h2{font-size:1.5rem}.wiki-editor-content h3{font-size:1.25rem}.wiki-editor-content h4{font-size:1.1rem}.wiki-editor-content p{color:var(--fs-text);line-height:1.7;margin-bottom:16px}.wiki-editor-content strong{font-weight:600}.wiki-editor-content em{font-style:italic}.wiki-editor-content s{text-decoration:line-through}.wiki-editor-content ol,.wiki-editor-content ul{margin:16px 0;padding-left:24px}.wiki-editor-content li{line-height:1.6;margin-bottom:8px}.wiki-editor-content li p{margin-bottom:0}.wiki-editor-content blockquote{background:var(--fs-bg-surface);border-left:4px solid var(--fs-cyan);color:var(--fs-text-secondary);margin:16px 0;padding:12px 16px}.wiki-editor-content blockquote p{margin-bottom:0}.wiki-editor-content code{color:var(--fs-magenta);font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9em;padding:2px 6px}.wiki-editor-content code,.wiki-editor-content pre{background:var(--fs-bg-surface);border:1px solid var(--fs-border)}.wiki-editor-content pre{margin:16px 0;overflow-x:auto;padding:16px}.wiki-editor-content pre code{background:#0000;border:none;color:var(--fs-text);padding:0}.wiki-editor-content .wiki-link{color:var(--fs-cyan);cursor:pointer;text-decoration:underline}.wiki-editor-content .wiki-link:hover{color:var(--fs-magenta)}.wiki-editor-content .wiki-image{display:block;height:auto;margin:16px 0;max-width:100%}.wiki-editor-content hr{border:none;border-top:1px solid var(--fs-border);margin:24px 0}.wiki-editor-content .wiki-table{border-collapse:collapse;margin:16px 0;width:100%}.wiki-editor-content .wiki-table td,.wiki-editor-content .wiki-table th{border:1px solid var(--fs-border);padding:10px 12px;text-align:left;vertical-align:top}.wiki-editor-content .wiki-table th{background:var(--fs-bg-surface);color:var(--fs-text);font-weight:600}.wiki-editor-content .wiki-table td{background:var(--fs-bg-elevated)}.wiki-editor-content .wiki-table tr:hover td{background:var(--fs-bg-hover)}.wiki-editor-content .wiki-table .selectedCell{background:#4cc9f026}.wiki-editor-content .tableWrapper{margin:16px 0;overflow-x:auto}.wiki-editor-content .resize-cursor{cursor:col-resize}.wiki-editor-content .ProseMirror ::selection{background:#4cc9f04d}.wiki-editor-content u{text-decoration:underline}.wiki-editor-content mark{border-radius:2px;padding:0 2px}.wiki-editor-content [style*="text-align: center"]{text-align:center}.wiki-editor-content [style*="text-align: right"]{text-align:right}.toolbar-dropdown{display:inline-block;position:relative}.toolbar-picker{grid-gap:4px;background:var(--fs-bg-surface);box-shadow:0 4px 12px #0000004d;display:grid;gap:4px;grid-template-columns:repeat(5,1fr);left:0;margin-top:4px;padding:8px;position:absolute;top:100%;z-index:100}.color-swatch,.toolbar-picker{border:1px solid var(--fs-border)}.color-swatch{align-items:center;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:transform .1s ease;width:24px}.color-swatch:hover{border-color:var(--fs-cyan);transform:scale(1.15)}.color-swatch .no-color{color:var(--fs-text-muted);font-size:16px}.wiki-editor-content .wiki-image-container{display:inline-block;margin:16px 0;position:relative}.wiki-editor-content .wiki-image-container .wiki-image{display:block;height:auto;margin:0;max-width:100%}.wiki-editor-content .wiki-image-resize-handle{align-items:center;background:var(--fs-bg-surface);border:1px solid var(--fs-border);bottom:4px;color:var(--fs-text-secondary);cursor:nwse-resize;display:flex;font-size:12px;height:20px;justify-content:center;opacity:0;position:absolute;right:4px;transition:opacity .15s ease;width:20px}.wiki-editor-content .wiki-image-container:hover .wiki-image-resize-handle{opacity:1}.wiki-editor-content .wiki-image-resize-handle:hover{background:var(--fs-cyan);border-color:var(--fs-cyan);color:var(--fs-text-inverse)}.wiki-page-edit{margin:0 auto;max-width:1000px;padding:24px}.wiki-page-edit.auth-required,.wiki-page-edit.loading,.wiki-page-edit.locked{align-items:center;display:flex;justify-content:center;min-height:400px}.auth-message,.locked-message{text-align:center}.auth-message h2,.locked-message h2{color:var(--fs-text);font-size:1.5rem;margin-bottom:12px}.auth-message p,.locked-message p{color:var(--fs-text-secondary);margin-bottom:24px}.wiki-breadcrumb{align-items:center;display:flex;font-size:.875rem;gap:8px;margin-bottom:24px}.wiki-breadcrumb a{color:var(--fs-cyan);text-decoration:none}.wiki-breadcrumb a:hover{text-decoration:underline}.wiki-breadcrumb .separator{color:var(--fs-text-muted)}.wiki-breadcrumb .current{color:var(--fs-text-secondary)}.wiki-page-edit h1{color:var(--fs-text);font-size:1.75rem;font-weight:700;margin-bottom:24px}.edit-form{gap:20px}.edit-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:var(--fs-text)}.form-row{grid-gap:20px;gap:20px}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.form-input,.form-select{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);font-family:inherit;font-size:.9375rem;padding:10px 14px;transition:border-color .15s ease}.form-input:focus,.form-select:focus{border-color:var(--fs-cyan);outline:none}.form-input::placeholder{color:var(--fs-text-muted)}.form-select{cursor:pointer}.form-hint{color:var(--fs-text-muted)}.editor-group{flex:1 1}.editor-group .wiki-editor{min-height:500px}.edit-summary-group{background:var(--fs-bg-surface);border:1px solid var(--fs-border);padding:16px}.checkbox-label{color:var(--fs-text-secondary);font-size:.875rem;gap:8px;margin-top:12px}.checkbox-label input[type=checkbox]{cursor:pointer;height:16px;width:16px}.form-actions{border-top:1px solid var(--fs-border);display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.btn-cancel,.btn-primary,.btn-save,.btn-secondary{border:none;cursor:pointer;font-family:inherit;font-size:.9375rem;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .15s ease}.btn-cancel{background:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text)}.btn-cancel:hover:not(:disabled){background:var(--fs-bg-hover);border-color:var(--fs-border-strong)}.btn-primary,.btn-save{background:var(--fs-cyan);color:var(--fs-text-inverse)}.btn-primary:hover:not(:disabled),.btn-save:hover:not(:disabled){background:var(--fs-magenta)}.btn-secondary{background:var(--fs-bg-surface);border:1px solid var(--fs-border)}.btn-secondary:hover:not(:disabled){background:var(--fs-bg-hover)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6}.wiki-pages{margin:0 auto;max-width:1000px;padding:24px;transition:opacity .15s ease}.wiki-pages.is-searching{opacity:.7;pointer-events:none}.wiki-pages.error,.wiki-pages.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner{color:var(--fs-text-secondary)}.error-message{color:var(--fs-error)}.pages-header{align-items:flex-start;border-bottom:1px solid var(--fs-border);display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.header-title h1{color:var(--fs-text);font-size:1.75rem;font-weight:700;margin:0 0 8px}.category-description{color:var(--fs-text-secondary);font-size:.9rem;margin:0 0 12px}.clear-filter{align-items:center;background:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text-muted);cursor:pointer;display:inline-flex;font-size:.8rem;gap:6px;padding:6px 12px;transition:all .15s ease}.clear-filter:hover{border-color:var(--fs-border-strong);color:var(--fs-text)}.btn-create-page{align-items:center;background:var(--fs-cyan);color:var(--fs-text-inverse);display:inline-flex;font-size:.875rem;font-weight:500;gap:8px;padding:10px 20px;text-decoration:none;transition:all .15s ease;white-space:nowrap}.btn-create-page:hover{background:var(--fs-magenta)}.pages-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.search-form{display:flex;flex:1 1 auto;gap:8px;max-width:500px;min-width:280px}.search-input-wrapper{align-items:center;display:flex;flex:1 0 auto;min-width:200px;position:relative}.search-input-wrapper>svg{color:var(--fs-text-muted);left:12px;pointer-events:none;position:absolute}.clear-search svg{pointer-events:auto}.search-input{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);font-size:.9rem;padding:10px 40px}.search-input:focus{border-color:var(--fs-cyan)}.clear-search,.search-input::placeholder{color:var(--fs-text-muted)}.clear-search{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:8px}.clear-search:hover,.search-btn{color:var(--fs-text)}.search-btn{background:var(--fs-bg-surface);border:1px solid var(--fs-border);cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 20px;transition:all .15s ease}.search-btn:hover{background:var(--fs-bg-hover);border-color:var(--fs-border-strong)}.sort-options{align-items:center;display:flex;gap:8px}.sort-options label{color:var(--fs-text-muted);font-size:.8rem;white-space:nowrap}.sort-options select{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);color:var(--fs-text);cursor:pointer;font-size:.85rem;padding:8px 12px}.sort-options select:focus{border-color:var(--fs-cyan);outline:none}.results-info{justify-content:space-between;margin-bottom:16px;padding:8px 0}.results-count{color:var(--fs-text-muted);font-size:.85rem}.pages-list{list-style:none;margin:0;padding:0}.page-item{border-bottom:1px solid var(--fs-border)}.page-item:first-child{border-top:1px solid var(--fs-border)}.page-link{align-items:center;color:var(--fs-text);display:flex;gap:16px;padding:16px;text-decoration:none;transition:background .15s ease}.page-link:hover{background:var(--fs-bg-hover)}.page-icon{align-items:center;background:var(--fs-bg-surface);border:1px solid var(--fs-border);color:var(--fs-text-muted);display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.page-icon.has-image{background:var(--fs-bg-elevated);padding:2px}.page-icon-image{height:100%;image-rendering:pixelated;object-fit:contain;width:100%}.page-link:hover .page-icon{border-color:var(--fs-cyan);color:var(--fs-cyan)}.page-info{flex:1 1;min-width:0}.page-title{color:var(--fs-text);font-size:1rem;font-weight:600;margin:0 0 6px}.page-link:hover .page-title{color:var(--fs-cyan)}.page-meta{color:var(--fs-text-muted);display:flex;flex-wrap:wrap;font-size:.75rem;gap:12px}.page-type{background:var(--fs-bg-surface);border:1px solid var(--fs-border);padding:2px 8px;text-transform:capitalize}.page-type.type-guide{border-color:var(--fs-cyan);color:var(--fs-cyan)}.page-type.type-walkthrough{border-color:var(--fs-success);color:var(--fs-success)}.page-type.type-tips{border-color:var(--fs-warning);color:var(--fs-warning)}.page-type.type-lore{border-color:var(--fs-magenta);color:var(--fs-magenta)}.page-type.type-database{border-color:var(--fs-info);color:var(--fs-info)}.page-category{color:var(--fs-text-secondary)}.page-updated{color:var(--fs-text-muted)}.page-stats{display:flex;flex-shrink:0;gap:16px}.page-stats span{align-items:center;color:var(--fs-text-muted);display:flex;font-size:.8rem;gap:4px}.stat-revisions svg,.stat-views svg{opacity:.7}.no-pages{background:var(--fs-bg-elevated);border:1px solid var(--fs-border);padding:64px 32px;text-align:center}.no-pages-icon{color:var(--fs-text-muted);margin-bottom:16px}.no-pages h3{color:var(--fs-text);font-size:1.25rem;margin:0 0 8px}.no-pages p{color:var(--fs-text-secondary);margin:0 0 24px}.btn-create-first{background:var(--fs-cyan);color:var(--fs-text-inverse);display:inline-block;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .15s ease}.btn-create-first:hover{background:var(--fs-magenta)}@media (max-width:768px){.pages-header{align-items:flex-start;flex-direction:column}.pages-toolbar{align-items:stretch;flex-direction:column}.search-form{min-width:100%}.sort-options{justify-content:flex-end}.page-link{flex-wrap:wrap}.page-stats{margin-left:56px;padding-top:8px;width:100%}}.wiki-sidebar{background:var(--fs-bg-surface);border-right:1px solid var(--fs-border);display:flex;flex-direction:column;height:calc(100vh - 60px);min-width:280px;overflow-y:auto;position:-webkit-sticky;position:sticky;top:60px;width:280px}.sidebar-header{border-bottom:1px solid var(--fs-border);padding:20px 16px}.sidebar-title{color:var(--fs-text);display:block;font-size:1.125rem;font-weight:700;text-decoration:none}.sidebar-title:hover{color:var(--fs-cyan)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 0}.sidebar-section{margin-bottom:24px}.section-title{color:var(--fs-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding:0 16px;text-transform:uppercase}.sidebar-links{list-style:none;margin:0;padding:0}.sidebar-links li{margin:0}.sidebar-links a{align-items:center;color:var(--fs-text);display:flex;font-size:.875rem;gap:10px;padding:10px 16px;text-decoration:none;transition:background .15s ease,color .15s ease}.sidebar-links a:hover{background:var(--fs-bg-hover);color:var(--fs-cyan)}.sidebar-links a svg{color:var(--fs-text-muted);flex-shrink:0}.sidebar-links a:hover svg{color:var(--fs-cyan)}.category-tree{list-style:none;margin:0;padding:0}.sidebar-category{margin:0}.category-row{align-items:center;display:flex;gap:4px;padding:8px 16px;transition:background .15s ease}.category-row:hover{background:var(--fs-bg-hover)}.category-row.active{background:var(--fs-bg-elevated);border-left:3px solid var(--fs-cyan);padding-left:13px}.expand-btn{align-items:center;background:#0000;border:none;color:var(--fs-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;padding:0;transition:color .15s ease;width:20px}.expand-btn:hover{color:var(--fs-text)}.expand-btn svg{transition:transform .15s ease}.category-link{align-items:center;color:var(--fs-text);display:flex;flex:1 1;font-size:.875rem;gap:8px;min-width:0;text-decoration:none}.category-link:hover{color:var(--fs-cyan)}.category-row.active .category-link{color:var(--fs-cyan);font-weight:500}.category-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;height:16px;width:16px}.icon-creature{color:var(--fs-magenta)}.icon-item{color:var(--fs-cyan)}.icon-skill{color:var(--fs-success)}.icon-building{color:var(--fs-warning)}.icon-food{color:var(--fs-success)}.icon-curiosity{color:var(--fs-info)}.icon-combat{color:var(--fs-danger)}.icon-crafting{color:var(--fs-warning)}.icon-guide{color:var(--fs-text-secondary)}.category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count{background:var(--fs-bg-elevated);color:var(--fs-text-muted);flex-shrink:0;font-size:.75rem;margin-left:auto;padding:2px 6px}.subcategories{list-style:none;margin:0;padding:0}.sidebar-category.depth-1 .category-row{padding-left:32px}.sidebar-category.depth-1 .category-row.active{padding-left:29px}.sidebar-category.depth-2 .category-row{padding-left:48px}.sidebar-category.depth-2 .category-row.active{padding-left:45px}.sidebar-category.depth-3 .category-row{padding-left:64px}.sidebar-category.depth-3 .category-row.active{padding-left:61px}.wiki-sidebar::-webkit-scrollbar{width:6px}.wiki-sidebar::-webkit-scrollbar-track{background:var(--fs-bg-surface)}.wiki-sidebar::-webkit-scrollbar-thumb{background:var(--fs-border)}.wiki-sidebar::-webkit-scrollbar-thumb:hover{background:var(--fs-border-strong)}@media (max-width:900px){.wiki-sidebar{min-width:240px;width:240px}}@media (max-width:768px){.wiki-sidebar{display:none}}.wiki-layout{display:flex;min-height:calc(100vh - 60px)}.wiki-layout-content{flex:1 1;min-width:0;overflow-x:hidden}@media (max-width:768px){.wiki-layout{flex-direction:column}.wiki-layout-content{width:100%}}.room-lobby{background:var(--bg-primary);min-height:calc(100vh - 60px)}.lobby-hero{background:linear-gradient(135deg,#0f0f1a,#1a1a2e 50%,#16213e);overflow:hidden;padding:2.5rem 0;position:relative}.hero-bg{overflow:hidden}.hero-bg,.hero-grid{inset:0;position:absolute}.hero-grid{animation:gridMove 20s linear infinite;background-image:linear-gradient(#8b5cf608 1px,#0000 0),linear-gradient(90deg,#8b5cf608 1px,#0000 0);background-size:50px 50px}@keyframes gridMove{0%{transform:translateY(0)}to{transform:translateY(50px)}}.hero-glow{animation:glowPulse 4s ease-in-out infinite alternate;border-radius:50%;filter:blur(100px);opacity:.4;position:absolute}.hero-glow-1{background:#8b5cf6;height:400px;left:-100px;top:-100px;width:400px}.hero-glow-2{animation-delay:-2s;background:#6366f1;bottom:-50px;height:300px;right:-50px;width:300px}@keyframes glowPulse{0%{opacity:.3;transform:scale(1)}to{opacity:.5;transform:scale(1.1)}}.hero-content{margin:0 auto;max-width:700px;position:relative;text-align:center;z-index:1}.hero-badge{align-items:center;background:#22c55e26;border:1px solid #22c55e4d;border-radius:2px;display:inline-flex;gap:.375rem;margin-bottom:.75rem;padding:.25rem .625rem}.pulse{animation:pulse 2s ease-in-out infinite;background:#22c55e;border-radius:50%;height:8px;width:8px}.badge-text{color:#22c55e;font-size:.75rem;font-weight:700;letter-spacing:.05em}.badge-count{color:#ffffffb3;font-size:.75rem}.hero-logo{filter:drop-shadow(0 4px 20px rgba(139,92,246,.3));height:auto;margin-bottom:1rem;max-width:420px;width:100%}.hero-title{align-items:center;color:#fff;display:flex;font-size:2.5rem;font-weight:800;gap:.5rem;justify-content:center;line-height:1.1;margin:0 0 .375rem}.title-icon svg{filter:drop-shadow(0 0 20px rgba(139,92,246,.5))}.title-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#6366f1);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#ffffffe6;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.hero-description{color:#fff9;font-size:.9rem;line-height:1.5;margin:0 0 1.25rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn{border-radius:4px;font-weight:600;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 4px 15px #8b5cf64d}.btn-primary:hover{box-shadow:0 6px 20px #8b5cf666;transform:translateY(-2px)}.btn-glow{overflow:hidden;position:relative}.btn-glow:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .5s}.btn-glow:hover:before{transform:translateX(100%)}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;color:#fff}.btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn:disabled{transform:none!important}.lobby-main{padding:2rem 0 4rem}.lobby-controls{margin-bottom:2rem}.search-wrapper{margin-bottom:1rem;position:relative}.search-icon{color:var(--text-muted);left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.875rem;padding:.75rem 2.5rem;transition:all .2s ease;width:100%}.search-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf626;outline:none}.search-clear,.search-input::placeholder{color:var(--text-muted)}.search-clear{background:none;border:none;border-radius:4px;cursor:pointer;padding:.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:color .2s}.search-clear:hover{color:var(--text-primary)}.controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.filter-tabs{display:flex;gap:.5rem}.filter-tab{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .75rem;transition:all .2s ease}.filter-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filter-tab.active{background:linear-gradient(135deg,#8b5cf626,#6366f126);border-color:#8b5cf6;color:#a78bfa}.filter-tab svg{opacity:.7}.filter-tab.active svg{opacity:1}.filter-options{align-items:center;display:flex;gap:1rem}.filter-select{-webkit-appearance:none;appearance:none;background-color:var(--bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280'%3E%3Cpath d='M8 11 3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.8125rem;padding:.5rem 2rem .5rem .75rem}.filter-select:focus{border-color:#8b5cf6;outline:none}.filter-select option{background-color:var(--bg-primary);color:var(--text-primary)}.filter-checkbox{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;-webkit-user-select:none;user-select:none}.filter-checkbox input{display:none}.filter-checkbox input:checked+.checkbox-icon,.filter-checkbox input:checked+.checkbox-icon+span{color:#a78bfa}.filter-checkbox:hover{color:var(--text-primary)}.checkbox-icon{display:flex}.results-info{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1.5rem}.results-query{color:#a78bfa}.room-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.room-card{background:#252538;border:1px solid #ffffff1a;border-radius:4px;color:inherit;display:flex;flex-direction:column;overflow:hidden;padding:.75rem;position:relative;text-decoration:none;transition:all .2s ease}.room-card:before{background:linear-gradient(90deg,#8b5cf6,#6366f1);content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.room-card:hover{border-color:#8b5cf680;box-shadow:0 4px 12px #0000004d}.room-card:hover:before{opacity:1}.room-card.is-live{border-color:#22c55e4d}.room-card.is-live:before{background:#22c55e;opacity:1}.room-card.is-full{opacity:.7}.card-live-badge{align-items:center;background:#22c55e33;border:1px solid #22c55e66;border-radius:2px;color:#22c55e;display:flex;font-size:.625rem;font-weight:700;gap:.25rem;letter-spacing:.05em;padding:.125rem .375rem;position:absolute;right:.5rem;top:.5rem}.live-dot{animation:livePulse 1.5s ease-in-out infinite;background:#22c55e;border-radius:50%;height:5px;width:5px}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.4}}.card-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.375rem}.card-title{color:#fff;flex:1 1;font-size:.875rem;font-weight:600;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-badges{display:flex;flex-shrink:0;gap:.375rem}.badge{border-radius:2px;font-weight:600;padding:.125rem .375rem}.badge-lock{background:#6b728033}.badge-full{background:#ef444433;color:#f87171;letter-spacing:.05em}.card-description{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#ffffff80;display:-webkit-box;font-size:.75rem;line-height:1.3;margin:0 0 .5rem;overflow:hidden}.card-playing{display:none}.playing-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.playing-icon svg{margin-left:2px}.playing-title{color:var(--text-secondary);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-footer{justify-content:space-between;margin-top:auto;padding-top:.375rem}.card-footer,.card-host{align-items:center;display:flex}.card-host{gap:.5rem}.host-avatar{border-radius:2px;height:20px;object-fit:cover;width:20px}.host-avatar-fallback{align-items:center;background:#8b5cf6;border:none;color:#fff;display:flex;font-size:.625rem;font-weight:700;justify-content:center}.host-name{color:#fff9;font-size:.75rem;font-weight:500}.card-meta{gap:.5rem}.card-meta,.meta-participants{align-items:center;display:flex}.meta-participants{color:#fff9;font-size:.6875rem;font-weight:500;gap:.25rem}.meta-participants svg{opacity:.7}.meta-time{color:#fff6;font-size:.6875rem}.loading-state{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:6rem 2rem;text-align:center}.loader{display:flex;gap:.375rem;margin-bottom:1.5rem}.loader-bar{animation:loaderPulse 1s ease-in-out infinite;background:linear-gradient(180deg,#8b5cf6,#6366f1);border-radius:4px;height:24px;width:4px}.loader-bar:nth-child(2){animation-delay:.1s}.loader-bar:nth-child(3){animation-delay:.2s}.loader-bar:nth-child(4){animation-delay:.3s}@keyframes loaderPulse{0%,to{opacity:.5;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.loading-state p{color:var(--text-secondary);margin:0}.empty-state{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:6rem 2rem;text-align:center}.empty-icon{color:var(--text-muted);margin-bottom:1.5rem;opacity:.5}.empty-state h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);margin:0 0 1.5rem;max-width:400px}.modal-overlay{inset:0}.modal-small{max-width:400px}.modal-close{padding:.25rem}.form-group small{color:#555;display:block;font-size:.6875rem;margin-top:.25rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#1e1e2a;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{min-height:100px}.input-code{font-size:1.5rem;font-weight:700;letter-spacing:.2em;text-align:center;text-transform:uppercase}@media (max-width:768px){.lobby-hero{padding:2rem 0}.hero-title{flex-direction:column;font-size:1.75rem;gap:.375rem}.title-icon svg{height:28px;width:28px}.hero-subtitle{font-size:1rem}.hero-logo{max-width:280px}.hero-actions{flex-direction:column;margin:0 auto;max-width:300px;width:100%}.hero-actions .btn{width:100%}.controls-row{align-items:stretch;flex-direction:column}.filter-tabs{margin-bottom:.5rem;overflow-x:auto;padding-bottom:.5rem}.filter-options{flex-wrap:wrap}.form-row,.room-grid{grid-template-columns:1fr}}@media (max-width:480px){.hero-title{font-size:1.5rem}.filter-tab{font-size:.8125rem;padding:.5rem .75rem}.filter-tab svg{display:none}}.room-page{background:var(--bg-primary);display:flex;flex-direction:column;height:calc(100vh - 60px);max-height:calc(100vh - 60px);overflow:hidden}.room-error,.room-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 60px);padding:2rem;text-align:center}.room-loading .spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);height:48px;margin-bottom:1rem;width:48px}.room-error svg{color:#ef4444;color:var(--error-color,#ef4444);margin-bottom:1rem}.room-error h2{color:var(--text-primary);margin:0 0 .5rem}.room-error p{color:var(--text-secondary);margin:0 0 1.5rem}.room-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;gap:1rem;justify-content:space-between;padding:.75rem 1rem;position:relative}.room-header,.room-header-left{align-items:center;display:flex}.room-header-left{flex:1 1;gap:.75rem;min-width:0}.back-link{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);display:flex;flex-shrink:0;height:36px;justify-content:center;text-decoration:none;transition:all .2s;width:36px}.back-link:hover{background:var(--bg-primary);border-color:var(--text-muted);color:var(--text-primary)}.room-title-info{min-width:0}.room-title-info h1{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-status{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.375rem;margin-top:.125rem}.status-dot{background:var(--text-muted);border-radius:50%;height:6px;width:6px}.status-dot.connected{background:#22c55e;background:var(--success-color,#22c55e)}.status-dot.disconnected{animation:pulse 1.5s infinite;background:#f59e0b;background:var(--warning-color,#f59e0b)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.now-playing-header{align-items:center;background:#00ffff1a;border:1px solid #0ff3;border-radius:4px;display:flex;flex-shrink:1;gap:.5rem;max-width:350px;min-width:0;padding:.375rem .75rem}.now-playing-header .now-playing-label{color:#0ffc;flex-shrink:0;font-size:.75rem;font-weight:500}.now-playing-header .now-playing-title{color:#fff;font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-participants{align-items:center;display:flex;flex-direction:row-reverse;gap:.375rem;position:absolute;right:calc(360px + 1rem)}.room-header-right{align-items:center;display:flex;gap:.5rem}.room-content{display:grid;flex:1 1;grid-template-columns:1fr 360px;min-height:0;overflow:hidden}.btn-icon{align-items:center;border-radius:6px;cursor:pointer;display:flex;justify-content:center;transition:all .2s}.btn-icon.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.video-section{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0;overflow:hidden}.video-container{align-items:center;background:#000;display:flex;flex:1 1;justify-content:center;min-height:0;position:relative;width:100%}.video-container #youtube-player,.video-container iframe{height:100%;width:100%}.video-participant{position:relative}.video-participant-avatar{align-items:center;background:#1a1d24;background:var(--fs-bg-surface,#1a1d24);border:2px solid #ffffff26;border-radius:4px;color:#e8ecf2;color:var(--fs-text,#e8ecf2);cursor:pointer;display:flex;font-size:.75rem;font-weight:600;height:32px;justify-content:center;overflow:hidden;position:relative;transition:all .2s;width:32px}.video-participant-avatar img{height:100%;object-fit:cover;width:100%}.video-participant-avatar:hover{border-color:#4cc9f0;border-color:var(--fs-cyan,#4cc9f0)}.video-participant-avatar .online-indicator{background:#6b7280;border:2px solid #12151a;border:2px solid var(--bg-secondary,#12151a);border-radius:50%;bottom:-2px;height:10px;position:absolute;right:-2px;width:10px}.video-participant-avatar .online-indicator.online{background:#22c55e}.video-participant-tooltip{background:#000000e6;border:1px solid #2d3139;border:1px solid var(--fs-border,#2d3139);border-radius:4px;color:#e8ecf2;color:var(--fs-text,#e8ecf2);font-size:.75rem;margin-top:.5rem;opacity:0;padding:.375rem .625rem;pointer-events:none;position:absolute;right:0;top:100%;transition:all .2s;visibility:hidden;white-space:nowrap;z-index:1000}.video-participant:hover .video-participant-tooltip{opacity:1;visibility:visible}.video-participant-actions{background:#0f0f14f2;border:1px solid #2d3139;border:1px solid var(--fs-border,#2d3139);border-radius:6px;box-shadow:0 4px 12px #0006;margin-top:.5rem;min-width:120px;opacity:0;padding:.5rem;position:absolute;right:0;top:100%;transition:all .2s;visibility:hidden;z-index:1000}.video-participant:hover .video-participant-actions{opacity:1;visibility:visible}.video-participant-actions .participant-name{border-bottom:1px solid #2d3139;border-bottom:1px solid var(--fs-border,#2d3139);color:#e8ecf2;color:var(--fs-text,#e8ecf2);display:block;font-size:.75rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.375rem}.video-participant-actions .participant-buttons{display:flex;gap:.375rem}.video-participant-actions button{align-items:center;background:#22262e;background:var(--fs-bg-hover,#22262e);border:1px solid #2d3139;border:1px solid var(--fs-border,#2d3139);border-radius:4px;color:#a0a8b4;color:var(--fs-text-secondary,#a0a8b4);cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:.375rem;transition:all .2s}.video-participant-actions button:hover{background:#1a1d24;background:var(--fs-bg-surface,#1a1d24);border-color:#3d424a;border-color:var(--fs-border-strong,#3d424a);color:#e8ecf2;color:var(--fs-text,#e8ecf2)}.video-participant-actions button.kick-btn:hover{background:#ef444433;border-color:#ef444466;color:#f87171}.video-click-blocker{background:#0000;bottom:0;cursor:not-allowed;left:0;position:absolute;right:0;top:0;z-index:10}.video-placeholder{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.video-placeholder svg{margin-bottom:1rem;opacity:.5}.video-placeholder p{font-size:.875rem;margin:0}.video-controls{align-items:center;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem 1rem}.video-controls-left{align-items:center;display:flex;gap:.5rem}.video-controls-center{align-items:center;display:flex;gap:.75rem}.video-controls-right{align-items:center;display:flex;gap:.5rem}.control-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.control-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.control-btn.primary{background:var(--accent-color);color:#fff}.control-btn.primary:hover{background:var(--accent-color-hover)}.control-btn:disabled{cursor:not-allowed;opacity:.5}.video-time{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.75rem;font-variant-numeric:tabular-nums}.now-playing{border-radius:6px;max-width:300px;padding:.5rem .75rem}.now-playing svg{color:var(--accent-color);flex-shrink:0}.now-playing span{color:var(--text-secondary);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-url-section{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:.75rem 1rem}.video-url-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.875rem;padding:.5rem .75rem}.video-url-input:focus{border-color:var(--accent-color);outline:none}.video-url-input::placeholder{color:var(--text-muted)}.room-sidebar{background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:calc(100vh - 113px);overflow:hidden}.sidebar-tabs{border-bottom:1px solid var(--border-color);display:flex}.sidebar-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:.8125rem;font-weight:500;gap:.5rem;justify-content:center;margin-bottom:-1px;padding:.75rem;transition:all .2s}.sidebar-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-tab.active{border-bottom-color:var(--accent-color);color:var(--accent-color)}.sidebar-tab .badge-count{align-items:center;background:var(--bg-tertiary);border-radius:9px;display:inline-flex;font-size:.6875rem;font-weight:600;height:18px;justify-content:center;min-width:18px;padding:0 5px}.sidebar-tab.active .badge-count{background:var(--accent-color);color:#fff}.sidebar-content{flex:1 1;overflow:hidden}.chat-panel,.sidebar-content{display:flex;flex-direction:column}.chat-panel{height:100%}.chat-messages{gap:.5rem;padding:.75rem}.chat-avatar{border-radius:50%;flex-shrink:0;height:32px;object-fit:cover;width:32px}.chat-avatar-fallback{align-items:center;background:var(--accent-color);color:#fff;display:flex;font-size:.75rem;font-weight:600;justify-content:center}.chat-content{flex:1 1;min-width:0}.chat-header{align-items:baseline;display:flex;gap:.5rem;margin-bottom:.125rem}.chat-username{color:var(--text-primary);font-size:.8125rem;font-weight:600}.chat-time{color:var(--text-muted);font-size:.6875rem}.chat-text{word-wrap:break-word;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.chat-empty{flex-direction:column;text-align:center}.chat-empty svg{margin-bottom:.5rem;opacity:.5}.chat-empty p{font-size:.8125rem;margin:0}.chat-input-container{border-top:1px solid var(--border-color);padding:.75rem}.chat-form{display:flex;gap:.5rem}.chat-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.875rem;padding:.5rem .75rem;resize:none}.chat-input:focus{border-color:var(--accent-color);outline:none}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{align-items:center;background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background-color .2s;width:36px}.chat-send-btn:hover{background:var(--accent-color-hover)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5}.playlist-panel{display:flex;flex-direction:column;height:100%}.playlist-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem}.playlist-header h3{color:var(--text-primary);font-size:.875rem;font-weight:600;margin:0}.playlist-add-btn{align-items:center;background:var(--accent-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.375rem .625rem;transition:background-color .2s}.playlist-add-btn:hover{background:var(--accent-color-hover)}.playlist-items{flex:1 1;overflow-y:auto;padding:.5rem}.playlist-item{align-items:center;background:#ffffff05;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;margin-bottom:.375rem;padding:.625rem .75rem;position:relative;transition:all .2s}.playlist-item:last-child{margin-bottom:0}.playlist-item:hover{background:#ffffff0d;background:var(--fs-bg-hover,#ffffff0d);border-color:#ffffff1a;border-color:var(--fs-border-strong,#ffffff1a)}.playlist-item.playing{background:#00d4ff1a;border:1px solid #00d4ff4d}.playlist-item.playing .playlist-item-title{color:#4cc9f0;color:var(--fs-cyan,#4cc9f0)}.playlist-item.played{opacity:.5}.playing-indicator{align-items:flex-end;display:flex;flex-shrink:0;gap:2px;height:16px;padding-right:.25rem}.playing-indicator span{animation:soundBars .8s ease-in-out infinite;background:#4cc9f0;background:var(--fs-cyan,#4cc9f0);border-radius:1px;width:3px}.playing-indicator span:first-child{animation-delay:0s;height:60%}.playing-indicator span:nth-child(2){animation-delay:.2s;height:100%}.playing-indicator span:nth-child(3){animation-delay:.4s;height:40%}@keyframes soundBars{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.playlist-thumbnail{background:var(--bg-tertiary);border-radius:4px;flex-shrink:0;height:36px;object-fit:cover;width:64px}.playlist-item-info{flex:1 1;min-width:0;overflow:hidden}.playlist-item-title{color:var(--text-primary);display:block;font-size:.8125rem;font-weight:500;margin:0 0 .25rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-item-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.6875rem;gap:.5rem;overflow:hidden}.playlist-item-actions{align-items:center;display:flex;opacity:0;transition:opacity .2s}.playlist-item:hover .playlist-item-actions{opacity:1}.playlist-remove-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s;width:24px}.playlist-remove-btn:hover{background:#ef4444;background:var(--error-color,#ef4444);color:#fff}.playlist-empty{color:var(--text-muted);flex:1 1;padding:2rem}.playlist-empty svg{margin-bottom:.5rem;opacity:.5}.playlist-empty p{font-size:.8125rem;margin:0}.participants-panel{height:100%}.participants-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem}.participants-header h3{color:var(--text-primary);font-size:.875rem;font-weight:600;margin:0}.participants-list{padding:.5rem}.participant-item{border-radius:6px;padding:.5rem}.participant-item:hover{background:var(--bg-tertiary)}.participant-avatar{border-radius:50%;object-fit:cover}.participant-avatar-fallback{align-items:center;background:var(--accent-color);color:#fff;display:flex;font-size:.875rem;font-weight:600;justify-content:center}.participant-name{align-items:center;color:var(--text-primary);display:flex;gap:.375rem}.participant-role{color:var(--text-muted)}.role-badge{align-items:center;background:var(--accent-color);border-radius:3px;color:#fff;display:inline-flex;font-size:.625rem;font-weight:600;padding:.125rem .375rem;text-transform:uppercase}.role-badge.moderator{background:#e84a8a;background:var(--fs-magenta,#e84a8a)}.participant-status{align-items:center;display:flex;gap:.25rem}.status-indicator{background:#22c55e;background:var(--success-color,#22c55e);border-radius:50%;height:8px;width:8px}.status-indicator.muted{background:#f59e0b;background:var(--warning-color,#f59e0b)}.participant-actions{align-items:center;opacity:0;transition:opacity .2s}.participant-item:hover .participant-actions{opacity:1}.participant-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s;width:28px}.participant-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.participant-action-btn.danger:hover{background:#ef4444;background:var(--error-color,#ef4444);color:#fff}.share-modal-content{padding:1rem 0}.share-url-container{display:flex;gap:.5rem;margin-bottom:1rem}.share-url-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-family:monospace;font-size:.875rem;padding:.625rem .75rem}.share-url-input:focus{border-color:var(--accent-color);outline:none}.copy-btn{align-items:center;background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.625rem 1rem;transition:background-color .2s;white-space:nowrap}.copy-btn:hover{background:var(--accent-color-hover)}.copy-btn.copied{background:#22c55e;background:var(--success-color,#22c55e)}.share-divider{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:1rem;margin:1rem 0}.share-divider:after,.share-divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.share-code-section h4{color:var(--text-primary);font-size:.875rem;font-weight:500;margin:0 0 .5rem}.share-code{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--accent-color);cursor:pointer;display:flex;font-family:monospace;font-size:1.5rem;font-weight:600;justify-content:center;letter-spacing:.25em;padding:1rem;transition:all .2s}.share-code:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.add-video-form{display:flex;flex-direction:column;gap:1rem}.add-video-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;padding:.75rem;width:100%}.add-video-input:focus{border-color:var(--accent-color);outline:none}.add-video-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;display:flex;gap:.75rem;padding:.75rem}.add-video-preview img{border-radius:4px;height:68px;object-fit:cover;width:120px}.add-video-preview-info h4{color:var(--text-primary);font-size:.875rem;font-weight:500;margin:0 0 .25rem}.add-video-preview-info p{color:var(--text-muted);font-size:.75rem;margin:0}.settings-panel{padding:1rem}.settings-group{margin-bottom:1.5rem}.settings-group h4{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;font-weight:600;margin:0 0 .75rem;padding-bottom:.5rem}.settings-row{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.settings-label{color:var(--text-secondary);font-size:.875rem}.settings-value{color:var(--text-primary);font-size:.875rem;font-weight:500}@media (max-width:1024px){.room-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.room-sidebar{border-left:none;border-top:1px solid var(--border-color);max-height:50vh}.video-container{aspect-ratio:16/9;flex:none}}@media (max-width:768px){.room-header{flex-wrap:wrap}.room-header-left{flex:1 1;min-width:200px}.video-controls{flex-wrap:wrap;gap:.5rem}.video-controls-center{justify-content:center;order:-1;width:100%}.now-playing{max-width:none;order:1;width:100%}}@media (max-width:480px){.room-title-info h1{font-size:1rem}.sidebar-tab{font-size:.75rem;padding:.5rem}.chat-message{padding:.375rem}.message-avatar{height:28px;width:28px}}@media (max-width:1024px){.room-content{grid-template-columns:1fr}.room-sidebar{border-left:none;border-top:1px solid var(--border-color)}}.btn.btn-icon .badge-count{align-items:center;background:var(--accent-color);border-radius:8px;color:#fff;display:flex;font-size:.625rem;font-weight:600;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:-4px;top:-4px}.btn.btn-icon{position:relative}.playlist-overlay{background:#000000b3;bottom:0;left:0;position:fixed;right:0;top:60px;z-index:900}.playlist-overlay .playlist-panel{animation:slideInRight .2s ease-out;background:#12151a;background:var(--fs-bg-elevated,#12151a);border-left:1px solid #2d3139;border-left:1px solid var(--fs-border,#2d3139);box-shadow:-4px 0 30px #0006,-10px 0 40px #00000080;display:flex;flex-direction:column;height:calc(100vh - 60px);max-width:90vw;position:fixed;right:0;top:60px;width:380px;z-index:901}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.playlist-panel .panel-header{align-items:center;background:#1a1d24;background:var(--fs-bg-surface,#1a1d24);border-bottom:1px solid #2d3139;border-bottom:1px solid var(--fs-border,#2d3139);display:flex;flex-shrink:0;gap:.75rem;justify-content:space-between;padding:.875rem 1rem}.playlist-panel .panel-header h3{color:#e8ecf2;color:var(--fs-text,#e8ecf2);flex:1 1;font-size:.875rem;font-weight:600;margin:0;text-align:center}.playlist-panel .panel-header>button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.playlist-panel .panel-header>button:hover{background:#ffffff1a;color:#fff}.playlist-panel .panel-header-left{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.playlist-panel .panel-header-left .btn-sm{align-items:center;background:#22262e;background:var(--fs-bg-hover,#22262e);border:1px solid #2d3139;border:1px solid var(--fs-border,#2d3139);border-radius:6px;color:#a0a8b4;color:var(--fs-text-secondary,#a0a8b4);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.playlist-panel .panel-header-left .btn-sm:hover:not(:disabled){background:var(--accent-color);border-color:var(--accent-color);color:#fff}.playlist-panel .panel-header-left .btn-sm:disabled{cursor:not-allowed;opacity:.5}.playlist-panel .playlist-items{background:#0a0c10;background:var(--fs-bg,#0a0c10);flex:1 1;min-height:0;overflow-y:auto;padding:.75rem}.playlist-panel .playlist-items::-webkit-scrollbar{width:6px}.playlist-panel .playlist-items::-webkit-scrollbar-track{background:#0000}.playlist-panel .playlist-items::-webkit-scrollbar-thumb{background:#3d424a;background:var(--fs-scrollbar-thumb,#3d424a);border-radius:3px}.playlist-panel .playlist-items::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--fs-text-muted,#6b7280)}.playlist-empty{align-items:center;color:#888;display:flex;flex-direction:column;font-size:.875rem;justify-content:center;padding:3rem 2rem;text-align:center}.playlist-empty .hint{color:#555;font-size:.75rem;margin-top:.5rem}.playlist-item-thumb{background:#1a1d24;background:var(--fs-bg-surface,#1a1d24);border:1px solid #2d3139;border:1px solid var(--fs-border,#2d3139);border-radius:6px;flex-shrink:0;height:42px;overflow:hidden;width:56px}.playlist-item-thumb img{height:100%;object-fit:cover;width:100%}.thumb-placeholder{color:var(--text-muted);height:100%;width:100%}.playlist-item-remove,.thumb-placeholder{align-items:center;display:flex;justify-content:center}.playlist-item-remove{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#666;cursor:pointer;flex-shrink:0;height:26px;opacity:0;transition:all .2s;width:26px}.playlist-item:hover .playlist-item-remove{opacity:1}.playlist-item-remove:hover{background:#ef444433;border-color:#ef444466;color:#f87171}.chat-section{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.chat-section h3{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-primary);display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;gap:.5rem;margin:0;padding:.75rem}.chat-section h3 svg{color:var(--text-muted)}.chat-messages{direction:rtl;display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-height:0;overflow-y:auto;padding:.5rem .5rem .5rem .25rem}.chat-messages>*{direction:ltr}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:#00ffff0d;border-radius:2px}.chat-messages::-webkit-scrollbar-thumb{background:#0ff6;border-radius:2px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0ff9}.chat-empty{align-items:center;color:var(--text-muted);display:flex;flex:1 1;font-size:.8125rem;justify-content:center;padding:2rem}.chat-message{border-radius:6px;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s}.chat-message:hover{background:var(--bg-tertiary)}.chat-message.own{flex-direction:row-reverse}.message-avatar{align-items:center;background:var(--accent-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:32px;justify-content:center;overflow:hidden;width:32px}.message-avatar img{height:100%;object-fit:cover;width:100%}.message-content{flex:1 1;min-width:0}.message-header{align-items:baseline;display:flex;gap:.5rem;margin-bottom:.125rem}.chat-message.own .message-header{flex-direction:row-reverse}.message-author{color:var(--text-primary);font-size:.8125rem;font-weight:600}.message-time{color:var(--text-muted);font-size:.6875rem}.message-text{word-wrap:break-word;color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0}.chat-message.own .message-text{text-align:right}.chat-input-form{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:.5rem;padding:.75rem}.chat-input-form input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.875rem;padding:.5rem .75rem}.chat-input-form input:focus{border-color:var(--accent-color);outline:none}.chat-input-form input::placeholder{color:var(--text-muted)}.chat-input-form button{align-items:center;background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background-color .2s;width:36px}.chat-input-form button:hover:not(:disabled){background:var(--accent-color-hover)}.chat-input-form button:disabled{cursor:not-allowed;opacity:.5}.sync-controls{background:var(--bg-tertiary);border-top:1px solid var(--border-color);flex-shrink:0}.btn-sync,.sync-controls{display:flex;gap:.5rem;padding:.5rem 1rem}.btn-sync{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .2s}.btn-sync:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.btn-sync svg{flex-shrink:0}.btn-sync.synced{background:#22c55e;border-color:#22c55e;color:#fff}.btn-sync.synced:hover{background:#16a34a;border-color:#16a34a}.video-url-form{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;gap:.5rem;padding:.75rem 1rem}.video-url-form input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.875rem;padding:.5rem .75rem}.video-url-form input:focus{border-color:var(--accent-color);outline:none}.video-url-form input::placeholder{color:var(--text-muted)}.now-playing{align-items:center;background:var(--bg-tertiary);display:flex;font-size:.75rem;gap:.5rem;padding:.5rem 1rem}.now-playing-label{color:var(--text-muted);flex-shrink:0}.now-playing-title{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-placeholder .hint{color:var(--text-muted);font-size:.75rem;margin-top:.25rem}.participants-overlay{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:60px;z-index:1000}.participants-panel{background:#1e1e2d;border:1px solid #444;border-radius:4px;box-shadow:0 0 0 1px #ffffff0d,0 20px 50px #000c;display:flex;flex-direction:column;height:450px;max-width:360px;width:100%}.panel-header{align-items:center;background:#252535;border-bottom:1px solid #444;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.panel-header h3{color:#fff;font-size:1rem;font-weight:600;margin:0}.panel-header button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s;width:28px}.panel-header button:hover{background:#ffffff1a;color:#fff}.participants-list{background:#1e1e2d;flex:1 1;overflow-y:auto;padding:.75rem}.participant-item{align-items:center;border-radius:4px;display:flex;gap:.75rem;padding:.625rem .75rem;transition:background-color .2s}.participant-item:hover{background:#252538}.participant-avatar{align-items:center;background:#4cc9f0;background:var(--fs-cyan,#4cc9f0);border-radius:4px;color:#0a0c10;color:var(--fs-bg,#0a0c10);display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:36px;justify-content:center;overflow:hidden;width:36px}.participant-avatar img{height:100%;object-fit:cover;width:100%}.participant-info{flex:1 1;min-width:0}.participant-name{color:#fff;display:block;font-size:.875rem;font-weight:500}.participant-role{color:#888;display:block;font-size:.6875rem;text-transform:capitalize}.participant-role.owner{color:#4cc9f0;color:var(--fs-cyan,#4cc9f0)}.participant-role.moderator{color:#e84a8a;color:var(--fs-magenta,#e84a8a)}.participant-actions{display:flex;gap:.25rem}.participant-actions button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;height:26px;justify-content:center;transition:all .2s;width:26px}.participant-actions button:hover{background:#ffffff1a;color:#fff}.modal-overlay{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:60px;z-index:1000}.modal{background:#1e1e2d;border:1px solid #444;border-radius:4px;box-shadow:0 0 0 1px #ffffff0d,0 20px 50px #000c;max-height:calc(100vh - 2rem);max-width:420px;overflow-y:auto;width:100%}.modal.modal-small{max-width:360px}.modal-header{align-items:center;background:#252535;border-bottom:1px solid #444;display:flex;justify-content:space-between;padding:1rem 1.25rem}.modal-header h2{color:#fff;font-size:1rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;height:28px;justify-content:center;transition:color .2s;width:28px}.modal-close:hover{color:#fff}.modal-body{background:#1e1e2d;padding:1.25rem}.modal-body p{color:#aaa;font-size:.8125rem;margin:0 0 1rem}.modal-footer{background:#151520;border-top:1px solid #444;display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.25rem}.form-group{margin-bottom:1rem}.form-group label{color:#888;display:block;font-size:.75rem;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#121218;border:1px solid #444;border-radius:2px;color:#fff;font-size:.8125rem;padding:.5rem .75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#1a1d24;background:var(--fs-bg-surface,#1a1d24);border-color:#4cc9f0;border-color:var(--fs-cyan,#4cc9f0);outline:none}.form-group textarea{min-height:60px;resize:vertical}.form-hint{color:#666;font-size:.75rem;margin-top:.375rem}.form-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.checkbox-label{align-items:center;color:#aaa;cursor:pointer;display:flex;font-size:.8125rem;font-weight:400;gap:.5rem;letter-spacing:normal;text-transform:none}.checkbox-label input[type=checkbox]{width:auto}.copy-link-box{display:flex;gap:.5rem}.copy-link-box input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-family:monospace;font-size:.875rem;padding:.625rem .75rem}.copy-link-box input:focus{border-color:var(--accent-color);outline:none}.btn{transition:all .2s}.btn-secondary{background:var(--bg-secondary)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.btn-ghost{background:#0000;border:none;color:#888}.btn-ghost:hover:not(:disabled){background:#ffffff1a;color:#fff}.btn-icon{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);height:36px;padding:0;width:36px}.btn-icon:hover{background:var(--bg-primary);border-color:var(--text-muted);color:var(--text-primary)}.btn-sync-icon.synced{background:#22c55e;border-color:#22c55e;color:#fff}.btn-sync-icon.synced:hover{background:#16a34a;border-color:#16a34a;color:#fff}.join-room-page{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:2rem 1rem}.join-room-container{max-width:480px;width:100%}.join-room-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.join-room-loading .spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);height:40px;margin-bottom:1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.join-room-loading p{color:var(--text-secondary);margin:0}.join-room-error{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;padding:3rem 2rem;text-align:center}.join-room-error svg{color:#ef4444;color:var(--error-color,#ef4444);margin-bottom:1rem}.join-room-error h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.join-room-error p{color:var(--text-secondary);line-height:1.5;margin:0 0 1.5rem}.join-room-actions{display:flex;gap:.75rem}.join-room-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.join-room-header{align-items:center;background:linear-gradient(135deg,var(--accent-color) 0,var(--accent-color-hover) 100%);color:#fff;display:flex;gap:.75rem;justify-content:center;padding:1.5rem}.join-room-header h1{font-size:1.25rem;font-weight:600;margin:0}.room-preview{border-bottom:1px solid var(--border-color);padding:1.5rem}.room-preview-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.room-preview-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.3;margin:0}.room-preview-badges{display:flex;flex-shrink:0;gap:.25rem}.badge{border-radius:4px;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.badge-lock{background:var(--bg-tertiary);color:var(--text-secondary)}.badge-private{background:#ffc10726;color:#f59e0b}.room-preview-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.room-preview-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.room-preview-owner{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.owner-avatar{border-radius:50%;height:28px;object-fit:cover;width:28px}.owner-avatar-fallback{align-items:center;background:var(--accent-color);color:#fff;display:flex;font-size:.75rem;font-weight:600;justify-content:center}.room-preview-owner strong{color:var(--text-primary)}.room-preview-stats{align-items:center;display:flex;gap:1rem}.participant-count{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.375rem}.participant-count svg{opacity:.7}.participant-count.full{color:#ef4444;color:var(--error-color,#ef4444)}.participant-count .full-label{background:#ef4444;background:var(--error-color,#ef4444);border-radius:3px;color:#fff;font-size:.6875rem;font-weight:600;margin-left:.25rem;padding:.125rem .375rem;text-transform:uppercase}.join-room-full{align-items:center;display:flex;flex-direction:column;padding:2rem 1.5rem;text-align:center}.join-room-full svg{color:#f59e0b;color:var(--warning-color,#f59e0b);margin-bottom:.75rem}.join-room-full p{color:var(--text-secondary);font-size:.875rem;margin:0 0 1.25rem}.join-room-auth-required{align-items:center;display:flex;flex-direction:column;padding:2rem 1.5rem;text-align:center}.join-room-auth-required>p:first-child{color:var(--text-secondary);font-size:.875rem;margin:0 0 1.25rem}.auth-hint{color:var(--text-muted);font-size:.8125rem;margin-top:1rem}.auth-hint a{color:var(--accent-color);text-decoration:none}.auth-hint a:hover{text-decoration:underline}.join-room-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.5rem}.form-group label svg{color:var(--text-muted)}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;padding:.75rem 3rem .75rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}.password-input-wrapper input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.15);outline:none}.password-input-wrapper input::placeholder,.password-toggle{color:var(--text-muted)}.password-toggle{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:.5rem;transition:color .2s;width:36px}.password-toggle:hover{color:var(--text-primary)}.btn{border:none;border-radius:6px;padding:.625rem 1.25rem;text-decoration:none;transition:background-color .2s,border-color .2s,transform .1s}.btn:disabled{opacity:.6}.btn-primary{background:var(--accent-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-color-hover)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);border-color:var(--text-muted)}.btn-large{font-size:1rem;padding:.875rem 1.5rem}.btn-join{width:100%}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.join-room-footer{border-top:1px solid var(--border-color);padding:1rem 1.5rem;text-align:center}.join-room-footer a{color:var(--text-secondary);font-size:.875rem;text-decoration:none;transition:color .2s}.join-room-footer a:hover{color:var(--accent-color)}@media (max-width:480px){.join-room-page{align-items:flex-start;padding:2rem 1rem 1rem}.join-room-header{padding:1.25rem}.join-room-header h1{font-size:1.125rem}.room-preview{padding:1.25rem}.room-preview-header h2{font-size:1.125rem}.room-preview-info{align-items:flex-start;flex-direction:column}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column;min-height:0}.page-content{padding:2rem 0}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0c10;background-color:var(--fs-bg);color:#e8ecf2;color:var(--fs-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100vh;transition:background-color .2s ease,color .2s ease}:root,[data-theme=dark]{--fs-cyan:#4cc9f0;--fs-magenta:#e84a8a;--fs-bg:#0a0c10;--fs-bg-elevated:#12151a;--fs-bg-surface:#1a1d24;--fs-bg-hover:#22262e;--fs-border:#2d3139;--fs-border-strong:#3d424a;--fs-text:#e8ecf2;--fs-text-secondary:#a0a8b4;--fs-text-muted:#6b7280;--fs-text-inverse:#0a0c10;--fs-success:#10b981;--fs-warning:#f59e0b;--fs-error:#ef4444;--fs-info:#3b82f6;--fs-shadow-sm:0 1px 2px #0006;--fs-shadow-md:0 4px 8px #00000080;--fs-shadow-lg:0 8px 24px #0009;--fs-scrollbar-bg:#1a1d24;--fs-scrollbar-thumb:#3d424a;--gg-magenta:#e84a8a;--gg-cyan:#4cc9f0}[data-theme=light]{--fs-cyan:#0ea5e9;--fs-magenta:#ec4899;--fs-bg:#fff;--fs-bg-elevated:#fff;--fs-bg-surface:#f8fafc;--fs-bg-hover:#f1f5f9;--fs-border:#e2e8f0;--fs-border-strong:#cbd5e1;--fs-text:#0f172a;--fs-text-secondary:#475569;--fs-text-muted:#94a3b8;--fs-text-inverse:#fff;--fs-success:#10b981;--fs-warning:#f59e0b;--fs-error:#ef4444;--fs-info:#3b82f6;--fs-shadow-sm:0 1px 3px #0000000f;--fs-shadow-md:0 4px 16px #00000014;--fs-shadow-lg:0 12px 40px #0000001f;--fs-scrollbar-bg:#f1f5f9;--fs-scrollbar-thumb:#cbd5e1;--fs-gradient-primary:linear-gradient(135deg,#0ea5e9,#8b5cf6);--fs-gradient-warm:linear-gradient(135deg,#f97316,#ec4899);--fs-gradient-success:linear-gradient(135deg,#10b981,#14b8a6)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#1a1d24;background:var(--fs-scrollbar-bg)}::-webkit-scrollbar-thumb{background:#3d424a;background:var(--fs-scrollbar-thumb)}::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--fs-text-muted)}a{color:#4cc9f0;color:var(--fs-cyan);text-decoration:none;transition:color .15s ease}a:hover{color:#e84a8a;color:var(--fs-magenta)}::selection{background:#4cc9f0;background:var(--fs-cyan);color:#0a0c10;color:var(--fs-text-inverse)}.container{max-width:1600px}.container,.container-sm{margin:0 auto;padding:0 2rem;width:100%}.container-sm{max-width:900px}.container-lg{max-width:1800px}.container-full,.container-lg{margin:0 auto;padding:0 2rem;width:100%}.container-full{max-width:2200px}.full-bleed{padding:0;width:100%}@media (min-width:1400px){.container,.container-full,.container-lg{padding:0 3rem}}@media (min-width:1800px){.container,.container-full,.container-lg{padding:0 4rem}}.btn{align-items:center;border:1px solid #0000;border-radius:0;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .15s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#4cc9f0;background-color:var(--fs-cyan);border-color:#4cc9f0;border-color:var(--fs-cyan);color:#0a0c10;color:var(--fs-text-inverse)}.btn-primary:hover:not(:disabled){background-color:initial;color:#4cc9f0;color:var(--fs-cyan)}.btn-secondary{background-color:#1a1d24;background-color:var(--fs-bg-surface);border-color:#2d3139;border-color:var(--fs-border);color:#e8ecf2;color:var(--fs-text)}.btn-secondary:hover:not(:disabled){background-color:#22262e;background-color:var(--fs-bg-hover);border-color:#3d424a;border-color:var(--fs-border-strong)}.btn-ghost{background-color:initial;border-color:#0000;color:#a0a8b4;color:var(--fs-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:#22262e;background-color:var(--fs-bg-hover);color:#e8ecf2;color:var(--fs-text)}.btn-danger{background-color:#ef4444;background-color:var(--fs-error);border-color:#ef4444;border-color:var(--fs-error);color:#fff}.btn-danger:hover:not(:disabled){background-color:initial;color:#ef4444;color:var(--fs-error)}.btn-sm{font-size:.75rem;padding:.25rem .5rem}.btn-lg{font-size:1rem;padding:.75rem 1.5rem}.btn-icon{min-width:36px;padding:.5rem}.card{background-color:#12151a;background-color:var(--fs-bg-elevated);border:1px solid #2d3139;border:1px solid var(--fs-border);border-radius:0;overflow:hidden}.card-hover:hover{border-color:#3d424a;border-color:var(--fs-border-strong);box-shadow:0 4px 8px #00000080;box-shadow:var(--fs-shadow-md)}.card-header{background-color:#1a1d24;background-color:var(--fs-bg-surface);border-bottom:1px solid #2d3139;border-bottom:1px solid var(--fs-border);padding:1rem}.card-body{padding:1rem}.card-footer{border-top:1px solid #2d3139;border-top:1px solid var(--fs-border);padding:1rem}.card-footer,.input,.select,.textarea{background-color:#1a1d24;background-color:var(--fs-bg-surface)}.input,.select,.textarea{border:1px solid #2d3139;border:1px solid var(--fs-border);border-radius:0;color:#e8ecf2;color:var(--fs-text);font-size:.875rem;padding:.5rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.input::placeholder,.textarea::placeholder{color:#6b7280;color:var(--fs-text-muted)}.input:focus,.select:focus,.textarea:focus{border-color:#4cc9f0;border-color:var(--fs-cyan);box-shadow:0 0 0 2px #4cc9f033;outline:none}.input:disabled,.select:disabled,.textarea:disabled{cursor:not-allowed;opacity:.5}.input-error{border-color:#ef4444;border-color:var(--fs-error)}.input-error:focus{box-shadow:0 0 0 2px #ef444433}.checkbox,.radio{-webkit-appearance:none;appearance:none;background-color:#1a1d24;background-color:var(--fs-bg-surface);border:2px solid #2d3139;border:2px solid var(--fs-border);cursor:pointer;height:18px;transition:all .15s ease;width:18px}.checkbox:checked,.radio:checked{background-color:#4cc9f0;background-color:var(--fs-cyan);border-color:#4cc9f0;border-color:var(--fs-cyan)}.radio{border-radius:50%}.tag{align-items:center;background-color:#1a1d24;background-color:var(--fs-bg-surface);border:1px solid #2d3139;border:1px solid var(--fs-border);border-radius:0;color:#a0a8b4;color:var(--fs-text-secondary);display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.tag-primary{background-color:#4cc9f026;border-color:#4cc9f04d;color:#4cc9f0;color:var(--fs-cyan)}.badge{align-items:center;background-color:#e84a8a;background-color:var(--fs-magenta);border-radius:0;color:#fff;display:inline-flex;font-size:.625rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 .375rem}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #2d3139;border-bottom:1px solid var(--fs-border);padding:.75rem 1rem;text-align:left}.table th{background-color:#1a1d24;background-color:var(--fs-bg-surface);color:#a0a8b4;color:var(--fs-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table tr:hover td{background-color:#22262e;background-color:var(--fs-bg-hover)}.text-primary{color:#4cc9f0;color:var(--fs-cyan)}.text-secondary{color:#a0a8b4;color:var(--fs-text-secondary)}.text-muted{color:#6b7280;color:var(--fs-text-muted)}.text-success{color:#10b981;color:var(--fs-success)}.text-warning{color:#f59e0b;color:var(--fs-warning)}.text-error{color:#ef4444;color:var(--fs-error)}.bg-elevated{background-color:#12151a;background-color:var(--fs-bg-elevated)}.bg-surface{background-color:#1a1d24;background-color:var(--fs-bg-surface)}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .2s ease}.animate-slideUp{animation:slideUp .3s ease}@media (max-width:768px){.container{padding:0 .75rem}.hide-mobile{display:none!important}}@media (min-width:769px){.hide-desktop{display:none!important}}
/*# sourceMappingURL=main.9f1e3bff.css.map*/