.control-bar[data-v-e2080d5f]{display:flex;flex-flow:row wrap;align-items:center;justify-content:center;flex-shrink:0;width:100%;box-sizing:border-box;gap:.5rem 1rem;padding:.75rem .5rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}@media(pointer:coarse){.control-bar>button[data-v-e2080d5f]{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem}}@media(max-height:480px){.control-bar[data-v-e2080d5f]{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.control-bar[data-v-e2080d5f]::-webkit-scrollbar{display:none}.control-bar[data-v-e2080d5f]>*{flex-shrink:0}}.settings-backdrop[data-v-7850f7d3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.settings-panel[data-v-7850f7d3]{position:fixed;top:0;right:0;height:100dvh;width:320px;background:#141414;border-left:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;z-index:100;overflow:hidden;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}@media(max-width:560px){.settings-panel[data-v-7850f7d3]{width:100%;border-left:none}}.panel-header[data-v-7850f7d3]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.panel-title[data-v-7850f7d3]{font-size:14px;font-weight:600;letter-spacing:.04em;color:#fff}.close-btn[data-v-7850f7d3]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:14px;color:#999;transition:color .15s,background .15s}.close-btn[data-v-7850f7d3]:hover{color:#fff;background:#ffffff14}.panel-body[data-v-7850f7d3]{flex:1;overflow-y:auto;padding:8px 0}.panel-section[data-v-7850f7d3]{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.section-heading[data-v-7850f7d3]{font-size:10px;font-weight:700;letter-spacing:.1em;color:#555;margin:0 0 10px}.joystick-toggle[data-v-7850f7d3]{display:flex;align-items:center;gap:8px;font-size:12px;color:#ccc;cursor:pointer;margin:4px 0 10px}.joystick-toggle input[data-v-7850f7d3]{cursor:pointer}.joystick-preset[data-v-7850f7d3]{margin-bottom:10px}.file-row[data-v-7850f7d3]{display:flex;align-items:center;gap:8px;margin-bottom:8px;min-width:0}.file-kind[data-v-7850f7d3]{font-size:10px;font-weight:600;letter-spacing:.05em;color:#666;width:36px;flex-shrink:0}.file-name[data-v-7850f7d3]{flex:1;font-size:12px;font-family:monospace;color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.addr-field[data-v-7850f7d3]{width:56px;flex-shrink:0;text-align:center}.load-warning[data-v-7850f7d3]{font-size:11px;line-height:1.4;color:#d9a441;margin:2px 0 0}.serial-status-row[data-v-7850f7d3]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.status-dot[data-v-7850f7d3]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-text[data-v-7850f7d3]{font-size:12px;color:#888;font-family:monospace}.port-row[data-v-7850f7d3]{display:flex;align-items:center;gap:6px;margin-bottom:8px}.config-grid[data-v-7850f7d3]{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:10px}.config-item[data-v-7850f7d3]{display:flex;flex-direction:column;gap:3px}.config-item .field[data-v-7850f7d3]{width:100%}.debug-url[data-v-7850f7d3]{display:flex;align-items:center;gap:4px;margin:0 0 10px}.debug-url-value[data-v-7850f7d3]{flex:1;min-width:0;font-size:11px;font-family:monospace;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn[data-v-7850f7d3]{flex-shrink:0}.copied[data-v-7850f7d3]{color:#4ade80}.debug-hint[data-v-7850f7d3]{font-size:11px;line-height:1.4;color:#666;margin:6px 0 10px}.debug-hint code[data-v-7850f7d3]{font-family:monospace;color:#999}.field[data-v-7850f7d3]{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#eee;padding:3px 6px;font-size:12px;font-family:monospace;line-height:1.5;outline:none}.field[data-v-7850f7d3]:focus{border-color:#ffffff59}.port-select[data-v-7850f7d3]{flex:1}.config-label[data-v-7850f7d3]{font-size:10px;color:#666;letter-spacing:.03em}.btn-icon[data-v-7850f7d3]{display:flex;align-items:center;padding:3px;border-radius:4px;color:#888}.btn-icon[data-v-7850f7d3]:hover{color:#fff}.btn-sm[data-v-7850f7d3]{padding:3px 9px;border-radius:4px;font-size:11px;font-weight:500;height:24px;white-space:nowrap}.btn-connect[data-v-7850f7d3]{width:100%;padding:6px;border-radius:6px;font-size:13px;font-weight:500;transition:opacity .15s}.btn-connect[data-v-7850f7d3]:disabled{opacity:.4;cursor:not-allowed}.btn-primary[data-v-7850f7d3]{background:#6366f1d9;color:#fff}.btn-primary[data-v-7850f7d3]:hover:not(:disabled){background:#6366f1}.btn-danger[data-v-7850f7d3]{background:#ef4444bf;color:#fff}.btn-danger[data-v-7850f7d3]:hover:not(:disabled){background:#ef4444e6}.btn-secondary[data-v-7850f7d3]{background:#ffffff12;color:#ccc;border:1px solid rgba(255,255,255,.12)}.btn-secondary[data-v-7850f7d3]:hover:not(:disabled){background:#ffffff24}.paste-backdrop[data-v-3c135def]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.paste-modal[data-v-3c135def]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:#141414;border:1px solid rgba(255,255,255,.12);border-radius:8px;display:flex;flex-direction:column;z-index:200;box-shadow:0 12px 40px #0009}@media(max-height:560px){.paste-modal[data-v-3c135def]{top:calc(.5rem + env(safe-area-inset-top));transform:translate(-50%);max-height:calc(100dvh - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}.paste-header[data-v-3c135def]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.paste-title[data-v-3c135def]{font-size:14px;font-weight:600;letter-spacing:.04em;color:#fff}.close-btn[data-v-3c135def]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:14px;color:#999;transition:color .15s,background .15s}.close-btn[data-v-3c135def]:hover{color:#fff;background:#ffffff14}.paste-body[data-v-3c135def]{padding:14px 16px;flex:1;min-height:0;overflow-y:auto}.paste-input[data-v-3c135def]{width:100%;height:clamp(5rem,32dvh,200px);resize:vertical;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#eee;padding:8px 10px;font-size:13px;font-family:monospace;line-height:1.4;outline:none}.paste-input[data-v-3c135def]:focus{border-color:#ffffff59}.paste-hint[data-v-3c135def]{margin:8px 2px 0;font-size:11px;color:#666;line-height:1.4}.paste-footer[data-v-3c135def]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.paste-status[data-v-3c135def]{margin-right:auto;font-size:12px;color:#888;font-family:monospace}.btn-sm[data-v-3c135def]{padding:5px 14px;border-radius:4px;font-size:12px;font-weight:500;height:28px;white-space:nowrap}.btn-primary[data-v-3c135def]{background:#6366f1d9;color:#fff}.btn-primary[data-v-3c135def]:hover:not(:disabled){background:#6366f1}.btn-primary[data-v-3c135def]:disabled{opacity:.4;cursor:not-allowed}.btn-secondary[data-v-3c135def]{background:#ffffff12;color:#ccc;border:1px solid rgba(255,255,255,.12)}.btn-secondary[data-v-3c135def]:hover:not(:disabled){background:#ffffff24}.app-main[data-v-5cf9658d]{display:flex;flex-direction:column;height:100%;width:100%}.stage[data-v-5cf9658d]{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}@media(max-height:480px)and (min-width:700px){.stage[data-v-5cf9658d]{flex-direction:row;justify-content:center;container-type:size}.stage>.canvas-outer[data-v-5cf9658d]{flex:0 0 auto;width:min(62%,calc(100cqh * 4 / 3))}.stage>.osk[data-v-5cf9658d]{flex:1 1 0;min-width:0}}
