*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;color:#333;background-color:#f4f7f6;display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:#2c3e50;color:#ecf0f1;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #3498db;position:sticky;top:0;z-index:1000}.header-title h1{font-size:1.8rem;margin:0;display:inline;margin-right:.5rem}.header-title .version{font-size:.9rem;opacity:.8}.return-button{background-color:#3498db;color:#fff;padding:.5rem 1rem;border:none;border-radius:5px;text-decoration:none;font-size:.9rem;cursor:pointer;transition:background-color .2s ease;display:inline-flex;align-items:center}.return-button i{margin-right:.5em}.return-button:focus,.return-button:hover{background-color:#2980b9;outline:0}.app-main{flex-grow:1;padding:1.5rem 2rem;max-width:900px;margin:0 auto;width:100%}.app-description{font-size:1.1rem;color:#555;margin-bottom:1.5rem;text-align:center}.tab-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden}.tab-controls{display:flex;background-color:#e8ecf1}.tab-button{flex-grow:1;padding:1rem 1.5rem;font-size:1.1rem;font-weight:500;text-align:center;border:none;background-color:transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease;border-bottom:3px solid transparent;color:#555}.tab-button:hover{background-color:#dde4eb}.tab-button.active{color:#2c3e50;border-bottom-color:#3498db;background-color:#fff}.tab-content{padding:1.5rem 2rem}.tab-panel{display:none}.tab-panel.active{display:block;animation:fadeIn .5s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.drop-zone{border:2px dashed #ccc;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;background-color:#f8f9fa;transition:background-color .2s ease,border-color .2s ease;margin-bottom:1rem}.drop-zone.drag-over{background-color:#e9ecef;border-color:#3498db}.drop-zone p{color:#666;margin-bottom:.5rem}.drop-zone input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.file-info{margin-top:.5rem;font-size:.9rem;color:#333;font-weight:700}.input-options{display:flex;flex-direction:column;gap:1rem}.or-separator{text-align:center;font-weight:700;color:#888}.text-input-area label{display:block;margin-bottom:.5rem;font-weight:500}.result-area{margin-top:1.5rem}textarea{width:100%;min-height:150px;padding:.8rem;border:1px solid #ccc;border-radius:5px;font-family:'Courier New',Courier,monospace;font-size:.95rem;resize:vertical;margin-bottom:1rem;background-color:#fdfdfd}textarea:read-only{background-color:#eee;cursor:not-allowed}label{display:block;margin-bottom:.5rem;font-weight:500}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.action-buttons button{background-color:#28a745;color:#fff;padding:.6rem 1.2rem;border:none;border-radius:5px;cursor:pointer;font-size:.95rem;transition:background-color .2s ease,opacity .2s ease;display:inline-flex;align-items:center;gap:.5em}.action-buttons button:hover:not(:disabled){background-color:#218838}.action-buttons button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.error-message{color:#dc3545;margin-top:1rem;font-weight:700}.app-footer{background-color:#34495e;color:#bdc3c7;padding:1.5rem 2rem;text-align:center;font-size:.9rem;border-top:3px solid #2c3e50;margin-top:2rem;position:sticky;bottom:0;z-index:1000}.app-footer a{color:#3498db;text-decoration:none}.app-footer a:hover{text-decoration:underline}.disclaimer{margin-top:1rem;font-size:.8rem;max-width:800px;margin-left:auto;margin-right:auto;color:#95a5a6;line-height:1.4}.disclaimer strong{color:#bdc3c7}@media (max-width:768px){.app-header{flex-direction:column;align-items:flex-start;padding:1rem}.header-title{margin-bottom:.5rem}.return-button{align-self:flex-end}.app-main{padding:1rem}.tab-controls{flex-direction:column}.tab-button{border-bottom:none;border-left:3px solid transparent}.tab-button.active{border-bottom:none;border-left-color:#3498db}.tab-content{padding:1rem}.action-buttons{flex-direction:column;align-items:stretch}}@media (max-width:480px){.header-title h1{font-size:1.5rem}.tab-button{padding:.8rem 1rem;font-size:1rem}}