*,:before,:after{box-sizing:border-box}html,body,#root{background:#0e0d0b;width:100%;height:100%;margin:0;overflow:hidden}body{color:#ece6dc;-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif}button{font:inherit;color:inherit}.app{position:fixed;inset:0}.app canvas{touch-action:none;display:block}.title{pointer-events:none;text-shadow:0 1px 8px #00000080;position:absolute;top:20px;left:24px}.title h1{letter-spacing:.02em;margin:0;font-size:15px;font-weight:500}.title p{color:#ece6dca6;margin:2px 0 0;font-size:12px}.dock{max-width:calc(100vw - 16px);position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.picker{flex-direction:column;align-items:center;max-width:100%;display:flex}.picker--open{background:#12100ef0;border:1px solid #ffffff1a;border-radius:8px;align-items:stretch;gap:4px;padding:6px;box-shadow:0 2px 8px #00000047}.picker__bar{align-items:center;gap:6px;display:flex}.picker__toggle{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.picker__title{font-weight:500}.picker--compact:not(.picker--open) .picker__bar{justify-content:center;width:100%}.picker--compact .picker__toggle{flex:1;justify-content:center;min-height:40px;padding:8px 12px}.picker:not(.picker--open) .picker__toggle{background:#12100ef0;border-color:#ffffff24;box-shadow:0 2px 8px #00000047}.picker__toggle:hover{background:#ffffff14}.picker__count{color:#ece6dc8c;font-variant-numeric:tabular-nums}.picker__chev{color:#ece6dcb3;font-size:10px}.picker__clear{cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:12px}.picker__clear:hover:not(:disabled){background:#ffffff14}.picker__clear:disabled{opacity:.35;cursor:default}.picker__list{scrollbar-width:thin;scrollbar-color:#fff3 transparent;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.pick{flex:none;position:relative}.pick__add{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;width:58px;padding:2px 2px 3px;display:flex}.pick__add:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff1a}.pick__add:focus-visible{outline-offset:1px;outline:1px solid #e8c98f}.pick__add:disabled{opacity:.4;cursor:default}.pick__img{object-fit:contain;pointer-events:none;width:48px;height:28px}.pick__name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.2;overflow:hidden}.pick__n{font-variant-numeric:tabular-nums;cursor:pointer;background:#161410;border:1px solid #ffffff29;border-radius:4px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;display:flex;position:absolute;top:1px;right:1px}.pick__minus,.pick__n:hover .pick__num{display:none}.pick__n:hover .pick__minus{display:inline}.walk-pad{z-index:5;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-rows:repeat(2,46px);grid-template-columns:repeat(3,46px);gap:4px;display:grid;position:absolute;bottom:56px;left:10px}.walk-pad__btn{letter-spacing:.04em;color:#ece6dceb;cursor:pointer;background:#12100ed1;border:1px solid #ffffff29;border-radius:8px;font-size:13px;font-weight:500}.walk-pad__btn:active{background:#ffffff24}.walk-pad__btn--w{grid-area:1/2}.walk-pad__btn--a{grid-area:2/1}.walk-pad__btn--s{grid-area:2/2}.walk-pad__btn--d{grid-area:2/3}.toolbar{align-items:flex-start;gap:8px;display:flex;position:absolute;top:16px;right:20px}.toggle{cursor:pointer;background:#14120f99;border:1px solid #ffffff24;border-radius:6px;padding:4px 10px;font-size:12px}.toggle--on{background:#96c4d640;border-color:#aad6e673}.credits{flex-direction:column;align-items:flex-end;gap:8px;font-size:12px;display:flex}.credits__toggle{cursor:pointer;background:#14120f99;border:1px solid #ffffff24;border-radius:6px;padding:4px 10px}.credits__panel{background:#14120fe0;border:1px solid #ffffff14;border-radius:10px;width:300px;max-height:60vh;padding:12px 14px;line-height:1.45;overflow-y:auto}.credits__panel p{margin:0 0 8px}.credits__panel ul{margin:0 0 8px;padding-left:16px}.credits__panel a{color:#e8c98f}.rotate{z-index:10;color:#ece6dccc;text-align:center;background:#0e0d0b;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;font-size:14px;display:flex;position:fixed;inset:0}.rotate__icon{color:#e8c98f;width:56px;height:56px;animation:2.4s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (height<=500px){.title p{font-size:10.5px}.title{top:10px;left:14px}.toolbar{top:8px;right:12px}.dock{max-width:none;bottom:6px;left:8px;right:8px;transform:none}.picker--open{padding:4px}.pick__add{width:52px}.pick__img{width:44px;height:24px}.pick__name{font-size:10px}.walk-pad{grid-template-rows:repeat(2,42px);grid-template-columns:repeat(3,42px);bottom:48px;left:8px}}.loader{color:#ece6dcb3;background:#0e0d0b;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.loader__bar{background:#ffffff1a;width:220px;height:2px}.loader__fill{background:#e8c98f;height:100%;transition:width .2s}
