.password-input-container{position:relative;width:100%;display:flex;align-items:center}.password-input-container input{width:100%;padding-right:40px;box-sizing:border-box}.password-toggle-button{position:absolute;right:0;top:0;height:100%;width:40px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);padding:0;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;transition:color .2s ease}.password-toggle-button:hover,.password-toggle-button:focus{color:var(--color-text-primary);outline:none}.password-toggle-button svg{opacity:.7}.password-toggle-button:hover svg,.password-toggle-button:focus svg{opacity:1}.auth-page{background:#1a202c;width:100vw;min-height:100vh;padding:20px;box-sizing:border-box;display:grid;place-items:center;overflow-y:auto}.auth-container{width:100%;max-width:1100px;display:flex;background-color:#2d3748;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;min-height:700px}.info-panel{flex:1;padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid #4a5568;color:var(--color-grey-light)}.info-panel .logo-container img{max-width:200px;margin-bottom:20px}.info-panel h1{font-size:2.5rem;color:var(--color-white);margin:0 0 15px}.info-panel .tagline{font-size:1.1rem;color:var(--palette-bg-light);margin-bottom:30px;max-width:400px}.info-panel .features-list{margin:20px 0;text-align:left;max-width:400px;width:100%;padding:0 20px}.info-panel .features-list h4{color:var(--color-white);margin-bottom:15px;text-align:center;font-size:1.1rem}.info-panel .features-list ul{list-style:none;padding:0;margin:0}.info-panel .features-list li{margin-bottom:12px;color:var(--color-grey-light);font-size:.95rem;padding-left:20px;position:relative}.info-panel .features-list li:before{content:"✓";position:absolute;left:0;top:1px;color:var(--color-accent);font-weight:700;font-size:1rem}.info-panel .community-link-container{margin-top:20px}.discord-button{display:inline-block;padding:10px 20px;background-color:#5865f2;color:#fff;text-decoration:none;font-weight:700;border-radius:var(--border-radius-md);transition:background-color .2s ease}.discord-button:hover{background-color:#4752c4}.screenshots-container{display:flex;gap:15px;margin-top:auto;padding-top:30px}.screenshots-container img{width:100%;max-width:200px;border-radius:var(--border-radius-md);border:2px solid #4a5568;box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.screenshots-container img:hover{transform:scale(1.05);box-shadow:0 10px 20px #0000004d}.form-panel{width:100%;max-width:420px;padding:40px;display:flex;flex-direction:column;justify-content:center;background-color:var(--color-background-content)}.auth-form{width:100%;padding:0;border:none;box-shadow:none;background:none;max-width:none;border-radius:0}.auth-form h2{text-align:center;margin-top:0;margin-bottom:25px;color:var(--color-text-primary)}.auth-form form div{margin-bottom:20px}.auth-form label{display:block;margin-bottom:5px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password]{width:100%;padding:10px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);background-color:var(--color-background-input);color:var(--color-text-input);font-size:1rem}.auth-form input:focus{border-color:var(--color-primary)}.auth-form button[type=submit]{width:100%}.or-divider{text-align:center;margin:20px 0;border-bottom:1px solid var(--color-border-divider);line-height:.1em}.or-divider span{background:var(--color-background-content);padding:0 10px;color:var(--color-text-secondary);font-size:.9em}.auth-form .secondary-button{width:100%}.auth-form p{text-align:center;margin-top:20px;color:var(--color-text-secondary)}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-size:1em;padding:0}.message-area.auth-messages{width:100%;margin-bottom:20px}.auth-messages .error-message,.auth-messages .success-message{padding:10px;border-radius:var(--border-radius-sm);text-align:center;margin-bottom:15px;border:1px solid}.auth-form>.error-message{color:var(--color-danger);background-color:var(--color-danger-bg);border-color:color-mix(in srgb,var(--color-danger) 30%,transparent);padding:10px;border-radius:var(--border-radius-sm);text-align:center;margin-bottom:15px}.auth-messages .success-message{color:var(--color-success);background-color:var(--color-success-bg);border-color:color-mix(in srgb,var(--color-success) 30%,transparent)}.terms-agreement-box{display:flex;align-items:flex-start;gap:10px;margin-top:5px;padding:10px;background-color:var(--color-background-hover-subtle);border-radius:var(--border-radius-sm)}.terms-agreement-box input[type=checkbox]{margin-top:3px;flex-shrink:0}.terms-agreement-box .checkbox-label{font-size:.9em;color:var(--color-text-secondary);font-weight:400;line-height:1.5}.terms-agreement-box .checkbox-label a{color:var(--color-primary)}.spinner{border:4px solid var(--color-grey-light);border-top:4px solid var(--color-primary);border-radius:50%;width:40px;height:40px;margin:20px auto;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ban-reason-display{background-color:var(--color-background-hover-subtle);padding:15px;margin:20px 0;border-radius:var(--border-radius-md);border:1px solid var(--color-border-divider);text-align:left}.ban-reason-display p{margin:5px 0;text-align:left}.ban-reason-display em{color:var(--color-text-primary)}.button-link{display:inline-block;padding:10px 20px;text-decoration:none;background-color:var(--color-primary);color:var(--color-text-on-primary);border-radius:var(--border-radius-md);font-weight:700;margin-top:20px;transition:background-color .2s ease}.button-link:hover{background-color:var(--color-primary-hover)}@media (max-width: 900px){.auth-page{align-items:flex-start;padding:0}.auth-container{flex-direction:column;min-height:100vh;border-radius:0}.info-panel{border-right:none;border-bottom:1px solid #4a5568}.form-panel{max-width:none;padding:30px 20px;flex-grow:1}.screenshots-container{margin-top:30px}}@media (max-width: 500px){.screenshots-container{flex-direction:column;align-items:center}.info-panel{padding:20px}.info-panel h1{font-size:2rem}}.navigation-sidebar{width:var(--nav-width-expanded);background-color:var(--color-background-nav);color:var(--color-text-on-nav);display:flex;flex-direction:column;height:100%;position:sticky;top:0;flex-shrink:0;z-index:10;transition:width var(--transition-speed-normal) var(--transition-timing-function);overflow:hidden}.navigation-sidebar.collapsed{width:var(--nav-width-collapsed)}.main-nav-toggle{background:none;border:none;color:var(--color-text-on-nav);opacity:.8;padding:15px;width:100%;text-align:center;cursor:pointer;font-size:1.5em;line-height:1;transition:color var(--transition-speed-fast) var(--transition-timing-function),background-color var(--transition-speed-fast) var(--transition-timing-function);flex-shrink:0}.main-nav-toggle:hover{color:var(--color-white);opacity:1;background-color:color-mix(in srgb,var(--color-black) 20%,var(--color-background-nav))}.main-nav-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.nav-scrollable-area{flex-grow:1;overflow-y:auto;overflow-x:hidden}.navigation-sidebar ul{margin-top:10px;list-style:none;padding:0}.nav-scrollable-area>ul:first-child{margin-top:0}.navigation-sidebar li button{background:none;border:none;color:var(--color-text-on-nav);padding:15px;width:100%;text-align:left;cursor:pointer;font-size:1rem;font-weight:var(--font-weight-normal);transition:background-color var(--transition-speed-fast) var(--transition-timing-function),color var(--transition-speed-fast) var(--transition-timing-function);display:flex;align-items:center;gap:12px;white-space:nowrap;border-radius:0}.navigation-sidebar li button:hover{background-color:color-mix(in srgb,var(--color-black) 20%,var(--color-background-nav));color:var(--color-white)}.navigation-sidebar li button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.nav-discord-link{background:none;border:none;color:var(--color-text-on-nav);padding:15px;width:100%;text-align:left;cursor:pointer;font-size:1rem;font-weight:var(--font-weight-normal);transition:background-color var(--transition-speed-fast) var(--transition-timing-function),color var(--transition-speed-fast) var(--transition-timing-function);display:flex;align-items:center;gap:12px;white-space:nowrap;border-radius:0;text-decoration:none;box-sizing:border-box;flex-shrink:0}.nav-discord-link:hover{background-color:color-mix(in srgb,var(--color-black) 20%,var(--color-background-nav));color:var(--color-white)}.nav-discord-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.nav-icon{font-size:1.3em;line-height:1;flex-shrink:0;width:24px;text-align:center}.nav-label{transition:opacity .2s ease;opacity:1}.navigation-sidebar.collapsed li button,.navigation-sidebar.collapsed .nav-discord-link{justify-content:center;padding:15px 10px;gap:0}.navigation-sidebar.collapsed .nav-label{opacity:0;position:absolute;pointer-events:none}.navigation-sidebar .logout-button{font-family:inherit;font-size:1em;cursor:pointer;border-radius:var(--border-radius-sm);background-color:var(--color-grey-dark);color:var(--color-white);border:none;padding:10px;text-align:center;font-weight:var(--font-weight-bold);margin:20px 10px;transition:background-color var(--transition-speed-fast) var(--transition-timing-function),width var(--transition-speed-fast) var(--transition-timing-function),margin var(--transition-speed-fast) var(--transition-timing-function);display:flex;align-items:center;justify-content:center;gap:12px;width:auto;white-space:nowrap;flex-shrink:0}.navigation-sidebar .logout-button:hover{background-color:var(--color-danger)}.navigation-sidebar .logout-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.navigation-sidebar:not(.collapsed) .logout-button{justify-content:flex-start;width:calc(100% - 40px);margin:20px;padding:10px 15px}.navigation-sidebar.collapsed .logout-button .nav-label{display:none}.game-nav-title{padding:12px 15px 6px;font-size:.85em;font-weight:var(--font-weight-semibold);color:var(--palette-bg-light);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid color-mix(in srgb,var(--color-black) 30%,var(--color-background-nav));margin-top:10px}.navigation-sidebar.collapsed .game-nav-title{display:none}.navigation-sidebar ul.game-specific-nav{margin-top:0;padding-top:0}.navigation-sidebar li.active button{background-color:var(--color-primary);color:var(--color-text-on-primary);font-weight:var(--font-weight-bold)}.settings-form{max-width:600px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}.settings-form h2{margin-bottom:25px;font-size:1.8em;border-bottom:1px solid var(--color-border-divider);padding-bottom:15px}.settings-section{background-color:var(--color-background-content);padding:25px;margin-bottom:30px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-divider);width:100%;box-sizing:border-box}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin-top:0;border-bottom:1px solid var(--color-border-divider);padding-bottom:10px;margin-bottom:25px;color:var(--color-text-primary);font-size:1.3em}.settings-description{line-height:1.6;color:var(--color-text-secondary);margin-bottom:25px;font-size:.95em}.settings-section div{margin-bottom:20px}.settings-section div:last-of-type{margin-bottom:0}.settings-section label{display:block;margin-bottom:8px;font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-size:.9em}.settings-section input[type=text],.settings-section input[type=email],.settings-section input[type=password]{width:100%;padding:10px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);font-size:1rem;background-color:var(--color-background-input);color:var(--color-text-primary);box-sizing:border-box}.settings-section input[type=text]:focus,.settings-section input[type=email]:focus,.settings-section input[type=password]:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.settings-section button[type=submit]{display:block;width:auto;margin-left:auto;margin-top:25px}.settings-section div .password-input-container{margin-bottom:0}@media (max-width: 768px){.settings-form{max-width:100%}.settings-section{padding:20px}.settings-section button[type=submit]{width:100%;margin-left:0}}.dashboard{display:flex;flex-direction:column;height:100%;width:100%;padding:30px;box-sizing:border-box;min-height:0;min-width:0;overflow:hidden}.dashboard .dashboard-header,.dashboard .dashboard-filters{flex-shrink:0}.dashboard .game-list{flex-grow:1;overflow-y:auto;min-height:0;background-color:var(--color-background-content);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:10px;list-style:none;margin:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid var(--color-border-divider);padding-bottom:15px;gap:15px;flex-wrap:wrap}.dashboard-header h3{margin:0;white-space:nowrap;font-size:1.6em}.dashboard-header .header-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.header-actions .user-tokens{font-weight:var(--font-weight-bold);color:var(--color-text-primary);background-color:var(--color-grey-light);padding:5px 10px;border-radius:var(--border-radius-sm);white-space:nowrap}.header-actions .create-game-button{background-color:var(--color-secondary);color:var(--color-text-on-secondary);padding:8px 15px;white-space:nowrap}.header-actions .create-game-button:hover{background-color:var(--color-secondary-hover)}.header-actions .verification-notice{font-size:.9em;color:var(--color-text-secondary);font-style:italic;white-space:nowrap}.dashboard-filters{margin-bottom:20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-filters .filter-label{font-weight:var(--font-weight-bold);margin-right:5px;white-space:nowrap;color:var(--color-text-secondary)}.dashboard-filters .filter-button{padding:5px 10px;font-size:.85rem;background-color:var(--color-background-content);color:var(--color-text-primary);border:1px solid var(--color-border);font-weight:var(--font-weight-bold)}.dashboard-filters .filter-button:hover{background-color:var(--color-background-hover-subtle);border-color:var(--color-grey-dark)}.dashboard-filters .filter-button.active{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.dashboard-filters .filter-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border);color:var(--color-text-disabled);cursor:not-allowed;opacity:.7}.dashboard-filters .filter-button.active:disabled{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);opacity:.6}.game-list-item{display:flex;flex-direction:column;padding:12px 10px;border-bottom:1px solid var(--color-border-divider);transition:background-color var(--transition-speed-fast) ease;gap:0}.dashboard .game-list>li:last-child{border-bottom:none}.game-list-item:hover{background-color:var(--color-background-hover-subtle)}.game-list-item.expanded{background-color:var(--color-background-hover-very-subtle, var(--color-grey-x-light))}.game-list-item-main-row{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;flex-wrap:wrap}.game-list-item.status-running{border-left:4px solid var(--color-success);padding-left:6px}.game-list-item.status-open{border-left:4px solid var(--color-info);padding-left:6px}.game-list-item.status-closed{border-left:4px solid var(--color-danger);opacity:.8;padding-left:6px}.game-list-item.joined{background-color:var(--color-info-bg)}.game-list-item.joined.expanded{background-color:color-mix(in srgb,var(--color-info-bg) 90%,var(--color-background-hover-very-subtle, var(--color-grey-x-light)))}.game-list-item-main-row .game-info{flex-grow:1;margin-right:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:200px}.game-info .game-name{font-weight:var(--font-weight-bold);color:var(--color-text-primary);cursor:pointer;transition:color .2s ease;border-radius:var(--border-radius-xs);padding:2px 4px;margin:-2px -4px}.game-info .game-name:hover,.game-info .game-name:focus{color:var(--color-text-link-hover);text-decoration:underline}.game-info .game-name:focus-visible{outline:2px solid var(--color-focus-ring-info);outline-offset:1px}.game-info .lock-icon{color:var(--color-text-secondary);font-size:.9em;margin-left:2px}.game-info .game-players{font-size:.9em;color:var(--color-text-secondary);white-space:nowrap}.game-info .game-status-tag{font-size:.8em;font-weight:var(--font-weight-bold);padding:2px 6px;border-radius:var(--border-radius-sm);color:#fff;text-transform:uppercase;white-space:nowrap}.game-status-tag.status-open{background-color:var(--color-info);color:var(--color-text-on-primary)}.game-status-tag.status-running{background-color:var(--color-success);color:var(--color-text-on-primary)}.game-status-tag.status-closed{background-color:var(--color-danger);color:var(--color-text-on-danger)}.game-status-tag.status-joined{background-color:var(--color-secondary);color:var(--color-text-on-secondary)}.game-status-tag.status-full{background-color:var(--color-warning);color:var(--color-text-on-warning)}.game-list-item-main-row .game-actions{flex-shrink:0;white-space:nowrap}.game-list-item .game-item-expanded-details{flex-basis:100%;padding:12px 0 5px;margin-top:10px;border-top:1px solid var(--color-border-divider)}.game-list-item.status-open .game-item-expanded-details,.game-list-item.status-running .game-item-expanded-details,.game-list-item.status-closed .game-item-expanded-details{padding-left:0}.game-item-expanded-details h4{margin-top:0;margin-bottom:8px;font-size:.9em;color:var(--color-text-secondary);font-weight:var(--font-weight-bold)}.game-item-expanded-details p{font-size:.85em;margin:0 0 5px;line-height:1.4;color:var(--color-text-primary)}.game-item-expanded-details p strong{color:var(--color-text-secondary);margin-right:4px;font-weight:var(--font-weight-semibold)}.game-actions button{padding:6px 12px;font-size:.85rem}.game-actions .enter-game-button{background-color:var(--color-accent);color:var(--color-text-primary)}.game-actions .enter-game-button:hover{background-color:var(--color-accent-hover)}.no-games-message{text-align:center;padding:20px;color:var(--color-text-secondary);font-style:italic;background-color:var(--color-background-hover-subtle);border-radius:var(--border-radius-sm)}.game-list-item.tutorial-item{background-color:color-mix(in srgb,var(--color-accent) 15%,var(--color-background-content));border-left-color:var(--color-accent);border-left-width:4px}.game-list-item.tutorial-item .game-name strong{color:var(--color-accent-dark)}.game-list-item.tutorial-item p.tutorial-description{width:100%;font-size:.9em;color:var(--color-text-secondary);margin:5px 0 0;padding-left:2px}@media (max-width: 768px){.dashboard{padding:0;height:100%}.dashboard .dashboard-header{padding:15px 15px 10px;margin-bottom:15px;flex-direction:column;align-items:stretch;gap:12px;border-bottom:1px solid var(--color-border-divider)}.dashboard .dashboard-header h3{text-align:center;font-size:1.5em}.dashboard .dashboard-header .header-actions{justify-content:space-around;gap:10px}.header-actions .create-game-button{padding:10px 15px;font-size:.95rem}.dashboard .dashboard-filters{padding:0 15px 15px;margin-bottom:0;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;border-bottom:1px solid var(--color-border-divider)}.dashboard .dashboard-filters .filter-label{width:100%;text-align:center;margin-bottom:5px;margin-right:0}.dashboard .dashboard-filters .filter-button{flex-grow:1;padding:8px 10px;font-size:.8rem;min-width:90px}.dashboard .game-list{padding:0;border-radius:0;box-shadow:none;border-top:none}.game-list-item{align-items:stretch;gap:10px;padding:12px 15px;border-left-width:3px!important;padding-left:12px!important;border-bottom:1px solid var(--color-border-divider)}.dashboard .game-list>li:last-child{border-bottom:none}.game-list-item-main-row{flex-direction:column;align-items:stretch;gap:8px}.game-list-item-main-row .game-info{margin-right:0;gap:6px;flex-direction:column;align-items:flex-start}.game-info .game-name{font-size:1.1em}.game-info .game-players{font-size:.95em}.game-info .game-status-tag{margin-top:3px;display:inline-block}.game-list-item-main-row .game-actions{align-self:stretch;display:flex}.game-list-item-main-row .game-actions button{flex-grow:1;padding:10px;font-size:.9rem}.game-list-item .game-item-expanded-details{padding:10px 0 5px;margin-top:8px;border-top:1px solid var(--color-border-subtle)}.game-item-expanded-details h4{font-size:.9rem;text-align:left;margin-bottom:6px}.game-item-expanded-details p{font-size:.85rem;line-height:1.5}.no-games-message{padding:20px 15px;font-size:.95em;margin:10px;border-radius:var(--border-radius-sm)}.game-list-item.tutorial-item .game-list-item-main-row .game-info{flex-direction:column;align-items:flex-start}}.admin-dashboard{padding:20px;height:100%;display:flex;flex-direction:column}.admin-dashboard h2{margin-top:0;border-bottom:2px solid var(--color-border-divider);padding-bottom:10px}.admin-tabs{display:flex;gap:5px;margin-bottom:20px;border-bottom:1px solid var(--color-border-divider);flex-wrap:wrap}.admin-tabs .tab-button{padding:10px 20px;font-size:1rem;font-weight:var(--font-weight-bold);border:none;border-bottom:3px solid transparent;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.admin-tabs .tab-button:hover{background-color:var(--color-background-hover-subtle);color:var(--color-text-primary)}.admin-tabs .tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:15px}.admin-filters{display:flex;gap:10px;flex-wrap:wrap;padding:10px 0;justify-content:flex-start}.filter-button{padding:6px 12px;border:1px solid var(--color-border-divider);background-color:var(--color-background-content-alt);border-radius:var(--border-radius-lg);font-size:.85em;cursor:pointer;transition:all .2s ease}.filter-button:hover{border-color:var(--color-text-secondary);background-color:var(--color-background-hover-subtle)}.filter-button.active-yes{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success);font-weight:var(--font-weight-bold)}.filter-button.active-no{background-color:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger);font-weight:var(--font-weight-bold)}.admin-search-bar{display:flex;align-items:center;gap:8px}.admin-search-bar input{padding:8px;min-width:250px}.admin-pagination{display:flex;align-items:center;gap:8px}.admin-pagination button{padding:6px 10px}.admin-pagination span{font-size:.9em;color:var(--color-text-secondary)}.admin-table-container{flex-grow:1;overflow:auto;border:1px solid var(--color-border-divider);border-radius:var(--border-radius-md)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border-divider)}.admin-table th{background-color:var(--color-background-content-alt);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);position:sticky;top:0}.admin-table tr:hover{background-color:var(--color-background-hover-subtle)}.admin-table td .status-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.status-indicator.true{background-color:var(--color-success)}.status-indicator.false{background-color:var(--color-danger)}.admin-table td.score-low{color:var(--color-success)}.admin-table td.score-medium{color:var(--color-warning);font-weight:var(--font-weight-bold)}.admin-table td.score-high{color:var(--color-danger);font-weight:var(--font-weight-bold);animation:pulse-text 2s infinite ease-in-out}@keyframes pulse-text{50%{opacity:.6}}.admin-table .action-button{padding:4px 8px;font-size:.8rem}.link-button{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;font-family:inherit;text-align:left}.link-button:hover{color:var(--color-primary-hover)}@media (max-width: 768px){.admin-controls{flex-direction:column;gap:10px;align-items:stretch}}.admin-detail-view{padding:20px;height:100%;display:flex;flex-direction:column}.detail-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--color-border-divider);padding-bottom:10px;margin-bottom:10px;flex-shrink:0}.detail-header h3{margin:0}.detail-header .back-button{padding:8px 16px;margin-left:15px}.detail-actions{margin-bottom:20px;display:flex;gap:10px;align-items:center}.detail-actions .action-button.ban{background-color:var(--color-danger);color:var(--color-white)}.detail-actions .action-button.unban{background-color:var(--color-success);color:var(--color-white)}.detail-actions .action-button.delete-user{background-color:transparent;border:1px solid var(--color-danger);color:var(--color-danger);margin-left:auto}.detail-actions .action-button.delete-user:hover{background-color:var(--color-danger);color:var(--color-white)}.delete-game-button{background-color:transparent;border:1px solid var(--color-danger);color:var(--color-danger)}.delete-game-button:hover{background-color:var(--color-danger);color:var(--color-white)}.admin-detail-view .admin-tabs{flex-shrink:0}.tab-content{flex-grow:1;overflow-y:auto;padding-top:20px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.summary-grid div{background-color:var(--color-background-content-alt);padding:10px;border-radius:var(--border-radius-sm)}.summary-status{grid-column:1 / -1;font-weight:var(--font-weight-bold)}.summary-status.banned{color:var(--color-danger)}.summary-status.active{color:var(--color-success)}.ban-reason{grid-column:1 / -1;background-color:var(--color-danger-light)!important;border:1px solid var(--color-danger);color:var(--color-text-primary)}.summary-section-manager{grid-column:1 / -1;margin-top:15px;display:flex;flex-direction:column;gap:8px;background-color:var(--color-background-hover-subtle);padding:15px;border-radius:var(--border-radius-sm)}.item-editor{display:flex;align-items:center;gap:10px}.item-editor input{padding:8px;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-input);background-color:var(--color-background-input);color:var(--color-text-input)}.item-editor input[type=number]{max-width:120px}.item-editor input[type=email]{flex-grow:1;max-width:350px}.item-editor button{padding:8px 12px}.message-list{display:flex;flex-direction:column;gap:15px}.message-item{background-color:var(--color-background-content-alt);padding:12px;border-radius:var(--border-radius-sm);border-left:4px solid var(--color-primary-light)}.message-item p{margin:0}.message-item p:first-child{font-size:.9em;color:var(--color-text-secondary);margin-bottom:5px}.admin-table .action-button.danger{background-color:var(--color-background-content-alt);color:var(--color-danger);border:1px solid var(--color-danger-light)}.admin-table .action-button.danger:hover{background-color:var(--color-danger-light)}.reason-cell{white-space:pre-wrap;word-break:break-word;max-width:400px}.report-list{display:flex;flex-direction:column;gap:15px}.report-item{background-color:var(--color-background-content-alt);border:1px solid var(--color-border-divider);border-radius:var(--border-radius-sm);padding:12px}.report-item.status-pending{border-left:4px solid var(--color-warning)}.report-item.status-reviewed{border-left:4px solid var(--color-success)}.report-item.status-dismissed{border-left:4px solid var(--color-grey-medium)}.report-header{display:flex;justify-content:space-between;align-items:center;font-size:.9em;color:var(--color-text-secondary);padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed var(--color-border-divider)}.report-status{font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:var(--border-radius-sm)}.status-PENDING{background-color:var(--color-warning-light);color:var(--color-warning)}.status-REVIEWED{background-color:var(--color-success-light);color:var(--color-success)}.status-DISMISSED{background-color:var(--color-grey-light);color:var(--color-text-secondary)}.report-body p{margin:0;white-space:pre-wrap;word-break:break-word}.report-actions{margin-top:10px;display:flex;gap:10px}.report-footer{margin-top:10px;padding-top:8px;border-top:1px dashed var(--color-border-divider);font-size:.8em;font-style:italic;color:var(--color-text-secondary);text-align:right}.report-chat-context{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-divider-light)}.report-chat-context summary{cursor:pointer;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.chat-context-messages{margin-top:8px;background-color:var(--color-background-body);border:1px solid var(--color-border-divider);border-radius:var(--border-radius-sm);padding:10px;max-height:200px;overflow-y:auto;font-size:.9em}.context-message-item{padding:4px 6px;border-radius:var(--border-radius-xs);margin-bottom:2px}.context-message-item.reported{background-color:var(--color-warning-light);border-left:3px solid var(--color-warning);font-weight:var(--font-weight-bold)}.context-message-sender{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-right:5px}.context-message-content{white-space:pre-wrap;word-break:break-word}.suppression-list{display:flex;flex-direction:column;gap:15px}.suppression-item{background-color:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--border-radius-sm);padding:12px}.suppression-item-header{display:flex;justify-content:space-between;font-size:.9em;color:var(--color-text-secondary);padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed var(--color-danger)}.suppression-item-header span:first-child{font-weight:var(--font-weight-bold);color:var(--color-danger);text-transform:uppercase}.suppression-item p{margin:4px 0;word-break:break-word}.report-tab{position:relative}.notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background-color:var(--color-danger);border-radius:50%;border:1px solid var(--color-background-content);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #dc3545b3}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 #dc354500}}.game-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.game-detail-section{background-color:var(--color-background-content-alt);padding:15px;border-radius:var(--border-radius-md);border:1px solid var(--color-border-divider);display:flex;flex-direction:column;gap:8px}.game-detail-section h4{margin-top:0;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid var(--color-border-divider)}.game-detail-section p{margin:2px 0}.player-resource-table,.team-resource-table,.map-tile-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.9em}.player-resource-table th,.player-resource-table td,.team-resource-table th,.team-resource-table td,.map-tile-table th,.map-tile-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--color-border-divider-light)}.player-resource-table th,.team-resource-table th,.map-tile-table th{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.auto-creator-view .summary-section-manager{margin-bottom:20px}.auto-creator-view .settings-form{padding:20px;background-color:var(--color-background-content-alt);border-radius:var(--border-radius-md);border:1px solid var(--color-border-divider)}.auto-creator-view .settings-form h4{margin-top:0;margin-bottom:15px}.auto-creator-view .settings-form .form-group{margin-bottom:15px}.auto-creator-view .settings-form label{display:block;margin-bottom:5px;font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.auto-creator-view .settings-form input,.auto-creator-view .settings-form select{width:100%;padding:8px;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-input)}.auto-creator-view .settings-form .form-row{display:flex;gap:15px}.auto-creator-view .settings-form .form-row .form-group{flex:1}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-grey-medium);transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--color-success)}input:checked+.slider:before{transform:translate(26px)}.form-checkbox-group{display:flex;align-items:center;gap:10px;margin-bottom:15px}.form-checkbox-group label{margin:0;font-weight:400}.activity-history-tab{display:flex;flex-direction:column;height:100%;gap:15px}.history-controls{flex-shrink:0;display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--color-border-divider)}.history-controls button{padding:5px 10px}.history-controls button.active{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.chart-container{flex-grow:1;position:relative;min-height:300px}.tile-info-window{position:absolute;top:55px;left:15px;background-color:var(--color-background-content-translucent, rgba(40, 44, 52, .92));border:1px solid var(--color-border-dark, #555);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:15px 20px;z-index:10;min-width:300px;max-width:350px;width:auto;color:var(--color-text-on-nav);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;transition:opacity .2s ease-in-out,transform .2s ease-in-out;opacity:1;transform:translate(0);max-height:calc(100vh - 90px);overflow-y:auto}.pending-activation-section{border-color:var(--color-accent-secondary)!important;background-color:var(--color-accent-secondary-light-transparent)!important}.pending-activation-section h5{color:var(--color-accent-secondary);border-bottom-color:var(--color-accent-secondary)}.pending-activation-section p{margin-bottom:15px}.pending-activation-actions{display:flex;justify-content:space-between;gap:10px}.pending-activation-actions button{flex:1}.tile-info-window .close-button{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.6rem;font-weight:700;color:var(--color-text-secondary);cursor:pointer;padding:0 4px;line-height:1;transition:color var(--transition-speed-fast);z-index:11}.tile-info-window .close-button:hover{color:var(--color-primary)}.tile-info-window .close-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.tile-info-window h4{margin-top:0;margin-bottom:12px;font-size:1.25em;border-bottom:1px solid var(--color-border-divider);padding-bottom:8px;color:var(--color-accent);font-weight:var(--font-weight-bold)}.tile-info-window h5{margin-top:15px;margin-bottom:10px;font-size:1.05em;color:var(--color-text-on-nav);font-weight:var(--font-weight-semibold);border-bottom:1px dashed var(--color-border-divider);padding-bottom:5px}.tile-info-window .section-box:first-of-type h5,.tile-info-window>.info-content>.section-box:first-child h5{margin-top:0}.tile-info-window .info-content p,.tile-info-window .tile-type-info p{margin:6px 0;font-size:.95rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap;overflow-wrap:break-word}.tile-info-window .tile-type-info .info-text{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;font-style:italic}.tile-info-window .info-content strong{color:inherit;margin-right:5px;font-weight:var(--font-weight-semibold)}.tile-info-window .info-content ul{list-style:disc;padding-left:20px;margin:8px 0 12px;font-size:.9rem}.tile-info-window .info-content li{margin-bottom:4px}.tile-info-window .section-box{border:1px solid var(--color-border-dark);padding:10px 15px;margin-top:15px;border-radius:var(--border-radius-sm);background-color:#0000001a}.tile-info-window .structure-details p{margin:4px 0}.tile-info-window .structure-actions,.tile-info-window .build-controls{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.tile-info-window .upgrade-action,.tile-info-window .delete-action,.tile-info-window .capture-action,.tile-info-window .sabotage-action{display:flex;align-items:center;gap:8px}.tile-info-window .build-controls select{flex-grow:1;padding:6px 8px;border:1px solid var(--color-border);background-color:var(--color-background-input);color:var(--color-text-input);border-radius:var(--border-radius-sm);font-size:.9em;min-width:120px;cursor:pointer}.tile-info-window .build-controls select option{color:var(--color-text-input);background-color:var(--color-background-body)}.tile-info-window .build-controls select:focus{outline:2px solid var(--color-primary-focus, var(--color-primary));border-color:var(--color-primary)}.tile-info-window .build-controls select:disabled{background-color:var(--color-background-disabled);cursor:not-allowed;opacity:.7}.tile-info-window .build-controls button{flex-shrink:0;width:auto;min-width:60px}.tile-info-window .build-cost-display{font-size:.9em;margin-top:8px;margin-bottom:2px;text-align:left;margin-left:0;width:100%;color:var(--color-text-secondary)}.tile-info-window .build-cost-display .cost-container{justify-content:flex-start}.tile-info-window .structure-effects-preview{margin-top:8px;padding-top:8px;border-top:1px dashed var(--color-border-divider);font-size:.9em;line-height:1.4}.tile-info-window .effect-line{margin:4px 0;color:var(--color-text-on-nav);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tile-info-window .effect-line strong{font-weight:var(--font-weight-semibold);flex-shrink:0;color:var(--color-text-on-nav)}.tile-info-window .effect-note{margin-top:6px;margin-bottom:0;font-style:italic;font-size:.85em;color:var(--color-text-secondary)}.tile-info-window .production-container,.tile-info-window .storage-bonus-container{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.6em;white-space:nowrap;color:var(--color-text-secondary)}.tile-info-window .production-item,.tile-info-window .storage-bonus-item{display:inline-flex;align-items:center;gap:.2em}.tile-info-window .production-item{color:var(--color-success-light, #8fbc8f)}.tile-info-window .storage-bonus-item{color:var(--color-text-on-nav)}.tile-info-window .resource-icon.production-icon,.tile-info-window .resource-icon.storage-bonus-icon{margin-left:.1em;margin-right:0;width:.9em;height:.9em;vertical-align:-.1em;fill:currentColor}.tile-info-window .production-value,.tile-info-window .storage-bonus-value{font-weight:var(--font-weight-normal);font-size:1em}.tile-info-window .fallback-production,.tile-info-window .fallback-storage-bonus{font-style:italic;color:var(--color-text-secondary)}.tile-info-window .fallback-production .production-value,.tile-info-window .fallback-storage-bonus .storage-bonus-value{color:var(--color-text-secondary)}.tile-info-window .fallback-production .production-label,.tile-info-window .fallback-storage-bonus .storage-bonus-label{font-size:.9em;margin-left:.1em}.tile-info-window .cost-display{font-size:.85em;margin-left:5px;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;vertical-align:middle;color:var(--color-text-secondary)}.tile-info-window .cost-container{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.6em}.tile-info-window .cost-item{display:inline-flex;align-items:center;gap:.2em;white-space:nowrap}.tile-info-window .resource-icon.cost-icon{width:.9em;height:.9em;margin-right:0;vertical-align:-.1em}.tile-info-window .cost-value{font-weight:var(--font-weight-normal);transition:color var(--transition-speed-fast) ease-in-out;font-size:1em}.tile-info-window .cost-value.affordable{color:var(--color-success-light, #8fbc8f)}.tile-info-window .cost-value.unaffordable{color:var(--color-danger-light, #f08080)}.tile-info-window .fallback-cost .cost-label{font-size:.9em;margin-left:.1em;font-weight:var(--font-weight-semibold)}.tile-info-window .resource-icon.gold-icon{fill:#ffc107}.tile-info-window .resource-icon.influence-icon{fill:#b19cd9}.tile-info-window .resource-icon.team-influence-icon{fill:#6f42c1}.tile-info-window .resource-icon.lumber-icon{fill:peru}.tile-info-window .resource-icon.iron-icon{fill:#a9a9a9}.tile-info-window .resource-icon.dev-points-icon{fill:#2cd882}.tile-info-window .small-button{padding:4px 8px!important;font-size:.85em!important;min-width:auto!important;line-height:1.2!important}.tile-info-window button:disabled{cursor:not-allowed;opacity:.6}.tile-info-window .info-text{color:var(--color-text-secondary);font-size:.85em;margin-top:5px;margin-bottom:0;font-style:italic}.tile-info-window .cannot-build-section .info-text{margin-top:2px}.tile-info-window .effect-protected{color:var(--color-info-light, #75caeb);font-weight:var(--font-weight-semibold);margin-top:8px;margin-bottom:4px}.tile-info-window .status-info-section.section-box{margin-top:15px;border-color:var(--color-info-border, #5bc0de);background-color:#5bc0de1a}.tile-info-window .status-info-section h5{color:var(--color-info, #5bc0de);border-bottom-color:var(--color-info-light-transparent, rgba(117, 202, 235, .5))}.tile-info-window .tile-defense-display{font-weight:var(--font-weight-semibold);color:var(--color-text-on-nav);display:flex;align-items:center;gap:5px;margin-top:5px;margin-bottom:8px}.tile-info-window .resource-icon.defense-icon{fill:var(--color-danger, #dc3545);width:1.1em;height:1.1em}.tile-info-window .resource-icon.defense-icon.inline-small{width:1em;height:1em;vertical-align:-.1em;fill:var(--color-danger, #dc3545)}.tile-info-window .tile-type-info .tile-defense-display .resource-icon.defense-icon.inline-small{fill:var(--color-danger, #dc3545)}.tile-info-window .structure-details .tile-defense-display .resource-icon.defense-icon{fill:var(--color-danger, #dc3545);margin-right:0}.tile-info-window .structure-details .tile-defense-display strong{margin-left:2px;margin-right:4px;color:var(--color-text-on-nav)}.tile-info-window .defense-cost-note{display:block;font-size:.8em;color:var(--color-text-secondary);font-style:italic;margin-top:3px}.tile-info-window .structure-effects-preview .effect-line .resource-icon.defense-icon{width:1em;height:1em;fill:var(--color-info, #5bc0de)}.tile-info-window .structure-effects-preview .effect-line strong+.resource-icon.defense-icon{margin-left:3px}.tile-info-window .tile-type-info.section-box{margin-top:15px;border-color:var(--color-secondary-border, #86b7fe);background-color:#0d6efd14}.tile-info-window .tile-type-info h5{color:var(--color-secondary, #0d6efd);border-bottom-color:var(--color-secondary-light-transparent, rgba(13, 110, 253, .3))}.tile-info-window .tile-type-info .effect-line{margin:5px 0;display:flex;align-items:center;gap:6px}.tile-info-window .tile-type-info .production-container{color:var(--color-text-on-nav);display:inline-flex;flex-wrap:wrap;gap:.5em}.tile-info-window .tile-type-info .production-item{color:var(--color-info-light, #75caeb);display:inline-flex;align-items:center;gap:.2em}.tile-info-window .tile-type-info .resource-icon{width:.9em;height:.9em;vertical-align:-.1em;fill:currentColor}.tile-info-window .tile-type-info .production-value{font-weight:var(--font-weight-normal)}.tile-info-window .tile-type-info .production-label{font-size:.9em;margin-left:.1em;font-weight:var(--font-weight-semibold)}.game-info-view{width:100%;height:100%;box-sizing:border-box;padding:30px;overflow-y:auto}.game-info-view .view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid var(--color-border-divider);padding-bottom:10px;gap:15px;flex-wrap:wrap}.game-info-view .view-header h2{margin:0;font-size:1.7em;word-break:break-word}.game-info-view .view-header .back-button{white-space:nowrap;flex-shrink:0}.details-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:20px}@media (min-width: 768px){.details-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.details-grid>.section-box{margin-bottom:0}.game-info-view>.section-box,.details-grid>.section-box{margin-bottom:20px;width:100%;box-sizing:border-box;padding:15px}.game-info-view>.section-box:last-child{margin-bottom:0}.details-section h3,.players-section h3,.join-section h3,.admin-controls h3{margin-top:0;margin-bottom:12px;font-size:1.25em}.admin-controls h3{color:var(--color-primary)}.details-section p,.players-section p{margin-bottom:8px;line-height:1.4}.details-section strong,.players-section strong{color:var(--color-text-secondary);margin-right:5px;font-weight:var(--font-weight-bold);display:inline-block;min-width:120px}.game-settings-subsection{margin-top:15px;margin-bottom:15px;padding-top:10px;border-top:1px dashed var(--color-border-divider)}.game-settings-subsection h4{font-size:1.05em;color:var(--color-text-secondary);margin-top:0;margin-bottom:10px}.game-settings-subsection p strong{min-width:160px}.details-section .status-tag{font-size:.85em;font-weight:var(--font-weight-bold);padding:2px 6px;border-radius:var(--border-radius-sm);color:#fff;text-transform:uppercase;margin-left:5px;display:inline-block;vertical-align:middle}.details-section .status-tag.status-open{background-color:var(--color-info);color:var(--color-text-on-primary)}.details-section .status-tag.status-running{background-color:var(--color-success);color:var(--color-text-on-primary)}.details-section .status-tag.status-closed{background-color:var(--color-warning);color:var(--color-text-on-warning)}.details-section .status-tag.status-aborted{background-color:var(--color-danger);color:var(--color-text-on-danger)}.player-list{list-style:none;padding:0;margin:0}.player-list li{padding:6px 0;border-bottom:1px dashed var(--color-border-divider);font-size:.9rem}.player-list li:last-child{border-bottom:none}.join-section form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px}.join-section .form-group{flex-grow:1;min-width:150px;margin-bottom:0}.join-section label{display:block;margin-bottom:4px;font-weight:var(--font-weight-bold);font-size:.85em;color:var(--color-text-secondary)}.join-section input[type=password]{width:100%;padding:8px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);font-size:.95rem;box-sizing:border-box}.join-section input[type=password]:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.join-section button[type=submit]{flex-shrink:0;padding:8px 15px}.status-message.section-box{background-color:var(--color-background-hover-subtle);text-align:center;font-style:italic;color:var(--color-text-secondary);padding:12px}.status-message.section-box p{margin:0}.game-running-notice{text-align:center}.game-running-notice p{font-size:1.05em;margin-bottom:12px}.game-running-notice button{background-color:var(--color-success);color:var(--color-text-on-primary)}.game-running-notice button:hover{background-color:color-mix(in srgb,var(--color-success) 85%,var(--color-black))}.admin-controls{margin-top:25px;padding-top:15px}.admin-section{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--color-border-divider)}.admin-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.admin-section h4{margin-top:0;margin-bottom:10px;color:var(--color-text-primary);font-size:1.05em}.admin-section label{display:block;margin-bottom:4px;font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-size:.85em}.admin-section input[type=password]{width:100%;max-width:300px;padding:7px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);margin-bottom:8px;box-sizing:border-box}.admin-section input[type=password]:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.admin-section button{margin-top:4px;font-size:.85rem}.kick-list{list-style:none;padding:0;margin:0}.kick-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:8px;font-size:.9rem}.kick-list li .kick-button{padding:3px 7px;font-size:.75rem;flex-shrink:0}.admin-action-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;align-items:center}.admin-controls .settings-editor-form{display:flex;flex-direction:column;gap:15px}.admin-controls .settings-editor-form h4{text-align:center;margin-bottom:5px}.admin-controls .settings-editor-form label{font-size:.8em;margin-bottom:4px}.admin-controls .settings-editor-form .form-row{display:flex;gap:15px}.admin-controls .settings-editor-form .form-row>div{flex:1}.admin-controls .settings-editor-form select,.admin-controls .settings-editor-form input[type=number]{width:100%;padding:7px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);box-sizing:border-box}.admin-controls .settings-editor-form .calculated-max-players{padding:7px;background-color:var(--color-background-disabled);border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);font-size:.9rem;box-sizing:border-box;width:100%;text-align:left}.admin-controls .settings-editor-form .input-hint{display:block;font-size:.8em;color:var(--color-text-tertiary);margin-top:4px}.admin-controls .settings-editor-form .error-hint{color:var(--color-danger)}.admin-controls .settings-editor-form .advanced-settings-editor{margin-top:10px;padding:10px 15px;background-color:var(--color-background-hover-subtle);border:1px dashed var(--color-border);border-radius:var(--border-radius-sm);display:flex;flex-direction:column;gap:10px}.admin-controls .settings-editor-form .advanced-settings-editor h5{margin:0;font-size:1em;text-align:center;color:var(--color-text-primary)}.admin-controls .settings-editor-form .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-divider)}@media (max-width: 768px){.game-info-view{padding:15px;height:100%;overflow-y:auto;box-sizing:border-box}.game-info-view .view-header{flex-direction:column;align-items:stretch;gap:10px;text-align:center;padding-bottom:15px}.game-info-view .view-header h2{font-size:1.5em}.game-info-view .view-header .back-button{width:100%;padding:10px;font-size:.95rem}.details-grid{grid-template-columns:1fr;gap:15px;margin-bottom:15px}.game-info-view>.section-box,.details-grid>.section-box{padding:15px;margin:0 0 15px;border-radius:var(--border-radius-sm)}.details-section h3,.players-section h3,.join-section h3,.admin-controls h3{font-size:1.15em;text-align:center}.details-section p,.players-section p,.player-list li{font-size:.9rem;line-height:1.5}.details-section strong,.game-settings-subsection p strong{display:block;min-width:auto;margin-bottom:2px;font-weight:var(--font-weight-semibold)}.game-settings-subsection{margin-top:10px;margin-bottom:10px;padding-top:8px}.game-settings-subsection h4{font-size:1em;text-align:center}.details-section .status-tag{font-size:.8em;margin-top:3px}.join-section form{flex-direction:column;align-items:stretch}.join-section button[type=submit]{width:100%;padding:12px;font-size:1rem}.join-section input[type=password]{font-size:1rem;padding:10px}.admin-controls{margin-top:20px;padding-top:10px}.admin-section{padding:15px}.admin-section h4{font-size:1em;text-align:center}.admin-section input[type=password]{max-width:100%;font-size:1rem;padding:10px}.admin-section button{padding:10px;font-size:.9rem}.admin-action-buttons{flex-direction:column;align-items:stretch}.admin-action-buttons button{width:100%}.kick-list li{flex-direction:column;align-items:stretch;gap:5px}.kick-list li .kick-button{width:100%;padding:8px}.admin-controls .settings-editor-form .form-row{flex-direction:column;gap:10px}.admin-controls .settings-editor-form .form-actions{flex-direction:column;align-items:stretch}.admin-controls .settings-editor-form .form-actions button{width:100%}}.create-game-form{box-sizing:border-box;width:100%;height:100%;padding:30px;max-width:650px;margin:0 auto;background-color:var(--color-background-content);border:1px solid var(--color-border-divider);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow-y:auto;min-height:0}.create-game-form h2{margin-top:0;margin-bottom:30px;padding-bottom:15px;font-size:1.8em;font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-align:center;border-bottom:1px solid var(--color-border-divider);flex-shrink:0}.create-game-form form{flex-grow:1;display:flex;flex-direction:column}.create-game-form div{margin-bottom:20px}.create-game-form form>.form-actions{margin-bottom:0}.create-game-form label{display:block;margin-bottom:8px;font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-size:.95em}.create-game-form .calculated-max-players{padding:12px;background-color:var(--color-background-disabled);border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:1rem;box-sizing:border-box;line-height:1.5;width:100%;text-align:left}.create-game-form input[type=text],.create-game-form input[type=number],.create-game-form input[type=password],.create-game-form select{width:100%;padding:12px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);background-color:var(--color-background-input);color:var(--color-text-input);font-size:1rem;box-sizing:border-box;transition:border-color var(--transition-speed-fast),box-shadow var(--transition-speed-fast)}.create-game-form input:focus,.create-game-form select:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.create-game-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007bff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right .9em top 50%;background-size:.7em auto;padding-right:2.8em}.create-game-form .form-row{display:flex;gap:20px;align-items:flex-start}.create-game-form .form-row>div{flex:1;margin-bottom:0}.create-game-form .form-checkbox-group{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:20px}.create-game-form .form-checkbox-group input[type=checkbox]{width:auto;padding:0;margin-top:5px;flex-shrink:0;height:1.1em;width:1.1em;cursor:pointer}.create-game-form .form-checkbox-group label{margin-bottom:0;font-weight:var(--font-weight-normal);color:var(--color-text-primary);cursor:pointer}.create-game-form .form-checkbox-group .input-hint{flex-basis:100%;margin-top:-5px;padding-left:2.1em;color:var(--color-text-tertiary)}.create-game-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid var(--color-border-divider);flex-shrink:0}.create-game-form .form-actions button{padding:10px 25px;min-width:100px}.create-game-form .input-hint{display:block;font-size:.8em;color:var(--color-text-tertiary);margin-top:4px}.create-game-form .error-hint{color:var(--color-danger)}.create-game-form .form-error-summary{margin-top:15px;padding:10px;background-color:color-mix(in srgb,var(--color-danger) 15%,transparent);border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--border-radius-sm);text-align:center;font-size:.9em}.create-game-form input:disabled,.create-game-form select:disabled{background-color:var(--color-background-disabled);cursor:not-allowed;opacity:.7}.create-game-form .form-toggle-advanced{margin-bottom:15px;text-align:right}.create-game-form .form-toggle-advanced .link-button{font-size:.9em;color:var(--color-text-link);background:none;border:none;padding:5px;cursor:pointer}.create-game-form .form-toggle-advanced .link-button:hover{text-decoration:underline;color:var(--color-text-link-hover)}.create-game-form .advanced-settings-section{margin-top:10px;margin-bottom:20px;padding:20px;background-color:var(--color-background-hover-subtle);border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.create-game-form .advanced-settings-section h4{margin-top:0;margin-bottom:15px;font-size:1.1em;color:var(--color-text-primary)}.create-game-form .advanced-settings-section>div{margin-bottom:15px}.create-game-form .advanced-settings-section>div:last-child{margin-bottom:0}@media (max-width: 768px){.create-game-form{padding:15px;max-width:100%;margin:0;border:none;box-shadow:none;border-radius:0;height:100%}.create-game-form h2{font-size:1.5em;margin-bottom:20px;padding-bottom:10px;text-align:center}.create-game-form form{flex-grow:1}.create-game-form label{font-size:.95em}.create-game-form input[type=text],.create-game-form input[type=number],.create-game-form input[type=password],.create-game-form select,.create-game-form .calculated-max-players{padding:12px;font-size:1rem}.create-game-form .form-row{flex-direction:column;gap:0px}.create-game-form .form-row>div{margin-bottom:20px}.create-game-form .form-row>div:last-child{margin-bottom:0}.create-game-form .form-actions{flex-direction:column;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid var(--color-border-divider)}.create-game-form .form-actions button{width:100%;padding:12px 20px}.create-game-form .form-toggle-advanced{text-align:center}.create-game-form .advanced-settings-section{padding:15px}.create-game-form .advanced-settings-section h4{font-size:1.05em;text-align:center}}.game-chat-window{position:absolute;bottom:0;left:0;width:clamp(450px,35vw,650px);max-height:45vh;background-color:var(--color-background-content);border:1px solid var(--color-border);border-bottom:none;border-left:none;border-radius:0 var(--border-radius-lg) 0 0;box-shadow:var(--shadow-md);z-index:2;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s var(--transition-timing-function),height .3s var(--transition-timing-function),max-height .3s var(--transition-timing-function),width .3s var(--transition-timing-function);font-size:.9rem}.game-chat-window.minimized{width:220px;max-height:45px;height:45px;overflow:hidden}.game-chat-header{background-color:var(--color-background-hover-subtle);padding:8px 12px;border-bottom:1px solid var(--color-border-divider);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;cursor:pointer;height:45px;box-sizing:border-box;white-space:nowrap;overflow:hidden}.game-chat-header .chat-title-container{display:inline-flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;flex-grow:1;min-width:0}.game-chat-header h4{margin:0;font-size:1.1em;font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-chat-header .header-dot{display:none}.game-chat-window.minimized .game-chat-header .header-dot{display:inline-block;margin-left:8px;width:9px;height:9px}.chat-disconnected-indicator{color:var(--color-danger);font-weight:700;margin-left:auto;margin-right:10px;flex-shrink:0}.chat-minimize-button{background:none;border:none;font-size:1.2em;font-weight:700;color:var(--color-text-secondary);cursor:pointer;padding:0 5px;line-height:1;transition:color var(--transition-speed-fast);flex-shrink:0;margin-left:5px}.chat-minimize-button:hover{color:var(--color-text-primary)}.chat-minimize-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-radius:2px}.game-chat-tabs{display:flex;background-color:var(--color-background-hover-subtle);border-bottom:1px solid var(--color-border-divider);flex-shrink:0;height:35px;box-sizing:border-box}.chat-tab{flex:1;padding:8px 10px;border:none;border-right:1px solid transparent;background-color:transparent;color:var(--color-text-secondary);font-size:.9em;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-speed-fast),color var(--transition-speed-fast);text-align:center;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden;text-overflow:ellipsis}.game-chat-tabs .chat-tab:not(:last-child){border-right-color:var(--color-border-divider)}.chat-tab:hover:not(:disabled){background-color:var(--color-grey-light);color:var(--color-text-primary)}.chat-tab.active{color:var(--color-primary);background-color:var(--color-background-content);border-bottom:2px solid var(--color-primary);margin-bottom:-1px}.chat-tab:disabled{color:var(--color-text-disabled);cursor:not-allowed;background-color:var(--color-background-disabled);opacity:.7}.chat-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:1}.unread-indicator-dot{display:inline-block;width:8px;height:8px;background-color:var(--color-accent);border-radius:50%;vertical-align:middle;box-shadow:0 0 3px color-mix(in srgb,var(--color-accent) 60%,transparent);flex-shrink:0}.game-chat-messages{flex-grow:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:3px;background-color:var(--color-background-content);min-height:50px}.loading-text{font-style:italic;color:var(--color-text-secondary);text-align:center;margin:auto;padding:10px}.game-chat-message-line{padding:2px 8px;line-height:1.4;display:flex;align-items:baseline;gap:5px;word-break:break-word;position:relative;border-radius:var(--border-radius-sm);transition:background-color .1s ease-in-out}.game-chat-message-line:hover{background-color:var(--color-background-hover-subtle)}.chat-report-button{background:none;border:none;cursor:pointer;font-size:.9em;padding:2px 4px;color:var(--color-text-secondary);opacity:0;transition:opacity .15s ease-in-out,color .15s ease-in-out;margin-left:auto;flex-shrink:0}.game-chat-message-line:hover .chat-report-button{opacity:.7}.chat-report-button:hover{opacity:1;color:var(--color-danger)}.chat-message-sender{font-weight:var(--font-weight-bold);flex-shrink:0;text-shadow:-1px 1px 1px rgba(0,0,0,.3)}.chat-message-content{flex-grow:1;white-space:pre-wrap;color:var(--color-text-primary)}.game-chat-input-area{display:flex;padding:8px 12px;border-top:1px solid var(--color-border-divider);flex-shrink:0;gap:8px;align-items:center;background-color:var(--color-background-hover-subtle)}.game-chat-input-area input[type=text]{flex-grow:1;border-radius:var(--border-radius-sm);padding:6px 10px;font-size:.95em;border:1px solid var(--color-border-input);min-height:34px;background-color:var(--color-background-input);font-family:inherit;box-sizing:border-box;color:var(--color-text-input)}.game-chat-input-area input[type=text]:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}.game-chat-input-area input[type=text]:disabled{background-color:var(--color-background-disabled);cursor:not-allowed;opacity:.7}.game-chat-input-area .send-chat-button{flex-shrink:0;padding:6px 12px;font-size:.9em;height:34px;line-height:1}.coordinate-link{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--color-accent-secondary, #58a6ff);cursor:pointer;display:inline;transition:color var(--transition-speed-fast)}.coordinate-link:hover{color:var(--color-primary, #2ea043);text-decoration:none}.coordinate-link:focus-visible{outline:1px dashed var(--color-accent-secondary, #58a6ff);outline-offset:2px;border-radius:2px}.system-message{padding:8px 12px;margin:3px 0;background-color:var(--color-background-info-subtle, #f0f8ff);border-left:4px solid var(--color-info, #17a2b8);border-radius:var(--border-radius-md);font-size:.9em;line-height:1.5;color:var(--color-text-secondary)}.system-message strong.system-event-label,.system-message .system-event-label{font-weight:var(--font-weight-bold);color:var(--color-info-dark, #0c5460);margin-right:8px;display:block;margin-bottom:4px}.system-message p{margin:4px 0;color:var(--color-text-primary)}.system-message ul{list-style:none;margin:6px 0;padding:0}.system-message li{margin-bottom:4px;padding-left:15px;position:relative}.system-message li:before{content:"•";color:var(--color-info);position:absolute;left:0;top:1px}.system-card-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;padding-left:5px}.system-card-list-inline{font-style:normal}.system-card-item{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;background-color:var(--color-background-content);border:1px solid var(--color-border-divider-light);border-radius:var(--border-radius-xs);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-text-primary)}.system-card-item.inline{padding:2px 5px;font-size:.95em;margin:0 2px;box-shadow:0 1px 2px #0000000d}.suit-icon{font-size:1.1em;margin-right:2px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;line-height:1}.suit-spades{color:var(--color-suit-spades, #333)}.suit-hearts{color:var(--color-suit-hearts, #e53935)}.suit-diamonds{color:var(--color-suit-diamonds, #1e88e5)}.suit-clubs{color:var(--color-suit-clubs, #43a047)}img.system-card-image-small{height:24px;width:auto;vertical-align:middle;border:1px solid var(--color-border-divider-light);border-radius:2px;background-color:#fff;margin-right:4px}.system-community-cards .system-event-label,.system-round-start .system-event-label,.system-phase-advanced .system-event-label,.system-team-hand-dealt .system-event-label{color:var(--color-text-secondary);font-weight:var(--font-weight-normal);font-style:italic}.system-round-conclusion .showdown-details{margin-top:10px;padding-top:8px;border-top:1px solid var(--color-border-divider)}.system-round-conclusion .showdown-details strong{display:block;margin-bottom:6px;color:var(--color-text-primary);font-size:1.05em}.system-round-conclusion .showdown-details li{border-bottom:1px dotted var(--color-border-divider-light);padding-bottom:4px;margin-bottom:4px}.system-round-conclusion .showdown-details li:last-child{border-bottom:none}.system-message-default em{color:var(--color-text-secondary)}.system-message.system-message-error{background-color:var(--color-background-danger-subtle);border-left-color:var(--color-danger);color:var(--color-danger-dark)}.system-auto-hand-pick,.system-game-paused{background-color:var(--color-background-warning-subtle, #fffbe6);border-left-color:var(--color-warning, #faad14)}.system-auto-hand-pick .system-event-label,.system-game-paused .system-event-label{color:var(--color-warning-dark, #ad6800)}.system-bid-result{background-color:var(--color-background-success-subtle, #f6ffed);border-left-color:var(--color-success, #52c41a)}.system-bid-result .system-event-label{color:var(--color-success-dark, #237804)}.system-bid-result p{font-size:.95em}.system-game-unpaused{background-color:var(--color-background-success-subtle, #f6ffed);border-left-color:var(--color-success, #52c41a)}.system-game-unpaused .system-event-label{color:var(--color-success-dark, #237804)}@media (max-width: 768px){.game-chat-window{width:clamp(300px,80vw,450px);max-height:40vh}.game-chat-window.minimized{width:180px;max-height:40px;height:40px}.game-chat-header{height:40px;padding:6px 10px}.game-chat-header h4{font-size:1em}.game-chat-tabs{height:30px}.chat-tab{font-size:.85em;padding:6px 8px}.unread-indicator-dot{width:7px;height:7px}.game-chat-window.minimized .game-chat-header .header-dot{width:8px;height:8px;margin-left:6px}.game-chat-input-area{padding:6px 8px;gap:5px}.game-chat-input-area input[type=text],.game-chat-input-area .send-chat-button{font-size:.9em;min-height:32px;height:32px;padding-top:4px;padding-bottom:4px}.system-message{padding:6px 10px;font-size:.85em}.system-card-list{gap:4px}img.system-card-image-small{height:20px}.suit-icon{font-size:1em}.system-card-item.inline{padding:1px 3px;font-size:.9em}}.report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1050;padding:20px}.report-modal-content{background-color:var(--color-background-content);padding:25px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;position:relative;max-height:90vh;overflow-y:auto}.report-modal-content .close-button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.8em;color:var(--color-text-secondary);cursor:pointer}.report-modal-content h3{margin-top:0;margin-bottom:20px;color:var(--color-danger);text-align:center}.reported-message-preview{background-color:var(--color-background-body);border-left:4px solid var(--color-border-divider);padding:10px 15px;margin-bottom:20px;border-radius:var(--border-radius-sm)}.reported-message-preview p{margin:0 0 8px;font-size:.9em;color:var(--color-text-secondary)}.reported-message-preview blockquote{margin:0;padding:0;font-style:italic;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word}.report-modal-content form label{display:block;margin-bottom:8px;font-weight:var(--font-weight-semibold)}.report-modal-content .report-reason-textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);background-color:var(--color-background-input);color:var(--color-text-input);font-size:1rem;resize:vertical;margin-bottom:15px}.report-modal-content .actions-section{margin-top:10px;display:flex;flex-direction:column;gap:10px}.contacts-sidebar{position:fixed;top:0;right:0;bottom:0;width:var(--sidebar-width);background-color:var(--color-background-sidebar);border-left:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:60px 20px 20px;z-index:990;display:flex;flex-direction:column;transition:transform var(--transition-speed-normal) var(--transition-timing-function);transform:translate(100%);box-sizing:border-box}.close-sidebar-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:2rem;font-weight:700;color:var(--color-grey-medium);cursor:pointer;padding:0;line-height:1;z-index:991;transition:color var(--transition-speed-fast)}.close-sidebar-button:hover{color:var(--color-text-primary)}.close-sidebar-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.contacts-sidebar .contacts-list{border-bottom:1px solid var(--color-border-divider);margin-bottom:15px;flex-shrink:1;min-height:50px;overflow-y:auto;background-color:var(--color-background-content);border-radius:var(--border-radius-sm);padding:10px}.contacts-sidebar .contacts-list:last-of-type{border-bottom:none;margin-bottom:0;flex-grow:1}.contacts-sidebar .contacts-list h3{margin-top:0;margin-bottom:10px;font-size:1.2rem;padding-bottom:8px;border-bottom:1px solid var(--color-border-divider);color:var(--color-text-primary);position:sticky;top:-11px;background-color:inherit;z-index:1}.contacts-sidebar .contacts-list ul{list-style:none;margin:0;padding:0}.contacts-sidebar .contacts-list li{padding:10px 25px 10px 12px;cursor:pointer;border-bottom:1px solid var(--color-border-divider);transition:background-color var(--transition-speed-fast),color var(--transition-speed-fast),border-left-color var(--transition-speed-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem;display:flex;align-items:center;gap:8px;border-left:3px solid transparent;position:relative}.contacts-sidebar .contacts-list li:last-child{border-bottom:none}.contacts-sidebar .contacts-list li:hover{background-color:var(--color-background-hover-subtle)}.contacts-sidebar .contacts-list li.active{background-color:var(--color-background-active-subtle);font-weight:var(--font-weight-bold);color:var(--color-primary);border-left-color:var(--color-primary)}.contacts-sidebar .contacts-list li:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px;z-index:2}.online-indicator{width:10px;height:10px;border-radius:var(--border-radius-full);background-color:var(--color-grey-medium);display:inline-block;flex-shrink:0;transition:background-color var(--transition-speed-normal)}.online-indicator.is-online{background-color:var(--color-success);box-shadow:0 0 3px color-mix(in srgb,var(--color-success) 70%,transparent)}.contact-username{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-sidebar .contacts-list p{font-style:italic;color:var(--color-text-secondary);padding:15px 0;text-align:center;margin:0}.contacts-sidebar .contacts-list li.has-unread{font-weight:var(--font-weight-bold)}.contacts-sidebar .contacts-list li.active.has-unread{background-color:var(--color-background-active-subtle)}.unread-badge{position:absolute;top:50%;right:10px;transform:translateY(-50%);pointer-events:none}.unread-dot{display:inline-block;width:10px;height:10px;background-color:var(--color-danger);border-radius:var(--border-radius-full);box-shadow:0 0 4px color-mix(in srgb,var(--color-danger) 60%,transparent)}.contacts-sidebar .active-game-section h3{color:var(--color-text-primary);margin-bottom:8px;padding-bottom:6px;font-size:1.1rem}.contacts-sidebar .active-game-section ul{padding-bottom:5px}.contacts-sidebar .active-game-section li.game-player-item{padding:6px 25px 6px 10px;gap:6px;font-size:.9rem}.contacts-sidebar .active-game-section li.game-player-item.active{border-left-color:var(--color-primary)}.contacts-sidebar .active-game-section li.game-player-item .contact-username.has-team-color{text-shadow:-1px 1px 1px rgba(0,0,0,.3);font-weight:var(--font-weight-semibold)}.contacts-sidebar .add-contact-section{flex-shrink:0;margin-top:auto;border-top:1px solid var(--color-border-divider);background-color:var(--color-background-content);border-radius:var(--border-radius-sm);margin-left:0;margin-right:0;padding:15px}.contacts-sidebar .add-contact-section h4{margin-top:0;margin-bottom:10px;font-size:1rem;color:var(--color-text-primary)}.contacts-sidebar .add-contact-input-group{display:flex;gap:8px}.contacts-sidebar .add-contact-input-group input[type=text]{flex-grow:1;padding:8px 10px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);font-size:.9rem;background-color:var(--color-background-input);color:var(--color-text-input)}.contacts-sidebar .add-contact-input-group input[type=text]:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.contacts-sidebar .add-contact-input-group .add-button{padding:8px 12px;font-size:.9rem;flex-shrink:0}@media (max-width: 768px){.mobile-pre-game-layout .contacts-sidebar,.game-view-mobile-content-wrapper>.contacts-sidebar{width:100%!important;height:100%!important;position:static!important;transform:none!important;border-left:none!important;box-shadow:none!important;padding:0;background-color:var(--color-background-body);display:flex!important;flex-direction:column!important;z-index:auto!important}.mobile-pre-game-layout .contacts-sidebar .close-sidebar-button,.game-view-mobile-content-wrapper>.contacts-sidebar .close-sidebar-button{display:none!important}.mobile-pre-game-layout .contacts-sidebar .contacts-list,.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list{flex-grow:1;min-height:0;overflow-y:auto;margin:10px;padding:15px;background-color:var(--color-background-content);border-radius:var(--border-radius-md);border-bottom:none}.mobile-pre-game-layout .contacts-sidebar .contacts-list:last-of-type,.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list:last-of-type{margin-bottom:10px}.mobile-pre-game-layout .contacts-sidebar .contacts-list h3,.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list h3{font-size:1.3em;padding-bottom:12px;position:static;background-color:transparent;z-index:auto;padding-left:0;padding-right:0;text-align:center}.mobile-pre-game-layout .contacts-sidebar .contacts-list ul,.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list ul{padding-bottom:0}.mobile-pre-game-layout .contacts-sidebar .contacts-list li,.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list li{padding:12px 10px;font-size:1rem}.mobile-pre-game-layout .contacts-sidebar .contacts-list li.game-player-item,.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list li.game-player-item{font-size:.95rem}.mobile-pre-game-layout .contacts-sidebar .add-contact-section,.game-view-mobile-content-wrapper>.contacts-sidebar .add-contact-section{padding:20px 15px;margin:auto 10px 10px;background-color:var(--color-background-content);border-radius:var(--border-radius-md);border-top:1px solid var(--color-border-divider);flex-shrink:0}.mobile-pre-game-layout .contacts-sidebar .add-contact-section h4,.game-view-mobile-content-wrapper>.contacts-sidebar .add-contact-section h4{text-align:center;font-size:1.1em}.mobile-pre-game-layout .contacts-sidebar .add-contact-input-group input[type=text],.game-view-mobile-content-wrapper>.contacts-sidebar .add-contact-input-group input[type=text]{padding:12px;font-size:1rem}.mobile-pre-game-layout .contacts-sidebar .add-contact-input-group .add-button,.game-view-mobile-content-wrapper>.contacts-sidebar .add-contact-input-group .add-button{padding:12px 18px;font-size:1rem}@media (max-width: 1200px){.contacts-sidebar:not(.mobile-pre-game-layout .contacts-sidebar):not(.game-view-mobile-content-wrapper>.contacts-sidebar){width:min(320px,90vw);padding:55px 15px 15px}.contacts-sidebar:not(.mobile-pre-game-layout .contacts-sidebar):not(.game-view-mobile-content-wrapper>.contacts-sidebar) .close-sidebar-button{top:10px;right:10px}}}.card-component{background-color:#fff;border:1px solid #b0b0b0;border-radius:8px;display:inline-block;font-family:Arial,sans-serif;-webkit-user-select:none;user-select:none;box-shadow:1px 1px 4px #0003;overflow:hidden;cursor:default;transition:transform .1s ease-out,box-shadow .1s ease-out;width:70px;height:100px;padding:0;box-sizing:border-box;position:relative}.card-component.red{color:#d90000}.card-component.blue{color:#007bff}.card-component.green{color:#28a745}.card-component.black{color:#000}.card-content-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative}.card-top-left-rank,.card-bottom-right-suit{position:absolute;font-weight:700;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:3px}.card-top-left-rank{top:0;left:0;font-size:1.8em;text-align:center;min-width:.6em}.card-bottom-right-suit{bottom:0;right:0;font-size:2em}.card-center-suit-large{font-size:4em;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.8}.card-center-name{font-size:.9em;font-weight:600;padding:2px 4px;color:#333;background-color:#ffffffb3;border-radius:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 16px);max-height:60%;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-image-display{width:100%;height:100%;object-fit:contain}.placeholder-card{background-color:#e0e0e0;border-style:dashed;color:#757575}.placeholder-card .card-content-wrapper{font-size:2em;justify-content:center}.card-component[role=button]{cursor:pointer}.card-component[role=button]:hover:not(.placeholder-card){transform:translateY(-1px);box-shadow:2px 2px 8px #00000040}.card-component[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.team-hand-window{position:absolute;top:55px;right:15px;left:auto;background-color:var(--color-background-content-translucent, rgba(40, 44, 52, .92));border:1px solid var(--color-border-dark, #555);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:15px 20px;z-index:9;min-width:320px;max-width:400px;width:auto;color:var(--color-text-on-nav);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;transition:opacity .2s ease-in-out,transform .2s ease-in-out;max-height:calc(100vh - 90px);overflow-y:auto}.team-hand-window.mobile-tab-mode{position:relative!important;top:auto!important;right:auto!important;left:auto!important;transform:none!important;width:100%!important;max-width:100%!important;max-height:none!important;z-index:auto!important;box-shadow:none!important;border-radius:var(--border-radius-sm)!important;border:1px solid var(--color-border-divider)!important;background-color:var(--color-background-content)!important;color:var(--color-text-primary)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.team-hand-window.mobile-tab-mode .close-button{display:none}.team-hand-window.targeting-active{border:2px solid var(--color-accent-secondary);box-shadow:0 0 15px var(--color-accent-secondary-transparent)}.pending-activation-notice{background-color:var(--color-accent-secondary-light-transparent);border:1px solid var(--color-accent-secondary);color:var(--color-text-on-primary);padding:8px 12px;margin:-5px 0 10px;border-radius:var(--border-radius-sm);text-align:center;font-size:.9em}.pending-activation-notice strong{font-weight:700;color:var(--color-accent-secondary)}.team-hand-window.mobile-tab-mode .pending-activation-notice{background-color:var(--color-info-light);color:var(--color-info-dark);border-color:var(--color-info)}.team-hand-window.mobile-tab-mode .pending-activation-notice strong{color:var(--color-info-dark)}.card-item.pending-activation{box-shadow:0 0 0 3px var(--color-accent-secondary);border-color:var(--color-accent-secondary)!important}.cancel-activation-button{background-color:var(--color-warning)!important;color:var(--color-text-on-primary)!important;border-color:var(--color-warning-dark)!important}.cancel-activation-button:hover:not(:disabled){background-color:var(--color-warning-hover)!important}.team-hand-window .close-button{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.6rem;font-weight:700;color:var(--color-text-secondary);cursor:pointer;padding:0 4px;line-height:1;transition:color var(--transition-speed-fast)}.team-hand-window .close-button:hover{color:var(--color-primary)}.team-hand-window .team-hand-header{padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--color-border-divider)}.team-hand-window .team-hand-header h4{margin-top:0;margin-bottom:0;font-size:1.15em;border-bottom:none;padding-bottom:0;color:var(--color-accent);font-weight:var(--font-weight-bold)}.team-hand-window .team-phase-info{font-size:.9em;color:var(--color-text-secondary);margin-bottom:0;padding-bottom:0;border-bottom:none;text-align:center}.team-hand-window .team-phase-info strong{color:var(--color-text-on-nav)}.team-hand-window.mobile-tab-mode .team-phase-info strong{color:var(--color-text-primary)}.team-hand-window .team-resources-section,.team-hand-window .team-cards-section{margin-bottom:15px}.team-hand-window .team-resources-section:last-child,.team-hand-window .team-cards-section:last-child{margin-bottom:0}.team-hand-window h5{margin-top:0;margin-bottom:8px;font-size:1em;color:var(--color-text-on-nav);font-weight:var(--font-weight-semibold);border-bottom:1px dashed var(--color-border-divider);padding-bottom:4px}.team-hand-window.mobile-tab-mode h5{color:var(--color-text-primary)}.team-hand-window .team-resources-section p{margin:4px 0;font-size:.9rem}.team-hand-window .team-resources-section strong{color:inherit;margin-right:5px;font-weight:var(--font-weight-semibold)}.team-hand-window .resource-item-display{display:flex;align-items:center;gap:.5em;margin:6px 0;font-size:.95rem}.team-hand-window .resource-item-display .resource-icon{width:1.1em;height:1.1em;vertical-align:-.1em;flex-shrink:0;fill:currentColor}.team-hand-window .resource-item-display .resource-icon.influence-icon{fill:#8a2be2}.team-hand-window .resource-item-display .resource-icon.dev-points-icon{fill:#2cd882}.team-hand-window .card-list{list-style:none;padding:0;margin:0}.team-hand-window .card-item{display:flex;justify-content:space-between;align-items:center;padding:8px 5px;border-bottom:1px solid var(--color-border-divider-light);border-radius:var(--border-radius-sm);margin-bottom:5px;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;gap:10px}.team-hand-window .card-item:last-child{border-bottom:none}.team-hand-window .card-item.selectable-for-hand{cursor:pointer}.team-hand-window .card-item.selectable-for-hand:hover{background-color:#ffffff1a}.team-hand-window.mobile-tab-mode .card-item.selectable-for-hand:hover{background-color:var(--color-background-hover-subtle)}.team-hand-window .card-item.selected-for-choosing{background-color:rgba(var(--palette-yellow-vibrant-rgb, 243, 167, 18),.25)}.team-hand-window .card-item .card-component.selected-for-choosing-visual{box-shadow:0 0 0 3px var(--palette-yellow-vibrant),0 0 8px var(--palette-yellow-vibrant);transform:scale(1.03)}.team-hand-window .card-item.chosen-for-hand{background-color:rgba(var(--palette-teal-dark-rgb, 17, 75, 95),.25)}.team-hand-window .card-item.chosen-for-hand .card-component{opacity:.8}.team-hand-window .card-item.chosen-for-hand .card-info-and-actions .activate-card-button{display:none}.team-hand-window .card-item.played{opacity:.55;background-color:#8080801a}.team-hand-window .card-item.played .card-info-and-actions .activate-card-button{background-color:var(--color-grey-medium)!important;cursor:not-allowed!important;opacity:.6}.team-hand-window .card-item.played .card-component{filter:grayscale(90%);opacity:.6}.team-hand-window .card-item .card-component{width:60px;height:84px;font-size:.8rem;flex-shrink:0}.team-hand-window .card-info-and-actions{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;flex-grow:1;min-width:0}.team-hand-window .card-name-in-list{font-weight:var(--font-weight-semibold);font-size:.95em;color:var(--color-text-on-nav);margin-bottom:2px;display:flex;align-items:center;gap:6px}.team-hand-window.mobile-tab-mode .card-name-in-list{color:var(--color-text-primary)}.team-hand-window .upgrade-indicator-icon{font-size:.9em;color:var(--palette-yellow-vibrant, #f3a712);font-weight:700}.team-hand-window .card-ability-description{font-size:.8em;color:var(--color-text-secondary);line-height:1.3;margin-bottom:4px;max-height:3.9em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.team-hand-window .card-status-indicators-container{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:auto}.team-hand-window .card-status-indicator{font-size:.75em;padding:1px 4px;border-radius:3px;font-weight:400;opacity:.9;display:inline-block;color:var(--color-text-on-nav);text-align:left;line-height:1.2}.team-hand-window.mobile-tab-mode .card-status-indicator{color:var(--color-text-on-primary)}.team-hand-window .card-status-indicator.chosen{background-color:var(--palette-blue-vibrant, #007bff);color:var(--color-white)}.team-hand-window .card-status-indicator.played-indicator{background-color:var(--color-grey-dark);color:var(--color-grey-lightest);text-decoration:line-through}.team-hand-window .activate-card-button{flex-shrink:0;font-size:.8em!important;padding:4px 8px!important;align-self:flex-start;background-color:var(--color-success);color:var(--color-text-on-primary);border:1px solid color-mix(in srgb,var(--color-success) 80%,black);margin-top:4px}.team-hand-window .activate-card-button:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-success) 85%,black)}.team-hand-window .activate-card-button:disabled{background-color:var(--color-grey-medium);border-color:var(--color-grey-dark);color:var(--color-text-secondary);opacity:.7}.team-hand-window .submit-hand-button{margin-top:15px;width:100%;padding:8px 15px}.team-hand-window p{margin:6px 0;font-size:.9rem}.team-hand-window p i{color:var(--color-text-secondary)}.team-hand-window-toggle.open{position:absolute;top:55px;right:15px;left:auto;z-index:8;padding:8px 12px;background-color:var(--color-primary);color:var(--color-text-on-primary);border:1px solid var(--color-primary-hover);border-radius:var(--border-radius-sm);cursor:pointer;font-size:.9em;box-shadow:var(--shadow-sm)}.team-hand-window-toggle.open:hover{background-color:var(--color-primary-hover)}@media (max-width: 900px) and (orientation: landscape){.team-hand-window.mobile-tab-mode{flex:1 1 50%;min-width:0;max-height:100%;overflow-y:auto;display:flex;flex-direction:column}.team-hand-window.mobile-tab-mode .team-hand-header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px}.team-hand-window.mobile-tab-mode .team-hand-header h4{font-size:1.05em}.team-hand-window.mobile-tab-mode .team-hand-header .team-phase-info{font-size:.85em}.team-hand-window.mobile-tab-mode .team-resources-section{display:flex;justify-content:space-around;align-items:center;margin-bottom:10px;padding:5px 0;border-bottom:1px solid var(--color-border-divider)}.team-hand-window.mobile-tab-mode .team-resources-section .resource-item-display{margin:0}.team-hand-window.mobile-tab-mode .team-cards-section{flex:1;display:flex;flex-direction:column;min-height:0}.team-hand-window.mobile-tab-mode .card-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:5px}.team-hand-window.mobile-tab-mode .card-item{flex-direction:column;width:80px;flex-shrink:0;height:auto;justify-content:flex-start}.team-hand-window.mobile-tab-mode .card-item .card-component{width:100%;height:auto;aspect-ratio:70 / 98}.team-hand-window.mobile-tab-mode .card-info-and-actions{width:100%;align-items:center;text-align:center}.team-hand-window.mobile-tab-mode .card-ability-description{display:none}}.community-card-window{position:absolute;top:55px;left:50%;transform:translate(-50%);background-color:var(--color-background-content-translucent, rgba(40, 44, 52, .92));border:1px solid var(--color-border-dark, #555);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:12px 15px;z-index:11;min-width:320px;max-width:90vw;width:auto;color:var(--color-text-on-nav);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;transition:opacity .2s ease-in-out,transform .2s ease-in-out,top .2s ease-in-out;max-height:calc(100vh - 140px);overflow-y:auto}.community-card-window.mobile-tab-mode{position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:100%!important;max-width:100%!important;max-height:none!important;z-index:auto!important;box-shadow:none!important;border-radius:var(--border-radius-sm)!important;border:1px solid var(--color-border-divider)!important;margin-bottom:10px;background-color:var(--color-background-content)!important;color:var(--color-text-primary)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.community-card-window.mobile-tab-mode .close-button{display:none}.community-card-header-container{padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--color-border-divider)}.pot-value-header-display{display:none;font-size:.9em;font-weight:var(--font-weight-semibold);margin:0}.community-card-window.mobile-tab-mode .pot-value-header-display{color:var(--color-text-primary)}.community-card-window .close-button{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.6rem;font-weight:700;color:var(--color-text-secondary);cursor:pointer;padding:0 4px;line-height:1;transition:color var(--transition-speed-fast)}.community-card-window .close-button:hover{color:var(--color-primary)}.community-card-window .community-card-header-container h4{margin:0;padding:0;border:none;font-size:1.15em;color:var(--color-accent-secondary, var(--palette-orange-vibrant));font-weight:var(--font-weight-bold)}.community-cards-display-area{display:flex;flex-direction:row;justify-content:space-around;gap:10px;padding:8px 0;margin-bottom:10px;overflow-x:auto;overflow-y:hidden;min-height:120px}.community-card-phase-group{display:flex;flex-direction:column;align-items:center;padding:5px;flex-shrink:0}.community-card-phase-group .phase-group-header{font-size:.8em;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.community-card-phase-group.phase-past .phase-group-header{color:var(--color-grey-medium)}.community-card-phase-group.phase-current .phase-group-header{color:var(--color-accent-secondary, var(--palette-orange-vibrant));font-weight:var(--font-weight-bold)}.community-card-phase-group .phase-card-list{display:flex;flex-direction:row;justify-content:center;gap:6px;min-height:100px}.community-card-phase-group .card-item-wrapper{width:60px;border-radius:var(--border-radius-sm);display:flex;flex-direction:column;align-items:center}.community-card-phase-group .card-item-wrapper .card-component{width:100%;height:84px;font-size:.7rem}.community-card-phase-group .no-cards-in-phase-placeholder{display:flex;gap:6px;align-items:center;justify-content:center;min-height:84px}.community-card-phase-group .card-placeholder{width:60px;height:84px;background-color:#00000026;border:1px dashed var(--color-border-divider-light);border-radius:var(--border-radius-sm)}.community-card-phase-group.phase-past .card-placeholder,.community-card-phase-group.phase-current .card-placeholder{display:none}.community-card-window .bidding-section{margin-top:12px;padding-top:8px;border-top:1px solid var(--color-border-divider-light)}.community-card-window .bidding-section h5{margin-top:0;margin-bottom:6px;font-size:1em;color:var(--color-text-on-nav);font-weight:var(--font-weight-semibold)}.community-card-window.mobile-tab-mode .bidding-section h5{color:var(--color-text-primary)}.community-card-window .bidding-section .pot-value-display{font-weight:700;color:var(--palette-yellow-vibrant, #ffc107)}.community-card-window .bid-actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}.community-card-window .bid-button{padding:6px 10px;font-size:.85em;background-color:var(--color-primary-subtle, rgba(var(--palette-blue-vibrant-rgb, 79, 175, 242), .7));border:1px solid var(--color-primary, var(--palette-blue-vibrant));color:var(--color-text-on-primary, #fff);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color var(--transition-speed-fast),border-color var(--transition-speed-fast);min-width:90px;text-align:center}.community-card-window .bid-button:hover:not(:disabled){background-color:var(--color-primary, var(--palette-blue-vibrant));border-color:var(--color-primary-hover, #007bff)}.community-card-window .bid-button:disabled{background-color:var(--color-grey-medium, #6c757d);border-color:var(--color-grey-dark, #343a40);color:var(--color-text-secondary, #adb5bd);cursor:not-allowed;opacity:.7}.community-card-window .bid-button.disabled-unaffordable{background-color:var(--color-danger-subtle, rgba(var(--palette-red-rgb, 220, 53, 69), .5));border-color:var(--color-danger, var(--palette-red));color:var(--color-text-on-primary, #fff)}.community-card-window .bid-prompt{font-size:.95em;margin-bottom:5px;color:var(--color-text-secondary);text-align:center;width:100%}.community-card-window .bid-status-message p{font-style:italic;color:var(--color-text-secondary);text-align:center;font-size:.9em;margin:5px 0}.community-card-window p.loading-text,.community-card-window p.no-cards-text{margin:10px 0;font-style:italic;text-align:center;color:var(--color-text-secondary);width:100%}.community-card-window-toggle.open{position:absolute;top:55px;left:50%;transform:translate(-50%);z-index:10;padding:8px 12px;background-color:var(--color-accent-secondary, var(--palette-orange-vibrant));color:var(--color-text-on-primary);border:1px solid var(--color-accent-secondary-hover, #e65100);border-radius:var(--border-radius-sm);cursor:pointer;font-size:.9em;box-shadow:var(--shadow-sm);transition:background-color var(--transition-speed-fast),transform .2s ease-in-out}.community-card-window-toggle.open:hover{background-color:var(--color-accent-secondary-hover, #e65100)}@media (max-width: 900px) and (orientation: portrait){.community-cards-display-area{flex-direction:column;align-items:stretch;gap:15px}.community-card-phase-group{flex-direction:column;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid var(--color-border-divider-light)}.community-card-phase-group:last-child{border-bottom:none;padding-bottom:0}.community-card-phase-group .phase-card-list{justify-content:flex-start;width:100%;overflow-x:auto;padding:5px 0 10px}}@media (max-width: 900px) and (orientation: landscape){.community-card-window.mobile-tab-mode{flex:1 1 50%;min-width:0;max-height:100%;overflow-y:auto}.community-cards-display-area{gap:10px}.community-card-phase-group{align-items:center;border-bottom:none;padding-bottom:5px}.community-card-window.mobile-tab-mode .community-card-header-container{display:flex;justify-content:space-between;align-items:baseline;border-bottom:none;margin-bottom:0;padding-bottom:0}.community-card-window.mobile-tab-mode .pot-value-header-display{display:block}.community-card-window.mobile-tab-mode .bidding-section-title{display:none}}.development-tree-container{padding:20px;height:100%;overflow-y:auto;display:flex;flex-direction:column}.development-tree-container h2{text-align:center;margin-bottom:15px;color:var(--color-primary);flex-shrink:0}.team-dp-display{text-align:center;font-size:1.1em;margin-bottom:20px;padding:10px;background-color:var(--color-background-hover-subtle);border-radius:var(--border-radius-sm);border:1px solid var(--color-border-divider);flex-shrink:0}.tree-layout-area{position:relative;border:1px solid var(--color-border-divider);background-color:var(--color-background-content);border-radius:var(--border-radius-md);flex-grow:1;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;min-height:400px}.tree-layout-area.dragging{cursor:grabbing}.tree-content-wrapper{position:relative;width:fit-content;transform-origin:0 0}.tree-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.dev-tree-line{stroke:var(--color-border-strong, #777);stroke-width:1.5;fill:none;transition:stroke .3s ease}.dev-level{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;gap:30px;padding:50px 30px;min-width:fit-content}.dev-level:first-child{padding-top:30px}.dev-level:last-child{padding-bottom:30px}.dev-node{border:1px solid var(--color-border);background-color:var(--color-background-content);padding:15px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);transition:all .3s ease;width:220px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;z-index:1;position:relative}.dev-node h4{margin-top:0;margin-bottom:8px;font-size:1.1em;color:var(--color-text-primary);text-align:center}.node-description{font-size:.85em;color:var(--color-text-secondary);margin-bottom:10px;flex-grow:1;line-height:1.4}.dev-node .cost-container{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5em;margin-bottom:0}.dev-node .cost-item{display:inline-flex;align-items:center;gap:.2em;white-space:nowrap}.dev-node .resource-icon.cost-icon{width:1em;height:1em;vertical-align:-.15em;margin-right:.1em;flex-shrink:0;fill:currentColor}.dev-node .resource-icon.dev-points-icon{fill:#2cd882}.dev-node .cost-value{font-weight:var(--font-weight-normal);transition:color var(--transition-speed-fast) ease-in-out;font-size:.9em}.dev-node .cost-value.affordable{color:var(--color-success)}.dev-node .cost-value.unaffordable{color:var(--color-text-secondary)}.dev-node .node-cost .cost-label{font-size:.9em;margin-left:.1em;font-weight:var(--font-weight-semibold)}.dev-node .node-cost{font-size:.8em;color:var(--color-grey-dark);margin-bottom:10px;display:flex;align-items:center;gap:.3em}.node-prereqs{font-size:.8em;color:var(--color-grey-dark);margin-bottom:5px}.node-prereqs{font-style:italic;margin-bottom:10px}.dev-node button{margin-top:auto;width:100%;padding:6px 10px}.dev-node.unlocked{border-left:5px solid var(--color-success);background-color:color-mix(in srgb,var(--color-success) 5%,var(--color-background-content))}.dev-node.unlocked h4{color:var(--color-success)}.node-status-unlocked{color:var(--color-success);font-weight:var(--font-weight-bold);text-align:center;margin-top:10px}.dev-node.disabled{opacity:.65;background-color:var(--color-grey-lightest);border-color:var(--color-grey-medium)}.dev-node.disabled h4{color:var(--color-text-secondary)}.dev-node.disabled button{cursor:not-allowed;background-color:var(--color-grey-medium)}.development-tree-container .centered-content{display:flex;justify-content:center;align-items:center;height:100%}.game-stats-view-container{padding:25px 30px;height:100%;overflow-y:auto;background-color:var(--color-background-content)}.game-stats-view-container h2{margin-top:0;margin-bottom:25px;font-size:2em;text-align:center;color:var(--color-primary);border-bottom:2px solid var(--color-border-divider);padding-bottom:20px}.game-stats-section{margin-bottom:30px;padding:20px;border:1px solid var(--color-border-divider);border-radius:var(--border-radius-md);background-color:var(--color-white);box-shadow:var(--shadow-sm)}.game-stats-section:last-child{margin-bottom:0}.game-stats-section h3{font-size:1.5em;color:var(--color-text-primary);margin-bottom:15px;font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--color-border-divider-light);padding-bottom:10px}.game-stats-section h4{font-size:1.2em;color:var(--color-text-primary);margin-bottom:12px;font-weight:var(--font-weight-semibold)}.game-stats-section p{margin-bottom:10px;font-size:1em;line-height:1.6;color:var(--color-text-secondary)}.game-stats-section p strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.player-list-section ul,.team-influence-list ul{list-style:none;padding:0;max-height:250px;overflow-y:auto}.player-list-section li,.team-influence-list li{padding:8px 5px;font-size:1em;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center}.player-list-section li:last-child,.team-influence-list li:last-child{border-bottom:none}.player-list-section li.current-user-highlight{font-weight:var(--font-weight-bold)}.player-list-section .player-team-tag{font-size:.9em;margin-left:8px;font-style:italic}.player-list-section .creator-tag{font-size:.85em;color:var(--color-accent);margin-left:8px;font-weight:var(--font-weight-semibold)}.team-influence-list .team-name{font-weight:var(--font-weight-bold)}.team-influence-list .team-influence-value{font-weight:var(--font-weight-semibold);font-size:1.1em}.pause-controls-section button{width:100%;padding:12px 20px;font-size:1em;max-width:300px;margin-left:auto;margin-right:auto;display:block}.pause-controls-section .info-text{font-size:.9em;color:var(--color-text-secondary);margin-top:10px;text-align:center}.pause-vote-active{padding:15px;background-color:var(--color-background-hover-subtle);border:1px solid var(--color-border-divider);border-radius:var(--border-radius-sm);margin-top:15px}.pause-vote-active p{font-size:.95em}.pause-vote-active strong{color:var(--color-primary)}.pause-vote-active .vote-buttons-container{display:flex;justify-content:space-around;margin-top:15px;gap:10px}.pause-vote-active .vote-buttons-container button{flex:1;max-width:150px}.game-view-container{display:flex!important;flex-direction:row!important;height:100%;width:100%;overflow:hidden;background-color:var(--color-background-body);min-width:0}.game-sidebar{flex:0 0 400px;min-width:300px;width:400px;height:100%;background-color:var(--color-background-content);border-right:1px solid var(--color-border);transition:flex-basis var(--transition-speed-normal) var(--transition-timing-function),min-width var(--transition-speed-normal) var(--transition-timing-function),width var(--transition-speed-normal) var(--transition-timing-function);overflow:hidden;position:relative;display:flex;flex-direction:column;z-index:5}.game-sidebar.collapsed{flex-basis:50px;min-width:50px;width:50px}.sidebar-toggle-button{flex-shrink:0;background:var(--color-background-hover-subtle);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);padding:10px;width:100%;text-align:center;cursor:pointer;font-size:1.4em;line-height:1;transition:background-color var(--transition-speed-fast) var(--transition-timing-function),color var(--transition-speed-fast) var(--transition-timing-function);position:relative;z-index:1}.sidebar-toggle-button:hover{background-color:var(--color-grey-light);color:var(--color-primary)}.sidebar-toggle-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.sidebar-section-button-container{padding:10px 15px 0;flex-shrink:0}.game-controls-trigger-button{width:100%;padding:8px 12px;font-size:.95em;background-color:var(--color-background-hover-subtle);border:1px solid var(--color-border-divider);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.game-controls-trigger-button:hover{background-color:var(--color-grey-light);border-color:var(--color-grey-medium)}.sidebar-content{padding:15px 15px 30px;overflow-y:auto;flex-grow:1;transition:opacity var(--transition-speed-normal) var(--transition-timing-function);opacity:1;box-sizing:border-box;width:100%}.game-sidebar.collapsed .sidebar-content{opacity:0;pointer-events:none;padding:0;overflow:hidden}.game-sidebar .section-box{background-color:var(--color-background-content);border:1px solid var(--color-border-divider);padding:12px;margin-bottom:15px;border-radius:var(--border-radius-sm);box-shadow:none}.game-sidebar .section-box h3,.game-sidebar .section-box h4{margin-top:0;margin-bottom:10px;font-size:1.1em;border-bottom:1px solid var(--color-border-divider);padding-bottom:8px;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.game-sidebar .village-buildings .section-box>div:first-of-type>h4{margin-bottom:0;padding-bottom:0;border-bottom:none}.game-sidebar .village-stats h4{margin-bottom:5px;padding-bottom:5px;border-bottom:none}.game-sidebar ul{list-style:none;padding:0;margin:0}.game-sidebar li{margin-bottom:6px;font-size:.95em}.game-sidebar .section-box p{margin-top:0;margin-bottom:8px;font-size:.95em;line-height:1.4;color:var(--color-text-primary)}.game-sidebar .section-box p i{color:var(--color-text-secondary);font-style:italic}.game-sidebar .game-info.section-box{background-color:var(--color-background-hover-subtle)}.game-sidebar .village-stats ul.resource-list{padding-left:0;list-style:none;margin-top:8px}.game-sidebar .village-stats ul.resource-list li{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:5px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px dashed var(--color-border-divider-light, #e0e0e0)}.game-sidebar .village-stats ul.resource-list li:last-child{border-bottom:none}.game-sidebar .village-stats>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:nowrap}.game-sidebar .village-stats>div:first-child>p{margin:0}.game-sidebar .village-stats>div:first-child>span{display:flex;align-items:center;gap:5px;flex-shrink:0}.small-button{padding:3px 8px!important;font-size:.85em!important;min-width:auto!important;line-height:1.2!important}.cost-display{font-size:.8em;margin-left:5px;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;vertical-align:middle}.game-sidebar .village-stats .cost-display{margin-right:0;margin-left:5px}.warning-text{color:var(--color-warning)!important;font-size:.85em!important;margin-top:5px!important;margin-bottom:0!important;font-style:italic}.info-text{color:var(--color-text-secondary)!important;font-size:.85em!important;margin-top:5px!important;margin-bottom:0!important;white-space:nowrap}.resource-icon{display:inline-block;width:1em;height:1em;vertical-align:-.15em;margin-right:.2em;flex-shrink:0;fill:currentColor}.resource-icon.gold-icon{fill:#ffc107}.resource-icon.influence-icon{fill:#6f42c1}.resource-icon.lumber-icon{fill:sienna}.resource-icon.iron-icon{fill:#6c757d}.resource-icon.ticks-icon{fill:#0dcaf0}.resource-icon.dev-points-icon{fill:#2cd882}.resource-display{display:inline-flex;align-items:center;gap:.3em;flex-grow:1;min-width:50%;transition:color var(--transition-speed-fast) ease-in-out;margin-bottom:2px}.resource-value{font-weight:var(--font-weight-bold);font-size:.95em;white-space:nowrap}.resource-display.resource-near-full .resource-value{color:color-mix(in srgb,var(--color-warning) 85%,var(--color-text-primary) 15%)}.resource-display.resource-full .resource-value{color:var(--color-danger)}.cost-container{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.6em}.cost-item{display:inline-flex;align-items:center;gap:.2em;white-space:nowrap}.cost-icon{margin-right:0}.cost-value{font-weight:var(--font-weight-normal);transition:color var(--transition-speed-fast) ease-in-out;font-size:1em}.cost-value.affordable{color:color-mix(in srgb,var(--color-success, #28a745) 90%,var(--color-text-primary) 10%)}.cost-value.unaffordable{color:var(--color-text-secondary, #6c757d)}.fallback-cost .cost-label{font-size:.9em;margin-left:.1em;font-weight:var(--font-weight-semibold)}.production-rates-group{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;width:auto;text-align:right;min-width:120px}.production-display-overall{font-size:.8em;color:var(--color-text-secondary);white-space:nowrap;display:block;line-height:1.3;width:100%;margin-bottom:1px}.production-display-overall:last-child{margin-bottom:0}.production-container{display:inline-flex;align-items:center;gap:.6em;white-space:nowrap}.production-item{display:inline-flex;align-items:center;gap:.2em;color:var(--color-success)}.production-icon{margin-left:.1em;margin-right:0;width:1em;height:1em;vertical-align:-.15em}.production-value{font-weight:var(--font-weight-normal);font-size:1em;color:var(--color-success)}.fallback-production{font-style:italic;color:var(--color-text-secondary)}.fallback-production .production-value{color:var(--color-text-secondary)}.fallback-production .production-label{font-size:.9em;margin-left:.1em}.production-rate.no-production{font-style:italic;color:var(--color-grey-medium);font-size:.9em;display:inline-block}.production-display-overall.structure-prod{color:var(--color-info, #0dcaf0)}.production-display-overall.structure-prod .production-item,.production-display-overall.structure-prod .production-value{color:var(--color-info)}.production-display-overall.structure-prod .fallback-production,.production-display-overall.structure-prod .fallback-production .production-value{color:var(--color-text-secondary)}.group-production-display .production-container,.building-list-item.individual .building-name-level .production-container{font-size:.9em;font-style:normal;color:var(--color-text-secondary);display:inline-flex;align-items:center;font-style:normal!important}.game-sidebar .grouping-toggle{display:flex;align-items:center;flex-shrink:0}.game-sidebar .grouping-toggle label{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;cursor:pointer;vertical-align:middle;font-size:.85em}.game-sidebar .grouping-toggle input[type=checkbox]{margin-right:5px;vertical-align:middle;cursor:pointer}.game-sidebar .village-buildings .section-box>div:first-of-type{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-divider);padding-bottom:8px;margin-bottom:10px}.game-sidebar .building-list{list-style:none;padding:0;margin:0}.game-sidebar .building-list>li,.game-sidebar .building-group-content>li{border-bottom:1px dashed var(--color-border-divider);padding:6px 0;margin-bottom:0;font-size:.9em}.game-sidebar .building-list>li:last-child,.game-sidebar .building-group-content>li:last-child{border-bottom:none}.game-sidebar .building-list-item.group-header{font-weight:var(--font-weight-semibold);display:block;padding-top:8px;padding-bottom:8px;border-bottom-style:solid}.game-sidebar .group-header-line1{display:flex;align-items:center;margin-bottom:4px;min-height:25px}.game-sidebar .group-header-line2{display:flex;justify-content:space-between;align-items:center;padding-left:30px;min-height:25px}.game-sidebar .building-group-toggle{flex:0 0 25px;display:inline-flex;align-items:center;justify-content:center;margin-right:5px;height:100%}.game-sidebar .toggle-expand-button{background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--color-text-secondary);font-size:.9em;line-height:1;transition:color var(--transition-speed-fast)}.game-sidebar .toggle-expand-button:hover{color:var(--color-primary)}.game-sidebar .toggle-expand-button:focus-visible{outline:1px solid var(--color-primary);outline-offset:1px;border-radius:2px}.game-sidebar .group-title-text{flex-grow:1;min-width:0}.game-sidebar .group-production-display{flex-shrink:0;margin-right:10px}.game-sidebar .building-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.game-sidebar .building-actions .cost-display{margin:0}.game-sidebar .building-actions .info-text{margin:0;padding:3px 8px}.game-sidebar .building-group-content{list-style:none;padding:0 0 0 30px;margin:0;width:100%;box-sizing:border-box}.game-sidebar .building-group-content>li.building-list-item.individual{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.85em;font-weight:var(--font-weight-normal);border-bottom-style:dotted;min-height:30px}.game-sidebar .building-list-item.individual .building-name-level{flex-grow:1;min-width:0;margin-right:10px;text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:5px}.game-sidebar .building-list-item.individual .building-name-level>span:first-child{font-style:italic;flex-shrink:0}.game-sidebar .building-list-item.individual .building-name-level .production-container{font-size:1em;color:var(--color-success)}.game-sidebar .building-list-item.individual .building-name-level .production-container .production-item,.game-sidebar .building-list-item.individual .building-name-level .production-container .production-value{color:var(--color-success)}.game-sidebar .building-actions .danger-button.small-button{background-color:var(--color-danger-subtle);color:var(--color-danger);border:1px solid var(--color-danger-border);line-height:1}.game-sidebar .building-actions .danger-button.small-button:hover{background-color:var(--color-danger-hover);border-color:var(--color-danger);color:var(--color-danger)}.game-sidebar .building-actions .danger-button.small-button:disabled{background-color:transparent;border-color:var(--color-grey-light);color:var(--color-grey-medium);opacity:.65}.game-sidebar .building-actions .danger-button svg{width:1em;height:1em;vertical-align:middle;fill:currentColor}.game-sidebar .build-controls{display:flex;align-items:center;gap:8px;margin-bottom:8px}.game-sidebar .build-controls select{flex-grow:1;padding:6px 8px;border:1px solid var(--color-border);background-color:var(--color-background-input);color:var(--color-text-input);border-radius:var(--border-radius-sm);font-size:.9em;min-width:100px;cursor:pointer}.game-sidebar .build-controls select:focus{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.game-sidebar .build-controls select:disabled{background-color:var(--color-background-disabled);cursor:not-allowed;opacity:.7}.game-sidebar .build-controls button{flex-shrink:0;width:auto;min-width:60px;margin-top:0!important}.game-sidebar .build-cost-display{font-size:.85em;margin-top:5px;margin-bottom:5px;text-align:left;margin-left:0}.game-sidebar .build-cost-display .cost-container{justify-content:flex-start}.game-sidebar .spend-ticks-control{margin-top:15px;border-top:1px dashed var(--color-border-divider);padding-top:10px}.game-sidebar .spend-ticks-control label{display:block;margin-bottom:5px;font-size:.9em;color:var(--color-text-secondary)}.game-sidebar .spend-ticks-control label span{font-weight:700;color:var(--color-text-primary)}.game-sidebar .spend-ticks-control input[type=range]{width:100%;margin-bottom:8px}.game-sidebar .spend-ticks-control input[type=range]:disabled{cursor:not-allowed;opacity:.6}.game-sidebar .spend-ticks-control button{width:100%}.map-area-wrapper{flex:1;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0}.map-window{flex-grow:1;height:100%;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-grey-dark);min-width:0;position:relative;z-index:1}.map-info-bar{background-color:var(--color-grey-darker);color:var(--color-text-on-nav);padding:8px 15px;font-size:.85em;flex-shrink:0;border-bottom:1px solid var(--color-black);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;-webkit-user-select:none;user-select:none}.map-area{flex-grow:1;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;background-color:var(--color-grey-medium);cursor:grab;min-height:0}.map-area:active{cursor:grabbing}.map-area canvas{display:block;max-width:100%;max-height:100%}.map-area p{color:var(--color-text-secondary);font-style:italic}.game-view-loading,.game-view-error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;font-size:1.2em;padding:20px;text-align:center;background-color:var(--color-background-body);color:var(--color-text-secondary)}.game-view-error button{margin-top:20px}.game-view-mobile-content-wrapper{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;background-color:var(--color-background-body)}.game-view-mobile-content-wrapper .mobile-cards-view-container{width:100%;height:100%;overflow-y:auto;padding:10px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;background-color:var(--color-background-body)}.game-view-mobile-content-wrapper>.map-window,.game-view-mobile-content-wrapper>.game-sidebar,.game-view-mobile-content-wrapper>.game-chat-window,.game-view-mobile-content-wrapper>.contacts-sidebar{width:100%!important;height:100%!important;flex-grow:1;position:static!important;border:none!important;box-shadow:none!important;border-radius:0!important;overflow-y:auto;padding:10px;box-sizing:border-box;display:flex;flex-direction:column}.game-view-mobile-content-wrapper>.game-sidebar{flex-basis:auto!important;min-width:100%!important;width:100%!important;border-right:none!important;padding:15px;background-color:var(--color-background-body)}.game-view-mobile-content-wrapper>.game-sidebar .sidebar-toggle-button{display:none!important}.game-view-mobile-content-wrapper>.game-sidebar .sidebar-section-button-container{padding:0 0 15px}.game-view-mobile-content-wrapper>.game-sidebar .sidebar-content{opacity:1!important;pointer-events:auto!important;padding:0;width:100%;height:100%;overflow-y:auto}.game-view-mobile-content-wrapper>.game-sidebar .section-box{background-color:var(--color-background-content);margin-left:0;margin-right:0}.game-view-mobile-content-wrapper>.game-sidebar .build-controls{flex-direction:column;align-items:stretch}.game-view-mobile-content-wrapper>.game-sidebar .build-controls button{margin-top:8px!important}.game-view-mobile-content-wrapper>.map-window{padding:0;overflow:hidden}.mobile-map-container-with-overlay{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.mobile-map-container-with-overlay>.map-window{width:100%!important;height:100%!important;padding:0!important}.game-view-mobile-content-wrapper>.map-window .tile-info-window{position:fixed!important;bottom:70px;left:10px;right:10px;top:auto!important;width:auto!important;max-width:none!important;max-height:45vh;z-index:15!important;border-radius:var(--border-radius-md)!important;background-color:var(--color-background-content-translucent, rgba(40, 44, 52, .95));overflow-y:auto}.game-view-mobile-content-wrapper>.map-window .tile-info-window .structure-actions,.game-view-mobile-content-wrapper>.map-window .tile-info-window .build-controls{flex-direction:column;align-items:stretch}.game-view-mobile-content-wrapper>.map-window .tile-info-window .structure-actions button,.game-view-mobile-content-wrapper>.map-window .tile-info-window .build-controls button,.game-view-mobile-content-wrapper>.map-window .tile-info-window .build-controls select{width:100%}.game-view-mobile-content-wrapper>.map-window .tile-info-window .cost-display{margin-left:0;margin-top:5px;justify-content:center}.game-view-mobile-content-wrapper>.game-chat-window{position:static!important;width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;border:none!important;transition:none!important;padding:0;display:flex!important;flex-direction:column!important}.game-view-mobile-content-wrapper>.game-chat-window.minimized{width:100%!important;height:100%!important;max-height:100%!important;overflow:hidden!important}.game-view-mobile-content-wrapper>.game-chat-window .game-chat-header .chat-minimize-button{display:none!important}.game-view-mobile-content-wrapper>.game-chat-window .game-chat-header{cursor:default!important;flex-shrink:0}.game-view-mobile-content-wrapper>.game-chat-window .game-chat-tabs{display:flex!important;flex-shrink:0}.game-view-mobile-content-wrapper>.game-chat-window .game-chat-messages{display:flex!important;flex-direction:column;flex-grow:1;overflow-y:auto;min-height:0}.game-view-mobile-content-wrapper>.game-chat-window .game-chat-input-area{display:flex!important;flex-shrink:0}.game-view-mobile-content-wrapper>.contacts-sidebar{padding:0;border-left:none!important;transform:none!important;background-color:var(--color-background-body);display:flex!important;flex-direction:column!important}.game-view-mobile-content-wrapper>.contacts-sidebar .close-sidebar-button{display:none!important}.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list{flex-grow:1;min-height:0;background-color:var(--color-background-content);margin:10px;border-radius:var(--border-radius-md);padding:10px}.game-view-mobile-content-wrapper>.contacts-sidebar .contacts-list:last-of-type{margin-bottom:10px}.game-view-mobile-content-wrapper>.contacts-sidebar .add-contact-section{background-color:var(--color-background-content);margin:0 10px 10px;border-radius:var(--border-radius-md);padding:15px}.user-list-page{padding:20px;box-sizing:border-box;width:100%;height:100%;display:flex;flex-direction:column}.user-list-page h3{text-align:center;margin-bottom:20px;color:var(--color-primary);font-size:1.6em}.user-search-form{display:flex;margin-bottom:20px;gap:10px;width:100%;max-width:600px;align-self:center}.user-search-input{flex-grow:1;padding:10px 15px;font-size:1rem;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);box-sizing:border-box;color:var(--color-text-input);background-color:var(--color-background-input)}.user-search-input:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.user-search-input::placeholder{color:var(--color-text-placeholder)}.user-list{list-style:none;padding:0;margin:0 0 20px;border:1px solid var(--color-border-divider);border-radius:var(--border-radius-md);overflow:hidden;flex-grow:1;min-height:0}.user-list-item,.user-list-header{display:grid;grid-template-columns:60px 1fr 100px 100px;gap:10px;padding:12px 15px;align-items:center;border-bottom:1px solid var(--color-border-divider);font-size:.95rem}.user-list-header{background-color:var(--color-background-hover-subtle);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);position:sticky;top:0;z-index:1;border-bottom-width:2px}.user-list-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-item:last-child{border-bottom:none}.user-list-item{border-radius:0}.user-list-item:hover{background-color:var(--color-background-hover-subtle);cursor:pointer}.user-list-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-1px;z-index:2;background-color:var(--color-background-hover-subtle)}.user-rank{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-align:center}.user-username{font-weight:var(--font-weight-bold);color:var(--color-text-link);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-item:hover .user-username{color:var(--color-text-link-hover);text-decoration:underline}.user-rating{text-align:right;font-weight:var(--font-weight-bold);color:var(--color-accent)}.user-wl{text-align:right;color:var(--color-text-secondary);font-size:.9em}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid var(--color-border-divider);flex-shrink:0}.pagination-controls button{padding:8px 15px}.pagination-controls span{font-size:.9rem;color:var(--color-text-secondary);margin:0 10px}.user-list-page .form-error-message{background-color:var(--color-warning-bg);color:var(--color-text-on-warning);border:1px solid var(--color-warning);padding:10px 15px;border-radius:var(--border-radius-sm);margin:0 auto 20px;font-size:.9rem;text-align:center;max-width:600px}.user-list-page .error-message.form-error-message{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.user-list-page>p:not(.error-message){text-align:center;font-style:italic;color:var(--color-text-secondary);padding:20px}@media (max-width: 768px){.user-list-page{padding:10px}.user-list-page h3{font-size:1.4em}.user-search-form{flex-direction:column;gap:8px;max-width:100%}.user-search-input{font-size:.95rem;padding:10px 12px}.user-list-item,.user-list-header{grid-template-columns:35px 1fr 60px 60px;padding:10px 8px;font-size:.85rem;gap:6px}.user-list-header{font-size:.75rem;padding:8px}.user-rank{font-size:.8em}.user-username{font-weight:var(--font-weight-semibold)}.user-rating{font-size:.85em}.user-wl{font-size:.75em}.pagination-controls{flex-direction:column;gap:10px;margin-top:15px;padding-top:10px}.pagination-controls button{width:100%;padding:10px}}.user-info-window-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000040;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.user-info-window-content{background-color:var(--color-background-content);padding:25px;border-radius:var(--border-radius-lg);box-shadow:0 8px 30px #0003,0 0 1px #0000001a;border:1px solid var(--color-border-subtle, #e0e0e0);width:100%;max-width:450px;position:relative;color:var(--color-text-primary);max-height:80vh;overflow-y:auto;display:flex;flex-direction:column}.user-info-window-content .close-button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.8em;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:5px}.user-info-window-content .close-button:hover{color:var(--color-text-primary)}.user-info-window-content h2{margin-top:0;margin-bottom:20px;font-size:1.6em;color:var(--color-primary);text-align:center;word-break:break-word}.user-info-window-content .info-section{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--color-border-divider)}.user-info-window-content .info-section:has(+.actions-section){border-bottom:none;padding-bottom:0;margin-bottom:0}.user-info-window-content .info-section:last-child:not(:has(+.actions-section)){border-bottom:none;padding-bottom:0}.user-info-window-content .info-section h4{font-size:1.1em;color:var(--color-text-secondary);margin-top:0;margin-bottom:10px;font-weight:var(--font-weight-semibold)}.user-info-window-content .info-section p{margin:0 0 8px;font-size:.95em;line-height:1.5}.user-info-window-content .info-section p strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-right:6px;display:inline-block}.user-info-window-content .info-section em{color:var(--color-text-secondary);font-style:italic;display:block;text-align:left}.profile-status .online-text{color:var(--color-success);font-weight:var(--font-weight-bold)}.profile-status .offline-text{color:var(--color-text-secondary)}.user-info-window-content .info-section.current-activity ul{list-style:none;padding-left:0;margin-top:5px;margin-bottom:0}.user-info-window-content .info-section.current-activity li{padding:6px 2px;font-size:.9em;border-bottom:1px dashed var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center}.user-info-window-content .info-section.current-activity li:last-child{border-bottom:none}.user-info-window-content .info-section.current-activity li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.user-info-window-content .info-section.current-activity li strong{text-transform:capitalize;font-weight:var(--font-weight-bold);color:var(--color-accent);flex-shrink:0}.user-info-window-content .actions-section{margin-top:20px;display:flex;flex-direction:column;gap:10px}.user-info-window-content .actions-section .remove-contact-button,.user-info-window-content .actions-section .add-contact-button{width:100%;padding:10px 15px;font-size:.95rem;box-sizing:border-box}.user-info-window-content .actions-section .add-contact-button{background-color:var(--color-primary);color:var(--color-text-on-primary);border:none}.user-info-window-content .actions-section .add-contact-button:hover{background-color:var(--color-primary-hover)}.user-info-window-content .actions-section .add-contact-button:disabled{background-color:var(--color-grey-medium);color:var(--color-text-disabled);cursor:not-allowed;opacity:.65}.user-info-window-content .actions-section .report-user-button{background-color:var(--color-background-hover-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border-divider)}.user-info-window-content .actions-section .report-user-button:hover{background-color:var(--color-grey-light);border-color:var(--color-grey-medium)}.report-modal .report-reason-textarea{width:100%;padding:10px;border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);background-color:var(--color-background-input);color:var(--color-text-input);font-size:1rem;resize:vertical;margin-bottom:20px}.user-info-window-content .form-error-message{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border);padding:8px 12px;border-radius:var(--border-radius-sm);margin-bottom:15px;font-size:.9em;text-align:center}@media (max-width: 768px){.user-info-window-overlay{padding:10px}.user-info-window-content{padding:15px;max-height:90vh}.user-info-window-content h2{font-size:1.4em;margin-bottom:15px}.user-info-window-content .info-section h4{font-size:1em;margin-bottom:8px}.user-info-window-content .info-section p{font-size:.9em;margin-bottom:6px}.user-info-window-content .actions-section{margin-top:15px}}.direct-message-window{position:fixed;bottom:var(--dm-window-bottom-offset);right:var(--dm-window-right-offset);width:var(--dm-window-width);max-height:500px;background-color:var(--color-background-content);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;box-shadow:var(--shadow-lg);z-index:995;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease-out,right var(--transition-speed-normal) var(--transition-timing-function);box-sizing:border-box}.dm-window-header{background-color:var(--color-background-hover-subtle);padding:10px 15px;border-bottom:1px solid var(--color-border-divider);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;cursor:grab}.dm-window-header:active{cursor:grabbing}.dm-window-header h4{margin:0;font-size:1.1rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.dm-window-header span[aria-label=Disconnected]{color:var(--color-danger);margin-left:8px;font-weight:700;font-size:.8em}.dm-window-close-button{background:none;border:none;font-size:1.6rem;font-weight:700;color:var(--color-grey-medium);cursor:pointer;padding:0 5px;line-height:1;flex-shrink:0;transition:color var(--transition-speed-fast)}.dm-window-close-button:hover{color:var(--color-text-primary)}.dm-window-close-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.dm-message-display-area{flex-grow:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:2px;background-color:var(--color-background-content);min-height:0}.dm-message-display-area p.loading-indicator,.dm-message-display-area p:only-child{font-style:italic;color:var(--color-text-secondary);text-align:center;margin:auto;padding:20px}.dm-message-line{padding:2px 8px;line-height:1.4;font-size:.95rem;display:flex;align-items:baseline;gap:6px;word-break:break-word;position:relative;border-radius:var(--border-radius-sm);transition:background-color .1s ease-in-out}.dm-report-button{background:none;border:none;cursor:pointer;font-size:.9em;padding:2px 4px;color:var(--color-text-secondary);opacity:0;transition:opacity .15s ease-in-out,color .15s ease-in-out;margin-left:auto;flex-shrink:0}.dm-message-line:hover{background-color:var(--color-background-hover-subtle)}.dm-message-line:hover .dm-report-button{opacity:.7}.dm-report-button:hover{opacity:1;color:var(--color-danger)}.dm-message-sender{font-weight:var(--font-weight-bold);color:var(--color-text-secondary);flex-shrink:0}.dm-message-content{flex-grow:1;white-space:pre-wrap;color:var(--color-text-primary)}.read-receipt{font-size:.8em;margin-left:5px;vertical-align:baseline;display:inline-block;font-weight:700;color:var(--color-success);opacity:.8}.message-input-area{display:flex;padding:10px 15px;border-top:1px solid var(--color-border-divider);flex-shrink:0;gap:8px;align-items:center;background-color:var(--color-background-hover-subtle)}.message-input-area textarea{flex-grow:1;border-radius:var(--border-radius-full);padding:8px 15px;font-size:.95rem;line-height:1.4;border:1px solid var(--color-border-input);resize:none;min-height:38px;max-height:100px;overflow-y:auto;background-color:var(--color-background-input);font-family:inherit;box-sizing:border-box}.message-input-area textarea:focus{border-color:var(--color-border-input-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.message-input-area textarea:disabled{background-color:var(--color-background-disabled);cursor:not-allowed;opacity:.7}.message-input-area .send-button{flex-shrink:0;padding:8px 15px;height:38px;line-height:1}@media (max-width: 1200px){.direct-message-window{width:100%;height:var(--app-height);max-height:var(--app-height);top:0;left:0;right:0!important;bottom:auto;border-radius:0;border:none;border-bottom:1px solid var(--color-border);z-index:1010}.dm-window-header{background-color:var(--color-background-nav);color:var(--color-text-on-nav);cursor:default}.dm-window-header h4,.dm-window-close-button{color:var(--color-text-on-nav)}.dm-window-header:active{cursor:default}}.notification-container{position:fixed;top:20px;right:20px;z-index:1050;width:auto;max-width:380px;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end}.notification-item{position:relative;background-color:#323232eb;color:#fff;padding:12px 40px 12px 18px;margin-bottom:10px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);opacity:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out;pointer-events:auto;width:fit-content;min-width:200px;text-align:left;line-height:1.4;font-size:.95rem}.notification-item.success{background-color:#28a745eb;color:#fff}.notification-item.error{background-color:#dc3545eb;color:#fff}.close-notification{position:absolute;top:50%;right:10px;transform:translateY(-50%);background:none;border:none;color:inherit;opacity:.7;font-weight:700;cursor:pointer;padding:5px;font-size:1.4rem;line-height:1;transition:opacity var(--transition-speed-fast)}.close-notification:hover{opacity:1}.close-notification:focus-visible{outline:2px solid white;outline-offset:1px;border-radius:2px}.notification-item.fade-out{opacity:0;transform:translate(20px)}.mobile-game-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background-color:var(--color-background-nav);color:var(--color-text-on-nav);box-shadow:0 -2px 5px #0003;z-index:1000;border-top:1px solid var(--color-border);padding:0;margin:0;justify-content:space-around}.mobile-game-nav .nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-on-nav);opacity:.75;padding:5px 0;cursor:pointer;transition:background-color .2s ease-in-out,color .2s ease-in-out,opacity .2s ease-in-out;font-size:.9rem;text-align:center;overflow:hidden;min-width:0}.mobile-game-nav .nav-item:hover{opacity:1;background-color:#ffffff0d}.mobile-game-nav .nav-item.active{color:var(--color-accent);opacity:1;font-weight:var(--font-weight-bold)}.mobile-game-nav .nav-item.active .nav-icon{transform:scale(1.1)}.mobile-game-nav .nav-icon{font-size:1.6em;margin-bottom:2px;line-height:1;transition:transform .2s ease-in-out}.mobile-game-nav .nav-label{font-size:.6em;text-transform:uppercase;letter-spacing:.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-game-nav .nav-item.leave-game{color:var(--palette-red-muted)}.mobile-game-nav .nav-item.leave-game:hover{background-color:color-mix(in srgb,var(--palette-red-muted) 10%,transparent)}.mobile-game-nav .nav-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;opacity:1}.mobile-pre-game-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background-color:var(--color-background-nav);color:var(--color-text-on-nav);box-shadow:0 -2px 5px #0003;z-index:1000;border-top:1px solid var(--color-border)}.mobile-pre-game-nav .nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-on-nav);opacity:.75;padding:5px 0;cursor:pointer;transition:background-color .2s,color .2s,opacity .2s;font-size:.9rem;text-align:center;overflow:hidden;min-width:0}.mobile-pre-game-nav .nav-item:hover{opacity:1;background-color:#ffffff0d}.mobile-pre-game-nav .nav-item.active{color:var(--color-accent);opacity:1;font-weight:var(--font-weight-bold)}.mobile-pre-game-nav .nav-item.active .nav-icon{transform:scale(1.1)}.mobile-pre-game-nav .nav-icon{font-size:1.6em;margin-bottom:2px;line-height:1;transition:transform .2s}.mobile-pre-game-nav .nav-label{font-size:.6em;text-transform:uppercase;letter-spacing:.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-pre-game-nav .nav-item.logout{color:var(--palette-red-muted)}.mobile-pre-game-nav .nav-item.logout:hover{background-color:color-mix(in srgb,var(--palette-red-muted) 10%,transparent)}.mobile-pre-game-nav .nav-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;opacity:1}.map-editor-container{display:flex;flex-direction:row;height:100%;width:100%;overflow:hidden;background-color:var(--color-background-body)}.map-editor-container.centered-content{flex-direction:column;justify-content:center;align-items:center}.editor-sidebar{flex:0 0 300px;min-width:250px;background-color:var(--color-background-content);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;transition:flex-basis var(--transition-speed-normal) var(--transition-timing-function),min-width var(--transition-speed-normal) var(--transition-timing-function);position:relative;z-index:5}.editor-sidebar.collapsed{flex-basis:50px;min-width:50px}.editor-sidebar .sidebar-toggle-button{flex-shrink:0;background:var(--color-background-hover-subtle);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);padding:10px;width:100%;text-align:center;cursor:pointer;font-size:1.4em;line-height:1}.editor-sidebar .sidebar-toggle-button:hover{background-color:var(--color-grey-light);color:var(--color-primary)}.editor-controls-content{padding:15px;overflow-y:auto;flex-grow:1;transition:opacity var(--transition-speed-normal) var(--transition-timing-function);opacity:1}.editor-sidebar.collapsed .editor-controls-content{opacity:0;pointer-events:none;padding:0;overflow:hidden}.editor-controls-content h3{margin-top:0;margin-bottom:10px;font-size:1.15em;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-divider);padding-bottom:6px}.editor-controls-content .control-group{margin-bottom:10px;display:flex;flex-direction:column}.editor-controls-content .control-group label{margin-bottom:4px;font-weight:var(--font-weight-semibold);font-size:.85em;color:var(--color-text-secondary)}.editor-controls-content .control-group input[type=text],.editor-controls-content .control-group input[type=number],.editor-controls-content .control-group select{padding:7px 9px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:.9em;background-color:var(--color-background-input);color:var(--color-text-input);width:100%}.editor-controls-content .control-group input[type=text]:focus,.editor-controls-content .control-group input[type=number]:focus,.editor-controls-content .control-group select:focus{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.editor-controls-content .control-group.checkbox-group{flex-direction:row;align-items:center;margin-bottom:12px}.editor-controls-content .control-group.checkbox-group input[type=checkbox]{margin-right:8px;width:auto;cursor:pointer}.editor-controls-content .control-group.checkbox-group label{margin-bottom:0;font-weight:var(--font-weight-normal);cursor:pointer}.editor-controls-content .primary-button,.editor-controls-content .secondary-button,.editor-controls-content .danger-button{padding:8px 12px;font-size:.95em;width:100%;min-width:auto;margin-top:8px}.editor-controls-content .control-group>.primary-button,.editor-controls-content .control-group>.secondary-button,.editor-controls-content .control-group>.danger-button{width:auto}.editor-map-area-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.map-info-bar-editor{background-color:var(--color-grey-darker);color:var(--color-text-on-nav);padding:8px 15px;font-size:.85em;flex-shrink:0;border-bottom:1px solid var(--color-black);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;-webkit-user-select:none;user-select:none}.editor-map-canvas-container{flex-grow:1;position:relative;background-color:var(--color-grey-medium);cursor:grab;overflow:hidden;display:flex;justify-content:center;align-items:center}.editor-map-canvas-container:active{cursor:grabbing}.start-positions-list{margin-top:10px;padding-top:10px;border-top:1px dashed var(--color-border-divider)}.start-positions-list h4{font-size:.9em;margin-bottom:5px;color:var(--color-text-secondary)}.start-positions-list ul{list-style:none;padding-left:5px;font-size:.85em;max-height:150px;overflow-y:auto}.start-positions-list li{margin-bottom:3px;color:var(--color-text-primary)}@media (max-width: 768px){.map-editor-container.layout-with-sidebar{flex-direction:column}.editor-sidebar{flex:0 0 auto;width:100%;max-height:45vh;border-right:none;border-bottom:1px solid var(--color-border)}.editor-sidebar.collapsed{max-height:50px}.editor-sidebar.collapsed .editor-controls-content{display:none}.editor-map-area-wrapper{min-height:0}}.welcome-overlay-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#191c20d9;display:flex;align-items:center;justify-content:center;z-index:1100;pointer-events:all;padding:20px}.welcome-content-box{background-color:var(--color-background-content);color:var(--color-text-primary);padding:30px 40px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:550px;width:100%;text-align:center;animation:fadeInWelcome .3s ease-out}@keyframes fadeInWelcome{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.welcome-content-box h2{font-size:2em;color:var(--color-primary);margin-bottom:20px}.welcome-guest-info{background-color:var(--color-warning-bg);border:1px solid color-mix(in srgb,var(--color-warning) 40%,var(--color-white));padding:15px;border-radius:var(--border-radius-md);margin-bottom:25px}.welcome-guest-info p{margin:0;line-height:1.6;color:color-mix(in srgb,var(--color-warning) 80%,var(--color-black))}.welcome-standard-text{font-size:1.1em;color:var(--color-text-secondary);margin-bottom:25px}.welcome-guidance{text-align:left;padding:20px;margin:25px 0;border-radius:var(--border-radius-md);background-color:var(--color-grey-lightest);border:1px solid var(--color-border-divider)}.welcome-guidance p{margin:0 0 10px;line-height:1.6;color:var(--color-text-secondary)}.welcome-guidance p:last-child{margin-bottom:0}.welcome-guidance hr{border:none;border-top:1px solid var(--color-border-divider);margin:15px 0}.welcome-dismiss .primary-button{width:100%;max-width:250px}.tutorial-overlay-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;pointer-events:none}.tutorial-shader{position:absolute;background-color:#191c20bf;transition:all .4s ease-in-out;z-index:1001}.tutorial-shader.full-screen{top:0;left:0;right:0;bottom:0}.tutorial-content-box{position:absolute;opacity:0;visibility:hidden;background-color:#fff;color:var(--color-text-primary);padding:20px 25px;border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);max-width:400px;width:90vw;text-align:left;pointer-events:all;z-index:1002;max-height:90vh;overflow-y:auto;transition:top .3s ease-in-out,left .3s ease-in-out,right .3s ease-in-out,transform .3s ease-in-out,opacity .3s}.tutorial-content-box h2{margin-top:0;margin-bottom:15px;color:var(--color-primary);font-size:1.5em;text-align:center}.tutorial-intro-text{font-size:1em;line-height:1.6;margin-bottom:15px;color:var(--color-text-secondary)}.tutorial-buttons-container{margin-top:20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border-divider);padding-top:15px}.tutorial-continue-button{padding:10px 20px;font-size:1em;font-weight:var(--font-weight-bold)}.tutorial-skip-button{background-color:transparent;color:var(--color-text-secondary);border:1px solid transparent;padding:10px 15px;font-size:.9em;cursor:pointer;transition:all var(--transition-speed-fast) ease}.tutorial-skip-button:hover{background-color:var(--color-background-hover-subtle);color:var(--color-danger);border-color:var(--color-danger-border)}.tutorial-goal-icon{position:fixed;bottom:20px;right:20px;width:50px;height:50px;background-color:var(--color-accent-secondary);color:var(--color-text-on-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2em;box-shadow:var(--shadow-lg);cursor:pointer;z-index:1005;pointer-events:all;transition:transform .2s ease-out,background-color .2s ease-out;animation:popIn .3s ease-out}.tutorial-goal-icon:hover{transform:scale(1.1);background-color:var(--color-accent-secondary-hover)}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.legal-overlay-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box}.legal-overlay-content{background-color:var(--color-background-content);border:1px solid var(--color-border-divider);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:800px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.legal-overlay-header{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;border-bottom:1px solid var(--color-border-divider);flex-shrink:0}.legal-overlay-header h2{margin:0;font-size:1.5rem;color:var(--color-text-primary)}.legal-overlay-close-btn{background:none;border:none;font-size:2.5rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0 5px}.legal-overlay-close-btn:hover{color:var(--color-text-primary)}.legal-overlay-body{padding:25px;overflow-y:auto;flex-grow:1;line-height:1.6}.legal-overlay-body h1,.legal-overlay-body h2{color:var(--color-text-primary);margin-top:1em;margin-bottom:.5em}.legal-overlay-body p,.legal-overlay-body li{color:var(--color-text-secondary)}.legal-overlay-body ul{padding-left:20px}:root{--palette-bg-light: #D5DFE5;--palette-teal-dark: #114B5F;--palette-red-muted: #BB4430;--palette-yellow-vibrant: #F3A712;--palette-green-muted: #8FB339;--color-white: #ffffff;--color-black: #000000;--color-grey-lightest: #f8f9fa;--color-grey-light: #e9ecef;--color-grey-medium: #ced4da;--color-grey-dark: #6c757d;--color-grey-darker: #343a40;--color-primary: var(--palette-teal-dark);--color-primary-hover: color-mix(in srgb, var(--color-primary) 85%, var(--color-black));--color-secondary: var(--palette-green-muted);--color-secondary-hover: color-mix(in srgb, var(--color-secondary) 85%, var(--color-black));--color-accent: var(--palette-yellow-vibrant);--color-accent-hover: color-mix(in srgb, var(--color-accent) 85%, var(--color-black));--color-accent-secondary: #58a6ff;--color-background-body: var(--palette-bg-light);--color-background-content: var(--color-white);--color-background-header-footer: var(--color-white);--color-background-sidebar: var(--color-white);--color-background-nav: var(--color-grey-darker);--color-background-input: var(--color-white);--color-background-disabled: var(--color-grey-light);--color-background-hover-subtle: var(--color-grey-lightest);--color-background-active-subtle: var(--palette-bg-light);--color-background-content-translucent: rgba(40, 44, 52, .92);--color-text-primary: var(--color-grey-darker);--color-text-secondary: var(--color-grey-dark);--color-text-tertiary: var(--color-grey-medium);--color-text-on-primary: var(--color-white);--color-text-on-secondary: var(--color-white);--color-text-on-danger: var(--color-white);--color-text-on-warning: var(--color-text-primary);--color-text-on-nav: var(--palette-bg-light);--color-text-link: var(--color-primary);--color-text-link-hover: var(--color-primary-hover);--color-text-placeholder: var(--color-grey-dark);--color-text-disabled: var(--color-grey-dark);--color-text-accent: var(--color-accent);--color-text-input: var(--color-text-primary);--color-border: var(--color-grey-medium);--color-border-input: var(--color-grey-medium);--color-border-input-focus: var(--color-primary);--color-border-divider: var(--color-grey-light);--color-border-subtle: var(--color-grey-lightest);--color-border-dark: #555;--color-border-divider-light: #e0e0e0;--color-danger-border: color-mix(in srgb, var(--color-danger) 50%, transparent);--color-danger-subtle: color-mix(in srgb, var(--color-danger) 15%, transparent);--color-danger-hover: color-mix(in srgb, var(--color-danger) 25%, transparent);--color-success: var(--palette-green-muted);--color-success-light: #8fbc8f;--color-danger: var(--palette-red-muted);--color-danger-light: #f08080;--color-warning: var(--palette-yellow-vibrant);--color-info: var(--color-primary);--color-success-bg: color-mix(in srgb, var(--color-success) 15%, var(--color-white));--color-danger-bg: color-mix(in srgb, var(--color-danger) 15%, var(--color-white));--color-warning-bg: color-mix(in srgb, var(--color-warning) 20%, var(--color-white));--color-info-bg: color-mix(in srgb, var(--color-info) 15%, var(--color-white));--color-focus-ring: color-mix(in srgb, var(--color-primary) 30%, transparent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 8px;--border-radius-full: 9999px;--nav-width-expanded: 220px;--nav-width-collapsed: 60px;--sidebar-width: 300px;--dm-window-width: 400px;--dm-window-bottom-offset: 0px;--dm-window-right-offset: 20px;--dm-window-right-offset-sidebar-open: calc(var(--sidebar-width) + 20px);--transition-speed-fast: .15s;--transition-speed-normal: .3s;--transition-timing-function: ease-in-out;--font-weight-normal: 400;--font-weight-semibold: 600;--font-weight-bold: 700}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-weight:var(--font-weight-normal);background-color:var(--color-background-body);color:var(--color-text-primary);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;width:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);margin-top:0;margin-bottom:.75em;line-height:1.2;font-weight:var(--font-weight-bold)}h1{font-size:2.2em}h2{font-size:1.8em}h3{font-size:1.4em}h4{font-size:1.1em}ul{list-style:none;padding:0;margin:0}button,input,select,textarea{font-family:inherit;font-size:1rem;margin:0}button{cursor:pointer;border:none;background:none;padding:0}a{color:var(--color-text-link);text-decoration:none}a:hover{color:var(--color-text-link-hover);text-decoration:underline}*:focus{outline:none}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 3px var(--color-focus-ring)}.centered-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;padding:20px;text-align:center}.section-box{background-color:var(--color-background-content);padding:20px;margin-bottom:20px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-divider)}.loading-indicator p{text-align:center;padding:30px;font-size:1.2em;color:var(--color-text-secondary)}.primary-button,button[type=submit]{padding:10px 20px;background-color:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--border-radius-sm);font-size:1rem;font-weight:var(--font-weight-bold);transition:background-color var(--transition-speed-fast) var(--transition-timing-function),opacity var(--transition-speed-fast) var(--transition-timing-function);text-align:center;display:inline-block;vertical-align:middle;line-height:1.5}.primary-button:hover,button[type=submit]:hover{background-color:var(--color-primary-hover)}.primary-button:disabled,button[type=submit]:disabled{background-color:var(--color-grey-medium);color:var(--color-text-disabled);cursor:not-allowed;opacity:.65}.secondary-button,button[type=button]{padding:8px 15px;background-color:var(--color-background-content);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:.9rem;font-weight:var(--font-weight-bold);transition:background-color var(--transition-speed-fast) var(--transition-timing-function),border-color var(--transition-speed-fast) var(--transition-timing-function),opacity var(--transition-speed-fast) var(--transition-timing-function);text-align:center;display:inline-block;vertical-align:middle;line-height:1.5}button[type=button]:where(.close-sidebar-button,.dm-window-close-button,.main-nav-toggle,.close-message,.link-button,.sidebar-toggle-button,.toggle-expand-button,.coordinate-link,.kick-button,.delete-button,.chat-minimize-button,.add-button){padding:initial;background-color:initial;color:initial;border:initial;border-radius:initial;font-size:initial;font-weight:initial;line-height:initial}button[type=button]:not(:where(.close-sidebar-button,.dm-window-close-button,.main-nav-toggle,.close-message,.link-button,.sidebar-toggle-button,.toggle-expand-button,.coordinate-link,.kick-button,.delete-button,.chat-minimize-button,.add-button)):hover{background-color:var(--color-background-hover-subtle);border-color:var(--color-grey-dark)}button[type=button]:not(:where(.close-sidebar-button,.dm-window-close-button,.main-nav-toggle,.close-message,.link-button,.sidebar-toggle-button,.toggle-expand-button,.coordinate-link,.kick-button,.delete-button,.chat-minimize-button,.add-button)):disabled{background-color:var(--color-background-disabled);border-color:var(--color-border);color:var(--color-text-disabled);cursor:not-allowed;opacity:.7}.secondary-button:hover{background-color:var(--color-background-hover-subtle);border-color:var(--color-grey-dark)}.secondary-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border);color:var(--color-text-disabled);cursor:not-allowed;opacity:.7}.danger-button{padding:8px 15px;background-color:var(--color-danger);color:var(--color-text-on-danger);border:none;border-radius:var(--border-radius-sm);font-size:.9rem;font-weight:var(--font-weight-bold);transition:background-color var(--transition-speed-fast) var(--transition-timing-function),opacity var(--transition-speed-fast) var(--transition-timing-function);text-align:center;display:inline-block;vertical-align:middle;line-height:1.5}.danger-button:hover{background-color:color-mix(in srgb,var(--color-danger) 85%,var(--color-black))}.danger-button:disabled{background-color:color-mix(in srgb,var(--color-danger) 50%,var(--color-background-disabled));cursor:not-allowed;opacity:.65}.link-button{background:none;border:none;color:var(--color-text-link);text-decoration:underline;cursor:pointer;font-size:1em;padding:0;vertical-align:baseline;font-weight:var(--font-weight-normal)}.link-button:hover{color:var(--color-text-link-hover);background:none}.message-area{margin-bottom:0;min-height:0;flex-shrink:0;position:relative;padding-left:30px;padding-right:30px;width:100%;box-sizing:border-box}.message-area:has(.success-message,.error-message,.warning-message,.info-message){min-height:1.5em;padding-top:15px;margin-bottom:10px}.success-message,.error-message,.warning-message,.info-message{padding:10px 40px 10px 15px;border-radius:var(--border-radius-sm);display:flex;justify-content:flex-start;align-items:center;margin-bottom:0;font-size:.95rem;position:relative;text-align:left}.message-area>*:not(:first-child){margin-top:10px}.success-message{color:var(--color-success);background-color:var(--color-success-bg);border:1px solid color-mix(in srgb,var(--color-success) 30%,var(--color-white))}.error-message{color:var(--color-danger);background-color:var(--color-danger-bg);border:1px solid color-mix(in srgb,var(--color-danger) 30%,var(--color-white))}.warning-message{color:color-mix(in srgb,var(--color-warning) 80%,var(--color-black));background-color:var(--color-warning-bg);border:1px solid color-mix(in srgb,var(--color-warning) 40%,var(--color-white))}.info-message{color:var(--color-info);background-color:var(--color-info-bg);border:1px solid color-mix(in srgb,var(--color-info) 30%,var(--color-white))}.close-message{position:absolute;top:50%;right:10px;transform:translateY(-50%);background:none;border:none;color:inherit;font-weight:700;cursor:pointer;padding:5px;font-size:1.2rem;line-height:1;opacity:.7;transition:opacity var(--transition-speed-fast)}.error-message .close-message{color:var(--color-danger)}.success-message .close-message{color:var(--color-success)}.warning-message .close-message{color:color-mix(in srgb,var(--color-warning) 80%,var(--color-black))}.info-message .close-message{color:var(--color-info)}.close-message:hover{opacity:1}.close-message:focus-visible{outline:2px solid currentColor;outline-offset:1px}.App-container{display:flex;height:100%;width:100%;overflow:hidden}.logged-in-layout{display:flex;position:relative;height:100%;width:100%;overflow:hidden}.main-content{flex-grow:1;background-color:var(--color-background-body);overflow:hidden;position:relative;margin-right:0;transition:margin-right var(--transition-speed-normal) var(--transition-timing-function);display:flex;flex-direction:column;height:100%;justify-content:flex-start;min-width:0}.main-content>*:not(.message-area){display:flex;flex-direction:column;flex-grow:1;overflow:hidden;margin:0;position:relative;width:100%;min-width:0;min-height:0;padding:0}.scrollable-view{display:block;height:100%;width:100%;overflow-y:auto;overflow-x:hidden;padding:30px;box-sizing:border-box;min-height:0;min-width:0}.main-content.no-padding>.scrollable-view{padding:0}.logged-in-layout.contacts-sidebar-open .main-content{margin-right:var(--sidebar-width)}.logged-in-layout.contacts-sidebar-open .contacts-sidebar{transform:translate(0)}.logged-in-layout.contacts-sidebar-open .direct-message-window{right:var(--dm-window-right-offset-sidebar-open)}.mobile-pre-game-layout,.mobile-in-game-layout{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;background-color:var(--color-background-body)}.mobile-main-view{flex-grow:1;overflow-y:auto;height:100%;width:100%;position:relative;box-sizing:border-box;padding-bottom:60px}.mobile-in-game-layout>.game-view-mobile-content-wrapper{flex-grow:1;padding-bottom:60px;box-sizing:border-box;overflow:auto;height:100%;width:100%;display:flex;flex-direction:column}@media (max-width: 768px){.navigation-sidebar,.logged-in-layout>.contacts-sidebar{display:none!important}.logged-in-layout .main-content{margin-left:0!important;margin-right:0!important}.logged-in-layout.contacts-sidebar-open .main-content{margin-right:0!important}.mobile-pre-game-layout .scrollable-view{padding:0;height:100%;width:100%}.mobile-pre-game-layout .main-content.no-padding>.scrollable-view{padding:0}.mobile-pre-game-layout .mobile-main-view>.dashboard,.mobile-pre-game-layout .mobile-main-view>.settings-form,.mobile-pre-game-layout .mobile-main-view>.create-game-form,.mobile-pre-game-layout .mobile-main-view>.game-info-view,.mobile-pre-game-layout .mobile-main-view>.awaiting-verification{padding:15px;max-width:none;width:100%;height:100%;box-sizing:border-box;margin:0;border-radius:0;box-shadow:none;border:none;overflow-y:auto}.mobile-pre-game-layout .mobile-main-view>.contacts-sidebar{display:flex!important;flex-direction:column;padding:0;width:100%!important;height:100%!important;box-sizing:border-box;position:static!important;transform:none!important;border-left:none!important;box-shadow:none!important;background-color:var(--color-background-body)}.mobile-pre-game-layout .mobile-main-view>.contacts-sidebar .close-sidebar-button{display:none!important}.mobile-pre-game-layout .mobile-main-view>.contacts-sidebar .contacts-list{flex-grow:1;min-height:0}.direct-message-window{position:fixed!important;width:100vw!important;height:var(--app-height)!important;max-height:var(--app-height)!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;border-radius:0!important;border:none!important;z-index:1020!important;transition:none!important;background-color:var(--color-background-content);display:flex;flex-direction:column}.direct-message-window .dm-window-header{border-radius:0;background-color:var(--color-background-nav);color:var(--color-text-on-nav);flex-shrink:0}.direct-message-window .dm-window-header h4{color:var(--color-text-on-nav)}.direct-message-window .dm-window-header .dm-window-close-button{color:var(--color-text-on-nav);opacity:.8}.direct-message-window .dm-window-header .dm-window-close-button:hover{opacity:1}.direct-message-window .dm-message-display-area{flex-grow:1;min-height:0;padding-bottom:20px;overflow-y:auto}.direct-message-window .message-input-area{background-color:var(--color-grey-light);flex-shrink:0}.notification-container{top:10px;right:10px;left:10px;max-width:none;width:auto;align-items:stretch}.notification-item{width:100%;box-sizing:border-box}.scrollable-view{padding:15px}.main-content.no-padding>.scrollable-view{padding:0}@media (min-width: 769px){.scrollable-view{padding:30px}.main-content.no-padding>.scrollable-view{padding:0}}.message-area,.message-area:has(.success-message,.error-message,.warning-message,.info-message){padding-left:15px;padding-right:15px}@media (min-width: 769px){.direct-message-window{position:fixed!important;width:var(--dm-window-width)!important;height:auto!important;max-height:500px!important;bottom:var(--dm-window-bottom-offset)!important;right:var(--dm-window-right-offset)!important;left:auto!important;top:auto!important;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0!important;border:1px solid var(--color-border)!important;border-bottom:none!important;z-index:995!important;transition:right var(--transition-speed-normal) var(--transition-timing-function)!important}.logged-in-layout.contacts-sidebar-open .direct-message-window{right:var(--dm-window-right-offset-sidebar-open)!important}}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.awaiting-verification.section-box{text-align:center;background-color:var(--color-warning-bg);border:1px solid color-mix(in srgb,var(--color-warning) 40%,var(--color-white));color:color-mix(in srgb,var(--color-warning) 80%,var(--color-black));padding:30px;max-width:500px;margin-left:auto;margin-right:auto}.awaiting-verification h2{color:inherit;margin-bottom:15px;font-size:1.5em}.awaiting-verification p{margin-bottom:10px;line-height:1.6}
