:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--brown-900: #1C1208;--brown-800: #2E1F0F;--brown-700: #3E2723;--brown-600: #5C3317;--brown-500: #8D6E63;--green-glow: rgba(100, 255, 100, .15);--gold: #DAA520}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--brown-900);color:linen}.app{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.hero{text-align:center;padding:3rem 0 2rem}.hero-icon{font-size:4rem;margin-bottom:1rem;animation:bob 2s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero h1{font-size:2.2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem;background:linear-gradient(135deg,#FAF0E6,var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{color:#faf0e699;font-size:1.1rem;max-width:500px;margin:0 auto}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:3rem}.info-card{background:var(--brown-800);border:1px solid rgba(141,110,99,.2);border-radius:.75rem;padding:1.5rem;transition:transform .2s,border-color .2s}.info-card:hover{transform:translateY(-2px);border-color:#daa52066}.info-icon{font-size:1.5rem;display:block;margin-bottom:.5rem}.info-card h3{margin:0 0 .4rem;font-size:1rem;font-weight:600;color:linen}.info-card p{margin:0;font-size:.85rem;color:#faf0e68c;line-height:1.45}.simulation-section{margin-bottom:3rem}.simulation-section h2,.colony-section h2,.lifecycle-section h2,.facts-section h2{font-size:1.4rem;font-weight:600;margin:0 0 .5rem;color:linen}.section-desc{color:#faf0e680;font-size:.9rem;margin:0 0 1.25rem;max-width:600px}.canvas-wrap{position:relative;border-radius:.75rem;overflow:hidden;border:1px solid rgba(141,110,99,.25);background:var(--brown-900)}.ant-canvas{display:block;width:100%;height:400px}.canvas-controls{position:absolute;bottom:.75rem;right:.75rem;background:#1c1208d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(141,110,99,.2);border-radius:.5rem;padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem}.canvas-controls label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#faf0e699}.canvas-controls input[type=range]{width:80px;accent-color:var(--gold)}.canvas-controls span{font-weight:600;color:var(--gold);min-width:2ch}.colony-section{margin-bottom:3rem}.colony-bars{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.bar-item{background:var(--brown-800);border:1px solid rgba(141,110,99,.15);border-radius:.5rem;padding:1rem 1.25rem}.bar-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.bar-role{font-weight:600;font-size:.95rem}.bar-pct{font-size:.8rem;color:var(--gold);font-weight:600}.bar-track{height:6px;background:#8d6e6326;border-radius:3px;overflow:hidden;margin-bottom:.4rem}.bar-fill{height:100%;background:linear-gradient(90deg,var(--brown-600),var(--gold));border-radius:3px;transition:width 1s ease}.bar-desc{margin:0;font-size:.8rem;color:#faf0e673}.lifecycle-section{margin-bottom:3rem}.lifecycle-stages{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.stage{display:flex;align-items:center;gap:.5rem;background:var(--brown-800);border:1px solid rgba(141,110,99,.2);border-radius:.5rem;padding:.75rem 1rem}.stage-icon{font-size:1.5rem}.stage-name{font-weight:600;font-size:.9rem}.stage-duration{font-size:.75rem;color:#faf0e673}.stage-arrow{font-size:1.2rem;color:var(--gold);margin:0 .25rem}.facts-section{margin-bottom:3rem}.facts-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.facts-list li{background:var(--brown-800);border:1px solid rgba(141,110,99,.15);border-radius:.5rem;font-size:.875rem;color:#faf0e6b3;position:relative;padding:.85rem 1rem .85rem 1.75rem}.facts-list li:before{content:"uD83DuDC1C";position:absolute;left:.6rem;top:.75rem;font-size:.75rem}.footer{text-align:center;padding:2rem 0;border-top:1px solid rgba(141,110,99,.15);margin-top:1rem}.footer p{margin:0;font-size:.85rem;color:#faf0e659;font-style:italic}
