@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Nunito:wght@600;700;800;900&display=swap";:root{font-family:Nunito,ui-rounded,system-ui,sans-serif;color:#fff4d6;background:#172a21;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #21362d;--cream: #fff4d6;--paper: #f4dfb5;--terracotta: #c8674c;--gold: #e5b75e;--moss: #668755;--shadow: 0 14px 34px rgba(10, 24, 18, .28), inset 0 1px 0 rgba(255,255,255,.2)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;background:radial-gradient(circle at 50% 35%,#3c5d47,#14251e 72%)}button{font:inherit}button:focus-visible{outline:3px solid #fff1a6;outline-offset:3px}.app-shell{position:fixed;inset:0;min-width:280px;min-height:480px;overflow:hidden}.game-canvas{position:absolute;inset:0}.game-canvas canvas{display:block;width:100%;height:100%}.top-hud{position:absolute;z-index:5;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));height:74px;display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:14px;pointer-events:none}.top-hud>*{pointer-events:auto}.brand-lockup,.objective,.resource,.icon-button,.recruit-button,.repair-button,.recall-button,.save-indicator{background:linear-gradient(145deg,#273e33f7,#1a2e26f2);border:1px solid rgba(255,239,192,.2);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-lockup{display:flex;height:66px;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:22px}.brand-mark{display:grid;place-items:center;width:50px;height:50px;border-radius:17px;background:#dfa753;color:#263a30;font:36px/1 "DM Serif Display",serif;transform:rotate(-4deg);box-shadow:inset 0 0 0 5px #fff7d059}.brand-lockup div,.resource div{display:flex;flex-direction:column}.brand-lockup strong{font:25px/1 "DM Serif Display",Georgia,serif;letter-spacing:.2px}.brand-lockup small,.resource small{opacity:.68;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:900;margin-top:3px}.objective{justify-self:center;min-width:min(100%,480px);padding:11px 20px 12px;border-radius:19px;text-align:center;display:flex;flex-direction:column}.objective span{color:#d9bd78;font-size:9px;line-height:1;text-transform:uppercase;font-weight:900;letter-spacing:1.8px}.objective strong{font-size:14px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource{min-width:112px;height:62px;border-radius:20px;padding:8px 16px 8px 10px;display:flex;gap:9px;align-items:center}.wood-icon{width:38px;height:38px;display:grid;place-items:center;color:#ffd884;background:#805539;border-radius:50%;transform:rotate(-8deg)}.resource strong{font-size:20px;line-height:1}.hud-actions{display:flex;gap:8px}.icon-button{width:52px;height:52px;border-radius:17px;border:1px solid rgba(255,239,192,.2);color:var(--cream);font-weight:900;font-size:19px;cursor:pointer}.icon-button:hover{transform:translateY(-2px);background:#355244}.bottom-hud{position:absolute;z-index:5;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:end;pointer-events:none}.bottom-hud>*{pointer-events:auto}.bottom-actions{display:flex;align-items:end;gap:8px}.recruit-roster{display:flex;gap:9px}.recruit-button{position:relative;min-width:156px;height:70px;border-radius:23px;padding:8px 13px 8px 8px;color:var(--cream);display:flex;align-items:center;gap:9px;cursor:pointer;transition:transform .16s ease,border .16s ease}.recruit-button.selected{transform:translateY(-7px);border-color:#f2d47e;box-shadow:0 14px 34px #0a181257,0 0 0 3px #f2d47e59}.recruit-button>span:nth-child(2){display:flex;flex-direction:column;align-items:start}.recruit-button strong{font-size:14px}.recruit-button small{font-size:9px;text-transform:uppercase;letter-spacing:.9px;opacity:.65}.recruit-button em{position:absolute;right:7px;top:-8px;background:#e9bb64;color:#25382f;border-radius:9px;padding:3px 7px;font-size:8px;text-transform:uppercase;font-style:normal;font-weight:900}.portrait,.big-portrait{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#263a30;font-family:"DM Serif Display",serif;border:4px solid rgba(255,247,211,.58);box-shadow:inset -6px -8px #3f2e2424}.portrait{width:51px;height:51px;font-size:28px}.portrait.peasant{background:#e1a756}.portrait.woodcutter,.big-portrait.woodcutter{background:#7fb17d}.portrait.miner,.big-portrait.miner{background:#6f93a0}.repair-button,.recall-button{width:202px;min-height:68px;border-radius:23px;border:1px solid rgba(255,239,192,.28);color:var(--cream);padding:8px 14px;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;text-align:left;cursor:pointer}.repair-button>span,.recall-button>span{grid-row:1 / 3;align-self:center;font-size:32px;color:#efc872}.repair-button strong,.recall-button strong{font-size:13px;align-self:end}.repair-button small,.recall-button small{font-size:9px;opacity:.65;text-transform:uppercase;letter-spacing:1px}.repair-button:disabled,.recall-button:disabled{opacity:.64;cursor:default;filter:grayscale(.3)}.repair-button:not(:disabled){animation:repair-pulse 1.7s ease-in-out infinite;border-color:#f2d47e}.recall-button{border-color:#74d2bf8c}.recall-button>span{color:#86dcc5}.recall-button:not(:disabled){box-shadow:var(--shadow),0 0 0 3px #70d3bd29}.launch-hint{position:absolute;z-index:4;left:50%;bottom:154px;transform:translate(-50%);display:grid;grid-template-columns:45px auto;grid-template-rows:auto auto;padding:12px 18px 12px 11px;border-radius:19px;color:#263a30;background:#fff1c5f0;box-shadow:0 12px 28px #0e1e1747;pointer-events:none;animation:hint-in .4s ease both}.hint-hand{grid-row:1 / 3;font-size:30px;transform-origin:bottom center;animation:pull-hand 1.8s ease-in-out infinite}.launch-hint strong{font-size:13px}.launch-hint small{font-size:10px;opacity:.7}.save-indicator{position:absolute;z-index:5;right:max(18px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + 82px);border-radius:10px;padding:5px 9px;color:#bfd7a5;font-size:9px;text-transform:uppercase;letter-spacing:.8px;opacity:.78}.modal-backdrop{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#0f1f188c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{position:relative;width:min(660px,100%);max-height:92vh;overflow:auto;border-radius:34px;padding:34px;color:#263a30;text-align:center;background:radial-gradient(circle at 50% 0,#fff7db,#eed9ac);border:7px solid rgba(255,255,255,.35);box-shadow:0 34px 90px #08140f7a,inset 0 0 0 2px #6b4d2d1f}.modal:after{content:"";position:absolute;pointer-events:none;inset:7px;border:1px dashed rgba(108,77,42,.22);border-radius:24px}.modal>*{position:relative;z-index:1}.modal-close{position:absolute;z-index:3;right:16px;top:14px;width:42px;height:42px;border:0;border-radius:14px;background:#2d3d331f;color:#263a30;font-size:25px;cursor:pointer}.eyebrow{display:block;color:#b25e47;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:900}.modal h2{margin:7px 0 18px;font:38px/1.08 "DM Serif Display",Georgia,serif;color:#294438}.modal-intro{max-width:530px;margin:-4px auto 22px;font-size:14px;line-height:1.55;color:#526557}.character-reveal{display:flex;align-items:center;gap:20px;max-width:500px;margin:0 auto 22px;text-align:left}.character-reveal p{line-height:1.55;font-size:14px}.big-portrait{width:98px;height:98px;font-size:54px;flex:0 0 98px}.primary-button,.secondary-button{position:relative;z-index:2;min-height:51px;border-radius:17px;padding:11px 25px;font-weight:900;cursor:pointer}.primary-button{color:#fff6da;background:#b85e47;border:0;box-shadow:0 7px #7f4235,0 12px 20px #55352638}.primary-button:hover{transform:translateY(-2px)}.primary-button:active{transform:translateY(5px);box-shadow:0 2px #7f4235}.secondary-button{color:#304a3d;border:1px solid rgba(48,74,61,.22);background:#ffffff4d}.upgrade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.upgrade-grid.peasant-upgrades,.upgrade-grid.two-upgrades{grid-template-columns:repeat(2,minmax(0,220px));justify-content:center}.upgrade-card{position:relative;min-height:188px;border:2px solid rgba(58,79,63,.16);border-radius:25px;padding:17px 13px 14px;display:flex;flex-direction:column;align-items:center;color:#2b4438;background:#ffffff6b;cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s}.upgrade-card:hover,.upgrade-card:focus-visible{transform:translateY(-7px) rotate(-1deg);background:#ffffffb8;box-shadow:0 14px 25px #3d493329}.upgrade-card:nth-child(2):hover{transform:translateY(-7px) rotate(1deg)}.axe-icon{width:57px;height:57px;display:grid;place-items:center;margin-bottom:10px;border-radius:19px;background:#d29a55;color:#fff0c5;font-size:40px}.felling .axe-icon{background:#71925c}.rebound .axe-icon{background:#5b9593}.wedge .axe-icon{background:#7f8d8d}.blast .axe-icon{background:#4f8e91}.double .axe-icon{background:#b36f4c}.bramble .charm-icon{background:#71925c}.quarry .charm-icon{background:#648fa2}.pinwheel .charm-icon{background:#d29a55}.echo .charm-icon{background:#7a79aa}.right-hook .bounce-icon{background:#d19a45}.zigzag .bounce-icon{background:#c66f55}.left-hook .bounce-icon{background:#6f7ca8}.switchback .bounce-icon{background:#668f88}.upgrade-card strong{font:21px/1.1 "DM Serif Display",Georgia,serif}.upgrade-card small{font-size:11px;line-height:1.4;margin-top:8px;color:#5d6a5f}.upgrade-card em{margin-top:auto;padding:4px 9px;border-radius:9px;background:#2b44381a;text-transform:uppercase;letter-spacing:1px;font-size:8px;font-style:normal;font-weight:900}.milestone-art{display:flex;justify-content:center;align-items:end;gap:10px;height:100px;margin:-5px 0 12px;color:#658d77}.milestone-art span:nth-child(1){font-size:72px;color:#8b9380}.milestone-art span:nth-child(2){font-size:100px;color:#2d4b3d}.milestone-art span:nth-child(3){font-size:38px;color:#d6a951;align-self:start}.pause-actions{display:grid;gap:11px;max-width:310px;margin:0 auto}.save-note{margin:18px 0 0;font-size:11px;color:#687267}.loading-screen{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:18px;background:radial-gradient(circle,#47644d,#172a21)}.loading-screen strong{font-size:13px;letter-spacing:1px}.loading-kin span{width:82px;height:82px;display:grid;place-items:center;border-radius:50%;background:#e0a652;color:#293c32;font:52px "DM Serif Display",serif;border:7px solid #f5dfaa;animation:tumble 1.3s ease-in-out infinite}@keyframes tumble{50%{transform:rotate(180deg) translateY(9px)}to{transform:rotate(360deg)}}@keyframes pull-hand{0%,25%,to{transform:translate(0) rotate(-8deg)}60%{transform:translate(-17px,13px) rotate(-20deg)}}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,15px)}}@keyframes repair-pulse{50%{transform:translateY(-4px);box-shadow:0 16px 35px #0a181259,0 0 0 4px #f2d47e33}}@media(max-width:760px){.top-hud{height:auto;grid-template-columns:1fr auto auto;gap:7px;top:max(7px,env(safe-area-inset-top));left:max(7px,env(safe-area-inset-left));right:max(7px,env(safe-area-inset-right))}.brand-lockup{height:54px;border-radius:18px;padding:5px 9px 5px 5px}.brand-mark{width:42px;height:42px;border-radius:14px;font-size:30px}.brand-lockup strong{font-size:20px}.brand-lockup small{display:none}.resource{min-width:73px;height:52px;padding:6px 9px;border-radius:17px;gap:6px}.wood-icon{width:31px;height:31px;font-size:12px}.resource strong{font-size:17px}.resource small{font-size:7px;margin:0}.hud-actions{gap:5px}.icon-button{width:48px;height:48px;border-radius:16px}.hud-actions .icon-button:first-child{display:none}.objective{grid-column:1 / 4;grid-row:2;width:100%;min-width:0;padding:7px 12px 8px;border-radius:14px}.objective span{display:none}.objective strong{font-size:11px;margin:0}.bottom-hud{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));flex-direction:column-reverse;align-items:stretch;gap:7px}.bottom-actions{align-self:end;flex-direction:column;align-items:stretch;gap:7px}.recruit-roster{align-self:start;gap:5px}.recruit-button{min-width:0;width:72px;height:67px;padding:6px;border-radius:20px;justify-content:center}.recruit-button>span:nth-child(2){display:none}.recruit-button.selected{transform:translateY(-5px)}.portrait{width:48px;height:48px;font-size:26px}.recruit-button em{right:-5px;top:-7px;font-size:6px;padding:3px 5px}.repair-button,.recall-button{width:min(190px,calc(100vw - 168px));min-height:62px;border-radius:20px;grid-template-columns:37px 1fr;padding:7px 10px}.repair-button>span,.recall-button>span{font-size:27px}.repair-button strong,.recall-button strong{font-size:11px}.launch-hint{bottom:104px;width:max-content;max-width:calc(100vw - 20px)}.app-shell:has(.bottom-actions) .launch-hint{bottom:150px}.save-indicator{display:none}.modal-backdrop{align-items:end;padding:8px 8px max(8px,env(safe-area-inset-bottom))}.modal{width:100%;max-height:88vh;border-radius:30px;padding:29px 18px 24px;border-width:5px}.modal h2{font-size:31px;margin-bottom:14px}.character-reveal{gap:13px}.big-portrait{width:76px;height:76px;flex-basis:76px;font-size:43px}.character-reveal p{font-size:12px}.upgrade-grid{grid-template-columns:1fr;gap:8px}.upgrade-grid.peasant-upgrades,.upgrade-grid.two-upgrades{grid-template-columns:1fr}.upgrade-card{min-height:91px;display:grid;grid-template-columns:58px 1fr auto;grid-template-rows:auto auto;text-align:left;padding:10px 11px;column-gap:10px}.axe-icon{grid-row:1 / 3;width:52px;height:52px;margin:0}.upgrade-card strong{font-size:18px;align-self:end}.upgrade-card small{font-size:10px;margin:2px 0 0;align-self:start}.upgrade-card em{grid-column:3;grid-row:1 / 3;align-self:center;margin:0}}@media(min-width:761px)and (max-width:920px){.recruit-button{min-width:120px}.repair-button,.recall-button{width:165px;padding-inline:9px}}@media(max-width:360px){.brand-lockup{padding-right:5px}.brand-lockup strong{font-size:17px}.brand-mark{width:38px;height:38px}.resource{min-width:66px}.repair-button,.recall-button{width:calc(100vw - 163px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
