*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f7fa;color:#333;line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}header h1{font-size:1.8rem;margin-bottom:.5rem}main{flex:1;padding:2rem;max-width:700px;margin:0 auto;width:100%}.card,.cloud{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 12px #00000014}h2{font-size:1.2rem;margin-bottom:1rem;color:#4a5568;border-bottom:1px solid #e2e8f0;padding-bottom:.5rem}.row{margin-bottom:1rem}.row label{display:block;margin-bottom:.3rem;font-weight:500;font-size:.9rem}select,textarea,input{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem}textarea{font-family:monospace;resize:vertical}.badge{display:inline-block;margin-top:.3rem;padding:.2rem .5rem;background:#e6fffa;color:#047857;border-radius:4px;font-size:.8rem}.upload-zone{border:2px dashed #cbd5e1;border-radius:8px;padding:1rem;text-align:center;cursor:pointer;margin-bottom:1rem;transition:.2s;background:#fafafa}.upload-zone:hover{border-color:#667eea;background:#f0f4ff}.checkbox{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}.checkbox input{width:auto}.actions,.cloud button{display:flex;gap:1rem;margin-top:.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:.2s}.btn.primary{background:#667eea;color:#fff}.btn.primary:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{background:#6c757d;color:#fff}.btn.small{padding:.4rem .8rem;font-size:.85rem}.error{margin-top:1rem;padding:.75rem;background:#fff3f3;border:1px solid #ffcdd2;border-radius:6px;color:#c62828;font-size:.9rem}.sub-link{margin-top:1rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.sub-link p{font-size:.85rem;color:#166534;margin-bottom:.3rem}.sub-link code{display:block;background:#ecfdf5;padding:.5rem;border-radius:4px;font-family:monospace;font-size:.85rem;color:#065f46;margin-bottom:.5rem;word-break:break-all}.result-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-head h3{color:#198754}.result pre{background:#f8f9fa;padding:1rem;border-radius:8px;overflow-x:auto;font-size:.9rem;max-height:400px}footer{text-align:center;padding:1.5rem;color:#666;font-size:.85rem}
