:root{color-scheme:dark;--panel-bg: #060c1f;--panel-bg-cards: #0a1229;--panel-bg-raised: #0d1730;--field-well-bg: #01050f;--field-well-border: transparent;--field-well-shadow: inset 0 1px 2px rgba(0, 0, 0, .65), inset 0 0 0 1px rgba(195, 210, 250, .06);--field-well-shadow-focus: inset 0 1px 2px rgba(0, 0, 0, .65), inset 0 0 0 1px rgba(120, 160, 255, .45);--text-1: #e8edfb;--text-2: #9fb0d4;--text-3: #6c7ea6;--border-primary: rgba(195, 210, 250, .1);--border-secondary: rgba(195, 210, 250, .16);--border-hover: rgba(150, 180, 255, .3);--border: var(--border-primary);--btn-bg: #101c3a;--btn-bg-hover: #16264c;--btn-primary-bg: #1d44a3;--btn-primary-bg-hover: #173889;--btn-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 2px 6px rgba(0, 0, 0, .45);--accent: #ffb300;--danger: #e5484d;--danger-bg: #3a1216;--ok: #3fbf7f;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}@media(prefers-color-scheme:light){:root{color-scheme:light;--panel-bg: #f9fafd;--panel-bg-cards: #e9edf5;--panel-bg-raised: #ffffff;--field-well-bg: rgba(255, 255, 255, .55);--field-well-border: rgba(255, 255, 255, .5);--field-well-shadow: inset 0 1px 2px rgba(30, 50, 90, .16), inset 0 0 0 1px rgba(30, 50, 90, .08);--field-well-shadow-focus: inset 0 1px 2px rgba(30, 50, 90, .16), inset 0 0 0 1px rgba(40, 90, 200, .45);--text-1: #16203a;--text-2: #4a5a7d;--text-3: #75849f;--border-primary: rgba(30, 50, 90, .14);--border-secondary: rgba(30, 50, 90, .22);--border-hover: rgba(30, 50, 90, .36);--btn-bg: #ffffff;--btn-bg-hover: #eef2fa;--btn-primary-bg: #163472;--btn-primary-bg-hover: #11295c;--btn-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 2px 6px rgba(30, 50, 90, .16);--accent: #e68a00;--danger: #c5292e;--danger-bg: #fbe9ea}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;height:100%;min-height:100dvh}body{background:var(--panel-bg);color:var(--text-1);font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overscroll-behavior-y:none}.app{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:var(--safe-bottom)}.head{display:flex;align-items:center;gap:10px;padding:calc(12px + var(--safe-top)) 14px 12px;border-bottom:1px solid var(--border);background:var(--panel-bg-cards);position:sticky;top:0;z-index:5}.head h1{font-size:16px;font-weight:650;margin:0;flex:1;letter-spacing:.2px}.head .sub{font-size:12px;color:var(--text-3);font-weight:400}.dot{width:9px;height:9px;border-radius:50%;background:var(--text-3);flex:0 0 auto}.dot.ready{background:var(--ok)}.dot.connecting,.dot.reconnecting{background:var(--accent)}.body{flex:1;padding:14px;display:flex;flex-direction:column;gap:14px}.card{background:var(--panel-bg-cards);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--btn-shadow)}.card h2{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.6px}.muted{color:var(--text-3);font-size:13px}.hint{color:var(--text-2);font-size:13px;line-height:1.5}.btn{appearance:none;border:1px solid var(--border-secondary);background:var(--btn-bg);color:var(--text-1);border-radius:var(--radius);padding:13px 16px;font-size:15px;font-weight:550;box-shadow:var(--btn-shadow);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;cursor:pointer}.btn:active{background:var(--btn-bg-hover);transform:translateY(1px)}.btn:disabled{opacity:.5}.btn.primary{background:var(--btn-primary-bg);border-color:transparent;color:#fff}.btn.primary:active{background:var(--btn-primary-bg-hover)}.btn.wide{width:100%}.btn.is-danger{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.btn.ghost{background:transparent;box-shadow:none;border-color:var(--border)}.row{display:flex;gap:10px}.row>*{flex:1}.field{width:100%;border:1px solid var(--field-well-border);background:var(--field-well-bg);box-shadow:var(--field-well-shadow);color:var(--text-1);border-radius:var(--radius);padding:13px 14px;font-size:16px;font-family:inherit;outline:none}.field:focus{box-shadow:var(--field-well-shadow-focus)}textarea.field{resize:none;min-height:74px}.code-field{text-align:center;letter-spacing:4px;font-size:22px;font-weight:600;text-transform:uppercase}.targets{display:flex;flex-direction:column;gap:8px}.target{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--btn-bg);box-shadow:var(--btn-shadow);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;min-height:56px}.target.selected{border-color:var(--border-hover);background:var(--btn-bg-hover)}.target.selected .check{color:var(--ok)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--panel-bg-raised);border:1px solid var(--border);display:grid;place-items:center;font-weight:650;font-size:14px;color:var(--text-2);flex:0 0 auto;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.target .who{flex:1;min-width:0}.target .who b{display:block;font-weight:600;font-size:15px}.target .who span{display:block;font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files{display:flex;flex-direction:column;gap:8px}.file{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);background:var(--field-well-bg);box-shadow:var(--field-well-shadow)}.file img{width:44px;height:44px;border-radius:6px;object-fit:cover;flex:0 0 auto}.file .meta{flex:1;min-width:0}.file .meta b{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file .meta span{font-size:12px;color:var(--text-3)}.file .x{appearance:none;border:none;background:transparent;color:var(--text-3);padding:8px;cursor:pointer;display:grid;place-items:center}.job{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-sm);background:var(--field-well-bg);box-shadow:var(--field-well-shadow)}.job .meta{flex:1;min-width:0}.job .meta b{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job .meta span{font-size:12px;color:var(--text-3)}.job.sending .meta span{color:var(--accent)}.bar{height:4px;border-radius:2px;background:var(--border);overflow:hidden;margin-top:6px}.bar>i{display:block;height:100%;background:var(--btn-primary-bg);transition:width .2s}.scanner{position:relative;border-radius:var(--radius);overflow:hidden;background:#000;aspect-ratio:1}.scanner video{width:100%;height:100%;object-fit:cover;display:block}.scanner .frame{position:absolute;inset:18%;border:2px solid rgba(255,255,255,.85);border-radius:var(--radius)}.fp{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.7;color:var(--text-1);background:var(--field-well-bg);box-shadow:var(--field-well-shadow);border-radius:var(--radius-sm);padding:10px 12px;word-spacing:6px}.banner{border-radius:var(--radius);padding:12px 14px;font-size:13px;line-height:1.5;border:1px solid var(--border);background:var(--panel-bg-raised)}.banner.warn{border-color:var(--accent)}.banner.err{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.footbar{position:sticky;bottom:0;padding:12px 14px calc(12px + var(--safe-bottom));background:linear-gradient(to top,var(--panel-bg) 65%,transparent);display:flex;gap:10px}.footbar .btn{flex:1}.center{display:grid;place-items:center;min-height:60dvh;padding:24px;text-align:center;gap:12px}.spin{animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
