:root{--panel: rgba(255, 250, 235, .96);--ink: #3b2a1a;--accent: #e8a33d;--accent-dark: #c47f1a;--green: #5aa64a;--red: #c74b3c;--shadow: 0 6px 20px rgba(40, 25, 5, .25);--radius: 14px;font-family:Segoe UI,Nunito,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#8fc8e8}#game{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button{font:inherit;cursor:pointer}[hidden]{display:none!important}#hud{position:fixed;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:flex-start;pointer-events:none}#hud>div{display:flex;gap:10px;align-items:center;pointer-events:auto}.stat{background:var(--panel);border-radius:999px;padding:6px 14px;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;font-weight:700}.stat.level{border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:3px;min-width:150px;font-weight:600;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.stat.level:hover{background:#fff}.stat.coins,.stat.silo{border:0;font:inherit;color:inherit;cursor:pointer}.stat.coins:hover,.stat.silo:hover{background:#fff}.silo-pop{left:0;right:auto;min-width:220px;padding:10px}.silo-pop .silo-line{padding:2px 6px 8px;font-size:12px}.silo-row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:#fff;border-radius:10px;margin-bottom:6px;box-shadow:0 1px 4px #00000014}.silo-row svg{display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.silo-row .what{flex:1;font-weight:600}.silo-row .n{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.silo-row.none{opacity:.45}.coin-list{display:grid;max-height:380px;overflow-y:auto;background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014}.coin-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:6px 12px;border-bottom:1px solid #f0e8d8;height:38px;box-sizing:border-box;align-items:center}.coin-row .what{font-weight:600;font-size:13px}.coin-row .when{font-size:11px;opacity:.6;grid-column:1}.coin-row .amt{grid-column:2;grid-row:1 / span 2;font-weight:800;font-variant-numeric:tabular-nums}.coin-row .amt.plus{color:var(--green)}.coin-row .amt.minus{color:var(--red)}.level-card.current{outline:2px solid var(--green)}.level-card.done{opacity:.6}.qty.small{font-size:12px;font-weight:600;opacity:.7}.xp-bar{height:8px;background:#d9cdb5;border-radius:4px;overflow:hidden}#xp-fill{height:100%;background:var(--green);width:0;transition:width .3s}.xp-text{font-size:11px;opacity:.7}.silo-icon{width:14px;height:18px;border-radius:4px 4px 3px 3px;background:linear-gradient(#f5efe0,#d9cdb5);border:2px solid #8a6a3a;display:inline-block;position:relative}.silo-icon:before{content:"";position:absolute;left:-4px;right:-4px;top:-6px;height:6px;background:#c74b3c;border-radius:4px 4px 0 0}.stat.silo.full{color:var(--red)}.stat.tasks,.stat.icon-pill{padding:6px 12px;min-height:36px}.shop-icon{width:20px;height:14px;background:#fff5e0;border:2px solid #8a6a3a;border-top:0;border-radius:0 0 3px 3px;display:inline-block;position:relative;margin-top:6px}.shop-icon:before{content:"";position:absolute;left:-5px;right:-5px;top:-7px;height:7px;background:repeating-linear-gradient(90deg,#c74b3c 0 5px,#fff 5px 10px);border:2px solid #8a2a1e;border-radius:4px 4px 2px 2px}.shop-icon:after{content:"";position:absolute;left:6px;bottom:0;width:6px;height:8px;background:#8a6a3a;border-radius:2px 2px 0 0}.pill-svg{width:30px;height:22px;display:block}.stat .badge-count{top:-7px;right:-7px}.tasks-icon{width:16px;height:20px;background:#fff5e0;border:2px solid #8a6a3a;border-radius:3px;display:inline-block;position:relative}.tasks-icon:before{content:"";position:absolute;left:3px;right:3px;top:-5px;height:5px;background:#8a6a3a;border-radius:2px 2px 0 0}.tasks-icon:after{content:"";position:absolute;left:3px;top:4px;width:5px;height:9px;border:solid var(--green);border-width:0 3px 3px 0;transform:rotate(40deg)}.menu.tasks-pop{min-width:340px;max-height:min(70vh,560px);overflow-y:auto;gap:8px}.tasks-pop .card .qty{white-space:nowrap}.barn-icon{width:20px;height:16px;background:#c74b3c;border:2px solid #8a2a1e;border-radius:3px;display:inline-block;position:relative}.barn-icon:before{content:"";position:absolute;left:-4px;right:-4px;top:-7px;height:7px;background:#5a3a1e;border-radius:5px 5px 0 0}.barn-icon:after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:8px;background:#fff5e0}.silo-row .glyph{font-size:22px;width:30px;text-align:center}.coin-icon{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe680,#d99a1a);border:2px solid #a8720c;display:inline-block}.hud-btn{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:700;box-shadow:var(--shadow)}.hud-btn:hover{background:var(--accent-dark)}.hud-btn.subtle{background:var(--panel);color:var(--ink)}.hud-btn.danger{background:var(--red)}.hud-btn:disabled{opacity:.5;cursor:default}.hud-btn{position:relative}.badge-count{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;border-radius:11px;background:var(--red);color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 1px 3px #0000004d}.task-bar{grid-column:1 / -1;height:8px;background:#e6dcc4;border-radius:4px;overflow:hidden}.task-bar>div{height:100%;background:var(--green)}.card.done{outline:2px solid var(--green)}.card.claimed{opacity:.5}.card .reward{grid-column:1;font-size:12px;font-weight:700;color:var(--accent-dark)}.icon-btn{background:none;border:0;font-size:24px;line-height:1;color:var(--ink)}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);min-width:170px;background:var(--panel);border-radius:10px;box-shadow:var(--shadow);display:grid;overflow:hidden;z-index:12}.menu button{background:none;border:0;padding:11px 16px;text-align:left;font-weight:600;color:var(--ink)}.menu button:hover{background:#fff}.coins-pop{left:0;right:auto;width:min(340px,calc(100vw - 24px));padding:10px}.coins-pop .silo-line{padding:2px 6px 8px;font-size:12px}.coins-pop .empty{padding:12px}.levels-pop{left:0;right:auto;width:min(360px,calc(100vw - 24px));padding:10px}.levels-pop>div{display:grid;gap:8px;max-height:min(60vh,520px);overflow-y:auto}.lang-row{display:flex;gap:8px;grid-column:1 / -1}.lang-row .hud-btn.chosen{outline:3px solid var(--green)}#panel{position:fixed;top:70px;right:12px;bottom:90px;width:min(360px,calc(100% - 24px));background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column}#panel header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0d4bb}#panel h2{margin:0;font-size:18px}#panel-body{overflow-y:auto;padding:12px;display:grid;gap:10px}.card{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 1px 4px #00000014}.card .name{font-weight:700}.card .meta{font-size:12px;opacity:.7;grid-column:1}.card .buy{grid-column:2;grid-row:1 / span 2}.card .name{grid-column:1}.card.locked{opacity:.55}.card .qty{font-size:22px;font-weight:800;grid-column:2;grid-row:1 / span 2;text-align:right}.sell-row{display:flex;gap:8px;align-items:center;grid-column:1 / -1}.sell-row input[type=range]{flex:1}.empty{text-align:center;opacity:.6;padding:24px}.silo-line{font-weight:700;padding:4px 6px;opacity:.8}#action-bar,#place-bar{position:fixed;left:50%;bottom:16px;transform:translate(-50%);background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 24px)}#action-bar .title{font-weight:800;margin-right:6px}#action-bar .timer{font-variant-numeric:tabular-nums;opacity:.75;margin-right:6px}#action-bar .cost{flex-basis:100%;text-align:center;font-size:12px;opacity:.8}#action-bar .short{color:var(--red);font-weight:700}#action-bar .special{color:#b8860b;font-weight:700;opacity:1}#action-bar .hud-btn.chosen{outline:3px solid var(--green)}#action-bar .crop-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px}#action-bar .crop-btn svg{display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}#action-bar .crop-btn .badge{background:#ffffff59;border-radius:999px;padding:1px 8px;font-size:13px}#hold-ring{position:fixed;width:64px;height:64px;margin:-32px 0 0 -32px;pointer-events:none;z-index:15;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}#hold-ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block}#hold-ring circle{fill:none;stroke-width:7;stroke-linecap:round}#hold-ring .track{stroke:#fffaeb99}#hold-ring .fill{stroke:var(--accent);stroke-dasharray:163.4;stroke-dashoffset:163.4;animation:hold-fill var(--hold-ms, 1s) linear forwards}@keyframes hold-fill{to{stroke-dashoffset:0}}#tool-cursor{position:fixed;pointer-events:none;z-index:16;margin:-40px 0 0 -8px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}#tool-cursor svg{display:block}body.tool-active #game{cursor:none}#effects{position:fixed;inset:0;pointer-events:none;z-index:25;overflow:hidden}.coin-fx{position:absolute;left:0;top:0;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.35);opacity:0;white-space:nowrap;will-change:transform}.coin-fx.total{font-size:34px;color:#fff;-webkit-text-stroke:2px #4c8f3c;transform:translate(-50%,-50%);animation:coin-total 1.5s ease-out forwards}.coin-fx.total.spent{color:#ff6a5a;-webkit-text-stroke:2px #7a1a10}.stat{position:relative;transition:transform .12s ease-out}.stat.pulse{transform:scale(1.12)}@keyframes coin-total{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1;transform:translate(-50%,-70px) scale(1.1)}70%{opacity:1;transform:translate(-50%,-90px) scale(1)}to{opacity:0;transform:translate(-50%,-130px) scale(1)}}#toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:var(--red);color:#fff;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow);font-weight:700;z-index:20}#toast.ok{background:var(--green)}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(#8fc8e8,#bfe3a0);z-index:30}.overlay h1{margin:0 0 4px;font-size:40px;letter-spacing:1px}a.stat.icon-pill{text-decoration:none;display:inline-flex;align-items:center}.menu-icon{width:16px;height:16px;vertical-align:-3px;margin-right:6px}
