:root{--bg: #16191e;--panel: #1e2229;--panel-border: #2c313a;--text: #dde2ea;--text-dim: #8a93a1;--accent: #4f9cf0;--warn: #d9a441;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{display:flex;height:100%}.viewport{position:relative;flex:1;min-width:0}.viewport canvas{display:block}.scene-canvas:focus{outline:none}.hud{position:absolute;top:12px;left:12px;display:flex;gap:8px;align-items:center;pointer-events:none}.hud-title{background:#14171cd9;border:1px solid var(--panel-border);border-radius:6px;padding:4px 10px;font-weight:600}.hud-badge{background:#14171cd9;border:1px solid var(--panel-border);border-radius:6px;padding:4px 8px;color:var(--text-dim);font-size:12px}.hud-segment{display:inline-flex;pointer-events:auto;background:#14171cd9;border:1px solid var(--panel-border);border-radius:6px;overflow:hidden}.hud-segment button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-right:1px solid var(--panel-border);color:var(--text-dim);font:inherit;font-size:12px;padding:4px 10px;cursor:pointer}.hud-segment button:last-child{border-right:none}.hud-segment button:hover{color:var(--text)}.hud-segment button.active{background:#4fb4ff2e;color:var(--text)}.panel{width:340px;flex-shrink:0;overflow-y:auto;background:var(--panel);border-left:1px solid var(--panel-border);padding:16px}.panel-header h1{margin:0;font-size:17px}.panel-header p{margin:4px 0 0;color:var(--text-dim);font-size:12px}.panel-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--panel-border)}.panel-section h2{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field span{font-size:12px;color:var(--text-dim)}.field-row{flex-direction:row;align-items:center;gap:8px}.field-row span{color:var(--text);font-size:13px}input[type=number],input[type=email],select{background:var(--bg);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:7px 9px;font:inherit}input[type=number]:focus,input[type=email]:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.nudge-row{display:flex;align-items:center;gap:8px}.nudge-row button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg);border:1px solid var(--panel-border);border-radius:6px;color:var(--text);font:inherit;font-size:11px;padding:6px 10px;cursor:pointer}.nudge-row button:hover{border-color:var(--accent);color:var(--accent)}.nudge-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.nudge-row input[type=range]:disabled{opacity:.4}.field .hint{margin:0}.hint{color:var(--text-dim);font-size:12px;margin:8px 0 0}.hint.warn{color:var(--warn)}.auth-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg);border:1px solid var(--panel-border);border-radius:6px;color:var(--text);font:inherit;font-size:12px;padding:7px 12px;cursor:pointer;margin-top:4px}.auth-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.auth-button:disabled{opacity:.5;cursor:default}.auth-verify{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-verify-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:28px 32px;max-width:360px;text-align:center}.auth-verify-card h1{margin:0 0 8px;font-size:17px}.estimate-lines{margin:0}.estimate-lines div{display:flex;justify-content:space-between;padding:3px 0}.estimate-lines dt{color:var(--text-dim)}.estimate-lines dd{margin:0;font-variant-numeric:tabular-nums}.estimate-lines .grand{border-top:1px solid var(--panel-border);margin-top:6px;padding-top:8px;font-weight:700}.estimate-lines .grand dt{color:var(--text)}.json-drawer{position:absolute;left:12px;bottom:12px;max-width:min(480px,calc(100% - 24px));background:#14171ceb;border:1px solid var(--panel-border);border-radius:8px;overflow:hidden}.json-drawer-bar{display:flex;justify-content:space-between;gap:8px}.json-drawer button{background:none;border:none;color:var(--text);font:inherit;font-size:12px;padding:8px 12px;cursor:pointer}.json-drawer button:hover{color:var(--accent)}.json-drawer pre{margin:0;padding:0 12px 12px;max-height:40vh;overflow:auto;font-size:11px;line-height:1.4;color:var(--text-dim)}.jobs-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.job-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg);border:1px solid var(--panel-border);border-radius:6px;color:var(--text);font:inherit;font-size:12px;padding:7px 10px;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:8px;text-align:left}.job-row:hover:not(:disabled){border-color:var(--accent)}.job-row:disabled{opacity:.5;cursor:default}.job-meta{color:var(--text-dim);font-size:11px;white-space:nowrap}.job-title{font-size:13px;font-weight:600;margin:10px 0 0}.conflict-box{border:1px solid var(--warn);border-radius:6px;padding:8px 10px;margin-top:10px;display:flex;flex-direction:column;gap:4px}.conflict-box .hint{margin:0}
