:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#121820;color:#eef3f1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:#121820}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.shell{min-height:100vh;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:linear-gradient(#1218202e,#121820cc),linear-gradient(145deg,#8fb0b6,#d0c899 46%,#263629)}.menu{width:min(560px,100%);display:grid;gap:18px}.brandBlock{display:grid;gap:10px;justify-items:start}.mark{width:62px;height:62px;display:grid;place-items:center;border-radius:8px;background:#f4c95d;color:#18212a;box-shadow:0 16px 42px #00000047}.manualButton{width:fit-content;min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;background:#ffffff21;color:#eef3f1;font-weight:800}h1{margin:0;font-size:clamp(2.8rem,8vw,5.5rem);line-height:.92;letter-spacing:0}p{margin:0;color:#dce6e2}.newGame,.continuePane{background:#121820d1;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:16px;box-shadow:0 20px 70px #00000038}.newGame{display:grid;gap:10px}.newGame label,.paneTitle{font-weight:760;color:#fff}.inputRow{display:grid;grid-template-columns:1fr auto;gap:10px}input{min-width:0;height:48px;padding:0 13px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;outline:none}input:focus{border-color:#f4c95d}.primary,.secondary,.iconButton{height:44px;min-width:44px;max-width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;color:#101820;font-weight:800;white-space:nowrap}.primary{background:#f4c95d}.secondary,.iconButton{background:#ffffff1a;color:#eef3f1}.continuePane{display:grid;gap:12px}.paneTitle{display:flex;align-items:center;gap:9px}.saveList{display:grid;gap:8px;max-height:38vh;overflow:auto}.saveItem{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;background:#ffffff14;color:#eef3f1;text-align:left}.saveItem span{min-width:0;display:grid;gap:2px}.saveItem strong,.saveItem small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saveItem small,.empty,.notice,.version{color:#b9c8c4}.version{justify-self:center;font-size:.82rem}.gameShell{width:100vw;max-width:100vw;height:100svh;display:grid;grid-template-rows:auto 1fr auto auto;background:#101820;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:8px;overflow:hidden}.topbar,.controlDock,.statusLine{min-width:0;border:1px solid rgba(255,255,255,.12);background:#151f27f5;border-radius:8px}.topbar{min-height:58px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:10px;align-items:center;padding:7px}.levelText{min-width:0;display:grid;gap:2px}.levelText strong,.levelText span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.levelText span{color:#b9c8c4;font-size:.88rem}.budget{min-width:90px;height:38px;display:grid;place-items:center;border-radius:8px;color:#102018;background:#83c59c;font-weight:850}.budget[data-over=true]{background:#f18164}.canvasWrap{position:relative;width:100%;min-width:0;min-height:0;overflow:hidden;border-radius:8px;background:#91b3bd;border:1px solid rgba(255,255,255,.14);touch-action:none}canvas{width:100%;height:100%;display:block}.controlDock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px}.materials,.actions{display:flex;gap:8px;align-items:center;min-width:0}.materials{overflow-x:auto}.actions{justify-content:flex-end}.materialButton{height:44px;min-width:0;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;background:#ffffff17;color:#eef3f1;font-weight:760;white-space:nowrap}.materialButton small{color:#b9c8c4;font-size:.74rem}.materialButton.active{outline:2px solid #f4c95d;background:#f4c95d29}.swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.35)}.statusLine{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;color:#dce6e2;font-size:.92rem}.statusLine span:first-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.best{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:#f4c95d}.modalShade{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#060a0eb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.manualPanel{width:min(820px,100%);max-height:min(760px,92svh);overflow:auto;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#151f27;box-shadow:0 30px 90px #0000006b;padding:18px}.manualHeader{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:start;margin-bottom:16px}.manualHeader h2,.manualGrid h3{margin:0;letter-spacing:0}.manualHeader h2{font-size:clamp(1.55rem,5vw,2.3rem)}.eyebrow{margin-bottom:4px;color:#f4c95d;font-weight:850;font-size:.82rem;text-transform:uppercase}.manualGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manualGrid article{min-width:0;padding:13px;border-radius:8px;background:#ffffff12}.manualGrid h3{margin-bottom:6px;font-size:1rem}.manualGrid p{line-height:1.38;color:#dce6e2}@media(max-width:720px){.shell{place-items:stretch;align-content:center}.inputRow{grid-template-columns:1fr}.topbar{grid-template-columns:40px minmax(0,1fr) 40px 82px;gap:7px}.controlDock{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));min-width:0}.actions .primary,.actions .secondary{width:100%;padding:0 8px}.actions .secondary:nth-child(2),.actions .secondary:nth-child(3){font-size:0;gap:0}.statusLine{font-size:.82rem}.manualGrid{grid-template-columns:1fr}.manualPanel{padding:14px}}
