@font-face{font-family:Marcellus;font-style:normal;font-display:swap;font-weight:400;src:url(./marcellus-latin-ext-400-normal-DkjSXVBo.woff2)format("woff2"),url(./marcellus-latin-ext-400-normal-D06jIo1e.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Marcellus;font-style:normal;font-display:swap;font-weight:400;src:url(./marcellus-latin-400-normal-86dSXJnk.woff2)format("woff2"),url(./marcellus-latin-400-normal-AvMY561b.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#e9e4f2;--ink-dim:#9b93ad;--panel:#100e22c7;--panel-deep:#0a0918eb;--line:#e9e4f224;--line-bright:#e9e4f252;--accent:#7ef0c8;--accent-deep:#2fae8c;--danger:#ff7e5f;--energy:#ffd86b;--strength:#ff6fa5;--speed:#6fd2ff;--font-display:"Marcellus", "Palatino", serif;--font-ui:"Outfit Variable", "Avenir Next", sans-serif;--ease-soft:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;background:#0d0c1e;font-size:15px;overflow:hidden}#app{position:fixed;inset:0}#game{cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}#ui .panel,#ui .screen,#ui .modal,#ui button,#ui input,#ui label{pointer-events:auto}#ui .hint,#ui .intro-card{pointer-events:none}#boot{z-index:50;transition:opacity .9s var(--ease-soft);background:radial-gradient(120% 90% at 50% 110%,#241b3e 0%,#12102a 55%,#0d0c1e 100%);place-content:center;gap:10px;display:grid;position:absolute;inset:0}#boot.gone{opacity:0;pointer-events:none}.boot-mark{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);text-align:center;font-size:clamp(34px,6vw,58px)}.boot-mark span{color:var(--accent)}.boot-sub{text-align:center;color:var(--ink-dim);letter-spacing:.35em;text-transform:uppercase;font-size:11px;animation:1.8s ease-in-out infinite boot-pulse}@keyframes boot-pulse{50%{opacity:.35}}.hidden{display:none!important}.hud{pointer-events:none;position:absolute;inset:0}.hud>*{pointer-events:auto}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);border-radius:14px;box-shadow:0 8px 32px #00000059}.topbar{pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:14px;left:14px;right:14px}.topbar>*{pointer-events:auto}.objective{max-width:min(440px,60vw);padding:10px 16px}.obj-name{font-family:var(--font-display);letter-spacing:.05em;font-size:17px}.obj-text{color:var(--ink-dim);margin-top:1px;font-size:12.5px}.obj-counts{letter-spacing:.06em;gap:12px;margin-top:5px;font-size:11.5px;display:flex}.count-you{color:var(--accent)}.count-rust{color:var(--danger)}.count-wild{color:var(--ink-dim)}.top-actions{gap:8px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--panel);width:38px;height:38px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:11px;font-size:14px;transition:border-color .2s,color .2s,transform .15s}.icon-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.icon-btn.active{color:var(--danger)}.world-panel{width:300px;transition:opacity .25s var(--ease-soft);flex-direction:column;gap:9px;padding:14px 16px;display:flex;position:absolute;bottom:14px;left:14px}.wp-name{font-family:var(--font-display);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;font-size:19px;display:flex}.owner-chip{font-family:var(--font-ui);letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--line-bright);border-radius:99px;padding:3px 9px;font-size:10px}.owner-chip.owner-1{color:var(--accent);border-color:#7ef0c873}.owner-chip.owner-2{color:var(--danger);border-color:#ff7e5f73}.owner-chip.owner-0{color:var(--ink-dim)}.wp-stats{flex-direction:column;gap:5px;display:flex}.stat-row{grid-template-columns:64px 1fr 30px;align-items:center;gap:9px;font-size:11.5px;display:grid}.stat-label{color:var(--ink-dim);letter-spacing:.04em}.stat-val{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.stat-bar{background:#e9e4f217;border-radius:4px;height:4px;overflow:hidden}.stat-fill{height:100%;transition:width .4s var(--ease-soft);border-radius:4px}.stat-fill-energy{background:var(--energy);box-shadow:0 0 7px var(--energy)}.stat-fill-strength{background:var(--strength);box-shadow:0 0 7px var(--strength)}.stat-fill-speed{background:var(--speed);box-shadow:0 0 7px var(--speed)}.wp-seeds{color:var(--ink-dim);letter-spacing:.03em;font-size:12.5px}.wp-slots{flex-wrap:wrap;gap:6px;display:flex}.slot-chip{border:1px solid var(--line);letter-spacing:.03em;border-radius:9px;flex:calc(50% - 6px);min-width:116px;padding:6px 9px 7px;font-size:11px;position:relative}.slot-chip.empty{text-align:center;color:#e9e4f240;border-style:dashed}.slot-chip.kind-suntree{border-color:#ffd86b59}.slot-chip.kind-thornguard{border-color:#ff6fa559}.slot-chip.kind-windspire{border-color:#6fd2ff59}.slot-chip.bloomed{box-shadow:inset 0 0 10px #ffe9f01f}.slot-chip.graft-target{cursor:pointer;animation:1.1s ease-in-out infinite graft-pulse}@keyframes graft-pulse{50%{border-color:#ffe9f0;box-shadow:0 0 12px #ffe9f059}}.slot-growth-track{background:#e9e4f217;border-radius:3px;height:3px;margin-top:5px;overflow:hidden}.slot-growth{background:var(--accent-deep);height:100%;transition:width .5s var(--ease-soft);border-radius:3px}.wp-row{flex-wrap:wrap;gap:6px;display:flex}.build-btn,.action-btn,.small-btn{border:1px solid var(--line);color:var(--ink);font-family:var(--font-ui);letter-spacing:.04em;cursor:pointer;background:#e9e4f20a;border-radius:9px;padding:7px 10px;font-size:11.5px;transition:border-color .18s,background .18s,color .18s,opacity .18s}.build-btn{flex:1}.build-btn:hover:not(:disabled),.action-btn:hover:not(:disabled),.small-btn:hover{border-color:var(--accent);color:var(--accent);background:#7ef0c812}.build-btn:disabled,.action-btn:disabled{opacity:.32;cursor:default}.action-btn.picking{border-color:var(--accent);color:var(--accent);animation:1.1s ease-in-out infinite graft-pulse}.graft-btn{border-color:#ffe9f066}.enrich-row .enrich-energy:hover{border-color:var(--energy);color:var(--energy);background:#ffd86b12}.enrich-row .enrich-strength:hover{border-color:var(--strength);color:var(--strength);background:#ff6fa512}.enrich-row .enrich-speed:hover{border-color:var(--speed);color:var(--speed);background:#6fd2ff12}.send-panel{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;display:flex;position:absolute;bottom:14px;right:14px}.send-title{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);font-size:10px}.send-row{gap:5px;display:flex}.send-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#e9e4f20a;border-radius:9px;padding:7px 11px;font-size:11.5px;transition:all .18s}.send-btn:hover{border-color:var(--accent);color:var(--accent)}.send-btn.active{border-color:var(--accent);color:var(--accent);background:#7ef0c824;box-shadow:0 0 12px #7ef0c833}.send-count{color:var(--ink-dim);text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.hint{background:var(--panel-deep);color:var(--ink);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:min(560px,80vw);animation:hint-in .5s var(--ease-soft);border:1px solid #7ef0c84d;border-radius:99px;padding:9px 20px;font-size:13px;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 6px 26px #0006}@keyframes hint-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}}.screens{pointer-events:none;position:absolute;inset:0}.screen{pointer-events:auto;animation:screen-in .45s var(--ease-soft);background:radial-gradient(90% 90%,#0a09182e 0%,#0a09189e 100%);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;display:flex;position:absolute;inset:0}@keyframes screen-in{0%{opacity:0}}.title-block{text-align:center;animation:title-rise .9s var(--ease-soft)}@keyframes title-rise{0%{opacity:0;transform:translateY(14px)}}.game-title{font-family:var(--font-display);letter-spacing:.02em;text-shadow:0 0 44px #7ef0c840;font-size:clamp(46px,9vw,92px);font-weight:400;line-height:1}.game-title .tw{color:var(--ink)}.game-title .tf{color:var(--accent)}.game-title-small{letter-spacing:.42em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:12px;font-size:12px}.menu-btns{width:min(320px,80vw);animation:title-rise .9s var(--ease-soft) .12s backwards;flex-direction:column;gap:10px;display:flex}.menu-btn{border:1px solid var(--line-bright);color:var(--ink);font-family:var(--font-ui);letter-spacing:.12em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s var(--ease-soft);background:#100e228c;border-radius:12px;padding:13px 18px;font-size:14px}.menu-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1.5px);box-shadow:0 6px 22px #7ef0c821}.menu-btn.primary{color:var(--accent);border-color:#7ef0c88c;box-shadow:0 0 24px #7ef0c81f}.menu-btn.back{opacity:.7;margin-top:6px}.menu-footer{letter-spacing:.34em;text-transform:uppercase;color:#9b93ad99;font-size:11px}.screen-title{font-family:var(--font-display);letter-spacing:.04em;font-size:clamp(30px,5vw,44px);font-weight:400}.screen-sub{color:var(--ink-dim);text-align:center;max-width:420px;margin-top:-10px;font-size:13.5px}.level-grid{grid-template-columns:repeat(auto-fit,minmax(170px,196px));justify-content:center;gap:14px;max-width:1100px;display:grid}.level-card{border:1px solid var(--line-bright);background:var(--panel);cursor:pointer;width:196px;transition:all .22s var(--ease-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:18px 16px 14px;position:relative;overflow:hidden}.level-card:hover:not(.locked){border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 32px #7ef0c821}.level-card.locked{opacity:.45;cursor:default}.level-card.done{border-color:#7ef0c866}.lc-index{font-family:var(--font-display);color:#e9e4f247;font-size:30px;line-height:1}.lc-name{font-family:var(--font-display);letter-spacing:.03em;margin-top:7px;font-size:18px}.lc-tag{color:var(--ink-dim);min-height:28px;margin-top:4px;font-size:11.5px}.lc-state{color:var(--accent);letter-spacing:.14em;margin-top:6px;font-size:11px}.opt-row{align-items:center;gap:10px;font-size:13px;display:flex}.opt-label{width:64px;color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.seed-label{font-variant-numeric:tabular-nums;min-width:52px;color:var(--accent)}.small-btn.toggle.active{border-color:var(--accent);color:var(--accent);background:#7ef0c81a}.key-help{text-align:center;color:#9b93adbf;letter-spacing:.05em;margin-top:8px;font-size:11.5px;line-height:1.9}.won-screen .screen-title{color:var(--accent);text-shadow:0 0 34px #7ef0c866}.lost-screen .screen-title{color:var(--danger);text-shadow:0 0 34px #ff7e5f59}.end-stats{text-align:center;color:var(--ink-dim);letter-spacing:.06em;flex-direction:column;gap:5px;font-size:13.5px;display:flex}.end-stats .es-row{text-shadow:0 1px 8px #05040ef2,0 0 22px #05040ecc}.screen-title{text-shadow:0 2px 18px #05040eb3}.modal{pointer-events:auto;z-index:30;background:#05040e8c;place-content:center;display:grid;position:absolute;inset:0}.modal-card{background:var(--panel-deep);border:1px solid var(--line-bright);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(340px,86vw);animation:title-rise .35s var(--ease-soft);border-radius:18px;flex-direction:column;gap:16px;padding:26px 30px;display:flex}.modal-title{font-family:var(--font-display);font-size:24px;font-weight:400}input[type=range]{accent-color:var(--accent);flex:1}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.intro-card{text-align:center;pointer-events:none;animation:intro-in 1s var(--ease-soft);transition:opacity 1.1s var(--ease-soft);z-index:20;position:absolute;top:16%;left:50%;transform:translate(-50%)}@keyframes intro-in{0%{opacity:0;transform:translate(-50%)translateY(12px)}}.intro-card.fading{opacity:0}.ic-name{font-family:var(--font-display);letter-spacing:.05em;text-shadow:0 2px 30px #0009;font-size:clamp(34px,6vw,54px)}.ic-tag{color:var(--ink-dim);margin-top:4px;font-size:14px}.ic-obj{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);background:#100e2299;border:1px solid #7ef0c859;border-radius:99px;margin-top:12px;padding:6px 16px;font-size:12px;display:inline-block}@media (max-width:860px){.world-panel{width:264px;padding:12px}.objective{padding:8px 12px}.level-grid{grid-template-columns:repeat(auto-fit,minmax(150px,170px))}.level-card{width:170px}}@media (max-width:600px){.world-panel{width:auto;max-height:42vh;bottom:8px;left:8px;right:8px;overflow-y:auto}.send-panel{top:64px;bottom:auto;right:8px}.hint{top:110px;bottom:auto}.topbar{top:8px;left:8px;right:8px}}.build-btn{white-space:nowrap;padding-left:6px;padding-right:6px;font-size:11px}.menu-btn.danger{border-color:#ff7e5f66}.menu-btn.danger:hover{border-color:var(--danger);color:var(--danger);box-shadow:0 6px 22px #ff7e5f1f}.modal-card .key-help{text-align:left;margin-top:2px;font-size:10.5px}.modal-card{max-height:86vh;overflow-y:auto}@media (pointer:coarse){.icon-btn{width:46px;height:46px}.send-btn,.build-btn,.action-btn{padding-top:10px;padding-bottom:10px}}@media (max-width:430px){.game-title{font-size:clamp(34px,11vw,46px)}.title-block{padding:0 10px}}
