.collective-flag-section{margin:32px 0 0;text-align:center}.collective-flag-section h3{margin-bottom:12px;font-size:1.2rem;color:#34495e}.collective-flag-mosaic{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:0;justify-items:stretch;align-items:stretch;background:#f8f8f8;padding:0;border-radius:8px;box-shadow:0 2px 8px #0000000a;max-width:320px;margin:0 auto;overflow:hidden}.collective-flag-tile{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:0;border:none;box-shadow:none;background:none;display:block}.flag-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .3s ease-out}.close-modal{position:absolute;top:20px;right:30px;color:#fff;font-size:48px;font-weight:300;cursor:pointer;z-index:1001;transition:all .2s ease;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-modal:hover{background-color:#fff3;transform:scale(1.1)}.close-modal:active{transform:scale(.95)}.collection-page.continent-series .cappy-image{border-radius:12px}.continent-badge-modal .continent-modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.continent-badge-modal .continent-modal-card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 70px #0f172a57;text-align:center;width:min(88vw,360px);max-height:88vh;overflow-y:auto;border:1px solid rgba(148,163,184,.24)}.continent-badge-modal .continent-modal-eyebrow{margin:0 0 8px;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--continent-accent, #2563eb) 72%,#0f172a)}.continent-badge-modal .continent-modal-title{margin:0 0 16px;font-size:1.45rem;color:#0f172a;letter-spacing:0}.continent-badge-modal .continent-modal-shell{position:relative;width:min(58vw,230px);aspect-ratio:1 / 1;margin:0 auto 16px;display:grid;place-items:center}.continent-badge-modal .continent-badge-image{width:100%;height:100%;object-fit:contain;display:block}.continent-badge-modal .continent-modal-shell .continent-badge-fallback{width:100%;height:100%;display:grid;place-items:center;border-radius:22px;padding:16px;background:linear-gradient(135deg,#0f172ae6,color-mix(in srgb,var(--continent-accent, #2563eb) 58%,#0f172a));color:#f8fafc;box-shadow:inset 0 0 0 1px #ffffff29}.continent-badge-modal .continent-modal-shell .continent-badge-fallback span{font-size:clamp(1.1rem,3.2vw,1.5rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.continent-badge-modal .continent-modal-caption{margin:0 auto;max-width:30ch;color:#334155;font-size:.94rem;line-height:1.45}.continent-badge-modal .continent-modal-future{margin:16px auto 0;display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--continent-accent, #2563eb) 10%,#f8fafc);color:#475569;font-size:.86rem;line-height:1.3}.continent-badge-modal .close-modal{color:#f8fafc;top:18px;right:26px;text-shadow:0 2px 12px rgba(15,23,42,.65)}@media (max-width: 640px){.continent-badge-modal .continent-modal-card{width:min(90vw,360px);padding:20px}.continent-badge-modal .continent-modal-shell{width:min(64vw,220px)}}.flag-modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:40px;width:min(90vw,700px);max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out;text-align:center;box-sizing:border-box}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.flag-modal-content h2{margin:0 0 24px;font-size:2.2rem;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(0,0,0,.1)}.flag-modal-content h4{margin:32px 0 16px;font-size:1.4rem;font-weight:600;color:#34495e;text-align:left}.flag-image-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:320px;margin:0 auto 32px}.flag-modal-content .modal-cappy-image{width:100%;height:auto;max-width:320px;max-height:180px;display:block;border-radius:12px;box-shadow:0 8px 24px #00000026;border:3px solid #ecf0f1;transition:transform .15s cubic-bezier(.4,0,.2,1);background:#fff;position:static;margin:0}.flag-facts-list{list-style:none;padding:0;margin:0;text-align:left}.flag-facts-list li{padding:12px 16px;margin:8px 0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border-left:4px solid #3498db;font-size:1rem;line-height:1.5;color:#495057;position:relative;transition:all .2s ease}.flag-facts-list li:hover{background:linear-gradient(135deg,#e3f2fd,#bbdefb);transform:translate(4px);box-shadow:0 2px 8px #3498db33}.flag-facts-list li:before{content:"🏳️";margin-right:8px;font-size:.9rem}@media (max-width: 768px){.flag-modal-content{padding:24px;width:94vw;max-width:94vw}.flag-modal-content h2{font-size:1.8rem}.flag-modal-content h4{font-size:1.2rem}.close-modal{top:15px;right:20px;font-size:36px;width:40px;height:40px}.modal-cappy-image{max-height:300px}.flag-facts-list li{padding:10px 12px;font-size:.9rem}}@media (max-width: 480px){.flag-modal-content{padding:20px;width:96vw;max-width:96vw}.flag-modal-content h2{font-size:1.5rem}.modal-cappy-image{max-height:250px}}.flag-modal-content::-webkit-scrollbar{width:8px}.flag-modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.flag-modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.flag-modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.series-description{margin:16px 0;padding:12px 16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border-left:4px solid #3498db;animation:fadeIn .3s ease-in}.series-desc-text{margin:0;font-size:.95rem;line-height:1.6;color:#495057}.series-desc-text strong{color:#2c3e50;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.challenge-page{max-width:1200px}.challenge-page h2{color:#2c3e50;font-size:2rem;margin:0}.challenge-page h3{color:#2c3e50;font-size:1.1rem;font-weight:700;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.challenge-header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.username-display-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.username-label{font-size:.9rem;color:#6c757d;font-weight:500}.username-value{font-size:1rem;color:#2c3e50;font-weight:700;font-family:Courier New,monospace;background:#fffc;padding:4px 12px;border-radius:6px;border:1px solid rgba(102,126,234,.2)}.connection-status{padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500}.connection-status.connected{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.connection-status.disconnected{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width: 768px){.challenge-header h2{font-size:1.5rem}.challenge-header-info{flex-direction:column;align-items:flex-start}.username-display-box{width:100%}}.challenge-top-grid{grid-template-columns:1fr 1fr!important}.challenge-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-weight:600;color:#495057;font-size:.9rem}.form-group input,.form-group select{padding:10px 12px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3;transform:translateY(-1px)}.btn-accept{background-color:#28a745;color:#fff}.btn-accept:hover{background-color:#1e7e34;transform:translateY(-1px)}.btn-decline{background-color:#dc3545;color:#fff}.btn-decline:hover{background-color:#c82333;transform:translateY(-1px)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62;transform:translateY(-1px)}.challenge-item{background:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:15px;border-left:4px solid #e9ecef;transition:all .2s ease}.challenge-item:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.challenge-item.pending{border-left-color:#ffc107;background:#fff3cd}.challenge-item.active{border-left-color:#007bff;background:#d1ecf1}.challenge-item.completed{border-left-color:#28a745;background:#d4edda}.challenge-item.pending.sent{border-left:4px solid #007bff;background-color:#f8f9ff}.challenge-item.pending.received{border-left:4px solid #28a745;background-color:#f8fff9}.challenge-status{color:#6c757d;font-style:italic;font-size:.9rem}.challenge-info{margin-bottom:15px;line-height:1.6}.challenge-info strong{color:#495057}.challenge-actions{display:flex;gap:10px;flex-wrap:wrap}.no-challenges{color:#6c757d;font-style:italic;text-align:center;padding:20px}.challenge-notification{position:fixed;top:20px;right:20px;background:#fff;border-radius:12px;box-shadow:0 8px 25px #00000026;border:1px solid #e9ecef;z-index:1000;animation:slideInRight .3s ease;max-width:400px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.challenge-notification-content{padding:20px}.challenge-notification h3{margin:0 0 10px;color:#2c3e50;font-size:1.2rem}.challenge-notification p{margin:0 0 15px;color:#6c757d;line-height:1.5}.challenge-notification .challenge-actions{display:flex;gap:10px}.challenge-results-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.challenge-results-content{background:#fff;border-radius:12px;padding:30px;max-width:500px;width:90%;text-align:center;box-shadow:0 10px 30px #0003}.challenge-results-content h2{margin:0 0 20px;color:#2c3e50;font-size:1.8rem}.results-summary{display:flex;align-items:center;justify-content:space-between;margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px}.player-result{text-align:center;flex:1}.player-result h4{margin:0 0 10px;color:#495057;font-size:1.1rem}.player-result p{margin:0;font-size:1.5rem;font-weight:700;color:#007bff}.vs{font-size:1.5rem;font-weight:700;color:#6c757d;margin:0 20px}.winner-announcement{margin:20px 0;padding:15px;background:#e8f5e8;border-radius:8px;border:1px solid #c3e6cb}.winner-announcement h3{margin:0}.challenge-details{background:#f8f9fa;border-radius:6px;padding:15px;margin:15px 0;text-align:left}.challenge-details p{margin:5px 0;color:#6c757d;font-size:.9rem}.score-display{font-size:2.5rem;font-weight:700;margin:10px 0 5px}.score-label{font-size:.9rem;color:#6c757d;margin:0}.username-display{font-weight:600;color:#007bff}.username-display.username-loaded,.player-result.winner .score-display{color:#28a745}.player-result.loser .score-display{color:#dc3545}.player-result.tie .score-display{color:#ffc107}.challenge-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.challenge-results-modal .challenge-actions{justify-content:center}.challenge-results-modal .challenge-actions .btn{min-width:200px;font-size:1.1rem;padding:12px 30px}.answer-submitted{text-align:center;padding:15px;background:#e8f5e8;border-radius:6px;border:1px solid #c3e6cb;margin-bottom:10px}body.site-dark-theme .challenge-page h2,body.site-dark-theme .challenge-page h3,body.site-dark-theme .challenge-notification h3,body.site-dark-theme .challenge-results-content h2,body.site-dark-theme .player-result h4,body.site-dark-theme .challenge-info strong{color:var(--site-dark-text)}body.site-dark-theme .username-label,body.site-dark-theme .challenge-status,body.site-dark-theme .challenge-notification p,body.site-dark-theme .challenge-details p,body.site-dark-theme .score-label,body.site-dark-theme .no-challenges,body.site-dark-theme .vs{color:var(--site-dark-muted)}body.site-dark-theme .username-display-box,body.site-dark-theme .username-value,body.site-dark-theme .challenge-item,body.site-dark-theme .challenge-item.pending,body.site-dark-theme .challenge-item.active,body.site-dark-theme .challenge-item.completed,body.site-dark-theme .challenge-item.pending.sent,body.site-dark-theme .challenge-item.pending.received,body.site-dark-theme .challenge-notification,body.site-dark-theme .challenge-results-content,body.site-dark-theme .results-summary,body.site-dark-theme .winner-announcement,body.site-dark-theme .challenge-details,body.site-dark-theme .answer-submitted{background:var(--site-dark-panel);border-color:var(--site-dark-border);color:var(--site-dark-text);box-shadow:0 8px 22px #00000047}body.site-dark-theme .challenge-page h3{border-bottom-color:var(--site-dark-border)}.status-badge.submitted{display:inline-block;background:#28a745;color:#fff;padding:4px 12px;border-radius:20px;font-size:.9rem;font-weight:700;margin-bottom:8px}.score-info{font-weight:700;color:#155724;margin:8px 0;font-size:1.1rem}.waiting-results{color:#28a745;font-style:italic;margin:5px 0 0;font-size:.9rem}.waiting-opponent{color:#856404;font-style:italic;margin:5px 0 0;font-size:.9rem}.challenge-message{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;color:#fff;font-weight:600;z-index:1000;animation:slideInDown .3s ease}@keyframes slideInDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.challenge-message-success{background-color:#28a745}.challenge-message-error{background-color:#dc3545}.challenge-message-info{background-color:#17a2b8}.challenge-login-prompt{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.challenge-login-prompt h2{margin:0 0 15px;color:#2c3e50;font-size:1.8rem}.challenge-login-prompt p{margin:0 0 25px;color:#6c757d;font-size:1.1rem}.admin-table-row-completed{grid-template-columns:1.4fr .8fr .7fr 1.2fr 1.3fr}@media (max-width: 768px){.challenge-page h2{font-size:1.5rem}.challenge-header-meta{flex-direction:column;align-items:flex-start}.username-display-box{width:100%}.challenge-top-grid{grid-template-columns:1fr!important}.admin-table-row-completed{grid-template-columns:1.2fr .8fr .7fr 1fr 1.1fr;font-size:11px}.challenge-notification{right:15px;left:15px;max-width:none}.challenge-results-content{margin:20px;padding:20px}.results-summary{flex-direction:column;gap:15px}.vs{margin:10px 0}}
