.upload-drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;padding:clamp(1rem,3vw,2.5rem);background:#0a101bd4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f5f4ef;pointer-events:auto;animation:upload-arrive .14s ease-out both}.upload-drop-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:100%;padding:2rem;border:2px dashed #78aafc;border-radius:24px;background:radial-gradient(ellipse at center,rgba(49,95,218,.2),transparent 70%);text-align:center}.upload-drop-icon{display:grid;place-items:center;width:104px;height:104px;margin-bottom:1rem;border:1px solid rgba(120,170,252,.45);border-radius:28px;background:#78aafc21;color:#a6c8ff;animation:upload-lift 1.2s ease-in-out infinite}.upload-drop-label{color:#a6c8ff;font-size:.7rem;font-weight:800;letter-spacing:.18em}.upload-drop-frame strong{font-size:clamp(1.6rem,4.5vw,4.5rem);line-height:1.2;letter-spacing:-.05em}.upload-drop-frame>p:not(.upload-drop-label),.upload-drop-frame small{max-width:32rem;color:#b6becd;line-height:1.6}.upload-drop-frame small{font-size:.75rem}.upload-drop-notice{position:fixed;bottom:1.5rem;left:50%;z-index:10001;display:flex;align-items:center;gap:1rem;width:-moz-max-content;width:max-content;max-width:calc(100vw - 2rem);padding:1rem 1.25rem;border:1px solid #596a86;border-radius:12px;background:#1d2738;color:#f5f4ef;box-shadow:0 16px 50px #00000059;transform:translate(-50%)}.upload-drop-notice>svg,.upload-drop-notice button{flex-shrink:0}.upload-drop-notice p{font-size:.85rem;line-height:1.6}.upload-drop-notice button{display:grid;place-items:center;width:32px;height:32px;border-radius:6px}.upload-drop-notice button:focus-visible{outline:2px solid #78aafc;outline-offset:3px}.upload-transfer-meter{margin-top:2rem}.upload-transfer-file{display:flex;align-items:center;gap:.65rem;margin-bottom:1.2rem;color:#b6becd;font-size:.85rem;word-break:break-word}.upload-transfer-file svg{flex-shrink:0;color:#78aafc}.upload-transfer-readout{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.upload-transfer-speed{display:grid;gap:.2rem;margin-bottom:1rem;text-align:right;font-variant-numeric:tabular-nums}.upload-transfer-speed strong{color:#a6c8ff;font-size:clamp(1.7rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em}.upload-transfer-speed span{color:#a7a9ae;font-size:.75rem}.upload-transfer-track{position:relative;height:10px;margin-top:1rem;overflow:hidden;border-radius:5px;background:#2d3441}.upload-transfer-meter progress{position:absolute;width:1px;height:1px}.upload-transfer-fill{position:relative;width:var(--upload-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#315fda,#78aafc,#b0d1ff);transition:width .16s cubic-bezier(.2,.8,.2,1)}.upload-transfer-track.is-moving .upload-transfer-fill:after{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(110deg,transparent 0 14px,rgba(255,255,255,.22) 14px 24px);background-size:48px 100%;content:"";animation:upload-flow .6s linear infinite}.upload-transfer-details{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:1rem;color:#a7a9ae;font-size:.78rem;font-variant-numeric:tabular-nums}.upload-transfer-details p{margin:0}.upload-transfer-stages{display:flex;flex-wrap:wrap;gap:1.25rem;margin:2rem 0;padding:0;list-style:none}.upload-transfer-stages li{display:flex;align-items:center;gap:.6rem;color:#747b89;font-size:.78rem}.upload-transfer-stages .is-current{color:#f5f4ef}.upload-transfer-stages .is-complete{color:#a6c8ff}.upload-stage-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.is-current .upload-stage-dot{box-shadow:0 0 0 4px #78aafc21;animation:upload-pulse 1s ease-in-out infinite}.upload-ready-label{display:flex;align-items:center;gap:.45rem;color:#a6c8ff!important}.creation-file{animation:upload-arrive .18s ease-out both}.upload-success-mark{display:grid;place-items:center;width:64px;height:64px;margin-bottom:2rem;border:1px solid rgba(120,170,252,.35);border-radius:50%;background:#78aafc26;color:#a6c8ff;animation:upload-success .24s cubic-bezier(.2,1.4,.4,1) both}@keyframes upload-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes upload-lift{50%{transform:translateY(-8px)}}@keyframes upload-flow{to{background-position:48px 0}}@keyframes upload-pulse{50%{opacity:.45}}@keyframes upload-success{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (max-width: 420px){.upload-drop-frame{padding:1rem}.upload-transfer-readout{gap:.5rem}.upload-transfer-stages{gap:.75rem}}@media (prefers-reduced-motion: reduce){.upload-drop-overlay,.upload-drop-icon,.upload-transfer-fill,.upload-transfer-fill:after,.upload-stage-dot,.creation-file,.upload-success-mark{animation:none!important;transition:none!important}}
