:root{--bg: #0d1a0f;--bg-card: #162318;--bg-slot: #1a2e1d;--bg-hover: #1f3322;--text: #e8f0e4;--text-dim: #8fa88a;--text-bright: #f0f7ec;--green: #4ade80;--green-dark: #22c55e;--brown: #a67c52;--gold: #facc15;--red: #ef4444;--blue: #60a5fa;--purple: #a855f7;--orange: #f97316;--border: rgba(255, 255, 255, .08);--radius: 10px;--radius-lg: 16px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}.game{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0f2012,#1a3320);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.topbar-brand{display:flex;align-items:center;gap:.5rem}.topbar-dino{font-size:1.6rem;filter:drop-shadow(0 0 6px rgba(74,222,128,.4))}.topbar-brand h1{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#4ade80,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.topbar-stats{display:flex;gap:1.25rem;align-items:center}.stat{display:flex;align-items:center;gap:.35rem;background:#0000004d;padding:.35rem .75rem;border-radius:20px;border:1px solid var(--border);position:relative}.stat-icon{font-size:1rem}.stat-val{font-weight:700;font-size:.9rem;color:var(--text-bright);min-width:2rem}.xp-bar-mini{position:absolute;bottom:-2px;left:10%;right:10%;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:2px;transition:width .3s}.nav{display:flex;gap:.25rem;padding:.5rem 1rem;background:#0003;border-bottom:1px solid var(--border);overflow-x:auto}.nav-btn{flex:1;min-width:80px;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);cursor:pointer;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;position:relative}.nav-btn:hover{background:var(--bg-hover);color:var(--text)}.nav-btn.active{background:#4ade801a;border-color:#4ade804d;color:var(--green)}.nav-icon{font-size:1.3rem}.nav-label{font-size:.65rem}.badge{position:absolute;top:2px;right:6px;background:var(--red);color:#fff;font-size:.55rem;font-weight:700;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center}.main{flex:1;padding:1.5rem;max-width:1200px;margin:0 auto;width:100%}.view{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.view-header h2{font-size:1.4rem;font-weight:700}.btn{padding:.5rem 1rem;border:none;border-radius:var(--radius);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4ade80,#22c55e);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.btn-secondary{background:#ffffff14;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#ffffff1f}.btn-sm{padding:.3rem .6rem;font-size:.75rem}.btn-gem{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.btn-gem:hover:not(:disabled){box-shadow:0 4px 12px #a855f74d}.placing-banner{background:#4ade801a;border:1px solid rgba(74,222,128,.3);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.9rem}.unplaced-section{margin-bottom:1.25rem}.unplaced-section h3{font-size:.9rem;color:var(--text-dim);margin-bottom:.5rem}.unplaced-list{display:flex;gap:.5rem;flex-wrap:wrap}.dino-chip{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--bg-card);border:2px solid;border-radius:20px;color:var(--text);cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.dino-chip:hover{background:var(--bg-hover);transform:translateY(-1px)}.dino-chip-emoji{font-size:1.1rem}.park-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr)}.park-slot{aspect-ratio:1;background:var(--bg-slot);border:2px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}.park-slot.empty{border-style:dashed}.park-slot.empty:hover{border-color:#fff3;background:var(--bg-hover)}.park-slot.targetable{border-color:var(--green);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #4ade804d}50%{box-shadow:0 0 0 8px #4ade8000}}.park-slot.has-dino{background:linear-gradient(145deg,#1a2e1d,#162318);border-color:#4ade8033}.park-slot.has-dino:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d;border-color:#4ade8066}.slot-emoji{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.slot-name{font-size:.75rem;font-weight:700;margin-top:.25rem;text-align:center;color:var(--text-bright)}.slot-income{font-size:.65rem;color:var(--green);font-weight:600}.slot-remove{position:absolute;top:4px;right:4px;background:#ef4444cc;border:none;color:#fff;width:20px;height:20px;border-radius:50%;font-size:.6rem;cursor:pointer;opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.park-slot.has-dino:hover .slot-remove{opacity:1}.slot-empty-icon{font-size:2rem;color:#ffffff1a;font-weight:300}.incubator-status{font-size:.85rem;color:var(--text-dim);background:#0000004d;padding:.35rem .75rem;border-radius:20px}.shop-section{margin-bottom:2rem}.rarity-heading{font-size:1rem;font-weight:700;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.shop-card{background:var(--bg-card);border:2px solid;border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .25s}.shop-card:hover:not(.locked){transform:translateY(-3px);box-shadow:0 12px 32px #0000004d}.shop-card.locked{opacity:.45;filter:grayscale(.5)}.shop-emoji{font-size:3rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.shop-name{font-weight:700;font-size:1rem;text-align:center}.shop-desc{font-size:.75rem;color:var(--text-dim);text-align:center;line-height:1.4}.shop-stats{display:flex;gap:1rem;font-size:.75rem;color:var(--text-dim)}.shop-price{font-size:1rem;font-weight:700;color:var(--gold)}.shop-lock{font-size:.8rem;color:var(--text-dim)}.incubator-info{color:var(--text-dim);margin-bottom:1rem;font-size:.9rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-dim)}.empty-icon{font-size:3rem;display:block;margin-bottom:.75rem;opacity:.5}.egg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.egg-card{background:var(--bg-card);border:2px solid;border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.egg-emoji-wrap{position:relative;font-size:3rem}.egg-emoji{animation:wobble 2s ease-in-out infinite}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.egg-hatch-glow{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;background:radial-gradient(circle,rgba(74,222,128,.4),transparent 70%);border-radius:50%;animation:glow 1s ease-in-out infinite}@keyframes glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.egg-name{font-weight:700;font-size:.9rem}.egg-progress-bar{width:100%;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden}.egg-progress-fill{height:100%;border-radius:4px;transition:width 1s linear}.egg-time{font-size:.85rem;color:var(--text-dim);font-weight:600}.missions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.mission-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;transition:all .2s}.mission-card:hover{border-color:#ffffff26}.mission-card.completed{opacity:.6;border-color:#4ade8033}.mission-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.mission-header h3{font-size:1rem;font-weight:700}.mission-check{font-size:1.1rem}.mission-desc{font-size:.8rem;color:var(--text-dim);margin-bottom:.75rem}.mission-progress-bar{width:100%;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden;margin-bottom:.35rem}.mission-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green-dark));border-radius:3px;transition:width .5s}.mission-progress-text{font-size:.75rem;color:var(--text-dim);margin-bottom:.5rem}.mission-reward{font-size:.8rem;font-weight:600;color:var(--gold)}.collection-count{color:var(--text-dim);margin-bottom:1.25rem;font-size:.95rem}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.collection-card{background:var(--bg-card);border:2px solid;border-radius:var(--radius-lg);padding:1.25rem;text-align:center;transition:all .2s}.collection-card:hover:not(.undiscovered){transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.collection-card.undiscovered{opacity:.35;filter:grayscale(.7)}.collection-emoji{font-size:3rem;margin-bottom:.5rem}.collection-name{font-weight:700;font-size:1rem;margin-bottom:.25rem}.collection-rarity{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.collection-stats{font-size:.8rem;color:var(--text-dim);margin-bottom:.35rem}.collection-desc{font-size:.75rem;color:var(--text-dim);line-height:1.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;max-width:400px;width:90%;position:relative;box-shadow:0 24px 48px #00000080}.modal-close{position:absolute;top:.75rem;right:.75rem;background:#ffffff1a;border:none;color:var(--text-dim);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#fff3;color:var(--text)}.dino-detail{text-align:center}.dino-detail-emoji{font-size:4rem;margin-bottom:.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}.dino-detail h2{font-size:1.3rem;margin-bottom:.25rem}.dino-detail-rarity{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.dino-detail-desc{font-size:.85rem;color:var(--text-dim);margin-bottom:1.25rem;line-height:1.5}.dino-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.detail-stat{display:flex;flex-direction:column;gap:.15rem}.detail-label{font-size:.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.detail-val{font-weight:700;font-size:.95rem}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;padding:.75rem 1.5rem;border-radius:30px;font-weight:600;font-size:.9rem;z-index:300;animation:toastIn .3s ease,toastOut .3s ease 2.2s;box-shadow:0 8px 24px #22c55e66}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}@media(max-width:768px){.topbar{flex-direction:column;gap:.5rem;padding:.5rem 1rem}.topbar-stats{gap:.75rem}.main{padding:1rem}.park-grid{gap:.5rem}.slot-emoji{font-size:1.8rem}.slot-name{font-size:.6rem}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.missions-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media(max-width:480px){.stat-val{font-size:.8rem}.nav-btn{min-width:60px;padding:.4rem .5rem}.nav-icon{font-size:1.1rem}}
