:root{--bg:#102019;--bg-soft:#173124;--panel:#fffce2f0;--panel-dark:#122319e6;--text:#213221;--muted:#6b7a64;--accent:#69b34c;--accent-2:#f5c35b;--danger:#b95151;--tile:48px;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#69b34c38,#0000 34rem),radial-gradient(circle at 100% 100%,#f5c35b2e,#0000 28rem),linear-gradient(135deg,#0f1d16,#183928 55%,#102019);min-height:100vh;margin:0}button,a{font:inherit}button{cursor:pointer}img,.sprite,.tile{image-rendering:pixelated}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff4c9;background:#09130dc7;border-right:1px solid #ffffff14;height:100vh;padding:22px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#102019;border-radius:14px;place-items:center;width:46px;height:46px;font-weight:900;display:grid;box-shadow:0 12px 28px #00000047}.brand strong,.brand small{display:block}.brand small{opacity:.7;margin-top:2px}.nav{gap:10px;display:grid}.nav button{text-align:left;color:#fff4c9;background:#ffffff0f;border:0;border-radius:15px;width:100%;padding:13px 14px}.nav button.active,.nav button:hover{background:#69b34c47}.content{min-width:0;padding:22px}.topbar{color:#fff4c9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1f;border:1px solid #ffffff21;border-radius:24px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;padding:14px 18px;display:flex}.topbar small,.topbar strong{display:block}.topbar small{opacity:.65}.topbar-stats{flex-wrap:wrap;gap:10px;display:flex}.topbar-stats span{background:#00000029;border-radius:99px;padding:8px 12px}.page{gap:22px;display:grid}.page-head{color:#fff4c9;justify-content:space-between;align-items:end;gap:18px;display:flex}h1,h2,p{margin:0}h1{letter-spacing:-.05em;font-size:clamp(2rem,4vw,4rem);line-height:.95}h2{font-size:1.1rem}.eyebrow{color:var(--accent-2);text-transform:uppercase;letter-spacing:.16em;margin-bottom:8px;font-size:.78rem;font-weight:800}.lead{color:#f7ebbd;max-width:58ch;margin-top:16px;font-size:1.05rem;line-height:1.65}.muted{color:#fff4c9b8;max-width:48ch;line-height:1.55}.hero-card,.panel,.stat-card,.production-card{border:1px solid #ffffff24;border-radius:28px;box-shadow:0 24px 70px #0000003d}.hero-card{color:#fff4c9;background:linear-gradient(135deg,#20472df2,#142e1fdb);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;padding:clamp(22px,4vw,44px);display:grid;overflow:hidden}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.btn{color:#fff4c9;background:#ffffff1f;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.primary{color:#112216;background:linear-gradient(135deg,#5ca943,#e6b44e);font-weight:800}.btn.ghost{border:1px solid #ffffff2e}.btn.danger{color:#ffd8d8;background:#b9515133;width:100%;margin-top:22px}.btn.small{margin-top:12px;padding:8px 12px}.hero-preview{place-items:center;min-height:280px;display:grid}.pixel-scene{aspect-ratio:1;background-image:url(/assets/core/grass.png);background-size:48px 48px;border-radius:28px;width:min(100%,360px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 12px #ffffff14,0 26px 80px #00000040}.scene-house{width:38%;position:absolute;top:20%;left:30%}.scene-tree{width:28%;position:absolute;bottom:10%;left:7%}.sprite{background-repeat:no-repeat;background-size:auto 64px;width:96px;height:64px}.hero-idle{background-image:url(/assets/core/human-idle-strip9.png);animation:1.2s steps(9,end) infinite idle-steps;position:absolute;bottom:14%;right:18%}@keyframes idle-steps{to{background-position-x:-864px}}@keyframes walk-steps{to{background-position-x:-768px}}.stats-grid,.production-grid,.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card,.panel,.production-card{background:var(--panel);padding:20px}.stat-card span,.stat-card small{color:var(--muted);display:block}.stat-card strong{margin:8px 0;font-size:1.8rem;display:block}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.resource-list,.inventory-grid{gap:12px}.resource-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;display:grid}.resource-pill{background:#224b2f17;border-radius:16px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.resource-pill img{object-fit:contain;width:28px;height:28px}.quest-row{gap:10px;margin-top:14px;display:grid}.quest-row small{color:var(--muted);margin-top:3px;display:block}.progress-bar{background:#1a372424;border-radius:99px;height:9px;overflow:hidden}.progress-bar i{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:inherit;height:100%;display:block}.map-shell{background:#ffffff1a;border:1px solid #ffffff21;border-radius:28px;padding:18px;overflow:auto}.game-map{grid-template-columns:repeat(var(--cols), var(--tile));grid-auto-rows:var(--tile);border-radius:18px;width:max-content;margin:auto;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 75px #00000059}.tile{width:var(--tile);height:var(--tile);background-repeat:repeat;background-size:cover;border:0}.tile:hover{filter:brightness(1.18)}.tile.grass{background-image:url(/assets/core/grass.png)}.tile.water{background-image:url(/assets/core/water.png)}.tile.path{background-image:url(/assets/core/path.png)}.tile.farm{background-image:url(/assets/core/farm-land.png)}.map-object{z-index:2;pointer-events:none;place-self:end center}.map-object.house{width:100px;transform:translateY(8px)}.map-object.tree{width:70px}.map-object.small-tree{width:54px}.map-object.chest{width:34px}.map-hero,.map-goblin{z-index:3;pointer-events:none;place-self:end center;animation:.9s steps(8,end) infinite walk-steps}.map-hero{background-image:url(/assets/core/human-walk-strip8.png)}.map-goblin{background-image:url(/assets/core/goblin-walk-strip8.png)}.tips{color:#fff4c9;background:#ffffff1a;border-radius:18px;padding:14px 16px}.production-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.production-card{grid-template-columns:64px 1fr;align-items:center;gap:16px;display:grid}.production-card img{object-fit:contain;width:58px;height:58px}.production-card p{color:var(--muted);margin:7px 0 12px}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav{grid-template-columns:repeat(2,1fr)}.content{padding:14px}.hero-card,.two-col{grid-template-columns:1fr}.stats-grid,.production-grid,.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:root{--tile:42px}}@media (width<=560px){.topbar,.page-head{flex-direction:column;align-items:stretch}.stats-grid,.resource-list,.production-grid,.inventory-grid{grid-template-columns:1fr}.hero-card{padding:20px}:root{--tile:36px}}
