.panel[data-v-ee378aba]{background:#172235;border:1px solid #2c3950;border-radius:10px;padding:20px}.heading[data-v-ee378aba],.editor-title[data-v-ee378aba]{justify-content:space-between;align-items:center;gap:12px;display:flex}.label[data-v-ee378aba]{letter-spacing:.11em;color:#94a3b8;text-transform:uppercase;margin:0 0 7px;font-size:.75rem}h2[data-v-ee378aba],h3[data-v-ee378aba]{color:#f8fafc;margin:0}.hint[data-v-ee378aba],.summary[data-v-ee378aba]{color:#aebbd0}.mapping[data-v-ee378aba]{grid-template-columns:1fr;align-items:start;gap:20px;margin-top:18px;display:grid}.device-preview[data-v-ee378aba]{justify-content:flex-start;display:flex}.device-body[data-v-ee378aba]{background:linear-gradient(145deg,#304968,#17263b);border:1px solid #52657f;border-radius:22px;width:280px;height:190px;padding:118px 20px 18px;position:relative;box-shadow:inset 0 1px #ffffff1a,0 16px 30px #00000038}.device-top-controls[data-v-ee378aba]{pointer-events:none;position:absolute;inset:0}.button-grid[data-v-ee378aba]{z-index:1;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);gap:6px;height:54px;display:grid;position:relative}.button-grid button[data-v-ee378aba],.encoder-knob[data-v-ee378aba]{color:#dbeafe;cursor:pointer;background:#314762;border:1px solid #607a99;border-radius:6px;padding:0;font-size:11px;transition:all .15s}.button-grid button[data-v-ee378aba]:hover,.button-grid button.active[data-v-ee378aba],.encoder-knob.active[data-v-ee378aba]{color:#fff;background:#1976a5;border-color:#7dd3fc;box-shadow:0 0 0 2px #38bdf82e}.encoder-control[data-v-ee378aba]{pointer-events:auto;z-index:1;width:76px;height:76px;position:absolute;top:17px;right:18px}.encoder-control .encoder-knob[data-v-ee378aba]{color:#dbeafe;cursor:pointer;background:#314762;border:1px solid #607a99;border-radius:50%;width:100%;height:100%;padding:0;transition:all .15s;position:absolute;inset:0;box-shadow:0 8px 14px #00000047}.encoder-control.sel-sw .encoder-knob[data-v-ee378aba]{color:#fff;background:#1976a5;border-color:#7dd3fc;box-shadow:0 0 0 2px #38bdf82e}.encoder-arcs[data-v-ee378aba]{color:#b9e6ff;fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:2;width:76px;height:76px;transition:color .16s,filter .16s;display:block;position:absolute;inset:0}.encoder-arcs path[data-v-ee378aba]{fill:none}.encoder-arcs .dir-ccw-head[data-v-ee378aba],.encoder-arcs .dir-cw-head[data-v-ee378aba]{fill:currentColor;stroke:none}.encoder-arcs g[data-v-ee378aba]{transform-box:view-box;transform-origin:38px 38px}@keyframes encoder-ccw-hint-ee378aba{0%{transform:rotate(0)}45%,70%{transform:rotate(-13deg)}to{transform:rotate(0)}}@keyframes encoder-cw-hint-ee378aba{0%{transform:rotate(0)}45%,70%{transform:rotate(13deg)}to{transform:rotate(0)}}.encoder-control:hover .encoder-arcs[data-v-ee378aba]{color:#fff;filter:drop-shadow(0 0 6px #7dd3fccc)}.encoder-control:hover .dir-ccw[data-v-ee378aba]{animation:.8s ease-in-out encoder-ccw-hint-ee378aba}.encoder-control:hover .dir-cw[data-v-ee378aba]{animation:.8s ease-in-out encoder-cw-hint-ee378aba}.encoder-control.sel-ccw .dir-ccw[data-v-ee378aba],.encoder-control.sel-cw .dir-cw[data-v-ee378aba]{color:#fff;filter:drop-shadow(0 0 5px #7dd3fcd9)}.encoder-direction[data-v-ee378aba]{cursor:pointer;z-index:3;background:0 0;width:30px;padding:0;position:absolute;top:0;bottom:0;border:0!important}.encoder-ccw[data-v-ee378aba]{left:0}.encoder-cw[data-v-ee378aba]{right:0}.encoder-knob i[data-v-ee378aba]{pointer-events:none;background:#b9e6ff;border-radius:2px;width:4px;height:14px;display:block;position:absolute;top:10px;left:50%;transform:translate(-50%)}.editor[data-v-ee378aba]{align-content:start;gap:14px;min-width:0;min-height:430px;display:grid}.editor-title[data-v-ee378aba]{align-items:end}.editor-title .label[data-v-ee378aba]{margin:0}.editor-title h3[data-v-ee378aba]{margin-right:auto;font-size:1.1rem}.modes[data-v-ee378aba],.keyboard-head[data-v-ee378aba],.platform[data-v-ee378aba],.keyboard-zone[data-v-ee378aba]{align-items:center;gap:10px;display:flex}.modes[data-v-ee378aba]{flex-wrap:wrap;gap:15px}.keyboard-head[data-v-ee378aba]{justify-content:space-between}.keyboard-head span[data-v-ee378aba]{color:#aebbd0;font-size:.82rem}.keyboard[data-v-ee378aba]{background:#0f172a;border:1px solid #40506b;border-radius:8px;align-content:center;gap:5px;height:270px;padding:10px;display:grid;overflow-x:auto}.key-row[data-v-ee378aba]{gap:5px;min-width:590px;display:flex}.key[data-v-ee378aba]{white-space:nowrap;background:#27364e;border:1px solid #48607f;border-radius:5px;min-width:28px;min-height:34px;padding:4px 6px;font-size:11px}.key[data-v-ee378aba]:hover:not(:disabled){background:#344a68}.key.pressed[data-v-ee378aba],.platform .selected[data-v-ee378aba],.keyboard-zone .selected[data-v-ee378aba]{color:#fff;background:#2563eb;border-color:#60a5fa}.key.unavailable[data-v-ee378aba]{opacity:.42;cursor:not-allowed}.secondary-keyboard[data-v-ee378aba]{background:#0f172a;border:1px solid #40506b;border-radius:8px;align-items:center;gap:14px;width:fit-content;max-width:100%;height:270px;padding:9px;display:flex;overflow-x:auto}.key-cluster[data-v-ee378aba]{flex:none;grid-auto-rows:30px;gap:4px;display:grid}.navigation-cluster[data-v-ee378aba]{grid-template-columns:repeat(3,38px)}.keypad-cluster[data-v-ee378aba]{border-left:1px solid #334155;grid-template-columns:repeat(4,34px);padding-left:14px}.secondary-keyboard .key[data-v-ee378aba]{min-width:0;min-height:0;padding:3px 5px;font-size:10px}.keyboard-zone[data-v-ee378aba]{justify-content:center;gap:0}.keyboard-zone button[data-v-ee378aba]{border-radius:0}.keyboard-zone button[data-v-ee378aba]:first-child{border-radius:7px 0 0 7px}.keyboard-zone button[data-v-ee378aba]:last-child{border-radius:0 7px 7px 0}.heading>button[data-v-ee378aba]:not(.title){color:#e5e7eb;font:inherit;cursor:pointer;background:#1d293d;border:1px solid #40506b;border-radius:7px;padding:8px 11px}.heading>button[data-v-ee378aba]:not(.title):hover:not(:disabled){background:#263b5b;border-color:#60a5fa}.heading>button[data-v-ee378aba]:disabled{opacity:.5;cursor:not-allowed}select[data-v-ee378aba],.editor button[data-v-ee378aba]{color:#e5e7eb;font:inherit;cursor:pointer;background:#1d293d;border:1px solid #40506b;border-radius:7px;padding:9px 11px}select[data-v-ee378aba]{width:100%;min-height:42px}.undefined-box[data-v-ee378aba]{color:#aebbd0;background:#111c2d;border:1px dashed #52657f;border-radius:8px;padding:14px 16px}.recorder[data-v-ee378aba]{align-content:start;gap:12px;display:grid}.recorder-head[data-v-ee378aba]{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.recorder-head .label[data-v-ee378aba]{margin:0}.recorder-head span[data-v-ee378aba]{color:#aebbd0;font-size:.82rem}.recorder-hint[data-v-ee378aba]{color:#8ea2bd;margin:0;font-size:.82rem;line-height:1.6}.recorder-stage[data-v-ee378aba]{background:#0f1a2b;border:1px dashed #40506b;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;min-height:58px;padding:12px 14px;display:flex}.recorder-stage.armed[data-v-ee378aba]{border-style:solid;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb38}.rec-key[data-v-ee378aba]{color:#e5e7eb;white-space:nowrap;background:#1d293d;border:1px solid #40506b;border-radius:7px;padding:6px 11px;font-size:.85rem;font-weight:600}.rec-key.live[data-v-ee378aba]{color:#fff;background:#1976a5;border-color:#7dd3fc;animation:.9s infinite alternate rec-pulse-ee378aba}.recorder-empty[data-v-ee378aba]{color:#64748b;font-size:.85rem}.recorder-btn[data-v-ee378aba]{color:#e5e7eb;font:inherit;cursor:pointer;background:#1d293d;border:1px solid #40506b;border-radius:7px;justify-self:start;padding:8px 14px}.recorder-btn[data-v-ee378aba]:hover{background:#263b5b;border-color:#60a5fa}.recorder-btn.primary-rec[data-v-ee378aba]{background:#2563eb;border-color:#3b82f6}.recorder-btn.primary-rec[data-v-ee378aba]:hover{background:#1d4ed8}.recorder-note[data-v-ee378aba]{color:#64748b;margin:0;font-size:.75rem;line-height:1.6}@keyframes rec-pulse-ee378aba{0%{box-shadow:0 0 #38bdf866}to{box-shadow:0 0 0 6px #38bdf800}}.device-preview button[data-v-ee378aba]{font:inherit}@media (width<=700px){.mapping[data-v-ee378aba]{grid-template-columns:1fr}.device-preview[data-v-ee378aba]{align-items:center;display:flex}.device-body[data-v-ee378aba]{width:min(280px,100%)}.editor-title[data-v-ee378aba]{flex-wrap:wrap;align-items:flex-start}.secondary-keyboard[data-v-ee378aba]{gap:10px;width:100%}.keypad-cluster[data-v-ee378aba]{padding-left:10px}}.event-log[data-v-ef29c6fa]{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#172235f5;border:1px solid #40506b;border-radius:14px;width:min(720px,100vw - 32px);max-height:min(42vh,420px);transition:width .2s,border-color .2s,box-shadow .2s;position:fixed;bottom:16px;right:max(16px,50vw - 550px);overflow:hidden;box-shadow:0 16px 48px #00000059}.heading[data-v-ef29c6fa]{border-bottom:1px solid #2c3950;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px 10px 16px;display:flex}.title[data-v-ef29c6fa]{color:#f8fafc;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.title:hover .label[data-v-ef29c6fa]{color:#e2e8f0}.title:hover .chevron[data-v-ef29c6fa]{background:#283952;border-color:#64748b}.status-dot[data-v-ef29c6fa]{background:#64748b;border-radius:99px;flex:none;width:8px;height:8px;box-shadow:0 0 0 3px #64748b29}.status-dot.active[data-v-ef29c6fa]{background:#5eead4;box-shadow:0 0 0 3px #2dd4bf24,0 0 12px #2dd4bfb3}.title-copy[data-v-ef29c6fa]{gap:2px;display:grid}.label[data-v-ef29c6fa]{letter-spacing:.11em;color:#94a3b8;text-transform:uppercase;font-size:.72rem;display:block}.title strong[data-v-ef29c6fa]{font-variant-numeric:tabular-nums;font-size:.95rem}.title strong small[data-v-ef29c6fa]{color:#94a3b8;font-size:.78rem;font-weight:500}.chevron[data-v-ef29c6fa]{color:#cbd5e1;border:1px solid #40506b;border-radius:7px;place-items:center;width:22px;height:22px;line-height:1;transition:background .15s,border-color .15s;display:grid}.chevron svg[data-v-ef29c6fa]{width:14px;height:14px;display:block}.table-wrap[data-v-ef29c6fa]{max-height:calc(min(42vh,420px) - 58px);overflow:auto}table[data-v-ef29c6fa]{border-collapse:collapse;width:100%;font-family:ui-monospace,monospace;font-size:.84rem}th[data-v-ef29c6fa],td[data-v-ef29c6fa]{text-align:left;white-space:nowrap;border-bottom:1px solid #2c3950;padding:10px 12px}th[data-v-ef29c6fa]{color:#94a3b8;background:#172235;position:sticky;top:0}small[data-v-ef29c6fa]{color:#fca5a5}tr.encoder-cw td[data-v-ef29c6fa]:nth-child(2){color:#86efac}tr.encoder-ccw td[data-v-ef29c6fa]:nth-child(2){color:#fcd34d}tr.button-press td[data-v-ef29c6fa]:nth-child(2){color:#93c5fd}.empty[data-v-ef29c6fa]{color:#94a3b8;text-align:center;padding:38px 12px}.collapsed[data-v-ef29c6fa]{background:#172235eb;border-color:#34445e;border-radius:999px;width:auto;min-width:0;box-shadow:0 10px 30px #00000047}.collapsed[data-v-ef29c6fa]:hover{border-color:#52657f;box-shadow:0 12px 34px #00000057}.collapsed .heading[data-v-ef29c6fa]{border-bottom:0;justify-content:center;min-height:0;padding:8px 13px}.collapsed .title[data-v-ef29c6fa]{justify-content:center}.collapsed .title-copy[data-v-ef29c6fa]{align-items:baseline;gap:6px;display:flex}.collapsed .label[data-v-ef29c6fa]{letter-spacing:.07em;margin:0;font-size:.78rem}.collapsed .chevron[data-v-ef29c6fa]{width:20px;height:20px;margin-left:2px}.collapsed .title strong[data-v-ef29c6fa]{font-size:.82rem}.collapsed .title strong small[data-v-ef29c6fa]{display:none}@media (width<=650px){.event-log[data-v-ef29c6fa]{width:calc(100vw - 24px);bottom:12px;right:12px}.collapsed[data-v-ef29c6fa]{width:auto}}.toast[data-v-2ee00d43]{z-index:100;color:#e5e7eb;background:#172235;border:1px solid #40506b;border-radius:10px;align-items:center;gap:10px;min-width:260px;max-width:min(460px,100vw - 32px);padding:11px 12px;font-size:.9rem;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #0008}.toast-icon[data-v-2ee00d43]{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-weight:800;display:grid}.toast-success[data-v-2ee00d43]{border-color:#166534}.toast-success .toast-icon[data-v-2ee00d43]{color:#bbf7d0;background:#166534}.toast-error[data-v-2ee00d43]{border-color:#991b1b}.toast-error .toast-icon[data-v-2ee00d43]{color:#fee2e2;background:#991b1b}.toast-info .toast-icon[data-v-2ee00d43]{color:#dbeafe;background:#1d4ed8}.toast button[data-v-2ee00d43]{color:#94a3b8;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:1.2rem;line-height:1}.toast button[data-v-2ee00d43]:hover{color:#fff}.dialog-backdrop[data-v-7fb4be96]{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog[data-v-7fb4be96]{background:linear-gradient(145deg,#1d2c45,#121d30);border:1px solid #40506b;border-radius:18px;grid-template-columns:auto 1fr;gap:0 16px;width:min(500px,100%);padding:26px;display:grid;box-shadow:0 24px 80px #0008}.dialog-icon[data-v-7fb4be96]{color:#fff;background:#2563eb;border-radius:13px;place-items:center;width:42px;height:42px;font-size:1.35rem;font-weight:800;display:grid}.dialog-icon.danger[data-v-7fb4be96]{background:#b4233c}.dialog-content h2[data-v-7fb4be96]{color:#f8fafc;margin:2px 0 8px;font-size:1.2rem}.dialog-content p[data-v-7fb4be96]{color:#aebbd0;margin:0;line-height:1.6}.dialog-details[data-v-7fb4be96]{max-height:250px;margin-top:16px;overflow:auto}.dialog footer[data-v-7fb4be96]{grid-column:1/-1;justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.dialog button[data-v-7fb4be96]{color:#e5e7eb;font:inherit;cursor:pointer;background:#1d293d;border:1px solid #40506b;border-radius:8px;padding:10px 16px}.dialog button[data-v-7fb4be96]:hover:not(:disabled){background:#263b5b;border-color:#60a5fa}.dialog-confirm[data-v-7fb4be96]{background:#2563eb!important;border-color:#3b82f6!important}.dialog-confirm.danger[data-v-7fb4be96]{background:#be123c!important;border-color:#e11d48!important}.dialog button[data-v-7fb4be96]:disabled{opacity:.55;cursor:wait}.dialog-enter-active[data-v-7fb4be96],.dialog-leave-active[data-v-7fb4be96]{transition:all .18s}.dialog-enter-from[data-v-7fb4be96],.dialog-leave-to[data-v-7fb4be96]{opacity:0}.dialog-enter-from .dialog[data-v-7fb4be96]{transform:translateY(10px)scale(.98)}:root{color:#e5e7eb;background:#101827;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.page{width:min(1100px,100% - 32px);margin:auto}.toolbar{border-bottom:1px solid #2c3950;justify-content:space-between;align-items:center;height:58px;margin-bottom:24px;display:flex}.brand,.toolbar-actions{align-items:center;gap:12px;display:flex}.brand-mark{background:#2563eb;border-radius:9px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:#94a3b8;margin-top:2px;font-size:.75rem}.toolbar-actions button,.connect-button{color:#e5e7eb;font:inherit;cursor:pointer;background:#1d293d;border:1px solid #40506b;border-radius:7px;padding:8px 12px}.import-input{display:none}.toolbar-actions button:disabled{opacity:.5;cursor:not-allowed}.toolbar-actions button:hover,.connect-button:hover{background:#263b5b;border-color:#60a5fa}.primary{background:#2563eb!important;border-color:#3b82f6!important}.online-dot{color:#86efac;font-size:.85rem}.online-dot:before{content:"";background:#4ade80;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.notice{background:#172235;border:1px solid #2c3950;border-radius:10px;margin-bottom:18px;padding:14px}.error{color:#fecaca;border-color:#7f1d1d}.welcome{grid-template-columns:1fr 260px;place-items:center;gap:80px;max-width:780px;min-height:calc(100vh - 24px);margin:auto;display:grid}.welcome-copy h1{color:#f8fafc;margin:0 0 14px;font-size:clamp(2rem,5vw,3.5rem)}.welcome-copy p:not(.eyebrow){color:#aebbd0;max-width:460px;line-height:1.7}.eyebrow{letter-spacing:.11em;color:#60a5fa;text-transform:uppercase;margin:0 0 10px;font-size:.75rem}.connect-button{margin:18px 0 10px;padding:12px 18px}.welcome-copy small{color:#94a3b8;display:block}.welcome-device{background:linear-gradient(145deg,#263852,#17263b);border:1px solid #405976;border-radius:24px;width:230px;height:280px;padding:35px 24px;transform:rotate(4deg);box-shadow:0 25px 60px #0005}.welcome-knob{background:radial-gradient(circle at 35% 30%,#7890ad 0 10%,#304968 12% 68%,#102039 70%);border-radius:50%;width:92px;height:92px;margin:0 auto 52px;box-shadow:0 8px 14px #0006}.welcome-buttons{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.welcome-buttons i{background:#314762;border:1px solid #58718e;border-radius:7px;height:38px}.diff-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.diff-list li{background:#111c2d;border:1px solid #33445d;border-radius:9px;grid-template-columns:1.1fr 1fr auto 1fr;align-items:center;gap:8px;padding:10px;font-size:.82rem;display:grid}.diff-list strong{color:#dbeafe}.diff-list .old{color:#fda4af}.diff-list .new{color:#86efac}.diff-list b{color:#94a3b8}.empty-diff{color:#aebbd0;text-align:center;display:block!important}.warning-chip{color:#fed7aa;background:#422512;border:1px solid #7c4a20;border-radius:9px;padding:11px 13px}@media (width<=700px){.page{width:calc(100% - 24px)}.welcome{flex-direction:column;justify-content:center;align-items:flex-start;gap:32px;min-height:calc(100vh - 24px);display:flex}.welcome-device{align-self:center;transform:rotate(2deg)scale(.8)}.toolbar{flex-wrap:wrap;gap:12px;height:auto;min-height:58px}.toolbar-actions{flex-wrap:wrap;gap:6px}.toolbar-actions .online-dot{display:none}.diff-list li{grid-template-columns:1fr;gap:3px}.diff-list b{display:none}}
