.file-transfer-tool{--ink:var(--tt-ink,#211c35);--muted:var(--tt-muted,#716b83);--paper:var(--tt-surface,#fdfcfe);--accent:var(--tt-accent,#6242d4);--line:var(--tt-line,#e1ddea);--soft:color-mix(in srgb, var(--accent) 5%, var(--paper));--success:var(--tt-success,#237557);--danger:var(--tt-danger,#b73e55);color:var(--ink);font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,sans-serif;display:block;container-type:inline-size}.file-transfer-tool,.file-transfer-tool *{box-sizing:border-box}.file-transfer-tool .app{gap:20px;min-width:0;display:grid}.file-transfer-tool :is(h2,p){margin:0}.file-transfer-tool h2{letter-spacing:-.025em;font-size:1rem;font-weight:700;line-height:1.45}.file-transfer-tool p{word-break:keep-all;overflow-wrap:anywhere;line-height:1.65}.file-transfer-tool :is(button,input){font:inherit}.file-transfer-tool button{cursor:pointer;transition:background-color .14s,border-color .14s,transform .14s}.file-transfer-tool button:disabled{opacity:.5;cursor:not-allowed}.file-transfer-tool :is(button,summary){touch-action:manipulation;-webkit-tap-highlight-color:transparent}.file-transfer-tool :is(button,input,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}.file-transfer-tool svg{stroke-width:1.8px;flex-shrink:0;width:18px;height:18px}.file-transfer-tool :is(.primary,.secondary,.text-button){border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:650;line-height:1.4;display:inline-flex}.file-transfer-tool .primary{color:#fff;background:#5940da;border:1px solid #5940da;box-shadow:0 2px 3px #3520761a}.file-transfer-tool .secondary{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.file-transfer-tool .text-button{color:var(--muted);background:0 0;border:1px solid #0000;padding-inline:10px}.file-transfer-tool button:active:not(:disabled){transform:translateY(1px)}.file-transfer-tool .room-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.file-transfer-tool .connection-status{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;font-weight:650;display:inline-flex}.file-transfer-tool .status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.file-transfer-tool .ready{color:var(--success)}.file-transfer-tool .leave-button{color:var(--danger);min-height:44px;font-size:.8rem}.file-transfer-tool .room-lobby{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:0;display:grid;overflow:hidden}.file-transfer-tool .room-lobby h2{align-items:center;gap:8px;font-size:1.1rem;display:flex}.file-transfer-tool .room-lobby h2 svg{color:var(--accent)}.file-transfer-tool .lobby-send{background:var(--soft);padding:clamp(24px,4cqi,40px)}.file-transfer-tool .lobby-send.dragging{outline:2px dashed var(--accent);outline-offset:-8px}.file-transfer-tool .lobby-send p{color:var(--muted);margin-top:8px;font-size:.85rem}.file-transfer-tool .select-files{min-width:180px;min-height:52px;margin-top:24px;font-size:1rem}.file-transfer-tool .empty-room{text-underline-offset:3px;margin-top:6px;padding-inline:0;font-size:.78rem;text-decoration:underline;display:flex}.file-transfer-tool .pending-files>div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.file-transfer-tool .join-form{border-left:1px solid var(--line);align-content:center;gap:12px;padding:clamp(24px,4cqi,40px);display:grid}.file-transfer-tool .join-form p{color:var(--muted);font-size:.85rem}.file-transfer-tool .join-form .receive-note{font-size:.75rem}.file-transfer-tool .lobby-note{border-top:1px solid var(--line);color:var(--muted);text-align:center;grid-column:1/-1;padding:14px 24px;font-size:.78rem}.file-transfer-tool input:not([type=file]){border:1px solid var(--line);background:var(--soft);width:100%;min-width:0;height:52px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.12em;border-radius:9px;padding:10px 14px;font-size:1.35rem}.file-transfer-tool input::placeholder{color:var(--muted);opacity:.65}.file-transfer-tool .eyebrow{letter-spacing:.07em;color:var(--muted);font-size:.7rem;font-weight:700}.file-transfer-tool .invite-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-template-columns:minmax(0,1fr) 148px;grid-template-areas:"heading heading""info qr""actions qr";gap:14px 28px;padding:clamp(20px,3cqi,28px);display:grid}.file-transfer-tool .invite-heading{grid-area:heading;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.file-transfer-tool .invite-heading h2{font-size:.85rem}.file-transfer-tool .room-count{color:var(--muted);flex-shrink:0;align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.file-transfer-tool .room-count svg{width:14px;height:14px}.file-transfer-tool .invite-info{grid-area:info;align-self:center;min-width:0}.file-transfer-tool .pin-row{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:3px;display:flex}.file-transfer-tool .room-pin{font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap;font-size:clamp(2rem,5.8cqi,3rem);font-weight:750;line-height:1.15}.file-transfer-tool .pin-copy{color:var(--accent);font-size:.75rem}.file-transfer-tool .invite-hint{max-width:49ch;color:var(--muted);margin-top:10px;font-size:.78rem}.file-transfer-tool .invite-actions{flex-wrap:wrap;grid-area:actions;align-items:center;gap:8px;display:flex}.file-transfer-tool .invite-actions .secondary{font-size:.8rem}.file-transfer-tool .qr-preview{color:var(--muted);background:0 0;border:0;border-radius:8px;grid-area:qr;align-self:center;justify-items:center;gap:4px;padding:0;display:grid}.file-transfer-tool .qr-preview canvas{width:140px;height:140px;image-rendering:pixelated;border-radius:6px;display:block}.file-transfer-tool .qr-preview>span{justify-content:center;align-items:center;gap:4px;min-height:28px;font-size:.7rem;display:flex}.file-transfer-tool .qr-preview svg{width:13px;height:13px}.file-transfer-tool .qr-dialog{border:1px solid var(--line);background:var(--paper);width:min(380px,100% - 32px);color:var(--ink);text-align:center;border-radius:16px;padding:20px}.file-transfer-tool .qr-dialog::backdrop{background:#18102799}.file-transfer-tool .qr-dialog .section-title{border:0;margin-bottom:10px;padding-bottom:0}.file-transfer-tool .qr-dialog canvas{width:100%;height:auto;image-rendering:pixelated;border-radius:8px;display:block}.file-transfer-tool .qr-dialog p{color:var(--muted);margin-top:14px;font-size:.85rem}.file-transfer-tool .dialog-pin{font-variant-numeric:tabular-nums;letter-spacing:.12em;margin-top:8px;font-size:1.5rem;display:block}.file-transfer-tool .share-dropzone{border:1px dashed color-mix(in srgb, var(--accent) 38%, var(--paper));background-color:var(--paper);background-image:radial-gradient(color-mix(in srgb, var(--accent) 13%, transparent) .7px, transparent .7px);text-align:center;background-size:12px 12px;border-radius:14px;justify-items:center;gap:12px;padding:clamp(24px,4cqi,36px) 20px 22px;transition:background-color .16s,border-color .16s;display:grid;position:relative}.file-transfer-tool .share-dropzone.dragging{background-color:var(--soft);border:2px solid var(--accent);padding:calc(clamp(24px,4cqi,36px) - 1px) 19px 21px}.file-transfer-tool .upload-symbol{background:var(--soft);width:42px;height:42px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.file-transfer-tool .upload-symbol svg{width:23px;height:23px}.file-transfer-tool .share-dropzone h2{font-size:1.05rem}.file-transfer-tool .share-dropzone p{max-width:52ch;color:var(--muted);margin-top:6px;font-size:.82rem}.file-transfer-tool .share-dropzone .primary{min-width:150px;margin-top:2px}.file-transfer-tool .dropzone-note{color:var(--muted);font-size:.7rem}.file-transfer-tool .share-dropzone.has-files{text-align:left;grid-template-columns:42px minmax(0,1fr) auto;place-items:center start;gap:16px;padding:24px}.file-transfer-tool .share-dropzone.has-files.dragging{padding:23px}.file-transfer-tool .has-files .dropzone-note{display:none}.file-transfer-tool :is(.file-input,.sr-only){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.file-transfer-tool .share-dropzone:focus-within{outline:3px solid var(--accent);outline-offset:4px}.file-transfer-tool :is(.share-files,.transfer-section){border:1px solid var(--line);background:var(--paper);border-radius:14px;min-width:0;padding:22px 24px 0}.file-transfer-tool .section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px;display:flex}.file-transfer-tool .section-title h2{align-items:center;gap:9px;display:flex}.file-transfer-tool .file-count{background:var(--soft);min-width:24px;height:23px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;padding-inline:6px;font-size:.72rem;display:inline-grid}.file-transfer-tool .list-hint{color:var(--muted);font-size:.75rem}.file-transfer-tool .empty-state{text-align:center;color:var(--muted);justify-items:center;gap:12px;padding:34px 16px 38px;display:grid}.file-transfer-tool .empty-state>svg{width:26px;height:26px;color:color-mix(in srgb, var(--muted) 55%, var(--paper))}.file-transfer-tool .empty-state p{max-width:41ch;font-size:.83rem}.file-transfer-tool :is(.shared-list,.transfer-list,.devices-details ul){margin:0;padding:0;list-style:none}.file-transfer-tool .shared-row{align-items:center;gap:14px;padding:18px 0;display:flex}.file-transfer-tool .shared-row+.shared-row{border-top:1px solid var(--line)}.file-transfer-tool .shared-row>button{flex-shrink:0}.file-transfer-tool .file-symbol{border:1px solid var(--line);width:38px;height:44px;color:var(--accent);background:var(--soft);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.file-transfer-tool .file-symbol svg{width:20px;height:20px}.file-transfer-tool .file-description{flex:1;gap:7px;min-width:0;display:grid}.file-transfer-tool :is(.file-description,.transfer-title) strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:650;line-height:1.5}.file-transfer-tool .file-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:.73rem;line-height:1.5;display:flex}.file-transfer-tool .file-origin{border-left:1px solid var(--line);padding-left:10px}.file-transfer-tool .file-availability{color:var(--success);align-items:center;gap:5px;display:inline-flex}.file-transfer-tool .file-availability .status-dot{width:4px;height:4px}.file-transfer-tool .shared-row .secondary{color:var(--accent);font-size:.8rem}.file-transfer-tool .stop-sharing{font-size:.75rem}.file-transfer-tool .transfer-row{align-items:start;gap:14px;padding:16px 0;display:flex}.file-transfer-tool .transfer-row+.transfer-row{border-top:1px solid var(--line)}.file-transfer-tool .transfer-symbol{background:var(--soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.file-transfer-tool .transfer-symbol svg{width:15px;height:15px}.file-transfer-tool .transfer-content{flex:1;min-width:0}.file-transfer-tool .transfer-title{gap:3px;display:grid}.file-transfer-tool .transfer-title>span{color:var(--muted);font-size:.73rem}.file-transfer-tool .transfer-detail{min-height:28px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.75rem;display:flex}.file-transfer-tool .transfer-detail>span{overflow-wrap:anywhere}.file-transfer-tool .transfer-detail .text-button{margin-block:-6px;font-size:.75rem}.file-transfer-tool .transfer-percent{font-variant-numeric:tabular-nums}.file-transfer-tool .transfer-row.failed .transfer-detail{color:var(--danger)}.file-transfer-tool .transfer-row.completed :is(.transfer-symbol,.transfer-detail>span){color:var(--success)}.file-transfer-tool .transfer-row.completed .transfer-content{align-items:center;gap:12px;display:flex}.file-transfer-tool .transfer-row.completed .transfer-title{flex:1;min-width:0}.file-transfer-tool .transfer-row.completed .transfer-detail{flex-direction:column;flex-shrink:0;align-items:end;gap:0}.file-transfer-tool progress{width:100%;height:5px;accent-color:var(--accent);border:0;border-radius:5px;margin-top:5px;display:block;overflow:hidden}.file-transfer-tool progress::-webkit-progress-bar{background:var(--soft)}.file-transfer-tool progress::-webkit-progress-value{background:var(--accent)}.file-transfer-tool .devices-details{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:0 20px}.file-transfer-tool summary{cursor:pointer;align-items:center;gap:10px;min-height:58px;font-size:.8rem;font-weight:650;list-style:none;display:flex}.file-transfer-tool summary::-webkit-details-marker{display:none}.file-transfer-tool summary>svg:first-child{color:var(--muted)}.file-transfer-tool .device-count{color:var(--accent);font-variant-numeric:tabular-nums;margin-left:8px;display:inline-block}.file-transfer-tool .disclosure-arrow{width:16px;height:16px;margin-left:auto;transition:transform .16s}.file-transfer-tool details[open] .disclosure-arrow{transform:rotate(180deg)}.file-transfer-tool .devices-details ul{border-top:1px solid var(--line);padding-bottom:10px}.file-transfer-tool .devices-details li{flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:50px;padding-block:7px;font-size:.78rem;display:flex}.file-transfer-tool .devices-details li>svg{color:var(--muted);width:16px;height:16px}.file-transfer-tool .device-name{flex:1;min-width:80px}.file-transfer-tool .host-badge{background:var(--soft);color:var(--accent);border-radius:4px;margin-left:6px;padding:2px 5px;font-size:.65rem;display:inline-block}.file-transfer-tool .device-status{color:var(--muted);align-items:center;gap:6px;font-size:.72rem;display:inline-flex}.file-transfer-tool .device-status.ready{color:var(--success)}.file-transfer-tool .session-note{color:var(--muted);text-align:center;font-size:.75rem}.file-transfer-tool .notice{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--paper));background:var(--paper);color:var(--danger);overflow-wrap:anywhere;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px 8px 16px;font-size:.85rem;display:flex}.file-transfer-tool .notice button{color:inherit;flex-shrink:0}.file-transfer-tool .turnstile-container:empty{display:none}.file-transfer-tool .spin{animation:1s linear infinite file-share-spin}@keyframes file-share-spin{to{transform:rotate(360deg)}}@media (hover:hover){.file-transfer-tool .primary:hover:not(:disabled){background:#4931c4;border-color:#4931c4}.file-transfer-tool :is(.secondary,.text-button):hover:not(:disabled){background:var(--soft);color:var(--accent)}.file-transfer-tool :is(.leave-button,.stop-sharing):hover:not(:disabled){color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, var(--paper))}.file-transfer-tool .qr-preview:hover{color:var(--accent)}}@container (width<=580px){.file-transfer-tool .app{gap:14px}.file-transfer-tool .room-lobby{grid-template-columns:minmax(0,1fr)}.file-transfer-tool .lobby-send{padding:20px}.file-transfer-tool .select-files{width:100%;margin-top:18px}.file-transfer-tool .join-form{border-left:0;border-top:1px solid var(--line);gap:10px;padding:20px}.file-transfer-tool .lobby-note{text-align:left;padding:12px 20px}.file-transfer-tool .invite-card{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"heading heading""qr info""actions actions";gap:12px 14px;padding:16px}.file-transfer-tool .invite-heading{align-items:start;margin:0}.file-transfer-tool .invite-heading h2,.file-transfer-tool .room-count{font-size:.75rem}.file-transfer-tool .room-count svg{display:none}.file-transfer-tool .invite-info .eyebrow{font-size:.7rem}.file-transfer-tool .pin-row{gap:2px}.file-transfer-tool .room-pin{letter-spacing:.04em;font-size:clamp(1.25rem,7.3cqi,2.15rem)}.file-transfer-tool .pin-copy{justify-content:start;width:100%;min-height:44px;padding:6px 0;font-size:.75rem}.file-transfer-tool .pin-copy svg{width:14px;height:14px}.file-transfer-tool .invite-hint{display:none}.file-transfer-tool .qr-preview canvas{width:96px;height:96px}.file-transfer-tool .qr-preview>span{font-size:.7rem}.file-transfer-tool .invite-actions .secondary{flex:1;padding-inline:8px;font-size:.75rem}.file-transfer-tool .share-dropzone{gap:10px;padding:22px 16px 18px}.file-transfer-tool .share-dropzone.dragging{padding:21px 15px 17px}.file-transfer-tool .share-dropzone p{max-width:34ch;font-size:.75rem}.file-transfer-tool .share-dropzone .primary{width:100%}.file-transfer-tool .share-dropzone.has-files{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px 16px}.file-transfer-tool .share-dropzone.has-files.dragging{padding:17px 15px}.file-transfer-tool .has-files .upload-symbol{width:36px;height:36px}.file-transfer-tool .has-files .primary{grid-column:1/-1}.file-transfer-tool .has-files h2{font-size:.9rem}.file-transfer-tool :is(.share-files,.transfer-section){padding:16px 16px 0}.file-transfer-tool .section-title{padding-bottom:14px}.file-transfer-tool .section-title h2{font-size:.9rem}.file-transfer-tool .list-hint{display:none}.file-transfer-tool .empty-state{padding:26px 0 30px}.file-transfer-tool .empty-state p{max-width:29ch;font-size:.75rem}.file-transfer-tool .shared-row{flex-wrap:wrap;gap:10px;padding:15px 0}.file-transfer-tool .file-symbol{width:30px;height:36px}.file-transfer-tool .file-symbol svg{width:17px;height:17px}.file-transfer-tool .file-description{flex-basis:calc(100% - 40px)}.file-transfer-tool .shared-row>button{min-height:44px;margin-left:40px}.file-transfer-tool .shared-row .secondary{width:calc(100% - 40px)}.file-transfer-tool .stop-sharing{min-height:44px;padding:6px 0}.file-transfer-tool .file-availability{font-size:.67rem}.file-transfer-tool .file-meta{gap:4px 8px}.file-transfer-tool .transfer-row{gap:8px}.file-transfer-tool .transfer-row>button span{display:none}.file-transfer-tool .transfer-row>button{padding:8px}.file-transfer-tool .devices-details{padding-inline:16px}.file-transfer-tool .session-note{font-size:.7rem}}@container (width<=310px){.file-transfer-tool .invite-card{grid-template-columns:80px minmax(0,1fr);gap:10px;padding:12px}.file-transfer-tool .qr-preview canvas{width:80px;height:80px}.file-transfer-tool .room-pin{font-size:1.25rem}.file-transfer-tool .invite-actions{flex-direction:column;align-items:stretch}.file-transfer-tool .room-count{font-size:.7rem}}@media (prefers-color-scheme:dark){.file-transfer-tool{--ink:var(--tt-ink,#efeaf8);--muted:var(--tt-muted,#b5abc9);--paper:var(--tt-surface,#241e35);--accent:var(--tt-accent,#b39bf7);--line:var(--tt-line,#413752);--success:var(--tt-success,#84caae);--danger:var(--tt-danger,#f08e9d)}}@media (prefers-reduced-motion:reduce){.file-transfer-tool .spin{animation:none}.file-transfer-tool :is(button,.share-dropzone,.disclosure-arrow){transition:none}}
/*$vite$:1*/