.loft-drop{display:flex;justify-content:center;width:100%;padding:var(--space-2) 0 var(--space-4)}.loft-drop__card{width:100%;max-width:27rem;display:grid;gap:var(--space-5);padding:var(--space-6);border-radius:var(--radius-3xl);background:var(--elev-surface-2);border:1px solid var(--color-border-subtle);box-shadow:var(--elev-3)}.loft-drop__card--center{justify-items:center;text-align:center}.loft-drop__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.loft-drop__status{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--color-text-muted)}.loft-drop__dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-text-muted);flex:none}.loft-drop__dot--gathering,.loft-drop__dot--connecting,.loft-drop__dot--waiting{background:var(--color-warning)}.loft-drop__dot--connected{background:var(--color-success)}.loft-drop__dot--failed,.loft-drop__dot--closed{background:var(--color-error)}.loft-drop__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--color-accent-gradient-top),var(--color-accent-gradient-bot));color:var(--color-text-inverse);font-size:.9375rem;font-weight:600;cursor:pointer;box-shadow:var(--elev-1);transition:filter .15s ease,transform .1s ease}.loft-drop__btn:hover{filter:brightness(1.08)}.loft-drop__btn:active{transform:translateY(1px)}.loft-drop__btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.loft-drop__btn--ghost{background:var(--color-overlay-faint);color:var(--color-text-body);border:1px solid var(--color-border-subtle);box-shadow:none;font-weight:500}.loft-drop__btn--ghost:hover{filter:none;background:var(--color-overlay-soft);border-color:var(--color-border-hover)}.loft-drop__btn--sm{padding:var(--space-1) var(--space-3);font-size:.8125rem}.loft-drop__gate-icon{font-size:2.5rem;color:var(--color-accent-primary)}.loft-drop__gate-heading{color:var(--color-text-heading);font-size:1.2rem}.loft-drop__gate-body{color:var(--color-text-body);line-height:1.55}.loft-drop__home{display:grid;gap:var(--space-4)}.loft-drop__choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.loft-drop__choice{display:grid;gap:var(--space-1);justify-items:center;text-align:center;padding:var(--space-5) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-2xl);background:var(--elev-surface-1);color:var(--color-text-heading);cursor:pointer;box-shadow:var(--elev-1);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.loft-drop__choice:hover{transform:translateY(-3px);border-color:var(--color-border-hover);box-shadow:var(--elev-2)}.loft-drop__choice i{font-size:1.85rem;color:var(--color-accent-primary)}.loft-drop__choice span{font-weight:600}.loft-drop__choice small{color:var(--color-text-muted);font-size:.75rem;line-height:1.35}.loft-drop__note{color:var(--color-text-muted);font-size:.8125rem;line-height:1.5;text-align:center}.loft-drop__note b{color:var(--color-text-body);font-weight:600}.loft-drop__pair{display:grid;gap:var(--space-5)}.loft-drop__step{display:grid;gap:var(--space-3)}.loft-drop__step+.loft-drop__step{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-5)}.loft-drop__step-head{display:flex;align-items:center;gap:var(--space-3)}.loft-drop__step-num{display:grid;place-items:center;width:1.6rem;height:1.6rem;flex:none;border-radius:var(--radius-full);background:linear-gradient(180deg,var(--color-accent-gradient-top),var(--color-accent-gradient-bot));color:var(--color-text-inverse);font-size:.8125rem;font-weight:700;box-shadow:var(--elev-1)}.loft-drop__step-title{color:var(--color-text-heading);font-size:.95rem;line-height:1.35}.loft-drop__step-body{display:grid;gap:var(--space-3);justify-items:center}.loft-drop__show{display:grid;gap:var(--space-3);justify-items:center;width:100%}.loft-drop__share-row{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.loft-drop__qr-frame{padding:var(--space-3);background:var(--color-text-inverse);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--color-cyan-bg-border),var(--elev-2)}.loft-drop__qr{display:block;width:208px;height:208px}.loft-drop__scan{display:grid;gap:var(--space-2);width:100%}.loft-drop__cam{position:relative;width:100%;max-width:16rem;margin:0 auto;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-lg)}.loft-drop__video{width:100%;height:100%;object-fit:cover;background:var(--elev-surface-1);border:1px solid var(--color-border-subtle)}.loft-drop__scan-frame{position:absolute;inset:12%;border:2px solid var(--color-accent-primary);border-radius:var(--radius-md);pointer-events:none}.loft-drop__scan-hint{position:absolute;left:0;right:0;bottom:var(--space-2);text-align:center;font-size:.75rem;color:var(--color-text-inverse);text-shadow:0 1px 4px var(--color-shadow-deepest)}.loft-drop__paste-box{width:100%;display:grid;gap:var(--space-2);color:var(--color-text-muted);font-size:.8125rem}.loft-drop__paste-box summary{cursor:pointer}.loft-drop__paste{width:100%;min-height:3.5rem;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--elev-surface-1);color:var(--color-text-body);font-family:var(--font-mono, monospace);font-size:.72rem;resize:vertical}.loft-drop__connecting{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--color-text-heading);font-weight:600}.loft-drop__spin{font-size:1.25rem;color:var(--color-accent-primary);animation:loft-drop-spin .9s linear infinite}@keyframes loft-drop-spin{to{transform:rotate(360deg)}}.loft-drop__transfer{display:grid;gap:var(--space-4)}.loft-drop__modes{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.loft-drop__mode{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--elev-surface-1);color:var(--color-text-body);cursor:pointer;transition:background .15s ease,border-color .15s ease}.loft-drop__mode:hover{border-color:var(--color-border-hover)}.loft-drop__mode--active{background:var(--color-cyan-bg-soft);border-color:var(--color-border-hover);color:var(--color-text-heading)}.loft-drop__mode-body{display:grid;gap:var(--space-3);justify-items:center}.loft-drop__filepick{display:grid;gap:var(--space-2);justify-items:center;width:100%;padding:var(--space-8);border:1px dashed var(--color-border-hover);border-radius:var(--radius-2xl);background:var(--elev-surface-1);color:var(--color-text-body);cursor:pointer;transition:border-color .15s ease}.loft-drop__filepick:hover{border-color:var(--color-accent-primary)}.loft-drop__filepick i{font-size:1.75rem;color:var(--color-accent-primary)}.loft-drop__filepick input{display:none}.loft-drop__snippet{display:grid;gap:var(--space-2);width:100%}.loft-drop__progress{position:relative;width:100%;height:1.5rem;border-radius:var(--radius-pill);background:var(--color-cyan-bg-faint);overflow:hidden}.loft-drop__progress-bar{height:100%;background:linear-gradient(90deg,var(--color-accent-gradient-top),var(--color-accent-gradient-bot));transition:width .1s linear}.loft-drop__progress-text{position:absolute;inset:0;display:grid;place-items:center;font-size:.75rem;color:var(--color-text-heading)}.loft-drop__verified{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-success);font-weight:600}.loft-drop__hint{color:var(--color-text-muted);font-size:.875rem;text-align:center;line-height:1.5}.loft-drop__error{color:var(--color-error);font-size:.875rem;text-align:center}.loft-drop__result{display:grid;gap:var(--space-3);justify-items:center}.loft-drop__text-out{width:100%;max-height:16rem;overflow:auto;padding:var(--space-3);border-radius:var(--radius-md);background:var(--elev-surface-1);color:var(--color-text-body);font-family:var(--font-mono, monospace);font-size:.8125rem;white-space:pre-wrap;word-break:break-word}.loft-drop__img-out{max-width:100%;max-height:20rem;border-radius:var(--radius-md)}
