@font-face{font-family:Alegreya;src:url(/assets/alegreya-latin-wght-normal-BG9rTJo4.woff2)format("woff2");font-weight:400 900;font-display:swap}@font-face{font-family:Alegreya Sans;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Alegreya Sans;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Alegreya Sans;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Alegreya Sans;src:url(/assets/alegreya-sans-latin-800-normal-CpHsWMQ0.woff2)format("woff2");font-weight:800;font-display:swap}:root{--bg0:#04141b;--bg1:#082430;--bg2:#0d3341;--panel:#0e343e9e;--panel-solid:#0f3542;--line:#96ebd224;--text:#e8fbf4;--muted:#94b9b0;--mint:#5ff0b8;--mint2:#2fcf95;--gold:#f6cf5a;--danger:#ff7b7b;--dead:#b49b80;--shadow:0 18px 50px #00000059;--radius:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dawn]{--bg0:#d6ede6;--bg1:#e7f5f0;--bg2:#f6fbf8;--panel:#ffffffb3;--panel-solid:#fff;--line:#145a4624;--text:#12352c;--muted:#4e7268;--mint:#12a874;--mint2:#0f8e62;--gold:#c58f10;--shadow:0 18px 40px #14463c26;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:radial-gradient(1200px 800px at 70% -10%, #134b55 0%, transparent 60%), radial-gradient(900px 700px at 0% 100%, #0b3a3a 0%, transparent 60%), linear-gradient(180deg, var(--bg1), var(--bg0));-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Alegreya Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:16px}html[data-theme=dawn] body{background:radial-gradient(1000px 700px at 75% -10%, #fff3d6 0%, transparent 60%), linear-gradient(180deg, var(--bg2), var(--bg0))}h1,h2,h3{letter-spacing:.01em;margin:0;font-family:Alegreya,Georgia,serif;font-weight:700}h1{font-size:34px}h2{font-size:21px}h3{font-size:18px}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:14px}.hint{color:var(--muted);margin:6px 0 0;font-size:13.5px}.center{text-align:center}.grow{flex:1}.row{align-items:center;display:flex}.gap{gap:8px}.wrap{flex-wrap:wrap}.error{color:var(--danger);margin:0;font-size:14px}.sky{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.sky i{opacity:0;width:4px;height:4px;animation:firefly calc(9s + var(--i) * .6s) ease-in-out infinite;animation-delay:calc(var(--i) * -1.3s);background:#eaffc2;border-radius:50%;position:absolute;box-shadow:0 0 10px 3px #dcff968c}html[data-theme=dawn] .sky i{background:#fff;box-shadow:0 0 8px 2px #ffdc8c99}@keyframes firefly{0%,to{opacity:0;transform:translate(0)}20%{opacity:.9}50%{opacity:.35;transform:translate(40px,-60px)}80%{opacity:.8;transform:translate(-30px,-20px)}}.app{min-height:100%;display:flex;position:relative}.sidebar{z-index:2;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#061e26bf,#04141b99);flex-direction:column;flex:none;gap:26px;width:236px;height:100vh;padding:26px 16px;display:flex;position:sticky;top:0}html[data-theme=dawn] .sidebar{background:#ffffff8c}.brand{align-items:center;gap:10px;padding:0 8px;font-family:Alegreya,serif;font-size:22px;font-weight:800;display:flex}.sidebar-foot{color:var(--muted);margin-top:auto;padding:0 10px;font-family:Alegreya,serif;font-style:italic}.nav{flex-direction:column;gap:4px;display:flex}.nav-item{cursor:pointer;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:11px 14px;font-size:16.5px;font-weight:500;transition:background .2s,color .2s;display:flex}.nav-item:hover:not(:disabled){color:var(--text);background:#5ff0b814}.nav-item.on{color:var(--text);box-shadow:inset 3px 0 0 var(--mint);background:linear-gradient(90deg,#5ff0b833,#5ff0b80d)}.nav-item:disabled{opacity:.35;cursor:not-allowed}.nav-bottom{display:none}.main{z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.topbar{align-items:center;padding:18px 32px 0;display:flex}.mobile-only{display:none}.content{flex:1;padding:10px 32px 40px}.coin-balance{color:var(--gold);background:#f6cf5a1f;border:1px solid #f6cf5a59;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:17px;font-weight:800;transition:transform .3s;display:inline-flex}.coin-balance.bump{animation:.7s bump}@keyframes bump{30%{transform:scale(1.18);box-shadow:0 0 24px #f6cf5a99}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn{cursor:pointer;background:#ffffff0f;border:1px solid #0000;border-radius:12px;padding:10px 18px;font-weight:700;transition:transform .15s,background .2s,box-shadow .2s,opacity .2s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{border-radius:10px;padding:7px 13px;font-size:14.5px}.btn.primary{background:linear-gradient(135deg, var(--mint), var(--mint2));color:#032119;box-shadow:0 6px 20px #2fcf954d}.btn.ghost{border-color:var(--line);background:0 0}.btn.ghost:hover:not(:disabled){background:#ffffff0f}.btn.danger{color:#fff;background:#d9534f}.danger-text{color:var(--danger)}.icon-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;width:36px;height:36px;font-size:20px;line-height:1}.icon-btn:disabled{opacity:.3;cursor:default}.seg{border:1px solid var(--line);background:#00000038;border-radius:12px;gap:2px;padding:4px;display:inline-flex}html[data-theme=dawn] .seg{background:#145a4612}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:7px 14px;font-weight:700}.seg button.on{background:var(--panel-solid);color:var(--text);box-shadow:0 2px 10px #0003}.seg button:disabled{opacity:.5}.seg.wide{display:flex}.seg.wide button{flex:1}.switch{cursor:pointer;background:#ffffff26;border:0;border-radius:99px;flex:none;width:46px;height:26px;position:relative}.switch span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch.on{background:var(--mint2)}.switch.on span{transform:translate(20px)}select,input[type=text],.tag-form input{border:1px solid var(--line);background:#00000040;border-radius:10px;padding:8px 10px}html[data-theme=dawn] select,html[data-theme=dawn] .tag-form input{background:#fff}select option{background:var(--panel-solid)}.tree{display:block;overflow:visible}.tree-stage{transform-box:fill-box;transform-origin:50% 100%;animation:.9s cubic-bezier(.2,1.4,.4,1) grow-in}@keyframes grow-in{0%{opacity:.2;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.tree-glow{animation:3.2s ease-in-out infinite twinkle}.tree-sparkle{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.45}}.ember{animation:2.6s ease-in infinite ember}@keyframes ember{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-26px)}}.petal{animation:5s ease-in-out infinite petal}@keyframes petal{50%{transform:translate(6px,4px)}}.tree--dead{filter:saturate(.6)}.growing-tree,.preview-tree{transform-origin:50% 100%;animation:6s ease-in-out infinite sway}@keyframes sway{50%{transform:rotate(1.2deg)}}.focus-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:center;gap:40px;max-width:1180px;min-height:calc(100vh - 120px);margin:0 auto;display:grid}.focus-layout.running{grid-template-columns:1fr}.focus-stage{flex-direction:column;align-items:center;gap:10px;display:flex}.ring-wrap{aspect-ratio:1;width:min(390px,80vw);position:relative}.ring{width:100%;height:100%;position:absolute;inset:0}.ring-track{fill:#05192073;stroke:#96ebd21f;stroke-width:12px}html[data-theme=dawn] .ring-track{fill:#fff9}.ring-bar{fill:none;stroke:url(#ring-grad);stroke-width:12px;stroke-linecap:round;filter:drop-shadow(0 0 8px #7cf5c899);transition:stroke-dashoffset .3s linear}.ring-inner{background:radial-gradient(circle at 50% 70%,#5ff0b829,#0000 65%);border-radius:50%;place-items:center;display:grid;position:absolute;inset:12%}.ring-inner .tree{width:74%;height:auto}.pulsing .ring-inner{animation:5s ease-in-out infinite breathe}@keyframes breathe{50%{box-shadow:0 0 60px #5ff0b82e}}.big-clock{letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 30px #5ff0b859;font-family:Alegreya Sans,sans-serif;font-size:76px;font-weight:800;line-height:1}.stage-line{color:var(--mint);align-items:center;gap:10px;margin:0;font-weight:700;display:flex}.stage-dot{background:var(--mint);width:8px;height:8px;box-shadow:0 0 10px var(--mint);border-radius:50%}.quote{margin:2px 0 8px;font-family:Alegreya,serif;font-size:18px;font-style:italic}.run-actions{gap:12px;margin:4px 0 6px;display:flex}.run-actions .btn{min-width:150px;padding:12px 20px}.focus-panel{flex-direction:column;gap:20px;padding:24px;display:flex}.field{flex-direction:column;gap:10px;display:flex}.field-label{color:var(--muted);justify-content:space-between;font-weight:500;display:flex}.field-label strong{color:var(--text)}.range-ends{color:var(--muted);justify-content:space-between;margin-top:-4px;font-size:12.5px;display:flex}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--mint) var(--p,50%), #ffffff24 var(--p,50%));border-radius:6px;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:4px solid var(--mint2);background:#fff;border-radius:50%;width:22px;height:22px;margin-top:-8px;box-shadow:0 0 12px #5ff0b899}input[type=range]::-moz-range-track{background:#ffffff24;border-radius:6px;height:6px}input[type=range]::-moz-range-progress{background:var(--mint);border-radius:6px;height:6px}input[type=range]::-moz-range-thumb{border:4px solid var(--mint2);background:#fff;border-radius:50%;width:16px;height:16px}.species-pick{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.species-chip{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;background:#0000002e;border-radius:14px;place-items:center;min-width:0;padding:4px;transition:all .2s;display:grid;overflow:hidden}.species-chip .tree{width:100%;height:auto;max-height:100%}.species-chip:hover{border-color:#5ff0b880}.species-chip.on{border-color:var(--mint);background:#5ff0b824;box-shadow:0 0 18px #5ff0b840}.tag-pick{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:99px;align-items:center;gap:7px;padding:6px 12px;font-size:14.5px;font-weight:500;display:inline-flex}.tag-chip i{background:var(--tag);border-radius:50%;width:9px;height:9px}.tag-chip.on{border-color:var(--tag);background:color-mix(in srgb, var(--tag) 18%, transparent)}.tag-chip.mini{color:var(--text);cursor:default;padding:2px 10px;font-size:13px}.ambient{align-items:center;gap:10px;display:flex}.ambient select{flex:1;min-width:150px}.ambient input[type=range]{width:110px}.ambient-ico{color:var(--mint)}.btn.plant{color:#032119;background:linear-gradient(135deg,#7cf5c8,#27c48c 60%,#1aa078);border-radius:16px;padding:16px;font-family:Alegreya,serif;font-size:21px;position:relative;overflow:hidden;box-shadow:0 10px 30px #27c48c73}.btn.plant:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff8c 50%,#0000 70%);animation:3.2s ease-in-out infinite shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes shine{60%,to{transform:translate(100%)}}.warning-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#28060ac7;place-items:center;animation:.2s fade;display:grid;position:fixed;inset:0}.warning-box{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:30px;display:flex}.warning-box h2{color:#ffd2c2;font-size:40px}.warning-count{color:#ff8a7a;text-shadow:0 0 40px #ff645ab3;font-size:120px;font-weight:800;line-height:1;animation:1s infinite tick}@keyframes tick{50%{transform:scale(1.08)}}.shiver{animation:.4s infinite shiver}@keyframes shiver{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes fade{0%{opacity:0}}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020c10a6;place-items:center;padding:20px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{background:var(--panel-solid);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:22px;padding:26px;animation:.3s cubic-bezier(.2,1.4,.4,1) pop-in;position:relative;overflow:hidden}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}.modal-title{margin-bottom:8px}.modal-body{color:var(--muted);line-height:1.5}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.modal-actions.center{justify-content:center}.result.alive{background:radial-gradient(circle at 50% 30%, #1b5b55, var(--panel-solid) 70%)}.result.dead{background:radial-gradient(circle at 50% 30%, #3b3330, var(--panel-solid) 70%)}.result-tree{place-items:center;margin-bottom:8px;display:grid}.result .center{margin:6px 0}.reward{color:var(--gold);justify-content:center;align-items:center;gap:8px;margin:10px 0;font-size:28px;font-weight:800;display:flex}.pop{animation:.8s cubic-bezier(.2,1.6,.4,1) pop-in}.wilt{transform-origin:50% 100%;animation:1.6s ease-out both wilt}@keyframes wilt{0%{filter:saturate(1.4);transform:rotate(0)}to{transform:rotate(-3deg)translateY(4px)}}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{background:var(--gold);width:7px;height:11px;animation:2.4s ease-in forwards confetti;animation-delay:calc(var(--i) * 40ms);border-radius:2px;position:absolute;top:-10px}.confetti i:nth-child(3n){background:var(--mint)}.confetti i:nth-child(4n){background:#ffc2dc}@keyframes confetti{to{opacity:0;transform:translateY(560px)rotate(720deg)}}.view{flex-direction:column;gap:20px;max-width:1180px;margin:0 auto;display:flex}.view.narrow{max-width:760px}.view-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.view-head p{flex-basis:100%;margin:0}.period-picker{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.period-nav{align-items:center;gap:8px;display:flex}.period-label{text-align:center;min-width:200px;font-weight:700}.summary-row{flex-wrap:wrap;gap:10px;display:flex}.pill{background:var(--panel);border:1px solid var(--line);border-radius:99px;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.dot{border-radius:50%;width:10px;height:10px}.dot.alive{background:var(--mint);box-shadow:0 0 8px var(--mint)}.dot.dead{background:var(--dead)}.island-wrap{place-items:center;padding:10px 0 30px;display:grid}.island{background:radial-gradient(at 50% 35%,#3f8f5a 0%,#2c6e47 45%,#1f5238 70%,#163c2b 100%);border-radius:50%/38%;place-items:center;width:min(100%,980px);min-height:440px;padding:50px 60px 80px;display:grid;position:relative;box-shadow:inset 0 -18px #4a3426,inset 0 -30px #36261c,0 40px 80px #00000073,0 0 0 1px #96ebd21f}html[data-theme=dawn] .island{background:radial-gradient(at 50% 35%,#8fd38a,#5fae6c 60%,#4d9159)}.island:before{content:"";pointer-events:none;background:radial-gradient(#b4ffc82e,#0000 70%);border-radius:50%;position:absolute;inset:8% 10% 22%}.grove{grid-template-columns:repeat(var(--cols), var(--tree));justify-content:center;gap:4px 10px;display:grid;position:relative}.grove-tree{animation:.6s both grow-in;animation-delay:var(--d);outline:none;position:relative}.grove-tree:nth-child(2n){transform:translateY(14px)}.grove-tree .tree{width:var(--tree);transform-origin:50% 100%;height:auto;transition:transform .2s}.grove-tree:hover .tree,.grove-tree:focus .tree{transform:scale(1.12)}.tip{background:var(--panel-solid);border:1px solid var(--line);white-space:nowrap;opacity:0;pointer-events:none;z-index:5;box-shadow:var(--shadow);border-radius:10px;padding:8px 12px;font-size:13px;transition:all .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.grove-tree:hover .tip,.grove-tree:focus .tip{opacity:1}.tag-dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.tag-dot.big{width:16px;height:16px}.empty{text-align:center;color:var(--text)}.empty p{margin:4px}.empty .tree{margin:0 auto}.stat-cards{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.stat{flex-direction:column;gap:4px;padding:18px;display:flex}.stat span{color:var(--muted);font-size:14px}.stat strong{font-size:30px;font-weight:800}.alive-text{color:var(--mint)}.dead-text{color:var(--dead)}.stats-grid{grid-template-columns:1.5fr 1fr;gap:14px;display:grid}.chart-card{padding:20px}.chart-card h2{margin-bottom:14px}.span2{grid-column:span 2}.bars{width:100%;height:auto}.bars .bar{fill:var(--mint);opacity:.9}.bars .bar:hover{opacity:1;fill:var(--gold)}.bars .grid{stroke:var(--line);stroke-dasharray:4 4}.axis{fill:var(--muted);font-size:12px}.donut-wrap{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.donut{flex:none;width:180px}.donut-track{fill:none;stroke:#ffffff12;stroke-width:26px}.donut-total{fill:var(--text);font-size:20px;font-weight:800}.legend{flex-direction:column;flex:1;gap:8px;min-width:160px;margin:0;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:8px;font-size:14.5px;display:flex}.species-stats{flex-wrap:wrap;gap:14px;display:flex}.species-stat{background:#00000026;border-radius:14px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.species-stat div{flex-direction:column;display:flex}.section-title{margin-top:10px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.shop-item{flex-direction:column;gap:6px;padding:16px;transition:transform .2s,border-color .2s;display:flex}.shop-item:hover{border-color:#5ff0b859;transform:translateY(-3px)}.shop-item p{flex:1;margin:0}.shop-art{background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--glow) 22%, transparent), transparent 70%);border-radius:14px;place-items:center;padding:8px 0;display:grid}.shop-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.price{color:var(--gold);align-items:center;gap:5px;font-weight:800;display:inline-flex}.sound-list{flex-direction:column;gap:10px;display:flex}.sound-item{align-items:center;gap:14px;padding:14px 16px;display:flex}.sound-item p{margin:2px 0 0}.play{color:var(--mint);font-size:14px}.play.on{background:#5ff0b826}.tag-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tag-row{align-items:center;gap:12px;padding:12px 16px;display:flex}.tag-form{flex-direction:column;gap:12px;padding:16px;display:flex}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:30px;height:30px}.swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--panel-solid) inset}.settings{padding:6px 20px}.setting{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.setting:last-of-type{border-bottom:0}.setting p{margin:2px 0 0}.how{padding:20px 24px}.how ol{padding-left:20px;line-height:1.6}@media (max-width:1100px){.stat-cards{grid-template-columns:repeat(3,1fr)}.focus-layout{grid-template-columns:1fr 360px;gap:24px}}@media (max-width:860px){.sidebar{display:none}.mobile-only{padding:0;font-size:19px;display:flex}.topbar{padding:14px 16px 0}.content{padding:10px 16px 100px}.nav-bottom{z-index:30;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05181feb;flex-direction:row;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}html[data-theme=dawn] .nav-bottom{background:#ffffffeb}.nav-bottom .nav-item{flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:11.5px}.nav-bottom .nav-item.on{box-shadow:none;background:#5ff0b81f}.focus-layout{grid-template-columns:1fr;min-height:0}.big-clock{font-size:60px}.stat-cards{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr}.span2{grid-column:auto}.island{min-height:320px;padding:40px 20px 70px}.period-label{min-width:0}h1,.warning-box h2{font-size:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
