:root{color:#101828;font-synthesis:none;--background:#07111f;--surface:#fff;--surface-subtle:#f4f7fb;--foreground:#101828;--muted-foreground:#667085;--border:#dce3ed;--primary:#3157d5;--primary-hover:#2547bd;--primary-soft:#edf2ff;--destructive:#b42318;--destructive-soft:#fef3f2;--success:#087a5b;--success-soft:#ecfdf5;background:#07111f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{background:radial-gradient(circle at 50% -16%, #425faa38, transparent 42%), var(--background);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,label:focus-within{outline-offset:3px;outline:3px solid #5d80ef57}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px}.app-shell{min-height:100vh;padding-bottom:72px}.app-header{align-items:center;width:min(100% - 48px,1040px);height:92px;margin:0 auto;display:flex}.header-inner{justify-content:space-between;align-items:center;width:100%;display:flex}.brand{color:#fff;letter-spacing:-.025em;font-size:19px;font-weight:750;text-decoration:none}.trust-mark{color:#dbe6f7;letter-spacing:-.01em;background:#ffffff12;border:1px solid #ffffff21;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.trust-mark svg{color:#8fb5ff;width:15px;height:15px}.workspace{background:var(--surface);border-radius:16px;width:min(100% - 48px,760px);margin:0 auto;padding:56px 56px 52px;box-shadow:0 32px 80px #00000047,0 8px 24px #0000001f}.intro{margin-bottom:30px}.intro h1,.unsupported h1{color:var(--foreground);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:36px;font-weight:760;line-height:1.18}.intro p,.unsupported p{color:var(--muted-foreground);letter-spacing:-.015em;text-wrap:pretty;word-break:keep-all;margin:11px 0 0;font-size:15px;line-height:1.6}.drop-zone{background:var(--surface-subtle);min-height:224px;color:var(--foreground);cursor:pointer;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:32px;transition:background-color .18s,box-shadow .18s,transform .18s;display:flex}.drop-zone:hover{background:#f0f4fb;box-shadow:0 6px 8px #1f37660f}.drop-zone.is-dragging{background:var(--primary-soft);transform:translateY(-2px);box-shadow:0 6px 8px #3157d524}.drop-zone input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.upload-icon{background:var(--primary);color:#fff;border-radius:14px;place-items:center;width:52px;height:52px;margin-bottom:18px;display:grid;box-shadow:0 8px 20px #3157d540}.upload-icon svg{width:23px;height:23px}.drop-zone strong{letter-spacing:-.015em;font-size:16px;font-weight:700}.drop-zone>span:last-child{color:var(--muted-foreground);margin-top:7px;font-size:13px}.drop-zone[data-compact=true]{border-radius:11px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:56px;padding:8px 12px;animation:.22s cubic-bezier(.16,1,.3,1) file-rail-enter}.drop-zone[data-compact=true]:hover{box-shadow:none}.compact-upload-icon{background:var(--primary);color:#fff;border-radius:9px;flex:none;place-items:center;width:40px;height:40px;transition:transform .15s;display:grid}.drop-zone[data-compact=true]:hover .compact-upload-icon{transform:scale(1.04)}.compact-upload-icon svg{width:20px;height:20px}.drop-zone[data-compact=true]>strong{font-size:14px}.drop-zone[data-compact=true]>.file-summary{min-width:0;color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0 0 0 auto;font-size:13px;font-weight:600;overflow:hidden}.connection{margin-top:32px}.connection h2,.files h2{letter-spacing:-.025em;margin:0;font-size:17px;font-weight:720}.mode-toggle{background:#e9eef5;border-radius:11px;grid-template-columns:1fr 1fr;width:100%;margin-top:18px;padding:4px;display:grid;box-shadow:inset 0 1px 2px #1018280f}.mode-toggle button{min-height:40px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:13px;font-weight:650;transition:background-color .18s,color .18s,box-shadow .18s}.mode-toggle button:hover:not([aria-pressed=true]){color:var(--foreground)}.mode-toggle button[aria-pressed=true]{background:var(--surface);color:var(--foreground);box-shadow:0 1px 3px #10182824,0 1px 1px #1018280d}.connection-panel{width:100%;margin-top:18px}.field-label{min-height:20px;color:var(--muted-foreground);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.code-button{background:var(--primary-soft);width:100%;min-height:64px;color:var(--foreground);cursor:pointer;border:1px solid #cdd8ef;border-radius:11px;justify-content:center;align-items:center;padding:0 18px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:flex;position:relative}.code-button:hover{background:#e7edff;border-color:#9eb2e2;box-shadow:0 6px 18px #3157d51a}.code-button>span:first-child{font-variant-numeric:tabular-nums;letter-spacing:.1em;font-size:24px;font-weight:720}.copy-label{color:var(--primary);font-size:13px;font-weight:700;position:absolute;right:18px}.input-row{background:var(--primary-soft);border:1px solid #cdd8ef;border-radius:11px;gap:6px;min-height:64px;padding:4px;transition:border-color .18s,box-shadow .18s;display:flex}.input-row:hover{border-color:#9eb2e2}.input-row:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #3157d517}.input-row input{width:100%;min-width:0;height:54px;color:var(--foreground);font-variant-numeric:tabular-nums;letter-spacing:.1em;text-align:center;background:0 0;border:0;border-radius:8px;outline:0;padding:0 12px;font-size:24px;font-weight:720}.input-row input::placeholder{color:#98a2b3;letter-spacing:0;font-size:15px;font-weight:500}.input-row .primary-button{border-radius:8px;min-height:54px}.primary-button,.download-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:10px;min-width:88px;min-height:48px;padding:0 18px;font-size:14px;font-weight:700;transition:background-color .16s,box-shadow .16s,transform .16s;box-shadow:0 6px 14px #3157d533}.primary-button:hover:not(:disabled),.download-button:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 8px 18px #2547bd42}.primary-button:active:not(:disabled),.download-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled,.download-button:disabled{box-shadow:none;cursor:not-allowed;background:#98a2b3}.connection-state{background:var(--surface-subtle);min-height:76px;color:var(--foreground);border-radius:11px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;display:flex;position:relative}.connection-state.is-connected{background:var(--success-soft);color:var(--success)}.connection-state.is-error{background:var(--destructive-soft);color:var(--destructive)}.connection-state-main{align-items:center;gap:14px;min-width:0;display:flex}.state-icon{background:#e5ebf3;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.is-connected .state-icon{background:#d1fae5}.is-error .state-icon{background:#fee4e2}.connection-state strong{color:currentColor;white-space:nowrap;font-size:14px}.route-indicator{flex:none}.route-indicator summary{cursor:pointer;border-radius:50%;place-items:center;width:28px;height:28px;list-style:none;transition:background-color .15s,transform .1s;display:grid;position:relative}.route-indicator summary::-webkit-details-marker{display:none}.route-indicator summary:before{content:"";position:absolute;inset:-8px}.route-indicator[data-route=direct] summary{color:#3157d5;background:#dce8ff}.route-indicator[data-route=relay] summary{color:#a85608;background:#fff0d5}.route-indicator summary:hover{transform:scale(1.05)}.route-indicator summary:focus-visible{outline-offset:2px;outline:3px solid #5d80ef57}.route-indicator svg{stroke-width:1.9px;width:17px;height:17px}.route-explanation{z-index:20;color:#fff;background:#152238;border-radius:9px;width:max-content;max-width:calc(100% - 80px);padding:10px 12px;font-size:12px;font-weight:550;line-height:1.5;position:absolute;bottom:calc(100% - 4px);left:64px;box-shadow:0 6px 8px #07111f2e}.new-connection-button{color:currentColor;min-width:68px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:0 10px;font-size:13px;font-weight:700;transition:background-color .15s,transform .1s}.new-connection-button:hover:not(:disabled){background:#ffffff94}.new-connection-button:active:not(:disabled){transform:translateY(1px)}.new-connection-button:disabled{cursor:wait;opacity:.55}.spinner{animation:.9s linear infinite spin}.notice{background:var(--destructive-soft);min-height:50px;color:var(--destructive);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:12px 15px;font-size:13px;display:flex}.notice button,.text-button{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:13px;font-weight:650}.files{animation:.24s cubic-bezier(.16,1,.3,1) file-list-enter}.file-list{background:var(--surface);margin-top:16px}.file-row{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px 12px;min-height:56px;padding:4px 12px;display:grid}.file-row>svg{color:var(--muted-foreground)}.file-main{min-width:0}.file-main strong,.file-main>span{display:block}.file-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;line-height:20px;overflow:hidden}.file-main>span{color:var(--muted-foreground);margin-top:2px;font-size:12px;line-height:16px}.transfer-progress{grid-column:2/-1;min-width:0}.progress-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:550;line-height:16px;display:flex}.progress{background:var(--border);border-radius:4px;height:4px;margin-top:5px;overflow:hidden}.progress span{background:var(--primary);transform-origin:0;width:100%;height:100%;transition:transform .18s;display:block}.file-action{align-items:center;display:flex}.text-button{color:var(--muted-foreground)}.text-button:hover{color:var(--destructive)}.download-button{min-width:88px;min-height:44px;padding:0 12px;font-size:13px}.unsupported{background:var(--surface);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.unsupported>div{width:min(100%,520px)}.unsupported .brand{color:var(--foreground)}.unsupported h1{margin-top:48px;font-size:28px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes file-rail-enter{0%{opacity:.65;transform:scale(.985)}}@keyframes file-list-enter{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.app-shell{padding-bottom:28px}.app-header{width:min(100% - 32px,760px);height:72px}.trust-mark{min-height:30px;padding:0 9px;font-size:11px}.trust-encryption{display:none}.workspace{border-radius:14px;width:min(100% - 24px,760px);padding:34px 24px 32px}.intro{margin-bottom:24px}.intro h1{font-size:30px}.intro p{font-size:14px}.drop-zone{min-height:190px;padding:24px}.upload-icon{width:48px;height:48px;margin-bottom:15px}.connection{margin-top:32px}.input-row{align-items:stretch}.primary-button{min-width:78px;padding:0 14px}.code-button>span:first-child,.input-row input{font-size:21px}.files{margin-top:0}.file-row{grid-template-columns:24px minmax(0,1fr) auto;gap:6px 12px}.download-button{min-width:76px;padding:0 12px}}@media (width<=390px){.workspace{padding-inline:20px}.connection-state{gap:8px;padding-inline:12px}.connection-state-main{gap:10px}.new-connection-button{min-width:64px;padding-inline:8px}}
