:root{--ink:#221c14;--cream:#f6ecd4;--paper:#efe2c4;--muted:#b7a88a;--moss:#6f8f62;--moss-deep:#3d5a38;--clay:#c45c32;--amber:#e3a02a;--gold:#f0c36a;--sky-0:#7ea7b8;--sky-1:#8bb4c4;--sky-2:#9bc0a8;--sky-3:#d4b48a;--sky-4:#c9a07a;--sky-5:#8f7aa8;--sky-6:#6a7ab0;--sky-7:#4e5d8a;--sky-8:#2f3558;--panel:#2b241b;--panel-2:#352c21;--line:#f6ecd41f;--shadow:0 24px 60px #0a080473}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--cream);background:radial-gradient(1200px 600px at 10% -10%,#e3a02a29,#0000 50%),radial-gradient(900px 500px at 100% 0,#6f8f6224,#0000 45%),#16110c;font-family:Outfit,sans-serif}button{font:inherit;cursor:pointer}.app{width:min(1180px,100% - 32px);margin:24px auto 40px}.topbar,.inventory-bar,.homestead,.desk{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line);box-shadow:var(--shadow)}.topbar{border-radius:22px;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex}.brand{align-items:center;gap:14px;display:flex}.reset{border:1px solid var(--line);color:var(--muted);background:#1d1812;border-radius:999px;margin-left:8px;padding:8px 12px;font-size:.82rem}.reset:hover{color:var(--cream)}.brand-mark{background:linear-gradient(160deg,#f0c36a,#c45c32 55%,#3d5a38);border-radius:14px;width:46px;height:46px;box-shadow:inset 0 0 0 2px #ffffff26}.brand h1,.homestead-copy h2,.panel-head h3,.build-title{letter-spacing:-.03em;margin:0;font-family:Fraunces,serif;font-weight:700}.brand h1{font-size:1.7rem}.brand p,.homestead-copy p,.panel-head p,.hint,.label,.countdown,.inv-name,.need,.region-label{color:var(--muted)}.brand p,.homestead-copy p,.panel-head p,.hint{margin:4px 0 0}.wallet{align-items:stretch;gap:18px;display:flex}.money-block,.income-block{background:#00000038;border-radius:16px;min-width:150px;padding:10px 14px}.label{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;display:block}.money-block strong,.income-block strong{margin-top:2px;font-size:1.45rem;display:block}.money-block strong{color:var(--gold)}.income-track{background:#1b1610;border-radius:99px;height:7px;margin:8px 0 4px;overflow:hidden}.income-fill{border-radius:inherit;background:linear-gradient(90deg, var(--moss), var(--amber));width:0%;height:100%;transition:width .2s linear}.countdown{font-size:.8rem}.inventory-bar{border-radius:18px;margin-top:12px;padding:12px 16px}.inventory{flex-wrap:wrap;gap:8px;display:flex}.inv-chip{border:1px solid var(--line);background:#1d1812;border-radius:999px;align-items:baseline;gap:8px;padding:8px 12px;display:flex}.inv-name{font-size:.82rem}.inv-count{font-weight:700}.layout{grid-template-columns:1.05fr .95fr;gap:16px;margin-top:16px;display:grid}.homestead{border-radius:24px;overflow:hidden}.scene-frame{height:340px;position:relative;overflow:hidden}.sky{background:linear-gradient(180deg, var(--sky-0), #d8c7a4 70%, #8a7a58);transition:background .6s;position:absolute;inset:0}.estate{z-index:1;position:absolute;inset:0}.ground{background:linear-gradient(#6d8a4e,#3f5a32 40%,#2a3d24);height:78px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #22301640}.homestead-copy{padding:18px 22px 22px}.kicker{text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.78rem}.homestead-copy h2{margin-top:4px;font-size:2rem}.desk{border-radius:24px;flex-direction:column;min-height:560px;padding:16px;display:flex}.tabs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tab,.buy,.build-btn{color:var(--cream);border:0;transition:transform .12s,background .12s,opacity .12s}.tab{background:#1d1812;border-radius:12px;padding:11px 8px}.tab.is-active{background:var(--clay)}.tab:hover,.buy:hover:not(:disabled),.build-btn:hover:not(:disabled){transform:translateY(-1px)}.hint{min-height:2.4em;padding:10px 4px 2px;font-size:.95rem}.panel{flex:1;display:none}.panel.is-active{display:block}.panel-head h3{font-size:1.25rem}.panel-head p{margin-top:4px;font-size:.92rem}.wilds-map{background:radial-gradient(circle at 18% 30%,#4d7348,#0000 28%),radial-gradient(circle at 78% 24%,#7d8a6a,#0000 24%),radial-gradient(circle at 70% 78%,#3e6d72,#0000 26%),radial-gradient(circle at 28% 80%,#6a5a3d,#0000 22%),linear-gradient(160deg,#3a5a3c,#2b3d36 55%,#3d4a38);border-radius:18px;height:300px;margin-top:14px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.region-label{letter-spacing:.08em;text-transform:uppercase;pointer-events:none;font-size:.72rem;position:absolute}.node{background:radial-gradient(circle at 35% 30%, #fff3c4, var(--amber) 46%, #9a5a18);border:2px solid #f6ecd4bf;border-radius:50%;width:28px;height:28px;padding:0;animation:1.6s ease-in-out infinite pulse;position:absolute;box-shadow:0 0 0 6px #e3a02a2e,0 8px 16px #0000004d}.node-timber{background:radial-gradient(circle at 35% 30%,#e7d7a8,#8a5a32 70%)}.node-stone{background:radial-gradient(circle at 35% 30%,#e8e4dc,#7a776e 70%)}.node-clay{background:radial-gradient(circle at 35% 30%,#efb48a,#c45c32 70%)}.node-iron{background:radial-gradient(circle at 35% 30%,#d4d8de,#5a6570 70%)}.node-glass{background:radial-gradient(circle at 35% 30%,#e8f6ff,#6aa7c4 70%)}.node-marble{background:radial-gradient(circle at 35% 30%,#fff,#c8c2b8 70%)}.node-gilt{background:radial-gradient(circle at 35% 30%,#fff3c4,#e3a02a 46%,#9a5a18)}.node:hover{transform:scale(1.12)}.node.is-gathering{opacity:.45;animation:none}@keyframes pulse{0%,to{box-shadow:0 0 0 5px #e3a02a29,0 8px 16px #0000004d}50%{box-shadow:0 0 0 10px #e3a02a14,0 8px 16px #0000004d}}.market,.build-needs{gap:8px;margin-top:14px;display:grid}.goods,.build-card{border:1px solid var(--line);background:#1d1812;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.goods-name,.build-title{font-weight:650;display:block}.goods-meta,.build-pay{color:var(--muted);margin-top:3px;font-size:.85rem;display:block}.buy,.build-btn{background:var(--moss-deep);border-radius:11px;padding:10px 14px}.buy:disabled,.build-btn:disabled{cursor:not-allowed;opacity:.45}.build-btn{background:var(--clay)}.build-card{flex-direction:column;align-items:flex-start}.build-top{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.build-needs{grid-template-columns:1fr 1fr;width:100%;margin-top:10px}.need{background:#16120d;border-radius:10px;padding:8px 10px;font-size:.86rem}.need.is-ready{color:#c9e3b8}.need.is-short{color:#efb4a0}.log{max-height:120px;margin:14px 0 0;padding:0;list-style:none;overflow:auto}.log li{border-top:1px solid var(--line);color:var(--muted);padding:6px 2px;font-size:.86rem}.toast{z-index:5;background:var(--cream);color:var(--ink);box-shadow:var(--shadow);border-radius:14px;padding:12px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.house{position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.roof,.wall,.door,.window,.chimney,.smoke,.tent,.flame,.ring,.column,.garden,.banner,.fountain{position:absolute}.flame{background:linear-gradient(#ffe27a,#e07a20 70%,#9a2c10);border-radius:50% 50% 40% 40%;width:22px;height:34px;animation:.7s infinite alternate flicker;bottom:10px;left:50%;transform:translate(-50%)}.ring{border:8px solid #6b5340;border-radius:50%;width:96px;height:20px;bottom:0;left:50%;transform:translate(-50%)}.house .tent{clip-path:polygon(50% 0,100% 100%,0 100%);background:#c45c32;width:140px;height:108px;bottom:0;left:50%;transform:translate(-50%)}.tent:after{content:"";background:#8d3b1f;width:18px;height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.cabin .wall,.shack .wall,.cottage .wall,.townhouse .wall,.villa .wall,.manor .wall,.estate-house .wall{background:#8a5a32;border:3px solid #5a381c}.shack .wall{width:96px;height:62px;bottom:0;left:-48px}.shack .roof{border-bottom:40px solid #5c3a22;border-left:62px solid #0000;border-right:62px solid #0000;width:0;height:0;bottom:58px;left:-62px}.cabin .wall{background:repeating-linear-gradient(#8a5a32,#8a5a32 12px,#6e4526 12px 14px);width:140px;height:78px;bottom:0;left:-70px}.cabin .roof{clip-path:polygon(50% 0,100% 100%,0 100%);background:#6b3d24;width:168px;height:46px;bottom:74px;left:-84px}.cottage .wall{background:#d8c3a1;border-color:#8d7352;width:156px;height:86px;bottom:0;left:-78px}.cottage .roof{clip-path:polygon(50% 0,100% 100%,0 100%);background:#b3452c;width:184px;height:58px;bottom:80px;left:-92px}.townhouse .wall{background:#b5523a;border-color:#7a3224;width:140px;height:128px;bottom:0;left:-70px}.townhouse .roof{background:#4a3a32;width:156px;height:22px;bottom:124px;left:-78px}.villa .wall{background:#efe6d4;border-color:#cbb892;width:220px;height:100px;bottom:0;left:-110px}.villa .roof{background:#8d6a3c;width:244px;height:36px;bottom:96px;left:-122px}.manor .wall,.estate-house .wall{background:#e8e2d8;border-color:#b8b0a2;width:260px;height:120px;bottom:0;left:-130px}.manor .roof,.estate-house .roof{clip-path:polygon(8% 100%,50% 0,92% 100%);background:#4a3f55;width:284px;height:44px;bottom:116px;left:-142px}.estate-house .wall{background:linear-gradient(#f3ead4,#e2d3a8);height:138px}.estate-house .roof{background:#2c3358;bottom:134px}.door{background:#4a2d18;width:22px;height:34px;bottom:0;left:50%;transform:translate(-50%)}.window{background:#d8f0ff;width:16px;height:16px;box-shadow:inset 0 0 0 2px #5a4328}.chimney{background:#7a3d2a;width:16px;height:28px}.garden{background:#4f7a3a;border-radius:40px 40px 8px 8px;width:28px;height:16px}.column{background:#efe6d4;width:10px;height:54px;box-shadow:inset 0 0 0 2px #cbb892}.fountain{background:#6a9bb0;border-radius:50%;width:34px;height:18px}.banner{background:var(--gold);width:10px;height:28px}.smoke{background:#ffffff73;border-radius:50%;width:10px;height:10px;animation:2.4s ease-in-out infinite drift}@keyframes flicker{0%{transform:translate(-50%)scaleY(1)}to{transform:translate(-50%)scaleY(1.15)scaleX(.9)}}@keyframes drift{0%{opacity:.5;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}.sky.tier-0{background:linear-gradient(#7ea7b8,#d8c7a4 70%,#8a7a58)}.sky.tier-1{background:linear-gradient(#8bb4c4,#e0d0a8 70%,#8a7a58)}.sky.tier-2{background:linear-gradient(#9bc0a8,#e7d7b0)}.sky.tier-3{background:linear-gradient(#d4b48a,#f0d8b0)}.sky.tier-4{background:linear-gradient(#c9a07a,#f2d2a8)}.sky.tier-5{background:linear-gradient(#8f7aa8,#e8c8b0)}.sky.tier-6{background:linear-gradient(#6a7ab0,#d8c4c0)}.sky.tier-7{background:linear-gradient(#4e5d8a,#cbb8c8)}.sky.tier-8{background:linear-gradient(#2f3558,#8a6a88 70%,#4a3a48)}@media (max-width:860px){.layout,.wallet,.topbar{display:block}.brand{flex-wrap:wrap}.reset{margin-left:60px}.money-block,.income-block{margin-top:10px}.scene-frame{height:280px}}
