.app{position:fixed;inset:0}.canvas{cursor:default;position:absolute;inset:0}.hud{background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:calc(100vw - 24px);padding:10px 12px;display:flex;position:absolute;top:12px;left:12px}.hud h1{letter-spacing:.5px;margin:0;font-size:18px}.hud h1 span{color:var(--accent)}.row{gap:6px;display:flex}.row.wrap{flex-wrap:wrap}button{border:1px solid var(--line);min-width:40px;min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:#2a231d;border-radius:8px;padding:0 12px}button:hover{background:#352c24}button[aria-pressed=true]{background:var(--accent);color:#1a0f08;border-color:var(--accent);font-weight:600}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #f5d28a}.status{margin:0;font-size:13px}.status.ok{color:#9fd89a}.status.bad{color:#f2a08e}.admin{border-color:var(--accent);flex-direction:column;align-items:flex-start;max-width:360px;left:auto;right:12px}.admin label{color:var(--muted);align-items:center;gap:6px;display:flex}.admin input{color:var(--text);border:1px solid var(--line);font:inherit;background:#14110f;border-radius:6px;min-height:32px;padding:6px 8px}.admin input[type=color]{width:40px;height:32px;padding:0}.minimap{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute;bottom:80px;left:12px;box-shadow:0 4px 16px #0006}.minimap canvas{cursor:pointer;touch-action:none;width:260px;height:130px;image-rendering:pixelated;border-radius:6px;display:block}.mm-controls{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.mm-controls span{flex:1}.mm-controls button{min-width:30px;min-height:30px;padding:0 8px}.mm-controls button:disabled{opacity:.4;cursor:default}@media (width<=900px){.minimap{bottom:80px}.minimap canvas{width:190px;height:95px}}.hint{color:var(--muted);background:#14110fb8;border-radius:999px;padding:3px 10px;font-size:12px;position:absolute;bottom:12px;left:12px}.palette{background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:center;gap:6px;width:max-content;max-width:calc(100vw - 24px);margin:0 auto;padding:8px 10px;display:flex;position:absolute;bottom:14px;left:0;right:0}.swatch{border:2px solid #ffffff40;border-radius:8px;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;box-shadow:inset 0 -4px #0003,inset 0 3px #fff3}.swatch.natural{background:linear-gradient(135deg,#b5523b 0 33%,#a84a35 33% 66%,#c15e43 66%)}.swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px;border-color:#fff;transform:translateY(-3px)}.feed{pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:14px;right:12px}.feed li{color:var(--text);background:#14110fb8;border-radius:999px;padding:3px 10px;font-size:12px;animation:.25s ease-out feedin}@keyframes feedin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.feed li{animation:none}.swatch[aria-pressed=true]{transform:none}}@media (width<=900px){.hint{display:none}.admin{max-width:none;inset:auto 12px 12px}}.overlay{z-index:10;background:#080605b8;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.dialog{background:var(--panel);border:1px solid var(--accent);border-radius:14px;max-width:520px;max-height:100%;padding:20px 22px;overflow:auto;box-shadow:0 10px 40px #0009}.dialog h2{margin:0 0 8px;font-size:20px}.dialog p{margin:8px 0}.dialog ul{margin:8px 0;padding-left:20px}.dialog li{margin:6px 0}.dialog .controls{color:var(--muted);font-size:13px}.dialog b{color:var(--text)}kbd{border:1px solid var(--line);font:inherit;background:#14110f;border-radius:5px;padding:1px 6px;font-size:12px}.check{cursor:pointer;align-items:center;gap:8px;margin:14px 0 12px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}button.primary{background:var(--accent);color:#1a0f08;border-color:var(--accent);width:100%;min-height:44px;font-weight:700}button.primary:hover{background:#f08a54}
