*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#4a4a4a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.role-select[data-v-0530866a]{color:#f5f5f5;background:#121212;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.content[data-v-0530866a]{text-align:center;width:100%;max-width:520px}h1[data-v-0530866a]{letter-spacing:.08em;margin-bottom:8px;font-size:2.5rem;font-weight:800}.subtitle[data-v-0530866a]{color:#ffffff8c;margin-bottom:32px;font-size:1rem}.options[data-v-0530866a]{flex-direction:column;gap:16px;display:flex}.option[data-v-0530866a]{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1a1a1a;border:2px solid #ffffff1f;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:28px 24px;transition:border-color .15s,transform .15s,background .15s;display:flex}.option[data-v-0530866a]:hover{border-color:#ffffff47;transform:translateY(-2px)}.option.sender[data-v-0530866a]:hover{background:#1a2732;border-color:#1e88e5}.option.receiver[data-v-0530866a]:hover{background:#1f2a1f;border-color:#43a047}.option-icon[data-v-0530866a]{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:800;line-height:1;display:flex}.sender .option-icon[data-v-0530866a]{color:#64b5f6;background:#1e88e533}.receiver .option-icon[data-v-0530866a]{color:#81c784;background:#43a04733}.option-title[data-v-0530866a]{font-size:1.25rem;font-weight:700}.option-desc[data-v-0530866a]{color:#ffffff80;font-size:.85rem}.hint[data-v-0530866a]{color:#ffffff59;margin-top:28px;font-size:.8rem}.connection-bar[data-v-d89fb0fb]{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;top:0;left:0;right:0}.back-btn[data-v-d89fb0fb],.status[data-v-d89fb0fb]{pointer-events:auto}.back-btn[data-v-d89fb0fb]{color:#ffffffd9;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000059;border:1px solid #ffffff26;border-radius:8px;padding:8px 12px;font-size:.8rem;font-weight:600}.back-btn[data-v-d89fb0fb]:hover{background:#00000080}.badge[data-v-d89fb0fb]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:600}.badge.ok[data-v-d89fb0fb]{color:#a5d6a7;background:#43a04740}.badge.pending[data-v-d89fb0fb]{color:#ffffff8c;background:#ffffff1a}.badge.error[data-v-d89fb0fb]{color:#ef9a9a;white-space:nowrap;text-overflow:ellipsis;background:#e5393540;max-width:min(280px,50vw);overflow:hidden}.dashboard[data-v-025d1eb9]{color:#f5f5f5;background:#121212;flex-direction:column;gap:20px;width:100%;height:100%;padding:56px 24px 24px;display:flex;position:relative;overflow:auto}.header[data-v-025d1eb9]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}h1[data-v-025d1eb9]{margin-bottom:4px;font-size:1.5rem;font-weight:700}.subtitle[data-v-025d1eb9]{color:#ffffff8c;font-size:.9rem}.status-pill[data-v-025d1eb9]{color:#fff;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600}.status-pill.idle[data-v-025d1eb9]{color:#ffffff80;background:#ffffff1a}.label-field[data-v-025d1eb9]{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.label-title[data-v-025d1eb9]{color:#ffffffa6;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.label-input[data-v-025d1eb9]{color:#fff;background:#1e1e1e;border:1px solid #fff3;border-radius:8px;width:120px;padding:10px 12px;font-size:1.25rem;font-weight:700}.label-input[data-v-025d1eb9]:focus{border-color:#007bff;outline:none}.label-preview[data-v-025d1eb9]{color:#ffffff73;font-size:.85rem}.controls[data-v-025d1eb9]{flex:1;grid-template-columns:repeat(2,1fr);gap:16px;min-height:0;display:grid}.control-btn[data-v-025d1eb9]{background:color-mix(in srgb, var(--btn-color) 18%, #1e1e1e);cursor:pointer;-webkit-tap-highlight-color:transparent;border:2px solid #ffffff1f;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.control-btn[data-v-025d1eb9]:hover{border-color:#ffffff4d}.control-btn.active[data-v-025d1eb9]{border-color:var(--btn-color);box-shadow:0 0 24px color-mix(in srgb, var(--btn-color) 50%, transparent);background:color-mix(in srgb, var(--btn-color) 35%, #1e1e1e);transform:scale(1.02)}.control-label[data-v-025d1eb9]{color:var(--btn-color);font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,8vw,3rem);font-weight:800}.control-color[data-v-025d1eb9]{color:#ffffff73;font-family:ui-monospace,monospace;font-size:.75rem}.footer[data-v-025d1eb9]{border-top:1px solid #ffffff14;flex-direction:column;gap:10px;padding-top:8px;display:flex}.link-box[data-v-025d1eb9]{flex-direction:column;gap:4px;display:flex}.link-label[data-v-025d1eb9]{color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.link-url[data-v-025d1eb9]{word-break:break-all;color:#ffffffb3;font-size:.8rem}.copy-btn[data-v-025d1eb9]{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:8px;align-self:flex-start;padding:10px 16px;font-size:.85rem;font-weight:600}.copy-btn[data-v-025d1eb9]:hover{background:#ffffff2e}.help[data-v-025d1eb9]{color:#fff6;font-size:.8rem}@media (width<=640px){.dashboard[data-v-025d1eb9]{gap:16px;padding:56px 16px 16px}.controls[data-v-025d1eb9]{grid-template-columns:1fr}.control-btn[data-v-025d1eb9]{min-height:96px}}.viewer[data-v-32ab667d]{background:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.viewer-content[data-v-32ab667d]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.label[data-v-32ab667d]{-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-size:clamp(4rem,28vw,16rem);font-weight:800;line-height:1;animation:.15s fade-in-32ab667d}.waiting[data-v-32ab667d]{color:#ffffff59;letter-spacing:.02em;font-size:clamp(1.25rem,4vw,2rem);font-weight:500}.hint[data-v-32ab667d]{color:#fff3;pointer-events:none;font-size:11px;position:absolute;bottom:16px;right:16px}@keyframes fade-in-32ab667d{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
