.active-battle-indicator{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(56,128,255,.2);border-radius:20px;padding:8px 16px;box-shadow:0 4px 20px #0000001a;min-width:280px;max-width:400px}.battle-info{display:flex;align-items:center;gap:8px;flex:1}.battle-details{display:flex;flex-direction:column;gap:2px}.battle-title{font-size:.9rem;font-weight:600;color:#2c3e50;line-height:1.2}.active-battle-indicator ion-chip{--background: transparent;--color: inherit;height:20px;font-size:.7rem}.active-battle-indicator ion-button{--padding-start: 12px;--padding-end: 12px;--padding-top: 6px;--padding-bottom: 6px;height:32px;font-size:.8rem;font-weight:600}@media (max-width: 480px){.active-battle-indicator{left:10px;right:10px;transform:none;min-width:auto;max-width:none;padding:6px 12px}.battle-title{font-size:.8rem}.active-battle-indicator ion-button{--padding-start: 8px;--padding-end: 8px;font-size:.75rem}}@media (prefers-color-scheme: dark){.active-battle-indicator{background:#2a2a2af2;border-color:#3880ff4d}.battle-title{color:#e0e0e0}}.active-battle-indicator:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 6px 25px #00000026;transition:all .2s ease}@media (max-width: 480px){.active-battle-indicator:hover{transform:translateY(-2px)}}.active-battle-indicator:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#3880ff,#5260ff,#3880ff);border-radius:22px;z-index:-1;opacity:0;animation:battlePulse 3s infinite}@keyframes battlePulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.02)}}.collection-card{margin:0;border-radius:12px;overflow:hidden;transition:all .3s ease;position:relative}.collection-card.owned{cursor:pointer;box-shadow:0 2px 8px #0000001a}.collection-card.owned:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.collection-card.unowned{opacity:.7;filter:grayscale(.3)}.collection-card.starter{border:2px solid var(--ion-color-success)}.card-image-container{position:relative;width:100%;height:120px;overflow:hidden}.card-image{width:100%;height:100%;object-fit:cover;transition:filter .3s ease}.card-image.greyed-out{filter:grayscale(1) brightness(.6)}.organism-display{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;transition:all .3s ease}.organism-display.greyed-out{filter:grayscale(100%) opacity(.4)}.collection-card-organism{transform:scale(1.2)}.ownership-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff}.pb-0{padding-bottom:0!important}.collection-view .collection-card{margin:0}.quantity-badge{position:absolute;top:8px;right:8px;min-width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.starter-badge{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:700}.card-subtitle{margin-top:.25rem}.greyed-text{opacity:.6}.collection-card ion-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.1;max-height:2.4em;min-height:2.4em}.card-subtitle ion-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:.95;max-height:2.2em;min-height:2.2em}.card-details{display:flex;flex-direction:column;gap:.5rem}.property-item{font-size:.8rem;line-height:1.2}.conservation-badge,.acquisition-badge{align-self:flex-start;font-size:.7rem;padding:.25rem .5rem}.acquisition-badge[color=medium]{opacity:.7;font-style:italic}.deck-controls-compact{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:6px 8px;background:var(--ion-color-light);border:1px solid var(--ion-color-medium-tint);border-radius:8px}.deck-control-btn{--padding-start: 4px;--padding-end: 4px;--padding-top: 4px;--padding-bottom: 4px;--background-hover: transparent;--background-focused: transparent;--background-activated: var(--ion-color-primary-tint);--color-hover: var(--ion-color-primary);--color-focused: var(--ion-color-primary);width:28px;height:28px;margin:0}.deck-control-btn ion-icon{font-size:16px}.deck-count{font-weight:700;font-size:1rem;min-width:20px;text-align:center;color:var(--ion-color-primary)}.add-btn{--color: var(--ion-color-success);--color-hover: var(--ion-color-success);--color-focused: var(--ion-color-success);--background-activated: var(--ion-color-success-tint)}.remove-btn{--color: var(--ion-color-danger);--color-hover: var(--ion-color-danger);--color-focused: var(--ion-color-danger);--background-activated: var(--ion-color-danger-tint)}.trophic-role{font-size:.8rem;font-weight:500}.educational-info{background:var(--ion-color-primary-tint);padding:.5rem;border-radius:6px;margin-top:.5rem}.basic-info,.hidden-info{display:flex;flex-direction:column;gap:.25rem}.obtain-hint{margin-top:.5rem;text-align:center;font-style:italic}@media (max-width: 768px){.card-image-container{height:100px}.collection-card ion-card-title{font-size:.9rem;max-height:2.16em;min-height:2.16em}.card-subtitle ion-text{font-size:.85rem;max-height:1.87em;min-height:1.87em}.collection-card ion-card-content{padding:.75rem}}.deck-header{padding:var(--tcg-spacing-sm);background:var(--tcg-background-secondary);color:var(--tcg-text-primary)}.deck-controls{display:flex;flex-direction:column;gap:var(--tcg-spacing-md)}.control-buttons{display:flex;gap:var(--tcg-spacing-sm)}.control-buttons ion-button{flex:1}.current-deck{padding:0 var(--tcg-spacing-sm) var(--tcg-spacing-sm);background:var(--tcg-background-primary)}.deck-stats{margin-bottom:var(--tcg-spacing-md);color:var(--tcg-text-primary)}.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--tcg-spacing-sm);color:var(--tcg-text-primary)}.trophic-counts{display:flex;gap:var(--tcg-spacing-xs)}.trophic-counts ion-badge{font-size:var(--tcg-font-size-small);padding:var(--tcg-spacing-xs) var(--tcg-spacing-sm)}.validation-errors{background:var(--tcg-background-secondary);border:1px solid var(--tcg-danger);border-radius:var(--tcg-border-radius-small);padding:var(--tcg-spacing-sm);margin-bottom:var(--tcg-spacing-md);color:var(--tcg-text-primary)}.error-message{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ion-color-warning-shade);margin-bottom:4px}.error-message:last-child{margin-bottom:0}.error-message ion-icon{font-size:14px}.deck-cards{margin-top:16px}.empty-slot{width:150px;height:210px;border:2px dashed var(--ion-color-medium);border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--ion-color-light);transition:all .3s ease}.empty-slot:hover{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.empty-slot ion-button{--color: var(--ion-color-medium);--background: transparent;--box-shadow: none;width:100%;height:100%}.empty-slot:hover ion-button{--color: var(--ion-color-primary)}.empty-slot ion-icon{font-size:48px}.saved-decks{padding:0 8px 8px}.deck-actions{display:flex;gap:8px;align-items:center}.deck-actions ion-button{--padding-start: 8px;--padding-end: 8px}.card-selector{padding:16px}.card-selector ion-searchbar{margin-bottom:16px}.card-selector ion-segment{margin-bottom:16px}.current-deck ion-card-title{display:flex;align-items:center;gap:8px}.current-deck ion-card-title ion-icon{font-size:20px}.deck-cards .species-card{position:relative}.deck-cards .species-card:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#f443361a;border-radius:12px;opacity:0;transition:opacity .3s ease;pointer-events:none}.deck-cards .species-card:hover:after{opacity:1}.card-selector .species-card{position:relative}.card-selector .species-card.playable:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#28a7451a;border-radius:12px;opacity:0;transition:opacity .3s ease;pointer-events:none}.card-selector .species-card.playable:hover:after{opacity:1}@media (max-width: 768px){.control-buttons{flex-direction:column}.stat-row{flex-direction:column;align-items:flex-start;gap:8px}.trophic-counts{align-self:stretch;justify-content:space-around}.deck-actions{flex-direction:column;align-items:stretch}.empty-slot{width:100%;height:150px}.empty-slot ion-icon{font-size:32px}.deck-builder-card{height:auto}}.deck-builder-card{position:relative;width:100%;height:auto}.deck-builder-card .collection-card{height:100%;margin:0}.plr-0{padding-left:0!important;padding-right:0!important}.deck-card-organism{border-radius:4px;overflow:hidden}.deck-cards ion-col{display:flex;justify-content:center}.validation-errors{animation:slideIn .3s ease-out}.deck-cards .species-card.dragging{opacity:.5;transform:rotate(5deg)}.empty-slot.drag-over{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint);transform:scale(1.05)}.deck-progress{margin:16px 0}.progress-bar{width:100%;height:8px;background:var(--ion-color-light-shade);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--ion-color-primary),var(--ion-color-secondary));transition:width .3s ease;border-radius:4px}.progress-text{text-align:center;font-size:12px;color:var(--ion-color-medium);margin-top:4px}.requirements-indicator{display:flex;justify-content:space-around;margin:12px 0;padding:8px;background:var(--ion-color-light);border-radius:8px}.requirement-item{display:flex;flex-direction:column;align-items:center;gap:4px}.requirement-item .label{font-size:10px;color:var(--ion-color-medium)}.requirement-item .count{font-size:14px;font-weight:700}.requirement-item.satisfied .count{color:var(--ion-color-success)}.requirement-item.unsatisfied .count{color:var(--ion-color-danger)}.type-filters{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.type-filter{padding:6px 12px;border:2px solid var(--ion-color-light-shade);border-radius:16px;background:var(--ion-color-light);color:var(--ion-color-dark);font-size:12px;cursor:pointer;transition:all .2s ease}.type-filter.active{border-color:var(--ion-color-primary);background:var(--ion-color-primary);color:var(--ion-color-primary-contrast)}.type-filter:hover{border-color:var(--ion-color-primary-tint)}.sort-controls{display:flex;align-items:center;gap:var(--tcg-spacing-md);margin-bottom:var(--tcg-spacing-md)}.sort-direction{display:flex;gap:var(--tcg-spacing-xs)}.trophic-filters{margin:var(--tcg-spacing-md) 0}.trophic-filters h4{margin-bottom:var(--tcg-spacing-sm);color:var(--tcg-text-primary);font-size:var(--tcg-font-size-medium)}.filter-badges{display:flex;flex-wrap:wrap;gap:var(--tcg-spacing-xs);align-items:center;justify-content:flex-start}.filter-badges .clickable-badge{cursor:pointer;transition:all var(--tcg-transition-fast);min-width:80px;text-align:center}.filter-badges .clickable-badge:hover{transform:scale(1.05);opacity:.8}.filter-badges .active-filter{box-shadow:0 0 0 2px var(--tcg-accent);transform:scale(1.1);font-weight:var(--tcg-font-weight-bold)}.card-selector ion-header ion-toolbar{--padding-end: 60px}.card-selector ion-header ion-toolbar ion-title{padding-right:60px}.card-selector ion-header ion-toolbar ion-button[slot=end]{margin-right:8px}@media (max-width: 768px){.deck-header{padding:var(--tcg-spacing-xs)}.control-buttons{flex-direction:column}.trophic-counts{flex-wrap:wrap}.card-selector{padding:var(--tcg-spacing-xs)}.filter-badges{flex-wrap:wrap}.card-selector ion-header ion-toolbar{--padding-end: 50px}.card-selector ion-header ion-toolbar ion-title{padding-right:50px;font-size:1.1rem}}.deck-card{transition:all var(--tcg-transition-medium);border-radius:var(--tcg-border-radius);overflow:hidden;border:1px solid var(--tcg-card-border)}.deck-card:hover{transform:translateY(-2px);box-shadow:var(--tcg-shadow-large)}.deck-card-active{transition:all var(--tcg-transition-medium);border-radius:var(--tcg-border-radius);overflow:hidden;border:2px solid var(--ion-color-primary);box-shadow:var(--tcg-shadow-medium)}.deck-card-active:hover{transform:translateY(-2px);box-shadow:var(--tcg-shadow-large)}.deck-card ion-button,.deck-card-active ion-button{--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;--padding-top: 8px;--padding-bottom: 8px;font-size:.85rem;font-weight:500;text-transform:none;letter-spacing:.5px}.deck-card ion-button[color=primary],.deck-card-active ion-button[color=primary]{--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-shade);--color: var(--ion-color-primary-contrast)}.deck-card ion-button[color=success],.deck-card-active ion-button[color=success]{--background: var(--ion-color-success);--background-hover: var(--ion-color-success-shade);--color: var(--ion-color-success-contrast)}.deck-card ion-button[color=danger],.deck-card-active ion-button[color=danger]{--background: transparent;--background-hover: rgba(var(--ion-color-danger-rgb), .1);--color: var(--ion-color-danger);--border-color: var(--ion-color-danger);--border-style: solid;--border-width: 1px}.deck-cards-container{max-height:400px;overflow-y:auto;border:1px solid var(--ion-color-light-shade);border-radius:8px;background:var(--ion-color-light-tint);scrollbar-width:thin;scrollbar-color:var(--ion-color-medium) var(--ion-color-light);-webkit-overflow-scrolling:touch;touch-action:pan-y}.deck-cards-container::-webkit-scrollbar{width:8px}.deck-cards-container::-webkit-scrollbar-track{background:var(--ion-color-light);border-radius:4px}.deck-cards-container::-webkit-scrollbar-thumb{background:var(--ion-color-medium);border-radius:4px}.deck-cards-container::-webkit-scrollbar-thumb:hover{background:var(--ion-color-medium-shade)}@media (max-width: 768px){.deck-card ion-button,.deck-card-active ion-button{--padding-start: 8px;--padding-end: 8px;font-size:.8rem;min-width:50px}.deck-card .deck-actions,.deck-card-active .deck-actions{flex-direction:column;gap:4px;align-items:stretch}}.deck-editor-header{margin-bottom:16px;padding:16px;background:var(--ion-color-light-tint);border-radius:12px;border:1px solid var(--ion-color-light-shade)}.deck-editor-header.compact{margin:0;padding:2px}.deck-cards-area.compact{margin-bottom:8px}.deck-cards-area.compact .ion-card-header{padding:8px 16px 4px}.deck-cards-area.compact .ion-card-content{padding-top:4px}.deck-name-row{display:flex;align-items:center;gap:12px}.deck-name-input{flex:1;--background: white;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px}.deck-controls-row{display:flex;align-items:center;justify-content:space-between}.zoom-controls{display:flex;align-items:center;gap:8px;background:#fff;padding:4px 8px;border-radius:8px;border:1px solid var(--ion-color-light-shade)}.zoom-level{font-weight:700;color:var(--ion-color-dark);min-width:24px;text-align:center}.deck-cards-area{margin-bottom:16px}.deck-cards-grid{display:grid;gap:8px;padding:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--ion-color-medium) var(--ion-color-light);-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-behavior:smooth}.deck-cards-grid::-webkit-scrollbar{height:8px}.deck-cards-grid::-webkit-scrollbar-track{background:var(--ion-color-light);border-radius:4px}.deck-cards-grid::-webkit-scrollbar-thumb{background:var(--ion-color-medium);border-radius:4px}.deck-cards-grid::-webkit-scrollbar-thumb:hover{background:var(--ion-color-medium-shade)}.deck-card-slot{transition:all .3s ease;border-radius:8px;overflow:hidden}.deck-card-slot:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.deck-card-slot.selected{transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--ion-color-primary-rgb),.3)}.collection-area{margin-bottom:80px;margin-left:0;margin-right:0}.collection-card-wrapper{transition:all .3s ease}.collection-card-wrapper.highlighted{transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--ion-color-primary-rgb),.3)}.zoom-1x .deck-cards-grid{grid-template-rows:1fr;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:150px;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr)}.zoom-2x .deck-cards-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:300px;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr)}.zoom-3x .deck-cards-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:450px;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr)}ion-fab[vertical=bottom][horizontal=end]{bottom:16px;right:16px}ion-fab[vertical=bottom][horizontal=start]{bottom:16px;left:16px}@media (max-width: 768px){.deck-editor-header{padding:12px}.deck-name-row{flex-direction:row;align-items:center;gap:12px}.deck-controls-row{flex-direction:row;gap:12px;align-items:center;justify-content:space-between}.deck-cards-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.mode-card{margin:16px 0;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.mode-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.phylo-mode{border-left:4px solid var(--ion-color-success)}.phylo-mode:hover{border-color:var(--ion-color-success);background:var(--ion-color-success-tint)}.tcg-mode{border-left:4px solid var(--ion-color-primary)}.tcg-mode:hover{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.mode-card ion-item{--padding-start: 0;--inner-padding-end: 0}.mode-card ion-badge{font-size:10px;font-weight:600}@media (max-width: 768px){.mode-card{margin:12px 0}}.difficulty-selector-content{--background: var(--ion-background-color)}.difficulty-card{margin:16px 0;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.difficulty-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.difficulty-card.recommended{border:2px solid var(--ion-color-primary);box-shadow:0 2px 8px rgba(var(--ion-color-primary-rgb),.2)}.difficulty-card ion-card-header{padding-bottom:8px}.difficulty-card ion-card-content{padding-top:8px}.difficulty-card ion-list{margin:0;padding:0}.difficulty-card ion-item{--padding-start: 0;--inner-padding-end: 0;--min-height: 32px}.tcg-battle-screen{--background: var(--ion-background-color, var(--ion-color-light));--color: var(--ion-text-color, var(--ion-color-dark))}.tcg-battle-screen ion-content{--background: var(--ion-background-color, var(--ion-color-light));--color: var(--ion-text-color, var(--ion-color-dark));--padding-bottom: 260px}.tcg-battle-screen .enhanced-game-status{margin:8px}.tcg-battle-screen .main-status-grid{margin:0;padding:0;width:100%}.tcg-battle-screen .main-status-grid ion-row{margin:0;padding:0;width:100%;align-items:flex-start}.tcg-battle-screen .player-stats-grid{margin:0;padding:0;width:100%}.tcg-battle-screen .player-stats-grid ion-row{margin:0;padding:0;width:100%}.tcg-battle-screen .player-stats-grid ion-col{padding:4px;flex:1;max-width:50%;height:auto;overflow:visible}.tcg-battle-screen .game-setup-card{height:100%;margin:0}.tcg-battle-screen .player-stats-grid .player-stats-card{height:auto;margin:0;display:flex;flex-direction:column}.tcg-battle-screen .player-stats-grid .player-stats-card ion-card-content{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:12px;overflow:visible;height:100%}.tcg-battle-screen .current-player-stats .player-stats-card{border:2px solid var(--ion-color-primary);box-shadow:0 4px 12px rgba(var(--ion-color-primary-rgb),.3)}.tcg-battle-screen .game-status-card{margin:8px;background:linear-gradient(135deg,var(--ion-color-primary-tint),var(--ion-color-secondary-tint))}.tcg-battle-screen .status-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ion-color-primary-contrast);font-size:12px;font-weight:500}.tcg-battle-screen .status-item ion-icon{font-size:18px}.tcg-battle-screen .game-grid-card{margin:0;height:100%}.tcg-battle-screen .tcg-grid{background:var(--ion-color-light-tint);border:2px solid var(--ion-color-medium);border-radius:8px;padding:8px}.tcg-battle-screen .grid-cell{transition:all .2s ease;position:relative}.tcg-battle-screen .grid-cell.empty:hover{background:#3b82f61a!important;border-color:#3b82f64d!important;box-shadow:0 0 20px #3b82f633,inset 0 1px #ffffff1a!important;transform:translateZ(5px)!important}.tcg-battle-screen .grid-cell.highlighted{background:#22c55e26!important;border-color:#22c55e80!important;box-shadow:0 0 30px #22c55e4d,inset 0 1px #fff3!important;animation:pulse-highlight 2s infinite;cursor:pointer!important}.tcg-battle-screen .grid-cell.valid-position{animation:pulse-valid 1.5s infinite;cursor:pointer!important}.tcg-battle-screen .grid-cell.valid-position:hover{background-color:var(--ion-color-success)!important;transform:scale(1.05)}@keyframes pulse-valid{0%,to{box-shadow:0 0 rgba(var(--ion-color-success-rgb),.7)}50%{box-shadow:0 0 0 4px rgba(var(--ion-color-success-rgb),0)}}.tcg-battle-screen .grid-card{animation:card-place .3s ease-out}@keyframes card-place{0%{transform:scale(.8);opacity:.5}to{transform:scale(1);opacity:1}}.tcg-battle-screen .player-hand-card{margin:8px;background:var(--ion-color-light)}.tcg-battle-screen .hand-cards{min-height:100px}.tcg-battle-screen .hand-card{transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.tcg-battle-screen .hand-card:hover{transform:translateY(-4px);box-shadow:0 4px 8px #0003}.tcg-battle-screen .hand-card.selected{transform:translateY(-8px);box-shadow:0 6px 12px rgba(var(--ion-color-primary-rgb),.3);animation:card-select .3s ease-out}@keyframes card-select{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.05)}to{transform:translateY(-8px) scale(1)}}.player-cards-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--tcg-background-secondary);border-top:2px solid var(--tcg-card-border);box-shadow:0 -4px 20px #00000026;padding:0;overflow:hidden;height:230px}.action-buttons-content{padding:0 5px}.tcg-battle-screen .action-buttons-card{margin:0;background:var(--tcg-card-background);border:1px solid var(--tcg-card-border);box-shadow:0 2px 8px #0000001a;border-radius:0}.tcg-battle-screen .action-buttons-card.collapsible{position:fixed;bottom:230px;left:-10px;right:-10px;z-index:999;margin:0;border-radius:12px;overflow:hidden;box-shadow:0 -2px 12px #00000026}.tcg-battle-screen .actions-header{cursor:pointer;padding:5px 15px;margin:0;border-bottom:1px solid var(--tcg-card-border);transition:none}.tcg-battle-screen .action-buttons-card.collapsible:hover,.tcg-battle-screen .actions-header:hover,.tcg-battle-screen .action-buttons-card.collapsible ion-card-header:hover{transform:none!important;box-shadow:0 -2px 12px #00000026!important;background-color:var(--tcg-card-background)!important}.tcg-battle-screen .actions-title{display:flex;justify-content:space-between;align-items:center;margin:0;font-size:16px;font-weight:600;color:var(--tcg-text-primary)}.tcg-battle-screen .collapse-icon{font-size:20px;color:var(--tcg-text-secondary);transition:transform .2s ease}.tcg-battle-screen .action-buttons-card.collapsible .actions-header:has(+ion-card-content){border-bottom:1px solid var(--tcg-card-border)}.tcg-battle-screen .action-buttons-card ion-button{--border-radius: 8px;--border-width: 1px;--border-style: solid;--border-color: var(--tcg-card-border);font-weight:600;margin:2px}.tcg-battle-screen .action-buttons-card ion-button[fill=clear]{--border-color: transparent;--color: var(--tcg-text-primary)}.tcg-battle-screen .action-buttons-card ion-button[fill=outline]{--border-color: var(--tcg-accent);--color: var(--tcg-accent)}.tcg-battle-screen .action-buttons-card ion-button[color=tertiary]{--border-color: var(--tcg-text-secondary);--color: var(--tcg-text-secondary)}.tcg-battle-screen .action-buttons-card ion-button[color=tertiary]:hover{--background: var(--tcg-text-secondary);--color: var(--tcg-card-background)}.tcg-battle-screen .tcg-action-notification{--background: var(--tcg-card-background);--color: var(--tcg-text-primary);--border-color: var(--tcg-accent);border:2px solid var(--tcg-accent);border-radius:12px;box-shadow:0 4px 16px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:280px}.tcg-battle-screen .tcg-action-notification .toast-button{--color: var(--tcg-accent)}.tcg-battle-screen .tcg-action-notification .toast-message{font-weight:600;font-size:.95rem}.tcg-battle-screen .tcg-action-notification.toast-color-success{--background: var(--tcg-card-background);--border-color: var(--tcg-success);border-color:var(--tcg-success)}.tcg-battle-screen .tcg-action-notification.toast-color-success .toast-button{--color: var(--tcg-success)}.tcg-battle-screen .tcg-action-notification.toast-color-secondary{--background: var(--tcg-card-background);--border-color: var(--tcg-text-secondary);border-color:var(--tcg-text-secondary)}.tcg-battle-screen .tcg-action-notification.toast-color-secondary .toast-button{--color: var(--tcg-text-secondary)}.tcg-battle-screen .tcg-action-notification.toast-color-primary{--background: var(--tcg-card-background);--border-color: var(--tcg-accent);border-color:var(--tcg-accent)}.tcg-battle-screen .tcg-action-notification.toast-color-primary .toast-button{--color: var(--tcg-accent)}.setup-phase{background:linear-gradient(135deg,var(--ion-color-warning-tint),var(--ion-color-warning-shade));color:var(--ion-color-warning-contrast);padding:16px;border-radius:8px;text-align:center;margin:8px}.playing-phase{background:linear-gradient(135deg,var(--ion-color-success-tint),var(--ion-color-success-shade));color:var(--ion-color-success-contrast);padding:8px;border-radius:8px;text-align:center;margin:8px}.player-turn{border-left:4px solid var(--ion-color-primary);background:var(--ion-color-primary-tint)}.ai-turn{border-left:4px solid var(--ion-color-danger);background:var(--ion-color-danger-tint)}.card-details{font-size:10px;line-height:1.2}.card-stats{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.trophic-level{background:var(--ion-color-primary);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700}.victory-points{background:var(--ion-color-success);color:#fff;border-radius:4px;padding:1px 4px;font-size:8px;font-weight:700}.tcg-battle-screen .home-card{background:radial-gradient(circle,var(--ion-color-warning),var(--ion-color-warning-shade));color:var(--ion-color-warning-contrast);border:2px solid var(--ion-color-warning-shade);font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.tcg-battle-screen .grid-cell.home-position{background:#f59e0b26;border-color:#f59e0b80;box-shadow:0 0 30px #f59e0b4d,inset 0 1px #fff3}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:16px}.loading-container h2{color:var(--ion-color-primary);margin:0}.loading-container p{color:var(--ion-color-medium);text-align:center;margin:0}@media (max-width: 768px){.tcg-grid{max-width:300px}.hand-card{min-width:60px;width:60px;height:80px;font-size:8px}.status-item{font-size:10px}.status-item ion-icon{font-size:16px}.tcg-battle-screen .player-stats-grid ion-col{padding:2px}.tcg-battle-screen .main-status-grid ion-col{padding:2px}}@media (max-width: 480px){.tcg-grid{max-width:250px}.hand-card{min-width:50px;width:50px;height:70px;font-size:7px}.tcg-battle-screen .player-stats-grid ion-col{padding:1px}.tcg-battle-screen .main-status-grid ion-col{padding:1px}}.grid-cell:focus,.hand-card:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}.player-cards-wrapper .player-cards-container{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;height:calc(100% - 16px);-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x proximity}.player-cards-wrapper .player-cards-container::-webkit-scrollbar{height:4px}.player-cards-wrapper .player-cards-container::-webkit-scrollbar-track{background:transparent}.player-cards-wrapper .player-cards-container::-webkit-scrollbar-thumb{background:var(--tcg-text-secondary);border-radius:2px;opacity:.3}.player-cards-wrapper .player-cards-container::-webkit-scrollbar-thumb:hover{opacity:.6}.ecosystem-board-container{--grid-size: 120px;--primary-color: #3b82f6;--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444;--forest-color: #16a34a;--ocean-color: #0ea5e9;--grassland-color: #84cc16;--mountain-color: #6b7280;--desert-color: #f97316;--urban-color: #64748b;background:linear-gradient(135deg,#0f172a,#1e293b);overflow:hidden;position:relative;height:100vh;width:100vw}.ecosystem-board-container.mobile{touch-action:none;background:linear-gradient(135deg,#667eea,#764ba2)}.ecosystem-board-container.desktop{cursor:grab}.ecosystem-board-container.desktop:active{cursor:grabbing}.ecosystem-board{position:relative;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,200,255,.1) 0%,transparent 50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000040,inset 0 1px #ffffff1a;transform-style:preserve-3d;perspective:1000px}.ecosystem-board.mobile{border-radius:0;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;box-shadow:none}.grid-cell{position:absolute;border:1px solid rgba(255,255,255,.05);border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;align-items:center;justify-content:center;background:#ffffff05;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.grid-cell.empty:hover{background:#3b82f61a;border-color:#3b82f64d;box-shadow:0 0 20px #3b82f633,inset 0 1px #ffffff1a;transform:translateZ(5px)}.grid-cell.highlighted{background:#22c55e26;border-color:#22c55e80;box-shadow:0 0 30px #22c55e4d,inset 0 1px #fff3;animation:pulse-highlight 2s infinite}.ecosystem-card{width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;cursor:grab;transform-style:preserve-3d;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3}.ecosystem-card:active{cursor:grabbing}.ecosystem-card.terrain-forest{border-color:var(--forest-color);box-shadow:0 8px 32px #16a34a4d,inset 0 1px #fff3}.ecosystem-card.terrain-ocean{border-color:var(--ocean-color);box-shadow:0 8px 32px #0ea5e94d,inset 0 1px #fff3}.ecosystem-card.terrain-grassland{border-color:var(--grassland-color);box-shadow:0 8px 32px #84cc164d,inset 0 1px #fff3}.ecosystem-card.terrain-mountain{border-color:var(--mountain-color);box-shadow:0 8px 32px #6b72804d,inset 0 1px #fff3}.ecosystem-card.terrain-desert{border-color:var(--desert-color);box-shadow:0 8px 32px #f973164d,inset 0 1px #fff3}.ecosystem-card.terrain-urban{border-color:var(--urban-color);box-shadow:0 8px 32px #64748b4d,inset 0 1px #fff3}.ecosystem-card.climate-cold:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(147,197,253,.1) 0%,transparent 50%);pointer-events:none;z-index:1}.ecosystem-card.climate-hot:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(251,146,60,.1) 0%,transparent 50%);pointer-events:none;z-index:1}.card-content{width:100%;height:100%;display:flex;flex-direction:column;position:relative;z-index:2}.card-image{flex:1;overflow:hidden;border-radius:8px 8px 0 0;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.ecosystem-card:hover .card-image img{transform:scale(1.1)}.card-info{padding:8px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0 0 8px 8px}.card-info h4{margin:0 0 4px;font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);line-height:1.2}.card-stats{display:flex;justify-content:space-between;font-size:10px;color:#fffc}.card-stats span{padding:2px 4px;background:#ffffff1a;border-radius:4px;font-weight:500}.connection-lines{pointer-events:none;z-index:1}.placement-preview{width:80%;height:80%;border:2px dashed rgba(59,130,246,.6);border-radius:8px;background:#3b82f61a;display:flex;align-items:center;justify-content:center;position:relative}.placement-preview:before{content:"+";font-size:24px;color:#3b82f6cc;font-weight:700}.health-indicator{position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000004d}@keyframes pulse-highlight{0%,to{box-shadow:0 0 30px #22c55e4d,inset 0 1px #fff3}50%{box-shadow:0 0 50px #22c55e80,inset 0 1px #ffffff4d}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(5px) rotate(-1deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 768px){.ecosystem-board-container{--grid-size: 80px}.card-info h4{font-size:10px}.card-stats{font-size:8px}.health-indicator{width:40px;height:40px;font-size:10px}}@media (max-width: 480px){.ecosystem-board-container{--grid-size: 60px}.card-info{padding:4px}.card-info h4{font-size:8px}.card-stats{font-size:7px}}@media (hover: none) and (pointer: coarse){.grid-cell:active{background:#3b82f633;transform:scale(.95)}.ecosystem-card:active{transform:scale(1.05)}}@media (prefers-contrast: high){.ecosystem-board{border:2px solid white}.grid-cell{border-color:#ffffff4d}.ecosystem-card{border-width:2px}}@media (prefers-reduced-motion: reduce){.ecosystem-card,.grid-cell,.placement-preview{transition:none}.health-indicator{animation:none}@keyframes pulse-highlight{0%,to{opacity:1}50%{opacity:.7}}}.mobile-zoom-controls{position:fixed;top:180px;right:10px;display:flex;align-items:center;background:#ffffffe6;border-radius:20px;padding:4px 8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a;z-index:999}.mobile-zoom-controls ion-button{--padding-start: 8px;--padding-end: 8px;margin:0 2px}.ecosystem-card.board-selected{border:3px solid #ff9500!important;box-shadow:0 0 0 2px #ff95004d,0 20px 40px #0000004d!important;z-index:15!important}.mobile-hand-card{position:fixed!important;bottom:0;left:0;right:0;margin:0!important;border-radius:16px 16px 0 0!important;max-height:40vh;z-index:999;box-shadow:0 -4px 20px #00000026!important}.mobile-hand-card ion-card-content{max-height:35vh;overflow-y:auto}.mobile-hand-card ion-card-content::-webkit-scrollbar,ion-card-content div::-webkit-scrollbar{display:none}.mobile-hand-card ion-card-content,ion-card-content div{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 768px){.ecosystem-board-container{--grid-size: 80px}.mobile-zoom-controls{top:200px}.mobile-hand-card{margin-bottom:0!important}}@media (max-width: 480px){.ecosystem-board-container{--grid-size: 60px}.mobile-hand-card{max-height:35vh}}.ecosystem-board *{will-change:transform;backface-visibility:hidden}.enhanced-ecosystem-card{width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;cursor:grab;transform-style:preserve-3d;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3}.enhanced-ecosystem-card:active{cursor:grabbing}.enhanced-ecosystem-card.style-1{overflow:hidden}.enhanced-ecosystem-card.style-1:hover{transform:scale(1.05);box-shadow:0 4px 16px #0006!important;z-index:100}.enhanced-ecosystem-card.style-2{overflow:hidden}.enhanced-ecosystem-card.style-2:hover{transform:scale(1.03);box-shadow:0 2px 12px #0000004d!important;z-index:100}.enhanced-ecosystem-card.style-3{overflow:hidden}.enhanced-ecosystem-card.style-3:hover{transform:scale(1.02);box-shadow:0 3px 14px #00000080!important;z-index:100}.enhanced-ecosystem-card.style-4{overflow:visible}.enhanced-ecosystem-card.style-4:hover{transform:scale(1.08);z-index:100}.enhanced-ecosystem-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(255,255,255,.1) 100%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1}.enhanced-ecosystem-card:hover:before{opacity:1}.trophic-badge{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.organism-container{transition:all .3s ease}.enhanced-ecosystem-card:hover .organism-container{transform:scale(1.1)}.action-button{transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.action-button:hover{transform:scale(1.1);box-shadow:0 2px 8px #0006}.card-name{text-shadow:0 1px 2px rgba(0,0,0,.8);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;letter-spacing:.5px}@media (max-width: 768px){.enhanced-ecosystem-card:hover{transform:scale(1.02)}}.button-container{transition:all .3s ease}.trophic-producer{box-shadow:0 0 8px #228b2299}.trophic-primary{box-shadow:0 0 8px #ffd70099}.trophic-secondary{box-shadow:0 0 8px #ff634799}.trophic-tertiary{box-shadow:0 0 8px #dc143c99}.trophic-decomposer{box-shadow:0 0 8px #8b451399}.style-2 .grid-organism-large{transition:transform .3s ease}.style-2:hover .grid-organism-large{transform:scale(1.1)}.style-3>div{transition:all .2s ease}.style-3:hover>div{transform:scale(1.02)}.style-4{animation:pulse-glow 3s infinite ease-in-out}@keyframes pulse-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}@media (max-width: 768px){.enhanced-ecosystem-card.style-1:hover{transform:scale(1.02)}.enhanced-ecosystem-card.style-2:hover,.enhanced-ecosystem-card.style-3:hover{transform:scale(1.01)}.enhanced-ecosystem-card.style-4:hover{transform:scale(1.04)}}.grid-cell{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;align-items:center;justify-content:center}.grid-cell.occupied{background:transparent;border-color:transparent}@keyframes pulse-highlight{0%,to{opacity:1}50%{opacity:.8}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.grid-cell{transition:none}@keyframes pulse-highlight{0%,to{opacity:1}50%{opacity:.7}}}.grid-cell.style-classic{border:1px solid rgba(255,255,255,.05);border-radius:8px;background:#ffffff05;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.grid-cell.style-classic.empty:hover{background:#3b82f61a!important;border-color:#3b82f64d;box-shadow:0 0 20px #3b82f633,inset 0 1px #ffffff1a}.grid-cell.style-hexagon{border:2px solid rgba(255,255,255,.1);background:#ffffff08;clip-path:polygon(30% 0%,70% 0%,100% 50%,70% 100%,30% 100%,0% 50%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.grid-cell.style-hexagon.empty:hover{background:#22c55e26!important;border-color:#22c55e66;box-shadow:0 0 25px #22c55e4d}.grid-cell.style-rounded{border:1px solid rgba(255,255,255,.08);border-radius:50%;background:radial-gradient(circle,#ffffff0d,#ffffff03);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grid-cell.style-rounded.empty:hover{background:radial-gradient(circle,#a855f733,#a855f70d)!important;border-color:#a855f766;box-shadow:0 0 30px #a855f766}.grid-cell.style-minimal{border:1px solid rgba(255,255,255,.02);border-radius:2px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.grid-cell.style-minimal.empty:hover{background:#ffffff0d!important;border-color:#ffffff1a;box-shadow:inset 0 0 10px #ffffff1a}.grid-cell.style-neon{border:2px solid rgba(0,255,255,.3);border-radius:4px;background:#0000004d;box-shadow:0 0 10px #0ff3,inset 0 0 10px #00ffff1a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.grid-cell.style-neon.empty:hover{background:#00ffff1a!important;border-color:#0ff9;box-shadow:0 0 20px #00ffff80,inset 0 0 15px #0ff3}.grid-cell.style-organic{border:1px solid rgba(34,197,94,.2);border-radius:20px 5px 15px 10px;background:#22c55e08;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative}.grid-cell.style-organic:before{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;border-radius:18px 3px 13px 8px;background:linear-gradient(45deg,transparent 30%,rgba(34,197,94,.05) 50%,transparent 70%);pointer-events:none}.grid-cell.style-organic.empty:hover{background:#22c55e1a!important;border-color:#22c55e66;box-shadow:0 0 15px #22c55e4d;transform:rotate(1deg) scale(1.02)}.grid-cell.style-classic.highlighted{background:#22c55e26!important;border-color:#22c55e80!important;box-shadow:0 0 30px #22c55e4d,inset 0 1px #fff3}.grid-cell.style-hexagon.highlighted{background:#22c55e33!important;border-color:#22c55e99!important;box-shadow:0 0 35px #22c55e66}.grid-cell.style-rounded.highlighted{background:radial-gradient(circle,#22c55e40,#22c55e1a)!important;border-color:#22c55e99!important;box-shadow:0 0 40px #22c55e80}.grid-cell.style-minimal.highlighted{background:#22c55e1a!important;border-color:#22c55e4d!important;box-shadow:inset 0 0 15px #22c55e33}.grid-cell.style-neon.highlighted{background:#00ff0026!important;border-color:#0f0c!important;box-shadow:0 0 30px #0f09,inset 0 0 20px #0f03}.grid-cell.style-organic.highlighted{background:#22c55e33!important;border-color:#22c55e99!important;box-shadow:0 0 25px #22c55e66;transform:rotate(-1deg) scale(1.05)}.grid-cell.style-classic.home-position{border-color:gold!important;box-shadow:0 0 12px #ffd70099;background:#ffd7001a!important}.grid-cell.style-hexagon.home-position{border-color:gold!important;box-shadow:0 0 15px #ffd700b3;background:#ffd7001f!important}.grid-cell.style-rounded.home-position{border-color:gold!important;box-shadow:0 0 20px #ffd700cc;background:radial-gradient(circle,#ffd70026,#ffd7000d)!important}.grid-cell.style-minimal.home-position{border-color:#ffd70080!important;box-shadow:inset 0 0 10px #ffd7004d;background:#ffd70014!important}.grid-cell.style-neon.home-position{border-color:#ffd700cc!important;box-shadow:0 0 20px #ffd700b3,inset 0 0 15px #ffd70033;background:#ffd7001a!important}.grid-cell.style-organic.home-position{border-color:#ffd70099!important;box-shadow:0 0 18px #ffd70080;background:#ffd7001f!important}@media (max-width: 768px){.grid-cell.style-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.grid-cell.style-rounded{border-radius:45%}.grid-cell.style-organic{border-radius:15px 4px 12px 8px}}@media (max-width: 480px){.grid-cell.style-neon{border-width:1px;box-shadow:0 0 5px #00ffff4d}.grid-cell.style-organic{border-radius:10px 3px 8px 5px}}@media (prefers-reduced-motion: reduce){.grid-cell.style-organic.empty:hover,.grid-cell.style-organic.highlighted{transform:none}}.ecosystem-grid{position:relative;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,200,255,.1) 0%,transparent 50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000040,inset 0 1px #ffffff1a;transform-style:preserve-3d;perspective:1000px;transition:all .3s ease;padding:8px}.ecosystem-grid:hover{transform:scale(1.01)}.game-grid-card{margin:0;border-radius:0;overflow:hidden;box-shadow:0 4px 12px #00000026;background:linear-gradient(135deg,#0f172a,#1e293b)}.game-grid-card ion-card-header{background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-secondary));color:#fff}.game-grid-card ion-card-content{padding:0;background:#fff;border-radius:0;height:100%}@media (max-width: 768px){.ecosystem-grid{border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.15) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,200,255,.15) 0%,transparent 50%);box-shadow:0 15px 30px -8px #0003,inset 0 1px #ffffff1a}}@media (max-width: 480px){.ecosystem-grid{gap:.5px}}.ecosystem-grid-container{border-radius:12px;background:var(--tcg-background-secondary);position:relative;box-sizing:border-box}.ecosystem-grid{flex-shrink:0;box-sizing:content-box}.mobile-zoom-controls{position:absolute;top:10px;right:10px;display:flex;align-items:center;background:#fffffff2;border-radius:20px;padding:4px 8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000026;z-index:999;border:1px solid rgba(0,0,0,.1)}.mobile-zoom-controls ion-button{--padding-start: 8px;--padding-end: 8px;margin:0 2px;--color: #2c3e50}.zoom-level{font-size:.8rem;font-weight:600;color:#2c3e50;min-width:40px;text-align:center}.ecosystem-grid[style*="cursor: grab"]{cursor:grab!important}.ecosystem-grid[style*="cursor: grabbing"]{cursor:grabbing!important}.ecosystem-grid-container .grid-cell{pointer-events:auto}.ecosystem-grid-container .mobile-zoom-controls{display:flex}@media (min-width: 769px){.ecosystem-grid-container:not([data-enable-pan-zoom=true]) .mobile-zoom-controls{display:none}}@media (max-width: 768px){.mobile-zoom-controls{display:flex}.ecosystem-grid-container{touch-action:none}}.hand-cards-container-container{padding:0 10px 2px}.player-cards-navigation{display:flex;align-items:center;justify-content:center;gap:16px}.player-card-header-ion{padding-left:10px;padding-right:10px}.player-indicator{display:flex;gap:8px;align-items:center}.indicator-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-medium);cursor:pointer;transition:all .2s ease}.indicator-dot.active{background:var(--ion-color-primary);transform:scale(1.2)}.indicator-dot:hover{background:var(--ion-color-primary-tint);transform:scale(1.1)}.player-cards-container{display:flex;flex-direction:row;gap:12px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x proximity}.player-cards-container::-webkit-scrollbar{display:none}.player-cards-container.responsive{gap:0px;margin:0 -6px}.player-cards-container.responsive .player-card-container{margin:0 6px}@media (max-width: 1024px){.player-cards-container.responsive{gap:0px;margin:0 -4px}.player-cards-container.responsive .player-card-container{margin:0 4px}}@media (max-width: 768px){.player-cards-container.responsive{gap:0px;margin:0 -8px;scroll-snap-type:x mandatory}.player-cards-container.responsive .player-card-container{scroll-snap-align:center;min-width:calc(100vw - 32px);max-width:calc(100vw - 32px);flex-shrink:0;margin:0 8px}.player-cards-navigation{display:flex}}@media (min-width: 769px){.player-cards-navigation{display:none}}.player-card-container{margin:8px 0;flex:1;min-width:320px;max-width:400px;transition:all .3s ease}.player-card-container.small{margin:4px 0;min-width:280px;max-width:350px}@media (min-width: 1200px){.player-card-container{min-width:300px;max-width:350px}}@media (min-width: 769px) and (max-width: 1199px){.player-card-container{min-width:280px;max-width:320px}}@media (max-width: 768px){.player-card-container{min-width:calc(100vw - 48px);max-width:calc(100vw - 48px);margin:8px 0}.player-card{min-height:auto}}.player-card{margin:0;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:2px solid var(--ion-color-light);transition:all .3s ease}.player-card.clickable{cursor:pointer}.player-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.player-card.current-player{border-color:var(--ion-color-success);background:linear-gradient(135deg,var(--ion-color-success-tint),white);box-shadow:0 4px 12px rgba(var(--ion-color-success-rgb),.3)}.player-card.player-turn{border-color:var(--ion-color-primary);background:linear-gradient(135deg,var(--ion-color-primary-tint),white);box-shadow:0 4px 12px rgba(var(--ion-color-primary-rgb),.3);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 4px 12px rgba(var(--ion-color-primary-rgb),.3)}50%{box-shadow:0 6px 20px rgba(var(--ion-color-primary-rgb),.5)}}.player-card-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.player-info{flex:1;min-width:0}.player-name{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;margin:0}.timer-display{margin-left:auto;font-family:Courier New,monospace;font-size:.9rem;font-weight:700;color:var(--ion-color-primary);background:var(--ion-color-primary-tint);padding:2px 6px;border-radius:4px;border:1px solid var(--ion-color-primary)}.timer-display.warning{color:var(--ion-color-danger);background:var(--ion-color-danger-tint);border-color:var(--ion-color-danger);animation:pulse-timer 1s infinite}@keyframes pulse-timer{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.vp-stat-item{transition:all .2s ease}.vp-stat-item:hover{background:var(--ion-color-light-tint);border-radius:4px;transform:scale(1.05)}.vp-breakdown-tooltip{animation:fadeInTooltip .2s ease-in-out}@keyframes fadeInTooltip{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.timer-progress-container{margin:4px 0}.turn-timer-progress{height:4px;border-radius:2px}.header-controls{display:flex;gap:4px;align-items:center;flex-shrink:0}.stats-container{display:flex;gap:8px;width:100%}.stat-item{display:flex;flex-direction:row;align-items:center;gap:12px;padding:6px 8px;background:rgba(var(--ion-color-light-rgb),.3);border-radius:8px;transition:background .2s ease}.stat-item:hover{background:rgba(var(--ion-color-light-rgb),.5)}.stat-item ion-icon{font-size:12px;color:var(--ion-color-medium);flex-shrink:0}.stat-item ion-badge{margin:0;flex-shrink:0}.stat-item span{font-size:.875rem;color:var(--ion-color-dark);font-weight:500;flex:1;text-align:left}.hand-cards-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x proximity;scroll-behavior:smooth}.hand-cards-scroll::-webkit-scrollbar{display:none}.player-card-hand-card{min-width:80px;width:80px;height:100px;border-radius:8px;position:relative;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid transparent;overflow:hidden;scroll-snap-align:start}.player-card-container.small .player-card-hand-card{min-width:70px;width:70px;height:90px}.player-card-hand-card.interactive{cursor:pointer}.player-card-hand-card.interactive *{cursor:pointer!important}.player-card-hand-card.interactive:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #00000026}.player-card-hand-card.selected{border-color:var(--ion-color-primary);transform:translateY(-4px) scale(1.05);box-shadow:0 6px 16px rgba(var(--ion-color-primary-rgb),.3);background:var(--ion-color-primary)!important;color:#fff!important}.player-card-hand-card.selected .card-name,.player-card-hand-card.selected .card-scientific{color:#fff!important}.player-card-hand-card.selected .card-stats ion-badge{background:#fff3!important;color:#fff!important}.player-card-hand-card.selected:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--ion-color-primary),var(--ion-color-primary-tint));border-radius:10px;z-index:-1;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.player-card-hand-card.back{background:linear-gradient(135deg,#1976d2,#0d47a1);border-color:#0d47a1;color:#fff}.card-back-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.player-card-hand-card.generic{background:linear-gradient(135deg,#4caf50,#2e7d32);border-color:#1b5e20;color:#fff;padding:4px}.card-generic-content{height:100%;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.card-generic-content .card-header{display:flex;align-items:center;justify-content:center;gap:2px}.card-generic-content .card-title{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.card-generic-content .card-body{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:2px}.player-card-hand-card.full{background:#fff;border-color:var(--ion-color-medium);padding:4px}.card-full-content{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.card-name{font-size:9px;font-weight:700;color:var(--ion-color-dark);line-height:1.1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-organism{flex:1;display:flex;align-items:center;justify-content:center;margin:2px 0;cursor:inherit}.card-organism *{cursor:inherit!important;pointer-events:none}.player-card-hand-card.interactive .card-organism *{pointer-events:none}.card-scientific{font-size:8px;color:var(--ion-color-medium);font-style:italic;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-stats{display:flex;justify-content:center;gap:2px;margin-top:2px}.card-stats ion-badge{font-size:8px!important;min-height:16px;padding:2px 6px}@media (max-width: 768px){.player-card-hand-card{min-width:80px;width:80px;height:100px}.player-card-container.small .player-card-hand-card{min-width:70px;width:70px;height:90px}.hand-cards-scroll{gap:8px}.player-name{font-size:1rem}.card-name{font-size:9px;line-height:1.1;max-height:20px;overflow:hidden}.card-scientific{font-size:8px;line-height:1.1}.card-stats ion-badge{font-size:8px!important;min-height:16px;padding:2px 6px}}@media (max-width: 480px){.player-card-header{flex-direction:column;align-items:flex-start}.header-controls{align-self:flex-end}.card-name{font-size:8px;max-height:18px;-webkit-line-clamp:2}.card-scientific{font-size:7px}.card-stats ion-badge{font-size:7px!important;min-height:14px;padding:1px 4px}}@media (prefers-reduced-motion: reduce){.player-card,.player-card-hand-card{transition:none}.player-card.clickable:hover,.player-card-hand-card.interactive:hover,.player-card-hand-card.selected{transform:none}.player-card.player-turn{animation:none}}.game-log{position:fixed;bottom:20px;right:20px;width:350px;max-width:90vw;z-index:1000;transition:all .3s ease}.game-log.minimized{width:200px}.game-log-card{margin:0;box-shadow:0 4px 16px #0003;border:1px solid var(--ion-color-light-shade)}.game-log-header{padding:12px 16px 8px;background:var(--ion-color-light);border-bottom:1px solid var(--ion-color-light-shade)}.header-content{display:flex;justify-content:space-between;align-items:center}.header-content ion-card-title{margin:0;font-size:1rem;display:flex;align-items:center;gap:8px}.entry-count{font-size:.7rem;padding:2px 6px}.header-controls{display:flex;gap:4px}.header-controls ion-button{--padding-start: 8px;--padding-end: 8px;height:32px}.game-log-content{padding:12px;max-height:300px;overflow:hidden}.log-controls{margin-bottom:8px}.log-controls ion-button{--padding-start: 12px;--padding-end: 12px;height:28px;font-size:.8rem}.log-entries{transition:all .3s ease}.log-entries.compact{max-height:120px;overflow-y:auto}.log-entries.expanded{max-height:250px;overflow-y:auto}.log-entries::-webkit-scrollbar{width:4px}.log-entries::-webkit-scrollbar-track{background:var(--ion-color-light);border-radius:2px}.log-entries::-webkit-scrollbar-thumb{background:var(--ion-color-medium);border-radius:2px}.log-entries::-webkit-scrollbar-thumb:hover{background:var(--ion-color-medium-shade)}.no-entries{text-align:center;padding:20px}.log-entry{padding:8px 0;border-bottom:1px solid var(--ion-color-light-shade);font-size:.85rem}.log-entry:last-child{border-bottom:none}.entry-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:.75rem;color:var(--ion-color-medium)}.action-icon{font-size:1rem}.turn-number{font-weight:600;color:var(--ion-color-primary)}.timestamp{margin-left:auto;font-family:Courier New,monospace}.entry-description{color:var(--ion-color-dark);line-height:1.3;padding-left:24px}@media (max-width: 768px){.game-log{bottom:10px;right:10px;left:10px;width:auto;max-width:none}.game-log.minimized{width:auto}.game-log-content{max-height:200px}.log-entries.expanded{max-height:150px}.entry-description{padding-left:20px}}.log-entry{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.player-stats-compact{background:linear-gradient(135deg,var(--ion-color-light-tint),var(--ion-color-medium-tint));border-radius:8px;padding:8px;margin:4px 0}.player-stats-compact .stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:500;color:var(--ion-color-dark)}.player-stats-compact .stat-item ion-icon{font-size:12px;color:var(--ion-color-medium)}.player-stats-compact .stat-item span{font-weight:600}.player-stats-card{margin:8px;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;height:100%;min-height:220px;overflow:visible;display:flex;flex-direction:column;--background: var(--ion-color-light, #ffffff);--color: var(--ion-color-dark, #000000)}.player-stats-card.current-player{border:2px solid var(--ion-color-primary);background:linear-gradient(135deg,var(--ion-color-primary-tint),white);box-shadow:0 4px 12px rgba(var(--ion-color-primary-rgb),.3)}.player-stats-card.clickable{transition:transform .2s ease,box-shadow .2s ease}.player-stats-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.player-stats-card.clickable:active{transform:translateY(0)}.player-stats-card .player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.player-stats-card .player-header h3{margin:0;font-size:18px;font-weight:600;color:var(--ion-color-dark)}.player-stats-card .stats-list{display:flex;flex-direction:column;gap:6px;width:100%;flex:1}.player-stats-card .stat-group{display:flex;flex-direction:column;gap:6px;height:100%;justify-content:space-between}.player-stats-card .stat-item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ion-color-dark);min-height:36px;padding:8px 12px;background:var(--ion-color-light-tint);border-radius:8px;border:1px solid var(--ion-color-light-shade);box-sizing:border-box;width:100%}.player-stats-card .stat-item ion-icon{font-size:12px;min-width:16px;width:16px}.player-stats-card .stat-item span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-stats-card .stat-item ion-badge{margin-left:auto;flex-shrink:0}.player-stats-card .actions-display{display:flex;align-items:center;gap:8px;padding:8px;background:var(--ion-color-light);border-radius:8px;font-weight:600;color:var(--ion-color-primary);margin-top:8px;border:1px solid var(--ion-color-primary-tint);width:100%;box-sizing:border-box}.player-stats-card .actions-display ion-icon{font-size:18px}@media (max-width: 768px){.player-stats-compact .stat-item{font-size:10px}.player-stats-compact .stat-item ion-icon{font-size:12px}.player-stats-card .player-header h3{font-size:16px}.player-stats-card .stat-item{font-size:13px}}@media (max-width: 768px){.player-stats-card{margin:4px}.player-stats-card .player-header h3{font-size:16px}.player-stats-card .stats-list{gap:4px}.player-stats-card .stat-item{font-size:12px;min-height:28px;padding:3px 6px;gap:6px}.player-stats-card .stat-item ion-icon{font-size:12px;min-width:14px;width:14px}.player-stats-card .actions-display{padding:6px;font-size:12px}.player-stats-card .actions-display ion-icon{font-size:16px}}@media (max-width: 480px){.player-stats-card .stats-list{gap:3px}.player-stats-card .stat-item{font-size:11px;min-height:26px;padding:2px 4px;gap:4px}.player-stats-card .stat-item ion-icon{font-size:12px;min-width:12px;width:12px}.player-stats-card .player-header h3{font-size:14px}.player-stats-card .actions-display{padding:4px;font-size:11px}}.player-stats-card .stat-item span{transition:color .3s ease}.player-stats-card .stat-item.stat-changed span{color:var(--ion-color-success);animation:statHighlight .6s ease}@keyframes statHighlight{0%{color:var(--ion-color-success);transform:scale(1)}50%{color:var(--ion-color-success);transform:scale(1.05)}to{color:var(--ion-color-dark);transform:scale(1)}}.player-stats-card .stat-item:focus,.player-stats-compact .stat-item:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px;border-radius:4px}@media (prefers-contrast: high){.player-stats-card{border:2px solid var(--ion-color-dark)}.player-stats-card.current-player{border:3px solid var(--ion-color-primary)}}.end-game-modal{--width: 90%;--max-width: 600px;--height: 80%;--border-radius: 16px}.end-game-modal ion-content{--padding-top: 0;--padding-bottom: 20px}.winner-card{margin-bottom:20px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #00000026}.winner-card.victory{background:var(--ion-color-secondary);border:2px solid var(--ion-color-success);animation:victoryPulse 2s ease-in-out forwards}@keyframes victoryPulse{0%{background:var(--ion-color-secondary)}33%{background:var(--ion-color-success-tint)}66%{background:var(--ion-color-secondary)}to{background:var(--ion-color-success-tint)}}.winner-card.defeat{background:linear-gradient(135deg,var(--ion-color-medium-tint),var(--ion-color-medium-shade));border:2px solid var(--ion-color-medium)}.winner-icon{margin-bottom:16px}.winner-icon ion-icon{font-size:64px;animation:bounceIn .8s ease}.winner-title{font-size:28px;font-weight:700;margin:16px 0 8px;color:var(--ion-color-dark)}.winner-name{font-size:24px;font-weight:600;margin:8px 0 16px;color:var(--ion-color-dark)}.winner-score{font-size:16px;font-weight:600;margin:16px 0}.winner-message{font-size:16px;margin:16px 0 0;color:var(--ion-color-dark);opacity:.8}.scores-card{margin-bottom:20px;border-radius:12px}.scores-card h3{margin:0 0 16px;font-size:20px;font-weight:600;color:var(--ion-color-dark)}.scores-list{display:flex;flex-direction:column;gap:12px}.score-item{background:var(--ion-color-light);border-radius:12px;border:2px solid transparent;transition:all .3s ease;overflow:hidden}.score-item-header{display:flex;align-items:center;padding:16px;cursor:pointer;transition:background-color .2s ease}.score-item-header:hover{background:var(--ion-color-light-shade)}.score-item.expanded{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.score-expand-button{margin-left:auto;color:var(--ion-color-medium);transition:color .2s ease}.score-item-header:hover .score-expand-button{color:var(--ion-color-primary)}.score-item .vp-breakdown-details{padding:12px 16px;background:var(--ion-color-light-tint)}.score-item .vp-category{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;margin-bottom:4px;background:#fff;border-radius:8px;border:1px solid var(--ion-color-medium-tint)}.score-item .vp-category:last-of-type{margin-bottom:8px}.score-item .vp-label{font-weight:500;color:var(--ion-color-dark)}.score-item .vp-value{font-weight:600;color:var(--ion-color-primary-shade)}.score-item .vp-chains{margin-top:4px}.score-item .vp-chains-list{display:flex;flex-direction:column;gap:4px}.score-item .chain-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--ion-color-light);border-radius:6px;border:1px solid var(--ion-color-medium-tint);cursor:pointer;transition:all .2s ease}.score-item .chain-item:hover{background:var(--ion-color-primary-tint);border-color:var(--ion-color-primary)}.score-item .chain-item.highlighted{background:var(--ion-color-primary);border-color:var(--ion-color-primary-shade);color:#fff}.score-item .chain-position-and-name{display:flex;align-items:center;gap:8px;flex:1}.score-item .chain-position{font-family:monospace;font-weight:600;background:var(--ion-color-medium-tint);padding:2px 6px;border-radius:4px;font-size:12px}.score-item .chain-item.highlighted .chain-position{background:var(--ion-color-primary-shade);color:#fff}.score-item .chain-name{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-item .chain-stats{display:flex;align-items:center;gap:8px;font-size:12px}.score-item .chain-cards{color:var(--ion-color-medium-shade)}.score-item .chain-bonus{font-weight:600;color:var(--ion-color-success-shade)}.score-item .chain-item.highlighted .chain-cards,.score-item .chain-item.highlighted .chain-bonus{color:#fff}.score-item.winner-score-item{background:linear-gradient(135deg,var(--ion-color-success-tint),var(--ion-color-light));border-color:var(--ion-color-success);box-shadow:0 4px 12px rgba(var(--ion-color-success-rgb),.2)}.score-rank{display:flex;flex-direction:column;align-items:center;margin-right:16px;min-width:40px}.score-rank ion-icon{font-size:24px;margin-bottom:4px}.score-rank span{font-size:12px;font-weight:600;color:var(--ion-color-medium)}.score-player{flex:1}.score-player h4{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ion-color-dark)}.player-stats-summary{display:flex;gap:6px;flex-wrap:wrap}.player-stats-summary ion-badge{font-size:11px;display:flex;align-items:center;gap:4px}.player-stats-summary ion-badge ion-icon{font-size:12px}.score-points{display:flex;flex-direction:column;align-items:center;text-align:center}.points-value{font-size:24px;font-weight:700;color:var(--ion-color-primary)}.points-label{font-size:12px;color:var(--ion-color-medium);font-weight:500}.stats-card{margin-bottom:20px;border-radius:12px}.stats-card h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--ion-color-dark)}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.stat-label{font-size:14px;color:var(--ion-color-medium);font-weight:500}.stat-value{font-size:14px;color:var(--ion-color-dark);font-weight:600}.action-buttons{display:flex;flex-direction:column;gap:12px;margin-top:20px}.action-button{--border-radius: 12px;font-weight:600;height:48px}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.end-game-modal{--width: 95%;--height: 85%}.winner-title{font-size:24px}.winner-name{font-size:20px}.score-item{padding:12px}.score-player h4{font-size:16px}.player-stats-summary{gap:4px}.player-stats-summary ion-badge{font-size:10px}}.vp-breakdown-card{margin-bottom:20px;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.vp-breakdown-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:8px 0;border-bottom:1px solid var(--ion-color-medium-tint);margin-bottom:16px}.vp-breakdown-header:hover{background:var(--ion-color-light-tint);border-radius:8px;padding:8px 12px}.vp-breakdown-header h3{margin:0;color:var(--ion-color-dark)}.vp-breakdown-player{margin-bottom:24px;padding:16px;background:var(--ion-color-light);border-radius:12px;border:1px solid var(--ion-color-medium-tint)}.vp-breakdown-player:last-child{margin-bottom:0}.vp-breakdown-player h4{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--ion-color-dark)}.vp-breakdown-details{display:flex;flex-direction:column;gap:8px}.vp-category{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--ion-color-light-tint);border-radius:8px;border:1px solid var(--ion-color-medium-tint)}.vp-label{font-weight:500;color:var(--ion-color-dark)}.vp-value{font-weight:600;color:var(--ion-color-primary)}.vp-chains{margin-top:8px;padding:12px;background:var(--ion-color-light-shade);border-radius:8px;border:1px solid var(--ion-color-medium)}.vp-chains-label{font-weight:500;color:var(--ion-color-dark);display:block;margin-bottom:4px}.vp-chains-hint{font-size:12px;color:var(--ion-color-medium-shade);font-style:italic;display:block;margin-bottom:8px}.vp-chains-list{display:flex;flex-direction:column;gap:4px}.vp-chain-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--ion-color-light);border-radius:8px;font-size:14px;transition:all .2s ease;border:2px solid transparent}.vp-chain-item:hover{background:var(--ion-color-light-tint);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.vp-chain-item.highlighted{background:var(--ion-color-primary-tint);border:2px solid var(--ion-color-primary);box-shadow:0 4px 12px rgba(var(--ion-color-primary-rgb),.3)}.chain-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.chain-stats{display:flex;align-items:center;gap:8px}.chain-position{font-weight:600;color:var(--ion-color-dark);font-size:12px;font-family:monospace}.chain-card-name{font-weight:500;color:var(--ion-color-primary-shade);font-size:13px}.chain-cards{color:var(--ion-color-medium-shade);font-size:12px}.chain-bonus{font-weight:600;color:var(--ion-color-success);font-size:13px}.vp-total{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--ion-color-primary-tint);border-radius:8px;border:2px solid var(--ion-color-primary);margin-top:8px}.vp-total-label{font-weight:600;color:var(--ion-color-primary-shade);font-size:16px}.vp-total-value{font-weight:700;color:var(--ion-color-primary-shade);font-size:18px}.chain-highlight-card{margin-bottom:20px;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a;border:2px solid var(--ion-color-warning);background:var(--ion-color-warning-tint)}.chain-highlight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chain-highlight-header h4{margin:0;color:var(--ion-color-warning-shade);font-size:16px}.chain-path-display{margin-bottom:12px}.path-label{font-weight:500;color:var(--ion-color-dark);margin-right:8px}.path-coordinates{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.path-coordinate{background:var(--ion-color-light);padding:4px 8px;border-radius:6px;font-family:monospace;font-size:12px;font-weight:600;color:var(--ion-color-dark);border:1px solid var(--ion-color-medium)}.path-arrow{color:var(--ion-color-medium-shade);font-weight:400}.chain-highlight-note{color:var(--ion-color-medium-shade);font-style:italic}.grid-view-card{margin-bottom:20px;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a;border:2px solid var(--ion-color-primary);background:var(--ion-color-primary-tint)}.grid-view-header{display:flex;justify-content:space-between;align-items:center}.grid-view-header h3{margin:0;color:var(--ion-color-primary-shade);font-size:18px}.grid-container{background:var(--ion-color-light);border-radius:12px;overflow:auto;max-height:400px}.grid-highlight-info{margin-top:12px;padding:12px;background:var(--ion-color-warning-tint);border-radius:8px;border:1px solid var(--ion-color-warning)}.grid-highlight-info .chain-path-display{margin:0}.grid-highlight-info .path-label{font-weight:600;color:var(--ion-color-warning-shade);display:block;margin-bottom:8px}.grid-highlight-info .path-coordinates{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.grid-highlight-info .path-coordinate{background:var(--ion-color-light);padding:4px 8px;border-radius:6px;font-family:monospace;font-size:12px;font-weight:600;color:var(--ion-color-dark);border:1px solid var(--ion-color-medium)}.grid-highlight-info .path-arrow{color:var(--ion-color-warning-shade);font-weight:400}@media (prefers-contrast: high){.winner-card,.scores-card,.stats-card,.vp-breakdown-card{border:2px solid var(--ion-color-dark)}.score-item,.vp-breakdown-player{border:1px solid var(--ion-color-medium)}}.player-hand-display{margin:8px 0}.player-hand-card{margin:0;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--ion-color-light)}.hand-header{display:flex;justify-content:space-between;align-items:center;width:100%}.header-controls{display:flex;gap:4px;align-items:center}.hand-cards{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x proximity}.hand-cards::-webkit-scrollbar{display:none}.hand-card{position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;flex-shrink:0;scroll-snap-align:start}.hand-card.interactive{cursor:pointer}.hand-card.selected{transform:translateY(-8px) scale(1.05);box-shadow:0 8px 16px rgba(var(--ion-color-primary-rgb),.4);border:3px solid var(--ion-color-primary)!important;background:var(--ion-color-primary-tint)!important;z-index:10}.hand-card.interactive:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.hand-card.interactive:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #00000026}.hand-card.selected{transform:translateY(-4px) scale(1.05);box-shadow:0 6px 16px #0003}.hand-card.card-back{width:80px;height:100px;background:linear-gradient(135deg,#1976d2,#0d47a1);border:2px solid #0D47A1;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 4px #0003}.card-back-content{text-align:center;opacity:.9}.card-back-content .biomasters-logo{font-size:16px;margin-bottom:4px}.card-back-title{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.card-back-subtitle{font-size:6px;opacity:.8;text-transform:uppercase;letter-spacing:.3px}.hand-card.card-generic{width:80px;height:100px;background:linear-gradient(135deg,#4caf50,#2e7d32);border:2px solid #1B5E20;border-radius:8px;padding:4px;color:#fff;box-shadow:0 2px 4px #0003}.card-generic-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.card-generic-content .card-header{display:flex;align-items:center;gap:4px}.card-generic-content .biomasters-logo{font-size:12px}.card-generic-content .card-title{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.card-generic-content .card-body{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:4px}.card-generic-content .generic-organism{font-size:20px;opacity:.8}.no-cards-message{text-align:center;padding:20px;color:var(--ion-color-medium);width:100%}.no-cards-message p{margin:8px 0 0;font-size:14px}.player-stats{margin-top:16px;padding-top:16px;border-top:1px solid var(--ion-color-light)}@media (max-width: 768px){.hand-card,.hand-card.card-back,.hand-card.card-generic{width:70px;height:90px}.card-generic-content .generic-organism{font-size:18px}.card-back-content .biomasters-logo{font-size:14px}.card-back-title,.card-generic-content .card-title{font-size:7px}.card-back-subtitle{font-size:5px}}@media (max-width: 480px){.hand-header{flex-direction:column;gap:8px;align-items:flex-start}.header-controls{align-self:flex-end}.hand-card,.hand-card.card-back,.hand-card.card-generic{width:60px;height:80px}.card-generic-content .generic-organism{font-size:16px}.card-back-content .biomasters-logo{font-size:12px}.hand-cards{gap:6px!important}}.hand-card.card-back,.hand-card.card-generic{transform-style:preserve-3d}@media (prefers-reduced-motion: reduce){.hand-card{transition:none}.hand-card.interactive:hover,.hand-card.selected{transform:none}}.hand-card.interactive:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}.hand-card.loading{opacity:.6;pointer-events:none}.hand-card.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--ion-color-primary);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card-movement-animator{position:absolute;z-index:1000;pointer-events:none;will-change:transform,opacity,scale}.card-movement-animator.fly{filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.card-movement-animator.fly:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:30px;height:15px;background:radial-gradient(ellipse,rgba(0,0,0,.2) 0%,transparent 70%);border-radius:50%;animation:shadowFly 1s ease-in-out infinite alternate}@keyframes shadowFly{0%{transform:translate(-50%) scale(1);opacity:.3}to{transform:translate(-50%) scale(1.2);opacity:.1}}.card-movement-animator.swim{filter:blur(.5px) brightness(1.1)}.card-movement-animator.swim:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(64,164,223,.2) 50%,transparent 70%);border-radius:inherit;animation:waterRipple .8s ease-in-out infinite}@keyframes waterRipple{0%,to{transform:scale(1) rotate(0);opacity:0}50%{transform:scale(1.1) rotate(180deg);opacity:.6}}.card-movement-animator.burrow{transform-origin:center bottom}.card-movement-animator.burrow:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:40px;height:20px;background:radial-gradient(ellipse,rgba(139,69,19,.4) 0%,transparent 70%);border-radius:50%;animation:dirtPuff .3s ease-out}@keyframes dirtPuff{0%{transform:translate(-50%) scale(0);opacity:0}50%{transform:translate(-50%) scale(1.2);opacity:.8}to{transform:translate(-50%) scale(1.5);opacity:0}}.card-movement-animator.walk{animation:walkBounce .6s ease-in-out}@keyframes walkBounce{0%,to{transform:translateY(0)}25%,75%{transform:translateY(-2px)}50%{transform:translateY(-4px)}}.card-movement-animator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:inherit;background:inherit;opacity:.3;z-index:-1;animation:trailFade .5s ease-out}@keyframes trailFade{0%{transform:translate(-50%,-50%) scale(1);opacity:.3}to{transform:translate(-50%,-50%) scale(1.2);opacity:0}}.moveable-card{cursor:move;transition:all .2s ease}.moveable-card:hover{transform:scale(1.05);filter:brightness(1.1);box-shadow:0 4px 12px #0003}.moveable-card:hover:before{content:"↕";position:absolute;top:-10px;right:-10px;width:20px;height:20px;background:var(--tcg-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;z-index:10}.valid-movement-position{position:absolute;border:2px dashed var(--tcg-accent);background:rgba(var(--tcg-accent-rgb),.1);border-radius:8px;animation:pulseGlow 1.5s ease-in-out infinite;cursor:pointer}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.valid-movement-position:hover{background:rgba(var(--tcg-accent-rgb),.2);border-color:var(--tcg-accent)}.movement-path{position:absolute;pointer-events:none;z-index:500}.movement-path-line{stroke:var(--tcg-accent);stroke-width:3;stroke-dasharray:8,4;fill:none;opacity:.7;animation:pathDash 2s linear infinite}@keyframes pathDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:24}}@media (max-width: 768px){.card-movement-animator.fly:before{width:20px;height:10px}.card-movement-animator.swim:after{border-radius:4px}.moveable-card:hover:before{width:16px;height:16px;font-size:10px}.valid-movement-position{border-width:1px}}@media (prefers-reduced-motion: reduce){.card-movement-animator,.card-movement-animator:before,.card-movement-animator:after{animation:none!important;transition:none!important}.valid-movement-position{animation:none;opacity:.8}.movement-path-line{animation:none;stroke-dasharray:none}}.tutorial-content{--background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff}.tutorial-header{text-align:center;padding:2rem 1rem;background:#ffffff1a;margin:1rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tutorial-header h2{margin:1rem 0 .5rem;font-size:1.8rem;font-weight:600}.tutorial-header p{margin:0;opacity:.9;font-size:1rem}.lesson-meta{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.tutorial-step-content{--background: #f8f9fa}.step-progress{padding:1rem;text-align:center;background:#fff;border-bottom:1px solid #e0e0e0}.step-progress p{margin:.5rem 0 0;color:#666;font-size:.9rem}.tutorial-step{padding:1rem}.tutorial-step h2{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.tutorial-step p{color:#555;line-height:1.6;margin-bottom:1rem}.instruction-box{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:8px;margin:1rem 0;position:relative;overflow:hidden}.instruction-box:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:0}.instruction-box h4,.instruction-box p{position:relative;z-index:1;margin:0}.instruction-box h4{font-size:1.1rem;margin-bottom:.5rem;font-weight:600}.hints-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:1rem;margin:1rem 0}.hints-section h4{color:#495057;margin:0 0 .5rem;font-size:1rem}.hint{background:#fff;border-left:4px solid #28a745;padding:.75rem;margin:.5rem 0;border-radius:0 4px 4px 0;box-shadow:0 2px 4px #0000001a;font-style:italic}.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem}.step-actions ion-button{flex:1;max-width:200px}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:9999;pointer-events:none}.tutorial-highlight{position:absolute;background:#ffffff1a;border:3px solid #667eea;border-radius:8px;box-shadow:0 0 20px #667eea80;animation:tutorialPulse 2s infinite}@keyframes tutorialPulse{0%{box-shadow:0 0 20px #667eea80;transform:scale(1)}50%{box-shadow:0 0 30px #667eeacc;transform:scale(1.02)}to{box-shadow:0 0 20px #667eea80;transform:scale(1)}}.tutorial-tooltip{position:absolute;background:#fff;border-radius:8px;padding:1rem;box-shadow:0 4px 20px #00000026;max-width:300px;z-index:10000;pointer-events:auto}.tutorial-tooltip:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.tutorial-tooltip h4{margin:0 0 .5rem;color:#2c3e50;font-size:1.1rem}.tutorial-tooltip p{margin:0;color:#555;font-size:.9rem;line-height:1.4}@media (max-width: 768px){.tutorial-header{padding:1.5rem 1rem;margin:.5rem}.tutorial-header h2{font-size:1.5rem}.tutorial-step{padding:.5rem}.step-actions{flex-direction:column}.step-actions ion-button{max-width:none;width:100%}.lesson-meta{justify-content:center}.tutorial-tooltip{max-width:250px;padding:.75rem}}@media (prefers-color-scheme: dark){.tutorial-step-content{--background: #1a1a1a}.tutorial-step h2{color:#e0e0e0}.tutorial-step p{color:#b0b0b0}.hints-section{background:#2a2a2a;border-color:#404040}.hints-section h4{color:#e0e0e0}.hint{background:#333;color:#e0e0e0}.tutorial-tooltip{background:#2a2a2a;color:#e0e0e0}.tutorial-tooltip h4{color:#fff}.tutorial-tooltip:before{border-bottom-color:#2a2a2a}}.tutorial-fade-in{animation:tutorialFadeIn .3s ease-out}.tutorial-slide-up{animation:tutorialSlideUp .4s ease-out}@keyframes tutorialFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorial-success{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:1rem;border-radius:8px;margin:1rem 0;text-align:center}.tutorial-success ion-icon{font-size:2rem;margin-bottom:.5rem}.tutorial-interactive-hint{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:.75rem;border-radius:6px;margin:.5rem 0;font-size:.9rem}.tutorial-interactive-hint:before{content:"👆 ";font-size:1.1rem}.enhanced-hand-card{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.enhanced-hand-card.disabled{cursor:not-allowed;opacity:.6}.enhanced-hand-card.dragging{z-index:1000;transform:scale(1.1);filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.enhanced-hand-card.small{width:70px;height:98px}.enhanced-hand-card.medium{width:90px;height:126px}.enhanced-hand-card.large{width:110px;height:154px}.enhanced-hand-card .card-container{width:100%;height:100%;margin:0;border-radius:8px;overflow:hidden;border:2px solid transparent;transition:all .2s ease;background:#fff;box-shadow:0 2px 8px #0000001a}.enhanced-hand-card.selected .card-container{border-color:#3880ff;box-shadow:0 0 0 2px #3880ff4d,0 4px 12px #00000026;transform:translateY(-4px)}.card-image-container{position:relative;height:60%;overflow:hidden}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.card-image .organism-renderer{width:100%;height:100%}.card-image .organism-renderer svg,.card-image .organism-renderer img{width:100%;height:100%;object-fit:cover}.enhanced-hand-card:hover .card-image{transform:scale(1.05)}.conservation-badge{top:4px;right:4px;--background: rgba(255, 255, 255, .9);--color: inherit;font-size:.6rem;height:18px;min-height:18px;font-weight:600}.card-content{height:40%;padding:4px 6px;display:flex;flex-direction:column;justify-content:space-between}.card-name{font-size:.7rem;font-weight:600;color:#2c3e50;line-height:1.1;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-scientific{font-size:.55rem;color:#666;font-style:italic;line-height:1;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-stats{display:flex;justify-content:space-between;margin-bottom:4px}.card-stats .stat{display:flex;align-items:center;gap:2px;font-size:.6rem;color:#555}.card-stats .stat ion-icon{font-size:.7rem}.card-habitat{display:flex;gap:2px;flex-wrap:wrap}.habitat-chip{--background: #f0f0f0;--color: #555;font-size:.5rem;height:14px;min-height:14px;padding:0 4px}.selection-indicator{position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border:3px solid #3880ff;border-radius:10px;pointer-events:none;animation:selectionPulse 2s infinite}@keyframes selectionPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.drag-indicator{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#3880ffe6;color:#fff;padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:600;white-space:nowrap;pointer-events:none;z-index:1001}.drag-indicator:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(56,128,255,.9)}.species-info-content{--background: #f8f9fa}.species-info{padding:1rem}.species-image-large{text-align:center;margin-bottom:1rem}.species-image-large .organism-renderer,.species-image-large .species-image{width:200px;height:280px;object-fit:cover;border-radius:12px;box-shadow:0 4px 20px #0000001a}.species-image-large .organism-renderer svg,.species-image-large .organism-renderer img{width:100%;height:100%;object-fit:cover;border-radius:12px}.species-details h2{color:#2c3e50;margin:0 0 .5rem;font-size:1.5rem}.species-details h3{color:#666;margin:0 0 1rem;font-size:1.1rem;font-style:italic;font-weight:400}.species-description{color:#555;line-height:1.6;margin-bottom:1.5rem}.species-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.stat-item{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.75rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.stat-item ion-icon{font-size:1.2rem}.stat-item div{display:flex;flex-direction:column}.stat-item strong{font-size:.8rem;color:#666;margin-bottom:2px}.stat-item span{font-size:1rem;font-weight:600;color:#2c3e50}.habitat-info,.conservation-info,.abilities-info{margin-bottom:1.5rem}.habitat-info h4,.conservation-info h4,.abilities-info h4{color:#2c3e50;margin:0 0 .5rem;font-size:1.1rem}.habitat-chips,.climate-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.ability-item{background:#fff;padding:.75rem;border-radius:8px;margin-bottom:.5rem;box-shadow:0 2px 4px #0000000d}.ability-item strong{color:#2c3e50;display:block;margin-bottom:.25rem}.ability-item p{margin:0;color:#555;font-size:.9rem;line-height:1.4}@media (max-width: 480px){.enhanced-hand-card.small{width:60px;height:84px}.enhanced-hand-card.medium{width:75px;height:105px}.card-name{font-size:.65rem}.card-scientific{font-size:.5rem}.card-stats .stat{font-size:.55rem}.habitat-chip{font-size:.45rem;height:12px;min-height:12px}.species-stats-grid{grid-template-columns:1fr}.species-image-large img{width:150px;height:210px}}.enhanced-hand-card.event-card .card-container{background:linear-gradient(135deg,#fff5e6,#ffe6cc);border:2px solid var(--ion-color-warning)}.enhanced-hand-card.event-card.selected .card-container{border-color:var(--ion-color-warning);box-shadow:0 0 0 2px var(--ion-color-warning-tint),0 4px 12px #ff98004d}.card-container.event-card-border{position:relative;overflow:visible}.card-container.event-card-border:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,var(--ion-color-warning) 0%,var(--ion-color-danger) 100%);border-radius:10px;z-index:-1;opacity:.5}.event-badge{position:absolute;top:4px;right:4px;--background: var(--ion-color-warning);--color: var(--ion-color-warning-contrast);font-size:.6rem;height:18px;min-height:18px;font-weight:700;letter-spacing:.5px}.event-description{display:flex;flex-direction:column;gap:4px;margin-top:4px}.event-type{display:flex;align-items:center;gap:4px;font-size:.6rem;color:var(--ion-color-warning-shade);font-weight:600}.event-type ion-icon{font-size:.8rem;color:var(--ion-color-warning)}.auth-card{max-width:400px;margin:20px auto;border-radius:16px;box-shadow:0 8px 32px #0000001a;background:var(--ion-color-light, #ffffff)}.auth-title{text-align:center;font-size:1.5rem;font-weight:600;color:var(--ion-color-primary);margin-bottom:8px}.auth-card ion-card-header ion-text{text-align:center}.auth-input{margin-bottom:16px;border-radius:8px;--background: var(--ion-color-light-tint, #f8f8f8);--border-color: var(--ion-color-medium-tint, #e0e0e0);--border-width: 1px;--border-style: solid;--padding-start: 16px;--padding-end: 16px;--min-height: 56px}.auth-input ion-input{--background: transparent;--color: var(--ion-color-dark);--placeholder-color: var(--ion-color-medium);--padding-start: 0;--padding-end: 0}.auth-input .native-input{background:transparent!important}.auth-input ion-icon{color:var(--ion-color-medium);margin-right:8px}.auth-input ion-label{font-weight:500;color:var(--ion-color-dark)}.auth-options{display:flex;justify-content:space-between;align-items:center;margin:20px 0;padding:0}.remember-me{--background: transparent;--padding-start: 0;--padding-end: 0;--inner-padding-end: 0;--min-height: 40px;display:flex;align-items:center}.remember-me ion-checkbox{--size: 18px;--checkbox-background: var(--ion-color-light);--checkbox-background-checked: var(--ion-color-primary);--border-color: var(--ion-color-medium-tint);--border-color-checked: var(--ion-color-primary);--checkmark-color: var(--ion-color-primary-contrast);--border-radius: 3px;--border-width: 1.5px}.remember-me ion-label{font-size:.9rem;color:var(--ion-color-dark);font-weight:500;margin-left:8px}.forgot-password-btn{font-size:.9rem;text-decoration:none}.forgot-password-btn:hover{text-decoration:underline}.auth-primary-btn{margin:20px 0 16px;--border-radius: 8px;font-weight:600;height:48px}.auth-divider{position:relative;text-align:center;margin:24px 0;color:var(--ion-color-medium)}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--ion-color-medium-tint)}.auth-divider span{background:var(--ion-color-light, #ffffff);padding:0 16px;font-size:.9rem;position:relative;z-index:1}.google-signin-btn{margin-bottom:12px;--border-radius: 8px;height:48px;font-weight:500}.google-signin-btn ion-icon{color:#4285f4}.guest-continue-btn{font-weight:500;height:44px}.auth-switch{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--ion-color-light-shade)}.auth-switch ion-text{font-size:.9rem}.switch-auth-btn{font-weight:600;text-decoration:none}.switch-auth-btn:hover{text-decoration:underline}@media (max-width: 768px){.auth-card{margin:10px;max-width:none}.auth-title{font-size:1.3rem}.auth-options{flex-direction:column;align-items:flex-start;gap:12px;padding:0}.remember-me{width:100%}.forgot-password-btn{align-self:flex-end;margin-top:4px}}.auth-primary-btn[disabled],.google-signin-btn[disabled],.guest-continue-btn[disabled]{opacity:.6;cursor:not-allowed}.auth-input.item-has-focus{--border-color: var(--ion-color-primary);--border-width: 2px;--background: var(--ion-color-light, #ffffff)}.auth-input:hover{--border-color: var(--ion-color-primary-tint);--background: var(--ion-color-light, #ffffff)}.conversion-info-card{margin-bottom:20px;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc409;border-radius:12px}.conversion-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.conversion-text h3{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.conversion-text p{margin:0;font-size:.9rem}.progress-preview{background:#fff9;border-radius:8px;padding:12px;margin:16px 0}.stat-preview{text-align:center;padding:4px}.stat-preview ion-icon{font-size:18px;margin-bottom:4px}.stat-preview .stat-value{display:block;font-size:1rem;font-weight:700;color:var(--ion-color-dark);margin-bottom:2px}.stat-preview .stat-label{display:block;font-size:.7rem;color:var(--ion-color-medium);font-weight:500}.conversion-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.conversion-benefits ion-badge{font-size:.75rem;padding:4px 8px}.guest-conversion-note{background:#ffc4091a;border:1px solid #ffc409;border-radius:8px;padding:12px;margin:16px 0;text-align:center}.guest-conversion-note ion-text{font-size:.9rem;font-weight:500}.auth-card{transition:all .3s ease}.auth-input,.auth-primary-btn,.google-signin-btn,.guest-continue-btn{transition:all .2s ease}.avatar-container{position:relative;display:inline-block;cursor:pointer;transition:transform .2s ease}.avatar-container:hover{transform:scale(1.05)}.avatar-element{border:2px solid var(--ion-color-light-shade);box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.avatar-small .avatar-element{width:32px;height:32px}.avatar-medium .avatar-element{width:48px;height:48px}.avatar-large .avatar-element{width:64px;height:64px}.avatar-xlarge .avatar-element{width:96px;height:96px}.default-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;color:#fff;font-size:.8em}.default-avatar.avatar-guest{background:linear-gradient(135deg,gold,#ffed4e);color:#8b7000;border-color:#ffc409}.default-avatar.avatar-registered{background:linear-gradient(135deg,#10dc60,#16ba52);color:#fff;border-color:#10dc60}.default-avatar.avatar-premium{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border-color:#ff6b6b}.default-avatar.avatar-none{background:linear-gradient(135deg,#92949c,#c8c9cc);color:#fff;border-color:#92949c}.avatar-container.avatar-guest .avatar-element{border-color:#ffc409}.avatar-container.avatar-registered .avatar-element{border-color:#10dc60}.avatar-container.avatar-premium .avatar-element{border-color:#ff6b6b;box-shadow:0 0 12px #ff6b6b4d}.avatar-container.avatar-none .avatar-element{border-color:#92949c}.status-badge{position:absolute;bottom:-2px;right:-2px;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;border:2px solid var(--ion-background-color);z-index:10}.avatar-small .status-badge{min-width:12px;height:12px;font-size:8px}.avatar-large .status-badge,.avatar-xlarge .status-badge{min-width:20px;height:20px;font-size:12px}.account-type-badge{position:absolute;top:-4px;right:-4px;font-size:8px;padding:2px 4px;border-radius:4px;font-weight:700;z-index:10}.avatar-small .account-type-badge{font-size:6px;padding:1px 2px}.avatar-large .account-type-badge,.avatar-xlarge .account-type-badge{font-size:10px;padding:3px 6px}.avatar-group{display:flex;align-items:center}.avatar-group-item{position:relative;margin-left:-8px;transition:transform .2s ease}.avatar-group-item:first-child{margin-left:0}.avatar-group-item:hover{transform:scale(1.1);z-index:100!important}.avatar-overflow .default-avatar{background:var(--ion-color-medium);color:#fff;font-size:.7em;font-weight:600}.avatar-placeholder{background:var(--ion-color-light-shade);color:var(--ion-color-medium);opacity:.6}.avatar-placeholder.loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.avatar-container:hover .avatar-element{box-shadow:0 4px 12px #0003}.avatar-container.avatar-premium:hover .avatar-element{box-shadow:0 0 20px #ff6b6b80}.avatar-container.avatar-registered:hover .avatar-element{box-shadow:0 4px 12px #10dc604d}.avatar-container.avatar-guest:hover .avatar-element{box-shadow:0 4px 12px #ffc4094d}@media (max-width: 768px){.avatar-group-item{margin-left:-6px}.account-type-badge{font-size:7px;padding:1px 3px}}.avatar-container:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}.avatar-container[role=button]{cursor:pointer}.avatar-container{transition:all .3s ease}.status-badge,.account-type-badge{transition:all .2s ease}.avatar-container.avatar-premium .avatar-element{animation:premium-glow 3s ease-in-out infinite}@keyframes premium-glow{0%,to{box-shadow:0 0 12px #ff6b6b4d}50%{box-shadow:0 0 20px #ff6b6b99}}.user-profile-card{margin:0;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:100%;display:flex;flex-direction:column}.profile-header{display:flex;align-items:center;gap:16px}.user-avatar{width:64px;height:64px;border:3px solid var(--ion-color-light);box-shadow:0 2px 4px #0000001a}.user-avatar img{width:100%;height:100%;object-fit:cover}.default-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:24px}.default-avatar.guest{background:linear-gradient(135deg,gold,#ffed4e);color:#8b7000}.default-avatar.registered{background:linear-gradient(135deg,#10dc60,#16ba52);color:#fff}.default-avatar.none{background:linear-gradient(135deg,#92949c,#c8c9cc);color:#fff}.user-info{flex:1;min-width:0}.user-info ion-card-title{font-size:1.4rem;font-weight:600;margin-bottom:4px;color:var(--ion-color-dark)}.user-info p{margin:0;font-size:.9rem;opacity:.8}.account-status{margin-top:8px}.account-status ion-badge{font-size:.75rem;padding:4px 8px}.cta-section{margin:16px 0;text-align:center}.protection-cta{--border-radius: 8px;font-weight:600;margin-bottom:8px}.cta-subtitle{font-size:.85rem;margin-top:8px}.cta-subtitle p{margin:0}.stats-section{margin:16px 0;padding:16px;background:var(--ion-color-light);border-radius:8px}.stat-item ion-icon{font-size:12px;margin-bottom:8px}.account-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.account-actions ion-button{flex:1;margin:0}.user-profile-compact{display:flex;align-items:center;gap:12px;padding:12px;background:var(--ion-color-light);border-radius:8px;margin-bottom:16px}.user-info-compact{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-avatar-small{width:40px;height:40px;border:2px solid var(--ion-color-light-shade)}.user-avatar-small .default-avatar{font-size:16px}.user-details-compact{flex:1;min-width:0}.user-details-compact .username{font-weight:600;font-size:.95rem;color:var(--ion-color-dark);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-details-compact ion-badge{font-size:.7rem}@media (max-width: 768px){.profile-header{gap:8px}.user-info ion-card-title{font-size:1.2rem}.account-status ion-badge{font-size:.7rem;padding:3px 6px}.cta-section{margin:12px 0}.protection-cta{font-size:.9rem}.cta-subtitle{font-size:.8rem}.account-actions{gap:6px;margin-top:12px}.account-actions ion-button{font-size:.85rem}}.user-profile-card{transition:all .3s ease}.protection-cta{animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%{box-shadow:0 0 #ffc10766}70%{box-shadow:0 0 0 10px #ffc10700}to{box-shadow:0 0 #ffc10700}}.guest-cta-banner{position:relative;background:linear-gradient(135deg,#ffc409,#ffeb3b);border-radius:12px;padding:16px;margin:16px 0;box-shadow:0 4px 12px #ffc4094d;border:2px solid #ffc409}.guest-cta-banner.urgency-high{background:linear-gradient(135deg,#ff6b6b,#ff8e53);border-color:#ff6b6b;box-shadow:0 4px 12px #ff6b6b66;animation:urgent-pulse 2s infinite}.guest-cta-banner.urgency-medium{background:linear-gradient(135deg,#ffc409,#ffeb3b);animation:gentle-pulse 3s infinite}.banner-content{display:flex;align-items:center;gap:16px}.banner-icon{flex-shrink:0;width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000c;font-size:24px}.banner-text{flex:1;min-width:0}.banner-title{margin:0 0 4px;font-size:1.1rem;font-weight:700;color:#000000e6}.banner-subtitle{margin:0;font-size:.9rem;color:#000000b3;font-weight:500}.banner-button{flex-shrink:0;--background: rgba(255, 255, 255, .9);--color: #333;font-weight:600}.guest-cta-card{position:relative;margin:0;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc409;height:100%;display:flex;flex-direction:column}.guest-cta-card.urgency-high{background:linear-gradient(135deg,#ffe0e0,#ffcccb);border-color:#ff6b6b}.cta-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cta-icon{font-size:28px;color:#ffc409;flex-shrink:0}.guest-cta-card.urgency-high .cta-icon{color:#ff6b6b}.cta-text{flex:1}.cta-title{margin:0 0 4px;font-size:1.1rem;font-weight:700;color:var(--ion-color-dark)}.cta-subtitle{margin:0;font-size:.85rem;color:var(--ion-color-medium);font-weight:500}.progress-stats{background:#fff9;border-radius:12px;padding:16px 12px;margin:12px 0}.progress-stats ion-grid{padding:0}.progress-stats ion-row{display:flex;justify-content:space-around;align-items:center}.stat-highlight{text-align:center;padding:8px 4px;display:flex;flex-direction:column;align-items:center;min-width:0}.stat-highlight ion-icon{font-size:24px;margin-bottom:4px;flex-shrink:0}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--ion-color-dark);margin-bottom:2px;line-height:1.2;white-space:nowrap}.stat-label{display:block;font-size:.75rem;color:var(--ion-color-medium);font-weight:500;white-space:nowrap}.protection-button{--border-radius: 12px;font-weight:700;margin:12px 0;height:48px}.benefits-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.benefit-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ion-color-dark)}.benefit-item ion-icon{font-size:14px;flex-shrink:0}.guest-cta-compact{display:flex;align-items:center;gap:12px;background:#ffc4091a;border:1px solid #ffc409;border-radius:8px;padding:12px;margin:8px 0}.cta-content-compact{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.cta-content-compact ion-icon{font-size:20px;flex-shrink:0}.cta-text-compact{display:flex;flex-direction:column;min-width:0}.cta-title-compact{font-size:.9rem;font-weight:600;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cta-subtitle-compact{font-size:.75rem;color:var(--ion-color-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dismiss-button{position:absolute;top:8px;right:8px;z-index:10;--color: rgba(0, 0, 0, .5);width:32px;height:32px}@keyframes urgent-pulse{0%{box-shadow:0 4px 12px #ff6b6b66;transform:scale(1)}50%{box-shadow:0 6px 20px #ff6b6b99;transform:scale(1.02)}to{box-shadow:0 4px 12px #ff6b6b66;transform:scale(1)}}@keyframes gentle-pulse{0%{box-shadow:0 4px 12px #ffc4094d}50%{box-shadow:0 6px 16px #ffc40966}to{box-shadow:0 4px 12px #ffc4094d}}@media (max-width: 768px){.banner-content{flex-direction:column;text-align:center;gap:12px}.banner-button{width:100%}.cta-header{gap:8px}.cta-icon{font-size:24px}.cta-title{font-size:1rem}.cta-subtitle{font-size:.8rem}.progress-stats{padding:12px 8px;margin:8px 0}.stat-highlight{padding:6px 2px}.stat-highlight ion-icon{font-size:20px;margin-bottom:3px}.stat-value{font-size:1.3rem}.stat-label{font-size:.7rem}.benefits-list{gap:4px;margin-top:8px}.benefit-item{font-size:.8rem}.benefit-item ion-icon{font-size:12px}}@media (prefers-color-scheme: dark){.guest-cta-banner{background:linear-gradient(135deg,#b8860b,#daa520)}.guest-cta-card{background:linear-gradient(135deg,#2c2c2c,#3c3c3c);border-color:#b8860b}.progress-stats{background:#0000004d}.guest-cta-compact{background:#b8860b33;border-color:#b8860b}}.campaign-globe-content{--background: #000000;position:relative;overflow:hidden;height:100vh;width:100%}.globe-container{width:100%;height:100vh;position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.stage-info-panel{position:absolute;top:20px;right:20px;width:350px;max-width:90vw;max-height:80vh;overflow-y:auto;z-index:1000;animation:slideInRight .3s ease-out}.stage-info-panel ion-card{margin:0;box-shadow:0 4px 16px #0000004d}.stage-info-panel ion-button[color=primary]{--background: var(--ion-color-primary);--background-activated: var(--ion-color-primary-shade);--background-hover: var(--ion-color-primary-tint);--color: var(--ion-color-primary-contrast);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stage-info-panel ion-button{--box-shadow: 0 2px 8px rgba(0, 0, 0, .3)}.stage-info-panel .lock-icon{margin-left:8px;color:var(--ion-color-warning)}.stage-info-panel ul{margin:8px 0;padding-left:20px}.stage-info-panel ul li{margin:4px 0}.hover-tooltip{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:12px 20px;border-radius:8px;z-index:999;pointer-events:none;animation:fadeIn .2s ease-in}.instructions-panel{position:absolute;bottom:20px;left:20px;width:300px;max-width:90vw;z-index:999}.instructions-panel ion-card{margin:0;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.instructions-panel ion-card-content{padding:12px}@media (max-width: 768px){.stage-info-panel{top:10px;right:10px;width:calc(100vw - 20px);max-height:60vh}.instructions-panel{bottom:10px;left:10px;width:calc(100vw - 20px)}.hover-tooltip{bottom:100px;font-size:.9em}}.css3d-globe-container{width:100%;height:100vh;perspective:1500px;display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;right:0;bottom:0}.css3d-globe{width:400px;height:400px;position:relative;transform-style:preserve-3d;transform:rotateX(-15deg)}.css3d-globe-sphere{width:100%;height:100%;border-radius:50%;background-image:url(https://unpkg.com/three-globe/example/img/earth-blue-marble.jpg);background-size:cover;background-position:center;box-shadow:inset -20px -20px 50px #00000080,0 0 50px #4a90e24d;position:relative;transform-style:preserve-3d}.css3d-stage-marker{position:absolute;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;font-size:20px;box-shadow:0 2px 8px #0000004d}.css3d-stage-marker:hover{transform:scale(1.2)}.css3d-stage-marker.locked{opacity:.5;cursor:not-allowed}.css3d-region-highlight{position:absolute;border-radius:50%;border:3px solid;background-color:currentColor;opacity:.4;pointer-events:none;box-shadow:0 0 20px currentColor}.deckgl-container,.mapbox-container{width:100%;height:100vh;position:absolute;top:0;left:0;right:0;bottom:0}.mapboxgl-ctrl-logo,.mapboxgl-ctrl-attrib{display:none!important}.threejs-container{width:100%;height:100vh;background:#000;position:absolute;top:0;left:0;right:0;bottom:0}.globe-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001}.stage-marker{cursor:pointer;transition:all .2s ease}.stage-marker:hover{transform:scale(1.2)}.stage-marker.locked{opacity:.5;cursor:not-allowed}.stage-marker.completed{border:2px solid gold}.region-highlight{opacity:.2;pointer-events:none}.region-highlight:hover{opacity:.4}.leaflet-container{width:100vw!important;height:100vh!important;background:#001d3d;cursor:grab;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important}.leaflet-container:active,.leaflet-dragging .leaflet-container{cursor:grabbing}.leaflet-control-zoom{border:2px solid rgba(0,0,0,.2);border-radius:4px;box-shadow:0 1px 5px #0006}.leaflet-control-zoom a{background-color:#fff;color:#000;width:30px;height:30px;line-height:30px;font-size:18px;font-weight:700;text-align:center;text-decoration:none;display:block;border-bottom:1px solid #ccc}.leaflet-control-zoom a:hover{background-color:#f4f4f4}.leaflet-control-zoom a:last-child{border-bottom:none}.leaflet-control-zoom-in,.leaflet-control-zoom-out{cursor:pointer}.leaflet-control-container{z-index:1000}.campaign-globe-page ion-header{display:none!important}.campaign-globe-page ion-content{--offset-top: 0 !important;--offset-bottom: 0 !important;--padding-top: 0 !important;--padding-bottom: 0 !important;height:100vh}.campaign-globe-page ion-content::part(scroll){height:100vh!important;overflow:hidden!important}.campaign-globe-page .campaign-globe-content{--background: #000;height:100vh;width:100vw}body:has(.campaign-globe-page) .connectivity-indicator,body:has(.campaign-globe-page) .offline-banner,body:has(.campaign-globe-page) .connectivity-indicator__container{display:none!important}.campaign-globe-container{width:100vw!important;height:100vh!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#000;overflow:hidden;z-index:10000;margin:0!important;padding:0!important}.campaign-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.7) 70%,transparent 100%);padding:20px;z-index:1000;text-align:center;color:#fff}.campaign-header h1{margin:0 0 8px;font-size:28px;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.campaign-header p{margin:0;font-size:14px;opacity:.9}.selected-country-info{margin-top:12px;padding:8px 16px;background:#0f03;border:1px solid rgba(0,255,0,.5);border-radius:4px;display:inline-block;font-size:14px}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000}.loading-spinner{font-size:24px;color:#fff;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.campaign-map{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:1!important}.campaign-map .leaflet-container{width:100vw!important;height:100vh!important;position:absolute!important;top:0!important;left:0!important}.campaign-map .leaflet-pane,.campaign-map .leaflet-map-pane{width:100vw!important;height:100vh!important}.campaign-controls{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-end;z-index:1000;pointer-events:none}.legend{background:#000c;padding:16px;border-radius:8px;color:#fff;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legend h3{margin:0 0 12px;font-size:16px}.legend-item{display:flex;align-items:center;gap:8px;margin-bottom:8px}.legend-item:last-child{margin-bottom:0}.legend-color{width:20px;height:20px;border-radius:50%;border:2px solid white}.instructions{background:#000c;padding:12px 16px;border-radius:8px;color:#fff;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.instructions p{margin:0;font-size:14px}.country-tooltip{background:#000000e6!important;border:1px solid rgba(0,255,0,.5)!important;color:#fff!important;font-weight:700;padding:4px 8px;border-radius:4px;box-shadow:0 2px 8px #00000080}.campaign-marker{background:transparent!important;border:none!important}.leaflet-popup-content-wrapper{background:#000000f2;color:#fff;border-radius:8px;box-shadow:0 4px 16px #00000080}.leaflet-popup-tip{background:#000000f2}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:50px;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.campaign-menu-page{--background: var(--ion-background-color, #1a1a1a);position:relative}.campaign-menu-content{--background: var(--ion-background-color, #1a1a1a)}.campaign-header-card,.campaign-story-card{margin:16px}.first-biomaster-button{--background: linear-gradient(135deg, var(--ion-color-tertiary), var(--ion-color-primary));--background-hover: linear-gradient(135deg, var(--ion-color-primary), var(--ion-color-tertiary));font-size:1.2rem;font-weight:700;height:60px;transition:transform .3s ease;position:relative;z-index:10}.first-biomaster-button:hover{transform:scale(1.05)}.globe-buttons-card{margin:16px}.globe-button{transition:all .3s ease}.globe-button:hover{transform:translateY(-2px)}.campaign-menu-page.transitioning .campaign-header-card,.campaign-menu-page.transitioning .globe-buttons-card{opacity:0;transform:scale(.95) translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.campaign-menu-page.transitioning .campaign-story-card{background:transparent!important;box-shadow:none!important;border:none!important;transition:background .6s ease-out,box-shadow .6s ease-out,border .6s ease-out}.campaign-menu-page.transitioning .campaign-story-card ion-card-header,.campaign-menu-page.transitioning .campaign-story-card ion-card-content>p{opacity:0;transform:translateY(-10px);transition:opacity .6s ease-out,transform .6s ease-out}.campaign-menu-page.transitioning .first-biomaster-button{opacity:0;transform:scale(.95);transition:opacity .8s ease-out 1.2s,transform .8s ease-out 1.2s}.campaign-menu-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;pointer-events:none;z-index:5}.campaign-menu-page.transitioning:before{transition:background 1s ease-out}.campaign-menu-page.transitioning:before{background:#000c}body.campaign-transitioning ion-tab-bar{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.first-biomaster-page{--background: var(--ion-background-color, #1a1a1a);position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden}.first-biomaster-content{--background: var(--ion-background-color, #1a1a1a);position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.background-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;transition:background 1s ease-in-out;pointer-events:none;z-index:1}.phase-pullback .background-overlay,.phase-words .background-overlay,.phase-question .background-overlay{background:#000000b3}.phase-fadeout .background-overlay,.phase-story .background-overlay{background:#000000e6}.floating-words-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2;pointer-events:none;overflow:hidden}.floating-word{position:absolute;font-size:clamp(1.5rem,4vw,3rem);font-weight:700;opacity:0;animation:floatAndFade 3s ease-in-out forwards;text-shadow:0 0 20px currentColor;white-space:nowrap;transform:translate(-50%)}@keyframes floatAndFade{0%{opacity:0;transform:translateY(0) scale(.8)}20%{opacity:1;transform:translateY(-20px) scale(1)}80%{opacity:1;transform:translateY(-40px) scale(1)}to{opacity:0;transform:translateY(-60px) scale(.8)}}.question-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:3;opacity:0;animation:fadeInQuestion 1s ease-in-out forwards}.question-text{font-size:clamp(2rem,6vw,4rem);font-weight:700;text-align:center;padding:0 20px;text-shadow:0 0 30px currentColor;animation:pulse 2s ease-in-out infinite}@keyframes fadeInQuestion{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.story-container{position:fixed;top:0;left:0;right:0;bottom:0;z-index:4;opacity:0;padding:20px;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.phase-story .story-container{animation:fadeInStory 1.5s ease-in-out forwards}@keyframes fadeInStory{0%{opacity:0}to{opacity:1}}.story-content{max-width:800px;width:100%;background:#000c;border-radius:16px;padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);animation:slideInStory 1s ease-out forwards;margin:auto 0;flex-shrink:0}@keyframes slideInStory{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.story-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;text-align:center;margin-bottom:32px;text-shadow:0 0 20px currentColor}.story-text{color:var(--ion-color-light, #f4f4f4);font-size:clamp(1rem,2vw,1.2rem);line-height:1.8;font-weight:700;margin-bottom:32px}.story-text p{margin-bottom:20px}.story-text strong{font-weight:700;text-shadow:0 0 10px currentColor}.story-highlight{margin-top:32px;padding:20px;background:#ffffff0d;border-radius:8px}.story-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.story-button{padding:16px 32px;font-size:1.1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:200px;box-shadow:0 4px 12px #0000004d}.story-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.story-button:active{transform:translateY(0)}@media (max-width: 768px){.story-content{padding:24px}.story-actions{flex-direction:column}.story-button{width:100%}}.phase-fadeout .question-container{animation:fadeOut 1s ease-in-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.vn-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1}.vn-background-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000,#0000001a,#0009);pointer-events:none}.vn-character-sprite{position:absolute;bottom:0;height:80%;max-height:800px;pointer-events:none;z-index:10;filter:brightness(.9);transition:filter .3s ease}.vn-character-sprite.speaking{filter:brightness(1.1);animation:subtle-bounce 2s ease-in-out infinite}@keyframes subtle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.vn-character-image{height:100%;width:auto;object-fit:contain;object-position:bottom;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}@media (max-width: 768px){.vn-character-sprite{height:60%;max-height:500px}}.vn-dialogue-box-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:90%;max-width:900px;z-index:100;pointer-events:auto}.vn-dialogue-box{background:var(--dialogue-bg, rgba(0, 0, 0, .9));border:3px solid var(--dialogue-border, var(--ion-color-primary));border-radius:16px;box-shadow:0 8px 32px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:transform .2s ease;margin:0}.vn-dialogue-box:hover{transform:scale(1.01)}.vn-dialogue-box ion-card-content{padding:24px;position:relative}.vn-character-name{font-size:1.2rem;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 10px currentColor}.vn-dialogue-text{font-size:1.1rem;line-height:1.6;min-height:60px;font-weight:500}.vn-cursor{display:inline-block;animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.vn-continue-indicator{position:absolute;bottom:12px;right:20px;font-size:1.5rem}@media (max-width: 768px){.vn-dialogue-box-container{width:95%;bottom:10px}.vn-dialogue-box ion-card-content{padding:16px}.vn-character-name{font-size:1rem;margin-bottom:8px}.vn-dialogue-text{font-size:.95rem;min-height:50px}}.vn-choice-box-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:90%;max-width:700px;z-index:100;pointer-events:auto}.vn-choice-box{background:var(--choice-bg, rgba(0, 0, 0, .95));border:3px solid var(--choice-border, var(--ion-color-primary));border-radius:16px;box-shadow:0 8px 32px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0}.vn-choice-box ion-card-content{padding:24px}.vn-choice-prompt{font-size:1.2rem;font-weight:700;margin-bottom:20px;text-align:center;line-height:1.4}.vn-choice-timer{text-align:center;font-size:1rem;font-weight:700;margin-bottom:16px;animation:pulse 1s infinite}.vn-choice-options{display:flex;flex-direction:column;gap:12px}.vn-choice-option{--border-width: 2px;--border-style: solid;--border-radius: 12px;font-size:1rem;font-weight:600;text-transform:none;letter-spacing:.5px;transition:all .3s ease;min-height:56px}.vn-choice-option:hover:not(:disabled){transform:translate(8px);box-shadow:0 4px 16px #0000004d}.vn-choice-option.selected{transform:scale(1.05);box-shadow:0 0 20px currentColor}.vn-choice-option:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.vn-choice-box-container{width:95%;bottom:10px}.vn-choice-box ion-card-content{padding:16px}.vn-choice-prompt{font-size:1rem;margin-bottom:16px}.vn-choice-option{font-size:.9rem;min-height:48px}}.vn-player-page{--background: #000000}.vn-toolbar{--background: transparent;--border-width: 0;position:fixed;top:0;left:0;right:0;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto}.vn-content{--background: #000000}.vn-stage{position:relative;width:100%;height:100%;overflow:hidden}.vn-stage>*{position:absolute}.vn-stage .vn-background{z-index:1}.vn-stage .vn-character-sprite{z-index:10}.vn-stage .vn-dialogue-box-container,.vn-stage .vn-choice-box-container{z-index:100;pointer-events:auto}.campaign-scene-list-content{--background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)}.campaign-scene-list-container{padding:2rem 1rem;max-width:1200px;margin:0 auto}.scene-list-header{text-align:center;margin-bottom:3rem;padding:2rem;background:#0000004d;border-radius:15px;border:2px solid rgba(255,215,0,.3)}.scene-list-header h1{color:gold;font-size:2.5rem;margin:0 0 1rem;text-shadow:0 0 20px rgba(255,215,0,.5)}.scene-list-header p{color:#fff;font-size:1.1rem;margin:0 0 1.5rem;opacity:.9}.progress-summary{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.action-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;max-width:600px;margin:0 auto}.action-buttons ion-button{flex:1;min-width:200px}.chapter-section{margin-bottom:3rem}.chapter-header{background:#0006;padding:1.5rem;border-radius:10px;border-left:4px solid #FFD700;margin-bottom:1.5rem}.chapter-header h2{color:gold;font-size:2rem;margin:0 0 .5rem}.chapter-header p{color:#fff;margin:0 0 1rem;opacity:.9}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.scene-card{background:#00000080;border:2px solid rgba(255,255,255,.1);border-radius:12px;transition:all .3s ease;cursor:pointer}.scene-card:hover{border-color:#ffd70080;box-shadow:0 8px 20px #ffd70033}.scene-card.completed{border-color:#00ff004d}.scene-card.completed:hover{border-color:#0f09;box-shadow:0 8px 20px #0f03}.scene-card.current{border-color:#0096ff99;box-shadow:0 8px 20px #0096ff4d;animation:pulse-current 2s ease-in-out infinite}@keyframes pulse-current{0%,to{box-shadow:0 8px 20px #0096ff4d}50%{box-shadow:0 8px 30px #0096ff99}}.scene-card.locked{opacity:.5;cursor:not-allowed;border-color:#ff00004d}.scene-card.locked:hover{border-color:#ff00004d;box-shadow:none;transform:none}.scene-card-title-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.scene-card ion-card-title{color:gold;font-size:1.3rem;flex:1}.scene-card.completed ion-card-title{color:#90ee90}.scene-card.locked ion-card-title{color:#999}.scene-card ion-card-content{color:#fff}.scene-id{font-family:monospace;font-size:.85rem;color:#888;margin:0 0 .5rem}.scene-background,.scene-characters,.scene-lines{font-size:.95rem;margin:.25rem 0;opacity:.9}@media (max-width: 768px){.campaign-scene-list-container{padding:1rem .5rem}.scene-list-header{padding:1.5rem 1rem}.scene-list-header h1{font-size:2rem}.scenes-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-buttons ion-button{min-width:100%}}@media (prefers-color-scheme: dark){.scene-card{background:#000000b3}}.pando-finale-container{position:relative;width:100%;height:100vh;background:#000;overflow:hidden}.pando-overlay-text{position:absolute;top:20%;left:50%;transform:translate(-50%);text-align:center;color:gold;z-index:10;pointer-events:none}.pando-overlay-text h1{font-size:3rem;font-weight:700;margin:0;text-shadow:0 0 20px rgba(255,215,0,.8)}.pando-overlay-text p{font-size:1.5rem;margin:1rem 0;color:#90ee90}.pando-revelation{position:absolute;bottom:10%;left:50%;transform:translate(-50%);text-align:center;color:gold;z-index:10;max-width:80%;pointer-events:none}.pando-revelation h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem;text-shadow:0 0 30px rgba(255,215,0,1)}.pando-revelation p{font-size:1.8rem;margin:.5rem 0;color:#fff}.pando-signature{font-style:italic;font-size:1.2rem!important;color:#90ee90!important;margin-top:2rem!important}.pando-communion-container{position:relative;width:100%;height:100vh;overflow:hidden}.communion-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.tree-stems-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.tree-stem{position:absolute;width:8px;height:8px;border-radius:50%;background:#90ee90;transform:translate(-50%,-50%)}.player-hands{position:absolute;bottom:20%;left:50%;transform:translate(-50%);display:flex;gap:100px;z-index:5}.hand{position:relative;font-size:4rem;filter:drop-shadow(0 0 10px rgba(255,215,0,.5))}.hand-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.8) 0%,transparent 70%);pointer-events:none}.pando-text-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:10;max-width:80%}.pando-text-overlay h1{font-size:4rem;font-weight:700;margin:0 0 1rem;color:#90ee90}.pando-text-overlay p{font-size:1.5rem;margin:.5rem 0;color:#fff}.pando-stats{font-size:1.2rem!important;color:#90ee90!important;margin-top:2rem!important}.pando-instruction{font-size:2rem!important;font-style:italic;color:gold!important}.communion-text h1{color:gold!important;font-size:5rem!important}.revelation-text h1{font-size:2.5rem!important;color:gold!important}.pando-memory-container{position:relative;width:100%;height:100vh;background:linear-gradient(to bottom,#000428,#004e92);overflow:hidden}.memory-particles{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.memory-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:gold}.timeline-container{position:absolute;top:10%;left:0;width:100%;z-index:2}.timeline-svg{display:block}.memory-cards-container{position:absolute;top:25%;left:50%;transform:translate(-50%);width:90%;max-width:600px;z-index:3}.memory-card{background:#000c;border:3px solid;border-radius:20px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.memory-image-container{position:relative;width:100%;height:300px;overflow:hidden}.memory-image{width:100%;height:100%;object-fit:cover}.memory-overlay{position:absolute;bottom:0;left:0;width:100%;height:100%}.memory-content{padding:2rem}.memory-year{font-size:1rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:2px}.memory-title{font-size:2rem;font-weight:700;margin:.5rem 0;color:#fff}.memory-description{font-size:1.2rem;color:#ccc;line-height:1.6}.memory-progress{position:absolute;bottom:5%;left:10%;width:80%;height:4px;background:#fff3;border-radius:2px;overflow:hidden;z-index:2}.memory-progress-bar{height:100%;background:linear-gradient(to right,#87ceeb,#90ee90,gold)}.memory-revelation{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:10;background:#000000e6;padding:3rem;border-radius:20px;border:3px solid #FFD700;max-width:80%}.memory-revelation h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem;color:gold}.memory-revelation p{font-size:1.5rem;margin:1rem 0;color:#fff}@media (max-width: 768px){.pando-overlay-text h1,.pando-text-overlay h1{font-size:2rem}.pando-overlay-text p,.pando-text-overlay p{font-size:1rem}.pando-revelation h2,.revelation-text h1{font-size:1.5rem!important}.pando-revelation p{font-size:1.2rem}.hand{font-size:3rem}.player-hands{gap:50px}.memory-title{font-size:1.5rem}.memory-description{font-size:1rem}}.pando-controls-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1000;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;padding:10px 20px;border:2px solid rgba(255,215,0,.3);box-shadow:0 4px 20px #00000080}.pando-controls-inner{display:flex;gap:10px;align-items:center}.pando-control-button{--color: #FFD700;--background: transparent;--background-hover: rgba(255, 215, 0, .2);--background-activated: rgba(255, 215, 0, .3);--border-radius: 50%;min-width:44px;min-height:44px}.pando-control-button ion-icon{font-size:24px}.pando-controls-toggle{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;background:#ffd700e6;border:2px solid #000;color:#000;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000004d}.pando-controls-show{position:fixed;bottom:20px;right:20px;z-index:1000;width:50px;height:50px;border-radius:50%;background:#ffd700e6;border:2px solid #000;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000080}@media (max-width: 768px){.pando-controls-container{bottom:10px;padding:8px 15px}.pando-controls-inner{gap:5px}.pando-control-button{min-width:40px;min-height:40px}.pando-control-button ion-icon{font-size:20px}.pando-controls-show{bottom:10px;right:10px;width:44px;height:44px}}.pando-control-button:focus,.pando-controls-toggle:focus,.pando-controls-show:focus{outline:2px solid #FFD700;outline-offset:2px}.pando-control-button:active{transform:scale(.95)}.pando-controls-toggle:hover,.pando-controls-show:hover{background:gold;box-shadow:0 6px 25px #ffd70080}.pando-loading-container{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a1a,#2d4a2b);display:flex;align-items:center;justify-content:center;z-index:9999}.pando-loading-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.pando-loading-particle{position:absolute;width:4px;height:4px;background:gold;border-radius:50%;box-shadow:0 0 10px #ffd700cc}.pando-loading-content{position:relative;text-align:center;z-index:1;max-width:500px;padding:2rem}.pando-loading-icon{font-size:5rem;margin-bottom:1rem;filter:drop-shadow(0 0 20px rgba(255,215,0,.5))}.pando-loading-message{color:gold;font-size:2rem;margin:1rem 0;font-weight:700;text-shadow:0 0 20px rgba(255,215,0,.5)}.pando-loading-subtitle{color:#90ee90;font-size:1rem;margin:1rem 0;opacity:.8}.pando-loading-progress-container{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin:1.5rem 0}.pando-loading-progress-bar{height:100%;background:linear-gradient(90deg,gold,#90ee90);border-radius:2px;box-shadow:0 0 10px #ffd70080}.pando-loading-dots{display:flex;gap:10px;justify-content:center;margin:1.5rem 0}.pando-loading-dot{width:10px;height:10px;background:gold;border-radius:50%;box-shadow:0 0 10px #ffd70080}@media (max-width: 768px){.pando-loading-icon{font-size:3rem}.pando-loading-message{font-size:1.5rem}.pando-loading-subtitle{font-size:.9rem}.pando-loading-content{padding:1rem}}@media (prefers-reduced-motion: reduce){.pando-loading-particle,.pando-loading-icon,.pando-loading-dot{animation:none}}.pack-opening-modal{--width: 90%;--max-width: 800px;--height: 80%;--border-radius: 16px}.pack-opening-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pack-opening-animation{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;text-align:center;padding:2rem}.pack-visual{display:flex;flex-direction:column;align-items:center;gap:2rem;position:relative}.pack-visual ion-icon{font-size:6rem;color:gold;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.opening-text{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.sparkles{position:absolute;top:-20px;right:-20px;font-size:2rem;color:gold;opacity:.8}.pack-results{animation:slideUp .5s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.pack-results ion-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #0003}.pack-results ion-card-title{display:flex;align-items:center;gap:.5rem;color:var(--ion-color-primary);font-size:1.3rem}.pack-stats ion-badge{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:700}.pack-stats ion-icon{font-size:1rem}.cards-grid{padding:0}.cards-grid ion-row{margin:0;padding:0}.cards-grid ion-col{padding:8px;display:flex;justify-content:center;align-items:stretch}.card-reveal{perspective:1000px;width:100%;height:100%;min-height:200px;display:flex;flex-direction:column}.card-reveal .species-card{transform-style:preserve-3d;transition:transform .6s ease;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000026;width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;background:#fff;border:2px solid var(--ion-color-primary);position:relative}.card-reveal:hover .species-card{transform:scale(1.02) rotateY(2deg)}.card-number-badge{position:absolute;top:8px;left:8px;z-index:10}.card-number-badge ion-badge{border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;box-shadow:0 2px 4px #0003}.card-reveal .species-card .card-content{flex:1;display:flex;flex-direction:column;padding:8px}.card-reveal .species-card .card-image-container{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background:#0000000d;border-radius:8px;margin-bottom:8px;overflow:hidden}.card-reveal .species-card .card-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.pack-card-organism .organism-content{display:flex!important;align-items:center!important;justify-content:center!important}.pack-card-organism .organism-body{font-size:48px!important;line-height:1!important}.card-reveal .species-card .card-title{font-size:.9rem;font-weight:700;margin-bottom:4px;text-align:center;line-height:1.2}.card-reveal .species-card .card-subtitle{font-size:.75rem;color:var(--ion-color-medium);text-align:center;margin-bottom:8px;font-style:italic}.card-reveal .species-card .card-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:auto}.card-reveal .species-card .card-badges ion-badge{font-size:.7rem;padding:2px 6px;border-radius:8px}.pack-actions{margin-top:2rem;text-align:center}.pack-actions ion-button{--border-radius: 12px;--padding-start: 2rem;--padding-end: 2rem;font-weight:700;font-size:1.1rem}@media (max-width: 768px){.pack-opening-modal{--width: 95%;--height: 90%}.pack-visual ion-icon{font-size:4rem}.opening-text{font-size:1.2rem}.pack-stats{gap:.25rem}.pack-stats ion-badge{padding:.4rem .8rem;font-size:.8rem}.cards-grid ion-col{padding:6px}.card-reveal{min-height:160px}.card-reveal .species-card{min-height:150px}.card-reveal .species-card .card-image-container{height:60px}.card-reveal .species-card .card-title{font-size:.8rem}.card-reveal .species-card .card-subtitle{font-size:.7rem}.card-reveal .species-card .card-badges ion-badge{font-size:.65rem;padding:1px 4px}.card-number-badge ion-badge{width:20px;height:20px;font-size:.7rem}.pack-card-organism .organism-body{font-size:36px!important}}@media (prefers-color-scheme: dark){.pack-opening-content{background:linear-gradient(135deg,#2d3748,#1a202c)}.pack-results ion-card{background:#2d3748f2;color:#fff}.pack-results ion-card-title{color:var(--ion-color-primary-tint)}}.pack-visual{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.card-reveal:nth-child(1){animation-delay:.1s}.card-reveal:nth-child(2){animation-delay:.2s}.card-reveal:nth-child(3){animation-delay:.3s}.card-reveal:nth-child(4){animation-delay:.4s}.card-reveal:nth-child(5){animation-delay:.5s}.card-reveal:nth-child(6){animation-delay:.6s}.card-reveal:nth-child(7){animation-delay:.7s}.sparkles{animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.rarity-breakdown{margin-top:1rem;padding:.75rem;background:#fffffff2;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.rarity-breakdown h4{margin:0 0 .75rem;color:var(--ion-color-primary);font-size:1rem;text-align:left;font-weight:600}.rarity-list{display:flex;flex-direction:column;gap:.5rem}.rarity-item{display:flex}.rarity-item ion-badge{white-space:nowrap;font-size:.85rem;padding:.4rem .6rem;flex:0 0 auto}.rarity-item:last-child{margin-bottom:0}.rarity-breakdown ion-badge{--color: white !important;--background: var(--ion-color-primary) !important;letter-spacing:.5px!important}.educational-stats{margin-top:1rem}.educational-stats ion-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #0003}.educational-stats ion-card-title{color:var(--ion-color-primary);font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.educational-note{margin-top:1rem;padding:.4rem;background:rgba(var(--ion-color-primary-rgb),.1);border-radius:8px;border-left:4px solid var(--ion-color-primary)}.educational-note p{margin:0;font-size:.9rem;line-height:1.4}.conservation-status-item{--padding-start: 0;--padding-end: 0;--inner-padding-start: 16px;--inner-padding-end: 16px;margin-bottom:8px}.status-info{width:100%;display:flex;flex-direction:column;gap:8px}.status-header{display:flex;align-items:center;justify-content:space-between;width:100%}.status-header .percentage{font-weight:700;color:var(--ion-color-primary);font-size:.95rem}.status-details{display:flex;flex-direction:column;gap:4px}.description{color:var(--ion-color-medium);font-size:.9rem;line-height:1.3}.pack-rarity{color:var(--ion-color-medium);font-size:.85rem}.pack-rarity strong{color:var(--ion-color-dark)}@media (max-width: 768px){.status-header{flex-direction:column;align-items:flex-start;gap:4px}.status-header .percentage{font-size:.9rem}.description{font-size:.85rem}.pack-rarity{font-size:.8rem}}.credits-display{text-align:center;padding:1rem 0}.credits-display h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.credits-display p{margin:0;font-size:.9rem}.pack-card{height:100%;transition:all .3s ease;border-radius:16px;overflow:hidden;position:relative}.pack-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.pack-card.special-pack{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pack-card.special-pack ion-card-title,.pack-card.special-pack ion-text{color:#fff}.pack-card.unavailable{opacity:.6;filter:grayscale(.5)}.pack-card.unavailable:hover{transform:none;box-shadow:none}.pack-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.pack-icon{font-size:2.5rem;margin-bottom:.5rem}.pack-details{display:flex;flex-direction:column;gap:1rem;height:100%}.pack-details p{margin:0;line-height:1.4;min-height:2.8rem}.pack-stats{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.pack-stats ion-badge{font-size:.8rem;padding:.4rem .8rem;border-radius:12px}.open-pack-button{margin-top:auto;font-weight:700;border-radius:12px;height:48px}.open-pack-button:not(:disabled):hover{transform:scale(1.02)}.special-pack .pack-icon{animation:sparkle 2s infinite ease-in-out}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.1) rotate(5deg);opacity:.8}}@media (max-width: 768px){.pack-card{margin-bottom:1rem}.pack-header{gap:.25rem}.pack-icon{font-size:2rem}.pack-details{gap:.75rem}.pack-details p{min-height:2.4rem;font-size:.9rem}}.open-pack-button[disabled]{opacity:.6}.open-pack-button ion-icon{transition:transform .3s ease}.open-pack-button:not([disabled]):active ion-icon{transform:scale(1.2)}.auth-page-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.welcome-section{text-align:center;padding:2rem 1rem;margin-bottom:1rem}.logo-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.logo-section ion-icon{font-size:4rem;margin-bottom:1rem}.logo-section h1{margin:0;font-size:2rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.logo-section p{margin:0;font-size:1rem;line-height:1.4;color:#ffffffe6;max-width:400px}.auth-card,.guest-card,.features-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #0003;margin-bottom:1rem;overflow:hidden}.auth-card ion-card-title,.guest-card ion-card-title,.features-card ion-card-title{color:var(--ion-color-primary);font-size:1.3rem;font-weight:700}.guest-card{border:2px solid var(--ion-color-secondary)}.guest-card ion-card-title{color:var(--ion-color-secondary)}.guest-card ion-button{--border-radius: 12px;font-weight:700;margin-top:1rem}.features-card h3{margin:0 0 1rem;color:var(--ion-color-primary);font-size:1.1rem}.features-card ul{margin:0;padding-left:1rem;list-style:none}.features-card li{margin-bottom:.5rem;font-size:.9rem;line-height:1.4;color:var(--ion-color-medium)}.features-card li:last-child{margin-bottom:0}@media (max-width: 768px){.welcome-section{padding:1.5rem 1rem}.logo-section h1{font-size:1.8rem}.logo-section ion-icon{font-size:3rem}.logo-section p{font-size:.9rem}.auth-card,.guest-card,.features-card{margin-bottom:.75rem}}.auth-card,.guest-card,.features-card{animation:slideUp .5s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.welcome-section{animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.multiplayer-tabs{margin:16px;border-radius:8px;background:var(--ion-color-light)}.tab-content{padding:16px}.auth-required{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:60vh;gap:16px}.auth-required ion-icon{font-size:64px;margin-bottom:16px}.auth-required h2{margin:0;color:var(--ion-color-dark)}.auth-required p{color:var(--ion-color-medium);margin:8px 0}.matchmaking-status{text-align:center;padding:24px 16px;background:var(--ion-color-light);border-radius:12px;margin-top:16px}.matchmaking-status ion-spinner{margin-bottom:16px}.matchmaking-status h3{margin:0 0 16px;color:var(--ion-color-primary)}.matchmaking-status p{margin:4px 0;color:var(--ion-color-dark);font-weight:500}.matchmaking-status ion-progress-bar{margin:16px 0}.cancel-button,.matchmaking-ready{margin-top:16px}.matchmaking-ready ion-button{margin-bottom:16px}.rating-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.rating-stat{text-align:center;padding:16px;background:var(--ion-color-light);border-radius:8px}.rating-stat .stat-value{font-size:24px;font-weight:700;margin-bottom:4px}.rating-stat .stat-label{font-size:12px;color:var(--ion-color-medium);text-transform:uppercase;letter-spacing:.5px}.rank-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-weight:700;margin:8px 0}.rank-badge.gold{background:var(--ion-color-warning-tint);color:var(--ion-color-warning-contrast)}.rank-badge.silver{background:var(--ion-color-secondary-tint);color:var(--ion-color-secondary-contrast)}.rank-badge.bronze{background:var(--ion-color-tertiary-tint);color:var(--ion-color-tertiary-contrast)}.quest-grid{display:grid;gap:12px}.quest-card{border-radius:12px;margin:0;box-shadow:0 2px 8px #0000001a}.quest-card.completed{border-left:4px solid var(--ion-color-success)}.quest-card.claimed{opacity:.7;background:var(--ion-color-light)}.quest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.quest-title{font-weight:700;margin:0}.quest-status{display:flex;align-items:center;gap:4px;font-size:12px;padding:4px 8px;border-radius:12px}.quest-status.completed{background:var(--ion-color-success-tint);color:var(--ion-color-success)}.quest-status.claimed{background:var(--ion-color-medium-tint);color:var(--ion-color-medium)}.quest-progress{margin:12px 0}.quest-progress-bar{margin:8px 0}.quest-progress-text{font-size:14px;color:var(--ion-color-medium);text-align:center}.quest-rewards{display:flex;gap:8px;margin-top:12px}.reward-item{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--ion-color-primary-tint);color:var(--ion-color-primary);border-radius:8px;font-size:12px;font-weight:500}.leaderboard-entry{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ion-color-light)}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-rank{font-weight:700;font-size:18px;width:40px;text-align:center;margin-right:16px}.leaderboard-rank.top-3{color:var(--ion-color-warning)}.leaderboard-player{flex:1}.leaderboard-player-name{font-weight:500;margin-bottom:2px}.leaderboard-player-stats{font-size:12px;color:var(--ion-color-medium)}.leaderboard-rating{font-weight:700;font-size:16px;text-align:right}@media (max-width: 768px){.rating-overview{grid-template-columns:1fr}.tab-content{padding:12px}.multiplayer-tabs{margin:12px}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.matchmaking-status{animation:pulse 2s ease-in-out infinite}.quest-card,.rating-stat,.leaderboard-entry{transition:all .2s ease-in-out}.quest-card:hover,.rating-stat:hover,.leaderboard-entry:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.card-details-content{--background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%)}.species-header{display:flex;align-items:center;padding:20px;background:linear-gradient(135deg,#ffffffe6,#f0f0f0e6);border-bottom:1px solid #e0e0e0;gap:20px}.species-illustration-large{width:100px;height:100px;display:contents;align-items:center;justify-content:center;background:#fffc;border-radius:50%;box-shadow:0 4px 12px #0000001a}.species-svg-large{width:80px;height:80px}.species-info{flex:1}.species-info h1{margin:0 0 5px;font-size:24px;font-weight:700;color:#333}.species-info h2{margin:0 0 10px;font-size:16px;font-style:italic;color:#666;font-weight:400}.badges{display:flex;gap:8px;flex-wrap:wrap}.badges ion-badge{display:flex;align-items:center;gap:4px;padding:4px 8px}.badges ion-badge ion-icon{font-size:12px}ion-list{margin:0;padding:0}ion-list-header{background:#fffc;border-bottom:1px solid #e0e0e0;font-weight:700;color:#333}ion-list-header ion-icon{margin-right:8px;color:var(--ion-color-primary)}ion-item{--background: rgba(255,255,255,.6);--border-color: rgba(0,0,0,.1)}ion-item:hover{--background: rgba(255,255,255,.8)}ion-item h3{margin:0 0 2px;font-weight:700;color:#333}ion-item p{margin:0;font-size:12px;color:#666}ion-item ion-badge{font-weight:700;min-width:50px;text-align:center}@media (max-width: 768px){.species-header{flex-direction:column;text-align:center;padding:15px}.species-illustration-large{width:80px;height:80px}.species-svg-large{width:60px;height:60px}.species-info h1{font-size:20px}.species-info h2{font-size:14px}.facts-grid{grid-template-columns:1fr}}.scientific-facts-card{margin:16px;background:var(--tcg-background-secondary);border:1px solid var(--tcg-border-color)}.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:8px}.fact-item{padding:8px 12px;background:var(--tcg-background-primary);border-radius:8px;border:1px solid var(--tcg-border-color);font-size:14px}.fact-item strong{color:var(--tcg-accent);display:block;margin-bottom:2px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.collection-controls{padding:1rem;border-bottom:1px solid var(--ion-color-light-shade)}.filter-buttons{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.collection-grid{padding:1rem;-webkit-overflow-scrolling:touch;touch-action:pan-y}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--ion-color-medium)}.empty-state ion-icon{margin-bottom:1rem;opacity:.5}.collection-stats-card{margin:1rem;margin-bottom:0}.progress-section{margin-bottom:1rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.collection-progress{height:8px;border-radius:4px}.stats-grid{margin-top:1rem}.stat-item{display:flex;align-items:center;gap:.5rem;text-align:center}.stat-icon{font-size:1.5rem}.stat-content h4{margin:0;font-weight:700}.milestones{margin-top:1rem;text-align:center}.sync-status-card{margin:1rem;margin-bottom:0}.sync-status-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.sync-status-indicator{display:flex;align-items:center;gap:.75rem;flex:1}.status-icon{display:flex;align-items:center;justify-content:center;min-width:2rem}.status-text h4{margin:0;font-size:1rem}.pending-badge{white-space:nowrap}.sync-button{--padding-start: .75rem;--padding-end: .75rem}.sync-error{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--ion-color-light-shade)}.settings-content{--background: var(--tcg-background-primary, #f5f5f5)}.theme-preview{display:flex;height:30px;border-radius:8px;overflow:hidden;margin:10px 0;box-shadow:0 2px 4px #0000001a}.theme-preview-primary{flex:2}.theme-preview-secondary,.theme-preview-accent{flex:1}.current-theme-preview{padding:16px;background:var(--tcg-background-secondary, #f0f0f0);border-radius:12px;margin:16px 0;text-align:center}.current-theme-preview h4{margin:0 0 8px;color:var(--tcg-text-primary, #333);font-weight:700}.current-theme-preview p{margin:0 0 12px;color:var(--tcg-text-secondary, #666);font-size:14px}.theme-filter-buttons{display:flex;gap:8px;margin-bottom:12px;margin-top:16px;flex-wrap:wrap;justify-content:center}.theme-filter-buttons ion-button{--padding-start: 12px;--padding-end: 12px;font-size:13px;text-transform:none}.create-theme-button{margin-top:0;margin-bottom:20px}.theme-card{background:var(--tcg-card-background, #fff);border:2px solid var(--tcg-card-border, #e0e0e0);border-radius:12px;padding:12px;cursor:pointer;transition:all .3s ease;text-align:center}.theme-card:hover{border-color:var(--tcg-accent, #007bff);box-shadow:0 4px 12px #00000026}.theme-card.active{border-color:var(--tcg-accent, #007bff);background:var(--tcg-highlight, rgba(0, 123, 255, .1));box-shadow:0 4px 12px #007bff33}.theme-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.theme-card-header h5{margin:0;font-size:14px;font-weight:700;color:var(--tcg-text-primary, #333)}.theme-card-icons{display:flex;gap:4px;align-items:center}.theme-card-header ion-icon{font-size:16px;color:var(--tcg-accent, #007bff)}.theme-dark-indicator,.theme-custom-indicator{font-size:14px!important}.theme-card p{margin:8px 0 0;font-size:11px;color:var(--tcg-text-secondary, #666);line-height:1.3}.custom-theme-creator{padding:20px}.color-customization{margin:20px 0}.color-customization h4{margin:0 0 16px;color:var(--tcg-text-primary, #333);font-weight:700}.color-picker{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;box-shadow:0 2px 4px #0000001a}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:8px}.theme-preview-section{margin:20px 0}.theme-preview-section h4{margin:0 0 12px;color:var(--tcg-text-primary, #333);font-weight:700}.custom-theme-preview{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:16px;background:var(--tcg-background-secondary, #f0f0f0);border-radius:12px}.color-swatch{width:40px;height:40px;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s ease}.color-swatch:hover{transform:scale(1.1)}ion-card-title{display:flex;align-items:center;gap:8px;color:var(--tcg-text-primary, #333)}ion-card-title ion-icon{font-size:20px;color:var(--tcg-accent, #007bff)}ion-item{--background: var(--tcg-card-background, #fff);--color: var(--tcg-text-primary, #333);--border-color: var(--tcg-card-border, #e0e0e0)}ion-item h3{color:var(--tcg-text-primary, #333);font-weight:600;margin:0 0 4px}ion-item p{color:var(--tcg-text-secondary, #666);font-size:14px;margin:0}ion-toggle{--background: var(--tcg-card-border, #e0e0e0);--background-checked: var(--tcg-accent, #007bff);--handle-background: #fff;--handle-background-checked: #fff}ion-range{--bar-background: var(--tcg-card-border, #e0e0e0);--bar-background-active: var(--tcg-accent, #007bff);--knob-background: var(--tcg-accent, #007bff);--pin-background: var(--tcg-accent, #007bff);--pin-color: #fff}ion-select{--color: var(--tcg-text-primary, #333);--placeholder-color: var(--tcg-text-secondary, #666)}ion-input{--color: var(--tcg-text-primary, #333);--placeholder-color: var(--tcg-text-secondary, #666)}ion-button{--color: var(--tcg-accent, #007bff);--border-color: var(--tcg-accent, #007bff)}ion-button[fill=solid]{--background: var(--tcg-accent, #007bff);--color: #fff}.dark .settings-content{--background: var(--tcg-background-primary, #1a1a1a)}.dark .theme-card{background:var(--tcg-card-background, #2a2a2a);border-color:var(--tcg-card-border, #404040)}.dark .current-theme-preview,.dark .custom-theme-preview{background:var(--tcg-background-secondary, #2a2a2a)}@media (max-width: 768px){.theme-filter-buttons{gap:6px}.theme-filter-buttons ion-button{--padding-start: 8px;--padding-end: 8px;font-size:11px}.theme-card{padding:8px}.theme-card-header h5{font-size:12px}.theme-card-icons ion-icon{font-size:14px!important}.theme-dark-indicator,.theme-custom-indicator{font-size:12px!important}.theme-card p{font-size:10px}.custom-theme-creator{padding:16px}.color-picker,.color-swatch{width:35px;height:35px}}.theme-card{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.theme-card:focus{outline:2px solid var(--tcg-accent, #007bff);outline-offset:2px}.color-picker:focus{outline:2px solid var(--tcg-accent, #007bff);outline-offset:2px}@media (prefers-contrast: high){.theme-card{border-width:3px}.theme-preview{box-shadow:0 0 0 2px var(--tcg-text-primary, #333)}}.grid-cell-preview-section{margin-top:16px}.grid-cell-preview-container{padding:16px;background:#0000004d;border-radius:8px;margin:12px 0;border:1px solid rgba(255,255,255,.1)}.grid-cell-preview-item{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:8px;transition:all .3s ease}.grid-cell-preview-item:hover{background:#ffffff0d}.grid-cell.selected-preview{border-color:var(--ion-color-primary)!important;box-shadow:0 0 15px rgba(var(--ion-color-primary-rgb, 59, 130, 246),.5)!important;transform:scale(1.1)}.grid-cell-preview-container .grid-cell{min-height:40px;min-width:40px;position:relative}.grid-cell-preview-container .grid-cell.style-classic{border:2px solid rgba(255,255,255,.3)!important;background:#ffffff1a!important}.grid-cell-preview-container .grid-cell.style-hexagon{border:2px solid rgba(255,255,255,.4)!important;background:#ffffff26!important}.grid-cell-preview-container .grid-cell.style-rounded{border:2px solid rgba(255,255,255,.3)!important;background:radial-gradient(circle,#fff3,#ffffff0d)!important}.grid-cell-preview-container .grid-cell.style-minimal{border:2px solid rgba(255,255,255,.2)!important;background:#ffffff0d!important}.grid-cell-preview-container .grid-cell.style-neon{border:2px solid rgba(0,255,255,.6)!important;background:#00ffff1a!important;box-shadow:0 0 10px #00ffff4d!important}.grid-cell-preview-container .grid-cell.style-organic{border:2px solid rgba(34,197,94,.5)!important;background:#22c55e26!important}.grid-cell-info{margin-top:12px;padding:12px;background:#ffffff08;border-radius:6px;border-left:3px solid var(--ion-color-primary)}.dark .grid-cell-preview-container{background:#00000080;border-color:#fff3}.dark .grid-cell-preview-item:hover{background:#ffffff14}.dark .grid-cell-info{background:#ffffff0d}@media (max-width: 768px){.grid-cell-preview-container{padding:12px}.grid-cell-preview-item{padding:6px}.grid-cell-info{padding:10px;font-size:.9rem}}.render-mode-info{margin-top:12px;padding:12px;background:#ffffff08;border-radius:6px;border-left:3px solid var(--ion-color-primary)}.dark .render-mode-info{background:#ffffff0d}.card-style-preview-section{margin-top:16px}.card-style-preview-container{padding:16px;background:#ffffff05;border-radius:8px;margin:12px 0}.card-style-preview-item{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:8px;transition:all .3s ease;cursor:pointer}.card-style-preview-item:hover{background:#ffffff0d}.card-style-preview-item.selected{background:rgba(var(--ion-color-primary-rgb, 59, 130, 246),.1);border:2px solid var(--ion-color-primary);transform:scale(1.05)}.card-preview{width:40px;height:40px;margin-bottom:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.card-style-label{font-size:.8rem;text-align:center;color:var(--ion-color-medium);font-weight:500}.card-style-info{margin-top:12px;padding:12px;background:#ffffff08;border-radius:6px;border-left:3px solid var(--ion-color-primary)}.dark .card-style-preview-container{background:#ffffff0d}.dark .card-style-preview-item:hover{background:#ffffff14}.dark .card-style-info{background:#ffffff0d}@media (max-width: 768px){.card-style-preview-container{padding:12px}.card-style-preview-item{padding:6px}.card-preview{width:32px;height:32px}.card-style-info{padding:10px;font-size:.9rem}}.deletion-steps{margin-bottom:2rem;padding:1rem;background:var(--ion-color-light);border-radius:8px}.step{display:flex;align-items:flex-start;margin-bottom:1rem;padding:.5rem;border-radius:6px;transition:all .3s ease}.step.active{background:var(--ion-color-primary-tint);border-left:4px solid var(--ion-color-primary)}.step.completed{background:var(--ion-color-success-tint);border-left:4px solid var(--ion-color-success)}.step-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--ion-color-medium);color:#fff;font-weight:700;margin-right:1rem;flex-shrink:0}.step.active .step-indicator{background:var(--ion-color-primary)}.step.completed .step-indicator{background:var(--ion-color-success)}.step-content h4{margin:0 0 .25rem;font-size:1rem;font-weight:600}.step-content p{margin:0;font-size:.875rem;color:var(--ion-color-medium-shade)}.deletion-warning{text-align:center;padding:1rem}.deletion-warning h3{color:var(--ion-color-danger);margin:1rem 0}.deletion-warning ion-list{margin:1.5rem 0;text-align:left}.deletion-warning ion-item{--border-style: none;--inner-padding-end: 0}.deletion-warning ion-label h4{color:var(--ion-color-danger);font-weight:600;margin-bottom:.5rem}.deletion-warning ion-label p{margin:.25rem 0;color:var(--ion-color-medium-shade)}.data-export{text-align:center;padding:1rem}.data-export h3{color:var(--ion-color-primary);margin:1rem 0}.data-export ul{text-align:left;margin:1rem 0;padding-left:1.5rem}.data-export li{margin:.5rem 0;color:var(--ion-color-medium-shade)}.confirmation-step{padding:1rem}.confirmation-step h3{text-align:center;color:var(--ion-color-warning);margin:1rem 0}.password-reauth{margin:1.5rem 0;padding:1rem;background:var(--ion-color-warning-tint);border-radius:8px;border-left:4px solid var(--ion-color-warning)}.text-confirmation{margin:1.5rem 0;padding:1rem;background:var(--ion-color-danger-tint);border-radius:8px;border-left:4px solid var(--ion-color-danger)}.text-confirmation strong{color:var(--ion-color-danger);font-weight:700}.deletion-progress{text-align:center;padding:2rem 1rem}.deletion-progress h3{color:var(--ion-color-primary);margin-bottom:1rem}.deletion-progress p{color:var(--ion-color-medium-shade);margin-bottom:2rem}.step-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem 0}@media (max-width: 768px){.deletion-steps{margin-bottom:1rem;padding:.75rem}.step{margin-bottom:.75rem;padding:.375rem}.step-indicator{width:28px;height:28px;font-size:.875rem}.step-content h4{font-size:.875rem}.step-content p{font-size:.8125rem}.deletion-warning,.data-export,.confirmation-step{padding:.75rem}.password-reauth,.text-confirmation{margin:1rem 0;padding:.75rem}}.step{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.deletion-progress ion-progress-bar{margin:1rem 0}.deletion-warning ion-button,.data-export ion-button,.confirmation-step ion-button{margin:.5rem 0}ion-alert.deletion-alert{--backdrop-opacity: .8}ion-alert.deletion-alert .alert-wrapper{border-radius:12px}ion-toast.deletion-toast{--border-radius: 8px}ion-button:focus,ion-input:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}@media (prefers-contrast: high){.step{border:2px solid var(--ion-color-medium)}.step.active{border-color:var(--ion-color-primary)}.step.completed{border-color:var(--ion-color-success)}.deletion-warning ion-label h4,.text-confirmation strong{text-shadow:1px 1px 2px rgba(0,0,0,.5)}}.profile-header-card{border-radius:16px;background:var(--ion-color-light);border:1px solid var(--ion-color-light-shade)}.profile-header{display:flex;align-items:center;gap:20px}.profile-info h2{margin:0 0 8px;font-size:1.5rem;font-weight:700;color:var(--ion-color-dark)}.profile-info .email{margin:0 0 12px;color:var(--ion-color-medium);font-size:.9rem}.account-status{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--ion-color-success)}.quick-stats{background:var(--ion-color-light-tint);border-radius:12px;padding:16px;border:1px solid var(--ion-color-light-shade)}.stat-item{text-align:center;padding:8px}.stat-value{font-size:1.5rem;font-weight:700;color:var(--ion-color-dark);margin-bottom:4px}.stat-label{font-size:.8rem;color:var(--ion-color-medium);font-weight:500}.save-button{margin-top:20px;--border-radius: 12px;font-weight:600}.password-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--ion-color-light-shade)}.password-section ion-item{margin-bottom:12px}.sign-out-button{margin-top:20px;--border-radius: 12px}ion-card{border-radius:16px;box-shadow:0 4px 12px #0000001a}ion-card-header{padding-bottom:8px}ion-card-title{font-size:1.2rem;font-weight:600;color:var(--ion-color-dark)}ion-item{--border-radius: 8px;--background: var(--ion-color-light);margin-bottom:12px;border-radius:8px}ion-input,ion-textarea{--padding-start: 12px;--padding-end: 12px}ion-label[position=stacked]{font-weight:600;color:var(--ion-color-dark);margin-bottom:8px}ion-toggle{--handle-background: white;--handle-background-checked: white;--background: var(--ion-color-medium);--background-checked: var(--ion-color-success)}.text-center h2{margin:16px 0 8px;color:var(--ion-color-medium)}.text-center p{margin:0 0 20px;color:var(--ion-color-medium)}@media (max-width: 768px){.profile-info{text-align:center}.quick-stats{margin-top:16px}.stat-value{font-size:1.3rem}.stat-label{font-size:.75rem}}.profile-header-card{animation:slideInUp .3s ease-out}ion-card{animation:fadeIn .4s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.save-button[disabled]{opacity:.6}ion-spinner{width:20px;height:20px}ion-text[slot=helper]{font-size:.8rem;margin-top:4px}ion-input:focus-within,ion-textarea:focus-within{--background: var(--ion-color-light-tint);--border-color: var(--ion-color-primary)}ion-input.ion-invalid,ion-textarea.ion-invalid{--border-color: var(--ion-color-danger);--background: rgba(var(--ion-color-danger-rgb), .1)}ion-input.ion-valid,ion-textarea.ion-valid{--border-color: var(--ion-color-success);--background: rgba(var(--ion-color-success-rgb), .1)}.taxonomy-demo-container{padding:1rem;max-width:1200px;margin:0 auto}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.loading-container p{color:var(--ion-color-medium);font-size:1.1rem}.stats-card{margin-bottom:1rem}.stat-item{text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--ion-color-primary);line-height:1}.stat-label{font-size:.9rem;color:var(--ion-color-medium);margin-top:.25rem}.selected-card{margin-bottom:1rem;border-left:4px solid var(--ion-color-primary)}.selected-card-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;font-size:.9rem}.selected-card-info div{padding:.25rem 0}.browser-card,.testing-card{margin-bottom:1rem}.test-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}@media (max-width: 768px){.taxonomy-demo-container{padding:.5rem}.selected-card-info{grid-template-columns:1fr}.test-buttons{flex-direction:column}.test-buttons ion-button{width:100%}}.timesheet-content{--background: var(--tcg-background-primary, #f5f5f5)}.current-entry,.clock-in-section{text-align:center}.weekly-stats{display:flex;justify-content:space-around;gap:16px;margin:16px 0}.stat-item{text-align:center;flex:1;padding:16px;background:var(--tcg-background-secondary, #f0f0f0);border-radius:8px}.stat-item h3{margin:0 0 8px;font-size:2rem;color:var(--tcg-accent, #007bff);font-weight:700}.stat-item p{margin:0;color:var(--tcg-text-secondary, #666);font-size:.875rem}.notes{font-style:italic;color:var(--tcg-text-secondary, #666);margin-top:4px}.dark .timesheet-content{--background: var(--tcg-background-primary, #1a1a1a)}.dark .stat-item{background:var(--tcg-background-secondary, #2a2a2a)}@media (max-width: 768px){.weekly-stats{flex-direction:column}.stat-item h3{font-size:1.5rem}}.achievement-completed{border-left:4px solid var(--ion-color-success)}.achievement-completed ion-card-content{background:var(--ion-color-success-tint);background:linear-gradient(90deg,var(--ion-color-success-tint) 0%,transparent 100%)}.stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 16px;gap:8px}.stat-value{font-size:28px;font-weight:700;margin:4px 0}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px}.collection-stat{text-align:center;padding:12px 0}.collection-stat-value{font-size:24px;font-weight:700;margin-bottom:4px}.collection-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px}.auth-required{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:16px}.match-card{margin:8px 16px}.match-card.match-win{border-left:4px solid var(--ion-color-success)}.match-card.match-loss{border-left:4px solid var(--ion-color-danger)}.match-card.match-draw{border-left:4px solid var(--ion-color-medium)}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.match-result{display:flex;align-items:center;gap:12px}.match-result-text{display:flex;flex-direction:column;gap:2px}.match-rating{text-align:right}.rating-change{font-size:20px;font-weight:700}.rating-change.positive{color:var(--ion-color-success)}.rating-change.negative{color:var(--ion-color-danger)}.match-details{display:flex;flex-wrap:wrap;gap:16px;padding-top:12px;border-top:1px solid var(--ion-color-light)}.match-detail-item{display:flex;align-items:center;gap:6px;font-size:14px}.friends-header{padding:16px}.friends-header ion-button{margin-top:8px}.empty-state p{color:var(--ion-color-medium);font-size:16px;margin-bottom:16px}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--ion-color-primary);color:#fff;font-size:20px;font-weight:700}.teams-header{padding:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state p{color:var(--ion-color-medium);font-size:16px;margin:16px 0}.team-stats{display:flex;flex-direction:column;gap:8px;margin:16px 0}.team-stats .stat{display:flex;align-items:center;gap:8px;color:var(--ion-color-medium)}.team-stats .stat ion-icon{font-size:18px}.team-members{margin:16px 0}.team-members h4{margin-bottom:8px;color:var(--ion-color-medium);font-size:14px;text-transform:uppercase}.member-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--ion-color-light)}.member-item:last-child{border-bottom:none}.tournaments-container{padding:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:400px}.empty-state p{color:var(--ion-color-medium);font-size:16px;margin:16px 0 8px}.empty-subtitle{font-size:14px!important;margin-top:0!important}.tournament-card{margin-bottom:16px}.tournament-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tournament-description{color:var(--ion-color-medium);margin-bottom:16px}.tournament-info{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.info-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.info-item{display:flex;align-items:center;gap:6px;color:var(--ion-color-medium);font-size:14px}.info-item ion-icon{font-size:18px}.entry-fee,.rating-requirement{padding:8px 12px;background:var(--ion-color-light);border-radius:8px;font-size:14px;color:var(--ion-color-dark)}.prize-pool{padding:12px;background:var(--ion-color-light);border-radius:8px}.prize-pool h4{margin:0 0 8px;font-size:14px;color:var(--ion-color-medium);text-transform:uppercase}.prize-item{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}.prize-item span:first-child{font-weight:600;color:var(--ion-color-dark)}.prize-item span:last-child{color:var(--ion-color-success)}.card-matching-content{--background: var(--tcg-background-primary);--color: var(--tcg-text-primary);--overflow: auto}.difficulty-selection{display:flex;justify-content:center;align-items:center;min-height:100%;padding:var(--tcg-spacing-md)}.difficulty-selection ion-card{max-width:600px;width:100%;--background: var(--tcg-card-background);border:2px solid var(--tcg-card-border);box-shadow:var(--tcg-shadow-large)}.difficulty-selection h2{text-align:center;margin-bottom:var(--tcg-spacing-lg);color:var(--ion-color-primary)}.difficulty-selection ion-segment{margin:var(--tcg-spacing-lg) 0}.difficulty-selection ion-segment-button{--color: var(--tcg-text-primary);--color-checked: var(--ion-color-primary-contrast);--indicator-color: var(--ion-color-primary);--background-checked: var(--ion-color-primary)}.best-score{display:flex;align-items:center;justify-content:center;gap:var(--tcg-spacing-sm);margin:var(--tcg-spacing-md) 0;padding:var(--tcg-spacing-sm);background:var(--tcg-background-secondary);border-radius:var(--tcg-border-radius-small)}.best-score ion-icon{font-size:24px}.game-stats{display:flex;justify-content:center;gap:var(--tcg-spacing-md);padding:var(--tcg-spacing-md);background:var(--tcg-background-secondary);border-bottom:2px solid var(--tcg-card-border)}.game-stats ion-badge{font-size:16px;padding:var(--tcg-spacing-sm) var(--tcg-spacing-md)}.cards-per-row-control{padding:var(--tcg-spacing-sm) var(--tcg-spacing-md);background:var(--tcg-background-secondary);border-bottom:1px solid var(--tcg-card-border);display:flex;align-items:center;gap:var(--tcg-spacing-md)}.cards-per-row-control ion-label{min-width:120px;font-size:14px;font-weight:var(--tcg-font-weight-medium);color:var(--tcg-text-primary)}.cards-per-row-control ion-range{flex:1;max-width:300px}.memorize-message{text-align:center;padding:var(--tcg-spacing-md);animation:pulse 1s ease-in-out infinite}.memorize-message h3{color:var(--ion-color-warning);font-weight:var(--tcg-font-weight-bold)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.card-grid{padding:4px;max-width:1200px;margin:0 auto}.card-grid ion-col{padding:4px}.matching-card{position:relative;width:100%;padding-top:120%;cursor:pointer;perspective:1000px;margin-bottom:0;aspect-ratio:5 / 6}.card-inner{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d;border-radius:var(--tcg-border-radius);box-shadow:var(--tcg-shadow-medium)}.matching-card.flipped .card-inner{transform:rotateY(180deg)}.matching-card.matched .card-inner{transform:rotateY(180deg)!important}.card-back,.card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--tcg-border-radius);border:3px solid var(--tcg-card-border);overflow:hidden}.card-back{background:linear-gradient(135deg,var(--ion-color-primary) 0%,var(--ion-color-secondary) 100%);display:flex;align-items:center;justify-content:center}.card-back-pattern{font-size:48px;opacity:.7;animation:rotate 3s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.card-front{background:var(--tcg-card-background);transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px}.card-front img{width:100%;height:70%;object-fit:contain;border-radius:var(--tcg-border-radius-small)}.card-name{margin-top:2px;font-size:10px;font-weight:var(--tcg-font-weight-medium);text-align:center;color:var(--tcg-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.card-position{position:absolute;bottom:0;font-size:20px;font-weight:var(--tcg-font-weight-bold);color:var(--tcg-text-secondary);opacity:1;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.matching-card.matched{pointer-events:none}.matching-card.matched .card-front{filter:grayscale(80%) brightness(.75);opacity:.7;border-color:var(--ion-color-success);background:var(--tcg-card-background);box-shadow:0 0 15px rgba(var(--ion-color-success-rgb),.5)}.matching-card.matched .card-back{border-color:var(--ion-color-success)}.matching-card:not(.matched):not(.flipped):hover .card-inner{transform:scale(1.05);box-shadow:var(--tcg-shadow-large)}.game-complete{display:flex;justify-content:center;align-items:center;min-height:100%;padding:var(--tcg-spacing-md)}.game-complete ion-card{max-width:500px;width:100%;--background: var(--tcg-card-background);border:2px solid var(--tcg-card-border);box-shadow:var(--tcg-shadow-large)}.complete-icon{text-align:center;margin-bottom:var(--tcg-spacing-md)}.complete-icon ion-icon{font-size:80px;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.game-complete h2,.game-complete h3{text-align:center;margin:var(--tcg-spacing-sm) 0}.game-complete h2{color:var(--ion-color-primary)}.game-complete h3{color:var(--ion-color-secondary)}.final-stats{display:flex;justify-content:center;gap:var(--tcg-spacing-md);margin:var(--tcg-spacing-lg) 0;flex-wrap:wrap}.final-stats ion-badge{font-size:16px;padding:var(--tcg-spacing-sm) var(--tcg-spacing-md)}.game-complete ion-button{margin-top:var(--tcg-spacing-sm)}@media (max-width: 576px){.card-name{font-size:9px}.card-back-pattern{font-size:28px}.game-stats ion-badge{font-size:12px;padding:4px 8px}.matching-card{padding-top:105%}.card-grid{padding:2px}.card-grid ion-col{padding:2px}}@media (min-width: 768px){.matching-card{padding-top:108%}}@media (min-width: 1024px){.matching-card{padding-top:110%}.card-name{font-size:var(--tcg-font-size-medium)}}.dark .card-front{background:var(--tcg-background-secondary)}.dark .card-back{background:linear-gradient(135deg,var(--ion-color-primary-shade) 0%,var(--ion-color-secondary-shade) 100%)}.bingo-menu-content{--background: var(--ion-color-light)}.bingo-menu-container{max-width:1200px;margin:0 auto;padding:20px}.menu-header{text-align:center;margin-bottom:30px;padding:20px}.menu-header h1{font-size:2rem;font-weight:700;color:var(--ion-color-primary);margin-bottom:10px}.menu-header p{font-size:1.1rem;color:var(--ion-color-medium)}.mode-card{height:100%;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;border-radius:12px;overflow:hidden}.mode-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.traditional-card{border-top:4px solid var(--ion-color-primary)}.biomasters-card{border-top:4px solid var(--ion-color-success)}.card-icon-container{display:flex;justify-content:center;align-items:center;padding:30px 0 10px;background:linear-gradient(135deg,rgba(var(--ion-color-primary-rgb),.1),rgba(var(--ion-color-primary-rgb),.05))}.biomasters-card .card-icon-container{background:linear-gradient(135deg,rgba(var(--ion-color-success-rgb),.1),rgba(var(--ion-color-success-rgb),.05))}.mode-icon{font-size:80px;color:var(--ion-color-primary)}.biomasters-icon{color:var(--ion-color-success)}.mode-title{text-align:center;font-size:1.5rem;font-weight:700;color:var(--ion-color-dark)}.mode-description{margin-bottom:20px}.mode-description p{font-size:1rem;line-height:1.6;color:var(--ion-color-medium-shade);margin-bottom:15px}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:8px 0;font-size:.95rem;color:var(--ion-color-dark);display:flex;align-items:center}.feature-list li:before{content:"";display:inline-block;width:6px;height:6px;background:var(--ion-color-primary);border-radius:50%;margin-right:10px}.biomasters-card .feature-list li:before{background:var(--ion-color-success)}.play-button{margin-top:15px;font-weight:700;--border-radius: 8px}.info-section{margin-top:40px}.info-card{border-radius:12px}.info-step{text-align:center;padding:20px}.step-number{width:50px;height:50px;background:var(--ion-color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 15px}.info-step h3{font-size:1.2rem;font-weight:700;color:var(--ion-color-dark);margin-bottom:10px}.info-step p{font-size:.95rem;color:var(--ion-color-medium);line-height:1.5}@media (max-width: 768px){.menu-header h1{font-size:1.5rem}.menu-header p{font-size:1rem}.mode-icon{font-size:60px}.mode-title{font-size:1.3rem}.info-step{padding:15px 10px}.step-number{width:40px;height:40px;font-size:1.2rem}}@media (prefers-color-scheme: dark){.bingo-menu-content{--background: var(--ion-color-dark)}.mode-card{background:var(--ion-color-step-50)}.menu-header h1{color:var(--ion-color-primary-tint)}.menu-header p{color:var(--ion-color-medium-tint)}.mode-title{color:var(--ion-color-light)}.mode-description p{color:var(--ion-color-medium-tint)}.feature-list li{color:var(--ion-color-light-shade)}.info-step h3{color:var(--ion-color-light)}.info-step p{color:var(--ion-color-medium-tint)}}.traditional-bingo-content{--background: var(--ion-color-light)}.setup-screen h2{text-align:center;color:var(--ion-color-primary);margin-bottom:10px}.current-call-section{margin-bottom:20px}.current-call-card{margin-bottom:15px}.call-display{display:flex;flex-direction:column;align-items:center;padding:20px}.call-number{font-size:3rem;font-weight:700;color:var(--ion-color-primary);margin-bottom:15px}.call-name{font-size:1.3rem;font-weight:600;color:var(--ion-color-dark);margin-top:10px;text-align:center}.no-call{text-align:center;padding:40px 20px}.bingo-square{aspect-ratio:1;border:2px solid var(--ion-color-medium);border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;padding:8px}.bingo-square:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026;border-color:var(--ion-color-primary)}.bingo-square.marked{background:var(--ion-color-success-tint);border-color:var(--ion-color-success)}.bingo-square.free-space{background:linear-gradient(135deg,var(--ion-color-primary-tint),var(--ion-color-secondary-tint));border-color:var(--ion-color-primary)}.square-number{font-size:1.2rem;font-weight:700;color:var(--ion-color-primary);margin-bottom:5px}.square-organism{flex:1;display:flex;align-items:center;justify-content:center}.marked-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(var(--ion-color-success-rgb),.3);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--ion-color-success-contrast);font-weight:700}.free-space-content{display:flex;align-items:center;justify-content:center;height:100%}.free-text{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.final-stats{display:flex;gap:20px;justify-content:center;margin-bottom:30px}.stat-item{text-align:center;padding:15px;background:var(--ion-color-light);border-radius:8px;min-width:120px}.stat-label{font-size:.9rem;color:var(--ion-color-medium);margin-bottom:5px}.stat-value{font-size:2rem;font-weight:700;color:var(--ion-color-primary)}@media (max-width: 768px){.call-number{font-size:2rem}.call-name{font-size:1.1rem}.square-number{font-size:.9rem}.free-text{font-size:1rem}.marked-overlay{font-size:2rem}.trophy-icon{font-size:60px}.win-celebration h2{font-size:1.5rem}.final-stats{flex-direction:column;gap:10px}.stat-item{min-width:auto}}@media (prefers-color-scheme: dark){.traditional-bingo-content{--background: var(--ion-color-dark)}.bingo-square{background:var(--ion-color-step-100);border-color:var(--ion-color-step-300)}.bingo-square:hover{border-color:var(--ion-color-primary-tint)}.square-number{color:var(--ion-color-primary-tint)}.call-name{color:var(--ion-color-light)}.stat-item{background:var(--ion-color-step-100)}.stat-label{color:var(--ion-color-medium-tint)}.stat-value{color:var(--ion-color-primary-tint)}}.biomasters-bingo-content{--background: var(--ion-color-light)}.bingo-container{max-width:900px;margin:0 auto;padding:20px}.setup-screen{display:flex;justify-content:center;align-items:center;min-height:60vh}.setup-screen h2{text-align:center;color:var(--ion-color-success);margin-bottom:10px}.setup-screen p{text-align:center;color:var(--ion-color-medium);margin-bottom:20px}.difficulty-selector{margin:20px 0}.difficulty-selector ion-label{display:block;margin-bottom:10px;font-weight:700;color:var(--ion-color-dark)}.current-card-section{margin-bottom:20px}.current-card-card{margin-bottom:15px}.card-display{display:flex;flex-direction:column;align-items:center;padding:20px}.card-name{font-size:1.5rem;font-weight:600;color:var(--ion-color-dark);margin-top:15px;text-align:center}.card-hint{font-size:1rem;color:var(--ion-color-success);margin-top:10px;font-style:italic}.no-card{text-align:center;padding:40px 20px}.game-controls{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.game-controls ion-button{flex:1;max-width:200px}.bingo-board-section{margin-bottom:20px}.bingo-board{padding:0}.bingo-col{padding:4px}.bingo-square{aspect-ratio:1;border:2px solid var(--ion-color-medium);border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;padding:10px}.bingo-square:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026;border-color:var(--ion-color-success)}.bingo-square.marked{background:linear-gradient(135deg,rgba(var(--ion-color-success-rgb),.2),rgba(var(--ion-color-success-rgb),.1));border-color:var(--ion-color-success)}.bingo-square.free-space{background:linear-gradient(135deg,var(--ion-color-warning-tint),var(--ion-color-warning-shade));border-color:var(--ion-color-warning)}.category-emoji{font-size:2rem;margin-bottom:5px}.category-text{font-size:.85rem;font-weight:600;color:var(--ion-color-dark);text-align:center;line-height:1.2}.matched-card-mini{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(var(--ion-color-success-rgb),.9);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .3s ease}.check-icon{font-size:2rem;color:#fff;margin-top:5px}.free-space-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.free-text{font-size:1.2rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin-top:5px}.game-stats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.game-stats ion-badge{font-size:1rem;padding:8px 16px}.complete-screen{display:flex;justify-content:center;align-items:center;min-height:60vh}.win-celebration{text-align:center;padding:20px}.trophy-icon{font-size:80px;color:var(--ion-color-warning);margin-bottom:20px}.win-celebration h2{font-size:2rem;color:var(--ion-color-success);margin-bottom:10px}.win-celebration p{font-size:1.2rem;color:var(--ion-color-medium);margin-bottom:30px}.final-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:30px}.stat-item{text-align:center;padding:15px;background:var(--ion-color-light);border-radius:8px}.stat-label{font-size:.85rem;color:var(--ion-color-medium);margin-bottom:5px}.stat-value{font-size:1.8rem;font-weight:700;color:var(--ion-color-success)}@media (max-width: 768px){.card-name{font-size:1.2rem}.card-hint{font-size:.9rem}.category-emoji{font-size:1.5rem}.category-text{font-size:.7rem}.free-text{font-size:1rem}.trophy-icon{font-size:60px}.win-celebration h2{font-size:1.5rem}.final-stats{grid-template-columns:1fr}.stat-value{font-size:1.5rem}}@media (prefers-color-scheme: dark){.biomasters-bingo-content{--background: var(--ion-color-dark)}.bingo-square{background:var(--ion-color-step-100);border-color:var(--ion-color-step-300)}.bingo-square:hover{border-color:var(--ion-color-success-tint)}.category-text,.card-name{color:var(--ion-color-light)}.card-hint{color:var(--ion-color-success-tint)}.stat-item{background:var(--ion-color-step-100)}.stat-label{color:var(--ion-color-medium-tint)}.stat-value{color:var(--ion-color-success-tint)}}.challenge-level-card{transition:transform .2s ease,box-shadow .2s ease}.challenge-level-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.challenge-level-card.completed{border:2px solid var(--ion-color-success);background:linear-gradient(135deg,var(--ion-color-success-tint) 0%,transparent 100%)}.challenge-level-card.locked{opacity:.6;cursor:not-allowed}.challenge-progress-bar{height:8px;border-radius:4px;background:var(--ion-color-light);overflow:hidden}.challenge-progress-fill{height:100%;background:linear-gradient(90deg,var(--ion-color-primary),var(--ion-color-secondary));transition:width .3s ease}.challenge-question-card{border-radius:12px;box-shadow:0 4px 20px #0000001a}.challenge-option-item{border-radius:8px;margin:4px 0;transition:all .2s ease}.challenge-option-item:hover{transform:translate(4px)}.challenge-option-item.selected{background:var(--ion-color-primary-tint);border:2px solid var(--ion-color-primary)}.challenge-option-item.correct{background:var(--ion-color-success-tint);border:2px solid var(--ion-color-success)}.challenge-option-item.incorrect{background:var(--ion-color-danger-tint);border:2px solid var(--ion-color-danger)}.challenge-explanation{background:var(--ion-color-light);padding:16px;border-radius:8px;margin-top:16px;border-left:4px solid var(--ion-color-primary)}.challenge-reward-badge{font-size:12px;padding:4px 8px;border-radius:12px;background:var(--ion-color-warning-tint);color:var(--ion-color-warning-contrast)}.challenge-difficulty-easy{color:var(--ion-color-success)}.challenge-difficulty-medium{color:var(--ion-color-warning)}.challenge-difficulty-hard{color:var(--ion-color-danger)}.challenge-difficulty-expert{color:var(--ion-color-dark)}.challenge-completion-animation{animation:celebration .6s ease-in-out}@keyframes celebration{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.challenge-level-icon{font-size:24px;margin-right:12px}.challenge-level-icon.completed{color:var(--ion-color-success)}.challenge-level-icon.unlocked{color:var(--ion-color-primary)}.challenge-level-icon.locked{color:var(--ion-color-medium)}.challenge-header-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.challenge-stats-item{text-align:center;flex:1}.challenge-stats-value{font-size:24px;font-weight:700;color:var(--ion-color-primary)}.challenge-stats-label{font-size:12px;color:var(--ion-color-medium);text-transform:uppercase;letter-spacing:.5px}.challenge-final-reward{background:linear-gradient(135deg,var(--ion-color-warning),var(--ion-color-secondary));color:#fff;padding:16px;border-radius:12px;text-align:center;margin:16px 0}.challenge-final-reward h3{margin:0 0 8px;font-size:18px}.challenge-final-reward p{margin:0;opacity:.9;font-size:14px}@media (max-width: 768px){.challenge-level-card{margin:8px 0}.challenge-header-stats{flex-direction:column;gap:8px}.challenge-stats-item{flex:none;width:100%}}.answer-options-card,.answer-options-grid{padding:0;margin:0}.answer-options-col{padding:0;margin:5px 0}.answer-options-card{margin:0;transition:all .3s ease;cursor:pointer;border:1px solid var(--tcg-accent)}.answer-options-card ion-card-content{padding:0!important;min-height:auto}.answer-options-card .answer-organism{min-width:60px!important;height:60px!important}.answer-options-card h3{font-size:14px!important;margin:0 0 2px!important;color:inherit!important}.answer-options-card ion-text{font-size:12px!important}.answer-options-card.selected{border:2px solid var(--ion-color-primary);box-shadow:0 4px 12px rgba(var(--ion-color-primary-rgb),.3)}.answer-options-card.correct{border:2px solid var(--ion-color-success);box-shadow:0 4px 12px rgba(var(--ion-color-success-rgb),.3);background:rgba(var(--ion-color-success-rgb),.05)}.answer-options-card.incorrect{border:2px solid var(--ion-color-danger);box-shadow:0 4px 12px rgba(var(--ion-color-danger-rgb),.3);background:rgba(var(--ion-color-danger-rgb),.05)}.answer-options-card.neutral{opacity:.7}.answer-options-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.answer-organism{border-radius:8px;overflow:hidden;background:#00000005;border:1px solid rgba(0,0,0,.1)}.timer-badge{animation:pulse 1s infinite}.timer-badge.danger{animation:pulse-danger .5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes pulse-danger{0%{opacity:1;background-color:var(--ion-color-danger)}50%{opacity:.8;background-color:var(--ion-color-danger-shade)}to{opacity:1;background-color:var(--ion-color-danger)}}@media (prefers-color-scheme: dark){.challenge-explanation{background:var(--ion-color-step-100)}.challenge-final-reward{background:linear-gradient(135deg,var(--ion-color-warning-shade),var(--ion-color-secondary-shade))}.answer-organism{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}}.card-data-grid{width:100%;display:flex;flex-direction:column;gap:1rem}.card-data-grid ion-button{--color: white}.card-data-grid ion-button[color=success]{--color: white}.card-data-grid ion-button[color=danger]{--color: white}.card-data-grid ion-button[color=medium]{--color: white}.grid-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--ion-color-light);border-radius:8px;flex-wrap:wrap;gap:.5rem}.toolbar-left,.toolbar-right{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.grid-container{overflow-x:scroll!important;overflow-y:scroll!important;max-height:600px;border:1px solid var(--ion-color-medium);border-radius:8px;background:var(--ion-background-color);position:relative;display:block}.data-grid-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.875rem;table-layout:auto;display:table}.data-grid-table thead{position:sticky;top:0;background:var(--ion-color-light);z-index:10}.data-grid-table th{padding:.75rem .5rem;text-align:left;font-weight:600;border-bottom:2px solid var(--ion-color-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;min-width:100px;resize:horizontal;overflow:hidden}.data-grid-table th:hover{background:var(--ion-color-light-shade)}.data-grid-table th:after{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}.data-grid-table th:hover:after{background:var(--ion-color-primary)}.data-grid-table td{padding:.5rem;border-bottom:1px solid var(--ion-color-light);vertical-align:middle;white-space:nowrap;min-width:100px}.data-grid-table tbody tr:hover{background:var(--ion-color-light-tint)}.data-grid-table ion-input{--padding-start: .5rem;--padding-end: .5rem;font-size:.875rem;min-width:120px}.data-grid-table ion-select{--padding-start: .5rem;--padding-end: .5rem;font-size:.875rem;min-width:120px;max-width:200px}.checkbox-col{width:40px;text-align:center}.row-new{background:rgba(var(--ion-color-success-rgb),.1)}.row-modified{background:rgba(var(--ion-color-warning-rgb),.1)}.row-selected{background:rgba(var(--ion-color-primary-rgb),.1)}.row-new.row-selected{background:rgba(var(--ion-color-success-rgb),.2)}.row-modified.row-selected{background:rgba(var(--ion-color-warning-rgb),.2)}.grid-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:.5rem;background:var(--ion-color-light);border-radius:8px}.page-info{font-size:.875rem;color:var(--ion-color-medium-shade)}@media (max-width: 768px){.grid-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{justify-content:center}.data-grid-table{font-size:.75rem}.data-grid-table th,.data-grid-table td{padding:.5rem .25rem}.data-grid-table ion-input{min-width:100px;font-size:.75rem}}.connectivity-indicator{display:flex;align-items:center;gap:8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.connectivity-indicator--small{font-size:.875rem}.connectivity-indicator--small .connectivity-indicator__icon,.connectivity-indicator--medium{font-size:1rem}.connectivity-indicator--medium .connectivity-indicator__icon{font-size:1.25rem}.connectivity-indicator--large{font-size:1.125rem}.connectivity-indicator--large .connectivity-indicator__icon{font-size:1.5rem}.connectivity-indicator--header{padding:4px 8px;border-radius:12px;background:rgba(var(--ion-color-light-rgb),.1)}.connectivity-indicator--footer{padding:8px 12px;border-radius:8px;background:rgba(var(--ion-color-dark-rgb),.05)}.connectivity-indicator--floating{position:fixed;top:20px;right:20px;padding:8px 12px;border-radius:20px;background:rgba(var(--ion-background-color-rgb),.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a;z-index:1000}.connectivity-indicator--syncing .connectivity-indicator__icon{animation:pulse 1.5s ease-in-out infinite}.connectivity-indicator--error{cursor:pointer}.connectivity-indicator--error:hover{opacity:.8}.connectivity-indicator--error:active{transform:scale(.95)}.connectivity-indicator__icon{position:relative;display:flex;align-items:center;justify-content:center}.connectivity-indicator__badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;font-size:.75rem;line-height:1;padding:2px 4px;border-radius:8px}.connectivity-indicator__text{display:flex;flex-direction:column;gap:2px}.connectivity-indicator__status{font-weight:500;color:var(--ion-color-dark)}.connectivity-indicator__guest{font-size:.75em;color:var(--ion-color-medium);font-weight:400}.sync-progress{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;background:rgba(var(--ion-color-light-rgb),.5);border:1px solid rgba(var(--ion-color-medium-rgb),.2)}.sync-progress__header{display:flex;align-items:center;justify-content:space-between}.sync-progress__spinner{display:flex;align-items:center}.sync-progress__pending,.sync-progress__error,.sync-progress__success{display:flex;align-items:center;gap:8px;font-size:.875rem}.sync-progress__pending{color:var(--ion-color-warning)}.sync-progress__error{color:var(--ion-color-danger)}.sync-progress__success{color:var(--ion-color-success)}.sync-progress__retry{margin-left:auto;padding:4px 8px;border:none;border-radius:4px;background:var(--ion-color-danger);color:#fff;font-size:.75rem;cursor:pointer;transition:opacity .2s ease}.sync-progress__retry:hover{opacity:.8}.sync-progress__retry:active{transform:scale(.95)}.offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:var(--ion-color-warning);color:var(--ion-color-warning-contrast);font-size:.875rem;font-weight:500;text-align:center;position:sticky;top:0;z-index:999;animation:slideDown .3s ease-out}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.connectivity-indicator--floating{top:10px;right:10px;padding:6px 10px}.sync-progress{padding:10px}.offline-banner{padding:6px 12px;font-size:.8rem}}.connectivity-indicator[role=button]:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}.sync-progress__retry:focus{outline:2px solid var(--ion-color-light);outline-offset:2px}@media (prefers-contrast: high){.connectivity-indicator--header,.connectivity-indicator--footer,.connectivity-indicator--floating{border:2px solid var(--ion-color-medium)}.sync-progress{border-width:2px}.offline-banner{border-top:2px solid var(--ion-color-warning-shade);border-bottom:2px solid var(--ion-color-warning-shade)}}@media (prefers-reduced-motion: reduce){.connectivity-indicator,.connectivity-indicator__icon,.sync-progress__retry{transition:none}.connectivity-indicator--syncing .connectivity-indicator__icon,.offline-banner{animation:none}}.conflict-resolution-content{--padding-start: 16px;--padding-end: 16px;--padding-top: 16px;--padding-bottom: 16px}.conflict-resolution-header{display:flex;align-items:flex-start;gap:16px;padding:20px;background:rgba(var(--ion-color-warning-rgb),.1);border-radius:12px;margin-bottom:20px}.conflict-resolution-header ion-icon{font-size:2rem;margin-top:4px;flex-shrink:0}.conflict-resolution-header h2{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:var(--ion-color-dark)}.conflict-resolution-header p{margin:0;color:var(--ion-color-medium);line-height:1.5}.conflict-section{margin-bottom:20px}.conflict-section ion-card-title{font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.manual-conflict{border:1px solid rgba(var(--ion-color-medium-rgb),.3);border-radius:8px;padding:16px;margin-bottom:16px;background:rgba(var(--ion-color-light-rgb),.5)}.manual-conflict:last-child{margin-bottom:0}.conflict-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(var(--ion-color-medium-rgb),.2)}.conflict-header ion-icon{font-size:1.5rem;margin-top:2px;flex-shrink:0}.conflict-info{flex:1}.conflict-info h3{margin:0 0 4px;font-size:1rem;font-weight:500;color:var(--ion-color-dark);line-height:1.4}.conflict-info p{margin:0;font-size:.875rem}.conflict-actions{margin-top:24px;display:flex;flex-direction:column;gap:12px}.conflict-help{margin-top:24px;padding:16px;background:rgba(var(--ion-color-light-rgb),.3);border-radius:8px;border-left:4px solid var(--ion-color-primary)}.conflict-help p{margin:0 0 12px;font-size:.875rem;line-height:1.5}.conflict-help p:last-child{margin-bottom:0}.conflict-help strong{color:var(--ion-color-dark);font-weight:600}.manual-conflict ion-radio-group ion-item{--padding-start: 0;--inner-padding-end: 0;margin-bottom:8px;border-radius:6px;transition:background-color .2s ease}.manual-conflict ion-radio-group ion-item:hover{background:rgba(var(--ion-color-primary-rgb),.05)}.manual-conflict ion-radio-group ion-item ion-label h3{margin:0 0 4px;font-size:.95rem;font-weight:500;color:var(--ion-color-dark)}.manual-conflict ion-radio-group ion-item ion-label p{margin:0;font-size:.8rem;color:var(--ion-color-medium);line-height:1.3}.manual-conflict ion-radio-group ion-item ion-icon{font-size:1.25rem;margin-right:12px}ion-badge{font-size:.75rem;font-weight:500;padding:4px 8px;border-radius:12px}.conflict-section ion-list ion-item{--padding-start: 0;--inner-padding-end: 0;margin-bottom:8px}.conflict-section ion-list ion-item ion-label h3{margin:0 0 4px;font-size:.95rem;font-weight:500;color:var(--ion-color-dark);line-height:1.4}.conflict-section ion-list ion-item ion-label p{margin:0;font-size:.8rem;color:var(--ion-color-medium);text-transform:capitalize}@media (max-width: 768px){.conflict-resolution-content{--padding-start: 12px;--padding-end: 12px}.conflict-resolution-header{padding:16px;flex-direction:column;text-align:center}.conflict-resolution-header ion-icon{align-self:center;margin-top:0;margin-bottom:8px}.conflict-header{flex-direction:column;align-items:center;text-align:center}.conflict-header ion-icon{margin-top:0;margin-bottom:8px}.manual-conflict,.conflict-help{padding:12px}}@media (prefers-contrast: high){.manual-conflict{border-width:2px}.conflict-header{border-bottom-width:2px}.conflict-help{border-left-width:6px}}@media (prefers-reduced-motion: reduce){.manual-conflict ion-radio-group ion-item{transition:none}}.conflict-actions ion-button[disabled]{opacity:.6;cursor:not-allowed}.manual-conflict ion-radio-group ion-item:focus-within{outline:2px solid var(--ion-color-primary);outline-offset:2px}.conflict-actions ion-button:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}.cascade-impact-card{margin:12px 0 12px 40px;border-left:4px solid var(--ion-color-danger)}.cascade-impact-card ion-card-title{font-size:1rem;color:var(--ion-color-danger)}.cascade-impact-card .impact-section{margin-top:12px;padding-left:8px}.cascade-impact-card .impact-section p{margin:0 0 8px;font-weight:600;color:var(--ion-color-danger)}.cascade-impact-card .impact-section ul{margin:0;padding-left:20px;list-style-type:disc}.cascade-impact-card .impact-section li{margin-bottom:4px;font-size:.875rem;line-height:1.4}.cascade-impact-card .impact-section li small{display:block;color:var(--ion-color-medium);font-size:.75rem;margin-top:2px}@media (prefers-color-scheme: dark){.cascade-impact-card .impact-section li small{color:var(--ion-color-light-shade)}}.notification-container{position:fixed;z-index:9999;pointer-events:none;width:100%;max-width:400px;padding:16px}.notification-container.notification-top{top:60px;right:0}.notification-container.notification-bottom{bottom:60px;right:0}.notification-container.notification-floating{top:50%;left:50%;transform:translate(-50%,-50%);max-width:320px}.notification-card{pointer-events:auto;margin-bottom:8px;border-radius:12px;box-shadow:0 4px 16px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s ease-in-out;animation:slideInRight .3s ease-out}.notification-card:hover{transform:translate(-4px);box-shadow:0 6px 20px #0003}.notification-card.notification-matchmaking{border-left:4px solid var(--ion-color-primary)}.notification-card.notification-quest{border-left:4px solid var(--ion-color-secondary)}.notification-card.notification-rating{border-left:4px solid var(--ion-color-warning)}.notification-card.notification-achievement{border-left:4px solid var(--ion-color-success)}.notification-card.notification-system{border-left:4px solid var(--ion-color-medium)}.notification-content{display:flex;align-items:flex-start;gap:12px;padding:4px}.notification-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ion-color-light)}.notification-text{flex:1;min-width:0}.notification-title{font-weight:600;font-size:14px;color:var(--ion-color-dark);margin-bottom:2px;line-height:1.2}.notification-message{font-size:13px;color:var(--ion-color-medium);line-height:1.3;margin-bottom:4px}.notification-time{font-size:11px;color:var(--ion-color-light-shade);font-weight:500}.notification-actions{flex-shrink:0}.notification-center-toggle{position:fixed;top:16px;right:16px;z-index:9998}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;font-size:10px;font-weight:700}.notification-center-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:10000;display:flex;align-items:flex-start;justify-content:flex-end;padding:16px;animation:fadeIn .2s ease-out}.notification-center{background:var(--ion-background-color);border-radius:12px;box-shadow:0 8px 32px #0000004d;width:100%;max-width:400px;max-height:80vh;overflow:hidden;animation:slideInRight .3s ease-out}.notification-center-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ion-color-light);background:var(--ion-color-light-tint)}.notification-center-header h3{margin:0;font-size:18px;font-weight:600;color:var(--ion-color-dark)}.notification-center-actions{display:flex;gap:8px}.notification-center-content{max-height:calc(80vh - 80px);overflow-y:auto;padding:8px 0}.notification-center-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--ion-color-medium)}.notification-center-empty ion-icon{margin-bottom:16px}.notification-center-empty p{margin:0;font-size:16px}.notification-center-item{display:flex;align-items:flex-start;gap:12px;padding:12px 20px;border-bottom:1px solid var(--ion-color-light);transition:background-color .2s ease}.notification-center-item:hover{background:var(--ion-color-light-tint)}.notification-center-item:last-child{border-bottom:none}.notification-center-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ion-color-light)}.notification-center-text{flex:1;min-width:0}.notification-center-title{font-weight:600;font-size:14px;color:var(--ion-color-dark);margin-bottom:2px;line-height:1.2}.notification-center-message{font-size:13px;color:var(--ion-color-medium);line-height:1.3;margin-bottom:4px}.notification-center-time{font-size:11px;color:var(--ion-color-light-shade);font-weight:500}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.notification-container{max-width:calc(100% - 32px);padding:16px}.notification-center{max-width:calc(100% - 32px)}.notification-center-toggle{top:12px;right:12px}}.notification-card.notification-success{background:var(--ion-color-success-tint)}.notification-card.notification-warning{background:var(--ion-color-warning-tint)}.notification-card.notification-danger{background:var(--ion-color-danger-tint)}.notification-card.persistent{border:2px solid var(--ion-color-primary);box-shadow:0 0 0 2px rgba(var(--ion-color-primary-rgb),.2)}.notification-card.important{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%{box-shadow:0 4px 16px #00000026}50%{box-shadow:0 4px 20px rgba(var(--ion-color-primary-rgb),.3)}to{box-shadow:0 4px 16px #00000026}}:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left!important}}@media (min-width: 576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left!important}}}@media (min-width: 768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left!important}}}@media (min-width: 992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left!important}}}@media (min-width: 1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left!important}}}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media (min-width: 576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media (min-width: 768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media (min-width: 992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media (min-width: 1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}@media (min-width: 576px){.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}}@media (min-width: 768px){.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}}@media (min-width: 992px){.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}}@media (min-width: 1200px){.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}}.ion-align-content-start{align-content:flex-start!important}.ion-align-content-end{align-content:flex-end!important}.ion-align-content-center{align-content:center!important}.ion-align-content-between{align-content:space-between!important}.ion-align-content-around{align-content:space-around!important}.ion-align-content-stretch{align-content:stretch!important}@media (min-width: 576px){.ion-align-content-sm-start{align-content:flex-start!important}.ion-align-content-sm-end{align-content:flex-end!important}.ion-align-content-sm-center{align-content:center!important}.ion-align-content-sm-between{align-content:space-between!important}.ion-align-content-sm-around{align-content:space-around!important}.ion-align-content-sm-stretch{align-content:stretch!important}}@media (min-width: 768px){.ion-align-content-md-start{align-content:flex-start!important}.ion-align-content-md-end{align-content:flex-end!important}.ion-align-content-md-center{align-content:center!important}.ion-align-content-md-between{align-content:space-between!important}.ion-align-content-md-around{align-content:space-around!important}.ion-align-content-md-stretch{align-content:stretch!important}}@media (min-width: 992px){.ion-align-content-lg-start{align-content:flex-start!important}.ion-align-content-lg-end{align-content:flex-end!important}.ion-align-content-lg-center{align-content:center!important}.ion-align-content-lg-between{align-content:space-between!important}.ion-align-content-lg-around{align-content:space-around!important}.ion-align-content-lg-stretch{align-content:stretch!important}}@media (min-width: 1200px){.ion-align-content-xl-start{align-content:flex-start!important}.ion-align-content-xl-end{align-content:flex-end!important}.ion-align-content-xl-center{align-content:center!important}.ion-align-content-xl-between{align-content:space-between!important}.ion-align-content-xl-around{align-content:space-around!important}.ion-align-content-xl-stretch{align-content:stretch!important}}.ion-align-items-start{align-items:start!important}.ion-align-items-end{align-items:end!important}.ion-align-items-center{align-items:center!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}@media (min-width: 576px){.ion-align-items-sm-start{align-items:start!important}.ion-align-items-sm-end{align-items:end!important}.ion-align-items-sm-center{align-items:center!important}.ion-align-items-sm-stretch{align-items:stretch!important}.ion-align-items-sm-baseline{align-items:baseline!important}}@media (min-width: 768px){.ion-align-items-md-start{align-items:start!important}.ion-align-items-md-end{align-items:end!important}.ion-align-items-md-center{align-items:center!important}.ion-align-items-md-stretch{align-items:stretch!important}.ion-align-items-md-baseline{align-items:baseline!important}}@media (min-width: 992px){.ion-align-items-lg-start{align-items:start!important}.ion-align-items-lg-end{align-items:end!important}.ion-align-items-lg-center{align-items:center!important}.ion-align-items-lg-stretch{align-items:stretch!important}.ion-align-items-lg-baseline{align-items:baseline!important}}@media (min-width: 1200px){.ion-align-items-xl-start{align-items:start!important}.ion-align-items-xl-end{align-items:end!important}.ion-align-items-xl-center{align-items:center!important}.ion-align-items-xl-stretch{align-items:stretch!important}.ion-align-items-xl-baseline{align-items:baseline!important}}.ion-align-self-start{align-self:start!important}.ion-align-self-end{align-self:end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}@media (min-width: 576px){.ion-align-self-sm-start{align-self:start!important}.ion-align-self-sm-end{align-self:end!important}.ion-align-self-sm-center{align-self:center!important}.ion-align-self-sm-stretch{align-self:stretch!important}.ion-align-self-sm-baseline{align-self:baseline!important}.ion-align-self-sm-auto{align-self:auto!important}}@media (min-width: 768px){.ion-align-self-md-start{align-self:start!important}.ion-align-self-md-end{align-self:end!important}.ion-align-self-md-center{align-self:center!important}.ion-align-self-md-stretch{align-self:stretch!important}.ion-align-self-md-baseline{align-self:baseline!important}.ion-align-self-md-auto{align-self:auto!important}}@media (min-width: 992px){.ion-align-self-lg-start{align-self:start!important}.ion-align-self-lg-end{align-self:end!important}.ion-align-self-lg-center{align-self:center!important}.ion-align-self-lg-stretch{align-self:stretch!important}.ion-align-self-lg-baseline{align-self:baseline!important}.ion-align-self-lg-auto{align-self:auto!important}}@media (min-width: 1200px){.ion-align-self-xl-start{align-self:start!important}.ion-align-self-xl-end{align-self:end!important}.ion-align-self-xl-center{align-self:center!important}.ion-align-self-xl-stretch{align-self:stretch!important}.ion-align-self-xl-baseline{align-self:baseline!important}.ion-align-self-xl-auto{align-self:auto!important}}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-evenly{justify-content:space-evenly!important}@media (min-width: 576px){.ion-justify-content-sm-start{justify-content:flex-start!important}.ion-justify-content-sm-end{justify-content:flex-end!important}.ion-justify-content-sm-center{justify-content:center!important}.ion-justify-content-sm-between{justify-content:space-between!important}.ion-justify-content-sm-around{justify-content:space-around!important}.ion-justify-content-sm-evenly{justify-content:space-evenly!important}}@media (min-width: 768px){.ion-justify-content-md-start{justify-content:flex-start!important}.ion-justify-content-md-end{justify-content:flex-end!important}.ion-justify-content-md-center{justify-content:center!important}.ion-justify-content-md-between{justify-content:space-between!important}.ion-justify-content-md-around{justify-content:space-around!important}.ion-justify-content-md-evenly{justify-content:space-evenly!important}}@media (min-width: 992px){.ion-justify-content-lg-start{justify-content:flex-start!important}.ion-justify-content-lg-end{justify-content:flex-end!important}.ion-justify-content-lg-center{justify-content:center!important}.ion-justify-content-lg-between{justify-content:space-between!important}.ion-justify-content-lg-around{justify-content:space-around!important}.ion-justify-content-lg-evenly{justify-content:space-evenly!important}}@media (min-width: 1200px){.ion-justify-content-xl-start{justify-content:flex-start!important}.ion-justify-content-xl-end{justify-content:flex-end!important}.ion-justify-content-xl-center{justify-content:center!important}.ion-justify-content-xl-between{justify-content:space-between!important}.ion-justify-content-xl-around{justify-content:space-around!important}.ion-justify-content-xl-evenly{justify-content:space-evenly!important}}.ion-flex-row{flex-direction:row!important}.ion-flex-row-reverse{flex-direction:row-reverse!important}.ion-flex-column{flex-direction:column!important}.ion-flex-column-reverse{flex-direction:column-reverse!important}@media (min-width: 576px){.ion-flex-sm-row{flex-direction:row!important}.ion-flex-sm-row-reverse{flex-direction:row-reverse!important}.ion-flex-sm-column{flex-direction:column!important}.ion-flex-sm-column-reverse{flex-direction:column-reverse!important}}@media (min-width: 768px){.ion-flex-md-row{flex-direction:row!important}.ion-flex-md-row-reverse{flex-direction:row-reverse!important}.ion-flex-md-column{flex-direction:column!important}.ion-flex-md-column-reverse{flex-direction:column-reverse!important}}@media (min-width: 992px){.ion-flex-lg-row{flex-direction:row!important}.ion-flex-lg-row-reverse{flex-direction:row-reverse!important}.ion-flex-lg-column{flex-direction:column!important}.ion-flex-lg-column-reverse{flex-direction:column-reverse!important}}@media (min-width: 1200px){.ion-flex-xl-row{flex-direction:row!important}.ion-flex-xl-row-reverse{flex-direction:row-reverse!important}.ion-flex-xl-column{flex-direction:column!important}.ion-flex-xl-column-reverse{flex-direction:column-reverse!important}}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-flex-wrap{flex-wrap:wrap!important}.ion-flex-nowrap{flex-wrap:nowrap!important}.ion-flex-wrap-reverse{flex-wrap:wrap-reverse!important}@media (min-width: 576px){.ion-flex-sm-wrap{flex-wrap:wrap!important}.ion-flex-sm-nowrap{flex-wrap:nowrap!important}.ion-flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}}@media (min-width: 768px){.ion-flex-md-wrap{flex-wrap:wrap!important}.ion-flex-md-nowrap{flex-wrap:nowrap!important}.ion-flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}}@media (min-width: 992px){.ion-flex-lg-wrap{flex-wrap:wrap!important}.ion-flex-lg-nowrap{flex-wrap:nowrap!important}.ion-flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}}@media (min-width: 1200px){.ion-flex-xl-wrap{flex-wrap:wrap!important}.ion-flex-xl-nowrap{flex-wrap:nowrap!important}.ion-flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}}.ion-flex-1{flex:1!important}.ion-flex-auto{flex:auto!important}.ion-flex-initial{flex:initial!important}.ion-flex-none{flex:none!important}@media (min-width: 576px){.ion-flex-sm-1{flex:1!important}.ion-flex-sm-auto{flex:auto!important}.ion-flex-sm-initial{flex:initial!important}.ion-flex-sm-none{flex:none!important}}@media (min-width: 768px){.ion-flex-md-1{flex:1!important}.ion-flex-md-auto{flex:auto!important}.ion-flex-md-initial{flex:initial!important}.ion-flex-md-none{flex:none!important}}@media (min-width: 992px){.ion-flex-lg-1{flex:1!important}.ion-flex-lg-auto{flex:auto!important}.ion-flex-lg-initial{flex:initial!important}.ion-flex-lg-none{flex:none!important}}@media (min-width: 1200px){.ion-flex-xl-1{flex:1!important}.ion-flex-xl-auto{flex:auto!important}.ion-flex-xl-initial{flex:initial!important}.ion-flex-xl-none{flex:none!important}}.ion-flex-grow-0{flex-grow:0!important}.ion-flex-grow-1{flex-grow:1!important}.ion-flex-shrink-0{flex-shrink:0!important}.ion-flex-shrink-1{flex-shrink:1!important}@media (min-width: 576px){.ion-flex-sm-grow-0{flex-grow:0!important}.ion-flex-sm-grow-1{flex-grow:1!important}.ion-flex-sm-shrink-0{flex-shrink:0!important}.ion-flex-sm-shrink-1{flex-shrink:1!important}}@media (min-width: 768px){.ion-flex-md-grow-0{flex-grow:0!important}.ion-flex-md-grow-1{flex-grow:1!important}.ion-flex-md-shrink-0{flex-shrink:0!important}.ion-flex-md-shrink-1{flex-shrink:1!important}}@media (min-width: 992px){.ion-flex-lg-grow-0{flex-grow:0!important}.ion-flex-lg-grow-1{flex-grow:1!important}.ion-flex-lg-shrink-0{flex-shrink:0!important}.ion-flex-lg-shrink-1{flex-shrink:1!important}}@media (min-width: 1200px){.ion-flex-xl-grow-0{flex-grow:0!important}.ion-flex-xl-grow-1{flex-grow:1!important}.ion-flex-xl-shrink-0{flex-shrink:0!important}.ion-flex-xl-shrink-1{flex-shrink:1!important}}.ion-order-first{order:-1!important}.ion-order-0{order:0!important}.ion-order-1{order:1!important}.ion-order-2{order:2!important}.ion-order-3{order:3!important}.ion-order-4{order:4!important}.ion-order-5{order:5!important}.ion-order-6{order:6!important}.ion-order-7{order:7!important}.ion-order-8{order:8!important}.ion-order-9{order:9!important}.ion-order-10{order:10!important}.ion-order-11{order:11!important}.ion-order-12{order:12!important}.ion-order-last{order:13!important}@media (min-width: 576px){.ion-order-sm-first{order:-1!important}.ion-order-sm-0{order:0!important}.ion-order-sm-1{order:1!important}.ion-order-sm-2{order:2!important}.ion-order-sm-3{order:3!important}.ion-order-sm-4{order:4!important}.ion-order-sm-5{order:5!important}.ion-order-sm-6{order:6!important}.ion-order-sm-7{order:7!important}.ion-order-sm-8{order:8!important}.ion-order-sm-9{order:9!important}.ion-order-sm-10{order:10!important}.ion-order-sm-11{order:11!important}.ion-order-sm-12{order:12!important}.ion-order-sm-last{order:13!important}}@media (min-width: 768px){.ion-order-md-first{order:-1!important}.ion-order-md-0{order:0!important}.ion-order-md-1{order:1!important}.ion-order-md-2{order:2!important}.ion-order-md-3{order:3!important}.ion-order-md-4{order:4!important}.ion-order-md-5{order:5!important}.ion-order-md-6{order:6!important}.ion-order-md-7{order:7!important}.ion-order-md-8{order:8!important}.ion-order-md-9{order:9!important}.ion-order-md-10{order:10!important}.ion-order-md-11{order:11!important}.ion-order-md-12{order:12!important}.ion-order-md-last{order:13!important}}@media (min-width: 992px){.ion-order-lg-first{order:-1!important}.ion-order-lg-0{order:0!important}.ion-order-lg-1{order:1!important}.ion-order-lg-2{order:2!important}.ion-order-lg-3{order:3!important}.ion-order-lg-4{order:4!important}.ion-order-lg-5{order:5!important}.ion-order-lg-6{order:6!important}.ion-order-lg-7{order:7!important}.ion-order-lg-8{order:8!important}.ion-order-lg-9{order:9!important}.ion-order-lg-10{order:10!important}.ion-order-lg-11{order:11!important}.ion-order-lg-12{order:12!important}.ion-order-lg-last{order:13!important}}@media (min-width: 1200px){.ion-order-xl-first{order:-1!important}.ion-order-xl-0{order:0!important}.ion-order-xl-1{order:1!important}.ion-order-xl-2{order:2!important}.ion-order-xl-3{order:3!important}.ion-order-xl-4{order:4!important}.ion-order-xl-5{order:5!important}.ion-order-xl-6{order:6!important}.ion-order-xl-7{order:7!important}.ion-order-xl-8{order:8!important}.ion-order-xl-9{order:9!important}.ion-order-xl-10{order:10!important}.ion-order-xl-11{order:11!important}.ion-order-xl-12{order:12!important}.ion-order-xl-last{order:13!important}}.ion-hide,.ion-hide-up,.ion-hide-down{display:none!important}@media (min-width: 576px){.ion-hide-sm-up{display:none!important}}@media (max-width: 575.98px){.ion-hide-sm-down{display:none!important}}@media (min-width: 768px){.ion-hide-md-up{display:none!important}}@media (max-width: 767.98px){.ion-hide-md-down{display:none!important}}@media (min-width: 992px){.ion-hide-lg-up{display:none!important}}@media (max-width: 991.98px){.ion-hide-lg-down{display:none!important}}@media (min-width: 1200px){.ion-hide-xl-up{display:none!important}}@media (max-width: 1199.98px){.ion-hide-xl-down{display:none!important}}.ion-display-none{display:none!important}@media (min-width: 576px){.ion-display-sm-none{display:none!important}}@media (min-width: 768px){.ion-display-md-none{display:none!important}}@media (min-width: 992px){.ion-display-lg-none{display:none!important}}@media (min-width: 1200px){.ion-display-xl-none{display:none!important}}.ion-display-inline{display:inline!important}@media (min-width: 576px){.ion-display-sm-inline{display:inline!important}}@media (min-width: 768px){.ion-display-md-inline{display:inline!important}}@media (min-width: 992px){.ion-display-lg-inline{display:inline!important}}@media (min-width: 1200px){.ion-display-xl-inline{display:inline!important}}.ion-display-inline-block{display:inline-block!important}@media (min-width: 576px){.ion-display-sm-inline-block{display:inline-block!important}}@media (min-width: 768px){.ion-display-md-inline-block{display:inline-block!important}}@media (min-width: 992px){.ion-display-lg-inline-block{display:inline-block!important}}@media (min-width: 1200px){.ion-display-xl-inline-block{display:inline-block!important}}.ion-display-block{display:block!important}@media (min-width: 576px){.ion-display-sm-block{display:block!important}}@media (min-width: 768px){.ion-display-md-block{display:block!important}}@media (min-width: 992px){.ion-display-lg-block{display:block!important}}@media (min-width: 1200px){.ion-display-xl-block{display:block!important}}.ion-display-flex{display:flex!important}@media (min-width: 576px){.ion-display-sm-flex{display:flex!important}}@media (min-width: 768px){.ion-display-md-flex{display:flex!important}}@media (min-width: 992px){.ion-display-lg-flex{display:flex!important}}@media (min-width: 1200px){.ion-display-xl-flex{display:flex!important}}.ion-display-inline-flex{display:inline-flex!important}@media (min-width: 576px){.ion-display-sm-inline-flex{display:inline-flex!important}}@media (min-width: 768px){.ion-display-md-inline-flex{display:inline-flex!important}}@media (min-width: 992px){.ion-display-lg-inline-flex{display:inline-flex!important}}@media (min-width: 1200px){.ion-display-xl-inline-flex{display:inline-flex!important}}.ion-display-grid{display:grid!important}@media (min-width: 576px){.ion-display-sm-grid{display:grid!important}}@media (min-width: 768px){.ion-display-md-grid{display:grid!important}}@media (min-width: 992px){.ion-display-lg-grid{display:grid!important}}@media (min-width: 1200px){.ion-display-xl-grid{display:grid!important}}.ion-display-inline-grid{display:inline-grid!important}@media (min-width: 576px){.ion-display-sm-inline-grid{display:inline-grid!important}}@media (min-width: 768px){.ion-display-md-inline-grid{display:inline-grid!important}}@media (min-width: 992px){.ion-display-lg-inline-grid{display:inline-grid!important}}@media (min-width: 1200px){.ion-display-xl-inline-grid{display:inline-grid!important}}.ion-display-table{display:table!important}@media (min-width: 576px){.ion-display-sm-table{display:table!important}}@media (min-width: 768px){.ion-display-md-table{display:table!important}}@media (min-width: 992px){.ion-display-lg-table{display:table!important}}@media (min-width: 1200px){.ion-display-xl-table{display:table!important}}.ion-display-table-cell{display:table-cell!important}@media (min-width: 576px){.ion-display-sm-table-cell{display:table-cell!important}}@media (min-width: 768px){.ion-display-md-table-cell{display:table-cell!important}}@media (min-width: 992px){.ion-display-lg-table-cell{display:table-cell!important}}@media (min-width: 1200px){.ion-display-xl-table-cell{display:table-cell!important}}.ion-display-table-row{display:table-row!important}@media (min-width: 576px){.ion-display-sm-table-row{display:table-row!important}}@media (min-width: 768px){.ion-display-md-table-row{display:table-row!important}}@media (min-width: 992px){.ion-display-lg-table-row{display:table-row!important}}@media (min-width: 1200px){.ion-display-xl-table-row{display:table-row!important}}:root{--tcg-card-background: #F5F5DC;--tcg-card-border: #8FBC8F;--tcg-text-primary: #2F4F2F;--tcg-text-secondary: #696969;--tcg-background-primary: #F5F5DC;--tcg-background-secondary: #E6FFE6;--tcg-accent: #2D5016;--tcg-accent-dark: #1A3009;--tcg-highlight: #ADFF2F;--tcg-producer: #228B22;--tcg-herbivore: #DAA520;--tcg-carnivore: #8B4513;--tcg-omnivore: #CD853F;--tcg-detritivore: #A0522D;--tcg-decomposer: #2F4F2F;--tcg-scavenger: #696969;--tcg-extinct: #000000;--tcg-critically-endangered: #8B0000;--tcg-endangered: #FF4500;--tcg-vulnerable: #FFD700;--tcg-near-threatened: #ADFF2F;--tcg-least-concern: #32CD32;--tcg-error: #DC143C;--tcg-success: #228B22;--tcg-warning: #DAA520;--tcg-border-radius: 12px;--tcg-border-radius-small: 8px;--tcg-border-radius-large: 16px;--tcg-shadow-small: 0 2px 4px rgba(0, 0, 0, .1);--tcg-shadow-medium: 0 4px 8px rgba(0, 0, 0, .15);--tcg-shadow-large: 0 8px 16px rgba(0, 0, 0, .2);--tcg-transition-fast: .2s ease;--tcg-transition-medium: .3s ease;--tcg-transition-slow: .5s ease;--tcg-font-size-small: 12px;--tcg-font-size-medium: 14px;--tcg-font-size-large: 16px;--tcg-font-size-xlarge: 18px;--tcg-font-weight-normal: 400;--tcg-font-weight-medium: 500;--tcg-font-weight-bold: 600;--tcg-spacing-xs: 4px;--tcg-spacing-sm: 8px;--tcg-spacing-md: 16px;--tcg-spacing-lg: 24px;--tcg-spacing-xl: 32px}.dark{--tcg-shadow-small: 0 2px 4px rgba(0, 0, 0, .3);--tcg-shadow-medium: 0 4px 8px rgba(0, 0, 0, .4);--tcg-shadow-large: 0 8px 16px rgba(0, 0, 0, .5)}body{background:var(--tcg-background-primary);color:var(--tcg-text-primary);transition:background-color var(--tcg-transition-medium),color var(--tcg-transition-medium)}ion-content{--background: var(--tcg-background-primary);--color: var(--tcg-text-primary)}h1,h2,h3,h4,h5,h6{color:var(--tcg-text-primary);font-weight:var(--tcg-font-weight-bold)}p,span{color:var(--tcg-text-primary)}.pack-opener-card,.open-pack-button,.title-section h1{background-image:none!important}ion-header ion-toolbar{--background: var(--tcg-card-background);--color: var(--tcg-text-primary);--border-color: var(--tcg-card-border)}ion-card{--background: var(--tcg-card-background);--color: var(--tcg-text-primary);border:1px solid var(--tcg-card-border);border-radius:var(--tcg-border-radius);box-shadow:var(--tcg-shadow-medium);transition:all var(--tcg-transition-medium)}ion-card:hover{box-shadow:var(--tcg-shadow-large);transform:translateY(-2px)}ion-card-header{--color: var(--tcg-text-primary)}ion-card ion-card-title{--color: var(--tcg-accent) !important;color:var(--tcg-accent)!important;font-weight:var(--tcg-font-weight-bold)}ion-list{--background: var(--tcg-background-primary) !important;background:var(--tcg-background-primary)!important}ion-card-content{--color: var(--tcg-text-primary)}ion-button{--border-radius: var(--tcg-border-radius-small);--transition: all var(--tcg-transition-fast)}ion-button[fill=solid]{--background: var(--tcg-accent);--color: var(--ion-color-accent-contrast)}ion-button[fill=outline]{--border-color: var(--tcg-accent);--color: var(--tcg-accent)}ion-button[fill=clear]{--color: var(--tcg-accent)}ion-button[disabled]{--opacity: .6;--background: var(--tcg-background-secondary);--color: var(--tcg-text-secondary);--border-color: var(--tcg-card-border);cursor:not-allowed}ion-button[disabled]:hover{--opacity: .6}ion-list{--background: var(--tcg-background-primary)}ion-item{--background: var(--tcg-card-background);--color: var(--tcg-text-primary);--border-color: var(--tcg-card-border);--inner-border-width: 0 0 1px 0}ion-item:hover{--background: var(--tcg-background-secondary)}ion-label{--color: var(--tcg-text-primary)}ion-label h1,ion-label h2,ion-label h3,ion-label h4,ion-label h5,ion-label h6{color:var(--tcg-text-primary)}ion-label p{color:var(--tcg-text-secondary)}ion-searchbar{--background: var(--tcg-card-background);--color: var(--tcg-text-primary);--placeholder-color: var(--tcg-text-secondary);--icon-color: var(--tcg-accent);--clear-button-color: var(--tcg-accent);--border-radius: var(--tcg-border-radius-small)}ion-segment{--background: var(--tcg-background-secondary);border:1px solid var(--tcg-card-border);border-radius:var(--tcg-border-radius-small);opacity:.9}ion-segment-button{--color: var(--tcg-text-primary);--color-checked: var(--tcg-background-primary);--background: transparent;--background-checked: var(--tcg-accent);--indicator-color: var(--tcg-accent);--border-radius: var(--tcg-border-radius-small);font-weight:var(--tcg-font-weight-medium);opacity:.95}ion-segment-button:hover{--background: var(--tcg-card-background);opacity:1}ion-select{--color: var(--tcg-text-primary);--placeholder-color: var(--tcg-text-secondary)}ion-input{--color: var(--tcg-text-primary);--placeholder-color: var(--tcg-text-secondary)}ion-textarea{--color: var(--tcg-text-primary);--placeholder-color: var(--tcg-text-secondary)}ion-badge{--background: var(--tcg-accent);--color: var(--tcg-text-primary);border-radius:var(--tcg-border-radius-small)}ion-chip{--background: var(--tcg-background-secondary);--color: var(--tcg-text-primary);border:1px solid var(--tcg-card-border)}ion-modal{--background: var(--tcg-background-primary)}ion-modal ion-header ion-toolbar{--background: var(--tcg-card-background);--color: var(--tcg-text-primary)}ion-modal ion-content{--background: var(--tcg-background-primary);--color: var(--tcg-text-primary)}ion-tab-bar{--background: var(--tcg-card-background);--border: 1px solid var(--tcg-card-border)}ion-tab-button{--color: var(--tcg-text-secondary);--color-selected: var(--tcg-accent)}ion-tab-button.tab-selected{--color: var(--tcg-accent)}ion-toast{--background: var(--tcg-card-background);--color: var(--tcg-text-primary);--border: 1px solid var(--tcg-card-border)}ion-alert{--background: var(--tcg-card-background);--color: var(--tcg-text-primary)}ion-spinner{--color: var(--tcg-accent)}ion-progress-bar{--background: var(--tcg-background-secondary);--progress-background: var(--tcg-accent)}.trophic-producer{--color: var(--tcg-producer);--background: var(--tcg-producer)}.trophic-herbivore{--color: var(--tcg-herbivore);--background: var(--tcg-herbivore)}.trophic-carnivore{--color: var(--tcg-carnivore);--background: var(--tcg-carnivore)}.trophic-omnivore{--color: var(--tcg-omnivore);--background: var(--tcg-omnivore)}.trophic-detritivore{--color: var(--tcg-detritivore);--background: var(--tcg-detritivore)}.trophic-decomposer{--color: var(--tcg-decomposer);--background: var(--tcg-decomposer)}.trophic-scavenger{--color: var(--tcg-scavenger);--background: var(--tcg-scavenger)}.conservation-extinct{--color: var(--tcg-extinct);--background: var(--tcg-extinct)}.conservation-critically-endangered{--color: var(--tcg-critically-endangered);--background: var(--tcg-critically-endangered)}.conservation-endangered{--color: var(--tcg-endangered);--background: var(--tcg-endangered)}.conservation-vulnerable{--color: var(--tcg-vulnerable);--background: var(--tcg-vulnerable)}.conservation-near-threatened{--color: var(--tcg-near-threatened);--background: var(--tcg-near-threatened)}.conservation-least-concern{--color: var(--tcg-least-concern);--background: var(--tcg-least-concern)}.tcg-text-primary{color:var(--tcg-text-primary)}.tcg-text-secondary{color:var(--tcg-text-secondary)}.tcg-background-primary{background:var(--tcg-background-primary)}.tcg-background-secondary{background:var(--tcg-background-secondary)}.tcg-accent{color:var(--tcg-accent)}.tcg-highlight{background:var(--tcg-highlight)}.tcg-fade-in{animation:tcgFadeIn var(--tcg-transition-medium) ease-out}.tcg-slide-up{animation:tcgSlideUp var(--tcg-transition-medium) ease-out}.tcg-scale-in{animation:tcgScaleIn var(--tcg-transition-fast) ease-out}@keyframes tcgFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tcgSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tcgScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){:root{--tcg-font-size-small: 11px;--tcg-font-size-medium: 13px;--tcg-font-size-large: 15px;--tcg-font-size-xlarge: 17px}}@media (prefers-contrast: high){:root{--tcg-shadow-small: 0 2px 4px rgba(0, 0, 0, .5);--tcg-shadow-medium: 0 4px 8px rgba(0, 0, 0, .6);--tcg-shadow-large: 0 8px 16px rgba(0, 0, 0, .7)}ion-card{border-width:2px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.tcg-fade-in,.tcg-slide-up,.tcg-scale-in{animation:none}}@media print{:root{--tcg-background-primary: white;--tcg-background-secondary: white;--tcg-card-background: white;--tcg-text-primary: black;--tcg-text-secondary: #666}ion-card{box-shadow:none;border:2px solid var(--tcg-card-border)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}ion-modal[aria-hidden=true] *{pointer-events:none}ion-modal[aria-hidden=false]{pointer-events:auto}*:focus-visible{outline:2px solid var(--tcg-accent);outline-offset:2px}.main-tab-home::part(native),.main-tab-collection::part(native),.main-tab-online::part(native),.main-tab-deck-builder::part(native),.main-tab-settings::part(native){padding:0}.text-primary{color:var(--tcg-text-primary)!important}.text-secondary{color:var(--tcg-text-secondary)!important}.text-accent{color:var(--tcg-accent)!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-normal{font-weight:var(--tcg-font-weight-normal)!important}.font-medium{font-weight:var(--tcg-font-weight-medium)!important}.font-bold{font-weight:var(--tcg-font-weight-bold)!important}.text-xs{font-size:var(--tcg-font-size-small)!important}.text-sm{font-size:var(--tcg-font-size-medium)!important}.text-lg{font-size:var(--tcg-font-size-large)!important}.text-xl{font-size:var(--tcg-font-size-xlarge)!important}.bg-primary{background:var(--tcg-background-primary)!important}.bg-secondary{background:var(--tcg-background-secondary)!important}.bg-card{background:var(--tcg-card-background)!important}.bg-accent{background:var(--tcg-accent)!important;color:var(--ion-color-accent-contrast)!important}.border{border:1px solid var(--tcg-card-border)!important}.border-accent{border:1px solid var(--tcg-accent)!important}.border-none{border:none!important}.rounded{border-radius:var(--tcg-border-radius)!important}.rounded-sm{border-radius:var(--tcg-border-radius-small)!important}.rounded-lg{border-radius:var(--tcg-border-radius-large)!important}.p-xs{padding:var(--tcg-spacing-xs)!important}.p-sm{padding:var(--tcg-spacing-sm)!important}.p-md{padding:var(--tcg-spacing-md)!important}.p-lg{padding:var(--tcg-spacing-lg)!important}.p-xl{padding:var(--tcg-spacing-xl)!important}.m-xs{margin:var(--tcg-spacing-xs)!important}.m-sm{margin:var(--tcg-spacing-sm)!important}.m-md{margin:var(--tcg-spacing-md)!important}.m-lg{margin:var(--tcg-spacing-lg)!important}.m-xl{margin:var(--tcg-spacing-xl)!important}.m-0{margin:0!important}.mb-sm{margin-bottom:var(--tcg-spacing-sm)!important}.mb-md{margin-bottom:var(--tcg-spacing-md)!important}.mt-sm{margin-top:var(--tcg-spacing-sm)!important}.mt-md{margin-top:var(--tcg-spacing-md)!important}.shadow-sm{box-shadow:var(--tcg-shadow-small)!important}.shadow-md{box-shadow:var(--tcg-shadow-medium)!important}.shadow-lg{box-shadow:var(--tcg-shadow-large)!important}.shadow-none{box-shadow:none!important}.flex{display:flex!important}.flex-col{flex-direction:column!important}.flex-row{flex-direction:row!important}.items-center{align-items:center!important}.items-start{align-items:flex-start!important}.items-end{align-items:flex-end!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.gap-xs{gap:var(--tcg-spacing-xs)!important}.gap-sm{gap:var(--tcg-spacing-sm)!important}.gap-md{gap:var(--tcg-spacing-md)!important}.gap-lg{gap:var(--tcg-spacing-lg)!important}.w-full{width:100%!important}.h-full{height:100%!important}.w-auto{width:auto!important}.h-auto{height:auto!important}.transition-fast{transition:all var(--tcg-transition-fast)!important}.transition-medium{transition:all var(--tcg-transition-medium)!important}.transition-slow{transition:all var(--tcg-transition-slow)!important}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--tcg-shadow-large)}.hover-scale:hover{transform:scale(1.02)}.hover-accent:hover{color:var(--tcg-accent)}.card-standard{background:var(--tcg-card-background);border:1px solid var(--tcg-card-border);border-radius:var(--tcg-border-radius);box-shadow:var(--tcg-shadow-medium);padding:var(--tcg-spacing-md);color:var(--tcg-text-primary);transition:all var(--tcg-transition-medium)}.card-standard:hover{box-shadow:var(--tcg-shadow-large);transform:translateY(-2px)}.btn-primary{background:var(--tcg-accent);color:var(--ion-color-accent-contrast);border:1px solid var(--tcg-accent);border-radius:var(--tcg-border-radius-small);padding:var(--tcg-spacing-sm) var(--tcg-spacing-md);font-weight:var(--tcg-font-weight-medium);transition:all var(--tcg-transition-fast)}.btn-secondary{background:transparent;color:var(--tcg-accent);border:1px solid var(--tcg-accent);border-radius:var(--tcg-border-radius-small);padding:var(--tcg-spacing-sm) var(--tcg-spacing-md);font-weight:var(--tcg-font-weight-medium);transition:all var(--tcg-transition-fast)}.btn-secondary:hover{background:var(--tcg-accent);color:var(--ion-color-accent-contrast)}.list-item{background:var(--tcg-card-background);border-bottom:1px solid var(--tcg-card-border);color:var(--tcg-text-primary);padding:var(--tcg-spacing-md);transition:all var(--tcg-transition-fast)}.list-item:hover{background:var(--tcg-background-secondary)}.trophic-producer{color:var(--tcg-producer)!important}.trophic-herbivore{color:var(--tcg-herbivore)!important}.trophic-carnivore{color:var(--tcg-carnivore)!important}.trophic-omnivore{color:var(--tcg-omnivore)!important}.trophic-detritivore{color:var(--tcg-detritivore)!important}.trophic-decomposer{color:var(--tcg-decomposer)!important}.trophic-scavenger{color:var(--tcg-scavenger)!important}.conservation-extinct{color:var(--tcg-extinct)!important}.conservation-critically-endangered{color:var(--tcg-critically-endangered)!important}.conservation-endangered{color:var(--tcg-endangered)!important}.conservation-vulnerable{color:var(--tcg-vulnerable)!important}.conservation-near-threatened{color:var(--tcg-near-threatened)!important}.conservation-least-concern{color:var(--tcg-least-concern)!important}
