*{margin:0;padding:0;box-sizing:border-box}body{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;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{text-align:center;padding:2rem;color:#fff}.app-header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.app-header p{font-size:1.1rem;opacity:.9}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:0 2rem 2rem;width:100%}.converter-section{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:2rem;margin-bottom:2rem}.file-upload-container{margin-bottom:2rem}.file-upload-area{border:3px dashed #ddd;border-radius:12px;padding:3rem 2rem;text-align:center;background:#fafafa;transition:all .3s ease;cursor:pointer;position:relative}.file-upload-area:hover,.file-upload-area.drag-active{border-color:#667eea;background:#f0f4ff;transform:translateY(-2px)}.file-upload-area.converting{border-color:#ffa726;background:#fff8e1;cursor:not-allowed}.file-input{display:none}.file-label{cursor:pointer;display:block}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{font-size:1.2rem;margin-bottom:.5rem;color:#333}.upload-subtext{color:#666;font-size:.9rem}.converting-state{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#ffebee;color:#c62828;padding:1rem;border-radius:8px;margin-top:1rem;display:flex;align-items:center;gap:.5rem;border-left:4px solid #c62828}.error-icon{font-size:1.2rem}.conversion-options{border-top:1px solid #eee;padding-top:2rem}.conversion-options h3{margin-bottom:1rem;color:#333;font-size:1.3rem}.options-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.option-item{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border:1px solid #eee;border-radius:12px;transition:all .2s ease;background:#fafafa;min-height:80px}.option-item:hover{border-color:#667eea;background:#f8f9ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.toggle-switch{position:relative;display:inline-block;width:60px;height:32px;cursor:pointer;flex-shrink:0}.toggle-switch input[type=checkbox]{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 6px #00000040}.toggle-switch input:checked+.slider{background-color:#667eea}.toggle-switch input:focus+.slider{box-shadow:0 0 1px #667eea}.toggle-switch input:checked+.slider:before{transform:translate(28px)}.option-text{display:flex;flex-direction:column;gap:.25rem}.option-text strong{color:#333;font-size:1rem}.option-text small{color:#666;font-size:.85rem}.markdown-output{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;overflow:hidden}.output-header{background:#667eea;color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.output-header h3{font-size:1.4rem;margin:0}.output-actions{display:flex;gap:.5rem;flex-wrap:wrap}.output-actions button{background:#fff3;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.output-actions button:hover{background:#ffffff4d;transform:translateY(-1px)}.copy-button.copied{background:#4caf50!important}.reset-button{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.3)!important}.error-content{padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-content .error-icon{font-size:3rem}.error-content p{color:#c62828;font-size:1.1rem;max-width:500px}.markdown-preview{border-top:1px solid #eee}.preview-tabs{background:#f8f9fa;padding:0 2rem;border-bottom:1px solid #eee}.preview-tabs .tab{background:none;border:none;padding:1rem 0;margin-right:2rem;cursor:pointer;font-weight:500;color:#667eea;border-bottom:2px solid transparent}.preview-tabs .tab.active{border-bottom-color:#667eea}.preview-content{max-height:70vh;overflow:auto}.markdown-code{margin:0;padding:2rem;background:#f8f9fa;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.vscode-style{background:#1e1e1e!important;color:#d4d4d4;border-radius:8px}.vscode-style .md-heading{color:#569cd6;font-weight:700}.vscode-style .md-bold{color:gold;font-weight:700}.vscode-style .md-bold-text{color:#d4d4d4;font-weight:700}.vscode-style .md-italic{color:gold;font-style:italic}.vscode-style .md-italic-text{color:#d4d4d4;font-style:italic}.vscode-style .md-strikethrough{color:gray}.vscode-style .md-strikethrough-text{color:gray;text-decoration:line-through}.vscode-style .md-code{color:#ce9178}.vscode-style .md-code-text{color:#ce9178;background:#ce91781a;padding:2px 4px;border-radius:3px}.vscode-style .md-list{color:#c586c0}.vscode-style .md-blockquote{color:#6a9955;border-left:4px solid #6a9955;padding-left:8px;margin-left:8px}.vscode-style .md-link{color:#4fc1ff}.vscode-style .md-link-url{color:#ce9178}.vscode-style .md-image{color:#4fc1ff;font-weight:700}.vscode-style .md-table{color:#dcdcaa}.vscode-style .md-footnote{color:#9cdcfe}.raw-style{background:#f8f9fa!important;color:#24292e}.conversion-stats{background:#f8f9fa;padding:1rem 2rem;border-top:1px solid #eee;display:flex;gap:2rem;flex-wrap:wrap}.stat{display:flex;align-items:center;gap:.5rem}.stat-label{font-weight:500;color:#666}.stat-value{color:#333;font-weight:600}.service-status{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin-bottom:2rem;overflow:hidden}.service-status.checking{border-left:4px solid #ffa726}.service-status.available{border-left:4px solid #4caf50}.service-status.unavailable{border-left:4px solid #f44336}.status-content{padding:2rem;text-align:center}.service-status.checking .status-content,.service-status.available .status-content{display:flex;align-items:center;justify-content:center;gap:1rem;text-align:left}.status-icon{font-size:1.5rem}.service-status.checking p,.service-status.available p{margin:0;font-weight:500;color:#333}.service-status.available small{display:block;color:#666;font-size:.85rem;margin-top:.25rem}.service-status.unavailable h3{color:#f44336;margin-bottom:1rem;font-size:1.4rem}.service-status.unavailable p{color:#666;margin-bottom:2rem;font-size:1.1rem}.service-instructions{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:2rem;text-align:left}.service-instructions h4{color:#333;margin-bottom:1rem;font-size:1.1rem}.service-instructions ol{margin-bottom:1.5rem;padding-left:1.5rem}.service-instructions ol li{margin-bottom:.5rem;color:#555}.service-instructions code{background:#e9ecef;padding:.25rem .5rem;border-radius:4px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9rem}.service-requirements{border-top:1px solid #dee2e6;padding-top:1rem}.service-requirements ul{padding-left:1.5rem}.service-requirements ul li{margin-bottom:.25rem;color:#555}.retry-button{background:#667eea;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 auto}.retry-button:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.app-footer{background:#ffffff1a;color:#fff;text-align:center;padding:2rem;margin-top:auto}.app-footer p{margin-bottom:.5rem}.supported-formats{font-size:.9rem;opacity:.8;margin-bottom:.5rem}.service-info{font-size:.8rem;opacity:.7}.password-protection-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:9999}.password-protection-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;width:90%;overflow:hidden}.password-protection-content{padding:3rem 2.5rem;text-align:center}.brand-header{margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #f0f0f0}.brand-header h1{color:#333;font-size:2.2rem;margin-bottom:.5rem;font-weight:700}.brand-header p{color:#666;font-size:1.1rem;margin-bottom:.5rem}.brand-header small{color:#667eea;font-weight:600;font-size:.9rem}.login-form-container h2{color:#333;font-size:1.5rem;margin-bottom:.5rem}.login-form-container p{color:#666;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.password-input{width:100%;padding:1rem;font-size:1rem;border:2px solid #ddd;border-radius:8px;text-align:center;transition:all .3s ease;background:#fafafa}.password-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.login-button{background:#667eea;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:180px;display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 auto}.login-button:hover:not(:disabled){background:#5a67d8;transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.login-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.login-button.loading{background:#ffa726}.footer-info{margin-top:2rem;padding-top:2rem;border-top:1px solid #f0f0f0;color:#999;font-size:.85rem}.footer-info p{margin:.25rem 0}@media (max-width: 768px){.app-header h1{font-size:2rem}.app-main{padding:0 1rem 1rem}.converter-section{padding:1.5rem}.file-upload-area{padding:2rem 1rem}.options-grid{grid-template-columns:1fr}.output-header{flex-direction:column;align-items:stretch;text-align:center}.output-actions{justify-content:center}.conversion-stats{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.app-header{padding:1.5rem 1rem}.app-header h1{font-size:1.75rem}.converter-section{padding:1rem}.output-actions{flex-direction:column}.output-actions button{width:100%;justify-content:center}}
