:root{--color-background: #141414;--color-surface: #202020;--color-primary: #e50914;--color-text-primary: #ffffff;--color-text-secondary: #b3b3b3;--border-radius: 4px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--color-background);color:var(--color-text-primary)}#root{padding:0;max-width:100%}.content-container{padding-top:60px}.public-home{width:100%}.hero-section{display:flex;flex-direction:column;justify-content:center;align-items:center;height:70vh;text-align:center;padding:0 2rem;background:linear-gradient(to bottom,rgba(20,20,20,.5),var(--color-background)),url(https://images.unsplash.com/photo-1585504259744-a36a4a0f8142?q=80&w=2070&auto=format&fit=crop) center center/cover no-repeat}.hero-section h1{font-size:3.5rem;margin-bottom:1rem}.hero-section p{font-size:1.3rem;max-width:600px;margin-bottom:2rem}.hero-actions button{padding:15px 30px;font-size:1.2rem}.stats-section{display:flex;justify-content:space-around;text-align:center;padding:4rem 2rem;background-color:var(--color-background)}.stat-item h2{font-size:3rem;color:var(--color-primary)}.stat-item p{font-size:1.1rem;color:var(--color-text-secondary)}a{color:var(--color-text-primary);text-decoration:none}button{background-color:var(--color-primary);color:#fff;border:none;padding:10px 20px;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:700;transition:background-color .2s}button:hover{background-color:#f40612}.form-container{max-width:450px;margin:5rem auto;background-color:#000000bf;padding:60px;border-radius:var(--border-radius);display:flex;flex-direction:column;gap:20px}.form-container h1{margin-bottom:1rem}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea{background:#333;border:none;border-radius:var(--border-radius);padding:16px;color:var(--color-text-primary);font-size:1rem}input:focus{outline:none;background:#454545}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--color-background);position:fixed;top:0;left:0;width:100%;z-index:1000}.logo{font-size:1.5rem;font-weight:700;z-index:1001}.desktop-nav{display:none;align-items:center;gap:1.5rem}.desktop-nav a{font-weight:700;transition:color .2s;position:relative;padding:5px}.desktop-nav a:hover{color:var(--color-text-secondary)}.nav-link-with-badge{display:flex;align-items:center;gap:8px}.nav-badge{background-color:var(--color-primary);color:#fff;border-radius:10px;padding:2px 8px;font-size:.8rem;font-weight:700}.mobile-menu-button{background:none;border:none;color:#fff;cursor:pointer;padding:0;z-index:1001}.mobile-menu-overlay{position:fixed;top:0;left:-100%;width:100%;height:100%;background-color:var(--color-background);z-index:5000;display:flex;flex-direction:column;transition:left .3s ease-in-out}.mobile-menu-overlay.open{left:0}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #333;width:100%}.close-menu-button{background:none;border:none;color:#fff;cursor:pointer}.mobile-menu-content{flex-grow:1;width:100%;overflow-y:auto}.mobile-profile-section{padding:1.5rem;border-bottom:1px solid #333}.mobile-nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 0}.mobile-nav-links a{font-size:1.2rem;padding:1rem 1.5rem;width:100%;border-radius:var(--border-radius)}.mobile-nav-links a:hover{background-color:var(--color-surface)}.mobile-menu-footer{padding:1.5rem;width:100%}.logout-button-mobile{width:100%;background-color:var(--color-surface);color:var(--color-primary);font-weight:700}.logout-button-mobile:hover{background-color:#333}.profile-menu{position:relative}.profile-avatar-button{background:none;border:none;padding:0;border-radius:50%;cursor:pointer;position:relative}.profile-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;display:block}.unread-badge{position:absolute;top:-5px;right:-5px;background-color:var(--color-primary);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;border:2px solid var(--color-background)}.dropdown-menu{position:absolute;top:100%;right:0;background-color:var(--color-surface);border-radius:var(--border-radius);box-shadow:0 8px 24px #00000080;margin-top:15px;width:280px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.dropdown-header{display:flex;align-items:center;gap:10px;padding:15px;border-bottom:1px solid rgba(255,255,255,.1)}.dropdown-avatar{width:50px;height:50px;border-radius:50%}.user-info{display:flex;flex-direction:column}.user-info .username{font-weight:700;font-size:1.1rem}.user-info .email{font-size:.8rem;color:var(--color-text-secondary)}.dropdown-stats{list-style:none;padding:10px 0}.dropdown-stats li{display:flex;justify-content:space-between;align-items:center;padding:8px 15px;font-size:.9rem}.stat-value{font-weight:700;background-color:var(--color-primary);color:#fff;padding:2px 8px;border-radius:10px;font-size:.8rem}.dropdown-footer{border-top:1px solid rgba(255,255,255,.1);padding:10px;text-align:center}.dropdown-footer a{display:block;padding:8px;border-radius:var(--border-radius);cursor:pointer}.dropdown-footer a:hover{background-color:var(--color-primary);color:#fff}@media (min-width: 768px){.app-header{padding:1rem 3rem}.desktop-nav{display:flex}.mobile-menu-button{display:none}}.filters-container{background-color:var(--color-surface);padding:2rem;border-radius:var(--border-radius);margin-bottom:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;align-items:end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:700;color:var(--color-text-secondary);font-size:.9rem}.filter-group input[type=text],.filter-group input[type=number]{width:100%;padding:12px}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem;color:var(--color-text-primary)}.checkbox-label input{width:18px;height:18px}.dice-rating-input{display:flex;gap:.5rem}.dice-svg{width:30px;height:30px;transition:transform .2s}.loading-dashboard{text-align:center;padding-top:5rem;font-size:1.2rem}.dashboard-page{padding:2rem 3rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-header h1{font-size:2.5rem;margin:0}.filter-toggle-button{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid #444}.filter-toggle-button:hover{background-color:#333}.game-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.game-card-link{text-decoration:none;color:inherit}.game-card{width:100%;height:280px;border-radius:var(--border-radius);overflow:hidden;position:relative;cursor:pointer;background-color:var(--color-surface);transition:transform .2s;box-shadow:0 4px 12px #0000004d}.game-card:hover{transform:scale(1.05);box-shadow:0 8px 24px #00000080}.game-card img{width:100%;height:100%;object-fit:contain}.game-card .card-overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);text-align:left}.owner-tag{display:block;font-size:.8rem;color:var(--color-secondary, #50e3c2);font-weight:700;margin-top:4px}.empty-dashboard{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:50vh;gap:1rem;border-radius:var(--border-radius);padding:2rem}.empty-dashboard h2{font-size:2rem;color:var(--color-text-primary)}.empty-dashboard p{font-size:1.2rem;color:var(--color-text-secondary);max-width:400px}.empty-dashboard button{margin-top:1rem;padding:15px 30px;font-size:1.2rem}.featured-game-container{position:relative;height:30vh;display:flex;align-items:flex-end;padding:4rem 4rem 2rem;color:#fff}.featured-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center}.featured-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#141414 10%,#14141480 50%,#141414)}.featured-content{position:relative;z-index:2;max-width:80%}.featured-content h1{font-size:3rem;margin-bottom:1rem;text-shadow:2px 2px 8px rgba(0,0,0,.7)}.featured-content p{font-size:1.1rem;line-height:1.6;margin-bottom:2rem;color:var(--color-text-secondary)}.featured-content button{padding:12px 25px;font-size:1.1rem}.login-form{width:100%;display:flex;flex-direction:column;gap:1.5rem}.form-group,.password-input-wrapper{position:relative}.password-toggle-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);cursor:pointer;color:var(--color-text-secondary)}.login-form button:disabled{background-color:#555;cursor:not-allowed}.error-message{background-color:#e5091433;color:#f40612;padding:1rem;border-radius:var(--border-radius);text-align:center;font-weight:700}.success-message{background-color:#28a74533;color:#28a745;padding:1rem;border-radius:var(--border-radius);text-align:center;font-weight:700}.login-helpers{text-align:right;margin-top:-1rem;font-size:.9rem}.login-helpers a:hover{text-decoration:underline}.form-description{color:var(--color-text-secondary);text-align:center;margin-top:-1rem}.register-form{width:100%;display:flex;flex-direction:column;gap:1.5rem}.register-form input{width:100%}.register-form button{margin-top:1rem;padding:16px}.form-footer{color:var(--color-text-secondary);margin-top:2rem;text-align:center}.form-footer a{color:var(--color-text-primary);font-weight:700}.form-footer a:hover{text-decoration:underline}.add-game-page{max-width:1200px;margin:2rem auto;padding:2rem}.image-preview-container{position:relative;text-align:center;margin-top:1rem;display:inline-block;align-self:center}.image-preview{width:250px;height:350px;object-fit:contain;border-radius:var(--border-radius);border:2px solid #444}.remove-image-button{position:absolute;top:-10px;right:-10px;background-color:var(--color-primary);color:#fff;border:2px solid var(--color-background);border-radius:50%;width:30px;height:30px;font-size:1.5rem;line-height:26px;text-align:center;padding:0;cursor:pointer;font-weight:700}.remove-image-button:hover{background-color:#f40612}.file-input-label{background:#333;padding:16px;border-radius:var(--border-radius);text-align:center;cursor:pointer;transition:background-color .2s}.file-input-label:hover{background:#454545}.file-input{display:none}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.adding-message{text-align:center;font-size:1.5rem;font-weight:700;color:var(--color-primary);padding:5rem 0}.search-mode{text-align:center}.search-mode h1{font-size:2.5rem}.search-mode p{font-size:1.2rem;color:var(--color-text-secondary);margin-bottom:2rem}.search-bar-container{position:relative;margin-bottom:3rem;display:inline-block;width:100%;max-width:600px}.search-bar-container input{width:100%;padding:20px;font-size:1.2rem;text-align:center;border:1px solid #333}.loader{position:absolute;right:20px;top:50%;transform:translateY(-50%);border:4px solid #f3f3f3;border-top:4px solid var(--color-primary);border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:3rem}.search-result-card{width:100%;height:280px;border-radius:var(--border-radius);overflow:hidden;position:relative;cursor:pointer;background-color:var(--color-surface);transition:transform .2s;box-shadow:0 4px 12px #0000004d}.search-result-card:hover{transform:scale(1.05);box-shadow:0 8px 24px #00000080}.search-result-card img{width:100%;height:100%;object-fit:contain}.search-result-card .card-overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);text-align:left}.card-overlay h3{color:var(--color-text-primary);font-size:1rem;margin:0}.source-tag{display:inline-block;background-color:var(--color-primary);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-top:4px;text-transform:uppercase;font-weight:700}.manual-toggle{text-align:center}.secondary-button{background:none;border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.secondary-button:hover{background:var(--color-surface);color:var(--color-text-primary)}.manual-add-form{max-width:700px;margin:0 auto;background-color:var(--color-surface);padding:2rem;border-radius:var(--border-radius);display:flex;flex-direction:column;gap:1.5rem}.manual-add-form h2{text-align:center}.manual-add-form p{text-align:center;font-size:1rem;color:var(--color-text-secondary);margin-top:-1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:700;color:var(--color-text-secondary)}.dice-rating-input{display:flex;gap:1rem;padding:.5rem 0}.dice-icon-wrapper{cursor:pointer}.dice-svg{width:40px;height:40px;transition:transform .2s}.dice-icon-wrapper:hover .dice-svg{transform:scale(1.1)}.dice-svg rect{fill:#444;transition:fill .2s}.dice-svg circle{fill:#222;transition:fill .2s}.dice-svg.active rect{fill:var(--color-primary)}.dice-svg.active circle{fill:#fff}@media (max-width: 768px){.add-game-page{padding:1rem;margin:1rem auto}.search-mode h1{font-size:2rem}.search-mode p{font-size:1rem}.search-bar-container input{padding:16px;font-size:1rem}.search-results-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.search-result-card{height:220px}.manual-add-form{padding:1.5rem}.form-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.add-game-page{padding:.5rem;margin:.5rem auto}.search-mode{padding:0 1rem}.search-results-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.search-result-card{height:200px}.card-overlay h3{font-size:.9rem}.manual-add-form{padding:1rem;gap:1rem}.manual-add-form h2{font-size:1.5rem}.form-actions{flex-direction:column}.form-actions button{width:100%}.modal-content{padding:1.5rem;width:95%}.dice-svg{width:35px;height:35px}}.friends-container{max-width:900px;margin:2rem auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.friends-container h1{text-align:center;font-size:2.5rem}.friends-section{background-color:var(--color-surface);padding:2rem;border-radius:var(--border-radius)}.friends-section h2{margin-top:0;margin-bottom:1.5rem;border-bottom:1px solid #444;padding-bottom:1rem}.friend-search-container{position:relative}.friend-search-container input{width:100%;padding:16px;font-size:1.1rem}.friend-search-container .loader{position:absolute;right:16px;top:16px;border:4px solid #f3f3f3;border-top:4px solid var(--color-primary);border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.friend-search-results-container{margin-top:.5rem;border-radius:var(--border-radius);background-color:#111;overflow:hidden}.friend-search-results{list-style:none}.friend-search-results li{display:flex;align-items:center;padding:1rem;gap:1rem;border-bottom:1px solid #333}.friend-search-results li:last-child{border-bottom:none}.result-avatar{width:40px;height:40px;border-radius:50%}.result-user-info{display:flex;flex-direction:column;flex-grow:1}.result-user-info .username{font-weight:700}.result-user-info .email{font-size:.9rem;color:var(--color-text-secondary)}.add-friend-button{padding:8px 16px;font-size:.9rem}.no-search-results{padding:2rem;text-align:center;color:var(--color-text-secondary)}.friends-list{list-style:none}.friend-item{display:flex;align-items:center;padding:1rem 0;border-bottom:1px solid #333;gap:1rem}.friend-item:last-child{border-bottom:none}.friend-avatar{width:50px;height:50px;border-radius:50%}.friend-item span{font-weight:700;flex-grow:1}.friend-actions{display:flex;gap:10px}.accept-button{background-color:#28a745}.accept-button:hover{background-color:#218838}.decline-button,.cancel-button,.remove-button{background-color:#dc3545}.decline-button:hover,.cancel-button:hover,.remove-button:hover{background-color:#c82333}.no-items{color:var(--color-text-secondary);text-align:center;padding:1rem 0}@media (max-width: 768px){.friends-container{padding:1rem;margin:1rem auto}.friends-section{padding:1.5rem}.friends-container h1{font-size:2rem}}@media (max-width: 480px){.friends-container{padding:.5rem;margin:.5rem auto}.friends-section{padding:1rem}.friend-search-results li,.friend-item{flex-direction:column;text-align:center;gap:.5rem}.result-user-info{align-items:center}.friend-actions{width:100%;justify-content:center;margin-top:1rem}.friend-actions button{flex-grow:1;padding:12px}.friend-item span{flex-grow:0}}.messages-page{display:flex;height:calc(100vh - 60px);overflow:hidden;position:relative}.conversations-panel{width:100%;background-color:var(--color-surface);border-right:1px solid #333;display:flex;flex-direction:column;transition:transform .3s ease-in-out;position:absolute;top:0;left:0;height:100%;z-index:1}.chat-panel{flex-grow:1;display:flex;flex-direction:column;background-color:var(--color-background);position:absolute;top:0;left:0;width:100%;height:100%;transform:translate(100%);transition:transform .3s ease-in-out;z-index:2}.messages-page.chat-visible .conversations-panel{transform:translate(-100%)}.messages-page.chat-visible .chat-panel{transform:translate(0)}.panel-header{padding:1.5rem;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.panel-header h3{font-size:1.2rem;flex-grow:1;text-align:center;margin:0 0 0 -24px}.conversations-panel .panel-header h3{margin-left:0}.new-message-button{background-color:var(--color-primary);color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:2rem;line-height:36px;text-align:center;cursor:pointer;padding:0}.back-button{display:block;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0 1rem 0 0;width:24px}.search-wrapper{padding:1rem;border-bottom:1px solid #333;flex-shrink:0}.conversation-search-input{width:100%;padding:10px;font-size:1rem}.conversation-list{list-style:none;overflow-y:auto;flex-grow:1}.conversation-list li{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;border-bottom:1px solid #333;transition:background-color .2s}.conversation-list li:hover{background-color:#2a2a2a}.conversation-list li.active{background-color:var(--color-primary);color:#fff}.conversation-avatar{width:50px;height:50px;border-radius:50%;flex-shrink:0;background-color:#444}.conversation-info{flex-grow:1;overflow:hidden}.conversation-username{font-weight:700;display:block}.message-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;color:var(--color-text-secondary);margin:0}.conversation-list li.active .message-preview{color:#eee}.conversation-badge{background-color:var(--color-primary);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;flex-shrink:0}.conversation-list li.active .conversation-badge{background-color:#fff;color:var(--color-primary)}.messages-container{flex-grow:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.message-bubble{padding:.75rem 1rem;border-radius:18px;max-width:75%;display:flex;flex-direction:column}.message-bubble p{margin:0;line-height:1.5}.message-bubble .timestamp{font-size:.75rem;color:var(--color-text-secondary);margin-top:.5rem}.message-bubble.sent{background-color:var(--color-primary);align-self:flex-end;border-bottom-right-radius:4px}.message-bubble.sent .timestamp{align-self:flex-end}.message-bubble.received{background-color:var(--color-surface);align-self:flex-start;border-bottom-left-radius:4px}.message-bubble.received .timestamp{align-self:flex-start}.message-input-form{display:flex;padding:1rem;border-top:1px solid #333;gap:1rem;flex-shrink:0}.message-input-form input{flex-grow:1}.no-chat-selected{display:flex;flex-direction:column;height:100%}.no-chat-selected .panel-header,.no-chat-selected p{display:none}@media (min-width: 768px){.conversations-panel{position:static;width:320px;flex-shrink:0}.chat-panel{position:static;transform:none}.messages-page.chat-visible .conversations-panel{transform:none}.back-button{display:none}.chat-panel .panel-header h3{text-align:left;margin-left:0}.no-chat-selected{justify-content:center;align-items:center}.no-chat-selected .panel-header{display:none}.no-chat-selected p{display:block;color:var(--color-text-secondary);font-size:1.2rem}.messages-container{padding:2rem}.message-bubble{max-width:60%}.message-input-form{padding:1.5rem}}@media (min-width: 1024px){.conversations-panel{width:360px}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content{background-color:var(--color-surface);padding:2rem;border-radius:var(--border-radius);width:90%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;gap:1.5rem}.modal-content.main-modal button{width:100%;padding:1rem;font-size:1.1rem}.modal-content h2{margin-top:0}.modal-search-input{width:100%;padding:12px;font-size:1rem}.modal-friend-list{list-style:none;overflow-y:auto;flex-grow:1}.modal-friend-list li{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s}.modal-friend-list li:hover{background-color:#333}.modal-friend-list.multi-select li.selected{background-color:var(--color-primary)}.modal-avatar{width:40px;height:40px;border-radius:50%}.no-results-modal{text-align:center;color:var(--color-text-secondary);padding:2rem}.group-members-section{display:flex;flex-direction:column;gap:.5rem;flex-grow:1;overflow:hidden}.group-members-section p{font-weight:700;color:var(--color-text-secondary);margin:0}.creator-display{display:flex;align-items:center;gap:1rem;padding:.5rem;background-color:#111;border-radius:var(--border-radius)}.creator-display span{font-style:italic}.separator{border:none;border-top:1px solid #333;margin:.5rem 0}.hover-content{width:100%;text-align:center;font-size:1.1rem}.hover-content strong{color:#fff}.details-container{position:relative;min-height:calc(100vh - 60px)}.details-backdrop{position:absolute;top:0;left:0;right:0;height:60vh;background-size:cover;background-position:center;filter:blur(20px) brightness(.4);transform:scale(1.1);z-index:1}.details-content{position:relative;z-index:2;padding:3rem 2rem;max-width:1100px;margin:0 auto}.details-header{display:flex;gap:3rem;align-items:flex-start;margin-top:2rem}.details-cover{height:auto;max-height:450px;object-fit:contain;border-radius:var(--border-radius);box-shadow:0 10px 30px #00000080;flex-shrink:0;background-color:#ffffff0d}.details-info{flex-grow:1}.details-info h1{font-size:3.5rem;margin:0 0 1rem;line-height:1.2}.details-info p{font-size:1.2rem;margin-bottom:.75rem;color:var(--color-text-secondary)}.details-info strong{color:var(--color-text-primary)}.details-share{margin-top:1.5rem;font-size:1.1rem;display:flex;align-items:center}.details-share label{cursor:pointer;display:flex;align-items:center;gap:.5rem}.details-share input{width:1.2rem;height:1.2rem;accent-color:var(--color-primary)}.details-actions{margin-top:2.5rem;display:flex;gap:1rem}.details-actions a{display:block}.remove-button{background-color:transparent;border:1px solid #dc3545;color:#dc3545}.remove-button:hover{background-color:#dc3545;color:#fff}.details-body{margin-top:4rem;padding:2.5rem;background-color:#00000080;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.details-body h3{font-size:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.details-body p{line-height:1.8;font-size:1.1rem;color:var(--color-text-secondary);white-space:pre-wrap}.details-loading,.details-error{text-align:center;padding-top:10rem;font-size:1.5rem;color:var(--color-text-secondary)}@media (max-width: 900px){.details-header{gap:2rem}.details-cover{width:240px}.details-info h1{font-size:2.5rem}}@media (max-width: 600px){.details-content{padding:2rem 1rem}.details-backdrop{height:40vh}.details-header{flex-direction:column;align-items:center;text-align:center;margin-top:0}.details-cover{width:200px;margin-bottom:1rem}.details-info h1{font-size:2rem}.details-actions{flex-direction:column;width:100%}.details-actions button,.details-actions a{width:100%}.details-body{margin-top:2.5rem;padding:1.5rem}}:root{--board-size: clamp(300px, 80vmin, 450px);--cell-size: calc(var(--board-size) / 3)}.tic-tac-toe-page{width:100%;padding:2rem 1rem;font-family:var(--font-family-sans-serif)}.game-status-header{display:flex;justify-content:center;align-items:center;width:100%;max-width:600px;gap:1rem;margin:0 auto 2rem}.player-card{flex:1;padding:1rem;border-radius:var(--border-radius);background-color:var(--color-surface);border:1px solid var(--color-border);text-align:center;font-size:1.1rem;font-weight:600;color:var(--color-text-secondary);transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden}.player-card.active{color:var(--color-text-primary);transform:translateY(-5px) scale(1.05);border-color:var(--color-primary);box-shadow:0 5px 15px rgba(var(--color-primary-rgb),.3)}.vs-separator{font-size:1.2rem;color:var(--color-text-secondary);font-weight:500}.timer{font-size:.9rem;font-weight:500;color:var(--color-primary);margin-top:4px}.board-container{position:relative;box-shadow:0 15px 30px #0006;border-radius:var(--border-radius);margin:0 auto;width:var(--board-size)}.board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px;background-color:#161b22;border-radius:var(--border-radius);padding:8px;height:var(--board-size);width:var(--board-size)}.cell{background-color:var(--color-surface);border-radius:8px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .2s ease}.board:not(.game-over) .cell:hover{background-color:#30363d}.symbol{font-size:calc(var(--cell-size) * .7);font-weight:900;line-height:1;animation:appear .3s cubic-bezier(.175,.885,.32,1.275)}.symbol-X{color:var(--color-primary)}.symbol-O{color:var(--color-secondary)}@keyframes appear{0%{transform:scale(.4);opacity:.5}to{transform:scale(1);opacity:1}}.cell.winning{animation:winning-animation .6s ease-in-out}.cell.winning .symbol-X{color:var(--color-surface);background:var(--color-primary);width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:8px}.cell.winning .symbol-O{color:var(--color-surface);background:var(--color-secondary);width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:8px}@keyframes winning-animation{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.board.game-over{filter:blur(1px) saturate(.5)}.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background-color:#161b22cc;border-radius:var(--border-radius);animation:fade-in .5s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.game-over-overlay h2{color:var(--color-text-primary);font-size:clamp(1.5rem,5vw,2.5rem);text-align:center;padding:1.5rem 2rem;background:var(--color-surface-raised, #30363d);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:0 10px 20px #0000004d}.battleship-container,.battleship-placement,.battleship-battle{padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.grid{display:grid;grid-template-columns:repeat(10,32px);grid-template-rows:repeat(10,32px);border:2px solid #333;gap:1px;background-color:#333}.cell{width:32px;height:32px;background-color:#58a4b0;border:1px solid #aaa;position:relative}.my-grid .cell.ship{background-color:#373f51}.my-grid .cell.preview{background-color:#a9b4c2}.my-grid .cell.invalid{background-color:#d64933}.opponent-grid.active .cell:hover{background-color:#87ceeb;cursor:crosshair}.cell.hit{background-color:#c1292e}.cell.miss:after{content:"•";color:#a9b4c2;font-size:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:0}.my-grid .cell.hit{background-color:#c1292e}.controls{margin:1rem 0;display:flex;gap:1rem;align-items:center}.game-boards{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:1rem}.play-online-container{padding:2rem 3rem;text-align:center}.play-online-container h1{font-size:2.5rem;margin-bottom:2rem;color:var(--color-text-primary)}.game-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;justify-content:center;margin-top:2rem}.game-card{background-color:var(--color-surface);border:1px solid #444;border-radius:var(--border-radius);padding:2rem;text-align:left;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000080}.game-card h2{margin-top:0;font-size:1.5rem;color:var(--color-primary)}.game-card p{color:var(--color-text-secondary);margin-bottom:1.5rem;flex-grow:1}.game-card button,.create-lobby-btn{width:100%;padding:12px;font-size:1.1rem;background-color:var(--color-primary);color:var(--color-background);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s}.game-card button:hover:not(:disabled),.create-lobby-btn:hover:not(:disabled){background-color:var(--color-primary-dark)}.game-card button:disabled,.create-lobby-btn:disabled{background-color:#555;color:#999;cursor:not-allowed}.join-btn{background-color:#28a745}.join-btn:hover{background-color:#218838}.lobby-list{margin-top:2rem;display:flex;flex-direction:column;gap:1rem;max-width:600px;margin-left:auto;margin-right:auto}.lobby-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--color-surface);border:1px solid #444;border-radius:var(--border-radius)}.lobby-card button{width:auto;padding:8px 16px}.lobby-details-card{background-color:var(--color-surface);border:1px solid #444;border-radius:var(--border-radius);padding:2rem;max-width:600px;margin:2rem auto}.player-list{list-style:none;padding:0;margin:1.5rem 0;text-align:left}.player-list li{padding:.5rem 0;border-bottom:1px solid #444;font-size:1.1rem}.player-list li:last-child{border-bottom:none}.hangman-container{padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:90vw}.word-display{font-size:clamp(1.5rem,5vw,3rem);letter-spacing:.5rem;text-transform:uppercase;margin:1rem 0}.guesses{font-size:1rem;min-height:2em}.keyboard{display:flex;flex-wrap:wrap;gap:.5rem;max-width:600px;justify-content:center}.keyboard button{width:35px;height:35px;font-size:1rem;text-transform:uppercase;cursor:pointer;border-radius:4px;border:1px solid #ccc}.keyboard button:disabled{background-color:#ccc;color:#888;cursor:not-allowed}.word-form{display:flex;gap:.5rem}
