:root{--ink:#3d2b22;--ink-soft:#7a5f4e;--paper:#fffaf0;--paper-2:#fff3dc;--pink:#ff7fb3;--pink-dark:#e05a92;--mint:#8fd14f;--mint-dark:#5daf3f;--gold:#ffd93d;--sky:#7fcdf2;--red:#f25f5c;--shadow:0 3px 0 #3d2b2247;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#6a4a3a;font-family:Nunito,system-ui,sans-serif;font-weight:600}button{font:inherit;color:inherit;cursor:pointer}.icon{image-rendering:pixelated;vertical-align:middle;flex:none}.muted{color:var(--ink-soft)}.small{font-size:13px}.app{background:var(--paper);grid-template-rows:auto minmax(190px,38dvh) minmax(0,1fr);grid-template-areas:"hud""scene""side";max-width:1400px;height:100dvh;margin:0 auto;display:grid;overflow:hidden}.hud{grid-area:hud}.scene{grid-area:scene}.side{background:var(--paper);flex-direction:column;grid-area:side;min-height:0;display:flex}@media (min-width:900px){.app{border-left:4px solid var(--ink);border-right:4px solid var(--ink);grid-template:"hud hud""scene side"minmax(0,1fr)/minmax(0,1fr) 440px}.side{border-left:4px solid var(--ink)}}.hud{background:var(--paper);border-bottom:4px solid var(--ink);padding:max(8px, env(safe-area-inset-top)) 12px 6px;z-index:2}.hud-main{justify-content:space-between;align-items:center;gap:8px;display:flex}.money{align-items:center;gap:8px;min-width:0;display:flex}.money>div{flex-direction:column;line-height:1.05;display:flex}.coins{letter-spacing:.5px;font-family:Silkscreen,monospace;font-size:24px}.money small{color:var(--mint-dark);font-weight:900}.money small.boosted{color:#e0a82a;animation:1s ease-in-out infinite alternate glow}@keyframes glow{to{color:var(--pink-dark)}}.hud-right{align-items:center;gap:6px;display:flex}.chip{border:3px solid var(--ink);box-shadow:var(--shadow);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:13px;font-weight:900;display:inline-flex}.chip.ng{background:#e9dcff}.icon-btn{border:3px solid var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:4px;line-height:0}.mats{scrollbar-width:none;gap:10px;margin-top:4px;display:flex;overflow-x:auto}.mat{white-space:nowrap;align-items:center;gap:3px;font-size:13px;font-weight:900;display:inline-flex}.mat small{color:var(--ink-soft);font-size:11px;font-weight:700}.scene{touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#4a3b45;min-height:0;position:relative;overflow:hidden}.scene-canvas{image-rendering:pixelated;cursor:pointer;position:absolute;top:0;left:0}.floats{pointer-events:none;position:absolute;inset:0}.float{color:#fff;text-shadow:2px 2px 0 var(--ink), -1px -1px 0 var(--ink), 1px -1px 0 var(--ink), -1px 1px 0 var(--ink);white-space:nowrap;font-family:Silkscreen,monospace;font-size:14px;animation:.9s ease-out forwards floatUp;position:absolute;transform:translate(-50%,-50%)}.float.big{color:var(--gold);font-size:18px;animation-duration:1.4s}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}.quick{pointer-events:none;flex-wrap:wrap;gap:6px;max-width:calc(100% - 60px);display:flex;position:absolute;top:8px;left:8px}.quick>*{pointer-events:auto}.chip.action{background:var(--gold)}.chip.boost-on{background:#fff1a8}.chip.boost-on.gold{background:#ffe38a}.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.07)}}.chest-hint{border:3px solid var(--ink);background:var(--gold);box-shadow:var(--shadow);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:900;animation:1s ease-in-out infinite pulse;position:absolute;bottom:8px;right:8px}.tutorial{background:var(--paper);border:3px solid var(--ink);pointer-events:none;border-radius:12px;align-items:center;gap:8px;width:min(92%,420px);padding:8px 12px;font-size:14px;font-weight:800;animation:1.6s ease-in-out infinite bob;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 4px #3d2b2259}@keyframes bob{50%{transform:translate(-50%,-3px)}}.scene-lock{text-align:center;border:3px solid var(--ink);background:#fffaf0f5;border-radius:14px;flex-direction:column;align-items:center;gap:4px;width:min(90%,340px);padding:10px 14px;font-size:13px;display:flex;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px #3d2b2259}.scene-lock b{font-family:Silkscreen,monospace;font-size:16px}.panel{-webkit-overflow-scrolling:touch;background:repeating-linear-gradient(0deg, transparent 0 23px, #3d2b2208 23px 24px), var(--paper);flex:1;min-height:0;overflow-y:auto}.panel-body{flex-direction:column;gap:8px;padding:10px 10px 16px;animation:.15s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}}.section{flex-direction:column;gap:8px;display:flex}.section h3{align-items:center;gap:6px;margin:6px 2px 0;font-family:Silkscreen,monospace;font-size:15px;font-weight:400;display:flex}.section-right{margin-left:auto;font-family:Nunito,sans-serif}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.row{flex-wrap:wrap;gap:8px;display:flex}.empty{text-align:center;color:var(--ink-soft);margin:10px}.tag{background:var(--mint);border:2px solid var(--ink);border-radius:999px;padding:0 8px;font-size:11px;font-weight:900}.card{border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;align-items:center;gap:10px;padding:8px 10px;display:flex}.card.dim{background:#f1ebe2}.card.dim .p-body b{color:var(--ink-soft)}.p-icon{background:var(--paper-2);border:3px solid var(--ink);border-radius:10px;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.lvl{text-align:center;background:var(--pink);color:#fff;border:2px solid var(--ink);border-radius:999px;min-width:22px;padding:0 4px;font-size:12px;font-weight:900;position:absolute;bottom:-8px;right:-8px}.p-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.p-body b{font-weight:900}.p-body small{color:var(--ink-soft);line-height:1.25}.rate-item{color:var(--ink);align-items:center;gap:2px;margin-right:8px;font-weight:800;display:inline-flex}.milestone{align-items:center;gap:6px;display:flex}.milestone small{white-space:nowrap;font-size:11px}.btn{border:3px solid var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;min-height:40px;padding:6px 10px;font-size:14px;font-weight:900;transition:transform 50ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #3d2b2247}.btn:disabled{cursor:default;color:var(--ink-soft);box-shadow:none;background:#ece5da}.btn.primary:not(:disabled){background:var(--mint)}.btn.ad:not(:disabled){background:var(--gold)}.btn.danger{background:var(--red);color:#fff}.btn.wide{width:100%}.btn.buy{flex-direction:column;gap:0;min-width:96px;padding:4px 8px}.buy-n{font-size:11px;line-height:1}.gain{color:var(--mint-dark);font-size:10px;line-height:1}.btn:disabled .gain{color:inherit}.cost{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.cost-item{align-items:center;gap:2px;font-weight:900;display:inline-flex}.cost-item.short{color:#c2413f}.bar{border:2px solid var(--ink);background:#efe6d8;border-radius:999px;flex:1;min-width:40px;height:10px;overflow:hidden}.bar>div{background:linear-gradient(var(--mint), var(--mint-dark));height:100%;transition:width .25s}.bar.thin{border-width:1.5px;height:7px}.bar.build>div{background:repeating-linear-gradient(45deg, var(--gold) 0 6px, #ffb93d 6px 12px)}.regions{scrollbar-width:none;gap:6px;padding:2px 2px 4px;display:flex;overflow-x:auto}.region-chip{border:3px solid var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:900;display:inline-flex}.region-chip.active{background:var(--pink);color:#fff}.region-chip.locked{background:#ece5da}.region-chip.locked.active{color:var(--ink);background:#c9b8c4}.region-chip.ready{background:var(--gold);animation:1.2s ease-in-out infinite pulse}.seg{border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:10px;flex:none;display:inline-flex;overflow:hidden}.seg button{background:#fff;border:0;padding:3px 9px;font-size:13px;font-weight:900}.seg button+button{border-left:2px solid var(--ink)}.seg button.on{background:var(--gold)}.building{flex-direction:column;align-items:stretch}.b-head{align-items:center;gap:10px;display:flex}.pips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pip{border:2px solid var(--ink);background:#efe6d8;border-radius:3px;width:14px;height:10px}.pip.on{background:var(--mint)}.pip.work{background:var(--gold);animation:1s infinite pulse}.pips small{margin-left:4px}.b-next{border-top:2px dashed #e2d5c3;flex-direction:column;gap:6px;padding-top:6px;display:flex}.b-progress{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.b-actions{gap:6px;margin-left:auto;display:flex}.b-start{justify-content:space-between;align-items:center;gap:8px;display:flex}.prestige-card{background:linear-gradient(135deg,#fff1a8,#e9dcff)}.mission.done{background:#f0ffe0}.daily-row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.day{border:2px solid var(--ink);background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-weight:900;display:flex}.day small{font-size:10px}.day.got{opacity:.75;background:#dff3c8}.day.today{background:var(--gold);transform:scale(1.06)}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;display:grid}.ach{text-align:center;border:2px solid var(--ink);background:#f1ebe2;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px;font-size:12px;display:flex}.ach.have{background:#fff7cf}.ach small{color:var(--ink-soft);font-size:11px}.tabbar{border-top:4px solid var(--ink);padding-bottom:env(safe-area-inset-bottom);background:#fff3dc;grid-template-columns:repeat(5,1fr);display:grid}.tab{color:var(--ink-soft);background:0 0;border:0;flex-direction:column;align-items:center;gap:1px;padding:6px 0 5px;font-size:12px;font-weight:900;display:flex;position:relative}.tab.active{background:var(--paper);color:var(--ink);box-shadow:inset 0 4px 0 var(--pink)}.tab.hint{background:#fff1a8;animation:1s ease-in-out infinite pulse}.badge{background:var(--red);border:2px solid var(--ink);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;right:calc(50% - 18px)}.modal-wrap{z-index:20;background:#281a1e8c;place-items:center;padding:16px;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border:4px solid var(--ink);border-radius:18px;width:min(440px,100%);max-height:90dvh;padding:18px 18px 16px;position:relative;overflow-y:auto;box-shadow:0 8px #281a1e66}.modal h2{align-items:center;gap:8px;margin:0 30px 8px 0;font-family:Silkscreen,monospace;font-size:20px;font-weight:400;display:flex}.modal p{margin:8px 0}.close{border:3px solid var(--ink);background:#fff;border-radius:10px;padding:4px;line-height:0;position:absolute;top:10px;right:10px}.big-reward{border:3px dashed var(--ink-soft);background:#fff;border-radius:12px;justify-content:center;margin:10px 0;padding:12px;font-size:20px;display:flex}.big-reward .icon{width:22px;height:22px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.modal-actions .btn{flex:1}.chest-choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice-card{border:3px solid var(--ink);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px;display:flex}.choice-card.best{background:#fff7cf}.two-col{grid-template-columns:1fr 1fr;gap:8px;font-size:14px;display:grid}.two-col ul{margin:4px 0;padding-left:18px}.ng-title{font-weight:900}.settings{flex-direction:column;gap:8px;display:flex}.settings h4{margin:8px 0 0;font-family:Silkscreen,monospace;font-weight:400}.settings textarea{font:inherit;border:3px solid var(--ink);resize:vertical;border-radius:10px;padding:6px;font-size:12px}.toasts{top:max(64px, calc(env(safe-area-inset-top) + 56px));z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(92vw,420px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:900;animation:.2s ease-out toastIn;display:flex}.toast.big{background:var(--gold);font-size:16px}.toast.error{background:#ffc9c4}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)scale(.95)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}.mat-name{color:var(--ink-soft);margin-right:2px;font-style:normal;font-weight:800}.float.income{color:var(--gold);font-size:15px;animation-duration:1.4s}.talk{border:3px solid var(--ink);max-width:220px;box-shadow:var(--shadow);z-index:3;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:6px 10px;font-size:13px;line-height:1.25;animation:.18s ease-out pop,.4s ease-in 3.8s forwards fadeOut;display:flex;position:absolute;transform:translate(-50%,-100%)}.talk:after{content:"";border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);background:#fff;width:10px;height:10px;position:absolute;bottom:-9px;left:calc(50% - 6px);transform:rotate(45deg)}.talk b{color:var(--pink-dark);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.talk small{color:var(--mint-dark);font-weight:800}@keyframes pop{0%{transform:translate(-50%,-100%)scale(.7)}to{transform:translate(-50%,-100%)scale(1)}}@keyframes fadeOut{to{opacity:0}}.goalbar{background:var(--paper-2);border-bottom:3px solid var(--ink);align-items:center;gap:8px;padding:6px 10px;display:flex}.goalbar.done{background:#f0fbe3}.goal-main{text-align:left;background:0 0;border:0;flex:1;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;min-width:0;padding:0;display:grid}.goal-main .bar{grid-column:1/-1;margin-top:3px}.goal-text{flex-direction:column;min-width:0;display:flex}.goal-text small{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:10px;line-height:1}.goal-text b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.goal-reward{opacity:.85;font-size:12px}.goalbar .btn{min-height:34px;padding:3px 8px;font-size:13px}.producer{position:relative}.producer.best{border-color:var(--mint-dark)}.ribbon{background:var(--mint);border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.04em;border-radius:8px;padding:0 6px;font-size:10px;font-weight:900;position:absolute;top:-9px;left:12px}.eta{color:var(--ink-soft);font-size:10px;font-weight:800;line-height:1.1}.btn:disabled .eta{opacity:1}.link-btn{color:var(--pink-dark);background:0 0;border:0;align-self:flex-start;align-items:center;gap:3px;padding:2px 0 0;font-size:11px;font-weight:800;text-decoration:underline;display:inline-flex}.empire{background:linear-gradient(#fff, var(--paper-2));flex-direction:column;align-items:stretch;gap:8px;margin-bottom:4px}.empire-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.empire-head small{color:var(--ink-soft)}.journey{justify-content:space-between;margin:0;padding:0;list-style:none;display:flex;position:relative}.journey:before{content:"";border-top:3px dashed #3d2b224d;position:absolute;top:17px;left:18px;right:18px}.journey li{text-align:center;flex-direction:column;align-items:center;gap:2px;width:64px;display:flex;position:relative}.journey small{color:var(--ink-soft);font-size:10px;line-height:1.1}.stop{border:3px solid var(--ink);opacity:.7;background:#e9e1d4;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.journey .have .stop{background:var(--gold);opacity:1}.journey .have small{color:var(--ink);font-weight:900}.journey .next .stop{opacity:1;background:#fff;animation:1.6s ease-in-out infinite hop}.journey .soon .stop{border-style:dashed}.empire-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.empire-foot .btn{min-height:34px;font-size:13px}.built-preview{place-items:center;margin:6px 0 10px;display:grid}.built-preview canvas{width:min(70%,260px);image-rendering:pixelated;border:3px solid var(--ink);border-radius:10px;animation:.3s ease-out popIn}.built-bonus{border:2px solid var(--mint-dark);background:#f0fbe3;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}@keyframes popIn{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes hop{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.tut-pointer{z-index:40;pointer-events:none;filter:drop-shadow(2px 3px #3d2b2259);display:none;position:fixed}.tut-pointer .icon{animation:.9s ease-in-out infinite poke;display:block}.tut-pointer.down .icon{animation-name:pokeDown;transform:scaleY(-1)}@keyframes poke{0%,to{transform:translateY(6px)}50%{transform:translateY(0)}}@keyframes pokeDown{0%,to{transform:scaleY(-1)translateY(6px)}50%{transform:scaleY(-1)translateY(0)}}
