@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--color-bg:#0a0a0c;--color-bg-secondary:#141418b3;--color-accent:#8b5cf6;--color-accent-hover:#7c3aed;--color-accent-glow:#8b5cf666;--color-text:#fff;--color-text-muted:#a1a1aa;--color-border:#8b5cf633;--color-error:#ef4444;--color-success:#10b981}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);background-image:radial-gradient(circle at 15%,#8b5cf614,#0000 25%),radial-gradient(circle at 85% 30%,#8b5cf614,#0000 25%);flex-direction:column;min-height:100vh;font-family:Outfit,sans-serif;display:flex;overflow-x:hidden}#root{flex:1;width:100%;display:flex}.app-container{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:2rem;display:flex}.glass-panel{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:24px;width:100%;max-width:500px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006,inset 0 0 0 1px #ffffff0d}.glass-panel:before{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);width:100%;height:2px;animation:3s ease-in-out infinite scanning;position:absolute;top:0;left:-100%}@keyframes scanning{0%{left:-100%}to{left:100%}}.header{text-align:center;margin-bottom:2.5rem}.header h1{background:linear-gradient(135deg, #fff 0%, var(--color-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;display:inline-flex}.header p{color:var(--color-text-muted);font-size:1rem}.file-drop-area{border:2px dashed var(--color-border);text-align:center;cursor:pointer;background:#8b5cf605;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:3rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.file-drop-area:hover,.file-drop-area.drag-active{border-color:var(--color-accent);box-shadow:0 8px 24px var(--color-accent-glow);background:#8b5cf60d;transform:translateY(-2px)}.file-icon{color:var(--color-accent);transition:transform .3s}.file-drop-area:hover .file-icon{transform:scale(1.1)translateY(-4px)}.file-info{flex-direction:column;gap:.25rem;display:flex}.file-name{color:var(--color-text);word-break:break-all;font-weight:600}.file-size{color:var(--color-text-muted);font-size:.85rem}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.input-group label{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.password-input{border:1px solid var(--color-border);color:#fff;background:#0000004d;border-radius:12px;outline:none;width:100%;padding:1rem 1.2rem;font-family:inherit;font-size:1rem;transition:all .2s}.password-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.btn:after{content:"";background:#fff3;width:20%;height:200%;transition:all .5s;position:absolute;top:-50%;left:-60%;transform:rotate(30deg)}.btn:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:0 6px 20px var(--color-accent-glow);transform:translateY(-2px)}.btn:hover:not(:disabled):after{left:120%}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{color:#71717a;cursor:not-allowed;background:#3f3f46}.alert{border-radius:12px;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;animation:.3s ease-out fadeIn;display:flex}.alert-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d}.alert-success{color:#6ee7b7;background:#10b9811a;border:1px solid #10b9814d}.loader{border:3px solid #ffffff1a;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
