@font-face{font-family:"Forge Future";src:url("ui-redesign/fonts/kenney-future.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Forge Bold";src:url("ui-redesign/fonts/kenney-bold.ttf") format("truetype");font-display:swap}
:root{--ink:#eaf5ed;--muted:#9fb5ad;--panel:#17231feF;--line:#455a52;--green:#6fd29a;--blue:#62a9c4;--danger:#e38469;--gold:#dcbf72}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101a17;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a{font:inherit;touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:3px solid #d8e87b;outline-offset:3px}
#trailforge-app{position:relative;width:min(100%,900px);height:95svh;min-height:520px;margin:0 auto;overflow:hidden;background:#17231f;box-shadow:0 0 70px #050a08}
.forge-topbar{position:absolute;z-index:20;left:0;right:0;top:0;height:64px;padding:8px max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;background:linear-gradient(#14231feF,#14231fbb,transparent)}
.forge-title{text-align:center;min-width:0}.forge-title span,.forge-sheet header span{display:block;font:700 10px "Trebuchet MS","Segoe UI",sans-serif;letter-spacing:.13em;color:var(--green)}
.forge-title h1{margin:1px 0 0;font:700 22px "Trebuchet MS","Segoe UI",sans-serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forge-icon{width:44px;height:44px;padding:9px;border:1px solid #72847d;border-radius:13px;color:var(--ink);background:#263630;box-shadow:0 4px 0 #0b1210;display:grid;place-items:center;font:700 18px "Trebuchet MS","Segoe UI",sans-serif;cursor:pointer}
.forge-icon img{width:25px;height:25px;object-fit:contain;filter:brightness(0) invert(1)}.forge-icon:active{transform:translateY(3px);box-shadow:0 1px 0 #0b1210}
.forge-hud{position:absolute;z-index:15;top:64px;left:10px;right:10px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;pointer-events:none}
.distance,.journey-actions{border:1px solid #5d7169;background:#14211dde;box-shadow:0 5px 14px #07100d66;border-radius:14px;backdrop-filter:blur(7px)}
.distance{width:92px;min-width:92px;padding:8px 11px}.distance strong{display:block;overflow:hidden;font:700 18px "Trebuchet MS","Segoe UI",sans-serif;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}.distance span{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--green)}
.journey-actions{display:flex;align-items:stretch;justify-content:flex-end;min-width:0;padding:4px}.speed-stat,.money-stat{min-width:54px;padding:5px 6px;text-align:center;border-right:1px solid #40534c}.money-stat{min-width:66px}.speed-stat b,.money-stat b{display:block;overflow:hidden;font:700 16px "Trebuchet MS","Segoe UI",sans-serif;white-space:nowrap;text-overflow:clip;font-variant-numeric:tabular-nums}.money-stat b{font-size:clamp(11px,3.5vw,16px);color:#f1d37d}.speed-stat small,.money-stat small{display:block;margin-top:2px;font-size:9px;font-weight:700;color:var(--muted)}
#inventory-button{flex:0 1 118px;min-width:92px;border:0;border-radius:10px;background:#2d5142;color:#fff;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 6px;font:700 10px "Trebuchet MS","Segoe UI",sans-serif;letter-spacing:.02em;pointer-events:auto;cursor:pointer}.inventory-icon{font-size:15px;color:#e5ca79}#inventory-button:active{background:#3b6a56}
.forge-world{position:absolute;inset:0;overflow:hidden;touch-action:none;background:#6f9eaa}
#world-canvas,#foreground-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#foreground-canvas{z-index:6;pointer-events:none}
#vehicle{position:absolute;z-index:5;overflow:visible;pointer-events:none;will-change:left,top,transform}
.wheel-spin{transform-box:fill-box;transform-origin:center}.saw-spin,.drill-spin{transform-box:fill-box;transform-origin:center}
.is-cutting .saw-spin{animation:saw-spin .24s linear infinite}.is-mining .drill-spin{animation:drill-spin .28s linear infinite}
@keyframes saw-spin{to{rotate:360deg}}@keyframes drill-spin{0%{scale:1 1}50%{scale:.58 1}100%{scale:1 1}}
#emergency-wood{position:absolute;z-index:12;left:50%;bottom:127px;translate:-50% 0;min-width:230px;padding:12px 15px;border:1px solid #e1c77f;border-radius:13px;background:#513e28;color:#fff4cf;box-shadow:0 5px 0 #21180e;cursor:pointer}
#upgrades-button{min-width:122px;height:48px;padding:8px 12px;border:1px solid #9ae6bc;border-radius:13px;background:linear-gradient(160deg,#367a59,#244d3b);color:#fff;font:700 12px "Trebuchet MS","Segoe UI",sans-serif;letter-spacing:.04em;box-shadow:0 5px 0 #10241b,0 10px 18px #07100d66;cursor:pointer}
.forge-controls{position:absolute;z-index:11;top:145px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.zoom-controls{display:grid;grid-template-columns:36px 45px 36px;align-items:center;border:1px solid #657a72;border-radius:13px;background:#17251fe8;box-shadow:0 5px 0 #0a1511;overflow:hidden}.zoom-controls button{width:36px;height:46px;border:0;background:#2a4037;color:#fff;font:700 23px "Trebuchet MS","Segoe UI",sans-serif;cursor:pointer}.zoom-controls button:active{background:#3a5a4b}.zoom-controls span{text-align:center;color:#bcd0c7;font:700 10px "Trebuchet MS","Segoe UI",sans-serif}
#drive-toggle{width:60px;height:48px;padding:0;border:1px solid #e6c985;border-radius:13px;background:#554728;color:#fff4d3;box-shadow:0 5px 0 #231c0e;font:700 11px "Trebuchet MS","Segoe UI",sans-serif;cursor:pointer}#drive-toggle[aria-pressed="true"]{border-color:#9ae6bc;background:#2e684d;color:#fff}#drive-toggle:active,#upgrades-button:active{transform:translateY(3px);box-shadow:0 2px 0 #10241b}
.forge-sheet{width:min(94vw,680px);max-height:min(82svh,740px);margin:auto 3vw 5svh auto;padding:0;border:1px solid #647970;border-radius:22px;background:#17241f;color:var(--ink);box-shadow:0 22px 80px #020504cc;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#647970 #17241f}
.forge-sheet::backdrop{background:#07100db8;backdrop-filter:blur(3px)}
.forge-sheet header{position:sticky;z-index:3;top:0;display:grid;grid-template-columns:1fr 44px;align-items:center;gap:12px;padding:15px 16px 12px;background:#1b2b25;border-bottom:1px solid #42564e}
.forge-sheet h2{margin:2px 0 0;font:700 24px "Trebuchet MS","Segoe UI",sans-serif}.sheet-note{margin:0;padding:13px 16px 8px;color:#b8c9c2;font-size:11px;line-height:1.5}
.forge-sheet h2{font-family:"Trebuchet MS","Segoe UI",sans-serif}.inventory-list{padding:8px 14px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.inventory-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border:1px solid #40544c;border-radius:14px;background:#202f2a}.inventory-art{width:46px;height:46px;background-repeat:no-repeat;background-size:400% 400%;background-color:#182620;border-radius:10px;display:grid;place-items:center;font:25px "Trebuchet MS",sans-serif;color:#d4b768}.resource-art{background:#29443a;border:1px solid #537264}.inventory-item h3{margin:0;font:700 12px "Trebuchet MS","Segoe UI",sans-serif;line-height:1.1}.inventory-item p{margin:4px 0 0;font-size:9px;color:#b7c7c0}.inventory-sale-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.inventory-sale-actions button{min-height:34px;border:1px solid #79948a;border-radius:9px;background:#354b42;color:#fff;font:700 10px "Trebuchet MS","Segoe UI",sans-serif;cursor:pointer}.inventory-sale-actions button small{margin-left:5px;color:#d5e7de;font:700 9px "Segoe UI",sans-serif}.inventory-sale-actions button:disabled{opacity:.45;cursor:default}
.upgrade-list{padding:8px 14px 18px;display:grid;gap:9px}.upgrade{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:11px;border:1px solid #40544c;border-radius:14px;background:#202f2a}.upgrade h3{margin:0 0 4px;font:700 13px "Trebuchet MS","Segoe UI",sans-serif}.upgrade p{margin:0;color:#aabdb5;font-size:10px;line-height:1.35}.upgrade .level{color:var(--green)}
.upgrade button{min-width:106px;min-height:45px;padding:7px 9px;border:1px solid #81948d;border-radius:11px;background:#334740;color:white;box-shadow:0 4px 0 #0d1713;font:700 10px "Trebuchet MS","Segoe UI",sans-serif;cursor:pointer}.upgrade button:disabled{opacity:.45;box-shadow:none}.upgrade button small{display:block;margin-top:3px;color:#cfe4da;font:8px "Segoe UI",sans-serif}
.prestige-panel{margin:0 14px 18px;padding:14px;border:1px solid #a68d50;border-radius:15px;background:linear-gradient(150deg,#302b1d,#202d27);box-shadow:inset 0 0 24px #d5b75a12}.prestige-panel>span{display:block;color:#e2c66e;font:700 9px "Trebuchet MS","Segoe UI",sans-serif;letter-spacing:.13em}.prestige-panel h3{margin:3px 0 10px;font:700 20px "Trebuchet MS","Segoe UI",sans-serif}.prestige-panel p{margin:5px 0;color:#c4d1cb;font-size:11px;line-height:1.4}.prestige-panel .prestige-ready{color:#f0d879;font-weight:700}.prestige-panel .prestige-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.prestige-panel .prestige-stat{padding:8px;border:1px solid #4e5b4e;border-radius:9px;background:#18241f}.prestige-panel .prestige-stat b,.prestige-panel .prestige-stat small{display:block}.prestige-panel .prestige-stat b{color:#fff;font-size:14px}.prestige-panel .prestige-stat small{margin-top:2px;color:#9fb1aa;font-size:8px;letter-spacing:.04em}.prestige-panel>button,.prestige-confirm-copy>button{width:100%;min-height:48px;margin-top:10px;border:1px solid #f0d879;border-radius:11px;background:linear-gradient(160deg,#8a7131,#5e4b20);color:#fff7d6;box-shadow:0 4px 0 #2c220c;font:700 11px "Trebuchet MS","Segoe UI",sans-serif;letter-spacing:.05em;cursor:pointer}.prestige-panel>button:disabled{opacity:.42;box-shadow:none;cursor:default}.prestige-confirm-copy{padding:16px 18px 22px;color:#c8d5cf;font-size:13px;line-height:1.5}.prestige-confirm-copy p{margin:0 0 13px}.prestige-confirm-copy strong{color:#f0d879}.prestige-confirm-copy>button{margin-top:5px;background:linear-gradient(160deg,#8e583a,#613625);border-color:#e7a17c;box-shadow:0 4px 0 #2f160e}
.forge-sheet details{margin:0 14px 16px;padding:10px;border:1px solid #3e514a;border-radius:13px}.forge-sheet summary{cursor:pointer;color:var(--green);font-size:11px}.debug-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.debug-grid button,.reset-progress{min-height:42px;border:1px solid #64766f;border-radius:10px;background:#293a34;color:#e9f4ef}.reset-progress{display:block;width:calc(100% - 28px);margin:0 14px 18px;background:#3b2925;border-color:#825c52;color:#ffd7ce}
.help-copy{padding:16px 18px 24px;color:#c4d5ce;font-size:13px;line-height:1.55}.help-copy p{margin:0 0 13px}.help-copy strong{color:#fff}
@media(min-width:700px){#trailforge-app{height:min(95svh,940px);border-inline:1px solid #42564e}.forge-hud,.forge-controls{left:18px;right:18px}.forge-sheet{margin:auto}.upgrade-list{grid-template-columns:1fr 1fr}.inventory-list{grid-template-columns:repeat(3,minmax(0,1fr))}.forge-world{border-radius:0}}
@media(max-height:650px){.forge-topbar{height:54px}.forge-title span{display:none}.forge-hud{top:54px}.forge-controls{top:125px}.distance{padding:5px 9px}.distance strong{font-size:20px}.journey-actions{padding:3px}.forge-sheet{max-height:88svh}.inventory-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.is-cutting .saw-spin,.is-mining .drill-spin{animation-duration:1s}}
