.gallery-hint{color:var(--text-dim);margin-bottom:8px;font-size:11px}.gallery-group{margin-top:8px}.gallery-group h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:6px;font-size:10px}.gallery-list{flex-direction:column;gap:8px;list-style:none;display:flex}.gallery-main{align-items:center;gap:8px;display:flex}.gallery-name{flex:1;font-size:12px}.gallery-size{color:var(--text-dim);white-space:nowrap;font-size:10px}.gallery-counter{align-items:center;gap:4px;display:flex}.gallery-count{text-align:center;font-variant-numeric:tabular-nums;min-width:16px;font-size:12px}.gallery-credit{color:var(--text-dim);margin-top:2px;font-size:10px;text-decoration:none;display:block}.gallery-credit:hover{color:var(--accent);text-decoration:underline}:root{--bg:#0e1013;--panel:#14171ceb;--panel-border:#2a2f38;--panel-raised:#1b1f26;--panel-hover:#232833;--text:#e8eaed;--text-dim:#9aa2ad;--accent:#ff5c1a;--accent-2:#3ddc84;--error:#ff5c5c;font-family:Inter,system-ui,-apple-system,sans-serif}:root[data-theme=light]{--bg:#eef0f3;--panel:#fcfcfdf0;--panel-border:#d4d8df;--panel-raised:#f2f3f6;--panel-hover:#e7e9ee;--text:#1a1d22;--text-dim:#5b6470;--error:#c62828}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--text);overflow:hidden}.engine-root{position:fixed;inset:0}.engine-canvas{touch-action:none;width:100%;height:100%;display:block}.ui-overlay{pointer-events:none;display:flex;position:absolute;inset:0}.sidebar{pointer-events:auto;flex-direction:column;gap:12px;width:320px;max-height:100%;padding:12px;display:flex;overflow-y:auto}.app-header h1{letter-spacing:.2px;font-size:16px;font-weight:600}.app-header .tagline{color:var(--text-dim);margin-top:2px;font-size:11px}.card{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:12px}.card h2{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin-bottom:10px;font-size:12px}.drop-zone{border:1.5px dashed var(--panel-border);text-align:center;color:var(--text-dim);cursor:pointer;border-radius:8px;padding:18px 12px;font-size:12px;transition:border-color .12s,color .12s}.drop-zone:hover{border-color:var(--accent);color:var(--text)}.button-row{gap:6px;margin-top:10px;display:flex}button{background:var(--panel-raised);color:var(--text);border:1px solid var(--panel-border);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--panel-hover);border-color:var(--accent)}button.primary{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--panel-raised))}button.danger{border-color:var(--error);color:var(--error)}button:disabled{opacity:.5;cursor:default}button.icon{padding:2px 7px;font-size:11px}.asset-list{flex-direction:column;gap:6px;margin-top:10px;list-style:none;display:flex}.asset-list li{align-items:center;gap:6px;font-size:12px;display:flex}.asset-list li.empty{color:var(--text-dim);font-size:11px}.asset-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.splat-row-main,.asset-list li{min-width:0}select,input[type=text],input[type=number],input[type=password]{background:var(--panel-raised);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:3px 6px;font-size:11px}.app-header-row{justify-content:space-between;align-items:flex-start;display:flex}.theme-toggle{font-size:14px;line-height:1}.mode-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.mode-hint{color:var(--text-dim);margin-top:8px;font-size:11px}.hud{pointer-events:none;flex-wrap:wrap;align-items:flex-start;gap:6px;max-width:calc(100% - 500px);display:flex;position:absolute;top:12px;left:344px}.hud-tip-toggle{pointer-events:auto;cursor:pointer;font-weight:600}.hud-tip{pointer-events:auto;background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;max-width:280px;padding:10px 12px;font-size:11px}.hud-tip-head{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.hud-tip ul{flex-direction:column;gap:4px;list-style:none;display:flex}.hud-tip li strong{color:var(--text)}.hud-tip li{color:var(--text-dim)}.no-chrome .hud{left:12px}.hud-pill{background:var(--panel);border:1px solid var(--panel-border);color:var(--text-dim);border-radius:999px;padding:4px 10px;font-size:11px}.hud-pill.live{color:var(--accent-2);border-color:var(--accent-2)}.status-bar{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:8px 10px;font-size:12px;position:sticky;bottom:0}.status-bar.status-err{border-color:var(--error);color:var(--error)}.status-bar.status-busy{border-color:var(--accent)}.status-bar.status-ok{border-color:var(--accent-2)}.status-pill{pointer-events:auto;background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;padding:6px 14px;font-size:12px;position:absolute;top:12px;right:12px}.status-pill.error{border-color:var(--error);color:var(--error)}.error{color:var(--error);margin-top:8px;font-size:11px}.splat-row{flex-direction:column;align-items:stretch}.splat-row-name{width:100%;display:block}.splat-row-main{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.splat-row-spacer{flex:1}.header-buttons{align-items:center;gap:6px;display:flex}.sidebar-toggle{pointer-events:auto;z-index:5;border-radius:8px;width:28px;height:28px;padding:0;font-size:13px;line-height:1;position:absolute;top:12px;left:12px}.sidebar-hidden .hud{max-width:calc(100% - 320px);left:52px}.splat-row-edit{border:1px solid var(--panel-border);border-radius:6px;flex-direction:column;gap:6px;margin-top:6px;padding:8px;display:flex}.splat-row-edit label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:11px;display:flex}.splat-row-edit .hint{color:var(--text-dim);font-size:10px}.splat-move-row{gap:6px;display:flex}.splat-move-row>*{flex:1;min-width:0}.splat-row-edit input[type=color]{border:1px solid var(--panel-border);background:var(--panel-raised);cursor:pointer;border-radius:6px;width:100%;height:26px;padding:2px}.splat-row-edit .button-row{margin-top:0}.model-controls{border:1px solid var(--panel-border);border-radius:6px;flex-direction:column;gap:6px;margin-top:6px;padding:8px;display:flex}.model-controls-row{gap:6px;display:flex}.model-controls-row>*{flex:1;min-width:0}.model-scale-row{align-items:flex-end;gap:6px;display:flex}.model-scale-row>:first-child{flex:1;min-width:0}.model-scale-row .model-scale-number{flex:none;width:64px}.model-label-field{color:var(--text-dim);flex-direction:column;gap:3px;font-size:11px;display:flex}.model-override-toggle{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.model-override-toggle input[type=checkbox]{flex:none;width:auto;margin:0}.model-override-row{align-items:center;gap:6px;display:flex}.model-override-row>*{flex:1;min-width:0}.model-override-row input[type=color]{border:1px solid var(--panel-border);background:0 0;border-radius:6px;flex:none;width:32px;height:26px;padding:0}.welcome-prompt{pointer-events:auto;background:var(--panel);border:1px solid var(--accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;max-width:380px;padding:18px 20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 48px #00000073}.welcome-prompt h3{margin-bottom:8px;font-size:14px}.welcome-prompt p{color:var(--text-dim);font-size:12px;line-height:1.5}.selection-chip{pointer-events:auto;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #f5d94a;border-radius:10px;max-width:420px;padding:8px 12px;font-size:11px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.selection-chip-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.selection-chip-kind{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.selection-chip p{color:var(--text-dim)}.selection-chip p strong{color:var(--text)}
