*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}:root{--bg-primary: #1A1A2E;--bg-secondary: #16213E;--bg-accent: #0F3460;--text-primary: #E4E4E4;--text-secondary: #A0A0A0;--text-muted: #666666;--currency: #FFC107;--border: #333333;--border-light: #444444;--rarity-1: #888888;--rarity-2: #4CAF50;--rarity-3: #2196F3;--rarity-4: #9C27B0;--rarity-5: #FFD700;--success: #4CAF50;--warning: #FF9800;--error: #F44336;--info: #2196F3;--font-header: "Cinzel", Georgia, serif;--font-body: "Roboto", Arial, sans-serif;--font-mono: "Roboto Mono", "Courier New", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--header-height: 60px;--nav-height: 56px;--content-height: calc(100vh - var(--header-height) - var(--nav-height));--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{touch-action:manipulation}#app{display:flex;flex-direction:column;width:100%;max-width:375px;height:100vh;height:100dvh;margin:0 auto;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);position:relative}@media(max-width:768px){#app{max-width:100%;width:100vw}}@media(min-width:769px){#app{max-width:375px}}#header{display:flex;justify-content:space-between;align-items:center;height:var(--header-height);padding:0 var(--space-md);background-color:var(--bg-secondary);border-bottom:2px solid var(--border)}.game-title{font-family:Brush Script MT,Lucida Handwriting,cursive;font-size:22px;font-weight:400;letter-spacing:.5px;color:var(--text-primary);line-height:1.1;text-align:center}.header-right{display:flex;align-items:center;gap:var(--space-sm)}.seeds-display{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);height:36px;background-color:var(--bg-accent);border-radius:20px;border:1px solid var(--currency)}.settings-btn{width:36px;height:36px;border-radius:50%;background-color:var(--bg-accent);border:1px solid var(--border-light);color:var(--text-primary);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);padding:0}.settings-btn:hover{background-color:var(--bg-primary);border-color:var(--text-secondary);transform:rotate(45deg)}.seeds-icon{font-size:20px}.seeds-amount{font-family:var(--font-mono);font-size:18px;font-weight:500;color:var(--currency);min-width:60px;text-align:right}#main-content{flex:1;overflow-y:auto;overflow-x:hidden;height:var(--content-height);-webkit-overflow-scrolling:touch}.screen{display:none;padding:var(--space-md);min-height:100%}.screen.active{display:block;animation:fadeIn var(--transition-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.screen-title{font-family:var(--font-header);font-size:20px;font-weight:600;margin-bottom:var(--space-lg);text-align:center;color:var(--text-primary);text-transform:uppercase;letter-spacing:1px}.section-container{margin-bottom:var(--space-xl)}.section-header{font-family:var(--font-header);font-size:16px;font-weight:600;margin-bottom:var(--space-md);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding-bottom:var(--space-sm)}.slots-container{display:flex;flex-direction:row;justify-content:center;gap:var(--space-lg);padding:var(--space-md) 0}.slot{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background-color:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;position:relative;transition:all var(--transition-fast)}.slot.locked{opacity:.5;border-style:dashed}.slot.empty{border-style:dashed;cursor:pointer}.slot.empty:hover{border-color:var(--border-light);background-color:#ffffff05}.slot.active{border-color:var(--info)}.bird-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0;background-color:var(--bg-accent);border:2px solid var(--border-light)}.bird-icon.rarity-1{border-color:var(--rarity-1)}.bird-icon.rarity-2{border-color:var(--rarity-2)}.bird-icon.rarity-3{border-color:var(--rarity-3)}.bird-icon.rarity-4{border-color:var(--rarity-4)}.bird-icon.rarity-5{border-color:var(--rarity-5)}.bird-icon img{width:100%;height:100%;object-fit:contain}.slot-info{flex:1;min-width:0}.slot-info h4{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-info .distinction{font-size:12px;margin-bottom:var(--space-xs)}.slot-info .stats{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}button{font-family:var(--font-body);font-size:14px;padding:var(--space-sm) var(--space-md);border:none;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);background-color:var(--bg-accent);color:var(--text-primary);border:1px solid var(--border-light)}button:hover:not(:disabled){background-color:var(--info);border-color:var(--info);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background-color:var(--info);border-color:var(--info)}button.success{background-color:var(--success);border-color:var(--success)}button.warning{background-color:var(--warning);border-color:var(--warning)}button.danger{background-color:var(--error);border-color:var(--error)}#navigation{display:flex;height:var(--nav-height);background-color:var(--bg-secondary);border-top:2px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.nav-button{flex:1;padding:var(--space-md);border:none;border-radius:0;border-right:1px solid var(--border);font-family:var(--font-header);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;background-color:var(--bg-secondary);color:var(--text-secondary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;text-align:center}.nav-button:last-child{border-right:none}.nav-button.active{background-color:var(--bg-accent);color:var(--text-primary);border-bottom:3px solid var(--info)}.nav-button:hover:not(.active){background-color:#ffffff0d;color:var(--text-primary)}.progress-bar{width:100%;height:8px;background-color:var(--bg-accent);border-radius:4px;overflow:hidden;border:1px solid var(--border);margin-top:var(--space-xs)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--success) 0%,#81C784 100%);transition:width var(--transition-normal);border-radius:3px}.progress-bar-fill.vitality{background:linear-gradient(90deg,#4caf50,#81c784)}.progress-bar-fill.progress{background:linear-gradient(90deg,var(--info) 0%,#64B5F6 100%)}.progress-bar-fill.incubation{background:linear-gradient(90deg,var(--warning) 0%,#FFB74D 100%)}.surveys-grid{display:flex;flex-direction:column;gap:var(--space-md)}.survey-item{position:relative;padding:var(--space-md);background-color:var(--bg-secondary);border:2px solid var(--border);border-radius:8px}.survey-layout{display:flex;align-items:center;gap:var(--space-md)}.biome-circle{position:relative;width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all var(--transition-fast)}.biome-circle:hover{transform:scale(1.05)}.biome-circle:active{transform:scale(.95)}.biome-icon{width:100%;height:100%;object-fit:cover}.survey-info{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.biome-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.survey-info .progress-bar{width:100%;height:6px;background-color:var(--bg-accent);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.assistant-button{font-size:12px;padding:6px 12px;background:var(--bg-accent);border:1px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all var(--transition-fast);text-align:center;color:var(--text-secondary);align-self:flex-end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.assistant-button:hover{border-color:var(--info);background:var(--info);color:var(--text-primary);transform:translateY(-1px)}.assistant-button:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-overlay.hidden{display:none}.modal-content{background-color:var(--bg-secondary);border:2px solid var(--border-light);border-radius:8px;padding:var(--space-lg);max-width:320px;width:100%;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;animation:modalSlideIn var(--transition-normal)}.modal-content h3{margin-bottom:var(--space-md);flex-shrink:0}.modal-content .modal-actions{flex-shrink:0;margin-top:var(--space-md)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-notification{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(20px);background-color:#000000e6;color:var(--text-primary);padding:var(--space-md) var(--space-lg);border-radius:8px;border:1px solid var(--border-light);z-index:2000;opacity:0;transition:all .3s ease;max-width:300px;text-align:center;font-size:.9rem;pointer-events:none}.toast-notification.show{opacity:1;transform:translate(-50%) translateY(0)}.modal-content h3{font-family:var(--font-header);font-size:18px;margin-bottom:var(--space-md);color:var(--text-primary)}.modal-content p{font-size:14px;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-md)}.prestige-warning{margin-bottom:var(--space-md)}.prestige-crystal-preview{text-align:center;margin-bottom:var(--space-md)}.crystal-icon-large{font-size:48px;margin-bottom:var(--space-xs)}.crystal-name{font-family:var(--font-header);font-size:16px;color:var(--text-primary)}.prestige-warning-text{font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;margin:0;padding:var(--space-sm);background:var(--bg-primary);border-radius:4px;max-width:100%;overflow-wrap:break-word}.modal-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.modal-actions button{flex:1}.bird-select-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px;margin-bottom:4px;text-align:left;background:var(--bg-accent)!important;border:1px solid var(--border-light)!important;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);transform:translateY(0)}.bird-select-btn:hover{background:var(--info)!important;border-color:var(--info)!important;transform:translateY(-1px)!important}.bird-select-btn.unassign-option{background:var(--bg-secondary)!important;border:2px solid var(--error)!important;margin-bottom:12px}.bird-select-btn.unassign-option:hover{background:var(--error)!important;border-color:var(--error)!important}.bird-select-btn.unassign-option .btn-title{color:var(--error)}.bird-select-btn.unassign-option:hover .btn-title{color:var(--text-primary)}.bird-select-btn.unavailable{opacity:.6;background:var(--bg-secondary)!important;border-color:var(--text-muted)!important}.bird-select-btn.unavailable:hover{opacity:.8;background:var(--bg-accent)!important;border-color:var(--warning)!important}.btn-bird-icon.greyed{opacity:.5;filter:grayscale(50%)}.btn-location{display:block;font-size:11px;color:var(--warning);margin-top:2px;font-style:italic}.btn-bird-icon-wrapper{position:relative;width:48px;height:48px;flex-shrink:0}.btn-vitality-ring{position:absolute;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.btn-vitality-ring-bg{fill:none;stroke:var(--border);stroke-width:3}.btn-vitality-ring-fill{fill:none;stroke:#66bb6a;stroke-width:3;stroke-dasharray:283;transition:stroke-dashoffset .5s ease}.btn-vitality-ring-fill.greyed{stroke:#555;opacity:.6}.btn-bird-icon-wrapper .btn-bird-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;object-fit:contain}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;pointer-events:none}.btn-bird-icon{width:32px;height:32px;flex-shrink:0;pointer-events:none;border-radius:50%}.btn-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;pointer-events:none}.btn-title{font-weight:500;font-size:14px;color:var(--text-primary)}.btn-subtitle{font-size:12px;color:var(--text-secondary)}.section-label{font-size:12px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px;font-weight:500}.confirmation-message{padding:var(--space-md);text-align:center;line-height:1.6}.confirmation-message p{margin-bottom:var(--space-sm)}.offline-summary{padding:var(--space-md);text-align:center}.offline-time{font-size:16px;margin-bottom:var(--space-lg);color:var(--text-secondary)}.offline-stats{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.offline-stat{font-size:18px;padding:var(--space-sm);background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.primary-btn{background-color:var(--info)!important;color:var(--text-primary)!important;font-weight:500}.primary-btn:hover{background-color:#1976d2!important}.danger-btn{background-color:var(--error)!important;color:var(--text-primary)!important;font-weight:500}.danger-btn:hover{background-color:#d32f2f!important}.settings-section{margin-bottom:20px;padding:15px;background:#ff44441a;border:2px solid #ff4444;border-radius:8px}.cheat-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.cheat-btn{padding:10px 16px;background:#f44;color:#fff;border:2px solid #cc0000;border-radius:6px;font-size:18px;cursor:pointer;transition:all .2s;min-width:60px}.cheat-btn:hover{background:#f66;transform:scale(1.05)}.cheat-btn:active{transform:scale(.95)}.settings-options{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) 0}.settings-option-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.settings-option-btn:hover{background:var(--bg-accent);border-color:var(--error);transform:translateY(-1px)}.option-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px}.option-content{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:2px}.option-title{font-size:14px;font-weight:500;color:#fff}.option-subtitle{font-size:12px;color:#fff}.empty-message{text-align:center;color:var(--text-muted);padding:20px;font-size:14px;font-style:italic}.bonuses-display{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.bonus-tag{padding:var(--space-xs) var(--space-sm);background-color:var(--bg-accent);border:1px solid var(--info);border-radius:4px;font-size:12px;color:var(--info);font-family:var(--font-mono)}.bonuses-display:empty:before{content:"No active bonuses";color:var(--text-muted);font-size:12px;font-style:italic}.crystals-container{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:var(--space-sm) 0}.crystal-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;transition:all var(--transition-fast);min-height:70px}.crystal-slot.unlocked{background:linear-gradient(135deg,#64c8ff1a,#c864ff1a);border-color:var(--info);box-shadow:0 0 10px #64c8ff4d}.crystal-slot.locked{opacity:.6}.crystal-icon{font-size:24px;margin-bottom:2px;line-height:1}.crystal-label{font-size:9px;color:var(--text-primary);text-align:center;font-weight:500;line-height:1.2}.crystal-slot.unlocked .crystal-label{color:var(--info)}.collection-list{display:flex;flex-direction:column;gap:var(--space-sm)}.collection-item{padding:var(--space-sm) var(--space-md);background-color:var(--bg-accent);border:1px solid var(--border);border-radius:4px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.collection-item .bird-name{font-weight:500;color:var(--text-primary)}.collection-item .bird-location{color:var(--text-secondary);font-size:11px}.collection-list:empty:before{content:"No birds in collection";color:var(--text-muted);font-size:12px;font-style:italic;padding:var(--space-md)}.breeding-program{padding:var(--space-md);background-color:var(--bg-secondary);border:2px solid var(--border);border-radius:8px}.breeding-program.active{border-color:var(--warning)}.breeding-program.locked{opacity:.5;border-style:dashed}.mature-birds-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.mature-bird-card{padding:var(--space-sm);background-color:var(--bg-accent);border:1px solid var(--border-light);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);text-align:center}.mature-bird-card.selected{border-color:var(--success);background-color:#4caf501a}.mature-birds-list:empty:before{content:"No mature birds available";color:var(--text-muted);font-size:12px;font-style:italic;grid-column:1 / -1;text-align:center;padding:var(--space-lg)}.hidden{display:none!important}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-small{font-size:12px}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--text-secondary);font-style:italic}.loading:after{content:"...";animation:ellipsis 1.5s infinite}@keyframes ellipsis{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.forager-circle-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.forager-circle{position:relative;width:80px;height:80px;cursor:pointer;transition:transform var(--transition-fast);display:flex;align-items:center;justify-content:center}.forager-circle:hover{transform:scale(1.05)}.forager-circle:active{transform:scale(.95)}.bird-rings{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.maturity-ring-bg{fill:none;stroke:var(--bg-accent);stroke-width:3}.maturity-ring-fill{fill:none;stroke:var(--info);stroke-width:3;stroke-linecap:round;stroke-dasharray:239;stroke-dashoffset:239;transition:stroke-dashoffset .5s ease}.vitality-ring-bg{fill:none;stroke:var(--bg-accent);stroke-width:6}.vitality-ring-fill{fill:none;stroke:#66bb6a;stroke-width:6;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:0;transition:stroke-dashoffset .5s ease}.vitality-black-bg{fill:none;stroke:#000;stroke-width:6}.frame-ring{fill:none;stroke:var(--border-light);stroke-width:2;transition:stroke var(--transition-fast)}.forager-circle.active:hover .frame-ring,.biome-circle:hover .frame-ring{stroke:var(--info)}.btn-bird-icon-wrapper .bird-rings{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.btn-bird-icon-wrapper circle{fill:none}.btn-bird-icon-wrapper .frame-ring{stroke:var(--border-light);stroke-width:4}.btn-bird-icon-wrapper .vitality-black-bg{stroke:#000!important;stroke-width:8!important;fill:none!important}.btn-bird-icon-wrapper .vitality-ring-bg{stroke:#4caf504d!important;stroke-width:8!important}.btn-bird-icon-wrapper .vitality-ring-fill{stroke:#66bb6a!important;stroke-width:8!important;stroke-dasharray:251!important;stroke-linecap:round!important;fill:none!important}.btn-bird-icon-wrapper .maturity-ring-bg{stroke:#2196f333;stroke-width:12}.btn-bird-icon-wrapper .maturity-ring-fill{stroke:var(--info);stroke-width:12;stroke-dasharray:157;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.bird-selection-item .bird-rings{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.bird-selection-item circle{fill:none}.bird-selection-item .frame-ring{stroke:var(--border-light);stroke-width:4}.bird-selection-item .vitality-black-bg{stroke:#000!important;stroke-width:8!important;fill:none!important}.bird-selection-item .vitality-ring-bg{stroke:#4caf504d!important;stroke-width:8!important}.bird-selection-item .vitality-ring-fill{stroke:#66bb6a!important;stroke-width:8!important;stroke-dasharray:251!important;stroke-linecap:round!important;fill:none!important}.bird-selection-item .maturity-ring-bg{stroke:#2196f333;stroke-width:12}.bird-selection-item .maturity-ring-fill{stroke:var(--info);stroke-width:12;stroke-dasharray:157;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.vitality-ring{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.forager-bird-icon,.survey-bird-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;object-fit:contain;pointer-events:none;border-radius:50%}.forager-circle.empty .forager-bird-icon,.biome-circle .survey-bird-icon{opacity:.6}.empty-frame{stroke-dasharray:4 4;stroke:var(--border-light)}.lock-icon{font-size:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.forager-label{font-size:12px;color:var(--text-secondary);text-align:center;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;background:var(--bg-accent);border:1px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all var(--transition-fast)}.forager-label:hover{border-color:var(--info);background:var(--info);color:var(--text-primary);transform:translateY(-1px)}.forager-label:active{transform:translateY(0)}.forager-label.locked-label{color:var(--text-muted);font-size:11px;cursor:pointer;border-style:dashed}.forager-label.locked-label:hover{border-color:var(--info);background:var(--info);color:var(--text-primary);transform:translateY(-1px)}.floating-income{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--currency);font-weight:700;font-size:18px;font-family:var(--font-mono);pointer-events:none;animation:floatUpIncome 1s ease-out forwards;z-index:100;text-shadow:0 0 4px rgba(0,0,0,.8)}@keyframes floatUpIncome{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-150%)}}.perches-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--space-md);row-gap:var(--space-sm);margin:var(--space-lg) 0;position:relative}.perches-grid:before{content:"";position:absolute;inset:0;background-image:url(../assets/backgrounds/sanctuary-bg.png);background-size:130%;background-position:center bottom;background-repeat:no-repeat;border-radius:8px;overflow:hidden;z-index:0}.perches-grid:after{content:"";position:absolute;inset:0;background:#ffffff4d;border-radius:8px;z-index:1;pointer-events:none}.perches-grid .perch-card:nth-child(1){grid-column:1 / 5}.perches-grid .perch-card:nth-child(2){grid-column:1 / 2}.perches-grid .perch-card:nth-child(3){grid-column:2 / 3}.perches-grid .perch-card:nth-child(4){grid-column:3 / 4}.perches-grid .perch-card:nth-child(5){grid-column:4 / 5}.perches-grid .perch-card:nth-child(1) .perch-vitality-ring-wrapper{width:120px;height:120px}.perches-grid .perch-card:nth-child(1) .perch-bird-image{max-width:100px}.perches-grid .perch-card:nth-child(1) .perch-lock-icon,.perches-grid .perch-card:nth-child(1) .perch-empty-icon{font-size:80px}.perches-grid .perch-card:nth-child(2) .perch-card-top,.perches-grid .perch-card:nth-child(3) .perch-card-top,.perches-grid .perch-card:nth-child(4) .perch-card-top,.perches-grid .perch-card:nth-child(5) .perch-card-top{padding:var(--space-xs) var(--space-sm);min-height:auto}.perches-grid .perch-card:nth-child(2) .perch-card-bottom,.perches-grid .perch-card:nth-child(3) .perch-card-bottom,.perches-grid .perch-card:nth-child(4) .perch-card-bottom,.perches-grid .perch-card:nth-child(5) .perch-card-bottom{padding:var(--space-xs) var(--space-sm)}.perches-grid .perch-card:nth-child(2) .perch-bird-bonuses,.perches-grid .perch-card:nth-child(3) .perch-bird-bonuses,.perches-grid .perch-card:nth-child(4) .perch-bird-bonuses,.perches-grid .perch-card:nth-child(5) .perch-bird-bonuses{margin-bottom:2px}.perches-grid .perch-card:nth-child(2) .perch-bird-traits,.perches-grid .perch-card:nth-child(3) .perch-bird-traits,.perches-grid .perch-card:nth-child(4) .perch-bird-traits,.perches-grid .perch-card:nth-child(5) .perch-bird-traits{margin-bottom:2px}.perches-grid .perch-card:nth-child(2) .perch-card-actions,.perches-grid .perch-card:nth-child(3) .perch-card-actions,.perches-grid .perch-card:nth-child(4) .perch-card-actions,.perches-grid .perch-card:nth-child(5) .perch-card-actions{margin-top:2px}.perch-card{display:flex;flex-direction:column;background-color:transparent;border:2px solid transparent;border-radius:8px;overflow:hidden;transition:all var(--transition-fast);cursor:pointer;align-self:start;position:relative;z-index:2}.perch-card.locked{border-style:solid}.perch-card.locked .perch-card-bottom{opacity:.7}.perch-card.locked:hover{border-color:transparent;background-color:transparent}.perch-card.empty{border-style:solid;border-color:transparent}.perch-card.empty:hover{border-color:transparent;background-color:transparent}.perch-card.occupied{border-color:transparent;cursor:default}.perch-card-top{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);background-color:transparent;position:relative;z-index:2}.perch-lock-icon,.perch-empty-icon{font-size:64px;display:flex;align-items:center;justify-content:center;opacity:1;z-index:10}.perch-vitality-ring-wrapper{position:relative;width:90px;height:90px;display:flex;align-items:center;justify-content:center}.perch-vitality-ring{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.perch-vitality-ring-bg{fill:none;stroke:var(--bg-primary);stroke-width:4}.perch-vitality-ring-fill{fill:none;stroke:#66bb6a;stroke-width:4;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:0;transition:stroke-dashoffset .5s ease}.perch-bird-image{width:100%;max-width:75px;height:auto;object-fit:contain;position:relative;z-index:1;border-radius:50%}.perch-card-bottom{flex:0 0 auto;padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);text-align:center;position:relative;z-index:2}.perch-unlock-cost{font-size:14px;color:var(--text-primary);font-weight:600}.perch-empty-label{margin:0 auto}.perch-bird-name{font-size:12px;font-weight:500;color:var(--text-secondary);text-align:center;padding:4px 12px;background:var(--bg-accent);border:1px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perch-bird-name:hover{border-color:var(--info);background:var(--info);color:var(--text-primary);transform:translateY(-1px)}.perch-bird-name:active{transform:translateY(0)}.perch-bird-rarity{font-size:12px;color:var(--text-secondary)}.perch-bird-bonuses{font-size:10px;color:var(--info);line-height:1.4;text-align:center;overflow-wrap:break-word;word-wrap:break-word}.perch-bird-info-btn{width:100%;padding:6px 12px;background:var(--bg-accent);border:1px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;gap:2px;margin-top:4px}.perch-bird-info-btn:hover{border-color:var(--info);background:var(--info);transform:translateY(-1px)}.perch-bird-info-btn:hover .perch-bird-name,.perch-bird-info-btn:hover .perch-bird-rarity,.perch-bird-info-btn:hover .perch-bird-bonuses{color:var(--text-primary)}.perch-bird-info-btn:active{transform:translateY(0)}.perch-bird-info-btn .perch-bird-name{background:transparent;border:none;padding:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perch-bird-info-btn .perch-bird-rarity,.perch-bird-info-btn .perch-bird-bonuses{margin:0}.perch-bird-traits{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:16px}.perch-card-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-xs);justify-content:center}.perch-restore-btn,.perch-mature-btn{flex:1;font-size:12px;padding:6px 8px;background-color:var(--bg-accent);border:1px solid var(--border-light);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);display:flex;align-items:center;justify-content:center}.perch-restore-btn:hover:not(:disabled),.perch-mature-btn:hover:not(:disabled){background-color:var(--info);border-color:var(--info)}.perch-restore-btn:disabled,.perch-mature-btn:disabled{opacity:.3;cursor:not-allowed}.perch-mature-btn.hidden{display:none}.perch-card-inactive{cursor:pointer;aspect-ratio:.65}.perch-card-inactive.occupied{cursor:pointer}.perch-simple-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-sm);padding-top:var(--space-md);height:100%;gap:var(--space-xs);position:relative;z-index:2}.perch-card-inactive.locked .perch-simple-content{padding:var(--space-sm)}.perch-card-inactive.locked .perch-lock-icon{font-size:40px}.perch-card-inactive.locked .perch-unlock-btn{opacity:.7}.perch-unlock-btn{padding:4px 12px;background:#000c;border:1px solid var(--border);border-radius:8px;font-size:11px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:0;margin-top:4px;line-height:1.2;position:relative;z-index:10;font-weight:500}.perch-unlock-btn:hover{background:var(--rarity-3);color:var(--text-primary);border-color:var(--rarity-3)}.perch-card-inactive.locked .perch-unlock-cost{font-size:11px;color:var(--text-muted);text-align:center;line-height:1.2}.perch-card-inactive.empty .perch-empty-icon{font-size:40px}.perch-card-inactive.occupied .perch-vitality-ring-wrapper{width:60px;height:60px;flex-shrink:0}.perch-card-inactive.occupied .perch-bird-image{max-width:50px}.perch-inactive-name-btn{font-size:10px;font-weight:500;color:var(--text-secondary);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:clip;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;padding:3px 12px 5px;margin-top:auto;background:var(--bg-accent);border:1px solid var(--border-light);border-radius:12px;cursor:default;transition:none;pointer-events:none}.perch-card-inactive:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.perch-card-inactive.empty:hover{border-color:var(--info);background-color:#2196f314}.perch-card-inactive.occupied:hover{border-color:var(--success);background-color:#66bb6a14}.collection-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-md);background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;margin-bottom:var(--space-sm)}.collection-item.in-use{opacity:.7}.collection-bird-info{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:0}.collection-bird-icon-wrapper{position:relative;width:64px;height:64px;flex-shrink:0}.collection-vitality-ring{position:absolute;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.collection-vitality-ring-bg{fill:none;stroke:var(--border);stroke-width:3}.collection-vitality-ring-fill{fill:none;stroke:#66bb6a;stroke-width:3;stroke-dasharray:283;transition:stroke-dashoffset .5s ease}.collection-vitality-ring-fill.greyed{stroke:#555;opacity:.6}.collection-bird-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;object-fit:contain;border-radius:50%}.collection-bird-icon.greyed{opacity:.5;filter:grayscale(50%)}.collection-bird-details{flex:1;min-width:0}.collection-bird-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.collection-bird-stats{font-size:12px;color:var(--text-secondary)}.collection-bird-location{font-size:11px;color:var(--warning);font-style:italic;margin-top:2px}.collection-actions{display:flex;gap:var(--space-sm)}.mature-btn{font-size:12px;padding:6px 12px}.bonuses-display{display:none}.no-bonuses{color:var(--text-muted);font-size:12px;font-style:italic}.breeding-programs{display:flex;flex-direction:column;gap:var(--space-md)}.breeding-program-slot{position:relative;background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;padding:var(--space-md)}.breeding-program-slot .slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.breeding-program-slot .slot-title{font-size:14px;font-weight:600;color:var(--text-primary)}.breeding-program-slot .slot-status{font-size:12px;padding:4px 8px;border-radius:8px;background:var(--bg-accent);border:1px solid var(--border)}.breeding-program-slot .slot-status.locked{color:var(--text-muted)}.breeding-program-slot .slot-status.active{background:var(--success);color:var(--bg-primary);border-color:var(--success)}.breeding-program-slot .slot-status.empty{color:var(--text-secondary)}.parent-info{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm);background:var(--bg-accent);border-radius:8px}.parent-info .parent{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.parent-info .bird-name{font-size:13px;font-weight:500;color:var(--text-primary);text-align:center}.parent-info .bird-rarity{font-size:11px}.parent-info .bird-rarity-biome{font-size:11px;color:var(--text-secondary);display:block;margin-top:2px}.parent-info .breeding-icon{font-size:20px}.breeding-progress{margin-bottom:var(--space-md)}.breeding-progress .progress-bar{width:100%;height:12px;background:var(--bg-accent);border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:var(--space-sm)}.breeding-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--success),var(--info));transition:width .3s ease}.breeding-progress .progress-info{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.incubate-btn{width:100%;padding:var(--space-sm);background:var(--info);color:var(--text-primary);border:1px solid var(--info);border-radius:8px;cursor:pointer;font-weight:500;transition:all var(--transition-fast)}.incubate-btn:hover{background:#1976d2;transform:translateY(-1px)}.incubate-btn:active{transform:translateY(0)}.parent-selection{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.parent-select-box{flex:1;padding:var(--space-md);background:var(--bg-accent);border:1px solid var(--border-light);border-radius:4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:60px;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.parent-select-box:hover{border-color:var(--info);background:var(--info);transform:translateY(-1px)}.parent-select-box:active{transform:translateY(0)}.parent-select-box .select-prompt{font-size:12px;color:var(--text-secondary)}.parent-select-box:hover .select-prompt{color:var(--text-primary)}.parent-select-box .bird-rarity-biome{font-size:11px;color:var(--text-secondary);margin-top:2px}.parent-select-box.needs-maturity{box-shadow:0 0 12px #f449,0 0 20px #ff44444d;border-color:#ff444480;animation:pulse-red 2s ease-in-out infinite}.parent-select-box.is-mature{box-shadow:0 0 12px #66bb6a99,0 0 20px #66bb6a4d;border-color:#66bb6a80}@keyframes pulse-red{0%,to{box-shadow:0 0 12px #f449,0 0 20px #ff44444d}50%{box-shadow:0 0 16px #f44c,0 0 28px #ff444480}}.mature-btn-inline{margin-top:6px;padding:6px 8px;background-color:var(--bg-accent);border:1px solid var(--border-light);border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.mature-btn-inline:hover:not(:disabled){background-color:var(--info);border-color:var(--info)}.mature-btn-inline:disabled{opacity:.3;cursor:not-allowed}.mature-btn-inline.red-glow{box-shadow:0 0 8px #f449,0 0 16px #ff44444d;border-color:#ff4444b3;animation:pulse-red 2s ease-in-out infinite}.start-breeding-btn{width:100%;padding:var(--space-sm);background:var(--success);color:var(--bg-primary);border:1px solid var(--success);border-radius:8px;cursor:pointer;font-weight:500;transition:all var(--transition-fast)}.start-breeding-btn:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.start-breeding-btn:active:not(:disabled){transform:translateY(0)}.start-breeding-btn:disabled{opacity:.5;cursor:not-allowed}.start-breeding-btn.ready-to-breed{box-shadow:0 0 12px #66bb6a99,0 0 20px #66bb6a66;border-color:#66bb6acc;animation:pulse-green 2s ease-in-out infinite}@keyframes pulse-green{0%,to{box-shadow:0 0 12px #66bb6a99,0 0 20px #66bb6a66}50%{box-shadow:0 0 16px #66bb6acc,0 0 28px #66bb6a99}}.unlock-btn{width:100%;padding:var(--space-sm);background:var(--warning);color:var(--bg-primary);border:1px solid var(--warning);border-radius:8px;cursor:pointer;font-weight:500;transition:all var(--transition-fast)}.unlock-btn:hover{background:#f57c00;transform:translateY(-1px)}.unlock-btn:active{transform:translateY(0)}.mature-birds-list{display:flex;flex-direction:column;gap:var(--space-md)}.mature-birds-header{margin-bottom:var(--space-sm)}.mature-birds-header h3{font-size:16px;color:var(--text-primary);margin-bottom:4px}.mature-birds-header .subtitle{font-size:12px;color:var(--text-secondary);margin:0}.mature-birds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-md)}.mature-bird-card{position:relative;background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;padding:var(--space-md);cursor:pointer;transition:all var(--transition-fast)}.mature-bird-card:hover{border-color:var(--info);transform:translateY(-2px)}.mature-bird-card.selected{border-color:var(--success);background:var(--bg-accent)}.mature-bird-card .bird-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.mature-bird-card .bird-name{font-size:14px;font-weight:500;color:var(--text-primary)}.mature-bird-card .bird-rarity{font-size:12px}.mature-bird-card .bird-details{display:flex;flex-direction:column;gap:var(--space-xs)}.mature-bird-card .bird-biome{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.mature-bird-card .bird-traits{display:flex;flex-wrap:wrap;gap:4px}.selection-badge{position:absolute;top:8px;right:8px;background:var(--success);color:var(--bg-primary);padding:4px 8px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.empty-message{color:var(--text-muted);font-size:14px;text-align:center;padding:var(--space-lg);font-style:italic}.celebration-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#4caf50f2,#2196f3f2);border-radius:12px;display:flex;align-items:center;justify-content:center;z-index:100;animation:celebrationFadeIn .3s ease-out;transition:opacity .5s ease-out}@keyframes celebrationFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.celebration-content{text-align:center;padding:var(--space-sm);color:var(--text-primary);width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.celebration-header{font-family:var(--font-header);font-size:14px;font-weight:600;margin-bottom:var(--space-sm);text-shadow:0 2px 4px rgba(0,0,0,.3)}.breeding-celebration .celebration-parents{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:#0003;border-radius:6px}.celebration-parent{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.celebration-parent .parent-name{font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.celebration-parent .parent-rarity{font-size:9px}.celebration-parent .parent-traits{font-size:8px;color:#fffc;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.celebration-heart{font-size:16px;flex-shrink:0}.celebration-offspring{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-sm);background:#ffffff1a;border-radius:8px;border:2px solid rgba(255,255,255,.3)}.celebration-bird-img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));animation:celebrationBounce .6s ease-in-out infinite alternate;border-radius:50%}@keyframes celebrationBounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.offspring-name{font-size:13px;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.offspring-rarity{font-size:11px}.offspring-traits{font-size:10px;color:#ffffffe6;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.survey-celebration .survey-content{flex-direction:row;align-items:center;justify-content:flex-start;padding:var(--space-xs) var(--space-sm);gap:var(--space-md)}.survey-celebration-left{flex-shrink:0;display:flex;align-items:center;justify-content:center}.survey-celebration .celebration-bird-img{width:64px;height:64px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));animation:celebrationBounce .6s ease-in-out infinite alternate}.survey-celebration-right{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.survey-celebration .celebration-header{font-size:13px;font-weight:600;margin-bottom:2px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.survey-celebration .bird-name{font-size:12px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.survey-celebration .bird-rarity{font-size:11px}.survey-celebration .bird-traits{font-size:10px;color:#ffffffe6;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bird-traits-small{font-size:10px;color:var(--text-muted);font-style:italic;margin-top:2px;display:block}.bird-selection-list{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--space-md);min-height:0}.bird-selection-section{display:flex;flex-direction:column;gap:var(--space-sm)}.section-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:var(--space-xs)}.bird-selection-item{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:var(--space-sm) var(--space-md);cursor:pointer;transition:all var(--transition-fast);display:flex;gap:var(--space-md);align-items:center}.bird-selection-item:hover{border-color:var(--info);transform:translate(4px)}.bird-selection-item.assigned{opacity:.6}.bird-selection-item.assigned:hover{opacity:1;border-color:var(--warning)}.bird-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.bird-info .bird-name{font-size:14px;font-weight:500;color:var(--text-primary)}.bird-info .bird-rarity{font-size:12px}.bird-location-info{display:flex;align-items:center;gap:var(--space-sm)}.location-label{font-size:11px;color:var(--warning);font-style:italic}.immature-label{font-size:11px;color:var(--text-muted);font-style:italic}.modal-message{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:var(--space-md)}.wilds-container{padding:var(--space-md);overflow-y:auto;height:calc(100% - 60px)}.biome-card{background:transparent;border:2px solid var(--border);border-radius:12px;padding:var(--space-md);margin-bottom:var(--space-md);transition:var(--transition-normal);position:relative}.biome-card.locked{border-color:var(--text-muted)}.biome-card.locked:before{content:"";position:absolute;inset:0;background-size:180%;background-position:center center;background-repeat:no-repeat;border-radius:12px;overflow:hidden;z-index:0}.biome-card.locked:after{content:"";position:absolute;inset:0;background:#ffffff26;border-radius:12px;z-index:0;pointer-events:none}.biome-card.locked[data-biome-id=forest]:before{background-image:url(../assets/backgrounds/forest-bg.png)}.biome-card.locked[data-biome-id=mountain]:before{background-image:url(../assets/backgrounds/mountain-bg.png)}.biome-card.locked[data-biome-id=coastal]:before{background-image:url(../assets/backgrounds/coastal-bg.png)}.biome-card.locked[data-biome-id=arid]:before{background-image:url(../assets/backgrounds/arid-bg.png)}.biome-card.locked[data-biome-id=tundra]:before{background-image:url(../assets/backgrounds/tundra-bg.png)}.biome-card.locked .biome-locked-content{display:flex;flex-direction:row;align-items:stretch;min-height:150px;position:relative;z-index:2}.biome-locked-left{flex:1;display:flex;align-items:center;justify-content:center;border-right:2px solid var(--border);background:#00000080}.biome-locked-right{flex:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);gap:var(--space-sm);background:#00000080}.biome-card.locked .lock-icon{font-size:48px;position:static;transform:none}.biome-card.locked h3{font-family:var(--font-header);font-size:18px;color:var(--text-primary);margin:0}.biome-card.locked .unlock-requirement{font-size:14px;color:var(--text-secondary)}.biome-card.locked .unlock-biome-btn{background:var(--bg-accent);color:var(--text-primary);border:none;padding:var(--space-sm) var(--space-lg);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition-fast)}.biome-card.locked .unlock-biome-btn:hover{background:var(--rarity-3)}.biome-card.unlocked .forager-row:before{content:"";position:absolute;top:calc(-1 * var(--space-md));left:calc(-1 * var(--space-md));right:calc(-1 * var(--space-md));bottom:calc(-1 * var(--space-md));background-size:130%;background-position:center center;background-repeat:no-repeat;border-radius:12px 12px 0 0;z-index:-2;mask-image:linear-gradient(to bottom,#000 0% 85%,#0000);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%)}.biome-card.unlocked .forager-row:after{content:"";position:absolute;top:calc(-1 * var(--space-md));left:calc(-1 * var(--space-md));right:calc(-1 * var(--space-md));bottom:calc(-1 * var(--space-md));background:#ffffff26;border-radius:12px 12px 0 0;z-index:-1;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0% 85%,#0000);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%)}.biome-card.unlocked[data-biome-id=forest] .forager-row:before{background-image:url(../assets/backgrounds/forest-bg.png)}.biome-card.unlocked[data-biome-id=mountain] .forager-row:before{background-image:url(../assets/backgrounds/mountain-bg.png)}.biome-card.unlocked[data-biome-id=coastal] .forager-row:before{background-image:url(../assets/backgrounds/coastal-bg.png)}.biome-card.unlocked[data-biome-id=arid] .forager-row:before{background-image:url(../assets/backgrounds/arid-bg.png)}.biome-card.unlocked[data-biome-id=tundra] .forager-row:before{background-image:url(../assets/backgrounds/tundra-bg.png)}.biome-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);border-bottom:1px solid var(--border);padding-bottom:var(--space-sm);position:relative;z-index:2}.biome-header h3{font-family:var(--font-header);font-size:18px;color:var(--text-primary)}.tap-rate-display{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.biome-body{display:flex;flex-direction:column;gap:var(--space-md);position:relative;z-index:2}.forager-row{display:flex;gap:var(--space-sm);justify-content:space-around;position:relative;z-index:2;min-height:80px}.survey-row{border-top:1px solid var(--border);padding-top:var(--space-md)}.survey-section{display:flex;gap:var(--space-md);align-items:flex-start}.surveyor-slot{width:auto;height:auto;border-radius:0;display:flex;align-items:center;justify-content:center;position:relative;border:none;background:transparent;cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.surveyor-slot:hover{transform:scale(1.05)}.surveyor-slot:hover .frame-ring{stroke:var(--info);stroke-width:3}.surveyor-slot.empty,.surveyor-slot.active{border:none;background:transparent}.surveyor-icon{width:62px;height:62px;object-fit:contain}.bird-rings-large{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}.bird-rings-large circle{fill:none;stroke-width:4}.bird-rings-large .frame-ring{stroke:var(--rarity-3);opacity:.8}.bird-rings-large .frame-ring.empty-frame{stroke:var(--border-light);opacity:.3;stroke-dasharray:4,4}.bird-rings-large .vitality-ring-bg{stroke:#4caf5033}.bird-rings-large .vitality-ring-fill{stroke:var(--success);stroke-dasharray:195;stroke-dashoffset:195;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.bird-rings-large .maturity-ring-bg{stroke:#2196f333}.bird-rings-large .maturity-ring-fill{stroke:var(--info);stroke-dasharray:157;stroke-dashoffset:157;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.bird-slot{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);cursor:pointer;transition:var(--transition-fast)}.bird-slot:hover{transform:scale(1.05)}.bird-slot:hover .frame-ring{stroke:var(--info);stroke-width:3}.bird-slot.locked .frame-ring{opacity:.6}.bird-slot.locked .forager-empty-icon{top:48%}.bird-slot.locked .slot-label{background:#0006;padding:2px 8px;border-radius:8px;opacity:.8}.slot-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;border:2px solid var(--border);background:var(--bg-accent)}.forager-icon-wrapper{position:relative;width:50px;height:50px}.forager-icon-wrapper .bird-rings{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.forager-icon-wrapper .vitality-ring-fill{stroke-dasharray:251!important}.forager-icon-wrapper .frame-ring{stroke-dasharray:276!important}.forager-icon-wrapper .forager-bird-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;object-fit:contain;z-index:1}.forager-icon-wrapper .lock-icon-small{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px}.forager-icon-wrapper .forager-empty-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;z-index:10;opacity:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.surveyor-icon-wrapper{position:relative;width:90px;height:90px;display:flex;align-items:center;justify-content:center}.surveyor-icon-wrapper .bird-rings{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.surveyor-icon-wrapper .surveyor-bird-icon{width:100%;max-width:75px;height:auto;object-fit:contain;position:relative;z-index:1;border-radius:50%}.surveyor-icon-wrapper .surveyor-empty-icon{font-size:48px;position:relative;z-index:10;opacity:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.slot-circle.locked{border-color:var(--text-muted)}.slot-circle.empty{border-color:var(--border-light);background:var(--bg-primary)}.slot-circle.active{border-color:transparent}.slot-bird-icon{width:48px;height:48px;object-fit:contain}.lock-icon-small{font-size:24px}.bird-rings-small{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}.bird-rings-small circle{fill:none;stroke-width:6}.bird-rings-small .frame-ring{stroke:var(--border-light);stroke-width:2}.bird-rings-small .frame-ring.empty-frame{stroke:var(--border-light);opacity:.3;stroke-dasharray:4,4}.bird-rings-small .vitality-ring-bg{stroke:#4caf504d}.bird-rings-small .vitality-ring-fill{stroke:var(--success);stroke-dasharray:195;stroke-dashoffset:195;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.forager-rings .vitality-ring-fill{stroke-dasharray:220;stroke-dashoffset:220}.bird-rings-small .maturity-ring-bg{stroke:#2196f333}.bird-rings-small .maturity-ring-fill{stroke:var(--info);stroke-dasharray:157;stroke-dashoffset:157;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.forager-rings .maturity-ring-fill{stroke-dasharray:188;stroke-dashoffset:188}.slot-label{font-size:11px;color:var(--text-secondary);text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bg-accent);padding:4px 8px;border-radius:12px;cursor:pointer;transition:var(--transition-fast);border:1px solid var(--border)}.slot-label:hover{background:var(--rarity-3);color:var(--text-primary);border-color:var(--rarity-3)}.slot-label:active{transform:scale(.95)}.survey-progress-section{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.surveyor-label{align-self:flex-start;margin-top:2px}.survey-label{font-size:12px;color:var(--text-secondary);font-weight:500}.progress-bar{height:16px;background:var(--bg-primary);border-radius:8px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:var(--transition-fast)}.progress-bar:hover{border-color:var(--rarity-3)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--rarity-3),var(--rarity-5));transition:width .3s ease}.progress-text{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono);text-align:right}.celebration-overlay.biome-celebration{position:absolute;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px;animation:fadeIn .3s ease}.celebration-content.biome-content{text-align:center;padding:var(--space-md)}.celebration-header{font-size:18px;font-weight:600;margin-bottom:var(--space-md);color:var(--currency)}.bird-discovery-info{display:flex;align-items:center;gap:var(--space-md)}.celebration-bird-img-small{width:64px;height:64px;object-fit:contain;border-radius:50%}.bird-details{text-align:left}.bird-name{font-size:16px;font-weight:500;margin-bottom:var(--space-xs)}.bird-rarity{font-size:14px;margin-bottom:var(--space-xs)}.bird-traits{font-size:12px;color:var(--text-secondary)}.exhausted-notification{position:absolute;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px;opacity:0;transition:opacity .3s ease}.exhausted-content{text-align:center;padding:var(--space-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.exhausted-icon{font-size:48px;opacity:.7}.exhausted-text{display:flex;flex-direction:column;gap:var(--space-xs)}.exhausted-bird-name{font-size:16px;font-weight:600;color:var(--text-primary)}.exhausted-message{font-size:14px;color:var(--text-secondary)}.exhausted-hint{font-size:12px;color:var(--text-muted);font-style:italic}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-150%)}}.tutorial-arrow{position:fixed;font-size:48px;color:gold;text-shadow:0 0 10px rgba(255,215,0,.8),0 0 20px rgba(255,215,0,.6);z-index:10000;pointer-events:none;opacity:0;transition:opacity .3s ease;transform:translate(-50%,-50%)}.tutorial-arrow.visible{opacity:1;animation:tutorialBounce .8s ease-in-out infinite}@keyframes tutorialBounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}.tutorial-arrow[data-direction=up]{animation:tutorialBounceUp .8s ease-in-out infinite}.tutorial-arrow[data-direction=down]{animation:tutorialBounceDown .8s ease-in-out infinite}.tutorial-arrow[data-direction=left]{animation:tutorialBounceLeft .8s ease-in-out infinite}.tutorial-arrow[data-direction=right]{animation:tutorialBounceRight .8s ease-in-out infinite}@keyframes tutorialBounceUp{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(10px)}}@keyframes tutorialBounceDown{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}@keyframes tutorialBounceLeft{0%,to{transform:translate(-50%,-50%) translate(0)}50%{transform:translate(-50%,-50%) translate(10px)}}@keyframes tutorialBounceRight{0%,to{transform:translate(-50%,-50%) translate(0)}50%{transform:translate(-50%,-50%) translate(-10px)}}.hint-glow{animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{box-shadow:0 0 10px 2px #ffd700cc}50%{box-shadow:0 0 20px 6px #ffd70099}}.modal-text{font-size:16px;line-height:1.6;color:#333;margin:0 0 20px}.modal-text-italic{font-size:16px;line-height:1.6;color:#555;font-style:italic;margin:0 0 20px}.modal-text-bold{font-size:18px;line-height:1.6;color:#222;font-weight:700;margin:0 0 20px}.celebration-modal{text-align:center}.bird-celebration-card{display:flex;flex-direction:column;align-items:center;gap:15px;margin:20px 0}.bird-icon-large{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.bird-rings{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.bird-ring{position:absolute;border-radius:50%;border:2px solid;pointer-events:none}.bird-ring.ring-1{width:100%;height:100%;border-color:#888}.bird-ring.ring-2{width:83%;height:83%;border-color:#4caf50}.bird-ring.ring-3{width:66%;height:66%;border-color:#2196f3}.bird-ring.ring-4{width:49%;height:49%;border-color:#9c27b0}.bird-ring.ring-5{width:32%;height:32%;border-color:gold}.bird-sprite{font-size:60px;z-index:1;position:relative}.bird-sprite-img{width:80px;height:80px;object-fit:cover;z-index:1;position:relative;border-radius:50%;overflow:hidden}.bird-celebration-name{font-size:20px;font-weight:600;color:#fff}.bird-celebration-stars{font-size:24px}.tutorial-hidden{display:none!important}.tutorial-disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.nav-button .lock-icon{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:12px;white-space:nowrap}.nav-button .lock-icon .seeds-icon{font-size:11px}
