*,:before,:after{box-sizing:border-box}:root{--bg:#f5f5f7;--surface:#fff;--border:#d1d5db;--text:#1a1a2e;--muted:#6b7280;--accent:#4f46e5;--accent-hover:#4338ca;--accent-disabled:#a5b4fc;--error-bg:#fef2f2;--error-border:#fca5a5;--error-text:#dc2626;color:var(--text);background:var(--bg);font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px}body{justify-content:center;align-items:flex-start;min-height:100svh;margin:0;padding:48px 16px;display:flex}main{width:100%;max-width:760px}.container{flex-direction:column;gap:20px;display:flex}header h1{letter-spacing:-.5px;margin:0 0 6px;font-size:26px;font-weight:700}header p{color:var(--muted);margin:0;font-size:15px}.editor{flex-direction:column;gap:8px;display:flex}.label-row{justify-content:space-between;align-items:center;display:flex}label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}textarea{border:1px solid var(--border);background:var(--surface);width:100%;height:380px;color:var(--text);resize:vertical;border-radius:10px;outline:none;padding:14px 16px;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.6;transition:border-color .15s}textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51f}textarea::placeholder{color:#c0c4cc}.btn-clear{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;transition:color .15s,background .15s}.btn-clear:hover{color:var(--error-text);background:var(--error-bg)}.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:8px;padding:12px 16px;font-size:14px}.btn-convert{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:background .15s,transform .1s}.btn-convert:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-convert:active:not(:disabled){transform:translateY(0)}.btn-convert:disabled{background:var(--accent-disabled);cursor:not-allowed;transform:none}
