@media (min-width: 768px){body.logged-in{margin-left:var(--sidebar-width);transition:margin-left var(--transition-speed) ease;padding-left:0}body.logged-in.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width);padding-left:0}.desktop-nav{display:none!important}.side-menu{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background-color:var(--white);box-shadow:2px 0 10px #0000000d;z-index:1000;display:flex;flex-direction:column;transform:translate(0)!important;transition:width var(--transition-speed) ease;padding-top:0;border-right:1px solid rgba(0,0,0,.05);overflow:hidden}body.sidebar-collapsed .side-menu{width:var(--sidebar-collapsed-width)}.side-menu-overlay{display:none!important}.side-menu-header{padding:20px;border-bottom:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-between;height:var(--header-height);white-space:nowrap}body.sidebar-collapsed .user-details{opacity:0;pointer-events:none;position:absolute;visibility:hidden}body.sidebar-collapsed .side-menu-user-info{justify-content:center;width:100%}body.sidebar-collapsed .avatar-md{margin-right:0;width:40px;height:40px}.side-menu-nav{flex:1;padding:20px 0;overflow-y:auto;overflow-x:hidden}.side-menu-item{margin:5px 15px;padding:12px 15px;color:var(--text-color);display:flex;align-items:center;border-radius:8px;transition:all .2s;white-space:nowrap;position:relative}.side-menu-item:hover{background-color:#00000008;color:var(--primary-color)}.side-menu-item.active{background-color:#ffebee;color:var(--primary-color);font-weight:700}.side-menu-item i{min-width:24px;font-size:1.1rem;margin-right:15px;text-align:center;transition:margin .3s}body.sidebar-collapsed .side-menu-item{padding:12px 10px;justify-content:center;margin:5px 10px}body.sidebar-collapsed .side-menu-item i{margin-right:0;font-size:1.3rem}body.sidebar-collapsed .side-menu-item span:not(.menu-badge),body.sidebar-collapsed .side-menu-item .menu-text{display:none}body.sidebar-collapsed .side-menu-item{font-size:0}body.sidebar-collapsed .side-menu-item i{font-size:1.3rem}.side-menu-footer{padding:15px;border-top:1px solid rgba(0,0,0,.05)}body.sidebar-collapsed .side-menu-footer{padding:15px 10px}body.sidebar-collapsed .side-menu-footer .logout{justify-content:center;width:100%;margin:0;border:none;background:transparent;cursor:pointer}body.sidebar-collapsed .side-menu-footer .logout span{display:none}.sidebar-toggle-btn{display:block;background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem;padding:5px;transition:color .2s;position:absolute;right:15px;top:22px}body.sidebar-collapsed .sidebar-toggle-btn{right:50%;transform:translate(50%) rotate(180deg);top:auto;bottom:20px;width:100%}.sidebar-toggle-btn:hover{color:var(--primary-color)}body.sidebar-collapsed .side-menu-item:hover:after{content:attr(data-title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:#333;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;white-space:nowrap;margin-left:10px;z-index:2000;pointer-events:none;opacity:1;box-shadow:2px 2px 5px #0003}body.sidebar-collapsed .side-menu-item .menu-badge{display:flex!important;position:absolute;top:5px;right:15px;font-size:.65rem;padding:0 4px;min-width:16px;height:16px;justify-content:center;align-items:center;border-radius:10px;line-height:1;z-index:10;pointer-events:none;background-color:var(--danger);color:#fff}}@media (max-width: 767.98px){.sidebar-toggle-btn{display:none}.side-menu{transform:translate(-100%)}.side-menu.open{transform:translate(0)}}:root{--primary-color: #f2555c;--secondary-color: #50E3C2;--accent-color: #F5A623;--text-color: #333333;--bg-color: #F4F7F6;--white: #FFFFFF;--danger: #E74C3C;--success: #2ECC71;--gray-light: #E0E0E0;--font-main: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--radius: 12px;--sidebar-width: 250px;--sidebar-collapsed-width: 80px;--header-height: 70px;--transition-speed: .3s}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased}.fade-in{animation:fadeIn .3s ease-in}.fade-in-up{animation:fadeInUp .4s ease-out}.hidden{display:none!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn{border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .1s;font-size:1rem}.admin-banner{background:#f39c12;color:#fff;padding:10px 15px;padding-top:max(10px,env(safe-area-inset-top));text-align:center;font-weight:700;box-shadow:0 2px 5px #0000001a;position:relative;z-index:1000;width:100%}.offline-banner{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top));box-shadow:0 3px 10px #00000026;position:sticky;top:0;z-index:2000;width:100%;animation:slideDown .3s ease-out}.offline-banner.hidden{display:none}.offline-banner-content{display:flex;align-items:center;justify-content:center;gap:12px;max-width:1200px;margin:0 auto}.offline-banner-content i{font-size:1.2rem;animation:pulse 2s infinite}.offline-banner-text{display:flex;flex-direction:column;gap:2px;text-align:left}.offline-banner-text strong{font-size:.95rem;font-weight:700}.offline-banner-text span{font-size:.8rem;opacity:.95}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.btn-disabled-offline{opacity:.5;cursor:not-allowed!important;pointer-events:none}.table-card-offline{position:relative}.table-card-offline:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffff4d;pointer-events:none;border-radius:var(--radius)}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary-color);color:#fff;text-decoration:auto}.btn-outline{background:transparent;border:2px solid var(--danger);color:#d80000e6}.btn-google{background-color:#db4437;color:#fff;width:100%;margin-bottom:10px}.btn-telegram{background-color:#24a1de;color:#fff;width:100%;margin-bottom:10px;font-weight:600}.btn-telegram:hover{background-color:#1b8ec5;color:#fff}.btn-danger{background-color:var(--danger);color:#fff}.btn-success{background-color:var(--success);color:#fff}.btn-warning{background-color:var(--accent-color);color:#fff}.btn-sm{padding:8px 16px;font-size:.9rem}.full-width{width:100%}.view-home{text-align:center;min-height:100vh;display:flex;flex-direction:column;--primary-color: #CE2B37;--primary-dark: #A3141E;--secondary-color: #009246;--text-on-primary: #FFFFFF;--hero-bg: #FFFFFF}.view-home .hero{background:var(--hero-bg);color:var(--text-color);padding:calc(15px + env(safe-area-inset-top)) 20px 50px 20px;position:relative;border-radius:0 0 50% 50%/0 0 25px 25px;margin-bottom:20px;box-shadow:0 10px 40px -10px #0000000d;z-index:10}.view-home .hero .subtitle{font-size:1.1rem;font-weight:500;color:#666;margin-bottom:30px}.view-home .hero-actions{display:flex;flex-direction:column;align-items:center;gap:25px;margin-top:20px}.view-home .btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 8px 25px #ce2b3780;border:none;padding:12px 35px;font-size:1.1rem;font-weight:700;width:220px;display:inline-flex;justify-content:center;align-items:center;height:54px;border-radius:50px;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden}.view-home .btn-primary:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 30px #ce2b3799;background:linear-gradient(135deg,#ff4552,#c41c29);animation:none}.view-home .btn-primary:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:rotate(45deg);transition:all .5s;opacity:0}.view-home .btn-primary:hover:after{left:100%;opacity:1;transition:left .5s}@keyframes btnPulse{0%{transform:scale(1);box-shadow:0 8px 25px #ce2b3780}50%{transform:scale(1.03);box-shadow:0 12px 30px #ce2b37b3}to{transform:scale(1);box-shadow:0 8px 25px #ce2b3780}}.view-home .info-section{display:grid;gap:25px;padding:0 20px 40px;max-width:800px;margin:0 auto;width:100%}.view-home .card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 30px -5px #0000000d;border:1px solid rgba(0,0,0,.02);transition:transform .3s ease,box-shadow .3s ease}.view-home .card:hover{transform:translateY(-5px);box-shadow:0 15px 35px -5px #0000001a}.view-home .card h3{color:var(--primary-color);font-size:1.4rem;margin-bottom:15px}.view-home .card p{color:#555;font-size:1rem}.view-home .card p a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s}.view-home .card p a:hover{color:var(--primary-dark);text-decoration:underline}.app-logo{max-width:220px;height:auto;margin-bottom:20px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.info-section{padding:0 20px;display:grid;gap:20px}.card{background:var(--white);padding:20px;border-radius:var(--radius);box-shadow:var(--shadow);text-align:left}.shape-blob{position:absolute;border-radius:50%;filter:blur(50px);z-index:0;opacity:.6;animation:floatShape 10s infinite ease-in-out alternate}.shape-blob.one{width:200px;height:200px;background:#ce2b3726;top:-50px;left:-50px;animation-delay:0s}.shape-blob.two{width:250px;height:250px;background:#0092461a;bottom:-80px;right:-50px;animation-delay:-5s}.shape-blob.three{width:150px;height:150px;background:#4a90e21a;top:40%;left:20%;animation-duration:15s;opacity:.4}@keyframes floatShape{0%{transform:translate(0) scale(1)}50%{transform:translate(20px,30px) scale(1.1)}to{transform:translate(-20px,10px) scale(.9)}}.view-home .hero>*{position:relative;z-index:2}.view-home .card{opacity:0;transform:translateY(20px);animation:fadeInUpCard .6s cubic-bezier(.2,.8,.2,1) forwards}.view-home .card:nth-child(1){animation-delay:.1s}.view-home .card:nth-child(2){animation-delay:.2s}.view-home .card:nth-child(3){animation-delay:.3s}.view-home .card:nth-child(4){animation-delay:.4s}@keyframes fadeInUpCard{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn-instagram{display:inline-flex;align-items:center;gap:12px;padding:12px 24px;border-radius:50px;background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;box-shadow:0 4px 15px #dd2a7b4d;width:220px;height:54px;justify-content:center;transition:transform .2s,box-shadow .2s;z-index:5;position:relative}.btn-instagram:hover{transform:scale(1.05);box-shadow:0 6px 20px #dd2a7b66}.view-dashboard{padding-bottom:80px}.app-version-footer{text-align:center;padding:20px;margin-top:40px;color:#999;font-size:.75rem;font-weight:500;letter-spacing:.5px;border-top:1px solid rgba(0,0,0,.05)}.app-version-footer span{opacity:.7;transition:opacity .2s}.app-version-footer span:hover{opacity:1;cursor:default}.app-header{background:var(--white);padding:15px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:100}.user-info{display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer}.mobile-brand{display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.btn-icon{background:none;border:none;font-size:1.5rem;cursor:pointer}.actions-bar{padding:20px;display:flex;justify-content:space-between;align-items:center}.tables-grid{padding:0 20px;display:grid;gap:15px}.table-header{display:flex;justify-content:space-between;margin-bottom:10px}.table-time-highlight{color:var(--primary-color);font-weight:800;font-size:.9rem;display:block;align-items:center;gap:6px;margin-top:4px;line-height:1}.table-time-highlight i{font-size:.8rem;opacity:.8;line-height:1}.table-info{color:#666;font-size:.9rem;margin-bottom:10px}.status-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-open{background:#e0f7fa;color:#006064}.status-full{background:#ffebee;color:#c62828}.status-missing{background:#ffebee;color:#c62828;border:1px solid #C62828}.status-ludoteca{background:#e8f5e9;color:#2e7d32;border:1px solid #2E7D32}.status-user{background:#e3f2fd;color:#1565c0;border:1px solid #1565C0}.status-owner{background:#fff3e0;color:#ef6c00;border:1px solid #EF6C00}.participants-preview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.participant-chip{padding:4px 10px;border-radius:12px;background:var(--gray-light);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:500;color:#333;white-space:nowrap}.remove-participant{margin-left:6px;cursor:pointer;color:#c62828;font-weight:700;padding:2px 5px;border-radius:50%;transition:background-color .2s}.remove-participant:hover{background-color:#c628281a}.chip-color-0{background-color:#e3f2fd;color:#1565c0}.chip-color-1{background-color:#e8f5e9;color:#2e7d32}.chip-color-2{background-color:#fff3e0;color:#ef6c00}.chip-color-3{background-color:#f3e5f5;color:#7b1fa2}.chip-color-4{background-color:#ffebee;color:#c62828}.chip-color-5{background-color:#e0f2f1;color:#00695c}.modal{display:none;position:fixed;z-index:3000;left:0;top:0;width:100%;height:100%;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:var(--white);margin:20% auto;padding:25px;border-radius:var(--radius);width:90%;max-width:400px;position:relative;animation:fadeInUp .3s;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-scrollable-area{flex:1;overflow-y:auto;padding:20px 25px;margin-bottom:0}.modal-content form{display:flex;flex-direction:column;height:100%;overflow:hidden}.close,.close-edit,.close-welcome{color:#666;position:absolute;top:50%;right:20px;transform:translateY(-50%);font-size:24px;font-weight:700;cursor:pointer;z-index:100;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.close-modal,.close-create,.close-disclaimer{color:#666;position:absolute;top:15px;right:15px;font-size:24px;font-weight:700;cursor:pointer;z-index:100;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.close:hover,.close-modal:hover,.close-create:hover,.close-edit:hover,.close-welcome:hover,.close-disclaimer:hover{background:#0000000d;color:var(--primary-color)}.modal-actions{margin-top:20px;display:flex;gap:10px}.modal-actions.end{justify-content:flex-end}.form-group{margin-bottom:20px}.clear-input-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#999;font-weight:700;font-size:1.2rem;padding:0 5px;-webkit-user-select:none;user-select:none;z-index:10}.clear-input-btn:hover{color:#333}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-color);font-size:.95rem}.form-group input,.form-group textarea,.styled-input{width:100%;padding:12px 16px;border:1px solid var(--gray-light);border-radius:var(--radius);font-size:1rem;font-family:var(--font-main);transition:all .2s ease;color:var(--text-color);background-color:var(--white)}.form-group input:hover,.form-group textarea:hover,.styled-input:hover{border-color:#bbb}.duration-wrapper{display:flex;align-items:stretch}.duration-input{width:70%;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;padding:12px 16px;border:1px solid var(--gray-light);border-radius:var(--radius) 0 0 var(--radius);font-size:1rem;font-family:var(--font-main);background-color:var(--white)}.duration-select{width:30%;border-top-left-radius:0;border-bottom-left-radius:0;background-color:#f8f9fa;border:1px solid var(--gray-light);border-left:1px solid #e0e0e0;border-radius:0 var(--radius) var(--radius) 0;padding:12px;font-size:1rem;font-family:var(--font-main);cursor:pointer}.duration-input:focus,.duration-select:focus{outline:none;border-color:var(--primary-color);z-index:2;position:relative;box-shadow:0 0 0 3px #f2555c1a}.form-group input:focus,.form-group textarea:focus,.styled-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f2555c1a}.form-group textarea{resize:vertical;min-height:100px}.welcome-modal .modal-content{max-width:480px;text-align:center;padding:25px;display:flex;flex-direction:column}.welcome-header{margin-bottom:20px}.welcome-logo{width:60px;margin-bottom:15px}.welcome-header h2{color:var(--primary-color);margin:0}.welcome-body p{color:#555;line-height:1.5;margin-bottom:20px}.info-card-welcome{background:#f8f9fa;border-radius:12px;padding:15px 20px;margin-bottom:20px;border:1px solid #eee;text-align:left}.welcome-info-grid{display:flex;flex-direction:column;gap:12px}.welcome-info-item{display:flex;align-items:center;gap:15px;font-size:.95rem}.welcome-info-item span{display:block}.welcome-info-item i{color:var(--primary-color);width:20px;font-size:1.2rem;flex-shrink:0}.modal-actions-welcome{padding-top:15px;margin-top:5px}.suggestion-card-welcome{background:linear-gradient(135deg,#f2555c0d,#f39c120d);border-radius:12px;padding:15px 20px;margin-bottom:25px;border:1px solid rgba(242,85,92,.1);text-align:left}.suggestion-card-welcome h5{margin-top:0;margin-bottom:5px;color:#e67e22;font-size:1.05rem}.suggestion-card-welcome p{margin:3px 0;font-size:.9rem;line-height:1.4}.btn-maps{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#4285f4;padding:6px 14px;border-radius:50px;font-size:.9em;font-weight:600;text-decoration:none;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;border:1px solid #e0e0e0;margin-top:5px}.btn-maps i{font-size:1.1em}.btn-maps:hover{background:#f8f9fa;box-shadow:0 4px 8px #00000026;transform:translateY(-1px);color:#34a853}@media (min-width: 768px){.tables-grid{grid-template-columns:repeat(2,1fr)}.hero{border-radius:0 0 50px 50px}.view-home .hero{padding-top:60px;padding-bottom:80px}.app-logo{max-width:350px}.view-home .hero .subtitle{font-size:1.4rem;margin-top:15px;margin-bottom:40px}.view-home .hero-actions{flex-direction:row;justify-content:center;gap:30px}.view-home .btn-primary{font-size:1.2rem;padding:14px 40px}.view-home .info-section{display:flex;flex-direction:column;gap:30px;max-width:600px;margin:0 auto}.view-home .card{padding:40px}.map-container iframe{height:400px}}.table-card{cursor:pointer;transition:all .2s ease-in-out}.table-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.table-details{overflow:hidden;max-height:0;transition:max-height .3s ease-out,opacity .3s ease-out;opacity:0;margin-top:0}.table-card.expanded .table-details{max-height:800px;opacity:1;margin-top:15px;padding-top:15px;border-top:1px solid var(--gray-light)}.table-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.table-card-extra-actions{display:flex;gap:8px;margin-top:15px;width:100%}.btn-card-action{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:8px;text-decoration:none;font-weight:700;font-size:.85rem;flex:1;transition:all .2s ease;border:none}.btn-card-action.tutorial{background-color:#27ae60;color:#fff}.btn-card-action.tutorial:hover{background-color:#2ecc71;transform:translateY(-2px)}.btn-card-action.bgg{background-color:#3f3da3;color:#fff}.btn-card-action.bgg:hover{background-color:#514ea1;transform:translateY(-2px)}.btn-card-action.chat{background-color:#6c5ce7;color:#fff}.btn-card-action.chat:hover{background-color:#8271ff;transform:translateY(-2px)}.bgg-link{display:inline-flex;align-items:center;gap:5px;color:#3f3da3;font-weight:600;text-decoration:none;font-size:.9rem;margin-top:10px}.game-meta{display:flex;gap:15px;font-size:.85rem;color:#666;margin-bottom:10px}.game-meta span{display:flex;align-items:center;gap:4px}.delete-icon{cursor:pointer;font-size:1.2rem;transition:transform .2s,opacity .2s;opacity:.7;padding:4px}.delete-icon:hover{transform:scale(1.2);opacity:1}.btn-disabled{background-color:var(--gray-light);color:#999;cursor:not-allowed}.autocomplete-wrapper{position:relative}.autocomplete-items{background:#fff;position:absolute;background-color:var(--white);border-radius:6px;box-shadow:var(--shadow);z-index:99;top:calc(100% + 5px);left:0;right:0;max-height:250px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-light) transparent}.autocomplete-items::-webkit-scrollbar{width:6px}.autocomplete-items::-webkit-scrollbar-thumb{background-color:var(--gray-light);border-radius:3px}.autocomplete-item{background-color:var(--white);padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.05);transition:all .2s ease;font-size:.95rem}.autocomplete-item:hover{background-color:var(--bg-color);color:var(--primary-color);padding-left:20px}.selected-users-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.selected-user-tag{display:inline-flex;align-items:center;gap:6px;background:var(--primary-color);color:#fff;padding:6px 10px;border-radius:20px;font-size:.9rem;animation:fadeIn .3s ease;margin-bottom:5px}.remove-user-btn{background:transparent;border:none;color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;padding:0 4px;line-height:1;transition:transform .2s ease}.remove-user-btn:hover{transform:scale(1.2)}.game-info-box{background:var(--white);border-left:5px solid var(--primary-color);padding:20px;border-radius:var(--radius);margin-bottom:25px;font-size:.95rem;box-shadow:0 4px 15px #0000000d;line-height:1.6}.game-info-box p{margin:8px 0;color:var(--text-color)}.profile-container{padding:20px}.profile-card{max-width:600px;margin:0 auto}.profile-wishlist-section{margin-top:25px}.btn-admin-area{border-color:#f39c12!important;color:#f39c12!important;margin-bottom:25px}.profile-header{text-align:center;margin-bottom:30px}.avatar-lg{font-size:4rem;display:block;margin:0 auto 10px;width:120px;height:120px;object-fit:contain;border-radius:50%}.form-actions{margin:30px 0 25px;padding:20px 0;border-top:1px solid var(--gray-light)}.form-actions .btn{box-shadow:0 4px 12px #f2555c4d;transition:all .3s ease}.form-actions .btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f2555c66}.sticky-footer{position:sticky;bottom:0;left:0;right:0;background:#fff;padding:15px 20px;box-shadow:0 -4px 12px #0000001a;z-index:100;margin:0 -20px}.sticky-footer .btn{box-shadow:0 4px 12px #f2555c4d}.view-history{padding-bottom:20px}.view-history main{padding:0 20px}.history-title{text-align:center;margin-bottom:25px;margin-top:10px;color:var(--primary-color)}.stats-container{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats-row.full-width{display:flex}.stats-row.full-width .card{width:100%}.stat-card{text-align:center;padding:15px 10px;background:var(--white);border:none;box-shadow:0 4px 15px #0000000d;border-radius:16px;transition:transform .3s ease}.stat-card:hover{transform:translateY(-3px)}.stat-card.highlight-card{background:linear-gradient(135deg,#fff5f5,#fff);border:1px solid rgba(242,85,92,.1)}.stat-value{font-size:1.2rem;font-weight:800;color:var(--primary-color);margin-bottom:5px;word-break:break-word;line-height:1.1}.stat-label{font-size:.7rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.history-list{display:flex;flex-direction:row;overflow-x:auto;gap:12px;padding:5px 0 15px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-padding-left:0}.history-list::-webkit-scrollbar{display:none}.matches-grid{display:flex;flex-direction:column;gap:15px;padding-bottom:80px}.history-card{display:flex;flex-direction:column;padding:0;overflow:hidden;position:relative;border-left:4px solid var(--primary-color);background:#fff;box-shadow:0 4px 6px #0000000d;border-radius:12px;width:100%}.bgg-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;flex-shrink:0}.bgg-dot-success{background-color:var(--success);box-shadow:0 0 5px #2ecc7180}.bgg-dot-error{background-color:var(--danger);animation:pulse-danger 2s infinite}@keyframes pulse-danger{0%{box-shadow:0 0 #e74c3c66}70%{box-shadow:0 0 0 6px #e74c3c00}to{box-shadow:0 0 #e74c3c00}}.history-card-inner{padding:15px;display:flex;flex-direction:row;align-items:center;gap:15px}.history-game-img,.history-game-placeholder{width:70px;height:70px;border-radius:10px;object-fit:cover;flex-shrink:0}.history-game-placeholder{background:var(--bg-color);display:flex;align-items:center;justify-content:center;border:1px solid #eee;color:var(--primary-color);font-size:1.8rem}.history-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.history-info h4{margin:0;font-size:1.1rem;color:var(--text-color);display:flex;align-items:center;line-height:1.3}.history-meta{display:flex;gap:15px;font-size:.85rem;color:#666;align-items:center}.history-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-color);padding:8px 12px;border-radius:8px;border:1px solid #eee;min-width:60px}.history-date-day{font-size:1.2rem;font-weight:800;color:var(--primary-color);line-height:1}.history-date-month{text-transform:uppercase;font-size:.8rem;font-weight:700;line-height:1}.history-date-badge span:last-child{font-size:.8rem;font-weight:600;line-height:1}.preference-actions{display:flex;gap:8px}.btn-pref{background:#fff;border:1px solid #eee;color:#ccc;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-pref:hover{background:#f9f9f9;color:#999}.btn-like.active{background-color:#e8f5e9;border-color:var(--success);color:var(--success)}.btn-dislike.active{background-color:#ffebee;border-color:var(--danger);color:var(--danger)}.btn-remove-history{background:none;border:none;color:#ccc;cursor:pointer;padding:5px;transition:color .2s;font-size:1rem;align-self:flex-start;margin-left:5px}.modal-actions{margin-top:25px;display:flex;gap:12px;justify-content:flex-end}.modal-actions button{min-width:100px}.form-section{margin:25px 0;padding-top:20px;border-top:1px solid var(--gray-light)}.form-section h4{margin-bottom:15px;color:var(--primary-color)}.toggle-group{display:flex;align-items:center;gap:15px;margin-bottom:15px}.sub-toggle{margin-left:20px;font-size:.9rem;color:#555;transition:opacity .3s}.switch{position:relative;display:inline-block;width:50px;height:26px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{transform:translate(24px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.game-icon-small{width:60px;height:60px;object-fit:cover;border-radius:8px;background-color:transparent;border:1px solid var(--gray-light);flex-shrink:0}.table-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:10px}.table-header>div:first-child{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.table-header h4{margin:0;line-height:1.2;font-size:1.1rem}.table-header h4.title-long{font-size:1rem}.table-header h4.title-very-long{font-size:.9rem}.table-header small{display:block;margin-top:4px;color:#666}.table-header>div:last-child{flex-shrink:0;display:flex;align-items:center;gap:8px}@media (max-width: 767px){.app-header{padding:12px 15px}.actions-bar{padding:15px;flex-direction:column;gap:10px;align-items:stretch;text-align:center}.actions-bar h2{font-size:1.5rem}.btn-sm{padding:10px;font-size:1rem;width:100%}.tables-grid{padding:0 15px 15px;gap:12px}.card{padding:15px}.table-details{font-size:.95rem}.view-dashboard{padding-bottom:100px}.modal-content{margin:15% auto;width:95%;padding:20px}.table-actions{flex-direction:column}.table-actions button{width:100%}}@supports (padding-bottom: env(safe-area-inset-bottom)){.view-dashboard{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.map-container iframe{width:100%;height:300px;border-radius:var(--radius);border:none}.btn-instagram{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:99px;background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);color:#fff;text-decoration:none;font-weight:600;transition:transform .2s;font-family:var(--font-main)}.btn-instagram:hover{transform:scale(1.05)}#pullToRefresh{position:absolute;top:-60px;left:0;width:100%;height:60px;display:none;align-items:center;justify-content:center;gap:8px;padding:10px;color:#666;font-size:.9rem;background:#f8f9fa;border-bottom:1px solid #eee;transition:height .3s ease}#pullToRefresh .pull-icon{font-size:24px;transition:transform .3s}.pull-spinner{width:20px;height:20px;border:2px solid #ccc;border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;display:none}.spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;vertical-align:middle;margin-right:5px}#pullToRefresh.refreshing .pull-icon{display:none}#pullToRefresh.refreshing .pull-spinner{display:block}.loader-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;animation:fadeOut .5s ease-out .5s forwards}@keyframes fadeOut{to{opacity:0;pointer-events:none}}.loader-screen p{color:var(--primary-color);font-size:1.1rem;margin-top:20px;font-weight:500;letter-spacing:.5px}.loader-screen .spinner{width:60px;height:60px;animation:rotate 2s linear infinite}.loader-screen .spinner-path{stroke:var(--primary-color);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.pwa-install-prompt{position:fixed;bottom:24px;left:16px;right:16px;background:#ffffffd9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 10px 40px #00000026,0 0 0 1px #fff3;border-radius:20px;padding:16px;z-index:9999;animation:slideUp .5s cubic-bezier(.19,1,.22,1);display:flex;flex-direction:column;gap:16px}@keyframes slideUp{0%{transform:translateY(120%) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.pwa-header{display:flex;align-items:center;gap:16px;padding-right:24px}.pwa-icon{width:56px;height:56px;border-radius:14px;object-fit:cover;box-shadow:0 4px 12px #00000014}.pwa-text{flex:1;display:flex;flex-direction:column;justify-content:center;margin-bottom:10px}.pwa-text strong{font-size:1.05rem;color:#1a1a1a;font-weight:700;margin-bottom:2px;letter-spacing:-.01em}.pwa-text small{font-size:.85rem;color:#666;line-height:1.35;font-weight:500}.pwa-close-absolute{position:absolute;top:12px;right:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0000000d;border-radius:50%;color:#888;font-size:1.2rem;cursor:pointer;transition:all .2s ease;line-height:1}.pwa-close-absolute:hover{background:#0000001a;color:#333}.pwa-btn-install{width:100%;height:48px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;border-radius:14px;background:var(--primary-color);color:#fff;border:none;box-shadow:0 4px 12px #4a90e240;transition:transform .1s ease,box-shadow .2s ease}.pwa-btn-install:active{transform:scale(.97);box-shadow:0 2px 6px #4a90e233}.wrapped-banner{background:linear-gradient(135deg,#1a1a1a,#333);border-radius:12px;margin:15px;padding:1px;position:relative;box-shadow:0 4px 15px #0000001a;border:1px solid rgba(255,94,98,.3)}.banner-content{display:flex;align-items:center;padding:15px;cursor:pointer;background:#1a1a1a;border-radius:11px;gap:15px}.banner-icon{font-size:24px;animation:pulse 2s infinite ease-in-out}.banner-text{flex:1}.banner-text strong{display:block;color:#fff;font-size:1rem}.banner-text span{color:#aaa;font-size:.85rem}.banner-arrow{color:#ff5e62}.banner-close{position:absolute;top:5px;right:5px;background:none;border:none;color:#ffffff4d;font-size:20px;cursor:pointer;padding:5px}.banner-close:hover{color:#fff}@media (min-width: 768px){.pwa-install-prompt{left:auto;right:30px;bottom:30px;width:360px;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.styled-select{width:100%;padding:12px 40px 12px 16px;border:1px solid var(--gray-light);border-radius:var(--radius);font-size:16px;font-family:var(--font-main);color:var(--text-color);background-color:var(--white);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;cursor:pointer;line-height:normal;transition:all .2s ease}.styled-select:hover{border-color:#bbb}.styled-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f2555c26}.form-group .toggle-switch{display:flex!important;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:15px;margin-top:5px;margin-bottom:5px}.toggle-switch input{display:none}.toggle-slider{position:relative;width:48px;height:26px;background-color:#ccc;border-radius:34px;transition:background-color .3s ease;flex-shrink:0}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:4px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed;background-color:#ddd}.toggle-switch input:disabled~.toggle-label{opacity:.5;cursor:not-allowed}.toggle-label{font-size:.95rem;font-weight:500;color:var(--text-color);line-height:1.2}.wishlist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.wishlist-header h4{margin:0}.wishlist-count{background:var(--primary-color);color:#fff;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.wishlist-search-container{margin-bottom:20px}.wishlist-search-input{width:100%;padding:14px 20px;font-size:1rem;border:2px solid var(--gray-light);border-radius:12px;transition:all .3s;background:#fff}.wishlist-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #f2555c1a;outline:none}.wishlist-search-input::placeholder{color:#999}.wishlist-grid{display:grid;grid-template-columns:1fr;gap:15px;margin-top:20px}@media (min-width: 768px){.wishlist-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}}.wishlist-item{display:flex;align-items:center;gap:15px;padding:20px;background:#fafafa;border:1px solid rgba(0,0,0,.05);border-radius:16px;box-shadow:0 2px 5px #00000005;transition:all .2s ease;position:relative;overflow:hidden}@media (max-width: 767px){.wishlist-item{grid-template-columns:70px 1fr auto;grid-template-rows:auto auto;gap:12px;padding:15px;align-items:center}.wishlist-game-info{display:contents}.wishlist-game-info h5{grid-column:1 / -1;grid-row:1;font-size:1.3rem;margin-bottom:5px;line-height:1.2;white-space:normal}.wishlist-game-image,.wishlist-game-image-placeholder{grid-column:1;grid-row:2;width:70px!important;height:70px!important;margin:0}.wishlist-game-meta{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:8px}.btn-remove-wishlist{grid-column:3;grid-row:2;margin-left:auto}.view-history h3{margin-top:25px;margin-bottom:20px;text-align:center}}.wishlist-game-image{width:80px;height:80px;object-fit:cover;border-radius:12px;flex-shrink:0}.wishlist-game-image-placeholder{width:80px;height:80px;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.wishlist-game-info{flex:1;min-width:0}.wishlist-game-info h5{margin:0 0 5px;font-size:1rem;color:var(--text-color);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wishlist-game-meta{display:flex;gap:10px;flex-wrap:wrap}.wishlist-game-meta span{display:inline-block;font-size:.75rem;color:#666;background:#f5f5f5;padding:2px 8px;border-radius:6px}.btn-remove-wishlist{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;transition:all .2s;flex-shrink:0}.btn-remove-wishlist:hover{background:#e74c3c1a;transform:scale(1.1)}.btn-remove-wishlist .remove-icon{font-size:1.2rem;display:block}.wishlist-empty{text-align:center;padding:40px 20px;color:#888}.wishlist-empty .empty-icon{font-size:3rem;margin-bottom:15px;opacity:.5}.wishlist-empty p{font-size:1.1rem;font-weight:600;margin:0 0 8px;color:#666}.wishlist-empty small{color:#999}.view-public-tables{min-height:100vh;background:var(--bg-color)}.public-header{background:var(--white);padding:30px 20px;text-align:center;box-shadow:0 4px 10px #0000000d;margin-bottom:20px}.update-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--white);color:var(--text-color);padding:24px;border-radius:16px;box-shadow:0 10px 40px #00000040;z-index:10000;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;width:90%;max-width:340px;border-top:5px solid var(--primary-color);animation:slideUpToast .4s cubic-bezier(.175,.885,.32,1.275)}.update-toast-icon{font-size:24px}.update-toast-content{flex:1}.update-toast-title{font-weight:800;margin-bottom:4px;color:var(--primary-color);font-size:1.1rem;width:100%}.update-toast-message{font-size:.85rem;color:#666}.update-toast-actions{display:flex;justify-content:center;width:100%;margin-top:5px}.btn-update-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:5px;line-height:1}.btn-update-close:hover{color:var(--text-color)}.btn-update{background:var(--primary-color);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-update:hover{background:#d43f46}.btn-update-close{background:transparent;border:none;color:#999;font-size:1.2rem;cursor:pointer;line-height:1;padding:5px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.btn-update-close:hover{background:#f0f0f0;color:#666}@keyframes slideUpToast{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}.public-header h1{font-size:1.4rem;margin-bottom:5px}.public-header .subtitle{color:#666;font-size:.95rem}.public-logo{width:100px;height:100px;cursor:pointer;transition:transform .2s ease}.public-logo:hover{transform:scale(1.05)}.public-footer{text-align:center;padding:40px 20px}.public-footer p{margin-bottom:15px;color:#666}.desktop-only{display:none!important}@media (min-width: 1024px){.mobile-only{display:none!important}.desktop-only{display:flex!important}body{background-color:#f0f2f5;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;align-items:center;padding:20px 0}#app{width:100%;max-width:1200px;margin:0 auto;min-height:calc(100vh - 40px);background-color:var(--white);border-radius:24px;box-shadow:0 25px 80px #00000014;overflow:hidden;position:relative}#global-banner-container{width:100%;max-width:1200px;margin-bottom:20px}.admin-banner{border-radius:12px;box-shadow:0 10px 30px #0000001a;padding:15px;font-size:1.1rem}.app-header{position:sticky;top:0;z-index:100;padding:0 40px;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.04);display:flex;justify-content:space-between;align-items:center;height:80px}.desktop-brand{display:flex;align-items:center;gap:15px;font-weight:800;font-size:1.5rem;color:var(--primary-color);letter-spacing:-.5px;cursor:pointer}.desktop-logo{width:42px;height:42px}.desktop-nav{display:flex;gap:8px;position:absolute;left:50%;transform:translate(-50%);background:#f1f3f5;padding:6px;border-radius:14px}.nav-link{text-decoration:none;color:#555;font-weight:600;font-size:.95rem;padding:10px 24px;border-radius:10px;transition:all .2s cubic-bezier(.25,.8,.25,1)}.nav-link:hover{color:var(--primary-color);background:#fff9}.nav-link.active{color:var(--primary-color);background:#fff;box-shadow:0 4px 12px #0000000f}.desktop-user{display:flex;align-items:center;gap:20px;font-weight:600}main{max-width:1400px;margin:0 auto}.actions-bar{padding:0 0 30px!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.actions-bar h3{font-size:2.2rem!important;letter-spacing:-.5px}.table-actions{display:flex!important;flex-direction:row!important}.tables-grid{grid-template-columns:repeat(3,1fr)!important;gap:30px!important;padding:0!important}.table-card{height:100%;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.03)}.table-details{flex-grow:1}.history-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-height:600px;overflow-y:auto;overflow-x:visible;scroll-snap-type:none;flex-direction:column;padding:0 10px 0 0}.history-card{flex:none;width:100%;scroll-snap-align:none}.stats-container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stats-row{display:contents}.stats-row .card{width:auto;padding:25px}.stats-row.full-width{grid-column:span 1}.history-title{text-align:left;font-size:1.8rem;margin-top:40px}.profile-container{grid-template-columns:320px 1fr!important;gap:80px!important;padding:0 40px!important;align-items:start;max-width:1000px!important;margin:0 auto!important}.btn-admin-area{display:none!important}.profile-card{max-width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;display:contents!important;background:transparent!important}.profile-header{grid-column:1;grid-row:1;background:#fff;padding:40px;border-radius:24px;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 30px #00000008;position:sticky;top:100px;height:fit-content;text-align:center}.profile-form{grid-column:2;grid-row:1;background:#fff;padding:40px;border-radius:24px;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 30px #00000008}.view-admin .profile-container{display:block!important;max-width:800px!important}.profile-wishlist-section{display:block!important;grid-column:1 / -1;margin-top:40px;background:transparent!important;padding:0!important;box-shadow:none!important;border:none!important;width:100%}.profile-wishlist-section .wishlist-header{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:20px}.profile-wishlist-section .wishlist-header h4{margin:0;font-size:1.5rem}.profile-wishlist-section p{text-align:center;max-width:600px;margin:0 auto 30px}.profile-wishlist-section .wishlist-search-container{display:flex;justify-content:center;width:100%;margin-bottom:40px}.profile-wishlist-section .autocomplete-wrapper{width:100%;max-width:600px}.profile-wishlist-section .wishlist-search-input{padding:16px 24px;font-size:1.1rem;border-radius:50px;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(0,0,0,.08)}.profile-wishlist-section .wishlist-grid{gap:24px}.view-admin .profile-card{display:block!important;background:#fff!important;padding:30px!important;border-radius:24px!important;box-shadow:0 10px 30px #00000008!important;margin-bottom:30px!important;border:1px solid rgba(0,0,0,.05)!important}#wishlistItems{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.view-home{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px;gap:60px}.view-home .hero{text-align:center;padding:0;background:transparent;box-shadow:none;border-radius:0;margin-bottom:0}.logo-container{display:flex;flex-direction:column;align-items:center}.app-logo{margin:0 0 30px;max-width:300px}.view-home .hero .subtitle{font-size:1.8rem;margin-bottom:40px}.view-home .hero-actions{align-items:center;justify-content:center;flex-direction:row;gap:20px}.view-home .info-section{padding:0;max-width:800px;display:flex;flex-direction:column;gap:40px;width:100%;margin:0 auto}.view-home .card{text-align:center}.map-container iframe{height:450px}.modal{display:none}.modal-content{max-width:500px;border-radius:24px;padding:40px;box-shadow:0 30px 90px #00000040;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.public-header{padding:50px;background:transparent;box-shadow:none}.view-public-tables .tables-grid{padding:0 50px!important}}.complexity-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:700;color:#fff;font-size:.85rem}.complexity-low{background-color:#2ecc71}.complexity-medium-low{background-color:#f1c40f;color:#333}.complexity-medium{background-color:#e67e22}.accordion-header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:10px 0;-webkit-user-select:none;user-select:none}.accordion-header:hover{color:var(--primary-color)}.accordion-content{max-height:500px;overflow:hidden;transition:max-height .3s ease-out}.accordion-content.collapsed{max-height:0}.accordion-arrow{transition:transform .3s ease}.accordion-header.collapsed .accordion-arrow{transform:rotate(-90deg)}.complexity-high{background-color:#8e44ad}.view-legal{padding-bottom:80px}.legal-container{padding:30px 20px;max-width:800px;margin:20px auto 40px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.legal-container h1{font-size:2rem;color:var(--primary-color);margin-bottom:10px}.legal-container section{margin-bottom:30px}.legal-container h2{font-size:1.4rem;margin-bottom:15px;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.legal-container h3{font-size:1.1rem;margin-top:20px;margin-bottom:10px;color:#555}.legal-container p,.legal-container ul{margin-bottom:15px;color:#555;line-height:1.7}.legal-container ul{padding-left:20px}.legal-container li{margin-bottom:8px}.app-global-footer{text-align:center;padding:30px 20px calc(30px + env(safe-area-inset-bottom)) 20px;margin-top:40px;border-top:1px solid rgba(0,0,0,.05)}.footer-links{margin-bottom:10px}.footer-links a{color:#666;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.footer-links a:hover{color:var(--primary-color)}.footer-links .separator{margin:0 10px;color:#ccc}.app-version{color:#999;font-size:.75rem}.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;background:#fff;border-radius:16px;padding:20px;box-shadow:0 10px 40px #00000026;z-index:9999;border:1px solid rgba(0,0,0,.05);max-width:500px;margin:0 auto}@media (min-width: 768px){.cookie-banner{right:20px;left:auto;width:400px}}.cookie-content h3{margin-bottom:10px;font-size:1.1rem;display:flex;align-items:center;gap:8px}.cookie-content p{font-size:.9rem;color:#666;margin-bottom:20px;line-height:1.5}.cookie-content a{color:var(--primary-color);text-decoration:underline}.cookie-actions{display:flex;gap:10px;justify-content:flex-end}.cookie-banner.fade-out{animation:fadeOutDown .5s forwards}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:15px;color:#666;font-weight:500}.spinner{width:40px;height:40px;border:4px solid rgba(242,85,92,.1);border-left-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fullscreen-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;gap:20px;opacity:0;animation:overlayFadeIn .25s ease forwards}.fullscreen-loading-overlay .spinner{width:56px;height:56px;border-width:5px;border-color:#fff3;border-left-color:#fff}.fullscreen-loading-overlay .loading-message{color:#fff;font-size:1.05rem;font-weight:600;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.3)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.preferences-section{margin-bottom:20px;background:linear-gradient(135deg,#fff,#fefefe)}.preferences-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.preferences-header h4{margin-bottom:0;color:var(--primary-color);font-size:1.2rem}.user-stats-grid{display:grid;gap:20px}.complexity-container{background:var(--bg-color);padding:15px;border-radius:var(--radius);text-align:center;display:flex;flex-direction:column;justify-content:center;min-width:140px}.complexity-value{font-size:2.5rem;font-weight:800;color:var(--text-color);line-height:1}.complexity-label{font-size:.85rem;color:#666;margin-bottom:10px;display:block;font-weight:600}.complexity-bar-bg{height:8px;background:#e0e0e0;border-radius:4px;margin-top:5px;overflow:hidden;width:100%;position:relative}.complexity-bar-fill{height:100%;background:linear-gradient(90deg,#2ecc71,#f39c12,#c0392b);border-radius:4px;width:0%;transition:width 1s ease-out}.pref-lists-column{display:flex;flex-direction:column;gap:15px}.pref-group{margin-bottom:5px}.pref-list-title{font-size:.8rem;font-weight:700;margin-bottom:8px;color:#888;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.pref-chips-container{display:flex;flex-wrap:wrap;gap:8px}.pref-chip{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:6px;background:var(--white);border:1px solid var(--gray-light);box-shadow:0 1px 2px #0000000d;transition:transform .2s}.pref-chip:hover{transform:translateY(-2px)}.pref-chip .count{background:#0000000d;color:#555;border-radius:10px;padding:2px 6px;font-size:.75rem;font-weight:700;min-width:20px;text-align:center}.mechanic-chip{border-color:#b3e5fc;background:#e1f5fe;color:#0277bd}.mechanic-chip .count{background:#0277bd1a;color:#01579b}.category-chip{border-color:#ffe0b2;background:#fff3e0;color:#ef6c00}.category-chip .count{background:#ef6c001a;color:#e65100}.empty-stats{text-align:center;padding:30px;color:#999;background:#fafafa;border-radius:var(--radius);border:2px dashed #eee}.empty-stats i{font-size:2rem;margin-bottom:10px;display:block;opacity:.5}.btn-icon-small{background:none;border:none;color:#999;cursor:pointer;font-size:1rem;padding:5px;transition:color .2s,transform .3s}.btn-icon-small:hover{color:var(--primary-color);transform:rotate(90deg)}@media (min-width: 768px){.user-stats-grid{grid-template-columns:200px 1fr}}.accordion-item{background:var(--white);border-radius:var(--radius);margin-bottom:15px;box-shadow:var(--shadow);overflow:hidden;transition:all .3s}.accordion-header{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:#fff;border-bottom:1px solid transparent;-webkit-user-select:none;user-select:none}.accordion-header h4{margin:0;font-size:1.1rem;color:var(--text-color);display:flex;align-items:center;gap:10px;font-weight:600}.accordion-header h4 i{color:var(--primary-color);font-size:1.1rem;width:24px;text-align:center}.accordion-content{max-height:0;overflow:hidden;transition:max-height .4s ease-out,padding .3s ease,opacity .3s ease;padding:0 20px;opacity:0}.accordion-item.open .accordion-header{border-bottom:1px solid #f0f0f0;background:#fafafa}.accordion-item.open .accordion-header h4{color:var(--primary-color)}.accordion-item.open .accordion-content{max-height:3000px;padding:20px;opacity:1}.accordion-header .chevron{transition:transform .3s;color:#ccc}.accordion-item.open .accordion-header .chevron{transform:rotate(180deg);color:var(--primary-color)}.accordion-content .stats-container,.accordion-content .user-stats-grid,.accordion-content .history-list{margin:0;padding:0}@media (max-width: 768px){.accordion-header,.accordion-item.open .accordion-content{padding:15px}}.recommendations-section{margin-bottom:25px;animation:fadeIn .5s ease-out}.recommendations-header h4{margin:0 0 12px 15px;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;color:var(--primary-color);font-weight:700;display:flex;align-items:center;gap:8px}.recommendations-scroll{display:flex;overflow-x:auto;gap:12px;padding:5px 15px 15px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-padding-left:15px}.recommendations-scroll::-webkit-scrollbar{display:none}.recommendation-card{flex:0 0 calc(100vw - 100px);background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:15px;scroll-snap-align:start;scroll-snap-stop:always;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}@media (min-width: 768px){.recommendations-scroll{flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none}.recommendation-card{flex:0 0 260px;scroll-snap-align:none}}.recommendation-card:active{transform:scale(.98)}.rec-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.rec-title{font-weight:700;font-size:1rem;color:var(--text-color);margin:0;line-height:1.3}.rec-score-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3px 8px;border-radius:20px;font-size:.7rem;font-weight:700;box-shadow:0 2px 4px #764ba24d;white-space:nowrap}.rec-reason{font-size:.75rem;color:#666;margin-bottom:12px;display:flex;align-items:center;gap:5px}.rec-reason .btn-xs{padding:4px 10px;font-size:.75rem;border-radius:4px;display:inline-flex;align-items:center;gap:4px}.history-card .btn-remove-history{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background-color:#ffffffe6;border:1px solid rgba(0,0,0,.08);color:#999;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 5px #0000000d;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:20;padding:0}.history-card .btn-remove-history:hover{color:var(--danger);background-color:#fff;border-color:var(--danger);box-shadow:0 4px 8px #e74c3c40;transform:scale(1.1)}.history-card .btn-remove-history:active{transform:scale(.95)}.history-card .btn-remove-history i{font-size:.9rem}@media (display-mode: standalone){.app-header{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);padding-top:max(15px,env(safe-area-inset-top));padding-bottom:15px}}#seo-content{position:absolute;left:-9999px}.admin-stats-container{display:flex;gap:15px;padding:0 20px 20px}.stats-card{flex:1;background:var(--white);border-radius:var(--radius);padding:15px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stats-value{font-size:1.5rem;font-weight:800;color:var(--primary-color);line-height:1.2}.stats-label{font-size:.85rem;color:#666;font-weight:500}.side-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:9000;opacity:0;transition:opacity .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none}.side-menu-overlay:not(.hidden){display:block}.side-menu-overlay.visible{opacity:1}.side-menu{position:fixed;top:0;left:0;width:280px;height:100%;background:var(--white);z-index:9001;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a}.side-menu.open{transform:translate(0)}.side-menu-header{padding:24px 20px;background:linear-gradient(135deg,var(--primary-color),#c0392b);color:#fff}.side-menu-user-info{display:flex;align-items:center;gap:15px}.side-menu-user-info .avatar-md{width:50px;height:50px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:#fff}.side-menu-user-info .user-details{display:flex;flex-direction:column}.side-menu-user-info .username{font-size:1.1rem;font-weight:700}.side-menu-user-info .user-role{font-size:.85rem;opacity:.9}.side-menu-nav{flex:1;padding:10px 0;overflow-y:auto}.side-menu-item{display:flex;align-items:center;gap:15px;padding:15px 24px;color:var(--text-color);text-decoration:none;font-weight:500;transition:background .2s;font-size:1rem}.side-menu-item i{width:24px;text-align:center;color:#666;font-size:1.1rem}.side-menu-item:hover,.side-menu-item:active,.side-menu-item.active{background-color:#0000000d;color:var(--primary-color)}.side-menu-item:hover i{color:var(--primary-color)}.side-menu-divider{height:1px;background-color:var(--gray-light);margin:10px 20px}.side-menu-footer{padding:0;border-top:1px solid var(--gray-light)}.side-menu-item.logout{color:var(--danger);width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.side-menu-item.logout i{color:var(--danger)}.profile-container{padding:20px;max-width:600px;margin:0 auto}.tessera-card{background:linear-gradient(135deg,#fff,#f7f9fc);border-radius:16px;box-shadow:0 10px 30px #0000001a,0 1px 3px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden;position:relative;padding:25px;margin-top:20px;display:flex;flex-direction:column;justify-content:space-between}.tessera-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(#e0e0e0 1px,transparent 1px);background-size:20px 20px;opacity:.3;pointer-events:none}.tessera-header{display:flex;align-items:center;gap:15px;padding-bottom:15px;border-bottom:2px solid var(--primary-color);position:relative;z-index:1}.tessera-logo{width:40px;height:40px}.tessera-title{font-size:1.2rem;font-weight:800;color:var(--text-color);text-transform:uppercase;letter-spacing:1px}.tessera-body{flex:1;display:flex;justify-content:space-between;align-items:center;padding:20px 0;position:relative;z-index:1}.tessera-user-info{display:flex;flex-direction:column;gap:5px}.tessera-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.tessera-value{font-size:1.1rem;font-weight:600;color:#2c3e50;margin-bottom:15px}.tessera-status-container{margin-top:10px}.status-badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-active{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-inactive{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.tessera-content-columns{width:100%;display:flex;justify-content:space-between;align-items:center;gap:15px}.tessera-left-col{flex:1;padding-right:20px}.tessera-right-col{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center}.tessera-qrcode{padding:10px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.tessera-qrcode img{display:block}@media (max-width: 480px){.tessera-card{padding:20px 15px}.tessera-value{font-size:.95rem;margin-bottom:10px}.tessera-content-columns{gap:10px}.tessera-right-col{margin-top:0;justify-content:flex-end}}.tessera-footer{display:flex;justify-content:flex-end;font-size:.8rem;color:#aaa;position:relative;z-index:1;font-family:monospace}.mobile-logo{height:45px;vertical-align:middle}.hamburger-btn{font-size:1.4rem;padding:5px;color:var(--text-color)}.view-settings .settings-card{padding:20px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.view-dashboard,.view-profile,.view-history,.view-settings,.view-public-tables,.view-ludoteca,.view-admin{display:flex;flex-direction:column;min-height:100vh}.view-dashboard main,.view-profile main,.view-history main,.view-settings main,.view-public-tables main,.view-ludoteca main,.view-admin main{flex:1;display:flex;flex-direction:column;width:100%}.app-global-footer{margin-top:auto;width:100%}@media (min-width: 768px){.profile-container{display:flex;flex-direction:column;justify-content:flex-start;padding-top:40px;max-width:1200px}.profile-card-container{display:flex;justify-content:center;width:100%}.tessera-card{width:100%;max-width:100%;padding:35px}.tessera-user-info{display:grid;grid-template-columns:140px 1fr;column-gap:25px;row-gap:15px;align-items:center}.tessera-label{margin-bottom:0;text-align:right;font-weight:500;align-self:center;font-size:.85rem}.tessera-value{margin-bottom:0;text-align:left;align-self:center;font-size:1.15rem}}.market-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;margin-top:10px}.filters-container{background:#fff;padding:15px;border-radius:var(--radius);box-shadow:0 2px 5px #0000000d;margin-bottom:20px;display:flex;gap:15px;flex-wrap:wrap;align-items:center}.toggle-group{display:flex;align-items:center;gap:10px}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:40px}.market-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,opacity .2s;border:1px solid rgba(0,0,0,.05)}.market-card:hover{transform:translateY(-3px);box-shadow:0 8px 15px #0000001a}.market-card.sold{opacity:.7;filter:grayscale(.5)}.market-card-image{height:160px;background-size:cover;background-position:center;background-color:#f0f0f0;position:relative;padding:10px;display:flex;align-items:flex-start;justify-content:flex-end}.market-card-body{padding:15px}.market-card h4{margin-bottom:5px;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-price{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:5px}.market-meta{font-size:.85rem;color:#666;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:8px}.market-seller{font-size:.85rem;margin-bottom:8px;color:#333}.market-desc{font-size:.9rem;color:#555;margin-bottom:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.6em}.market-actions{margin-top:auto}.seller-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.interest-badge{color:var(--primary-color);font-weight:700;font-size:.8rem;background:#ce2b371a;padding:2px 8px;border-radius:10px;margin-left:auto}.bgg-link{font-size:.8rem;color:#3f51b5;text-decoration:none;display:inline-block;margin-bottom:10px}.autocomplete-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;display:none;box-shadow:0 4px 6px #0000001a}.autocomplete-item{padding:10px;cursor:pointer;display:flex;align-items:center;gap:10px;border-bottom:1px solid #eee}.autocomplete-item:hover{background:#f5f5f5}.autocomplete-item:last-child{border-bottom:none}.view-market{padding-bottom:80px}.filters-container{background:#fff;padding:15px 20px;margin:0 20px 20px;border-radius:12px;box-shadow:0 2px 8px #0000000a;border:1px solid rgba(0,0,0,.04);display:flex;flex-wrap:wrap;gap:15px;align-items:center}.filters-container .styled-select{flex:0 1 200px;min-width:150px;height:40px;border:1px solid var(--gray-light);border-radius:8px;padding:0 10px}.filters-container .checkbox-item{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:var(--text-color);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0 5px}.filters-container .checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer}@media (max-width: 767px){.filters-container{flex-direction:column;align-items:stretch;gap:12px;padding:15px}.filters-container .styled-select{flex:1;width:100%;max-width:100%;padding:10px}.filters-container .checkbox-item{width:100%;padding:5px 0}}.market-grid{display:grid;grid-template-columns:1fr;gap:20px;padding:0 20px}.market-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.market-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.market-card.sold{opacity:.8}.market-card.sold .market-card-image{filter:grayscale(100%)}.market-card-image{height:200px;width:100%;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.market-card-image .badge{position:absolute;top:10px;right:10px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;box-shadow:0 2px 5px #0003}.badge-success{background-color:var(--success)}.badge-public-event{background-color:#c9f0ff}.badge-danger{background-color:var(--danger)}.badge-secondary{background-color:#e3e3e3}.badge-vendo{background-color:#ff6767;color:#fff;border-radius:12px;padding:2px 4px}.badge-cerca{background-color:#2393f5;color:#fff}.market-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.market-card-body h4{font-size:1.1rem;margin:0 0 5px;color:var(--text-color);font-weight:700;line-height:1.3}.market-price{font-size:1.25rem;font-weight:800;color:var(--primary-color);margin-bottom:10px}.market-meta{display:flex;gap:8px;align-items:center;font-size:.85rem;color:#888;margin-bottom:5px;flex-wrap:wrap}.market-seller{font-size:.85rem;color:#555;margin-bottom:15px}.market-desc{font-size:.9rem;color:#666;line-height:1.5;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.bgg-link{color:#3f3da3;font-weight:600;font-size:.85rem;margin-bottom:15px;display:inline-block;text-decoration:none}.bgg-link:hover{text-decoration:underline}.market-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}.seller-actions{display:flex;gap:8px;width:100%;flex-wrap:wrap}.interest-badge{width:100%;background:#e3f2fd;color:#1565c0;padding:8px;border-radius:8px;text-align:center;font-size:.85rem;font-weight:600;margin-top:10px}@media (min-width: 480px){.market-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (min-width: 1024px){.view-market .container{padding:40px!important;max-width:1400px;margin:0 auto}.market-header,.filters-container{padding:0 0 30px}.market-grid{padding:0;gap:30px;grid-template-columns:repeat(4,1fr)}}.market-game-info{display:flex;gap:12px;font-size:.8rem;color:#666;margin-bottom:15px;background:#f8f9fa;padding:8px 12px;border-radius:8px;border:1px solid #eee}.market-game-info span{display:flex;align-items:center;gap:5px}.market-game-info i{color:var(--primary-color);opacity:.8}.meta-pill{background:#f1f3f5;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;color:#555;display:inline-flex;align-items:center;gap:5px}.market-card-header-no-img{padding:15px;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:flex-end}.market-filters{background:var(--white);padding:20px;border-radius:var(--radius);box-shadow:0 4px 15px #0000000d;margin-bottom:25px;border:1px solid rgba(0,0,0,.05)}.market-filters h3{margin-bottom:15px;color:var(--primary-color);font-size:1.2rem;border-bottom:2px solid rgba(242,85,92,.1);padding-bottom:10px}.filter-group{margin-bottom:20px}.filter-group label{display:block;font-weight:600;margin-bottom:10px;color:var(--text-color);font-size:.95rem}.checkbox-group{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 0}.bgg-checkbox-container input[type=checkbox]{padding:12px!important}.checkbox-group input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:2px solid var(--primary-color);border-radius:6px;cursor:pointer;position:relative;transition:all .2s ease;background:#fff;margin:0;flex-shrink:0}.checkbox-group input[type=checkbox]:checked{background-color:var(--primary-color)}.checkbox-group input[type=checkbox]:checked:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:14px;color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-group label{margin:0;cursor:pointer;font-weight:600;font-size:1rem;color:var(--text-color)}.checkbox-group.scrollable{max-height:150px;overflow-y:auto;padding:5px;border:1px solid var(--gray-light);border-radius:8px;background:#fafafa}.checkbox-item{display:flex;align-items:center;gap:8px;background:var(--white);padding:6px 12px;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.checkbox-item:hover{border-color:var(--primary-color);background:#fff5f5}.checkbox-item input[type=checkbox]{accent-color:var(--primary-color);width:22px;height:22px;cursor:pointer;flex-shrink:0}.price-inputs{display:flex;align-items:center;gap:10px}.price-inputs input{width:100%;padding:8px 12px;border:1px solid var(--gray-light);border-radius:8px;font-size:.9rem}.filters-actions{display:flex;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--gray-light)}.filters-actions button{flex:1}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.market-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.05)}.market-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a}.market-card-image{width:100%;height:180px;object-fit:cover}.market-card-placeholder{width:100%;height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:#999;font-size:3rem}.market-card-body{padding:15px;flex:1;display:flex;flex-direction:column}.market-card-body h4{margin:0 0 5px;font-size:1.1rem;color:var(--text-color)}.market-price{font-size:1.2rem;font-weight:800;color:var(--primary-color);margin-bottom:10px}.market-meta{font-size:.85rem;color:#666;margin-bottom:15px;display:flex;flex-wrap:wrap;gap:8px}.market-meta span{background:#f5f5f5;padding:2px 8px;border-radius:4px}.market-card-footer{padding:15px;border-top:1px solid rgba(0,0,0,.05);background:#fafafa;display:flex;justify-content:space-between;align-items:center}.seller-info{font-size:.85rem;font-weight:600;color:#555;display:flex;align-items:center;gap:6px}.market-empty{text-align:center;padding:40px;color:#888;background:var(--white);border-radius:var(--radius);grid-column:1 / -1}.market-empty i{font-size:3rem;margin-bottom:15px;opacity:.5}.market-card.compact{flex-direction:row!important;cursor:pointer;align-items:stretch!important;min-height:100px;height:auto!important}.market-card.compact .market-card-image,.market-card.compact .market-card-header-no-img{width:100px!important;min-height:100px!important;min-width:100px!important;max-width:100px!important;flex-shrink:0;border-radius:0!important;margin:0!important;align-self:stretch;background-size:cover!important;background-repeat:no-repeat!important;background-position:center!important}.market-card.compact .market-card-header-no-img{display:flex;align-items:center;justify-content:center;background-color:#f0f0f0}.market-card.compact .market-card-body{padding:15px;width:100%;display:block!important}.market-card.compact .market-card-header-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:5px}.market-card.compact .market-main-info{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;padding-right:10px}.market-card.compact .market-main-info h4{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.market-card.compact .market-price-column{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;margin-left:10px;gap:5px}.market-card.compact .compact-status{width:fit-content;font-size:.7rem;padding:4px 8px;border-radius:12px;font-weight:700}.market-card.compact .market-main-info h4 .badge{border-radius:12px;padding:2px 4px}.market-card.compact .market-price{margin-bottom:0;font-size:1.1rem;white-space:nowrap;flex-shrink:0}.market-card.compact .market-details-wrapper{display:none;margin-top:15px;border-top:1px solid #eee;padding-top:15px;animation:fadeIn .3s ease}.market-card.compact.expanded{cursor:default;display:grid!important;grid-template-columns:100px 1fr;grid-template-rows:auto auto;align-items:start!important;flex-wrap:nowrap!important;height:auto!important;overflow:visible}.market-card.compact.expanded .market-card-image,.market-card.compact.expanded .market-card-header-no-img{grid-column:1;grid-row:1;height:100px!important;width:100px!important;min-width:100px!important;max-width:100px!important;margin:0!important;align-self:start!important}.market-card.compact.expanded .market-card-body{display:contents!important}.market-card.compact.expanded .market-card-header-row{grid-column:2;grid-row:1;display:flex;justify-content:space-between;align-items:flex-start;padding:15px}.market-card.compact.expanded .market-details-wrapper{grid-column:1 / -1;grid-row:2;display:block;width:100%;margin-top:10px;padding:0 15px 15px;border-top:none}@media (max-width: 480px){.market-card.compact{height:80px!important}.market-card.compact.expanded{height:auto!important}.market-card.compact .market-card-image,.market-card.compact .market-card-header-no-img{width:80px!important;height:80px!important;min-width:80px!important;max-width:80px!important}.market-card.compact.expanded{grid-template-columns:80px 1fr}.market-card.compact.expanded .market-card-image,.market-card.compact.expanded .market-card-header-no-img{height:80px!important;width:80px!important;min-width:80px!important}.market-card.compact .market-card-body{padding:10px}.market-card.compact h4{font-size:1rem}}.side-menu .menu-badge{background-color:var(--primary-color);color:#fff;font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:12px;margin-left:auto;min-width:18px;text-align:center;line-height:1.2;box-shadow:0 2px 4px #f2555c66}.desktop-nav .menu-badge{background-color:var(--primary-color);color:#fff;font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:12px;margin-left:5px;min-width:18px;text-align:center;line-height:1.2;box-shadow:0 2px 4px #f2555c66;vertical-align:middle}.radio-group{display:flex;gap:20px;margin-top:8px;align-items:center}.radio-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:1rem;color:var(--text-color);line-height:normal}.radio-label input[type=radio]{margin:0;width:20px;height:20px;accent-color:var(--primary-color);cursor:pointer;background-color:transparent;vertical-align:middle;position:relative;top:-1px}.error-state{text-align:center}.admin-card-actions{margin-bottom:10px}#subscribeUserModal .modal-content,#subscribeUserModal form{overflow:visible!important}#subscribeUserModal .autocomplete-items{max-height:200px;z-index:9999}.view-public-events{padding-bottom:60px;background-color:var(--bg-color);min-height:100vh}.events-container{padding:20px;max-width:800px;margin:0 auto}.events-grid{display:grid;gap:20px}.event-card-public{display:flex;gap:20px;align-items:center;flex-direction:column;text-align:center}.event-date-badge{display:flex;flex-direction:column;align-items:center;background-color:var(--white);border:1px solid var(--gray-light);border-radius:12px;padding:10px;min-width:70px;text-align:center;box-shadow:0 2px 5px #0000000d}.event-date-badge .day{font-size:1.8rem;font-weight:800;color:var(--primary-color);line-height:1}.event-date-badge .month{font-size:.9rem;font-weight:700;text-transform:uppercase;color:var(--text-color)}.event-time-badge{flex-basis:auto;padding:10px 5px;border-top:1px solid var(--gray-light);font-size:.8rem;font-weight:700;color:var(--primary-color);width:calc(100% + 20px);margin-left:-10px;margin-right:-10px;background-color:#f8f9fa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;text-align:center}.event-details{width:100%;display:flex;flex-direction:column;align-items:center}.event-header-info{font-size:.85rem;color:#666;margin-bottom:5px;display:flex;gap:8px;font-weight:500;justify-content:center}.event-title{font-size:1.5rem;color:var(--text-color);margin-bottom:10px;line-height:1.3}.event-meta{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;font-size:.95rem;color:#555;justify-content:center}.meta-item{align-items:center;gap:6px}.meta-item i{color:var(--primary-color);font-size:.9rem}.event-description{background-color:#f9f9f9;padding:10px;border-radius:8px;font-size:.95rem;color:#444;margin-bottom:15px;line-height:1.5}.event-badges{display:flex;flex-wrap:wrap;gap:8px}.badge-public{background-color:var(--gray-light);color:#333;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.loader-container{text-align:center;padding:40px;display:flex;flex-direction:column;align-items:center;gap:15px;color:#666}.loader{border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{text-align:center;padding:40px 20px;color:#d32f2f;display:flex;flex-direction:column;align-items:center}.error-container i{font-size:3rem;margin-bottom:15px;color:#e57373}.empty-state{text-align:center;padding:40px;color:#888}.empty-state i{font-size:3rem;margin-bottom:15px;color:#ccc}@media (max-width: 600px){.event-card-public{flex-direction:column;gap:15px;margin-left:20px;margin-right:20px}.event-date-badge{flex-direction:row;flex-wrap:wrap;width:100%;justify-content:center;gap:10px;min-height:auto;padding:5px}.event-time-badge{flex-basis:100%}.event-date-badge .day,.event-date-badge .month{font-size:1.2rem}}@media (min-width: 768px){.event-card-public{max-width:500px;width:100%;margin-top:10px;margin-left:auto;margin-right:auto;padding:20px;justify-self:center}}.glass-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 15px #0000000d;border-radius:12px}.event-card{display:flex;flex-direction:column;padding:20px;gap:15px;position:relative;border-left:5px solid var(--primary-color);transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.event-card.past{border-left-color:#999;opacity:.8}.event-summary{cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;width:100%}.event-summary-top{width:100%;display:flex;justify-content:center;margin-bottom:10px}.event-summary-bottom{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.event-title{font-size:1.5rem;font-weight:700;margin-bottom:5px;text-align:center;color:var(--text-color)}.event-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.expand-icon{position:absolute;top:0;right:0;color:#999;transition:transform .3s}.event-card.expanded .expand-icon{transform:rotate(180deg)}.event-calendar-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden;box-shadow:0 2px 5px #0000000d}.calendar-main-info{display:flex;flex-direction:column;align-items:center;width:100%}.calendar-month{background:var(--primary-color);color:#fff;width:100%;text-align:center;font-size:.8rem;font-weight:700;padding:4px 0;text-transform:uppercase}.calendar-day{font-size:1.8rem;font-weight:700;color:#333;line-height:1.2;padding-top:5px}.calendar-year{font-size:.7rem;color:#666;font-weight:600;line-height:1;margin-top:2px;padding-bottom:5px;border-top:1px solid #eee;width:100%;text-align:center}.calendar-weekday{font-size:.8rem;color:#666;text-transform:capitalize;margin-bottom:2px;display:none}.calendar-weekday{display:block}.event-details-wrapper{display:none;margin-top:15px;padding-top:15px;border-top:1px solid #eee;animation:slideDown .3s ease-out}.event-card.expanded .event-details-wrapper{display:block}.event-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;font-size:.95rem;color:#555}.event-detail-item{display:flex;align-items:center;gap:8px}.event-detail-item i{color:var(--primary-color);width:20px;text-align:center}.event-description{margin-top:15px;background:#f9f9f9;padding:15px;border-radius:8px;font-size:.95rem;line-height:1.5;color:#444}.badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600}.badge-type,.badge-evento{background:#e3f2fd;color:#1976d2}.badge-festa{background:#fce4ec;color:#c2185b}.badge-torneo{background:#f3e5f5;color:#7b1fa2}.badge-riunione{background:#e0f2f1;color:#00796b}.badge-assemblea{background:#fff3e0;color:#e65100}.badge-lcg{background:#fffbd4;color:#69681e}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.matches-header-row{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:0 5px}.matches-header-row h3{margin:0;font-size:1.5rem;color:var(--primary-color);width:100%}.btn-full-width{width:100%;justify-content:center;display:flex;align-items:center;padding:12px!important}.filters-card{padding:0!important;margin-bottom:25px;overflow:hidden}.filters-header{padding:15px 20px;background:#fff;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;color:#555;-webkit-user-select:none;user-select:none;border-bottom:1px solid transparent;transition:border-color .3s}.filters-header:hover{background-color:#fcfcfc}.filters-header i{color:var(--primary-color)}.filters-body{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease;background:#fafafa;padding:0 20px}.filters-body.open{max-height:500px;padding:20px;border-top:1px solid #eee}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding-bottom:80px}.history-card{height:100%;display:flex;flex-direction:column;position:relative;padding:0!important;overflow:hidden;border:1px solid rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s}.history-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.history-card-inner{display:flex;flex-direction:column;height:100%}.history-game-img{width:100%;height:160px;object-fit:cover;display:block}.history-game-placeholder{width:100%;height:160px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem}.history-info{padding:15px;flex:1;display:flex;flex-direction:column}.history-info h4{margin:0 0 5px;font-size:1.1rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-color)}.history-meta{font-size:.85rem;color:#888;margin-bottom:15px;display:flex;align-items:center;gap:5px}.match-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.history-date-badge{position:absolute;top:10px;left:10px;background:#fffffff2;border-radius:8px;padding:6px 10px;text-align:center;box-shadow:0 4px 10px #0000001a;display:flex;flex-direction:column;min-width:50px;line-height:1;z-index:2}.history-date-day{font-size:1.2rem;font-weight:800;color:var(--primary-color)}.history-date-month{font-size:.7rem;text-transform:uppercase;font-weight:600;color:#333}.btn-remove-history{position:absolute;top:10px;right:10px;background:#ffffffe6;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#999;cursor:pointer;transition:all .2s;box-shadow:0 2px 5px #0000001a;z-index:2}.btn-remove-history:hover{background:var(--white);color:var(--danger);transform:scale(1.1)}.bgg-dot-success,.bgg-dot-error{position:absolute;top:138px;right:10px;width:14px;height:14px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003;z-index:2}.bgg-dot-success{background-color:var(--success)}.bgg-dot-error{background-color:var(--danger)}.empty-state{text-align:center;padding:60px 20px;color:#aaa;grid-column:1 / -1}.empty-state i{font-size:4rem;margin-bottom:20px;opacity:.3}.modal-content{display:block;max-height:90vh;overflow-y:auto;padding:0;position:relative}.modal-body{padding:20px 25px}.modal-content form{padding:0;display:flex;flex-direction:column}.modal-content h2,.modal-content h3{position:sticky;top:0;background:#fff;z-index:50;margin:0;padding:20px 25px;border-bottom:1px solid #eee}#addMatchForm,.modal-form{padding:0;overflow:visible;margin:0}.modal-actions,.form-actions{position:sticky;bottom:0;background:#fff;padding:15px 25px;border-top:1px solid #eee;margin:0;display:flex;gap:10px;z-index:50}.modal-actions.end,.form-actions.end{justify-content:flex-end}.autocomplete-items{position:absolute;border:1px solid #d4d4d4;border-bottom:none;border-top:none;z-index:1000;top:100%;left:0;right:0;max-height:250px;overflow-y:auto;background-color:#fff;box-shadow:0 4px 15px #00000026;border-radius:0 0 8px 8px}.form-group{position:relative;margin-bottom:15px}.history-card-inner{display:flex;flex-direction:row;align-items:stretch;padding:0!important;min-height:100px}.history-left{width:90px;flex-shrink:0;position:relative;background:#f8f9fa;display:flex;align-items:center;justify-content:center;overflow:hidden}.history-game-img,.history-game-placeholder{width:100%;height:100%;object-fit:cover;border-radius:0!important}.history-content{flex:1;padding:12px 15px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.history-header{margin-bottom:5px}.history-title-row{display:flex;align-items:center;gap:8px}.history-title-row h4{margin:0;font-size:1.05rem;line-height:1.25;color:var(--text-color);font-weight:700}.history-meta-row{display:flex;align-items:center;gap:12px;font-size:.85rem;color:#7f8c8d;margin-bottom:8px}.duration-badge{background:#f1f2f6;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;color:#57606f;display:flex;align-items:center;gap:4px}.history-date-text{font-weight:500;font-size:.8rem}.match-actions{display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:5px;flex-wrap:nowrap;overflow:hidden}.btn-icon-small{background:none;border:none;cursor:pointer;color:#a4b0be;font-size:.95rem;padding:4px 5px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon-small:hover{color:var(--text-color);transform:scale(1.1)}.btn-remove-history:hover{color:var(--danger)}.btn-bgg-upload{color:#3f3da3}.preference-actions{display:flex;gap:4px;margin-right:auto}.modal-actions{margin-top:25px!important;padding-top:10px;border-top:1px solid #eee}main{max-width:1200px;margin:0 auto}#confirmModal .modal-content,#alertModal .modal-content{padding:25px!important}#confirmMessage,#alertMessage{margin:15px 0 25px!important;line-height:1.5;color:#555}.history-title-row{display:flex;align-items:center;gap:10px}.history-card-inner .bgg-dot{margin-right:0}@media (max-width: 480px){.history-left{width:80px}}.filters-card{border-radius:16px!important;border:1px solid rgba(0,0,0,.05)!important;background:#fff!important;margin-bottom:20px!important;overflow:hidden}.filters-header{background:#f8f9fa;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;color:var(--text-color);transition:background .2s}.filters-header:hover{background:#f1f2f6}.filters-body{padding:20px;display:none;flex-direction:column;gap:15px}.filters-body.open{display:flex}.filter-row{display:flex;gap:15px;width:100%}.input-group{flex:1;display:flex;flex-direction:column;gap:6px;position:relative}.input-group label{font-size:.8rem;font-weight:700;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.input-group input{width:100%;padding:10px 15px;border-radius:10px;border:1.5px solid #eee;background:#fff;font-size:.95rem;transition:all .2s ease;outline:none;color:var(--text-color)}.input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f2555c1a}.input-group.full-width{flex:none;width:100%}.input-icon{position:absolute;right:15px;bottom:12px;color:#bdc3c7;pointer-events:none}.filter-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}@media (max-width: 480px){.filter-row{flex-direction:column}}.btn-bgg-success{color:var(--success)!important;opacity:1!important}.btn-bgg-success i{color:var(--success)!important}.btn-bgg-error{color:var(--danger)!important}.btn-bgg-success,.btn-bgg-error{position:static!important;background:none!important;box-shadow:none;border-radius:0;width:auto;height:auto;display:inline-flex;align-items:center;justify-content:center;z-index:auto}.btn-bgg-success{color:var(--success)!important;cursor:default}.view-matches main{padding:0 20px}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:9999;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay.active{display:flex!important}.modal-container{background:var(--white);padding:25px;border-radius:var(--radius);width:90%;max-width:400px;box-shadow:0 4px 20px #00000026;text-align:center;animation:fadeInUp .3s ease-out;position:relative}.loader{border:5px solid #f3f3f3;border-top:5px solid var(--primary-color);border-radius:50%;width:50px;height:50px;animation:bgg-spin 1s linear infinite;margin:20px auto}@keyframes bgg-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 992px){.view-dashboard main,.view-matches main,.view-history main,.view-market main,.view-public-events main{padding:40px}}.results-badge-row{margin:4px 0 8px}.result-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.3px}.result-badge.result-win{background:linear-gradient(135deg,#f6d365,#fda085);color:#7a3a00}.result-badge.result-lose{background:linear-gradient(135deg,#d7d7d7,#b0b0b0);color:#444}.result-badge.result-coop{background:linear-gradient(135deg,#a18cd1,#fbc2eb);color:#4a2080}.result-badge.result-winner{background:linear-gradient(135deg,#f6d365,#fda085);color:#7a3a00}.result-badge.result-scores{background:#e8f4fd;color:#2980b9}.btn-results{color:#a0875e!important}.btn-results:hover{color:#c8902a!important}.results-section{border:1.5px solid #eee;border-radius:12px;margin-bottom:15px;overflow:hidden}.results-section-header{padding:12px 15px;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;color:#555;-webkit-user-select:none;user-select:none;transition:background .2s}.results-section-header:hover{background:#f1f2f6}.results-section-header i.fa-trophy{color:#c8902a;margin-right:6px}.results-section-body{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s;padding:0 15px}.results-section-body.open{max-height:600px;padding:15px}.cooperative-toggle{margin-bottom:10px}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text-color);-webkit-user-select:none;user-select:none;flex-wrap:nowrap;line-height:1.2}.toggle-label input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;margin:0;padding:0;border:0}.toggle-track{width:40px;min-width:40px;height:22px;background:#dfe4ea;border-radius:11px;position:relative;transition:background .25s;flex-shrink:0}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 4px #0003}.toggle-label input:checked~.toggle-track{background:var(--primary-color)}.toggle-label input:checked~.toggle-track .toggle-thumb{transform:translate(18px)}.section-label{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#7f8c8d;margin-bottom:10px}.coop-result-buttons{display:flex;gap:10px;margin-bottom:10px}.btn-coop-result{flex:1;padding:10px;border:2px solid #eee;border-radius:10px;background:#fafafa;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .2s}.btn-coop-win{color:#7f8c8d}.btn-coop-win.active{background:linear-gradient(135deg,#f6d365,#fda085);border-color:#fda085;color:#7a3a00;box-shadow:0 3px 10px #fda08566}.btn-coop-lose{color:#7f8c8d}.btn-coop-lose.active{background:linear-gradient(135deg,#bdc3c7,#95a5a6);border-color:#95a5a6;color:#fff;box-shadow:0 3px 10px #95a5a64d}.player-score-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0}.player-score-row:last-child{border-bottom:none}.player-score-name{flex:1;font-weight:600;font-size:.9rem;color:var(--text-color);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-score-input{width:90px!important;padding:6px 10px!important;border-radius:8px!important;border:1.5px solid #eee!important;font-size:.9rem!important;text-align:right;flex-shrink:0}.player-score-input:focus{border-color:var(--primary-color)!important;outline:none;box-shadow:0 0 0 2px #f2555c1a}.winner-label{display:flex;align-items:center;gap:5px;cursor:pointer;flex-shrink:0}.winner-label .winner-checkbox{display:none}.winner-icon{font-size:1.1rem;color:#dfe4ea;transition:color .2s}.winner-checkbox:checked~.winner-icon{color:#f6d365}.results-modal-game{font-weight:700;font-size:1rem;color:var(--primary-color);margin-bottom:15px;padding:0 25px}#resultsModalContent{padding:0 25px 10px}.btn-table-results{background:none;border:1.5px solid #e0c97a;color:#a0875e;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .2s}.btn-table-results:hover{background:linear-gradient(135deg,#f6d365,#fda085);border-color:#fda085;color:#7a3a00}.view-wrapped{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;color:#fff;z-index:9999;font-family:Inter,sans-serif;overflow:hidden}.view-wrapped .wrapped-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.view-wrapped .wrapped-loader{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#000)}.view-wrapped .wrapped-content{flex:1;position:relative}.view-wrapped .slide{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px 20px;box-sizing:border-box;text-align:center;overflow:hidden}.view-wrapped .slide-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#333,#000);opacity:.8;z-index:-1}.view-wrapped .slide-inner{max-width:500px;width:100%}.view-wrapped .text-gradient{background:linear-gradient(135deg,#fff,#f96,#ff5e62);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.view-wrapped .slide-welcome h1{font-size:5rem;margin-bottom:.5rem}.view-wrapped .slide-welcome h2{font-size:2rem;font-weight:400;color:#ccc}.view-wrapped .stat-circle{width:200px;height:200px;border-radius:50%;border:8px solid #ff5e62;display:flex;align-items:center;justify-content:center;margin:0 auto 30px;box-shadow:0 0 30px #ff5e6266}.view-wrapped .stat-value{font-size:4rem;font-weight:800}.view-wrapped .stat-number{font-size:5rem;font-weight:800;margin-bottom:20px}.view-wrapped .stat-number small{font-size:1.5rem;color:#aaa}.view-wrapped .game-poster-container{width:200px;height:280px;margin:0 auto 30px;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #00000080;background:#222}.view-wrapped .game-poster{width:100%;height:100%;object-fit:cover}.view-wrapped .game-poster-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:#444}.view-wrapped .game-title{font-size:2.5rem;margin-bottom:10px}.view-wrapped .slide-tables{background:radial-gradient(circle at center,#222,#000)}.view-wrapped .floating-icons{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.view-wrapped .floating-icons i{position:absolute;color:#ffffff0d;font-size:3rem}.view-wrapped .float-1{top:15%;left:10%;animation:float 6s infinite ease-in-out}.view-wrapped .float-2{top:20%;right:15%;animation:float 8s infinite ease-in-out -2s}.view-wrapped .float-3{bottom:20%;left:15%;animation:float 7s infinite ease-in-out -1s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.view-wrapped .stat-badge{display:inline-block;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:30px}.view-wrapped .hero-circle{width:200px;height:200px;border-radius:50%;background:#ffffff08;border:2px solid rgba(255,94,98,.5);margin:0 auto 30px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px #ff5e6233,inset 0 0 20px #ff5e621a;position:relative;z-index:1}.view-wrapped .hero-circle:after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border-radius:50%;border:1px dashed rgba(255,255,255,.1);animation:rotateWarp 20s linear infinite}.view-wrapped .hero-circle .stat-value{font-size:5rem;font-weight:900;color:#fff;text-shadow:0 0 20px rgba(255,94,98,.5)}.view-wrapped .sub-info{font-size:1.1rem;color:#aaa;margin-top:10px}.view-wrapped .slide-favorite{position:relative}.view-wrapped .slide-favorite .spotlight{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle at center,rgba(255,94,98,.15) 0%,transparent 70%);z-index:-1;pointer-events:none}.view-wrapped .favorite-badge{display:inline-block;background:linear-gradient(135deg,gold,orange);color:#000;padding:6px 16px;border-radius:50px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;margin-bottom:25px;box-shadow:0 4px 15px #ffd70066}.view-wrapped .game-poster-wrapper{perspective:1000px;margin-bottom:35px}.view-wrapped .slide-favorite .game-poster-container{box-shadow:0 20px 40px #0009;transition:transform .5s ease}.view-wrapped .slide-favorite .game-poster-container:hover{transform:scale(1.05)}.view-wrapped .game-stat{font-size:1.2rem;color:#ccc;margin-top:15px}.view-wrapped .game-stat .highlight{font-size:2rem;font-weight:900;color:#fff;margin:0 5px;display:inline-block}.view-wrapped .slide-time{background:radial-gradient(circle at center,#1a1a1a,#000);overflow:hidden}.view-wrapped .time-warp-bg{position:absolute;top:50%;left:50%;width:200%;height:200%;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,transparent 0deg 30deg,rgba(255,255,255,.02) 30deg 60deg);animation:rotateWarp 60s linear infinite;z-index:-1}@keyframes rotateWarp{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.view-wrapped .time-icon-container{margin-bottom:30px}.view-wrapped .clock-icon{position:relative;font-size:5rem;color:#ff5e62;filter:drop-shadow(0 0 15px rgba(255,94,98,.4))}.view-wrapped .clock-hand{position:absolute;top:50%;left:50%;width:2px;height:30px;background:#fff;transform-origin:bottom center;transform:translate(-50%,-100%) rotate(0);animation:clockSpin 2s linear infinite}@keyframes clockSpin{0%{transform:translate(-50%,-100%) rotate(0)}to{transform:translate(-50%,-100%) rotate(360deg)}}.view-wrapped .stat-number-hero{margin-bottom:20px}.view-wrapped .stat-number-hero .stat-value{font-size:7rem;font-weight:900;line-height:1;background:linear-gradient(135deg,#fff,#ff5e62);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.view-wrapped .stat-number-hero .unit{font-size:1.5rem;font-weight:700;color:#888;text-transform:uppercase;margin-left:10px}.view-wrapped .promo-text{font-size:1.2rem;color:#aaa;max-width:300px;margin:0 auto}.view-wrapped .promo-text b{color:#fff}.view-wrapped .avatar-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;margin:0 auto 30px;box-shadow:0 10px 20px #0000004d}.view-wrapped .duo-display{display:flex;align-items:center;justify-content:center;gap:0;margin:40px 0}.view-wrapped .duo-avatar{position:relative;margin:0!important;border:4px solid #1a1a1a}.view-wrapped .user-avatar{z-index:2;transform:translate(20px);background:linear-gradient(135deg,#6bff66,#5efff4)}.friend-avatar{z-index:1;transform:translate(-20px)}.duo-connection{z-index:3;font-size:2.5rem;color:#ff5e62;animation:heartBeat 1.5s infinite ease-in-out;filter:drop-shadow(0 0 10px rgba(255,94,98,.6))}.duo-tag{display:inline-block;background:#ff5e62;color:#fff;padding:4px 12px;border-radius:4px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.friend-name{font-size:2.5rem;margin-bottom:15px}.duo-message{max-width:300px;margin:0 auto;font-size:1.1rem;line-height:1.4;color:#aaa}@keyframes heartBeat{0%{transform:scale(1)}15%{transform:scale(1.2)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}.view-wrapped .top-list{margin-top:30px}.view-wrapped .chart-item{display:flex;align-items:center;padding:12px 15px;margin-bottom:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;gap:15px;transition:transform .3s ease}.view-wrapped .chart-item.top-tier{background:linear-gradient(90deg,#ff5e6226,#ffffff08);border:1px solid rgba(255,94,98,.3);padding:18px 20px}.view-wrapped .chart-rank{font-size:1.5rem;font-weight:900;color:#444;min-width:25px;font-style:italic}.view-wrapped .top-tier .chart-rank{color:#ff5e62;font-size:2rem}.view-wrapped .chart-info{flex:1;display:flex;flex-direction:column;gap:6px;text-align:left}.view-wrapped .chart-info .name{font-weight:600;font-size:1.1rem;color:#eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.view-wrapped .top-tier .chart-info .name{font-size:1.3rem;color:#fff;font-weight:800}.view-wrapped .chart-bar-container{height:4px;background:#ffffff1a;border-radius:2px;width:100%;overflow:hidden}.view-wrapped .chart-bar{height:100%;background:#555;border-radius:2px;transition:width 1.5s cubic-bezier(.1,0,.3,1)}.view-wrapped .top-tier .chart-bar{background:linear-gradient(90deg,#f96,#ff5e62);height:6px}.view-wrapped .chart-count{text-align:right;display:flex;flex-direction:column;line-height:1}.view-wrapped .chart-count .count{font-size:1.4rem;font-weight:800;color:#fff}.chart-count small{font-size:.6rem;color:#777;text-transform:uppercase;letter-spacing:1px}.view-wrapped .complexity-meter{margin-bottom:40px}.view-wrapped .stars{font-size:2.5rem;color:gold;letter-spacing:5px;margin-bottom:10px}.view-wrapped .complexity-value{font-size:1.2rem;font-weight:600;color:#ccc}.view-wrapped .title-card{background:#ff5e621a;border:1px solid rgba(255,94,98,.3);padding:30px;border-radius:20px;margin-bottom:30px}.view-wrapped .fun-title{font-size:2.2rem;margin-top:5px}.view-wrapped .slide-celebration{background:radial-gradient(circle at center,#222,#000)}.view-wrapped .celebration-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:url(https://www.transparenttextures.com/patterns/carbon-fibre.png);opacity:.1;z-index:-1}.view-wrapped .fest-title{font-size:3.5rem;margin-bottom:20px}.view-wrapped .sub-message{font-size:1.2rem;color:#ccc;margin-bottom:40px}.view-wrapped .wrapped-badge{display:inline-block;background:#ff5e6233;border:1px solid rgba(255,94,98,.5);color:#ff5e62;padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:20px}.view-wrapped .next-year-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:40px 20px;border-radius:30px;margin-bottom:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.view-wrapped .next-year-label{display:block;font-size:1rem;color:#888;text-transform:uppercase;letter-spacing:3px;margin-bottom:10px}.view-wrapped .next-year-value{font-size:6rem;font-weight:900;background:linear-gradient(135deg,#fff,#ff5e62);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:10px;animation:pulseGrow 2s infinite ease-in-out}.view-wrapped .next-year-subtext{font-size:1.1rem;color:#aaa;font-style:italic}.view-wrapped .logo-mini{width:60px;opacity:.5}@keyframes pulseGrow{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.delay-3{animation-delay:.9s}.view-wrapped .wrapped-controls{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.view-wrapped .progress-bar-container{display:flex;padding:15px 10px;gap:5px;pointer-events:auto}.view-wrapped .progress-bar{flex:1;height:3px;background:#fff3;border-radius:2px;overflow:hidden}.view-wrapped .progress-fill{height:100%;background:#fff;width:0}.view-wrapped .navigation-areas{position:absolute;top:50px;bottom:0;left:0;right:0;display:flex;pointer-events:auto}.nav-area{flex:1;height:100%}.view-wrapped .wrapped-actions{position:absolute;top:40px;right:15px;z-index:200;display:flex;gap:10px}.view-wrapped .btn-close-wrapped{background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;opacity:.7;padding:10px}.view-wrapped .btn-share-wrapped{background:#fff3;border:none;color:#fff;padding:8px 15px;border-radius:20px;font-size:.9rem;font-weight:600;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.view-wrapped .btn-audio-control{background:#fff3;border:none;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.view-wrapped .btn-audio-control:active{transform:scale(.9)}.view-wrapped .btn-audio-control i{width:20px;text-align:center}.fade-in-up{animation:fadeInUp .8s ease-out forwards}.fade-in-right{animation:fadeInRight .6s ease-out forwards;opacity:0}.logo-animate{width:200px;height:200px;animation:pulse 2s infinite ease-in-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.delay-1{animation-delay:.3s}.delay-2{animation-delay:.6s}@media (max-width: 480px){.slide-welcome h1{font-size:4rem}.stat-circle{width:160px;height:160px}.view-wrapped .stat-value{font-size:3rem}.stat-number{font-size:4rem}.game-poster-container{width:160px;height:220px}.fun-title{font-size:1.8rem}.chart-item{padding:10px 12px;gap:10px}.chart-rank{font-size:1.2rem;min-width:20px}.top-tier .chart-rank{font-size:1.5rem}.chart-info .name{font-size:.95rem;max-width:140px}.top-tier .chart-info .name,.chart-count .count{font-size:1.1rem}}.view-chat{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-color);font-family:Inter,sans-serif}.chat-main{flex:1;position:relative;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-color-alt);min-height:0}.chat-container{flex:1;display:flex;flex-direction:column;width:100%;max-width:900px;margin:0 auto;background-color:var(--bg-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);position:relative;box-shadow:0 0 20px #00000005;min-height:0;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:20px 30px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth;min-height:0}.chat-input-area{position:relative;bottom:auto;left:auto;transform:none;width:100%;padding:20px;z-index:20;flex-shrink:0;background:var(--bg-color);border-top:1px solid var(--border-color)}.chat-input-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:10px 10px 10px 20px;display:flex;align-items:flex-end;box-shadow:0 4px 12px #0000000d;transition:all .2s ease}@media (max-width: 768px){.chat-container{border:none;max-width:100%;padding-bottom:0}.chat-messages{padding:15px}.chat-input-area{position:relative;bottom:auto;padding:15px;background:var(--bg-color);border-top:1px solid var(--border-color);max-width:100%}.chat-input-container{box-shadow:none;border-radius:24px}}.source-selection-container{display:flex;gap:15px;justify-content:center;padding-bottom:12px;padding-top:5px}.source-checkbox{display:flex;align-items:center;gap:6px;font-size:.85em;color:var(--text-color);cursor:pointer;transition:color .2s}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center;color:var(--text-muted);animation:fadeIn .4s ease-out}.chat-empty-state-icon{width:90px;height:90px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 8px 24px #0000000f}.chat-empty-state i{font-size:2.5rem;background:linear-gradient(135deg,var(--primary-color),#8e44ad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.chat-empty-state h3{font-size:1.6rem;margin-bottom:12px;color:var(--text-color);font-weight:700}.chat-empty-state p{font-size:1.05rem;max-width:450px;line-height:1.6;margin-bottom:32px}.suggestion-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:650px}.suggestion-chip{background:var(--card-bg);border:1px solid var(--border-color);padding:10px 18px;border-radius:24px;font-size:.95rem;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 2px 5px #00000005}.suggestion-chip:hover{border-color:var(--primary-color);background:var(--input-bg);transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.message-wrapper{display:flex;align-items:flex-end;gap:10px;max-width:100%;animation:slideIn .2s cubic-bezier(.1,.7,1,.1)}.message-wrapper.user{justify-content:flex-end}.message-wrapper.bot{justify-content:flex-start}.message-avatar{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;box-shadow:0 2px 8px #00000014}.message-wrapper.bot .message-avatar{background:#fff;color:var(--primary-color);border:1px solid var(--border-color)}.message-wrapper.user .message-avatar{display:none}.message-content{max-width:75%;padding:14px 20px;border-radius:18px;font-size:1rem;line-height:1.55;position:relative;box-shadow:0 1px 2px #0000000d}.message-wrapper.user .message-content{background:var(--primary-color);color:#fff;border-bottom-right-radius:4px}.message-wrapper.bot .message-content{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);border-bottom-left-radius:4px;background:#dff6ff}.message-content strong{font-weight:700;color:inherit}.message-content em{font-style:italic}.message-content h2,.message-content h3{font-weight:600;margin-top:15px;margin-bottom:8px;line-height:1.3}.message-content h2{font-size:1.25rem}.message-content h3{font-size:1.1rem}.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content ul{margin:8px 0;padding-left:20px;list-style-type:disc}.message-content li{margin-bottom:4px}.message-content ol{margin:8px 0;padding-left:20px}.message-content ol li::marker{font-weight:700;color:var(--primary-color)}.message-content code{background:#0000001a;padding:2px 5px;border-radius:4px;font-family:monospace;font-size:.9em}.message-wrapper.user .message-content code{background:#fff3}.message-content a{color:var(--primary-color);text-decoration:underline}.message-wrapper.user .message-content a{color:#fff}.message-sources{margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.05);display:flex;flex-wrap:wrap;gap:8px}.source-item{display:inline-flex;align-items:center;gap:6px;background:var(--bg-color-alt);padding:6px 12px;border-radius:8px;font-size:.8rem;color:var(--text-color);border:1px solid var(--border-color);transition:background .2s}.source-item:hover{background:var(--input-bg)}.source-item i{color:var(--text-muted)}.chat-input-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:10px 10px 10px 20px;display:flex;align-items:flex-end;box-shadow:0 10px 30px #0000001a;transition:all .2s ease}.chat-input-container:focus-within{border-color:var(--primary-color);box-shadow:0 12px 40px rgba(var(--primary-rgb),.15);transform:translateY(-2px)}.chat-input{flex:1;background:transparent;border:none;color:var(--text-color);font-size:1.05rem;padding:12px 0;max-height:150px;resize:none;outline:none;font-family:inherit}.chat-input::placeholder{color:var(--text-muted);opacity:.6}.btn-send{width:48px;height:48px;border-radius:12px;background:var(--primary-color);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:12px;transition:all .2s;flex-shrink:0}.btn-send:hover:not(:disabled){background:var(--primary-dark);transform:scale(1.05)}.btn-send:disabled{background:var(--bg-color-alt);color:var(--text-muted);cursor:not-allowed}.typing-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-left:10px;opacity:1;animation:fadeIn .3s forwards}.typing-avatar{width:32px;height:32px;border-radius:10px;background:#fff;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:.9rem;box-shadow:0 2px 5px #0000000d}.typing-bubble{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px 18px 18px;padding:14px 24px;display:flex;align-items:center;gap:5px;box-shadow:0 2px 5px #00000005}.typing-dot{width:7px;height:7px;background:#888;background:var(--text-muted, #888);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both;opacity:.8}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.progress-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-left:10px;opacity:1;animation:fadeIn .3s forwards}.progress-bubble{background:#dff6ff;border:1px solid var(--border-color);border-radius:4px 18px 18px;padding:14px 24px;box-shadow:0 2px 5px #00000005}.progress-text{color:var(--text-color);font-size:.95rem;font-weight:500}.typing-cursor{display:inline-block;font-weight:700;color:var(--primary-color);animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width: 768px){.chat-container{border:none;max-width:100%}.chat-messages{padding:15px}.chat-input-area{position:relative;bottom:auto;padding:15px;background:var(--bg-color);border-top:1px solid var(--border-color);max-width:100%}.chat-input-container{box-shadow:none;border-radius:24px}.message-content{max-width:85%;font-size:.95rem}.chat-empty-state{padding:20px}}.animated-dots:after{display:inline-block;animation:dot-steps 1.5s steps(4,end) infinite;content:"";width:1.2em;text-align:left}@keyframes dot-steps{0%,20% {content: "";} 40% {content: ".";} 60% {content: "..";} 80%,100% {content: "...";} .source-selection-container {display: flex; gap: 15px; justify-content: center; padding-bottom: 5px;} .source-checkbox {display: flex; align-items: center; gap: 6px; font-size: .85em; color: var(--text-muted); cursor: pointer; transition: color .2s;} .source-checkbox:hover {color: var(--primary-color);} .source-checkbox input[type="checkbox"] {accent-color: var(--primary-color); cursor: pointer;}}
