.app{min-height:100vh;background:linear-gradient(135deg,#5b5dff,#9747ff,#ff6b9d)}.app-header{background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 20px #5b5dff26;padding:1.5rem 0;position:relative;z-index:100;border-bottom:2px solid rgba(91,93,255,.1)}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo-section h1{margin:0;font-size:2rem;background:linear-gradient(135deg,#5b5dff,#9747ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.subtitle{margin:.25rem 0 0;color:#444;font-size:.9rem;font-weight:500}.header-actions{display:flex;gap:1rem;align-items:center}.header-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:10px;border:2px solid #e0d5ff;background:#fff;font-weight:600;cursor:pointer;transition:all .3s ease}.header-btn:hover{border-color:#9747ff;transform:translateY(-3px);box-shadow:0 6px 20px #9747ff4d}.instructions-btn{color:#5b5dff}.language-toggle.lang-en{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-color:#2563eb}.language-toggle.lang-en:hover{background:linear-gradient(135deg,#1e40af,#2563eb);border-color:#1e40af;box-shadow:0 6px 20px #2563eb66}.language-toggle.lang-vi{background:linear-gradient(135deg,#ef4444,#ff6b6b);color:#fff;border-color:#ef4444}.language-toggle.lang-vi:hover{background:linear-gradient(135deg,#dc2626,#ef4444);border-color:#dc2626;box-shadow:0 6px 20px #ef444466}.back-to-apps-btn{text-decoration:none;color:#5b5dff}.back-to-apps-btn:hover{color:#5b5dff}.api-status-btn.connected{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;border-color:#10b981}.api-status-btn.connected:hover{box-shadow:0 6px 20px #10b98166}.api-status-btn.disconnected{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;border-color:#f59e0b}.api-status-btn.disconnected:hover{box-shadow:0 6px 20px #f59e0b66}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.app-main{padding:2rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.workflow-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.file-upload{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #5b5dff26;border:1px solid rgba(91,93,255,.1)}.upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.upload-header h2{margin:0;color:#222;font-weight:700}.info-button{padding:.6rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 8px #3b82f64d}.info-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.file-upload h2{margin-top:0;color:#222;font-weight:700}.dropzone{border:3px dashed #c7d2fe;border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#faf5ff,#f5f3ff)}.dropzone:hover{border-color:#9747ff;background:linear-gradient(135deg,#ede9fe,#ddd6fe);transform:scale(1.02)}.dropzone.active{border-color:#5b5dff;background:linear-gradient(135deg,#ddd6fe,#c7d2fe);box-shadow:0 0 20px #5b5dff4d}.dropzone.uploading{cursor:not-allowed;opacity:.7}.upload-icon{font-size:4rem;margin:0 auto 1rem;filter:drop-shadow(0 4px 6px rgba(91,93,255,.2))}.dropzone p{margin:.5rem 0;color:#333;font-weight:500}.dropzone .hint{font-size:.85rem;color:#666}.upload-status{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #e0d5ff;border-top-color:#9747ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.file-success{text-align:center;padding:2rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:3px solid #34d399;border-radius:16px;box-shadow:0 8px 24px #10b98133}.success-icon{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 4px 6px rgba(16,185,129,.3))}.file-success .file-info{margin:1rem 0;color:#065f46;font-weight:600}.upload-another-btn{margin-top:1.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#5b5dff,#9747ff);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.upload-another-btn:hover{background:linear-gradient(135deg,#4b4dcf,#8737df);transform:translateY(-3px);box-shadow:0 8px 20px #5b5dff66}.file-info{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:10px;color:#065f46;border:2px solid #34d399}.translation-controls{background:linear-gradient(135deg,#fff,#fff7ed);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #ff6b9d26;border:1px solid rgba(255,107,157,.1)}.language-selectors{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.language-selector{flex:1}.language-selector label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.language-selector select{width:100%;padding:.75rem;border:2px solid #fde68a;border-radius:10px;font-size:1rem;transition:all .3s;background:#fff}.language-selector select:focus{outline:none;border-color:#ff6b9d;box-shadow:0 0 0 3px #ff6b9d1a}.arrow{font-size:1.5rem;color:#ff6b9d;margin-top:1.5rem;filter:drop-shadow(0 2px 4px rgba(255,107,157,.2))}.custom-prompt-section{margin:1.5rem 0;padding:1rem;background:linear-gradient(135deg,#fff7ed,#fff);border-radius:12px;border:2px solid #fde68a}.custom-prompt-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-prompt-header label{font-weight:600;color:#333;cursor:pointer;margin:0}.expand-icon{font-size:.9rem;color:#ff6b9d;transition:transform .3s ease}.custom-prompt-content{margin-top:1rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-prompt-textarea{width:100%;padding:.75rem;border:2px solid #fde68a;border-radius:10px;font-size:.95rem;font-family:inherit;resize:vertical;transition:all .3s;background:#fff}.custom-prompt-textarea:focus{outline:none;border-color:#ff6b9d;box-shadow:0 0 0 3px #ff6b9d1a}.custom-prompt-textarea:disabled{background:#f9fafb;cursor:not-allowed}.custom-prompt-info{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.85rem;gap:1rem}.char-count{color:#666;font-weight:500}.hint-text{color:#999;font-style:italic;text-align:right;flex:1}.custom-prompt-buttons{display:flex;gap:.75rem;margin-top:1rem}.custom-prompt-buttons .btn{flex:1}.action-buttons{margin-bottom:1rem}.warning-message,.info-message{padding:.75rem;border-radius:10px;margin-top:1rem;font-size:.9rem;font-weight:500;border:2px solid}.warning-message{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-color:#fbbf24}.info-message{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border-color:#60a5fa}.btn{padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#5b5dff,#9747ff);color:#fff;box-shadow:0 4px 12px #5b5dff4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4b4dcf,#8737df);transform:translateY(-3px);box-shadow:0 8px 20px #5b5dff80}.btn-secondary{background:linear-gradient(135deg,#64748b,#94a3b8);color:#fff}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#475569,#64748b);transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#ff6b6b);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#ef4444);transform:translateY(-3px);box-shadow:0 8px 20px #ef444480}.btn-ghost{background:transparent;color:#333}.btn-ghost:hover{background:#5b5dff1a}.btn-link{background:linear-gradient(135deg,#5b5dff,#9747ff);color:#fff;padding:.5rem 1rem;font-size:.875rem;text-decoration:none;display:inline-block;border-radius:8px;transition:all .3s}.btn-link:hover{background:linear-gradient(135deg,#4b4dcf,#8737df);transform:translateY(-2px);box-shadow:0 6px 16px #5b5dff66}.btn-large{width:100%;padding:1rem;font-size:1.1rem}.progress-dashboard{background:linear-gradient(135deg,#fff,#fef3ff);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #9747ff26;margin-bottom:2rem;border:1px solid rgba(151,71,255,.1)}.stage-indicators{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.stage-indicator{padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;background:#f3f4f6;color:#6b7280;transition:all .3s;border:2px solid #e5e7eb}.stage-indicator.active{background:linear-gradient(135deg,#5b5dff,#9747ff);color:#fff;border-color:#5b5dff;box-shadow:0 4px 12px #5b5dff4d}.stage-indicator.completed{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;border-color:#10b981}.custom-prompt-banner{margin:1rem 0;padding:1rem;border-radius:10px;display:flex;align-items:center;font-size:.95rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.banner-with-prompt{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:.75rem 1rem;border-radius:8px;border:2px solid #fbbf24;width:100%}.banner-no-prompt{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:.75rem 1rem;border-radius:8px;border:2px solid #60a5fa;width:100%}.banner-icon{font-size:1.2rem;line-height:1}.banner-text{font-weight:600;flex:1}.banner-with-prompt .banner-text{color:#92400e}.banner-no-prompt .banner-text{color:#1e40af}.progress-bar-container{margin-bottom:2rem}.progress-bar{height:40px;background:linear-gradient(135deg,#e5e7eb,#f3f4f6);border-radius:20px;overflow:hidden;position:relative;border:2px solid #d1d5db}.progress-fill{height:100%;background:linear-gradient(90deg,#5b5dff,#9747ff,#ff6b9d);border-radius:20px;transition:width .3s;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 8px #ffffff4d}.progress-text{color:#fff;font-weight:800;font-size:1rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.translation-stats{margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#fef3ff,#f5f3ff);padding:1rem;border-radius:12px;margin-bottom:1rem;border:2px solid #e9d5ff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item{padding:.75rem;background:#fff;border-radius:10px;border-left:4px solid #9747FF;box-shadow:0 2px 8px #9747ff1a}.stat-label{color:#333;font-size:.9rem;font-weight:600}.chunk-visualization{display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr));gap:6px;margin-bottom:2rem;max-height:200px;overflow-y:auto}.chunk-cell{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.chunk-cell.pending{animation:fadeBreath 2s ease-in-out infinite}.chunk-cell.translating{animation:robotWork .8s ease-in-out infinite}.chunk-cell.completed{animation:popIn .4s ease-out,completedGlow 2s ease-in-out infinite;animation-fill-mode:forwards,none}.chunk-cell.error{animation:shakeAlert .3s ease-out,errorPulse 1.5s ease-in-out infinite;animation-fill-mode:forwards,none}@keyframes fadeBreath{0%,to{opacity:1}50%{opacity:.5}}@keyframes robotWork{0%,to{transform:translateY(0) scale(1);filter:drop-shadow(0 0 4px rgba(251,191,36,0))}50%{transform:translateY(-5px) scale(1.1);filter:drop-shadow(0 0 8px rgba(251,191,36,.8))}}@keyframes popIn{0%{transform:scale(0) rotate(-180deg)}70%{transform:scale(1.2) rotate(0)}to{transform:scale(1) rotate(0)}}@keyframes completedGlow{0%,to{filter:drop-shadow(0 0 2px rgba(16,185,129,.3))}50%{filter:drop-shadow(0 0 6px rgba(16,185,129,.6))}}@keyframes shakeAlert{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-3px)}}@keyframes errorPulse{0%,to{filter:drop-shadow(0 0 2px rgba(239,68,68,.3))}50%{filter:drop-shadow(0 0 6px rgba(239,68,68,.8))}}.console-log{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:12px;padding:1rem;color:#e0e0e0;border:2px solid #0f3460;box-shadow:0 8px 24px #0000004d}.console-log h3{margin:0 0 1rem;color:#34d399;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(52,211,153,.5)}.log-content{max-height:300px;overflow-y:auto;font-family:Courier New,monospace;font-size:.85rem}.log-entry{padding:.25rem 0;display:flex;gap:.5rem}.log-timestamp{color:#9ca3af}.log-icon{width:20px}.log-entry.info .log-icon{color:#60a5fa}.log-entry.success .log-icon{color:#34d399}.log-entry.error .log-icon{color:#ff6b6b}.log-entry.warning .log-icon{color:#fbbf24}.log-message{flex:1}.output-panel{background:linear-gradient(135deg,#fff,#ecfdf5);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #10b98126;border:1px solid rgba(16,185,129,.1)}.output-panel h2{margin-top:0;color:#059669;font-weight:700}.output-summary{margin-bottom:2rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.summary-item{padding:1rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:12px;text-align:center;border:2px solid #6ee7b7;box-shadow:0 4px 12px #10b98126}.summary-item .label{font-weight:700;color:#065f46}.download-actions{display:flex;gap:1rem;margin-bottom:2rem}.download-actions .btn{flex:1}.completion-stats{padding:1rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:12px;border:2px solid #34d399}.completion-stats .success{color:#065f46;font-weight:700}.completion-stats .warning{color:#92400e;font-weight:700}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:16px;padding:2rem;max-width:500px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 24px 72px #5b5dff66;border:2px solid rgba(91,93,255,.2)}.modal-content.api-key-modal{max-width:600px}.modal-content.instructions-modal{max-width:700px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #c7d2fe}.modal-header h2,.modal-header h3{margin:0;color:#222}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;color:#666;line-height:1}.modal-close:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:all .2s}.close-btn:hover{background:#5b5dff1a;transform:scale(1.1)}.modal-close-btn{padding:.75rem 2rem;background:linear-gradient(135deg,#5b5dff,#9747ff);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #5b5dff4d}.modal-close-btn:hover{background:linear-gradient(135deg,#4b4dcf,#8737df);transform:translateY(-2px);box-shadow:0 6px 16px #5b5dff66}.instruction-section{margin-bottom:2rem}.instruction-section h3{color:#5b5dff;margin-bottom:1rem;font-weight:700}.instruction-steps{list-style:none;padding:0;counter-reset:step-counter}.instruction-steps li{margin-bottom:1.5rem;padding-left:2rem;position:relative}.instruction-steps li strong{display:block;color:#222;margin-bottom:.5rem;font-weight:700}.instruction-steps li p{color:#555;margin:0;line-height:1.6}.instruction-section.disclaimer{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:1.5rem;border-radius:12px;border-left:4px solid #f59e0b;border:2px solid #fbbf24}.disclaimer-points{margin-top:1rem;padding-left:1.5rem}.disclaimer-points li{color:#92400e;margin-bottom:.5rem;line-height:1.6;font-weight:500}.tips-list{padding-left:1.5rem}.tips-list li{color:#555;margin-bottom:.75rem;line-height:1.6}.modal-footer{margin-top:2rem;padding-top:1rem;border-top:2px solid #c7d2fe;display:flex;justify-content:center}.modal-content h2{margin-top:0;color:#222;font-weight:700}.modal-body{margin:1.5rem 0}.modal-body p{color:#333;line-height:1.7;margin-bottom:1rem;font-size:.95rem}.modal-body p:last-child{margin-bottom:0}.modal-body strong{color:#5b5dff;font-weight:700}.instruction{color:#555;font-size:.9rem;margin-bottom:1.5rem}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.api-key-input{width:100%;padding:.75rem;border:2px solid #c7d2fe;border-radius:10px;font-size:1rem;transition:all .3s}.api-key-input:focus{outline:none;border-color:#9747ff;box-shadow:0 0 0 3px #9747ff1a}.test-result{padding:.75rem;border-radius:10px;margin-top:1rem;font-weight:600;border:2px solid}.test-result.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-color:#34d399}.test-result.error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border-color:#ef4444}.provider-selector{display:flex;gap:1rem;margin-top:.5rem}.provider-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#fff,#f8f9ff);border:2px solid #c7d2fe;border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:.95rem;font-weight:600;color:#555}.provider-option:hover{border-color:#9747ff;transform:translateY(-2px);box-shadow:0 4px 12px #9747ff33}.provider-option.active{border-color:#9747ff;background:linear-gradient(135deg,#f8f9ff,#ede9fe);color:#9747ff;box-shadow:0 4px 16px #9747ff4d;font-weight:700}.provider-icon{font-size:2rem;filter:grayscale(.5);transition:filter .3s ease}.provider-option.active .provider-icon{filter:grayscale(0)}.provider-name{font-size:1rem}.model-select{width:100%;padding:.75rem;border:2px solid #c7d2fe;border-radius:10px;font-size:1rem;background:#fff;cursor:pointer;transition:all .3s}.model-select:focus{outline:none;border-color:#9747ff;box-shadow:0 0 0 3px #9747ff1a}.model-select:hover{border-color:#9747ff}.model-selection{margin-top:1.5rem}.model-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.model-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid #c7d2fe;border-radius:10px;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#fff,#f8f9ff)}.model-option:hover{border-color:#9747ff;box-shadow:0 4px 12px #9747ff26;transform:translateY(-2px)}.model-option.selected{border-color:#9747ff;background:linear-gradient(135deg,#f8f9ff,#ede9fe);box-shadow:0 4px 16px #9747ff40}.model-option input[type=radio]{margin-top:.25rem;cursor:pointer;width:18px;height:18px;accent-color:#9747FF}.model-info{flex:1}.model-name{font-weight:600;color:#222;margin-bottom:.25rem;font-size:.95rem}.model-desc{font-size:.85rem;color:#666;line-height:1.4}.pro-warning{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:10px;color:#92400e;font-size:.9rem;line-height:1.5;font-weight:500}.modal-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.action-group,.left-actions{display:flex;gap:.5rem}.right-actions{display:flex;gap:.5rem;align-items:center}.guide-section{background:linear-gradient(135deg,#f8f9ff,#ede9fe);border-left:4px solid #9747FF;padding:1.25rem;border-radius:12px;margin-bottom:1.5rem;border:2px solid #c7d2fe}.guide-text{margin:0 0 1rem;color:#333;font-size:.9rem;line-height:1.6}.how-to-get{background:#fff;padding:1rem;border-radius:10px;margin-top:1rem;border:2px solid #e9d5ff}.how-to-get h4{margin:0 0 .75rem;color:#222;font-size:.95rem;font-weight:700}.how-to-get ol{margin:0 0 1rem;padding-left:1.5rem;color:#333;font-size:.875rem;line-height:1.8}.how-to-get ol li{margin-bottom:.25rem}.hint-text{margin:.5rem 0 0;color:#666;font-size:.8rem;font-style:italic}.app-footer{background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.5rem 0;margin-top:3rem;border-top:2px solid rgba(91,93,255,.2);box-shadow:0 -4px 20px #5b5dff1a}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;text-align:center}.footer-content p{margin:0;color:#444;font-size:.9rem;font-weight:500}.footer-content a{color:#5b5dff;text-decoration:none;font-weight:700;transition:all .2s}.footer-content a:hover{color:#9747ff;text-decoration:underline}@media (max-width: 768px){.workflow-section{grid-template-columns:1fr}.header-content{flex-direction:column;gap:1rem;text-align:center;padding:0 1rem}.logo-section h1{font-size:1.5rem}.subtitle{font-size:.8rem}.header-actions{width:100%;flex-direction:column;gap:.75rem}.header-btn{width:100%;justify-content:center;padding:.75rem 1rem;font-size:.9rem}.api-status-btn,.instructions-btn,.language-toggle,.back-to-apps-btn{width:100%;text-align:center;box-sizing:border-box}.upload-header{flex-direction:column;align-items:stretch}.info-button{width:100%}.language-selectors{flex-direction:column}.arrow{transform:rotate(90deg)}.download-actions{flex-direction:column}.stats-grid{grid-template-columns:1fr}.modal-content{width:95%;padding:1.5rem;max-height:90vh}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
