@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary:#793966;--primary-hover:#5a294b;--bg-color:#f0ece8;--surface:#fff;--surface-border:#37536b33;--text:#37536b;--text-muted:#37536bb3;--success:#793966;--danger:#ef4444;--radius:16px;--font-family:"Gondola SD", "Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text);background-image:radial-gradient(circle at 15%,#7939660d,#0000 25%),radial-gradient(circle at 85% 30%,#37536b0d,#0000 25%);justify-content:center;min-height:100vh;padding-top:4rem;padding-bottom:4rem;line-height:1.5;display:flex}button{cursor:pointer;font-family:inherit}a{text-decoration:none}.app-container{width:100%;max-width:800px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:3rem}.logo-container{justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.brand-logo{object-fit:contain;width:auto;height:120px}.header h1{color:var(--text);margin-bottom:.5rem;font-family:Gondola SD,serif;font-size:3rem;font-weight:400}.header p{color:var(--text-muted);font-size:1.1rem}.main-content{margin-bottom:3rem}.dropzone{background:var(--surface);border:2px dashed var(--surface-border);border-radius:var(--radius);text-align:center;cursor:pointer;padding:4rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #37536b1a,0 2px 4px -1px #37536b0f}.dropzone:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(to bottom right,#7939660d,#0000);transition:opacity .3s;position:absolute;inset:0}.dropzone:hover,.dropzone.dragging{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 20px 25px -5px #37536b1a,0 10px 10px -5px #37536b0a}.dropzone:hover:before,.dropzone.dragging:before{opacity:1}.dropzone.success{border-color:var(--success);cursor:default;border-style:solid}.dropzone.success:hover{transform:none;box-shadow:0 4px 6px -1px #37536b1a}.hidden-input{display:none}.upload-state,.processing-state,.success-state{z-index:1;flex-direction:column;align-items:center;gap:1rem;display:flex;position:relative}.upload-icon{color:var(--primary);margin-bottom:.5rem;transition:transform .3s}.dropzone:hover .upload-icon{transform:scale(1.1)translateY(-5px)}.dropzone h3{color:var(--text);margin-bottom:.25rem;font-family:Gondola SD,serif;font-size:2rem;font-weight:400}.dropzone p{color:var(--text-muted)}.badge{color:var(--primary);background:#7939661a;border:1px solid #79396633;border-radius:99px;margin-top:1rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.spinner{border:4px solid #7939661a;border-left-color:var(--primary);border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.log-text{opacity:.8;white-space:nowrap;text-overflow:ellipsis;max-width:80%;font-family:monospace;font-size:.875rem;overflow:hidden;color:var(--primary)!important}.success-icon{color:var(--success);margin-bottom:1rem}.download-btn{background:var(--primary);color:#fff;border-radius:12px;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.875rem 1.5rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 15px #79396633}.download-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #7939664d}.reset-btn{color:var(--text-muted);background:0 0;border:none;border-radius:8px;margin-top:1rem;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.reset-btn:hover{color:var(--text);background:#37536b0d}.error-message{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem;font-weight:500;display:flex}.info-cards{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px #37536b1a}.card h4{color:var(--primary);margin-bottom:.5rem;font-family:Gondola SD,serif;font-size:1.4rem;font-weight:400}.card p{color:var(--text-muted);font-size:.95rem;line-height:1.6}@media (width<=640px){.info-cards{grid-template-columns:1fr}.app-container{padding:1rem}}.lock-screen-container{justify-content:center;align-items:center;min-height:80vh;padding:2rem;display:flex}.lock-box{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);text-align:center;width:100%;max-width:650px;padding:4rem;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #37536b1a,0 8px 10px -6px #37536b0d}.lock-box .brand-logo{height:160px;margin-bottom:1rem}.lock-box:before{content:"";background:linear-gradient(90deg, var(--primary), var(--primary-hover));height:8px;position:absolute;top:0;left:0;right:0}.lock-icon-container{background:#7939661a;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:1.5rem auto 2rem;display:inline-flex}.lock-box h2{color:var(--text);margin-bottom:.75rem;font-family:Gondola SD,serif;font-size:3rem;font-weight:400}.lock-box p{color:var(--text-muted);margin-bottom:2.5rem;font-size:1.15rem;line-height:1.6}.license-form{flex-direction:column;gap:1.25rem;display:flex}.input-group{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);position:absolute;left:1.25rem}.input-group input{border:2px solid var(--surface-border);background:var(--bg-color);width:100%;color:var(--text);border-radius:12px;outline:none;padding:1.25rem 1.25rem 1.25rem 3.5rem;font-family:monospace;font-size:1.25rem;transition:all .2s}.input-group input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #7939661a}.unlock-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:1rem;padding:1.25rem;font-size:1.2rem;font-weight:600;transition:all .2s}.unlock-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #7939664d}.unlock-btn:disabled{opacity:.7;cursor:not-allowed}.error-text{text-align:left;color:#ef4444!important;margin:-.25rem 0 0!important;font-size:1rem!important}
