:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:hidden}.stage{width:100%;height:100dvh;position:relative;overflow:hidden}.city{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);position:absolute;inset:0}.city canvas{touch-action:none;display:block}.play{cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:44px;height:44px;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play svg{width:100%;height:100%;display:block}.play:focus-visible{outline-offset:4px;outline:3px solid canvastext}.tray{left:50%;bottom:max(10px, env(safe-area-inset-bottom,0px));box-sizing:border-box;touch-action:none;--tray-edge:bottom;border:0;flex-wrap:wrap;align-items:center;gap:6px 8px;width:min(100% - 8px,680px);min-width:0;margin:0;padding:0;transition:opacity .18s ease-out;display:flex;position:absolute;transform:translate(-50%)}.tray[data-pictures=loading],.tray-harmony[data-pictures=loading]{opacity:0}.tray-harmony{transition:opacity .18s ease-out}@media (prefers-reduced-motion:reduce){.tray,.tray-harmony{transition:none}}.tray-pill{box-sizing:border-box;border:1px solid;border-radius:30px;min-width:0;margin:0;padding:6px 4px;display:flex}.tray-stickers{flex-wrap:wrap;flex:auto;min-width:0}.tray-garage,.tray-facades{flex:none}.tray-history{flex:none;gap:6px;display:flex}.tray-harmony{flex-wrap:nowrap;flex:100%;order:5}@media (width<=369px){.tray-harmony{padding-left:0;padding-right:0}}.harmony-item{contain:inline-size;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:14px;flex:1 1 0;min-width:44px;height:52px;margin:0;padding:4px}.harmony-item img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.harmony-item[data-held=true]{opacity:.35}.harmony-item:focus-visible{outline-offset:1px;outline:3px solid canvastext}.harmony-item[data-ghost=true]{opacity:.45;filter:grayscale(.6);cursor:default}.harmony-item[data-dim=true] img{opacity:.4}.tray-locked{box-sizing:border-box;pointer-events:none;border-style:dashed;flex:none;order:3;width:36px;padding:6px 2px}.tray-locked img{object-fit:contain;opacity:.42;-webkit-user-drag:none;width:30px;height:52px;display:block}@media (width>=640px){.tray[data-harmony=locked]{width:min(100% - 8px,724px)}.tray[data-harmony=locked] .tray-garage{order:4}.tray[data-harmony=true]{width:min(100% - 8px,1090px)}.tray[data-harmony=true] .tray-stickers{flex:none}.tray[data-harmony=true] .tray-item{flex:0 0 48px}.tray-harmony{flex:none;order:3}.tray-harmony .harmony-item{flex:0 0 48px}.tray[data-harmony=true] .tray-garage{order:4;margin-left:auto}}@media (width<=639px){.tray-stickers{flex:100%;order:1}.tray-history{order:2}.tray-facades{order:3}.tray-garage{order:4;margin-left:auto}}.tray-item{contain:inline-size;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:14px;flex:1 1 0;min-width:44px;height:52px;margin:0;padding:4px}@media (width<=369px){.tray-item{flex:0 0 25%}}.tray-item img,.garage-item img,.facade-item img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.tray-item[data-held=true],.garage-item[data-held=true],.facade-item[data-held=true]{opacity:.35}.tray-item:focus-visible,.garage-item:focus-visible,.facade-item:focus-visible,.history-item:focus-visible{outline-offset:1px;outline:3px solid canvastext}.garage-item{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:14px;width:64px;height:46px;margin:0;padding:3px 6px}.garage-item[data-ghost=true],.facade-item[data-ghost=true]{opacity:.3;filter:grayscale(.6);cursor:default}.facade-item{cursor:grab;contain:strict;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:14px;width:52px;height:52px;margin:0;padding:4px 6px}.history-item{width:52px;height:44px;color:inherit;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:1px dashed;border-radius:22px;justify-content:center;align-items:center;margin:0;padding:0 12px;display:flex}.history-item svg{opacity:.85;width:24px;height:24px;display:block}.history-item[data-ready=false]{visibility:hidden}@keyframes tray-wiggle-a{0%{transform:rotate(0)}20%{transform:rotate(-9deg)scale(1.06)}45%{transform:rotate(8deg)scale(1.06)}70%{transform:rotate(-4deg)}to{transform:rotate(0)}}@keyframes tray-wiggle-b{0%{transform:rotate(0)}20%{transform:rotate(-9deg)scale(1.06)}45%{transform:rotate(8deg)scale(1.06)}70%{transform:rotate(-4deg)}to{transform:rotate(0)}}[data-wiggle=a]{animation:.34s ease-out tray-wiggle-a}[data-wiggle=b]{animation:.34s ease-out tray-wiggle-b}@media (prefers-reduced-motion:reduce){[data-wiggle]{animation:none}}.tray-pill{transition:box-shadow .12s ease-out,border-color .12s ease-out}.failed-sign{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (orientation:landscape) and (height<=540px){.stage .tray,.stage .tray[data-harmony]{--tray-edge:right;left:auto;right:max(8px, env(safe-area-inset-right,0px));width:auto;max-height:calc(100% - 16px - env(safe-area-inset-bottom,0px));grid-template-columns:auto auto;place-items:start center;gap:6px;display:grid;top:50%;bottom:auto;transform:translateY(-50%)}.stage .tray .tray-stickers{grid-area:1/1/span 2;grid-template-columns:repeat(3,44px);grid-auto-rows:44px;gap:3px;padding:5px 4px;display:grid}.stage .tray .tray-item,.stage .tray .harmony-item{width:44px;min-width:44px;height:44px;padding:3px}.stage .tray .tray-harmony{grid-area:3/1/span 2;grid-template-columns:repeat(3,44px);grid-auto-rows:44px;gap:3px;padding:5px 4px;display:grid}.stage .tray .tray-locked{grid-area:3/1/span 2}.stage .tray .tray-history{flex-direction:column;grid-area:1/2}.stage .tray .tray-facades{grid-area:2/2}.stage .tray .tray-garage{grid-area:3/2;margin-left:0}}
