:root,:root[data-theme=light]{--color-bg: #f7f5f0;--color-bg-elevated: #ffffff;--color-bg-subtle: #efece6;--color-surface: #ffffff;--color-surface-hover: #faf9f6;--color-surface-translucent: rgba(255, 255, 255, .72);--color-border: #e6e1d8;--color-border-strong: #cfc7b8;--color-text: #14202c;--color-text-muted: #5d6873;--color-text-subtle: #8a949e;--color-primary: #14b35e;--color-primary-hover: #0a9b4f;--color-primary-active: #08843e;--color-primary-soft: rgba(20, 179, 94, .12);--color-primary-soft-strong: rgba(20, 179, 94, .22);--color-primary-contrast: #ffffff;--color-secondary: #5d6873;--color-secondary-hover: #3a444f;--color-danger: #e63946;--color-danger-soft: rgba(230, 57, 70, .12);--color-warning: #ff9d3a;--color-warning-soft: rgba(255, 157, 58, .16);--color-warning-text: #b95900;--color-success: #14b35e;--color-success-soft: rgba(20, 179, 94, .14);--color-info: #2e8eff;--color-info-soft: rgba(46, 142, 255, .12);--blob-1: #ff6a5b;--blob-2: #14b35e;--blob-3: #ffc944;--blob-4: #2e8eff;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 28px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--shadow-sm: 0 1px 2px rgba(20, 32, 44, .05), 0 1px 3px rgba(20, 32, 44, .06);--shadow-md: 0 6px 18px rgba(20, 32, 44, .08), 0 2px 6px rgba(20, 32, 44, .04);--shadow-lg: 0 14px 40px rgba(20, 32, 44, .12), 0 4px 12px rgba(20, 32, 44, .06);--shadow-xl: 0 28px 64px rgba(20, 32, 44, .18), 0 8px 24px rgba(20, 32, 44, .1);--shadow-glow: 0 0 0 4px var(--color-primary-soft-strong);--font-sans: "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-display: "Helvetica Neue", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--header-height: 64px;--max-content-width: 640px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--dur-1: .12s;--dur-2: .22s;--dur-3: .38s;--dur-4: .56s;--dur-5: .8s;--transition: .22s var(--ease-smooth)}:root[data-theme=dark]{--color-bg: #0c1016;--color-bg-elevated: #161b24;--color-bg-subtle: #1d2530;--color-surface: #181d27;--color-surface-hover: #232838;--color-surface-translucent: rgba(24, 29, 39, .7);--color-border: #2a3240;--color-border-strong: #3e4759;--color-text: #f3f4f6;--color-text-muted: #b0b8c2;--color-text-subtle: #7a838e;--color-primary: #28d576;--color-primary-hover: #4ed98d;--color-primary-active: #21c470;--color-primary-soft: rgba(40, 213, 118, .16);--color-primary-soft-strong: rgba(40, 213, 118, .28);--color-primary-contrast: #0a0e13;--color-secondary: #b0b8c2;--color-secondary-hover: #d4dce5;--color-danger: #ff6b78;--color-danger-soft: rgba(255, 107, 120, .18);--color-warning: #ffb866;--color-warning-soft: rgba(255, 184, 102, .18);--color-warning-text: #ffd29c;--color-success: #4ed98d;--color-success-soft: rgba(78, 217, 141, .18);--color-info: #69b4ff;--color-info-soft: rgba(105, 180, 255, .18);--blob-1: #ff6a5b;--blob-2: #28d576;--blob-3: #ffc944;--blob-4: #2e8eff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 6px 18px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 14px 40px rgba(0, 0, 0, .62), 0 4px 12px rgba(0, 0, 0, .45);--shadow-xl: 0 28px 64px rgba(0, 0, 0, .75), 0 8px 24px rgba(0, 0, 0, .55);--shadow-glow: 0 0 0 4px var(--color-primary-soft-strong)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;font-weight:400;letter-spacing:-.001em;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--dur-3) var(--ease-smooth),color var(--dur-2) var(--ease-smooth);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-.025em;color:var(--color-text)}h1{font-size:clamp(2.4rem,8vw,3.6rem);font-weight:800}h2{font-size:clamp(1.7rem,5vw,2.2rem)}h3{font-size:1.15rem}h4{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em}p{color:var(--color-text-muted)}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}input,textarea{font-family:inherit;font-size:inherit}svg{display:block}a{color:inherit;text-decoration:none}::selection{background:var(--color-primary);color:var(--color-primary-contrast)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bg-mesh{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--color-bg)}.bg-mesh__blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;mix-blend-mode:screen;will-change:transform}:root[data-theme=dark] .bg-mesh__blob{opacity:.4;mix-blend-mode:screen}.bg-mesh__blob:nth-child(1){background:var(--blob-1);width:48vmax;height:48vmax;top:-16vmax;left:-10vmax;animation:blob-drift-1 24s var(--ease-in-out) infinite}.bg-mesh__blob:nth-child(2){background:var(--blob-2);width:38vmax;height:38vmax;top:30vh;right:-14vmax;animation:blob-drift-2 28s var(--ease-in-out) infinite}.bg-mesh__blob:nth-child(3){background:var(--blob-3);width:32vmax;height:32vmax;bottom:-12vmax;left:20vw;animation:blob-drift-3 32s var(--ease-in-out) infinite}.bg-mesh__blob:nth-child(4){background:var(--blob-4);width:28vmax;height:28vmax;top:45vh;left:-8vmax;animation:blob-drift-4 36s var(--ease-in-out) infinite}@keyframes blob-drift-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,28px) scale(1.08)}66%{transform:translate(-20px,60px) scale(.95)}}@keyframes blob-drift-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-60px,30px) scale(1.1)}}@keyframes blob-drift-3{0%,to{transform:translate(0) scale(1)}40%{transform:translate(50px,-50px) scale(1.05)}80%{transform:translate(-40px,20px) scale(.92)}}@keyframes blob-drift-4{0%,to{transform:translate(0) scale(1)}50%{transform:translate(80px,-50px) scale(1.12)}}#app{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-5);background:var(--color-surface-translucent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--color-border);animation:header-drop var(--dur-4) var(--ease-out) both}@keyframes header-drop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.header-left{display:flex;align-items:center;gap:var(--space-5);min-width:0}.logo{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.03em;color:var(--color-text);white-space:nowrap;transition:transform var(--dur-2) var(--ease-spring)}.logo:hover{transform:translateY(-1px) scale(1.02)}.logo:active{transform:translateY(0) scale(.98)}.logo svg{width:26px;height:26px;color:var(--color-primary);filter:drop-shadow(0 2px 8px var(--color-primary-soft-strong));flex-shrink:0;animation:logo-pulse 3s var(--ease-in-out) infinite}@keyframes logo-pulse{0%,to{filter:drop-shadow(0 2px 8px var(--color-primary-soft-strong))}50%{filter:drop-shadow(0 2px 16px var(--color-primary))}}.tabs{display:inline-flex;gap:2px;background:var(--color-bg-subtle);padding:5px;border-radius:var(--radius-full);border:1px solid var(--color-border)}.tabs button{appearance:none;padding:7px var(--space-4);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;color:var(--color-text-muted);position:relative;transition:color var(--transition),transform var(--dur-2) var(--ease-spring);min-height:36px;letter-spacing:-.01em}.tabs button:hover{transform:translateY(-1px)}.tabs button[aria-selected=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);animation:tab-pop var(--dur-3) var(--ease-spring) both}@keyframes tab-pop{0%{transform:scale(.9)}60%{transform:scale(1.05)}to{transform:scale(1)}}.tabs button:not([aria-selected=true]):hover{color:var(--color-text)}.header-right{display:flex;align-items:center;flex-shrink:0}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-full);background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text-muted);min-width:44px;min-height:44px;transition:background var(--transition),color var(--transition),transform var(--dur-2) var(--ease-spring),box-shadow var(--transition)}.theme-toggle:hover{background:var(--color-surface-hover);color:var(--color-text);transform:rotate(15deg)}.theme-toggle:active{transform:rotate(15deg) scale(.93)}.theme-toggle svg{width:20px;height:20px;transition:transform var(--dur-3) var(--ease-spring)}.theme-toggle:hover svg{transform:scale(1.1)}.app-main{flex:1;width:100%;max-width:var(--max-content-width);margin:0 auto;padding:var(--space-6) var(--space-4);padding-block:var(--space-8);position:relative}.page{display:flex;flex-direction:column;gap:var(--space-8);animation:page-rise var(--dur-5) var(--ease-out) both}@keyframes page-rise{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.page-header{text-align:center;padding-block:var(--space-2) var(--space-2);animation:fade-up var(--dur-4) var(--ease-out) both;animation-delay:80ms}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page-header h1{margin-bottom:var(--space-3);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-primary) 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.page-subtitle{color:var(--color-text-muted);font-size:1.05rem;max-width:38ch;margin-inline:auto;font-weight:400;letter-spacing:-.01em}.page-content{display:flex;flex-direction:column;gap:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px var(--space-6);border-radius:var(--radius-md);font-weight:700;font-size:1rem;min-height:52px;border:1px solid transparent;letter-spacing:-.01em;position:relative;overflow:hidden;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--dur-2) var(--ease-spring),box-shadow var(--transition);white-space:nowrap;user-select:none;isolation:isolate}.btn:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.18) 0%,transparent 60%);opacity:0;transition:opacity var(--dur-2) var(--ease-out);z-index:-1}.btn:hover:after{opacity:1}.btn:active{transform:translateY(1px) scale(.98)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn:disabled:after{opacity:0}.btn svg{width:20px;height:20px;flex-shrink:0}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-md),0 0 0 0 var(--color-primary-soft-strong)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-lg),0 0 0 6px var(--color-primary-soft);transform:translateY(-2px)}.btn-primary:active:not(:disabled){background:var(--color-primary-active);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text)}.file-drop-zone{display:flex;flex-direction:column;gap:var(--space-4)}.drop-area{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16) var(--space-6);background:var(--color-surface);border:2px dashed var(--color-border-strong);border-radius:var(--radius-xl);cursor:pointer;text-align:center;box-shadow:var(--shadow-md);transition:border-color var(--dur-3) var(--ease-smooth),background var(--dur-3) var(--ease-smooth),transform var(--dur-3) var(--ease-spring),box-shadow var(--dur-3) var(--ease-smooth);min-height:260px;overflow:hidden}.drop-area:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,var(--color-primary-soft) 0%,transparent 55%);opacity:0;transition:opacity var(--dur-3) var(--ease-out);pointer-events:none}.drop-area:hover,.drop-area:focus-visible{border-color:var(--color-primary);transform:translateY(-3px);box-shadow:var(--shadow-lg);outline:none}.drop-area:hover:before,.drop-area:focus-visible:before{opacity:1}.drop-area.drag-over{border-color:var(--color-primary);background:var(--color-primary-soft);transform:scale(1.02);box-shadow:var(--shadow-xl),var(--shadow-glow);animation:drop-pulse 1.4s var(--ease-in-out) infinite}@keyframes drop-pulse{0%,to{box-shadow:var(--shadow-xl),0 0 0 4px var(--color-primary-soft-strong)}50%{box-shadow:var(--shadow-xl),0 0 0 12px var(--color-primary-soft)}}.drop-icon{width:56px;height:56px;color:var(--color-primary);flex-shrink:0;transition:transform var(--dur-4) var(--ease-spring),color var(--transition);animation:float 4s var(--ease-in-out) infinite}.drop-area:hover .drop-icon{transform:translateY(-6px) scale(1.1)}.drop-area.drag-over .drop-icon{animation:drop-bounce .6s var(--ease-spring)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes drop-bounce{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-18px) scale(1.2)}70%{transform:translateY(8px) scale(.92)}to{transform:translateY(0) scale(1)}}.drop-text{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--color-text);letter-spacing:-.02em}.drop-hint{font-size:.92rem;color:var(--color-text-subtle);font-weight:500}.file-list{display:flex;flex-direction:column;gap:var(--space-2)}.file-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);animation:file-pop var(--dur-4) var(--ease-spring) both;animation-delay:calc(var(--i, 0) * 60ms);transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--transition),border-color var(--transition)}.file-item:hover{transform:translate(2px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}@keyframes file-pop{0%{opacity:0;transform:translateY(-12px) scale(.94)}60%{opacity:1;transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.file-info{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.file-icon{width:32px;height:32px;color:var(--color-primary);flex-shrink:0}.file-details{display:flex;flex-direction:column;gap:2px;min-width:0}.file-name{font-size:.95rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;letter-spacing:-.01em}.file-size{font-size:.8rem;color:var(--color-text-subtle);font-variant-numeric:tabular-nums;font-weight:500}.file-remove{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:1.5rem;line-height:1;color:var(--color-text-subtle);flex-shrink:0;transition:background var(--transition),color var(--transition),transform var(--dur-2) var(--ease-spring)}.file-remove:hover{background:var(--color-danger-soft);color:var(--color-danger);transform:rotate(90deg)}.magnet-display-container,.progress-container,.peer-stats-container{display:flex;flex-direction:column;gap:var(--space-4);animation:fade-up var(--dur-4) var(--ease-out) both}.magnet-display-container{animation-delay:.1s}.progress-container{animation-delay:.18s}.peer-stats-container{animation-delay:.24s}.magnet-display{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.magnet-display:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--blob-3) 50%,var(--blob-1) 100%);opacity:.85}.magnet-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.magnet-header h3{font-size:1.05rem;font-weight:700}.magnet-actions{display:flex;gap:var(--space-2)}.magnet-link-container{display:flex}.magnet-link{width:100%;resize:none;font-family:var(--font-mono);font-size:.78rem;line-height:1.6;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:96px;max-height:200px;word-break:break-all;overflow-y:auto;font-weight:500;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.magnet-link:hover{border-color:var(--color-border-strong);background:var(--color-surface)}.magnet-link:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.qr-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5);background:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border);animation:qr-pop var(--dur-5) var(--ease-spring) both;animation-delay:.2s}@keyframes qr-pop{0%{opacity:0;transform:scale(.6) rotate(-8deg)}60%{opacity:1;transform:scale(1.05) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}.qr-section h4{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.qr-code-wrapper{padding:var(--space-3);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);line-height:0;position:relative}.qr-code-wrapper:after{content:"";position:absolute;inset:0;border-radius:var(--radius-md);box-shadow:0 0 0 1px #0000000a,0 0 0 0 var(--color-primary-soft-strong);pointer-events:none;animation:qr-glow 2.4s var(--ease-in-out) infinite}@keyframes qr-glow{0%,to{box-shadow:0 0 0 1px #0000000a,0 0 0 0 var(--color-primary-soft-strong)}50%{box-shadow:0 0 0 1px #0000000a,0 0 0 12px var(--color-primary-soft)}}.qr-code{display:block;width:256px;height:256px;max-width:100%;height:auto;aspect-ratio:1 / 1;image-rendering:pixelated}.qr-hint{font-size:.8rem;color:var(--color-text-subtle);text-align:center;font-weight:500}.file-summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border)}.file-summary svg{width:28px;height:28px;color:var(--color-primary);flex-shrink:0}.file-summary-info{display:flex;flex-direction:column;gap:2px;min-width:0}.file-summary-name{font-weight:700;font-size:.95rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.file-summary-size{font-size:.8rem;color:var(--color-text-subtle);font-variant-numeric:tabular-nums;font-weight:500}.warning-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-warning-soft);border:1px solid color-mix(in srgb,var(--color-warning) 28%,transparent);border-radius:var(--radius-md);color:var(--color-warning-text);font-size:.88rem;line-height:1.5;animation:fade-up var(--dur-4) var(--ease-out) both;font-weight:500}.warning-banner svg{width:22px;height:22px;color:var(--color-warning);flex-shrink:0;margin-top:1px}.transfer-progress{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-4)}.progress-header{display:flex;align-items:center;justify-content:space-between;font-size:.95rem;font-weight:600;letter-spacing:-.01em}.progress-label{color:var(--color-text-muted);text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;font-weight:700}.progress-percent{color:var(--color-text);font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums;font-size:1.05rem;letter-spacing:-.02em}.progress-bar{position:relative;width:100%;height:12px;background:var(--color-bg-subtle);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--color-border)}.progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-hover) 50%,var(--color-primary) 100%);background-size:200% 100%;border-radius:var(--radius-full);transition:width .4s var(--ease-out);min-width:0;animation:progress-shimmer 1.8s linear infinite;box-shadow:0 0 8px var(--color-primary-soft-strong)}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:0 0}}.progress-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-1)}.progress-stats .stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:.72rem;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.stat-value{font-size:1.02rem;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.peer-stats{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-3)}.peer-stats h4{font-size:.78rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.stat-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border);min-width:0;transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--transition),border-color var(--transition)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.stat-card .stat-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);flex-shrink:0}.stat-card .stat-icon svg{width:20px;height:20px}.stat-card .stat-info{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-card .stat-value{font-size:.98rem;font-weight:800;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.stat-card .stat-label{font-size:.68rem;letter-spacing:.02em}.receiver-container{display:flex;flex-direction:column}.receiver-view>div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);box-shadow:var(--shadow-lg);position:relative;overflow:hidden;animation:receiver-rise var(--dur-5) var(--ease-out) both}.receiver-view>div:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--blob-4) 0%,var(--color-primary) 50%,var(--blob-3) 100%);opacity:.85}@keyframes receiver-rise{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.receiver-complete .complete-icon,.receiver-error .error-icon,.receiver-waiting .waiting-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-full);position:relative;animation:icon-pop var(--dur-4) var(--ease-spring) both;animation-delay:.12s}@keyframes icon-pop{0%{transform:scale(0)}60%{transform:scale(1.18)}to{transform:scale(1)}}.receiver-complete .complete-icon{background:var(--color-success-soft);color:var(--color-success)}.receiver-complete .complete-icon:after{content:"";position:absolute;inset:-6px;border-radius:var(--radius-full);border:2px solid var(--color-success);opacity:0;animation:ring-pulse 1.4s var(--ease-out) infinite;animation-delay:.32s}@keyframes ring-pulse{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}.receiver-error .error-icon{background:var(--color-danger-soft);color:var(--color-danger)}.receiver-waiting .waiting-icon{background:var(--color-info-soft);color:var(--color-info);animation:icon-pop var(--dur-4) var(--ease-spring) both,pulse 1.8s ease-in-out infinite;animation-delay:.12s,.48s}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.92)}}.receiver-complete .complete-icon svg,.receiver-error .error-icon svg,.receiver-waiting .waiting-icon svg{width:36px;height:36px}.receiver-view h3{font-family:var(--font-display);font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.receiver-view .file-info{display:flex;flex-direction:column;gap:3px;align-items:center}.receiver-view .file-name{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--color-text);max-width:280px;letter-spacing:-.01em}.receiver-view .file-size{font-size:.88rem;color:var(--color-text-subtle);font-variant-numeric:tabular-nums;font-weight:600}.complete-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.receiver-downloading{width:100%;align-items:stretch!important;text-align:left!important}.file-header{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.file-header .file-icon{width:44px;height:44px;color:var(--color-primary);flex-shrink:0;animation:float 4s var(--ease-in-out) infinite}.progress-section{display:flex;flex-direction:column;gap:var(--space-3);margin-block:var(--space-3) var(--space-4)}.streaming-notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-info-soft);border-radius:var(--radius-md);color:var(--color-info);font-size:.85rem;text-align:left;font-weight:500;border:1px solid color-mix(in srgb,var(--color-info) 22%,transparent)}.streaming-notice svg{width:20px;height:20px;flex-shrink:0}.receiver-error p{color:var(--color-text-muted);max-width:34ch}.receive-input{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:fade-up var(--dur-4) var(--ease-out) both;animation-delay:.1s}.input-group{display:flex;gap:var(--space-2);align-items:stretch}.magnet-input{flex:1;min-width:0;padding:var(--space-4) var(--space-5);background:var(--color-bg-subtle);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.88rem;color:var(--color-text);min-height:52px;font-weight:500;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.magnet-input:hover{border-color:var(--color-secondary)}.magnet-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px var(--color-primary-soft)}.input-hint{font-size:.85rem;color:var(--color-text-subtle);text-align:center;font-weight:500}.toast-container{position:fixed;top:calc(var(--header-height) + var(--space-4));right:var(--space-4);left:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:var(--max-content-width);margin-inline:auto}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);font-size:.92rem;font-weight:500;color:var(--color-text);opacity:0;transform:translate(20px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-spring);max-width:100%;word-break:break-word}.toast.show{opacity:1;transform:translate(0)}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-warning{border-left-color:var(--color-warning)}.toast-info{border-left-color:var(--color-info)}.toast-content{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.toast-message{flex:1;min-width:0}.toast-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:1.3rem;line-height:1;color:var(--color-text-subtle);flex-shrink:0;font-weight:400;transition:background var(--transition),color var(--transition)}.toast-close:hover{background:var(--color-bg-subtle);color:var(--color-text)}.result-view,.receiver-section{display:flex;flex-direction:column;gap:var(--space-4)}.send-view{display:flex;flex-direction:column}.splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);background:var(--color-bg);transition:opacity var(--dur-3) var(--ease-out),visibility var(--dur-3)}.splash.is-hidden{opacity:0;visibility:hidden}.splash__mark{width:64px;height:64px;color:var(--color-primary);animation:splash-spin 1.4s var(--ease-in-out) infinite}@keyframes splash-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splash__text{font-family:var(--font-display);font-weight:800;font-size:1.2rem;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-primary) 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:splash-fade 1.4s var(--ease-in-out) infinite alternate}@keyframes splash-fade{0%{opacity:.5}to{opacity:1}}@media (min-width: 480px){.app-main{padding:var(--space-8) var(--space-6)}.page-header h1{font-size:clamp(2.8rem,9vw,3.8rem)}.progress-stats{grid-template-columns:repeat(4,1fr)}}@media (min-width: 640px){:root{--max-content-width: 760px}.app-main{padding-block:var(--space-10)}.page-header h1{font-size:clamp(3.2rem,10vw,4.2rem)}.magnet-header{flex-wrap:nowrap}.stats-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.toast-container{left:auto;right:var(--space-6);max-width:400px}.drop-area{min-height:320px}}@media (min-width: 1024px){:root{--max-content-width: 920px}}@media (max-width: 479px){.magnet-actions{width:100%}.magnet-actions .btn{flex:1;min-height:48px}.input-group{flex-direction:column}.input-group .btn,.complete-actions{width:100%}.complete-actions .btn{flex:1}.page-header h1{font-size:clamp(2.4rem,12vw,3rem)}.app-header{padding:0 var(--space-4)}.header-left{gap:var(--space-3)}.tabs button{padding:6px var(--space-3)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bg-mesh__blob{animation:none!important}}@media (prefers-contrast: high){:root{--color-border: currentColor;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none}}
