*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:var(--app-font-family, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);background:linear-gradient(135deg,var(--bg-dark) 0%,hsl(260,20%,10%) 100%);color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.main-layout{min-height:100vh;min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;padding:1rem}.app-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:600px;position:relative;z-index:1;padding:1rem}.header-spacer{height:0px;flex-shrink:0}.app-footer{flex-shrink:0;padding:2rem 1rem;font-size:.8rem;color:var(--text-secondary);text-align:center;opacity:.8}.app-footer a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.app-footer a:hover{color:var(--primary-light);border-bottom-color:var(--primary-light)}#root{width:100%}header{position:fixed;top:0;left:0;right:0;padding:2rem;display:flex;justify-content:space-between;align-items:center;z-index:100;pointer-events:none}.logo-link,.nav-actions{pointer-events:auto}.logo-icon{width:80px;height:80px;transition:transform .3s ease}.logo-link:hover .logo-icon{transform:scale(1.05)}.app{background:var(--bg-card);border-radius:24px;padding:2rem;box-shadow:0 20px 60px #00000080;border:1px solid var(--border);width:100%}@media(min-width:640px){.main-layout{padding:10rem 2rem 2rem}.app{padding:3rem}}h1{font-family:var(--title-font-family);font-size:2.2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.dropzone{border:2px dashed var(--border);border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#8b5cf614,#8b5cf60a);margin-bottom:1.5rem}.dropzone:hover{border-color:var(--primary);background:linear-gradient(135deg,#8b5cf61a,#8b5cf60d);transform:translateY(-2px)}.dropzone.active{border-color:var(--primary);background:linear-gradient(135deg,#8b5cf626,#8b5cf614)}.dropzone-icon{width:64px;height:64px;margin-bottom:1rem}.dropzone-text{font-size:1.1rem;color:var(--text-primary);margin-bottom:1.5rem}.dropzone-hint{font-size:.9rem;color:var(--text-secondary)}.file-info{background:var(--bg-dark);padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;border:1px solid hsl(240,10%,30%)}.file-name{font-weight:500;color:var(--text-primary);word-break:break-all;overflow-wrap:break-word}.file-size{color:var(--text-secondary);font-size:.9rem}.config-section{margin-bottom:1.5rem}.config-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}select{width:100%;padding:1rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-family:inherit;font-size:1rem;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='hsl(260, 85%, 70%)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem}select:hover{border-color:var(--primary);background-color:var(--bg-card-hover)}select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf633}button{width:100%;padding:.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:1px solid var(--primary-light);border-radius:12px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #8b5cf666}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}.progress-bar{width:100%;height:8px;background:var(--bg-dark);border-radius:4px;overflow:hidden;margin-bottom:1.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));transition:width .3s ease;border-radius:4px}.success-view{text-align:center;padding:2rem 0}.success-icon{width:64px;height:64px;margin-bottom:1rem}.success-title{font-family:var(--title-font-family);font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--primary)}.download-link{background:var(--bg-dark);padding:1.5rem;border-radius:12px;word-break:break-all;font-size:.9rem;color:var(--text-secondary);margin-bottom:2rem;font-family:Courier New,monospace;border:1px solid var(--border);line-height:1.5}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.nav-login-btn{width:auto;padding:.75rem 1.5rem}.button-secondary{background:var(--secondary-btn-bg);color:var(--secondary-btn-text);border:2px solid var(--secondary-btn-border)}.button-secondary:hover:not(:disabled){background:#cbd5e1;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.download-view{text-align:center;padding:2rem 0}.download-icon{width:64px;height:64px;margin-bottom:1rem}.download-filename{font-size:1.3rem;font-weight:600;margin-bottom:2rem;color:var(--text-primary)}.error-view{text-align:center;padding:2rem 0}.error-icon{width:64px;height:64px;margin-bottom:1rem;color:var(--primary)}.error-message{font-family:var(--title-font-family);font-size:1.2rem;color:var(--primary);margin-bottom:1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app>*{animation:fadeIn .5s ease}
