:root{--surface-base: #ffffff;--surface-raised: #ffffff;--surface-sunken: #f1f3f7;--surface-overlay: rgba(255, 255, 255, .82);--border-subtle: rgba(16, 20, 32, .1);--border-strong: rgba(16, 20, 32, .2);--text-primary: #0b0d12;--text-secondary: #4d5464;--text-tertiary: #767e90;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: rgba(79, 70, 229, .1);--accent-ring: rgba(79, 70, 229, .3);--positive: #0f9d58;--positive-soft: rgba(15, 157, 88, .12);--warning: #b45309;--warning-soft: rgba(180, 83, 9, .12);--danger: #d92d20;--danger-soft: rgba(217, 45, 32, .1);--glow: radial-gradient(70% 100% at 50% 0%, rgba(79, 70, 229, .13), transparent 70%);--shadow-sm: 0 1px 2px rgba(16, 20, 32, .06), 0 1px 3px rgba(16, 20, 32, .04);--shadow-md: 0 4px 12px rgba(16, 20, 32, .07), 0 1px 3px rgba(16, 20, 32, .05);--shadow-lg: 0 20px 48px rgba(16, 20, 32, .13), 0 2px 8px rgba(16, 20, 32, .05);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: "Inter var", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.2, .8, .2, 1);--duration-fast: .12s;--duration: .2s;color-scheme:light}:root[data-theme=dark]{--surface-base: #000000;--surface-raised: #0a0b0e;--surface-sunken: #050608;--surface-overlay: rgba(10, 11, 14, .85);--border-subtle: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .22);--text-primary: #f2f4f8;--text-secondary: #a2a9b8;--text-tertiary: #6f7686;--accent: #7c72f0;--accent-hover: #9089f5;--accent-soft: rgba(124, 114, 240, .18);--accent-ring: rgba(124, 114, 240, .45);--positive: #34d399;--positive-soft: rgba(52, 211, 153, .14);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--glow: radial-gradient(70% 100% at 50% 0%, rgba(124, 114, 240, .16), transparent 72%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .6);--shadow-md: 0 6px 16px rgba(0, 0, 0, .65);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .75);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--surface-base);background-image:var(--glow);background-repeat:no-repeat;background-size:100% 520px;color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.55;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}button,input,textarea{font:inherit;color:inherit}:where(a){color:var(--accent);text-decoration:none}:where(a):hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent-soft)}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{max-width:880px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-7);display:flex;flex-direction:column;gap:var(--space-5)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.row--center{justify-content:center}.masthead{display:flex;flex-direction:column;gap:var(--space-4)}.masthead__brand{display:flex;align-items:flex-start;gap:var(--space-3)}.masthead__title{font-size:22px;font-weight:650;letter-spacing:-.025em}.mark{width:34px;height:34px;flex:none;border-radius:11px;background:linear-gradient(150deg,var(--accent),color-mix(in oklab,var(--accent) 55%,#22d3ee));box-shadow:var(--shadow-md);position:relative}.mark:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:4px;border:2px solid rgba(255,255,255,.85);border-bottom-color:transparent;border-right-color:transparent;transform:rotate(45deg)}.statusbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);min-height:34px}.statusbar__group{display:flex;align-items:center;gap:var(--space-2);min-width:0}.statusbar__group--end{justify-content:flex-end}.statusbar__destination{max-width:22ch;overflow:hidden;text-overflow:ellipsis}.stat{display:inline-block;min-width:9ch;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.stat--short{min-width:3ch}.stat--code{min-width:7ch;text-align:center}.pill{white-space:nowrap}.panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.panel--flush{padding:var(--space-4) var(--space-5) var(--space-5)}.panel--center{align-items:center;text-align:center}.panel__title{font-size:15px;font-weight:620;letter-spacing:-.015em}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2)}.muted{color:var(--text-secondary);font-size:13.5px}.danger{color:var(--danger)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.footnote{text-align:center;font-size:12.5px}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}.step{display:flex;gap:var(--space-3)}.step__marker{flex:none;width:26px;height:26px;border-radius:var(--radius-pill);display:grid;place-items:center;font-size:12px;font-weight:650;color:var(--accent);background:var(--accent-soft)}.step__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-tertiary);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:7px 14px;font-size:13.5px;font-weight:550;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-sunken)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:transparent;color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:transparent}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}.btn--danger{color:var(--danger);background:var(--danger-soft);border-color:transparent}.btn--block{width:100%}.pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 11px;font-size:12.5px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--surface-raised);color:var(--text-secondary)}.pill strong{color:var(--text-primary);font-weight:600;letter-spacing:.04em}.pill__dot{width:7px;height:7px;border-radius:var(--radius-pill);background:currentColor}.pill--ok{color:var(--positive);background:var(--positive-soft);border-color:transparent}.pill--ok .pill__dot{animation:pulse 2.4s var(--ease) infinite}.pill--pending{color:var(--warning);background:var(--warning-soft);border-color:transparent}.pill--bad{color:var(--danger);background:var(--danger-soft);border-color:transparent}.pill--quiet .pill__dot{display:none}.badge{font-size:11.5px;font-weight:550;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.badge--ok{color:var(--positive);background:var(--positive-soft)}.badge--bad{color:var(--danger);background:var(--danger-soft)}.badge--neutral{color:var(--text-tertiary);background:var(--surface-sunken)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.code-card{display:flex;flex-direction:column;gap:var(--space-2)}.code-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.code-card__value{width:100%;padding:var(--space-3);font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--text-secondary);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);resize:vertical;word-break:break-all}.code-card__value:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.code-card__qr{align-self:center;width:180px;height:180px;padding:var(--space-2);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.dropzone--active{border-color:var(--accent);background:var(--accent-soft)}.dropzone__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-pill);color:var(--accent);background:var(--accent-soft)}.dropzone__title{font-size:17px;font-weight:620;letter-spacing:-.02em}.dropzone .row{margin-top:var(--space-3)}.drag-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:color-mix(in oklab,var(--surface-base) 72%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.drag-veil__label{padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-weight:600;box-shadow:var(--shadow-lg)}.transfers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.transfer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised)}.transfer--failed{border-color:color-mix(in oklab,var(--danger) 40%,transparent)}.transfer--cancelled{opacity:.6}.transfer__arrow{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-pill);font-size:14px;background:var(--surface-sunken);color:var(--text-secondary)}.transfer__arrow--in{color:var(--positive);background:var(--positive-soft)}.transfer__arrow--out{color:var(--accent);background:var(--accent-soft)}.transfer__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.transfer__top{display:flex;align-items:center;gap:var(--space-2);min-width:0}.transfer__name{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer__meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:12.5px;color:var(--text-tertiary)}.transfer__actions{display:flex;gap:var(--space-1);flex:none}.progress{height:5px;margin-top:var(--space-1);border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.progress__fill{height:100%;border-radius:inherit;background:var(--accent);transition:width .14s linear}.progress__fill--live{background-image:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);background-size:180px 100%;background-repeat:repeat-x;animation:sheen 1.1s linear infinite}@keyframes sheen{0%{background-position:-180px 0}to{background-position:180px 0}}.note-composer{display:flex;align-items:flex-end;gap:var(--space-2)}.note-composer .code-card__value{flex:1}.notes{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.note{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);font-size:13.5px}.note--in{border-left:2px solid var(--positive)}.note--out{border-left:2px solid var(--accent)}.note__body{white-space:pre-wrap;word-break:break-word}.note__copy{flex:none;border:0;background:none;color:var(--text-tertiary);font-size:12px;cursor:pointer}.note__copy:hover{color:var(--accent)}.scanner{display:flex;flex-direction:column;gap:var(--space-2)}.scanner__view{width:100%;max-height:320px;object-fit:cover;border-radius:var(--radius-md);background:#000}.alert{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--danger-soft);border:1px solid color-mix(in oklab,var(--danger) 35%,transparent);color:var(--danger);font-size:13.5px}.alert__close{border:0;background:none;color:inherit;font-size:20px;line-height:1;cursor:pointer}.spinner{width:26px;height:26px;border-radius:var(--radius-pill);border:2px solid var(--border-subtle);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:620px){.statusbar{flex-direction:column;align-items:stretch}.statusbar__group--end{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.shell{padding:var(--space-5) var(--space-4) var(--space-6)}.transfer{flex-wrap:wrap}.transfer__actions{width:100%;justify-content:flex-end}.note-composer{flex-direction:column;align-items:stretch}}.masthead__words{flex:1;min-width:0}.segmented{display:inline-flex;flex:none;padding:2px;gap:2px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-sunken)}.segmented__option{display:grid;place-items:center;width:28px;height:26px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-tertiary);font-size:13px;line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.segmented__option:hover{color:var(--text-primary)}.segmented__option--on{background:var(--surface-raised);color:var(--accent);box-shadow:var(--shadow-sm)}
