:root{color-scheme:dark;--void: #09090b;--panel: #16161a;--text: #f4f4f5;--muted: #b4b4be;--line: #71717a;--blue: #60a5fa;--blue-deep: #172554;--amber: #f59e0b;--danger: #f87171;--danger-deep: #450a0a;--ok: #93c5fd;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--shadow: 0 12px 28px rgb(0 0 0 / .45), 0 2px 6px rgb(0 0 0 / .35)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--void);color:var(--text);font-family:var(--sans);caret-color:var(--ok)}::selection{background:#1e3a8a;color:#eff6ff}:focus{outline:none}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--void)}.stage{position:relative;flex:1 1 auto;min-height:42vh}.scene,.scene canvas{width:100%;height:100%}.scene{background:var(--void)}.scene canvas{display:block;cursor:crosshair;touch-action:none}.panel{flex:0 1 auto;min-height:0;max-height:54vh;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:var(--panel);color:var(--text);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -10px 28px #0006;pointer-events:auto}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel h1{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.25;text-wrap:balance}.hint{margin:4px 0 0;color:var(--muted);font-size:.75rem;line-height:1.4}.status{margin:0;flex:none;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#27272a;color:var(--text);font-size:.75rem;font-weight:600;letter-spacing:.04em;line-height:1.2;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}.status[data-state=SEEKING],.status[data-state=LATCHING],.status[data-state=LIFTING]{color:#dbeafe;background:var(--blue-deep);border-color:#1d4ed8}.status[data-state=MANUAL]{color:#fef3c7;background:#451a03;border-color:#b45309}.status[data-state=ARMING]{color:var(--muted)}.seal{margin:12px 0 0;padding:8px 10px;border-radius:8px;font-size:.8125rem;font-weight:700;letter-spacing:.02em;line-height:1.3}.seal-ok{color:#dbeafe;background:var(--blue-deep);border:1px solid #1d4ed8}.seal-warn{color:#fecaca;background:var(--danger-deep);border:1px solid #b91c1c;animation:load-pulse .9s ease-in-out infinite alternate}@keyframes load-pulse{0%{border-color:#b91c1c}to{border-color:#fecaca}}.field{display:flex;flex-direction:column;gap:4px;margin-top:16px}.field-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.field label{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.875rem;font-weight:600;line-height:1.3}.suction label svg{color:var(--blue)}.mass label svg{color:var(--amber)}.value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:500;line-height:1.3}.suction .value{color:var(--ok)}.mass .value{color:#fbbf24}.help{margin:4px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:8px}input[type=range]::-webkit-slider-runnable-track{height:6px;background:#71717a;border-radius:999px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:#fafafa;border:2px solid var(--blue);box-shadow:0 1px 3px #00000073}.mass input[type=range]::-webkit-slider-thumb{border-color:var(--amber)}input[type=range]::-moz-range-track{height:6px;background:#71717a;border:0;border-radius:999px}input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fafafa;border:2px solid var(--blue);box-shadow:0 1px 3px #00000073}.mass input[type=range]::-moz-range-thumb{border-color:var(--amber)}.readout{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:16px;padding-top:16px;border-top:1px solid #3f3f46}.readout span{display:block;color:var(--muted);font-size:.75rem;line-height:1.3}.readout strong{display:block;margin-top:4px;font-family:var(--mono);font-size:.875rem;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.3}.readout .load-hot{color:var(--danger)}.capacity{color:var(--ok)}.reset{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:16px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#27272a;color:var(--text);font:inherit;font-size:.875rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .16s ease-out,border-color .16s ease-out}.reset:hover{background:#323238}.reset:active{background:#1c1c20}.alert{margin:12px 0 0;padding:8px 10px;border:1px solid #b91c1c;border-radius:8px;background:var(--danger-deep);color:#fecaca;font-size:.8125rem;font-weight:600;line-height:1.4}@media(min-width:720px){.app{display:block;position:relative}.stage{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.panel{position:absolute;z-index:2;top:16px;left:16px;width:min(22rem,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:16px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}}@media(prefers-reduced-motion:reduce){.seal-warn{animation:none}.status,.reset{transition:none}}
