:root{--primary: #00d4ff;--primary-dark: #00a8cc;--secondary: #7c3aed;--accent: #f59e0b;--bg-dark: #0a0a0a;--bg-darker: #000000;--bg-grid: #111111;--card-bg: rgba(17, 17, 17, .8);--card-border: rgba(0, 212, 255, .1);--text-primary: #ffffff;--text-secondary: #a0a0a0;--input-bg: rgba(0, 0, 0, .5);--success: #10b981;--warning: #f59e0b;--error: #ef4444;--glow-color: rgba(0, 212, 255, .3);--grid-color: rgba(0, 212, 255, .05);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-darker);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;font-size:16px;line-height:1.6;position:relative;overflow-x:hidden;overflow-y:auto;padding-top:2rem;padding-bottom:4rem}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:50px 50px;z-index:-1;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.app-container{width:100%;max-width:700px;padding:2rem;display:flex;flex-direction:column;gap:2rem;position:relative;z-index:1;min-height:auto;margin:0 auto}.header{text-align:center;margin-bottom:1rem}.header h1{font-size:3rem;font-weight:800;color:var(--primary);margin-bottom:.5rem;letter-spacing:-.02em;text-shadow:0 0 20px rgba(0,212,255,.5)}.header p{font-size:1.2rem;color:var(--text-secondary);font-weight:400}.glass-card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:1.5rem;padding:3rem;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d,inset 0 1px #00d4ff1a;display:flex;flex-direction:column;gap:2rem;position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:20px 20px;opacity:.3;pointer-events:none}.glass-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--glow-color) 0%,transparent 60%);opacity:.2;pointer-events:none;animation:rotateGlow 15s linear infinite}@keyframes rotateGlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--bg-darker);border:none;padding:1.25rem 2rem;border-radius:1rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 15px -3px #00d4ff4d,0 4px 6px -2px #00d4ff33;display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;position:relative;overflow:hidden;z-index:1}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #00d4ff80,0 10px 10px -5px #00d4ff4d;text-shadow:0 0 10px rgba(0,212,255,.5)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn:disabled:before{display:none}.btn-metamask{background:#6b7280;color:#fff;border:none;padding:1.25rem 2rem;border-radius:1rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 15px -3px #6b72804d,0 4px 6px -2px #6b728033;display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;position:relative;overflow:hidden;z-index:1}.btn-metamask:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-metamask:hover:before{left:100%}.btn-metamask:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #6b728080,0 10px 10px -5px #6b72804d;background:#4b5563}.btn-metamask:active{transform:translateY(0)}.btn-metamask:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-metamask:disabled:before{display:none}.file-preview-container{background:var(--input-bg);border:2px solid var(--card-border);border-radius:1rem;overflow:hidden;position:relative}.file-preview-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;position:relative}.file-info{display:flex;align-items:center;gap:1rem;flex:1}.file-thumbnail{width:60px;height:60px;border-radius:.5rem;overflow:hidden;background:#0000004d;display:flex;align-items:center;justify-content:center}.file-thumbnail img{width:100%;height:100%;object-fit:cover}.file-icon{width:60px;height:60px;background:#00d4ff1a;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:var(--primary)}.file-details{flex:1;min-width:0}.file-name{color:var(--text-primary);font-weight:600;font-size:.95rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--text-secondary);font-size:.85rem;margin:0}.delete-button{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error);border-radius:.5rem;padding:.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.delete-button:hover{background:#ef444433;border-color:#ef444480;transform:scale(1.05)}.delete-button:active{transform:scale(.95)}.file-upload-area{background:var(--input-bg);border:2px dashed var(--card-border);border-radius:1rem;padding:1.25rem;color:var(--text-primary);font-size:1rem;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit;cursor:pointer;position:relative;min-height:150px;display:flex;align-items:center;justify-content:center}.file-upload-area:hover{border-color:var(--primary);background:#000000b3}.file-upload-area.dragging{border-color:var(--primary);background:#00d4ff1a;box-shadow:0 0 0 3px #00d4ff33}.file-upload-area.dragging:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#00d4ff0d;border-radius:1rem;pointer-events:none}.form-group{display:flex;flex-direction:column;gap:.75rem;z-index:1}.form-group label{font-size:.95rem;font-weight:600;color:var(--text-primary);letter-spacing:.025em}.input,.file-input{background:var(--input-bg);border:2px solid var(--card-border);border-radius:1rem;padding:1.25rem;color:var(--text-primary);font-size:1rem;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit}.input:focus,.file-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00d4ff1a;background:#000000b3}.file-input{cursor:pointer;position:relative}.file-input::-webkit-file-upload-button{background:var(--primary);color:var(--bg-darker);border:none;padding:.75rem 1.5rem;border-radius:.75rem;cursor:pointer;margin-right:1rem;transition:all .3s ease;font-weight:700}.file-input::-webkit-file-upload-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.cost-estimate,.balance-info{background:#00000080;padding:1.5rem;border-radius:1rem;font-size:.95rem;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center;z-index:1;border:1px solid rgba(0,212,255,.1)}.cost-value{color:var(--primary);font-weight:700;font-size:1.2rem;text-shadow:0 0 10px rgba(0,212,255,.3)}.result-card{background:#00ff7f1a;border:1px solid rgba(0,255,127,.3);border-radius:1rem;padding:1.5rem;text-align:center;margin-bottom:1rem;display:flex;flex-direction:column;gap:1.5rem;z-index:1;box-shadow:0 10px 15px -3px #10b98133}.result-header{color:var(--success);font-weight:700;display:flex;align-items:center;gap:.75rem;font-size:1.1rem}.result-link{color:var(--primary);text-decoration:none;word-break:break-all;font-size:.9rem;background:#00000080;padding:1rem;border-radius:.75rem;display:inline-block;transition:all .3s ease;border:1px solid rgba(0,212,255,.2)}.result-link:hover{background:#000000b3;transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff33}.spinner{width:20px;height:20px;border:3px solid rgba(0,212,255,.3);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.logo{width:200px;height:auto;margin-bottom:1rem;filter:drop-shadow(0 0 20px rgba(0,212,255,.5))}@media(max-width:768px){.app-container{padding:1rem}.glass-card{padding:2rem}.header h1{font-size:2.5rem}.btn{padding:1rem 1.5rem;font-size:1rem}}.form-group:has(.file-input){position:relative}.form-group:has(.file-input):after{content:"";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem;opacity:.5;pointer-events:none}
