/* City Growth 1.1 — safe-touch command bar + build tray */
.dock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:6;background:rgba(29,43,38,.9);backdrop-filter:blur(10px);border-radius:22px;box-shadow:var(--shadow);padding:7px;max-width:calc(100vw - 16px);min-width:250px}
.commandbar{display:flex;align-items:center;justify-content:center;gap:7px}.build-toggle{height:48px;min-width:92px;border:0;border-radius:15px;background:rgba(244,240,226,.12);color:var(--cream);font:inherit;font-weight:850;display:flex;gap:6px;align-items:center;justify-content:center;cursor:pointer}.build-toggle span{font-size:21px;line-height:1}.build-toggle.on,.dock.building .build-toggle{background:var(--cream);color:var(--ink)}
.buildtray{display:none;padding-top:7px;max-width:min(620px,calc(100vw - 30px))}.buildtray.open{display:block}.tools{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px}.tools::-webkit-scrollbar{display:none}.cats{display:flex;gap:4px;padding:0 2px 6px;justify-content:center}.cat{min-height:36px;border:0;border-radius:999px;padding:6px 12px;cursor:pointer;font:inherit;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--cream-dim)}.cat.on{background:rgba(244,240,226,.16);color:var(--cream)}
.modes{display:flex;gap:3px}.modes .tool{width:48px;height:48px;padding:0}.modes .tool i,.modes .tool u{display:none}.modes .tool svg{width:22px;height:22px}.tool{flex:0 0 auto;min-width:66px;min-height:58px;padding:7px 5px 6px;border:0;border-radius:15px;cursor:pointer;background:transparent;color:var(--cream-dim);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:background .12s,color .12s,transform .1s}.tool svg{width:25px;height:25px}.tool i{font-style:normal;font-size:10.5px;font-weight:800}.tool u{text-decoration:none;font-size:9px;font-weight:750;color:var(--mustard);opacity:.9;white-space:nowrap}.tool:active{transform:scale(.95)}.tool.on{background:var(--cream);color:var(--ink)}.tool.on u{color:#8a6a1e}.tool.broke{opacity:.4}.tool.locked{opacity:.5}
.active-tool{display:none;align-items:center;gap:12px;margin-bottom:7px;min-width:0;max-width:100%;padding:8px 8px 8px 12px;border-radius:15px;background:rgba(244,240,226,.09);color:var(--cream);box-shadow:inset 0 0 0 1px rgba(244,240,226,.05)}.active-tool.show{display:flex}.active-tool>div:first-child{display:flex;flex-direction:column;min-width:0;flex:1}.active-tool b{font-size:12px}.active-tool span{font-size:10.5px;color:var(--cream-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-actions{display:flex;gap:5px}.active-tool button{width:38px;height:38px;border:0;border-radius:12px;background:rgba(244,240,226,.13);color:var(--cream);font-size:20px;font-weight:850}.active-tool button.confirm{background:var(--cream);color:var(--ink)}.active-tool.danger{box-shadow:inset 0 0 0 1px rgba(185,90,70,.3)}
.hint{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 132px);background:rgba(29,43,38,.82);backdrop-filter:blur(6px);padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;color:var(--cream);box-shadow:var(--shadow);white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .35s;pointer-events:none;z-index:7}.hint.show{opacity:1}.toasts{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 66px);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:8;max-width:calc(100vw - 20px)}.toast{background:rgba(29,43,38,.92);color:var(--cream);padding:7px 15px;border-radius:999px;font-size:13px;font-weight:800;box-shadow:var(--shadow);animation:pop .4s cubic-bezier(.2,1.4,.4,1)}.toast.gold{color:var(--mustard)}@keyframes pop{from{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:none}}.toast.out{opacity:0;transform:translateY(-8px);transition:.5s}
#wish-panel .goal-stage{display:inline-block;margin:-2px 0 8px;padding:3px 8px;border-radius:999px;background:rgba(244,240,226,.12);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-dim)}#wish-panel .goal-kind{font-size:8.5px;font-weight:900;letter-spacing:.1em;color:var(--mustard);margin-bottom:3px}#wish-panel .wish.optional{opacity:.82}
@media(max-width:600px){.dock{bottom:calc(env(safe-area-inset-bottom,0px) + 7px);min-width:236px}.buildtray{max-width:calc(100vw - 28px)}.tool{min-width:64px}.side{max-width:min(190px,45vw)}}
@media(min-width:800px){.buildtray.open .tools{flex-wrap:wrap;justify-content:center;overflow:visible}.dock{max-width:720px}}
