html,body{color:#e8ecf1;background:#0e1116;width:100%;height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow:hidden}#app{position:fixed;inset:0}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;outline:none;display:block}.hud{pointer-events:none;z-index:10;font-size:13px;line-height:1.45;position:fixed;inset:0}.hud-panel{pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e1116b8;border:1px solid #ffffff14;border-radius:6px;padding:6px 10px;position:absolute}.hud-status-panel{pointer-events:none;max-width:min(560px,100vw - 40px);top:10px;left:10px}.hud-row{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hud-status{white-space:normal;align-items:center;gap:6px;font-weight:600;display:flex}.hud-dot{background:#8a93a0;border-radius:50%;flex:none;width:8px;height:8px}.hud-dot--ok{background:#4cd964}.hud-dot--wait{background:#fc0}.hud-dot--error{background:#ff5050}.hud-stats{font-variant-numeric:tabular-nums;gap:12px;display:flex}.hud-coords{font-variant-numeric:tabular-nums;color:#c7ced8}.hud-debug{color:#8a93a0;font-variant-numeric:tabular-nums;font-size:12px}.startup-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:fixed;inset:0}.startup-error h1{margin:0;font-size:20px}.startup-error p{color:#c7ced8;max-width:520px;margin:0}.hud-toolbar{box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;max-width:calc(100vw - 20px);padding:8px 10px 6px;display:flex;bottom:10px;left:50%;transform:translate(-50%)}.hud-tools,.hud-tool-options{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.hud-tool-options{gap:16px}.hud-toolbar button{font:inherit;color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:5px}.hud-toolbar button:hover{background:#ffffff24}.hud-tool{align-items:center;gap:6px;padding:4px 10px 4px 6px;display:flex}.hud-tool kbd{color:#c7ced8;text-align:center;background:#00000059;border-radius:3px;min-width:16px;padding:2px 3px;font:600 11px/1 ui-monospace,Consolas,monospace}.hud-toolbar .hud-tool.is-active{color:#fff4c2;background:#ffe06638;border-color:#ffe066d9}.hud-brush,.hud-materials{align-items:center;gap:6px;transition:opacity .15s;display:flex}.hud-brush.is-disabled,.hud-materials.is-disabled{opacity:.45}.hud-label{color:#8a93a0}.hud-mini{min-width:22px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace!important}.hud-brush-value{text-align:center;font-variant-numeric:tabular-nums;min-width:52px}.hud-swatches{gap:4px;display:flex}.hud-toolbar .hud-swatch{border:2px solid #00000080;border-radius:4px;width:20px;height:20px;padding:0}.hud-toolbar .hud-swatch.is-active{border-color:#ffe066;box-shadow:0 0 0 1px #0009}.hud-material-name{min-width:90px}.hud-help{color:#8a93a0;text-align:center;font-size:11px}.hud-toasts{pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:min(520px,100vw - 20px);display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.toast{background:#0e1116e0;border:1px solid #ffffff1a;border-left-width:4px;border-radius:6px;align-items:center;gap:8px;padding:6px 14px;font-weight:600;transition:opacity .22s,transform .22s;animation:.18s ease-out toast-in;display:flex;box-shadow:0 2px 10px #00000059}.toast--info{border-left-color:#8cc8ff}.toast--warn{border-left-color:#fc0}.toast--error{border-left-color:#ff5050}.toast--ok{border-left-color:#4cd964}.toast--leaving{opacity:0;transform:translateY(-6px)}.toast-count{color:#c7ced8;font-variant-numeric:tabular-nums;font-size:11px}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.login-overlay{z-index:20;background:radial-gradient(#283c328c,#080a0ee6);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.login-card{box-sizing:border-box;background:#14181ff5;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:8px;width:min(380px,100%);padding:24px 24px 20px;display:flex;box-shadow:0 10px 40px #00000080}.login-title{letter-spacing:.02em;margin:0;font-size:26px}.login-subtitle{color:#8a93a0;margin:0 0 10px;font-size:13px}.login-label{font-weight:600}.login-input{font:inherit;color:#e8ecf1;background:#00000059;border:1px solid #fff3;border-radius:6px;outline:none;padding:8px 10px;font-size:16px}.login-input:focus{border-color:#ffe066}.login-input.is-invalid{border-color:#ff5050}.login-rules{color:#8a93a0;margin:0;font-size:12px}.login-error{color:#ff8080;margin:0;font-size:13px}.login-submit{font:inherit;color:#fff4c2;cursor:pointer;background:#ffe06633;border:1px solid #ffe066cc;border-radius:6px;margin-top:8px;padding:9px 12px;font-weight:600}.login-submit:hover{background:#ffe06652}
